import React, { Suspense, lazy } from 'react'; import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; import { ConfigProvider, App as AntdApp, Spin } from 'antd'; import { XProvider } from '@ant-design/x'; import xZhCN from '@ant-design/x/es/locale/zh_CN'; import zhCN from 'antd/es/locale/zh_CN'; import MainLayout from './layouts/MainLayout'; import PermissionRoute from './components/PermissionRoute'; import DefaultRoute from './components/DefaultRoute'; import AppMessageBridge from './ui/AppMessageBridge'; const LoginPage = lazy(() => import('./pages/Login')); const DashboardPage = lazy(() => import('./pages/Dashboard')); const StudentsPage = lazy(() => import('./pages/Students')); const RoomsPage = lazy(() => import('./pages/Rooms')); const OccupanciesPage = lazy(() => import('./pages/Occupancies')); const ExpensesPage = lazy(() => import('./pages/Expenses')); const BillsPage = lazy(() => import('./pages/Bills')); const WalletsPage = lazy(() => import('./pages/Wallets')); const RoomVisualPage = lazy(() => import('./pages/RoomVisual')); const OperationLogsPage = lazy(() => import('./pages/OperationLogs')); const UsersPage = lazy(() => import('./pages/Users')); const ClassroomsPage = lazy(() => import('./pages/Classrooms')); const DepositsPage = lazy(() => import('./pages/Deposits')); const TeachersPage = lazy(() => import('./pages/Teachers')); const StudentProfilePage = lazy(() => import('./pages/StudentProfile')); const ClassesPage = lazy(() => import('./pages/Classes')); const ClassDetailPage = lazy(() => import('./pages/Classes/detail')); const ExamsPage = lazy(() => import('./pages/Exams')); const ExamDetailPage = lazy(() => import('./pages/Exams/detail')); const OrganizationsPage = lazy(() => import('./pages/Organizations')); const ClassroomRentalsPage = lazy(() => import('./pages/ClassroomRentals')); const ClassroomSchedulePage = lazy(() => import('./pages/ClassroomSchedule')); const SchedulesPage = lazy(() => import('./pages/Schedules')); const RolesPage = lazy(() => import('./pages/Roles')); const PermissionsPage = lazy(() => import('./pages/Permissions')); const AttendancePage = lazy(() => import('./pages/Attendance')); const AttendanceDevicesPage = lazy(() => import('./pages/AttendanceDevices')); const TeacherWorkspacePage = lazy(() => import('./pages/TeacherWorkspace')); const NotificationsPage = lazy(() => import('./pages/Notifications')); const IntegrationConfigPage = lazy(() => import('./pages/IntegrationConfig')); const AiConfigPage = lazy(() => import('./pages/AiConfig')); const PrivateRoute: React.FC<{ children: React.ReactNode }> = ({ children }) => { const token = localStorage.getItem('token'); return token ? <>{children} : ; }; const App: React.FC = () => { return ( } > } /> } > } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> ); }; export default App;