import { useEffect } from 'react'; import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; import { AuthProvider, useAuth } from './context/AuthContext'; import Login from './pages/Login'; import Register from './pages/Register'; import Dashboard from './pages/Dashboard'; import ProductDetail from './pages/ProductDetail'; import Settings from './pages/Settings'; function ThemeInitializer({ children }: { children: React.ReactNode }) { useEffect(() => { const saved = localStorage.getItem('theme'); if (saved) { document.documentElement.setAttribute('data-theme', saved); } }, []); return <>{children}; } function ProtectedRoute({ children }: { children: React.ReactNode }) { const { user, isLoading } = useAuth(); if (isLoading) { return (
); } if (!user) { return ; } return <>{children}; } function PublicRoute({ children }: { children: React.ReactNode }) { const { user, isLoading } = useAuth(); if (isLoading) { return (
); } if (user) { return ; } return <>{children}; } function AppRoutes() { return ( } /> } /> } /> } /> } /> } /> ); } export default function App() { return ( ); }