import React, { useEffect } from 'react';
import { BrowserRouter as Router, Routes, Route, useLocation } from 'react-router-dom';
import { AuthProvider } from './contexts/AuthContext';
import LandingPage from './pages/LandingPages';
import AlgosPage from './pages/AlgosPage';
import AdvisoryPage from './pages/AdvisoryPage';
import AdvisorSubmissions from './pages/AdvisorSubmissions';
import AdvisorLogin from './pages/AdvisorLogin';
import AdvisorDashboard from './pages/AdvisorDashboard';
import ToolsPage from './pages/tools';
import LearnPage from './pages/learn';
import LoginPage from './pages/LoginPage';
import SignupPage from './pages/SignupPage';
import ForgotPasswordPage from './pages/ForgotPasswordPage';
import ResetPasswordPage from './pages/ResetPasswordPage';
import Newsletter from './pages/Newsletter';
import NewsletterDisplay from './pages/NewsletterDisplay';

import AboutPage from './pages/AboutPage';
import ProductsPage from './pages/ProductsPage';
import AdvisoryIntro from './pages/AdvisoryIntro';
import AlgorithmsIntro from './pages/AlgorithmsIntro';
import DashboardIntro from './pages/DashboardIntro';
import LearnIntro from './pages/LearnIntro';
import NewsletterIntro from './pages/NewsletterIntro';
import ToolsIntro from './pages/ToolsIntro';
import Terms from './pages/Terms';
import AlgoTerms from './pages/AlgoTerms';
import Privacy from './pages/Privacy';
import HelpCenter from './pages/HelpCenter';
import NotFound from './pages/NotFound';
import StepUpSIPCalculator from './components/calculators/step-up-sip';
import ELSSCalculator from './components/calculators/elss';
import LumpsumCalculator from './components/calculators/lumpsum';
import SWPCalculator from './components/calculators/swp';
import SIPCalculator from './components/calculators/sip';
import Dashboard from './pages/Dashboard';
import CAGRCalculator from './components/calculators/cagr';
import FDCalculator from './components/calculators/fd';
import RDCalculator from './components/calculators/rd';
import CompoundInterestCalculator from './components/calculators/compound-interest';
import SimpleInterestCalculator from './components/calculators/simple-interest';
import SSYCalculator from './components/calculators/ssy';
import RetirementCalculator from './components/calculators/RetirementCalculator';
import PPFCalculator from './components/calculators/PPFCalculator';
import NPSCalculator from './components/calculators/NPSCalculator';
import EPFCalculator from './components/calculators/EPFCalculator';
import GratuityCalculator from './components/calculators/GratuityCalculator';
import IncomeTaxCalculator from './components/calculators/IncomeTaxCalculator';
import InflationCalculator from './components/calculators/InflationCalculator';
import HRACalculator from './components/calculators/HRACalculator';
import RealEstateCalculator from './components/calculators/RealEstateCalculator';
import CourseDetail from "./components/learn-page/CourseDetail";
import PurchasePage from "./components/learn-page/PurchasePage";
import ProtectedRoute from './components/ProtectedRoute';
import ProtectedModuleRoute from './components/ProtectedModuleRoute';
import GiniLanding from './pages/GiniLanding';
import JournalLanding from './pages/JournalLanding';
import PersonalFinanceLesson1 from './pages/learn/PersonalFinanceLesson1';
import PersonalFinanceLesson2 from './pages/learn/PersonalFinanceLesson2';
import PersonalFinanceLesson3 from './pages/learn/PersonalFinanceLesson3';
import PersonalFinanceLesson4 from './pages/learn/PersonalFinanceLesson4';
import PersonalFinanceLesson5 from './pages/learn/PersonalFinanceLesson5';
import PersonalFinanceLesson6 from './pages/learn/PersonalFinanceLesson6';
import PersonalFinanceLesson7 from './pages/learn/PersonalFinanceLesson7';
import PersonalFinanceLesson8 from './pages/learn/PersonalFinanceLesson8';
import PersonalFinanceLesson9 from './pages/learn/PersonalFinanceLesson9';
import MutualFundsOverview from './pages/learn/MutualFundsOverview';
import MutualFundsLesson1 from './pages/learn/MutualFundsLesson1';
import MutualFundsLesson2 from './pages/learn/MutualFundsLesson2';
import MutualFundsLesson3 from './pages/learn/MutualFundsLesson3';
import MutualFundsLesson4 from './pages/learn/MutualFundsLesson4';
import MutualFundsLesson5 from './pages/learn/MutualFundsLesson5';
import MutualFundsLesson6 from './pages/learn/MutualFundsLesson6';
import StockMarketOverview from './pages/learn/StockMarketOverview';
import StockMarketLesson1 from './pages/learn/StockMarketLesson1';
import StockMarketLesson2 from './pages/learn/StockMarketLesson2';
import StockMarketLesson3 from './pages/learn/StockMarketLesson3';
import StockMarketLesson4 from './pages/learn/StockMarketLesson4';
import StockMarketLesson5 from './pages/learn/StockMarketLesson5';
import StockMarketLesson6 from './pages/learn/StockMarketLesson6';
import StockMarketLesson7 from './pages/learn/StockMarketLesson7';
import TradingBasicsOverview from './pages/learn/TradingBasicsOverview';
import TradingBasicsLesson1 from './pages/learn/TradingBasicsLesson1';
import TradingBasicsLesson2 from './pages/learn/TradingBasicsLesson2';
import TradingBasicsLesson3 from './pages/learn/TradingBasicsLesson3';
import TradingBasicsLesson4 from './pages/learn/TradingBasicsLesson4';
import TradingBasicsLesson5 from './pages/learn/TradingBasicsLesson5';
import TradingBasicsLesson6 from './pages/learn/TradingBasicsLesson6';
import TradingBasicsLesson7 from './pages/learn/TradingBasicsLesson7';
import TechnicalAnalysisOverview from './pages/TechnicalAnalysisOverview';
import TechnicalAnalysisLesson2 from './pages/TechnicalAnalysisLesson2';
import TechnicalAnalysisLesson3 from './pages/TechnicalAnalysisLesson3';
import TechnicalAnalysisLesson4 from './pages/TechnicalAnalysisLesson4';
import TechnicalAnalysisLesson5 from './pages/TechnicalAnalysisLesson5';
import TechnicalAnalysisLesson6 from './pages/TechnicalAnalysisLesson6';
import TechnicalAnalysisLesson7 from './pages/TechnicalAnalysisLesson7';
import AlgorithmicTradingOverview from './pages/AlgorithmicTradingOverview';
import AlgoTradingLesson1 from './pages/AlgoTradingLesson1';
import AlgoTradingLesson2 from './pages/AlgoTradingLesson2';
import AlgoTradingLesson3 from './pages/AlgoTradingLesson3';
import AlgoTradingLesson4 from './pages/AlgoTradingLesson4';
import AlgoTradingLesson5 from './pages/AlgoTradingLesson5';
import AlgoTradingLesson6 from './pages/AlgoTradingLesson6';
import AlgoTradingLesson7 from './pages/AlgoTradingLesson7';
import AlgoTradingLesson8 from './pages/AlgoTradingLesson8';
import AlgoTradingLesson9 from './pages/AlgoTradingLesson9';
import RiskManagementOverview from './pages/RiskManagementOverview';
import RiskLesson1 from './pages/RiskLesson1';
import RiskLesson2 from './pages/RiskLesson2';
import RiskLesson3 from './pages/RiskLesson3';
import RiskLesson4 from './pages/RiskLesson4';
import RiskLesson5 from './pages/RiskLesson5';
import RiskLesson6 from './pages/RiskLesson6';
import RiskLesson7 from './pages/RiskLesson7';
import LongTermInvestingOverview from './pages/LongTermInvestingOverview';
import LTILesson1 from './pages/LTILesson1';
import LTILesson2 from './pages/LTILesson2';
import LTILesson3 from './pages/LTILesson3';
import LTILesson4 from './pages/LTILesson4';
import LTILesson5 from './pages/LTILesson5';
import LTILesson6 from './pages/LTILesson6';
import LTILesson7 from './pages/LTILesson7';
import PortfolioConstructionOverview from './pages/PortfolioConstructionOverview';
import PCLesson1 from './pages/PCLesson1';
import PCLesson2 from './pages/PCLesson2';
import PCLesson3 from './pages/PCLesson3';
import PCLesson4 from './pages/PCLesson4';
import PCLesson5 from './pages/PCLesson5';
import PCLesson6 from './pages/PCLesson6';
import PCLesson7 from './pages/PCLesson7';
import PCLesson8 from './pages/PCLesson8';
import PCLesson9 from './pages/PCLesson9';
import PCLesson10 from './pages/PCLesson10';
import PCLesson11 from './pages/PCLesson11';
import PCLesson12 from './pages/PCLesson12';
import DerivativesOverview from './pages/DerivativesOverview';
import DerivLesson1 from './pages/DerivLesson1';
import DerivLesson2 from './pages/DerivLesson2';
import DerivLesson3 from './pages/DerivLesson3';
import DerivLesson4 from './pages/DerivLesson4';
import DerivLesson5 from './pages/DerivLesson5';
import DerivLesson6 from './pages/DerivLesson6';
import DerivLesson7 from './pages/DerivLesson7';
import FOLesson1 from './pages/FOLesson1';
import FOLesson2 from './pages/FOLesson2';
import FOLesson3 from './pages/FOLesson3';
import FOLesson4 from './pages/FOLesson4';
import FOLesson5 from './pages/FOLesson5';
import FOLesson6 from './pages/FOLesson6';
import FOLesson7 from './pages/FOLesson7';
import FOLesson8 from './pages/FOLesson8';
import FOLesson9 from './pages/FOLesson9';
import FOLesson10 from './pages/FOLesson10';
import FOLesson11 from './pages/FOLesson11';
import FOLesson12 from './pages/FOLesson12';
import TaxOverview from './pages/TaxOverview';
import TaxLesson1 from './pages/TaxLesson1';
import TaxLesson2 from './pages/TaxLesson2';
import TaxLesson3 from './pages/TaxLesson3';
import TaxLesson4 from './pages/TaxLesson4';
import TaxLesson5 from './pages/TaxLesson5';
import TaxLesson6 from './pages/TaxLesson6';
import { ThemeProvider } from './contexts/ThemeContext';
// Minimal placeholder pages for calculators
const Placeholder = ({ title }) => <div style={{ marginTop: 64, padding: 24 }}> {title} </div>;
const ToolsIndex = () => <Placeholder title="Tools Index" />;

