// App.tsx or main routing component import React from "react"; import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom'; import { AuthProvider } from '@/components/auth/AuthContext'; import Layout from '@/components/layouts/Layout'; import LayoutLogin from '@/components/layouts/LayoutLogin'; import Home from '@/components/pages/Home'; import Login from '@/components/pages/Login'; import Servers from '@/components/pages/Servers'; import Targets from '@/components/pages/Targets'; import TestEmailLists from '@/components/pages/TestEmailLists'; import BouncedEmails from '@/components/pages/BouncedEmails'; import UnsubscribeUrls from '@/components/pages/UnsubscribeUrls'; import Templates from '@/components/pages/Templates'; import EmailDomains from '@/components/pages/EmailDomains'; import NewMailings from '@/components/pages/NewMailings'; import ScheduledMailings from '@/components/pages/ScheduledMailings'; import ActiveMailings from '@/components/pages/ActiveMailings'; import CompletedMailings from '@/components/pages/CompletedMailings'; import AuthCheck from '@/components/auth/AuthCheck'; import { ColorModeContext } from '@/theme/theme'; import { SetupDataProvider } from '@/context/SetupDataContext'; import { createTheme, ThemeProvider, Theme } from '@mui/material/styles'; import CssBaseline from '@mui/material/CssBaseline'; import ProtectedPageWrapper from '@/components/auth/ProtectedPageWrapper'; const PageWrapper = ProtectedPageWrapper; //interface PageWrapperProps { // title: string; // children: ReactNode; //} //const PageWrapper: React.FC = ({ title, children }) => { // const { setTitle } = useTitle(); // useEffect(() => { // setTitle(title); // }, [title, setTitle]); // return <>{children}; //}; const getTheme = (mode: 'light' | 'dark'): Theme => { return createTheme({ palette: { mode, // Set the palette mode based on the parameter }, cssVariables: { colorSchemeSelector: 'class', }, colorSchemes: { light: true, // Default light scheme dark: true, // Default dark scheme }, components: { MuiAutocomplete: { defaultProps: { handleHomeEndKeys: false, }, }, }, }); }; const App = () => { const [mode, setMode] = React.useState<'light' | 'dark'>('light'); const colorMode = React.useMemo( () => ({ toggleColorMode: () => { setMode((prevMode) => (prevMode === 'light' ? 'dark' : 'light')); }, }), [] ); const theme = React.useMemo(() => getTheme(mode), [mode]); return ( } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> ); }; export default App;