import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' import { BrowserRouter, Routes, Route } from 'react-router-dom' import { AuthProvider } from './context/AuthContext' import './index.css' import MarketingLayout from './layouts/MarketingLayout' import AppLayout from './layouts/AppLayout' import ProtectedRoute from './components/ProtectedRoute' import HomePage from './pages/marketing/HomePage' import FeaturesPage from './pages/marketing/FeaturesPage' import PricingPage from './pages/marketing/PricingPage' import AboutPage from './pages/marketing/AboutPage' import ContactPage from './pages/marketing/ContactPage' import SignUpPage from './pages/marketing/SignUpPage' import CheckoutSuccess from './pages/marketing/CheckoutSuccess' import CheckoutCancel from './pages/marketing/CheckoutCancel' import WelcomePage from './pages/marketing/WelcomePage' import TermsPage from './pages/marketing/TermsPage' import PrivacyPage from './pages/marketing/PrivacyPage' import Login from './pages/Login' import InvitePage from './pages/marketing/InvitePage' import SharePage from './pages/SharePage' // Clean up OAuth error params before React mounts (prevents router crash from invalid hash selectors) if (window.location.search.includes('error=') || window.location.hash.includes('error=')) { window.history.replaceState({}, '', window.location.pathname) } createRoot(document.getElementById('root')).render( {/* Public share page (no layout wrapper) */} } /> {/* Public marketing routes */} }> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> {/* Protected app routes */} } /> , )