import { BrowserRouter, Routes, Route, Navigate, useLocation } from 'react-router-dom'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { AuthProvider } from '@/hooks/useAuth'; import { ToastProvider } from '@/components/Toast'; import ProtectedRoute from '@/components/ProtectedRoute'; import Navbar from '@/components/Navbar'; import LoginPage from '@/pages/LoginPage'; import RegisterPage from '@/pages/RegisterPage'; import FeedPage from '@/pages/FeedPage'; import UploadPage from '@/pages/UploadPage'; import CatPage from '@/pages/CatPage'; import ProfilePage from '@/pages/ProfilePage'; import { useEffect, useRef } from 'react'; const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: 30_000, retry: 1, }, }, }); function AnimatedRoutes() { const location = useLocation(); const containerRef = useRef(null); useEffect(() => { const el = containerRef.current; if (el) { el.classList.remove('page-enter-active'); el.classList.add('page-enter'); requestAnimationFrame(() => { el.classList.remove('page-enter'); el.classList.add('page-enter-active'); }); } }, [location.pathname]); return (
} /> } /> } /> } /> } /> } /> } /> } /> } />
); } export default function App() { return (
); }