import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { Toaster } from 'react-hot-toast'; import { AuthProvider, useAuth } from './context/AuthContext'; import { Layout } from './components/Layout'; import { LoginPage } from './pages/LoginPage'; import { AuthCallback } from './pages/AuthCallback'; import { DashboardPage } from './pages/DashboardPage'; import { CombatPage } from './pages/CombatPage'; import { TurnCombatPage } from './pages/TurnCombatPage'; import { InventoryPage } from './pages/InventoryPage'; import { CraftPage } from './pages/CraftPage'; import { ForgePage } from './pages/ForgePage'; import { QuestPage } from './pages/QuestPage'; import { AchievementsPage } from './pages/AchievementsPage'; import { ShopPage } from './pages/ShopPage'; import { GuidePage } from './pages/GuidePage'; import { NotFoundPage } from './pages/NotFoundPage'; const qc = new QueryClient({ defaultOptions: { queries: { retry: 1, staleTime: 30_000 } } }); function ProtectedLayout({ children }: { children: React.ReactNode }) { const { user, loading } = useAuth(); if (loading) return (