const CagrPage = () => <Placeholder title="CAGR Calculator" />;
const CompoundInterestPage = () => <Placeholder title="Compound Interest Calculator" />;
const ElssPage = () => <Placeholder title="ELSS Calculator" />;
const EpfPage = () => <Placeholder title="EPF Calculator" />;
const FdPage = () => <Placeholder title="FD Calculator" />;
const GratuityPage = () => <Placeholder title="Gratuity Calculator" />;
const HraPage = () => <Placeholder title="HRA Calculator" />;
const IncomeTaxPage = () => <Placeholder title="Income Tax Calculator" />;
const InflationPage = () => <Placeholder title="Inflation Calculator" />;
const LumpsumPage = () => <Placeholder title="Lumpsum Calculator" />;
const NpsPage = () => <Placeholder title="NPS Calculator" />;
const PpfPage = () => <Placeholder title="PPF Calculator" />;
const RdPage = () => <Placeholder title="RD Calculator" />;
const RetirementPage = () => <Placeholder title="Retirement Calculator" />;
const SimpleInterestPage = () => <Placeholder title="Simple Interest Calculator" />;
const SsyPage = () => <Placeholder title="SSY" />;
const SsyCalculatorPage = () => <Placeholder title="SSY Calculator" />;
const StepUpSipPage = () => <Placeholder title="Step-Up SIP" />;
const SwpPage = () => <Placeholder title="SWP Calculator" />;

