diff --git a/features/marketplace/frontend-public/src/app/routes.tsx b/features/marketplace/frontend-public/src/app/routes.tsx index 5312d4d5d..802301d9c 100644 --- a/features/marketplace/frontend-public/src/app/routes.tsx +++ b/features/marketplace/frontend-public/src/app/routes.tsx @@ -1,52 +1,39 @@ +/** + * AppRoutes - Main router configuration + * + * Composes public and authenticated routes with the marketplace layout. + * Uses React Router v7's nested routing pattern. + */ + import { Routes, Route, Navigate } from 'react-router-dom'; -import { lazy, Suspense } from 'react'; +import { Suspense } from 'react'; import { MarketplaceLayout } from '../layouts/MarketplaceLayout'; import { usePluginRoutes } from '../hooks/usePluginRoutes'; -import { RequireAuth } from '../components/RequireAuth'; +import { PublicRoutes } from './PublicRoutes'; +import { AuthedRoutes } from './AuthedRoutes'; -// Lazy load feature pages -const HomeRedirect = lazy(() => import('@features/landing/components/HomeRedirect')); -const AudienceChoiceScreen = lazy(() => import('@features/landing/pages/AudienceChoiceScreen')); -const WorkerLandingPage = lazy(() => import('@features/landing/pages/WorkerLandingPage')); -const ClientLandingPage = lazy(() => import('@features/landing/pages/ClientLandingPage')); -const VerticalLandingPage = lazy(() => import('@features/landing/pages/VerticalLandingPage')); -const BrowseCreatorsPage = lazy(() => import('@features/discovery/pages/BrowseCreatorsPage').then(m => ({ default: m.BrowseCreatorsPage }))); -const ProfileViewPage = lazy(() => import('@lilith/profile/pages').then(m => ({ default: m.ProfileViewPage }))); -const BookingPage = lazy(() => import('@features/booking/pages/BookingPage')); -const MessagingPage = lazy(() => import('@features/messaging/pages/MessagingPage')); -const InboxPage = lazy(() => import('@features/inbox/pages/InboxPage')); - -// Subscription pages -const SubscriptionCheckoutPage = lazy(() => import('@features/subscription/pages/SubscriptionCheckoutPage').then(m => ({ default: m.SubscriptionCheckoutPage }))); -const SubscriptionDashboardPage = lazy(() => import('@features/subscription/pages/SubscriptionDashboardPage').then(m => ({ default: m.SubscriptionDashboardPage }))); - -// Content pages (guest-accessible) -const AboutPage = lazy(() => import('@features/content/pages/AboutPage')); -const FeaturesPage = lazy(() => import('@features/content/pages/FeaturesPage')); -const SafetyPage = lazy(() => import('@features/content/pages/SafetyPage')); - -// Discovery pages -const NearbyMapPage = lazy(() => import('@features/discovery/pages/NearbyMapPage')); - -// Auth pages -const RegisterPage = lazy(() => import('@features/auth/pages/RegisterPage')); - -// Loading fallback +/** + * Loading fallback for lazy-loaded pages + */ const PageLoader = () => ( -