import * as React from "react"; import { Toaster } from "@/components/ui/toaster"; import { Toaster as Sonner } from "@/components/ui/sonner"; import { TooltipProvider } from "@/components/ui/tooltip"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; import { BrowserRouter, Routes, Route } from "react-router-dom"; import { AuthProvider } from "@/hooks/useAuth"; import { LocationAutoDetectProvider } from "@/components/providers/LocationAutoDetectProvider"; import { Footer } from "@/components/layout/Footer"; import Index from "./pages/Index"; import Parks from "./pages/Parks"; import ParkDetail from "./pages/ParkDetail"; import RideDetail from "./pages/RideDetail"; import Rides from "./pages/Rides"; import Manufacturers from "./pages/Manufacturers"; import ManufacturerDetail from "./pages/ManufacturerDetail"; import ManufacturerRides from "./pages/ManufacturerRides"; import ManufacturerModels from "./pages/ManufacturerModels"; import Designers from "./pages/Designers"; import DesignerDetail from "./pages/DesignerDetail"; import DesignerRides from "./pages/DesignerRides"; import ParkOwners from "./pages/ParkOwners"; import PropertyOwnerDetail from "./pages/PropertyOwnerDetail"; import OwnerParks from "./pages/OwnerParks"; import Operators from "./pages/Operators"; import OperatorDetail from "./pages/OperatorDetail"; import OperatorParks from "./pages/OperatorParks"; import Auth from "./pages/Auth"; import Profile from "./pages/Profile"; import UserSettings from "./pages/UserSettings"; import Search from "./pages/Search"; import NotFound from "./pages/NotFound"; import Terms from "./pages/Terms"; import Privacy from "./pages/Privacy"; import SubmissionGuidelines from "./pages/SubmissionGuidelines"; import Admin from "./pages/Admin"; import AdminDashboard from "./pages/AdminDashboard"; import AdminModeration from "./pages/AdminModeration"; import AdminReports from "./pages/AdminReports"; import AdminSystemLog from "./pages/AdminSystemLog"; import AdminUsers from "./pages/AdminUsers"; import AdminSettings from "./pages/AdminSettings"; import BlogIndex from "./pages/BlogIndex"; import BlogPost from "./pages/BlogPost"; import AdminBlog from "./pages/AdminBlog"; import ForceLogout from "./pages/ForceLogout"; import AuthCallback from "./pages/AuthCallback"; import MFAStepUp from "./pages/MFAStepUp"; const queryClient = new QueryClient({ defaultOptions: { queries: { refetchOnWindowFocus: false, // Disable automatic refetch on tab focus refetchOnMount: true, // Keep refetch on component mount refetchOnReconnect: true, // Keep refetch on network reconnect retry: 1, // Keep retry attempts staleTime: 30000, // 30 seconds - queries stay fresh for 30s gcTime: 5 * 60 * 1000, // 5 minutes - keep in cache for 5 mins }, }, }); function AppContent() { return (
} /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> {/* ADD ALL CUSTOM ROUTES ABOVE THE CATCH-ALL "*" ROUTE */} } />
); } const App = () => ( {import.meta.env.DEV && ( )} ); export default App;