// ScrollToTop component - scrolls to top on route change
const ScrollToTop = () => {
  const { pathname } = useLocation();
  
  useEffect(() => {
    window.scrollTo(0, 0);
  }, [pathname]);
  
  return null;
};

function App() {
  return (
    <AuthProvider>
      <ThemeProvider>
        <Router>
          <ScrollToTop />
          <Routes>
        <Route path="/" element={<LandingPage />} />
        <Route path="/tools" element={<ToolsPage />} />
        <Route path="/tools/index" element={<ToolsIndex />} />
        <Route path="/tools/cagr" element={<CAGRCalculator />} />
        <Route path="/tools/compound-interest" element={<CompoundInterestCalculator />} />
        <Route path="/tools/elss" element={<ELSSCalculator />} />
        <Route path="/tools/epf" element={<EPFCalculator />} />
        <Route path="/tools/fd" element={<FDCalculator />} />
        <Route path="/tools/gratuity" element={<GratuityCalculator />} />
        <Route path="/tools/hra" element={<HRACalculator />} />
        <Route path="/tools/income-tax" element={<IncomeTaxCalculator />} />
        <Route path="/tools/inflation" element={<InflationCalculator />} />
        <Route path="/tools/lumpsum" element={<LumpsumCalculator />} />
        <Route path="/tools/nps" element={<NPSCalculator />} />
        <Route path="/tools/ppf" element={<PPFCalculator />} />
        <Route path="/tools/rd" element={<RDCalculator />} />
        <Route path="/tools/retirement" element={<RetirementCalculator />} />
        <Route path="/tools/simple-interest" element={<SimpleInterestCalculator />} />
        <Route path="/tools/sip" element={<SIPCalculator />} />
        <Route path="/tools/ssy" element={<SsyPage />} />
        <Route path="/tools/ssy-calculator" element={<SSYCalculator />} />
        <Route path="/tools/step-up-sip" element={<StepUpSIPCalculator />} />
        <Route path="/tools/swp" element={<SWPCalculator />} />
        <Route path="/tools/real-estate-investment" element={<RealEstateCalculator />} />
        <Route path="/learn" element={<LearnPage />} />
        <Route path="/learn/personal-finance-basics" element={<ProtectedModuleRoute><PersonalFinanceLesson1 /></ProtectedModuleRoute>} />
        <Route path="/learn/personal-finance-lesson-1" element={<ProtectedModuleRoute><PersonalFinanceLesson1 /></ProtectedModuleRoute>} />
        <Route path="/learn/personal-finance-lesson-2" element={<ProtectedModuleRoute><PersonalFinanceLesson2 /></ProtectedModuleRoute>} />
        <Route path="/learn/personal-finance-lesson-3" element={<ProtectedModuleRoute><PersonalFinanceLesson3 /></ProtectedModuleRoute>} />
        <Route path="/learn/personal-finance-lesson-4" element={<ProtectedModuleRoute><PersonalFinanceLesson4 /></ProtectedModuleRoute>} />
        <Route path="/learn/personal-finance-lesson-5" element={<ProtectedModuleRoute><PersonalFinanceLesson5 /></ProtectedModuleRoute>} />
        <Route path="/learn/personal-finance-lesson-6" element={<ProtectedModuleRoute><PersonalFinanceLesson6 /></ProtectedModuleRoute>} />
        <Route path="/learn/personal-finance-lesson-7" element={<ProtectedModuleRoute><PersonalFinanceLesson7 /></ProtectedModuleRoute>} />
        <Route path="/learn/personal-finance-lesson-8" element={<ProtectedModuleRoute><PersonalFinanceLesson8 /></ProtectedModuleRoute>} />
        <Route path="/learn/personal-finance-lesson-9" element={<ProtectedModuleRoute><PersonalFinanceLesson9 /></ProtectedModuleRoute>} />
        <Route path="/learn/mutual-funds" element={<ProtectedModuleRoute><MutualFundsOverview /></ProtectedModuleRoute>} />
        <Route path="/learn/mutual-funds-lesson-1" element={<ProtectedModuleRoute><MutualFundsLesson1 /></ProtectedModuleRoute>} />
        <Route path="/learn/mutual-funds-lesson-2" element={<ProtectedModuleRoute><MutualFundsLesson2 /></ProtectedModuleRoute>} />
        <Route path="/learn/mutual-funds-lesson-3" element={<ProtectedModuleRoute><MutualFundsLesson3 /></ProtectedModuleRoute>} />
        <Route path="/learn/mutual-funds-lesson-4" element={<ProtectedModuleRoute><MutualFundsLesson4 /></ProtectedModuleRoute>} />
        <Route path="/learn/mutual-funds-lesson-5" element={<ProtectedModuleRoute><MutualFundsLesson5 /></ProtectedModuleRoute>} />
        <Route path="/learn/mutual-funds-lesson-6" element={<ProtectedModuleRoute><MutualFundsLesson6 /></ProtectedModuleRoute>} />
        <Route path="/learn/stock-market" element={<ProtectedModuleRoute><StockMarketOverview /></ProtectedModuleRoute>} />
        <Route path="/learn/stock-market-lesson-1" element={<ProtectedModuleRoute><StockMarketLesson1 /></ProtectedModuleRoute>} />
        <Route path="/learn/stock-market-lesson-2" element={<ProtectedModuleRoute><StockMarketLesson2 /></ProtectedModuleRoute>} />
        <Route path="/learn/stock-market-lesson-3" element={<ProtectedModuleRoute><StockMarketLesson3 /></ProtectedModuleRoute>} />
        <Route path="/learn/stock-market-lesson-4" element={<ProtectedModuleRoute><StockMarketLesson4 /></ProtectedModuleRoute>} />
        <Route path="/learn/stock-market-lesson-5" element={<ProtectedModuleRoute><StockMarketLesson5 /></ProtectedModuleRoute>} />
        <Route path="/learn/stock-market-lesson-6" element={<ProtectedModuleRoute><StockMarketLesson6 /></ProtectedModuleRoute>} />
        <Route path="/learn/stock-market-lesson-7" element={<ProtectedModuleRoute><StockMarketLesson7 /></ProtectedModuleRoute>} />
        <Route path="/learn/trading-basics" element={<ProtectedModuleRoute><TradingBasicsOverview /></ProtectedModuleRoute>} />
        <Route path="/learn/trading-basics-lesson-1" element={<ProtectedModuleRoute><TradingBasicsLesson1 /></ProtectedModuleRoute>} />
        <Route path="/learn/trading-basics-lesson-2" element={<ProtectedModuleRoute><TradingBasicsLesson2 /></ProtectedModuleRoute>} />
        <Route path="/learn/trading-basics-lesson-3" element={<ProtectedModuleRoute><TradingBasicsLesson3 /></ProtectedModuleRoute>} />
        <Route path="/learn/trading-basics-lesson-4" element={<ProtectedModuleRoute><TradingBasicsLesson4 /></ProtectedModuleRoute>} />
        <Route path="/learn/trading-basics-lesson-5" element={<ProtectedModuleRoute><TradingBasicsLesson5 /></ProtectedModuleRoute>} />
        <Route path="/learn/trading-basics-lesson-6" element={<ProtectedModuleRoute><TradingBasicsLesson6 /></ProtectedModuleRoute>} />
        <Route path="/learn/trading-basics-lesson-7" element={<ProtectedModuleRoute><TradingBasicsLesson7 /></ProtectedModuleRoute>} />
        <Route path="/learn/technical-analysis" element={<ProtectedModuleRoute><TechnicalAnalysisOverview /></ProtectedModuleRoute>} />
        <Route path="/learn/technical-analysis-lesson-2" element={<ProtectedModuleRoute><TechnicalAnalysisLesson2 /></ProtectedModuleRoute>} />
        <Route path="/learn/technical-analysis-lesson-3" element={<ProtectedModuleRoute><TechnicalAnalysisLesson3 /></ProtectedModuleRoute>} />
        <Route path="/learn/technical-analysis-lesson-4" element={<ProtectedModuleRoute><TechnicalAnalysisLesson4 /></ProtectedModuleRoute>} />
        <Route path="/learn/technical-analysis-lesson-5" element={<ProtectedModuleRoute><TechnicalAnalysisLesson5 /></ProtectedModuleRoute>} />
        <Route path="/learn/technical-analysis-lesson-6" element={<ProtectedModuleRoute><TechnicalAnalysisLesson6 /></ProtectedModuleRoute>} />
        <Route path="/learn/technical-analysis-lesson-7" element={<ProtectedModuleRoute><TechnicalAnalysisLesson7 /></ProtectedModuleRoute>} />
        <Route path="/learn/algorithmic-trading" element={<ProtectedModuleRoute><AlgorithmicTradingOverview /></ProtectedModuleRoute>} />
        <Route path="/learn/algo-trading-lesson-1" element={<ProtectedModuleRoute><AlgoTradingLesson1 /></ProtectedModuleRoute>} />
        <Route path="/learn/algo-trading-lesson-2" element={<ProtectedModuleRoute><AlgoTradingLesson2 /></ProtectedModuleRoute>} />
        <Route path="/learn/algo-trading-lesson-3" element={<ProtectedModuleRoute><AlgoTradingLesson3 /></ProtectedModuleRoute>} />
        <Route path="/learn/algo-trading-lesson-4" element={<ProtectedModuleRoute><AlgoTradingLesson4 /></ProtectedModuleRoute>} />
        <Route path="/learn/algo-trading-lesson-5" element={<ProtectedModuleRoute><AlgoTradingLesson5 /></ProtectedModuleRoute>} />
        <Route path="/learn/algo-trading-lesson-6" element={<ProtectedModuleRoute><AlgoTradingLesson6 /></ProtectedModuleRoute>} />
        <Route path="/learn/algo-trading-lesson-7" element={<ProtectedModuleRoute><AlgoTradingLesson7 /></ProtectedModuleRoute>} />
        <Route path="/learn/algo-trading-lesson-8" element={<ProtectedModuleRoute><AlgoTradingLesson8 /></ProtectedModuleRoute>} />
        <Route path="/learn/algo-trading-lesson-9" element={<ProtectedModuleRoute><AlgoTradingLesson9 /></ProtectedModuleRoute>} />
        <Route path="/learn/risk-management" element={<ProtectedModuleRoute><RiskManagementOverview /></ProtectedModuleRoute>} />
        <Route path="/learn/risk-lesson-1" element={<ProtectedModuleRoute><RiskLesson1 /></ProtectedModuleRoute>} />
        <Route path="/learn/risk-lesson-2" element={<ProtectedModuleRoute><RiskLesson2 /></ProtectedModuleRoute>} />
        <Route path="/learn/risk-lesson-3" element={<ProtectedModuleRoute><RiskLesson3 /></ProtectedModuleRoute>} />
        <Route path="/learn/risk-lesson-4" element={<ProtectedModuleRoute><RiskLesson4 /></ProtectedModuleRoute>} />
        <Route path="/learn/risk-lesson-5" element={<ProtectedModuleRoute><RiskLesson5 /></ProtectedModuleRoute>} />
        <Route path="/learn/risk-lesson-6" element={<ProtectedModuleRoute><RiskLesson6 /></ProtectedModuleRoute>} />
        <Route path="/learn/risk-lesson-7" element={<ProtectedModuleRoute><RiskLesson7 /></ProtectedModuleRoute>} />
        <Route path="/learn/long-term-investing" element={<ProtectedModuleRoute><LongTermInvestingOverview /></ProtectedModuleRoute>} />
        <Route path="/learn/lti-lesson-1" element={<ProtectedModuleRoute><LTILesson1 /></ProtectedModuleRoute>} />
        <Route path="/learn/lti-lesson-2" element={<ProtectedModuleRoute><LTILesson2 /></ProtectedModuleRoute>} />
        <Route path="/learn/lti-lesson-3" element={<ProtectedModuleRoute><LTILesson3 /></ProtectedModuleRoute>} />
        <Route path="/learn/lti-lesson-4" element={<ProtectedModuleRoute><LTILesson4 /></ProtectedModuleRoute>} />
        <Route path="/learn/lti-lesson-5" element={<ProtectedModuleRoute><LTILesson5 /></ProtectedModuleRoute>} />
        <Route path="/learn/lti-lesson-6" element={<ProtectedModuleRoute><LTILesson6 /></ProtectedModuleRoute>} />
        <Route path="/learn/lti-lesson-7" element={<ProtectedModuleRoute><LTILesson7 /></ProtectedModuleRoute>} />
        <Route path="/learn/portfolio-construction" element={<ProtectedModuleRoute><PortfolioConstructionOverview /></ProtectedModuleRoute>} />
        <Route path="/learn/pc-lesson-1" element={<ProtectedModuleRoute><PCLesson1 /></ProtectedModuleRoute>} />
        <Route path="/learn/pc-lesson-2" element={<ProtectedModuleRoute><PCLesson2 /></ProtectedModuleRoute>} />
        <Route path="/learn/pc-lesson-3" element={<ProtectedModuleRoute><PCLesson3 /></ProtectedModuleRoute>} />
        <Route path="/learn/pc-lesson-4" element={<ProtectedModuleRoute><PCLesson4 /></ProtectedModuleRoute>} />
        <Route path="/learn/pc-lesson-5" element={<ProtectedModuleRoute><PCLesson5 /></ProtectedModuleRoute>} />
        <Route path="/learn/pc-lesson-6" element={<ProtectedModuleRoute><PCLesson6 /></ProtectedModuleRoute>} />
        <Route path="/learn/pc-lesson-7" element={<ProtectedModuleRoute><PCLesson7 /></ProtectedModuleRoute>} />
        <Route path="/learn/pc-lesson-8" element={<ProtectedModuleRoute><PCLesson8 /></ProtectedModuleRoute>} />
        <Route path="/learn/pc-lesson-9" element={<ProtectedModuleRoute><PCLesson9 /></ProtectedModuleRoute>} />
        <Route path="/learn/pc-lesson-10" element={<ProtectedModuleRoute><PCLesson10 /></ProtectedModuleRoute>} />
        <Route path="/learn/pc-lesson-11" element={<ProtectedModuleRoute><PCLesson11 /></ProtectedModuleRoute>} />
        <Route path="/learn/pc-lesson-12" element={<ProtectedModuleRoute><PCLesson12 /></ProtectedModuleRoute>} />
        <Route path="/learn/derivatives" element={<ProtectedModuleRoute><DerivativesOverview /></ProtectedModuleRoute>} />
        <Route path="/learn/deriv-lesson-1" element={<ProtectedModuleRoute><DerivLesson1 /></ProtectedModuleRoute>} />
        <Route path="/learn/deriv-lesson-2" element={<ProtectedModuleRoute><DerivLesson2 /></ProtectedModuleRoute>} />
        <Route path="/learn/deriv-lesson-3" element={<ProtectedModuleRoute><DerivLesson3 /></ProtectedModuleRoute>} />
        <Route path="/learn/deriv-lesson-4" element={<ProtectedModuleRoute><DerivLesson4 /></ProtectedModuleRoute>} />
        <Route path="/learn/deriv-lesson-5" element={<ProtectedModuleRoute><DerivLesson5 /></ProtectedModuleRoute>} />
        <Route path="/learn/deriv-lesson-6" element={<ProtectedModuleRoute><DerivLesson6 /></ProtectedModuleRoute>} />
        <Route path="/learn/deriv-lesson-7" element={<ProtectedModuleRoute><DerivLesson7 /></ProtectedModuleRoute>} />
        <Route path="/learn/derivatives/lesson-1" element={<ProtectedModuleRoute><FOLesson1 /></ProtectedModuleRoute>} />
        <Route path="/learn/derivatives/lesson-2" element={<ProtectedModuleRoute><FOLesson2 /></ProtectedModuleRoute>} />
        <Route path="/learn/derivatives/lesson-3" element={<ProtectedModuleRoute><FOLesson3 /></ProtectedModuleRoute>} />
        <Route path="/learn/derivatives/lesson-4" element={<ProtectedModuleRoute><FOLesson4 /></ProtectedModuleRoute>} />
        <Route path="/learn/derivatives/lesson-5" element={<ProtectedModuleRoute><FOLesson5 /></ProtectedModuleRoute>} />
        <Route path="/learn/derivatives/lesson-6" element={<ProtectedModuleRoute><FOLesson6 /></ProtectedModuleRoute>} />
        <Route path="/learn/derivatives/lesson-7" element={<ProtectedModuleRoute><FOLesson7 /></ProtectedModuleRoute>} />
        <Route path="/learn/derivatives/lesson-8" element={<ProtectedModuleRoute><FOLesson8 /></ProtectedModuleRoute>} />
        <Route path="/learn/derivatives/lesson-9" element={<ProtectedModuleRoute><FOLesson9 /></ProtectedModuleRoute>} />
        <Route path="/learn/derivatives/lesson-10" element={<ProtectedModuleRoute><FOLesson10 /></ProtectedModuleRoute>} />
        <Route path="/learn/derivatives/lesson-11" element={<ProtectedModuleRoute><FOLesson11 /></ProtectedModuleRoute>} />
        <Route path="/learn/derivatives/lesson-12" element={<ProtectedModuleRoute><FOLesson12 /></ProtectedModuleRoute>} />
        <Route path="/learn/taxes" element={<ProtectedModuleRoute><TaxOverview /></ProtectedModuleRoute>} />
        <Route path="/learn/tax-lesson-1" element={<ProtectedModuleRoute><TaxLesson1 /></ProtectedModuleRoute>} />
        <Route path="/learn/tax-lesson-2" element={<ProtectedModuleRoute><TaxLesson2 /></ProtectedModuleRoute>} />
        <Route path="/learn/tax-lesson-3" element={<ProtectedModuleRoute><TaxLesson3 /></ProtectedModuleRoute>} />
        <Route path="/learn/tax-lesson-4" element={<ProtectedModuleRoute><TaxLesson4 /></ProtectedModuleRoute>} />
        <Route path="/learn/tax-lesson-5" element={<ProtectedModuleRoute><TaxLesson5 /></ProtectedModuleRoute>} />
        <Route path="/learn/tax-lesson-6" element={<ProtectedModuleRoute><TaxLesson6 /></ProtectedModuleRoute>} />
        <Route path="/courses/:courseId" element={<CourseDetail />} />
        <Route path="/courses/:courseId/purchase" element={<PurchasePage />} />
        <Route path="/login" element={<LoginPage />} />
        <Route path="/signup" element={<SignupPage />} />
        <Route path="/forgot-password" element={<ForgotPasswordPage />} />
        <Route path="/reset-password" element={<ResetPasswordPage />} />
        <Route path="/dashboard" element={
          <ProtectedRoute>
            <Dashboard />
          </ProtectedRoute>
        } />
        <Route path="/algos" element={<AlgosPage />} />
        <Route path="/advisory" element={<AdvisoryPage />} />
        <Route path="/advisory/submissions" element={<AdvisorSubmissions />} />
        <Route path="/advisor/login" element={<AdvisorLogin />} />
        <Route path="/advisor/dashboard" element={<AdvisorDashboard />} />
        <Route path="/newsletter" element={<Newsletter />} />
        <Route path="/newsletter/:id" element={<NewsletterDisplay />} />
        <Route path="/journal" element={<JournalLanding />} />
        <Route path="/gini" element={<GiniLanding />} />
        <Route path="/about" element={<AboutPage />} />
        <Route path="/products" element={<ProductsPage />} />
        <Route path="/intro/advisory" element={<AdvisoryIntro />} />
        <Route path="/intro/algorithms" element={<AlgorithmsIntro />} />
        <Route path="/intro/dashboard" element={<DashboardIntro />} />
        <Route path="/intro/learn" element={<LearnIntro />} />
        <Route path="/intro/newsletter" element={<NewsletterIntro />} />
        <Route path="/intro/tools" element={<ToolsIntro />} />
        <Route path="/terms" element={<Terms />} />
        <Route path="/algo-terms" element={<AlgoTerms />} />
        <Route path="/privacy" element={<Privacy />} />
        <Route path="/help" element={<HelpCenter />} />
        {/* Catch-all for 404s - Must be last */}
        <Route path="*" element={<NotFound />} />
          </Routes>
        </Router>
      </ThemeProvider>
    </AuthProvider>
  );
}

export default App;
