import React, { Suspense } from 'react'; import { Routes, Route, Navigate } from 'react-router-dom'; import { ProtectedRoute } from './ProtectedRoute'; import { LoadingSpinner } from '../components/ui'; import { AppShell } from '../components/layout'; // Lazy load the pages we actually have const LandingPage = React.lazy(() => import('../pages/public/LandingPage')); const LoginPage = React.lazy(() => import('../pages/public/LoginPage')); const RegisterPage = React.lazy(() => import('../pages/public/RegisterPage')); const DemoPage = React.lazy(() => import('../pages/public/DemoPage')); const PrivacyPolicyPage = React.lazy(() => import('../pages/public/PrivacyPolicyPage')); const TermsOfServicePage = React.lazy(() => import('../pages/public/TermsOfServicePage')); const CookiePolicyPage = React.lazy(() => import('../pages/public/CookiePolicyPage')); const CookiePreferencesPage = React.lazy(() => import('../pages/public/CookiePreferencesPage')); const BlogPage = React.lazy(() => import('../pages/public/BlogPage')); const AboutPage = React.lazy(() => import('../pages/public/AboutPage')); const CareersPage = React.lazy(() => import('../pages/public/CareersPage')); const HelpCenterPage = React.lazy(() => import('../pages/public/HelpCenterPage')); const DocumentationPage = React.lazy(() => import('../pages/public/DocumentationPage')); const ContactPage = React.lazy(() => import('../pages/public/ContactPage')); const FeedbackPage = React.lazy(() => import('../pages/public/FeedbackPage')); const DashboardPage = React.lazy(() => import('../pages/app/DashboardPage')); // Operations pages const InventoryPage = React.lazy(() => import('../pages/app/operations/inventory/InventoryPage')); const ProductionPage = React.lazy(() => import('../pages/app/operations/production/ProductionPage')); const RecipesPage = React.lazy(() => import('../pages/app/operations/recipes/RecipesPage')); const ProcurementPage = React.lazy(() => import('../pages/app/operations/procurement/ProcurementPage')); const SuppliersPage = React.lazy(() => import('../pages/app/operations/suppliers/SuppliersPage')); const OrdersPage = React.lazy(() => import('../pages/app/operations/orders/OrdersPage')); const POSPage = React.lazy(() => import('../pages/app/operations/pos/POSPage')); const MaquinariaPage = React.lazy(() => import('../pages/app/operations/maquinaria/MaquinariaPage')); // Analytics pages const ProductionAnalyticsPage = React.lazy(() => import('../pages/app/analytics/ProductionAnalyticsPage')); const ProcurementAnalyticsPage = React.lazy(() => import('../pages/app/analytics/ProcurementAnalyticsPage')); const ForecastingPage = React.lazy(() => import('../pages/app/analytics/forecasting/ForecastingPage')); const SalesAnalyticsPage = React.lazy(() => import('../pages/app/analytics/sales-analytics/SalesAnalyticsPage')); const ScenarioSimulationPage = React.lazy(() => import('../pages/app/analytics/scenario-simulation/ScenarioSimulationPage')); const AIInsightsPage = React.lazy(() => import('../pages/app/analytics/ai-insights/AIInsightsPage')); const PerformanceAnalyticsPage = React.lazy(() => import('../pages/app/analytics/performance/PerformanceAnalyticsPage')); // Settings pages - Unified const BakerySettingsPage = React.lazy(() => import('../pages/app/settings/bakery/BakerySettingsPage')); const NewProfileSettingsPage = React.lazy(() => import('../pages/app/settings/profile/NewProfileSettingsPage')); const SubscriptionPage = React.lazy(() => import('../pages/app/settings/subscription/SubscriptionPage')); const TeamPage = React.lazy(() => import('../pages/app/settings/team/TeamPage')); const OrganizationsPage = React.lazy(() => import('../pages/app/settings/organizations/OrganizationsPage')); // Database pages const DatabasePage = React.lazy(() => import('../pages/app/database/DatabasePage')); const ModelsConfigPage = React.lazy(() => import('../pages/app/database/models/ModelsConfigPage')); const QualityTemplatesPage = React.lazy(() => import('../pages/app/database/quality-templates/QualityTemplatesPage')); // Data pages const WeatherPage = React.lazy(() => import('../pages/app/data/weather/WeatherPage')); const TrafficPage = React.lazy(() => import('../pages/app/data/traffic/TrafficPage')); const EventsPage = React.lazy(() => import('../pages/app/data/events/EventsPage')); // Onboarding pages const OnboardingPage = React.lazy(() => import('../pages/onboarding/OnboardingPage')); export const AppRouter: React.FC = () => { return ( }> {/* Public Routes */} } /> } /> } /> } /> {/* Company Routes - Public */} } /> } /> } /> {/* Help & Support Routes - Public */} } /> } /> } /> } /> {/* Legal & Privacy Routes - Public */} } /> } /> } /> } /> {/* Protected Routes with AppShell Layout */} } /> } /> {/* Operations Routes - Business Operations Only */} } /> } /> } /> {/* Database Routes - Current Bakery Status */} } /> } /> } /> } /> } /> {/* NEW: Unified Bakery Settings Route */} } /> {/* Legacy routes redirect to new unified page */} } /> } /> } /> } /> } /> } /> {/* Analytics Routes */} } /> } /> } /> } /> } /> } /> } /> {/* Settings Routes */} {/* NEW: Unified Profile Settings Route */} } /> {/* Legacy routes redirect to new unified profile page */} } /> } /> } /> } /> } /> {/* Data Routes */} } /> } /> } /> {/* Onboarding Route - Protected but without AppShell */} } /> {/* Default redirects */} } /> } /> ); }; export default AppRouter;