import { useEffect, lazy, Suspense } from "react"; import { BrowserRouter, Routes, Route, Navigate } from "react-router-dom"; import { MantineProvider } from "@mantine/core"; import { Notifications } from "@mantine/notifications"; import { ModalsProvider } from "@mantine/modals"; import { useAuthStore } from "./stores/authStore"; import LoginPage from "./pages/LoginPage"; import DashboardLayout from "./components/DashboardLayout"; import DashboardPage from "./pages/DashboardPage"; import UsersPage from "./pages/UsersPage"; import HooksPage from "./pages/HooksPage"; import AccountsPage from "./pages/AccountsPage"; import EventLogsPage from "./pages/EventLogsPage"; import MessageCachePage from "./pages/MessageCachePage"; import SendMessagePage from "./pages/SendMessagePage"; import WhatsAppBusinessPage from "./pages/WhatsAppBusinessPage"; import TemplateManagementPage from "./pages/TemplateManagementPage"; import CatalogManagementPage from "./pages/CatalogManagementPage"; import FlowManagementPage from "./pages/FlowManagementPage"; const SwaggerPage = lazy(() => import("./pages/SwaggerPage")); // Import Mantine styles import "@mantine/core/styles.css"; import "@mantine/notifications/styles.css"; import "@mantine/dates/styles.css"; function App() { const { isAuthenticated, checkAuth } = useAuthStore(); useEffect(() => { checkAuth(); }, [checkAuth]); return ( {/* Public routes */} ) : ( ) } /> {/* Protected routes */} ) : ( ) } > } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> {/* Catch all */} } /> ); } export default App;