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;