import { useEffect } from 'react'; import { BrowserRouter, Routes, Route, useLocation } from 'react-router-dom'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { AuthProvider } from '@/context/AuthContext'; import ProtectedRoute from '@/components/Auth/ProtectedRoute'; import MainLayout from '@/layouts/MainLayout'; import Home from '@/pages/Home/Home'; import Notes from '@/pages/Notes/Notes'; import AIAssistant from '@/pages/AIAssistant/AIAssistant'; import Campus from '@/pages/Campus/Campus'; import Events from '@/pages/Events/Events'; import Community from '@/pages/Community/Community'; import BusRoutes from '@/pages/BusRoutes/BusRoutes'; import Faculty from '@/pages/Faculty/Faculty'; import DevCollab from '@/pages/DevCollab/DevCollab'; import LeetcodeLeaderboard from '@/pages/LeetcodeLeaderboard/LeetcodeLeaderboard'; const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: 5 * 60 * 1000, gcTime: 10 * 60 * 1000, }, }, }); function ScrollToTop() { const { pathname } = useLocation(); useEffect(() => { window.scrollTo(0, 0); }, [pathname]); return null; } function App() { return ( }> } /> } /> } /> } /> } /> } /> } /> {/* Protected Routes — Require Google Sign-In */} } /> } /> } /> ); } export default App;