import { AppSidebar } from "@/components/app-sidebar" import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from "@/components/ui/breadcrumb" import { SidebarInset, SidebarProvider, } from "@/components/ui/sidebar" import { Toaster } from "@/components/ui/sonner" import { TooltipProvider } from "@/components/ui/tooltip" import { Dashboard } from "@/components/dashboard" import { NavigationProvider, useNavigation, PageId } from "@/contexts/navigation-context" import { ProProvider } from "@/contexts/pro-context" import { LicenseActivationBanner } from "@/components/license-activation-banner" import { RecaptchaSettings } from "@/features/spam/recaptcha/components/recaptcha-settings" import { EmailVerificationSettings } from "@/features/spam/email-verification" import { AddedToCartSettings } from "@/features/popups/added-to-cart" import { SystemInfoPage } from "@/features/system/system-info" import { CurrencySwitcherSettings } from "@/features/currencies/currency-switcher" import { ProductBundlesSettings } from "@/features/products/product-bundles" import { ProductAddonsSettings } from "@/features/products/product-addons" import { SubscriptionsSettings } from "@/features/products/subscriptions" import { QuantityLimitsSettings } from "@/features/products/quantity-limits" import { FieldEditorSettings } from "@/features/checkout/field-editor" import { CookieConsentSettings } from "@/features/compliance/cookie-consent" import { BackInStockSettings } from "@/features/notifications/back-in-stock" import { AbandonedCartSettings } from "@/features/notifications/abandoned-cart" import { ShipmentTrackingSettings } from "@/features/shipping/shipment-tracking" import { RegistrationFormSettings } from "@/features/customization/registration-form" import { WishlistSettings } from "@/features/products/wishlist" import { AjaxSearchSettings } from "@/features/products/ajax-search" import { GlobalsSettings, GlobalsProvider } from "@/features/globals" // Page title mapping const pageTitles: Record = { 'dashboard': { breadcrumbs: ['Dashboard', 'Overview'] }, 'dashboard/overview': { breadcrumbs: ['Dashboard', 'Overview'] }, 'dashboard/analytics': { breadcrumbs: ['Dashboard', 'Analytics'] }, 'dashboard/reports': { breadcrumbs: ['Dashboard', 'Reports'] }, 'globals': { breadcrumbs: ['Globals'] }, 'spam/recaptcha': { breadcrumbs: ['Spam', 'reCAPTCHA'] }, 'spam/email-verification': { breadcrumbs: ['Spam', 'Email Verification'] }, 'popups/added-to-cart': { breadcrumbs: ['Popups', 'Add to Cart Popup'] }, 'notifications/back-in-stock': { breadcrumbs: ['Notifications', 'Back In Stock'] }, 'notifications/abandoned-cart': { breadcrumbs: ['Notifications', 'Cart Recovery'] }, 'shipping/tracking': { breadcrumbs: ['Shipping', 'Tracking'] }, 'system/info': { breadcrumbs: ['System', 'Info'] }, 'currencies/switcher': { breadcrumbs: ['Currencies', 'Currency Switcher'] }, 'orders': { breadcrumbs: ['Orders', 'All Orders'] }, 'products': { breadcrumbs: ['Products', 'All Products'] }, 'products/bundles': { breadcrumbs: ['Products', 'Product Bundles'] }, 'products/addons': { breadcrumbs: ['Products', 'Product Addons'] }, 'products/subscriptions': { breadcrumbs: ['Products', 'Subscriptions'] }, 'products/quantity-limits': { breadcrumbs: ['Products', 'Quantity Limits'] }, 'products/wishlist': { breadcrumbs: ['Products', 'Wishlist'] }, 'products/ajax-search': { breadcrumbs: ['Products', 'Ajax Search'] }, 'checkout/field-editor': { breadcrumbs: ['Checkout', 'Field Editor'] }, 'customization/registration-form': { breadcrumbs: ['Customization', 'Registration Form'] }, 'compliance/cookie-consent': { breadcrumbs: ['Compliance', 'Cookie Consent'] }, } function PageContent() { const { currentPage } = useNavigation() switch (currentPage) { case 'globals': return case 'spam/recaptcha': return case 'spam/email-verification': return case 'popups/added-to-cart': return case 'system/info': return case 'currencies/switcher': return case 'products/bundles': return case 'products/addons': return case 'products/subscriptions': return case 'products/quantity-limits': return case 'products/wishlist': return case 'products/ajax-search': return case 'checkout/field-editor': return case 'customization/registration-form': return case 'compliance/cookie-consent': return case 'notifications/back-in-stock': return case 'notifications/abandoned-cart': return case 'shipping/tracking': return case 'dashboard': case 'dashboard/analytics': case 'dashboard/reports': default: return } } function AppHeader() { const { currentPage } = useNavigation() const pageInfo = pageTitles[currentPage] || { breadcrumbs: ['Dashboard', 'Overview'] } return (
Swift Commerce {pageInfo.breadcrumbs.map((crumb, index) => ( {index === pageInfo.breadcrumbs.length - 1 ? ( {crumb} ) : ( {crumb} )} ))}
) } function AppContent() { return ( ) } function App() { return (
) } export default App