import { lazy, Suspense } from 'react' import { Route, Routes } from 'react-router-dom' import { PageLoading } from '@/components/PageLoading' import { NotFoundPage } from '@/features/NotFoundPage' import { StorefrontLayout } from '@/layouts/StorefrontLayout' const ListingListPage = lazy(() => import('@/features/listings/ListingListPage').then(module => ({ default: module.ListingListPage })) ) const ListingDetailPage = lazy(() => import('@/features/listings/ListingDetailPage').then(module => ({ default: module.ListingDetailPage, })) ) const SellerListingsPage = lazy(() => import('@/features/seller/SellerListingsPage').then(module => ({ default: module.SellerListingsPage, })) ) const SellerListingDetailPage = lazy(() => import('@/features/seller/SellerListingDetailPage').then(module => ({ default: module.SellerListingDetailPage, })) ) const SellerListingFormPage = lazy(() => import('@/features/seller/SellerListingFormPage').then(module => ({ default: module.SellerListingFormPage, })) ) const SellerHandoffsPage = lazy(() => import('@/features/seller/SellerHandoffsPage').then(module => ({ default: module.SellerHandoffsPage, })) ) const SellerEarningsPage = lazy(() => import('@/features/seller/SellerEarningsPage').then(module => ({ default: module.SellerEarningsPage, })) ) const SellerPickupsPage = lazy(() => import('@/features/seller/SellerPickupsPage').then(module => ({ default: module.SellerPickupsPage, })) ) const OrderListPage = lazy(() => import('@/features/orders/OrderListPage').then(module => ({ default: module.OrderListPage })) ) const OrderDetailPage = lazy(() => import('@/features/orders/OrderDetailPage').then(module => ({ default: module.OrderDetailPage })) ) const WalletPage = lazy(() => import('@/features/wallet/WalletPage').then(module => ({ default: module.WalletPage })) ) const PaymentAccountsPage = lazy(() => import('@/features/wallet/PaymentAccountsPage').then(module => ({ default: module.PaymentAccountsPage, })) ) const WithdrawalPage = lazy(() => import('@/features/wallet/WithdrawalPage').then(module => ({ default: module.WithdrawalPage })) ) const AnnouncementsPage = lazy(() => import('@/features/announcements/AnnouncementsPage').then(module => ({ default: module.AnnouncementsPage, })) ) const AnnouncementDetailPage = lazy(() => import('@/features/announcements/AnnouncementDetailPage').then(module => ({ default: module.AnnouncementDetailPage, })) ) const NotificationsPage = lazy(() => import('@/features/notifications/NotificationsPage').then(module => ({ default: module.NotificationsPage, })) ) const InvitationsPage = lazy(() => import('@/features/invitations/InvitationsPage').then(module => ({ default: module.InvitationsPage, })) ) const InviteLandingPage = lazy(() => import('@/features/invitations/InviteLandingPage').then(module => ({ default: module.InviteLandingPage, })) ) const MessagesPage = lazy(() => import('@/features/messages/MessagesPage').then(module => ({ default: module.MessagesPage })) ) const ChatPage = lazy(() => import('@/features/messages/ChatPage').then(module => ({ default: module.ChatPage })) ) const LoginPage = lazy(() => import('@/features/auth/LoginPage').then(module => ({ default: module.LoginPage })) ) const MobileLayout = lazy(() => import('@/layouts/MobileLayout').then(module => ({ default: module.MobileLayout })) ) const MobileHomePage = lazy(() => import('@/features/mobile/MobileHomePage').then(module => ({ default: module.MobileHomePage })) ) const MobileListingDetailPage = lazy(() => import('@/features/mobile/MobileListingDetailPage').then(module => ({ default: module.MobileListingDetailPage, })) ) const MobileProfilePage = lazy(() => import('@/features/mobile/MobileProfilePage').then(module => ({ default: module.MobileProfilePage, })) ) const MobileWithdrawalPage = lazy(() => import('@/features/mobile/MobileWithdrawalPage').then(module => ({ default: module.MobileWithdrawalPage, })) ) const MobileAnnouncementsPage = lazy(() => import('@/features/mobile/MobileAnnouncementsPage').then(module => ({ default: module.MobileAnnouncementsPage, })) ) const MobileNotificationsPage = lazy(() => import('@/features/mobile/MobileNotificationsPage').then(module => ({ default: module.MobileNotificationsPage, })) ) const MobileInvitationsPage = lazy(() => import('@/features/mobile/MobileInvitationsPage').then(module => ({ default: module.MobileInvitationsPage, })) ) const MobileRegisterPage = lazy(() => import('@/features/mobile/MobileRegisterPage').then(module => ({ default: module.MobileRegisterPage, })) ) const MobileAddHomeGuidePage = lazy(() => import('@/features/mobile/MobileAddHomeGuidePage').then(module => ({ default: module.MobileAddHomeGuidePage, })) ) const MobileOrdersPage = lazy(() => import('@/features/mobile/MobileOrdersPage').then(module => ({ default: module.MobileOrdersPage, })) ) const MobileOrderDetailPage = lazy(() => import('@/features/mobile/MobileOrderDetailPage').then(module => ({ default: module.MobileOrderDetailPage, })) ) const MobileMessagesPage = lazy(() => import('@/features/mobile/MobileMessagesPage').then(module => ({ default: module.MobileMessagesPage, })) ) const MobileChatPage = lazy(() => import('@/features/mobile/MobileChatPage').then(module => ({ default: module.MobileChatPage, })) ) const MobileRealnamePage = lazy(() => import('@/features/mobile/MobileRealnamePage').then(module => ({ default: module.MobileRealnamePage, })) ) const MobileSellerListingsPage = lazy(() => import('@/features/mobile/MobileSellerListingsPage').then(module => ({ default: module.MobileSellerListingsPage, })) ) const MobileSellerListingDetailPage = lazy(() => import('@/features/mobile/MobileSellerListingDetailPage').then(module => ({ default: module.MobileSellerListingDetailPage, })) ) const MobileSellerFormPage = lazy(() => import('@/features/mobile/MobileSellerFormPage').then(module => ({ default: module.MobileSellerFormPage, })) ) const AdminLoginPage = lazy(() => import('@/features/admin/AdminLoginPage').then(module => ({ default: module.AdminLoginPage })) ) const AdminGuard = lazy(() => import('@/features/admin/AdminGuard').then(module => ({ default: module.AdminGuard })) ) const AdminChangePasswordPage = lazy(() => import('@/features/admin/AdminChangePasswordPage').then(module => ({ default: module.AdminChangePasswordPage, })) ) const AdminDashboardPage = lazy(() => import('@/features/admin/AdminDashboardPage').then(module => ({ default: module.AdminDashboardPage, })) ) const AdminOrdersPage = lazy(() => import('@/features/admin/AdminOrdersPage').then(module => ({ default: module.AdminOrdersPage, })) ) const AdminListingsPage = lazy(() => import('@/features/admin/AdminListingsPage').then(module => ({ default: module.AdminListingsPage, })) ) const AdminUsersPage = lazy(() => import('@/features/admin/AdminUsersPage').then(module => ({ default: module.AdminUsersPage, })) ) const AdminRefundReviewPage = lazy(() => import('@/features/admin/AdminRefundReviewPage').then(module => ({ default: module.AdminRefundReviewPage, })) ) const AdminWithdrawalsPage = lazy(() => import('@/features/admin/AdminWithdrawalsPage').then(module => ({ default: module.AdminWithdrawalsPage, })) ) const AdminDisputesPage = lazy(() => import('@/features/admin/AdminDisputesPage').then(module => ({ default: module.AdminDisputesPage, })) ) const AdminFinancePage = lazy(() => import('@/features/admin/AdminFinancePage').then(module => ({ default: module.AdminFinancePage, })) ) const AdminFinanceDisbursementsPage = lazy(() => import('@/features/admin/AdminFinanceDisbursementsPage').then(module => ({ default: module.AdminFinanceDisbursementsPage, })) ) const AdminOperatingExpensesPage = lazy(() => import('@/features/admin/AdminOperatingExpensesPage').then(module => ({ default: module.AdminOperatingExpensesPage, })) ) const AdminAnnouncementsPage = lazy(() => import('@/features/admin/AdminAnnouncementsPage').then(module => ({ default: module.AdminAnnouncementsPage, })) ) const AdminAuditLogsPage = lazy(() => import('@/features/admin/AdminAuditLogsPage').then(module => ({ default: module.AdminAuditLogsPage, })) ) const AdminSystemConfigsPage = lazy(() => import('@/features/admin/AdminSystemConfigsPage').then(module => ({ default: module.AdminSystemConfigsPage, })) ) const AdminPaymentConfigsPage = lazy(() => import('@/features/admin/AdminPaymentConfigsPage').then(module => ({ default: module.AdminPaymentConfigsPage, })) ) const AdminRolesPage = lazy(() => import('@/features/admin/AdminRolesPage').then(module => ({ default: module.AdminRolesPage, })) ) const AdminSupportGroupsPage = lazy(() => import('@/features/admin/AdminSupportGroupsPage').then(module => ({ default: module.AdminSupportGroupsPage, })) ) const AdminStaffAccountsPage = lazy(() => import('@/features/admin/AdminStaffAccountsPage').then(module => ({ default: module.AdminStaffAccountsPage, })) ) const AdminBackupsPage = lazy(() => import('@/features/admin/AdminBackupsPage').then(module => ({ default: module.AdminBackupsPage, })) ) const AdminCrashCategoriesPage = lazy(() => import('@/features/admin/AdminCrashCategoriesPage').then(module => ({ default: module.AdminCrashCategoriesPage, })) ) const AdminCrashProductsPage = lazy(() => import('@/features/admin/AdminCrashProductsPage').then(module => ({ default: module.AdminCrashProductsPage, })) ) const AdminCrashOrdersPage = lazy(() => import('@/features/admin/AdminCrashOrdersPage').then(module => ({ default: module.AdminCrashOrdersPage, })) ) const AdminCrashConfigPage = lazy(() => import('@/features/admin/AdminCrashConfigPage').then(module => ({ default: module.AdminCrashConfigPage, })) ) const AdminManualEntriesPage = lazy(() => import('@/features/admin/AdminManualEntriesPage').then(module => ({ default: module.AdminManualEntriesPage, })) ) const AdminPaymentsPage = lazy(() => import('@/features/admin/AdminPaymentsPage').then(module => ({ default: module.AdminPaymentsPage, })) ) const AdminPickupsPage = lazy(() => import('@/features/admin/AdminPickupsPage').then(module => ({ default: module.AdminPickupsPage, })) ) const AdminChatsPage = lazy(() => import('@/features/admin/AdminChatsPage').then(module => ({ default: module.AdminChatsPage, })) ) const AdminQrCodePoolPage = lazy(() => import('@/features/admin/AdminQrCodePoolPage').then(module => ({ default: module.AdminQrCodePoolPage, })) ) const AdminNotificationsPage = lazy(() => import('@/features/admin/AdminNotificationsPage').then(module => ({ default: module.AdminNotificationsPage, })) ) const AdminPushPage = lazy(() => import('@/features/admin/AdminPushPage').then(module => ({ default: module.AdminPushPage, })) ) const AdminInvitationsPage = lazy(() => import('@/features/admin/AdminInvitationsPage').then(module => ({ default: module.AdminInvitationsPage, })) ) const AdminPickupDetailPage = lazy(() => import('@/features/admin/AdminPickupDetailPage').then(module => ({ default: module.AdminPickupDetailPage, })) ) const AdminFinanceDetailsPage = lazy(() => import('@/features/admin/AdminFinanceDetailsPage').then(module => ({ default: module.AdminFinanceDetailsPage, })) ) const AdminWalletLedgerPage = lazy(() => import('@/features/admin/AdminWalletLedgerPage').then(module => ({ default: module.AdminWalletLedgerPage, })) ) const AdminQuickRepliesPage = lazy(() => import('@/features/admin/AdminQuickRepliesPage').then(module => ({ default: module.AdminQuickRepliesPage, })) ) const AdminTrackingLinksPage = lazy(() => import('@/features/admin/AdminTrackingLinksPage').then(module => ({ default: module.AdminTrackingLinksPage, })) ) const AdminDistributionSitesPage = lazy(() => import('@/features/admin/AdminDistributionSitesPage').then(module => ({ default: module.AdminDistributionSitesPage, })) ) const AdminDistributionWalletPage = lazy(() => import('@/features/admin/AdminDistributionWalletPage').then(module => ({ default: module.AdminDistributionWalletPage, })) ) const AdminDistributionDashboardPage = lazy(() => import('@/features/admin/AdminDistributionDashboardPage').then(module => ({ default: module.AdminDistributionDashboardPage, })) ) const AdminDistributionSMSPage = lazy(() => import('@/features/admin/AdminDistributionSMSPage').then(module => ({ default: module.AdminDistributionSMSPage, })) ) const AdminDistributionInvitationPage = lazy(() => import('@/features/admin/AdminDistributionInvitationPage').then(module => ({ default: module.AdminDistributionInvitationPage, })) ) const AdminDistributionQrCodesPage = lazy(() => import('@/features/admin/AdminDistributionQrCodesPage').then(module => ({ default: module.AdminDistributionQrCodesPage, })) ) const AdminDistributionRulesPage = lazy(() => import('@/features/admin/AdminDistributionRulesPage').then(module => ({ default: module.AdminDistributionRulesPage, })) ) const AdminDistributionOrdersPage = lazy(() => import('@/features/admin/AdminDistributionOrdersPage').then(module => ({ default: module.AdminDistributionOrdersPage, })) ) const AdminDistributionSettlementsPage = lazy(() => import('@/features/admin/AdminDistributionSettlementsPage').then(module => ({ default: module.AdminDistributionSettlementsPage, })) ) const AdminDistributionUsersPage = lazy(() => import('@/features/admin/AdminDistributionUsersPage').then(module => ({ default: module.AdminDistributionUsersPage, })) ) const AdminSiteAnnouncementsPage = lazy(() => import('@/features/admin/AdminSiteAnnouncementsPage').then(module => ({ default: module.AdminSiteAnnouncementsPage, })) ) const AdminDistributionListingsPage = lazy(() => import('@/features/admin/AdminDistributionListingsPage').then(module => ({ default: module.AdminDistributionListingsPage, })) ) const AdminDistributionPaymentChannelsPage = lazy(() => import('@/features/admin/AdminDistributionPaymentChannelsPage').then(module => ({ default: module.AdminDistributionPaymentChannelsPage, })) ) const AdminLayout = lazy(() => import('@/layouts/AdminLayout').then(module => ({ default: module.AdminLayout })) ) const AdminSectionPlaceholder = lazy(() => import('@/layouts/AdminLayout').then(module => ({ default: module.AdminSectionPlaceholder })) ) export function AppRouter() { const adminBase = import.meta.env.VITE_ADMIN_BASE_PATH || '/console-jy8k3m' return ( }> }> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> }> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> }> } /> }> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> ) }