import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom'; import { Suspense, lazy, useEffect } from 'react'; import { Toaster } from "@/components/ui/sonner"; import Auth from './pages/Auth'; import ProtectedRoute from './components/auth/ProtectedRoute'; import { authStore } from './stores/authStore'; // Lazy-loaded components const Dashboard = lazy(() => import('./pages/Index')); const Transacoes = lazy(() => import('./pages/Transacoes')); const Categorias = lazy(() => import('./pages/Categorias')); const Metas = lazy(() => import('./pages/Metas')); const Calendario = lazy(() => import('./pages/Calendario')); const WhatsApp = lazy(() => import('./pages/WhatsApp')); const GruposWhatsApp = lazy(() => import('./pages/GruposWhatsApp')); const NotFound = lazy(() => import('./pages/NotFound')); const CartoesCredito = lazy(() => import('./pages/CartoesCredito')); const Configuracoes = lazy(() => import('./pages/Configuracoes')); function App() { const isLoggedIn = authStore((state) => state.isLoggedIn); const setLoggedIn = authStore((state) => state.setLoggedIn); // Initialize authStore state once at mount time useEffect(() => { const storedAuth = localStorage.getItem('autenticado') === 'true'; setLoggedIn(storedAuth); }, [setLoggedIn]); return ( {/* The auth route should not be inside ProtectedRoute */} : } /> {/* Protected routes */} Carregando...}> } /> Carregando...}> } /> Carregando...}>} /> Carregando...}>} /> Carregando...}>} /> Carregando...}>} /> Carregando...}>} /> Carregando...}>} /> Carregando...}> } /> {/* Not found route */} Carregando...}> } /> ); } export default App;