import React from 'react' import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom' import { AuthProvider, useAuth } from './contexts/AuthContext' import Layout from './components/Layout' import Login from './pages/Login' import Dashboard from './pages/Dashboard' import Accounts from './pages/Accounts' import CreateAccount from './pages/CreateAccount' import Packages from './pages/Packages' // Lazy-loaded pages (built incrementally) const Resellers = React.lazy(() => import('./pages/Resellers')) const DNS = React.lazy(() => import('./pages/DNS')) const Email = React.lazy(() => import('./pages/Email')) const SSL = React.lazy(() => import('./pages/SSL')) const PHP = React.lazy(() => import('./pages/PHP')) const Services = React.lazy(() => import('./pages/Services')) const Backup = React.lazy(() => import('./pages/Backup')) const Security = React.lazy(() => import('./pages/Security')) const System = React.lazy(() => import('./pages/System')) const WebServer = React.lazy(() => import('./pages/WebServer')) const Settings = React.lazy(() => import('./pages/Settings')) function ProtectedRoute({ children }: { children: React.ReactNode }) { const { user, loading } = useAuth() if (loading) return (
) if (!user) return return <>{children} } function AppRoutes() { const { user } = useAuth() return ( : } /> }> } /> } /> } /> } /> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> }> } /> } /> ) } function PageLoader() { return (
) } export default function App() { return ( ) }