import { Routes, Route, Navigate } from 'react-router-dom'; import { Suspense, lazy } from 'react'; // Layout import MainLayout from './components/layout/MainLayout'; import AuthLayout from './components/layout/AuthLayout'; // Loading component const LoadingSpinner = () => (
); // Lazy load modules - Auth const Login = lazy(() => import('./modules/auth/pages/Login')); const Register = lazy(() => import('./modules/auth/pages/Register')); const ForgotPassword = lazy(() => import('./modules/auth/pages/ForgotPassword')); const AuthCallback = lazy(() => import('./modules/auth/pages/AuthCallback')); const VerifyEmail = lazy(() => import('./modules/auth/pages/VerifyEmail')); const ResetPassword = lazy(() => import('./modules/auth/pages/ResetPassword')); const SecuritySettings = lazy(() => import('./modules/auth/pages/SecuritySettings')); // Lazy load modules - Core const Dashboard = lazy(() => import('./modules/dashboard/pages/Dashboard')); const Trading = lazy(() => import('./modules/trading/pages/Trading')); const MLDashboard = lazy(() => import('./modules/ml/pages/MLDashboard')); const BacktestingDashboard = lazy(() => import('./modules/backtesting/pages/BacktestingDashboard')); const Investment = lazy(() => import('./modules/investment/pages/Investment')); const Settings = lazy(() => import('./modules/settings/pages/Settings')); const Assistant = lazy(() => import('./modules/assistant/pages/Assistant')); // Lazy load modules - Portfolio const PortfolioDashboard = lazy(() => import('./modules/portfolio/pages/PortfolioDashboard')); const CreatePortfolio = lazy(() => import('./modules/portfolio/pages/CreatePortfolio')); const CreateGoal = lazy(() => import('./modules/portfolio/pages/CreateGoal')); // Lazy load modules - Education const Courses = lazy(() => import('./modules/education/pages/Courses')); const CourseDetail = lazy(() => import('./modules/education/pages/CourseDetail')); const MyLearning = lazy(() => import('./modules/education/pages/MyLearning')); const Leaderboard = lazy(() => import('./modules/education/pages/Leaderboard')); const Lesson = lazy(() => import('./modules/education/pages/Lesson')); const Quiz = lazy(() => import('./modules/education/pages/Quiz')); // Lazy load modules - Payments const Pricing = lazy(() => import('./modules/payments/pages/Pricing')); const Billing = lazy(() => import('./modules/payments/pages/Billing')); // Lazy load modules - Notifications const NotificationsPage = lazy(() => import('./modules/notifications/pages/NotificationsPage')); // Admin module (lazy loaded) const AdminDashboard = lazy(() => import('./modules/admin/pages/AdminDashboard')); const MLModelsPage = lazy(() => import('./modules/admin/pages/MLModelsPage')); const AgentsPage = lazy(() => import('./modules/admin/pages/AgentsPage')); const PredictionsPage = lazy(() => import('./modules/admin/pages/PredictionsPage')); function App() { return ( }> {/* Auth routes */} }> } /> } /> } /> } /> } /> {/* OAuth callback (no layout) */} } /> {/* Education - Full screen pages (no main layout) */} } /> } /> {/* Protected routes */} }> {/* Dashboard */} } /> {/* Trading */} } /> } /> } /> } /> {/* Portfolio Manager */} } /> } /> } /> {/* Education */} } /> } /> } /> } /> {/* Legacy routes - redirect to new paths */} } /> } /> {/* Payments */} } /> } /> {/* Settings */} } /> } /> } /> } /> {/* Notifications */} } /> {/* Assistant */} } /> {/* Admin */} } /> } /> } /> } /> {/* Redirects */} } /> } /> ); } export default App;