@mohasinac/appkit 2.8.2 → 2.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_internal/client/features/classified/ClassifiedDetailView.js +7 -1
- package/dist/_internal/client/features/digital-code/CodeRevealPanel.js +4 -1
- package/dist/_internal/client/features/digital-code/DigitalCodeDetailView.js +7 -1
- package/dist/_internal/client/features/layout/DashboardLayoutClient.js +3 -2
- package/dist/_internal/client/features/live/LiveItemDetailView.js +11 -2
- package/dist/_internal/client/scaffolds/AppShell.js +2 -1
- package/dist/_internal/client/scaffolds/DashboardScaffold.js +2 -1
- package/dist/_internal/server/features/checkout/actions.js +40 -39
- package/dist/_internal/shared/actions/action-registry.js +6 -0
- package/dist/_internal/shared/config/index.d.ts +1 -1
- package/dist/_internal/shared/config/schema.d.ts +0 -8
- package/dist/client-entry.d.ts +1 -1
- package/dist/client.d.ts +3 -1
- package/dist/client.js +3 -1
- package/dist/configs/next.js +12 -22
- package/dist/constants/api-endpoints.d.ts +6 -0
- package/dist/constants/api-endpoints.js +2 -0
- package/dist/features/about/components/AboutView.js +5 -2
- package/dist/features/about/components/FAQPageView.js +3 -3
- package/dist/features/about/components/FeesView.js +13 -5
- package/dist/features/about/components/HelpPageView.js +9 -5
- package/dist/features/about/components/HowAuctionsWorkView.js +9 -5
- package/dist/features/about/components/HowCheckoutWorksView.js +9 -5
- package/dist/features/about/components/HowOffersWorkView.js +10 -5
- package/dist/features/about/components/HowOrdersWorkView.js +10 -5
- package/dist/features/about/components/HowPayoutsWorkView.js +9 -5
- package/dist/features/about/components/HowPreOrdersWorkView.js +9 -5
- package/dist/features/about/components/HowReviewsWorkView.js +9 -5
- package/dist/features/about/components/PolicyPageView.js +3 -3
- package/dist/features/about/components/PublicProfileView.js +11 -4
- package/dist/features/about/components/SecurityPrivacyView.js +8 -4
- package/dist/features/about/components/ShippingPolicyView.js +3 -2
- package/dist/features/about/components/TrackOrderView.js +2 -2
- package/dist/features/about/components/UnauthorizedView.js +3 -3
- package/dist/features/account/components/AddressBook.js +1 -1
- package/dist/features/account/components/AddressForm.js +2 -2
- package/dist/features/account/components/AddressInlineSelect.d.ts +24 -0
- package/dist/features/account/components/AddressInlineSelect.js +78 -0
- package/dist/features/account/components/AddressSelectorCreate.d.ts +2 -1
- package/dist/features/account/components/AddressSelectorCreate.js +5 -32
- package/dist/features/account/components/AddressesIndexListing.js +3 -3
- package/dist/features/account/components/ChatWindow.js +2 -1
- package/dist/features/account/components/NotificationBell.js +13 -7
- package/dist/features/account/components/NotificationPreferencesPanel.js +4 -1
- package/dist/features/account/components/UserOffersPanel.js +2 -1
- package/dist/features/account/components/UserSidebar.js +11 -7
- package/dist/features/account/components/UserSupportView.js +13 -4
- package/dist/features/account/components/index.d.ts +2 -0
- package/dist/features/account/components/index.js +1 -0
- package/dist/features/addresses/repository/addresses.repository.d.ts +1 -0
- package/dist/features/addresses/repository/addresses.repository.js +13 -0
- package/dist/features/admin/components/AdminAdEditorView.js +8 -5
- package/dist/features/admin/components/AdminAddressEditorView.js +5 -5
- package/dist/features/admin/components/AdminAdsView.js +10 -7
- package/dist/features/admin/components/AdminAllEventEntriesView.js +5 -3
- package/dist/features/admin/components/AdminBidsView.js +6 -4
- package/dist/features/admin/components/AdminBlogEditorView.js +15 -9
- package/dist/features/admin/components/AdminBlogView.js +6 -4
- package/dist/features/admin/components/AdminBrandEditorView.js +10 -4
- package/dist/features/admin/components/AdminBrandsView.js +12 -10
- package/dist/features/admin/components/AdminBundleEditorView.js +4 -5
- package/dist/features/admin/components/AdminBundlesView.js +13 -11
- package/dist/features/admin/components/AdminCarouselEditorView.js +6 -3
- package/dist/features/admin/components/AdminCarouselView.js +6 -6
- package/dist/features/admin/components/AdminCartsView.js +6 -4
- package/dist/features/admin/components/AdminCatalogGuideView.js +2 -1
- package/dist/features/admin/components/AdminCategoriesView.js +12 -10
- package/dist/features/admin/components/AdminCategoryEditorView.js +11 -5
- package/dist/features/admin/components/AdminClassifiedView.js +4 -3
- package/dist/features/admin/components/AdminContactEditorView.js +8 -1
- package/dist/features/admin/components/AdminContactView.js +6 -4
- package/dist/features/admin/components/AdminCouponEditorView.js +23 -5
- package/dist/features/admin/components/AdminCouponsView.js +6 -4
- package/dist/features/admin/components/AdminDigitalCodesView.js +4 -3
- package/dist/features/admin/components/AdminEmployeeEditorView.js +7 -4
- package/dist/features/admin/components/AdminFaqEditorView.js +9 -3
- package/dist/features/admin/components/AdminFaqsView.js +9 -7
- package/dist/features/admin/components/AdminFeatureEditorView.js +7 -1
- package/dist/features/admin/components/AdminFeatureFlagsView.js +4 -1
- package/dist/features/admin/components/AdminFeaturesView.js +5 -4
- package/dist/features/admin/components/AdminFilterBar.js +4 -4
- package/dist/features/admin/components/AdminGroupedListingsView.js +66 -30
- package/dist/features/admin/components/AdminGuideHubView.js +4 -1
- package/dist/features/admin/components/AdminHistoryView.js +4 -3
- package/dist/features/admin/components/AdminLiveView.js +4 -3
- package/dist/features/admin/components/AdminMediaView.js +4 -1
- package/dist/features/admin/components/AdminNavigationView.js +7 -4
- package/dist/features/admin/components/AdminNewsletterView.js +5 -3
- package/dist/features/admin/components/AdminNotificationsView.js +8 -6
- package/dist/features/admin/components/AdminOrderEditorView.js +2 -2
- package/dist/features/admin/components/AdminOrdersView.js +6 -4
- package/dist/features/admin/components/AdminPageHeader.js +5 -2
- package/dist/features/admin/components/AdminPayoutsView.js +7 -5
- package/dist/features/admin/components/AdminPrizeDrawsView.js +11 -9
- package/dist/features/admin/components/AdminProductEditorView.js +12 -5
- package/dist/features/admin/components/AdminProductsView.js +11 -9
- package/dist/features/admin/components/AdminReturnRequestsView.js +4 -3
- package/dist/features/admin/components/AdminReviewsView.js +10 -8
- package/dist/features/admin/components/AdminScammerEditorView.js +6 -2
- package/dist/features/admin/components/AdminScammersView.js +11 -9
- package/dist/features/admin/components/AdminSectionsView.js +20 -22
- package/dist/features/admin/components/AdminSessionsManager.js +2 -1
- package/dist/features/admin/components/AdminSessionsView.js +8 -6
- package/dist/features/admin/components/AdminSidebar.js +11 -7
- package/dist/features/admin/components/AdminSiteConfigGuideView.js +2 -1
- package/dist/features/admin/components/AdminSiteSettingsView.js +5 -1
- package/dist/features/admin/components/AdminStoreAddressesView.js +4 -3
- package/dist/features/admin/components/AdminStoreEditorView.js +5 -5
- package/dist/features/admin/components/AdminStoresView.js +6 -4
- package/dist/features/admin/components/AdminSublistingCategoriesView.js +6 -5
- package/dist/features/admin/components/AdminSublistingCategoryEditorView.js +3 -3
- package/dist/features/admin/components/AdminSupportTicketDetailView.js +10 -3
- package/dist/features/admin/components/AdminSupportTicketsView.js +11 -9
- package/dist/features/admin/components/AdminTeamView.js +6 -4
- package/dist/features/admin/components/AdminTrustGuideView.js +3 -3
- package/dist/features/admin/components/AdminUsersGuideView.js +3 -3
- package/dist/features/admin/components/AdminUsersView.js +6 -4
- package/dist/features/admin/components/AdminViewCards.js +12 -6
- package/dist/features/admin/components/AdminWishlistsView.js +4 -3
- package/dist/features/admin/components/BrandQuickCreateForm.js +2 -2
- package/dist/features/admin/components/CategoryQuickCreateForm.js +2 -2
- package/dist/features/admin/components/DashboardStats.js +9 -3
- package/dist/features/admin/components/DataListingView.js +3 -3
- package/dist/features/admin/components/DataTable.js +11 -7
- package/dist/features/admin/components/DrawerFormFooter.js +2 -2
- package/dist/features/admin/components/QuickEditMenu.js +2 -1
- package/dist/features/admin/components/analytics/AdminAnalyticsCharts.js +5 -1
- package/dist/features/admin/constants/filter-tabs.d.ts +1 -1
- package/dist/features/admin/constants/filter-tabs.js +0 -11
- package/dist/features/admin/types/index.d.ts +1 -1
- package/dist/features/auctions/actions/bid-actions.js +4 -2
- package/dist/features/auctions/components/AuctionBidsTable.js +4 -1
- package/dist/features/auctions/components/AuctionDetailPageView.js +14 -6
- package/dist/features/auctions/components/AuctionsListView.js +7 -6
- package/dist/features/auctions/components/CollapsibleBidHistory.js +5 -1
- package/dist/features/auctions/components/MarketplaceAuctionCard.js +9 -3
- package/dist/features/auctions/components/MarketplaceAuctionGrid.js +8 -2
- package/dist/features/auctions/components/PlaceBidFormClient.js +4 -1
- package/dist/features/auth/components/RegisterForm.js +2 -2
- package/dist/features/auth/components/VerifyEmailView.js +5 -2
- package/dist/features/before-after/components/BeforeAfterSlider.js +1 -1
- package/dist/features/blog/actions/blog-actions.js +3 -2
- package/dist/features/blog/components/BlogFeaturedCard.js +8 -1
- package/dist/features/blog/components/BlogIndexListing.js +11 -5
- package/dist/features/blog/components/BlogListView.js +11 -3
- package/dist/features/blog/components/BlogPostView.js +10 -3
- package/dist/features/cart/components/CartDrawer.js +11 -3
- package/dist/features/cart/components/CartSummary.js +2 -2
- package/dist/features/cart/components/CheckoutOtpModal.js +2 -1
- package/dist/features/categories/components/BrandDetailPageView.js +15 -10
- package/dist/features/categories/components/BrandDetailTabs.js +5 -1
- package/dist/features/categories/components/BundleDetailView.js +6 -3
- package/dist/features/categories/components/BundleDynamicRuleEditor.js +3 -1
- package/dist/features/categories/components/BundleItemsPicker.js +10 -3
- package/dist/features/categories/components/CategoriesIndexListing.js +13 -7
- package/dist/features/categories/components/CategoriesIndexPageView.js +5 -4
- package/dist/features/categories/components/CategoryBundlesListing.js +10 -6
- package/dist/features/categories/components/CategoryDetailPageView.js +18 -12
- package/dist/features/categories/components/CategoryDetailTabs.js +5 -1
- package/dist/features/categories/components/CategoryFilters.d.ts +12 -12
- package/dist/features/categories/components/CategoryFilters.js +13 -12
- package/dist/features/categories/components/CategoryForm.js +6 -3
- package/dist/features/categories/components/CategoryGrid.js +9 -2
- package/dist/features/categories/components/CategoryProductsListing.js +10 -4
- package/dist/features/categories/components/CategorySelectorCreate.js +3 -3
- package/dist/features/categories/components/CategorySortSelect.js +1 -1
- package/dist/features/categories/components/CategoryStoresListing.js +3 -3
- package/dist/features/categories/components/CategoryTableColumns.js +10 -6
- package/dist/features/categories/components/CategoryTree.d.ts +1 -1
- package/dist/features/categories/components/CategoryTree.js +2 -2
- package/dist/features/categories/schemas/firestore.d.ts +2 -2
- package/dist/features/checkout/actions/checkout-actions.d.ts +1 -1
- package/dist/features/checkout/actions/checkout-actions.js +1 -1
- package/dist/features/classified/components/ClassifiedFilters.js +2 -2
- package/dist/features/classified/components/ClassifiedIndexListing.js +9 -3
- package/dist/features/classified/components/ClassifiedListView.js +6 -5
- package/dist/features/collections/components/CollectionCard.js +2 -1
- package/dist/features/contact/components/ContactForm.js +4 -2
- package/dist/features/contact/components/ContactInfoSidebar.js +4 -1
- package/dist/features/copilot/components/AdminCopilotView.js +13 -5
- package/dist/features/cron/jobs/auction-expiry.job.d.ts +2 -2
- package/dist/features/cron/jobs/auction-expiry.job.js +2 -1
- package/dist/features/cron/jobs/preorder-reminder.job.d.ts +1 -1
- package/dist/features/cron/jobs/preorder-reminder.job.js +2 -1
- package/dist/features/digital-codes/components/DigitalCodesIndexListing.js +9 -3
- package/dist/features/digital-codes/components/DigitalCodesListView.js +4 -3
- package/dist/features/events/actions/event-actions.js +6 -4
- package/dist/features/events/components/AdminEventEditorView.js +63 -41
- package/dist/features/events/components/AdminEventEntriesView.js +9 -6
- package/dist/features/events/components/AdminEventsView.js +7 -5
- package/dist/features/events/components/EventCard.js +7 -1
- package/dist/features/events/components/EventFilters.d.ts +4 -4
- package/dist/features/events/components/EventFilters.js +2 -2
- package/dist/features/events/components/EventFormDrawer.js +2 -1
- package/dist/features/events/components/EventLeaderboard.js +4 -4
- package/dist/features/events/components/EventOfferCard.js +4 -1
- package/dist/features/events/components/EventParticipateView.js +3 -2
- package/dist/features/events/components/EventPollWidget.js +6 -5
- package/dist/features/events/components/EventRaffleEntryForm.js +5 -2
- package/dist/features/events/components/EventRaffleWinnerView.js +7 -1
- package/dist/features/events/components/EventRafflesSection.js +6 -4
- package/dist/features/events/components/EventSaleBanner.js +5 -2
- package/dist/features/events/components/EventsIndexListing.js +8 -2
- package/dist/features/events/components/EventsListView.js +4 -1
- package/dist/features/events/components/SpinWheelView.js +7 -2
- package/dist/features/events/schemas/firestore.d.ts +1 -0
- package/dist/features/events/types/index.d.ts +1 -0
- package/dist/features/faq/actions/faq-actions.js +4 -2
- package/dist/features/faq/components/ContactCTA.js +4 -1
- package/dist/features/faq/components/FAQCategorySidebar.js +2 -2
- package/dist/features/faq/components/FAQHelpfulButtons.js +8 -5
- package/dist/features/faq/components/FAQPageContent.js +7 -6
- package/dist/features/faq/components/FAQSortDropdown.js +2 -2
- package/dist/features/filters/AsyncFacetSection.js +4 -2
- package/dist/features/filters/FilterFacetSection.js +14 -6
- package/dist/features/filters/RangeFilter.js +4 -2
- package/dist/features/filters/SwitchFilter.js +2 -1
- package/dist/features/forms/Checkbox.js +1 -1
- package/dist/features/forms/Radio.js +1 -1
- package/dist/features/forms/Slider.js +1 -1
- package/dist/features/homepage/components/AdSlot.js +4 -4
- package/dist/features/homepage/components/AdvertisementBanner.js +13 -4
- package/dist/features/homepage/components/AnnouncementBar.js +2 -1
- package/dist/features/homepage/components/BeforeAfterCard.js +8 -2
- package/dist/features/homepage/components/BrandsSection.js +6 -3
- package/dist/features/homepage/components/CTABannerSection.js +2 -2
- package/dist/features/homepage/components/CharacterHotspot.js +5 -2
- package/dist/features/homepage/components/CharacterHotspotForm.js +8 -4
- package/dist/features/homepage/components/CustomCardsSection.js +13 -7
- package/dist/features/homepage/components/CustomerReviewsSection.js +9 -3
- package/dist/features/homepage/components/FAQSection.js +7 -4
- package/dist/features/homepage/components/FeaturedBundlesSection.js +8 -2
- package/dist/features/homepage/components/FeaturedResultsSection.js +1 -1
- package/dist/features/homepage/components/GoogleReviewsSection.js +14 -8
- package/dist/features/homepage/components/HeroCarousel.js +1 -1
- package/dist/features/homepage/components/HomepageSkeleton.js +7 -1
- package/dist/features/homepage/components/HowItWorksInfoView.js +2 -2
- package/dist/features/homepage/components/HowItWorksSection.js +2 -2
- package/dist/features/homepage/components/MarketplaceHomepageView.js +4 -2
- package/dist/features/homepage/components/NewsletterBanner.js +3 -2
- package/dist/features/homepage/components/NewsletterSection.js +5 -2
- package/dist/features/homepage/components/PromoGrid.js +4 -1
- package/dist/features/homepage/components/SectionCarousel.js +7 -4
- package/dist/features/homepage/components/SecurityHighlightsSection.js +3 -3
- package/dist/features/homepage/components/ShopByCategorySection.js +10 -4
- package/dist/features/homepage/components/SiteFeaturesSection.js +5 -2
- package/dist/features/homepage/components/SocialFeedSection.js +4 -4
- package/dist/features/homepage/components/SocialPostCard.js +6 -3
- package/dist/features/homepage/components/TrustFeaturesSection.js +5 -5
- package/dist/features/homepage/components/TrustIndicatorsSection.js +5 -2
- package/dist/features/homepage/components/WelcomeSection.js +1 -1
- package/dist/features/homepage/components/WhatsAppCommunitySection.js +3 -3
- package/dist/features/layout/AppLayoutShell.js +2 -1
- package/dist/features/layout/BackToTop.js +1 -1
- package/dist/features/layout/BottomActions.js +4 -30
- package/dist/features/layout/BottomActionsContext.d.ts +0 -36
- package/dist/features/layout/BottomActionsContext.js +0 -36
- package/dist/features/layout/BottomNavItem.js +1 -1
- package/dist/features/layout/BottomSheet.js +4 -1
- package/dist/features/layout/FooterLayout.js +1 -1
- package/dist/features/layout/NavbarLayout.js +4 -1
- package/dist/features/layout/SidebarLayout.js +5 -2
- package/dist/features/live/components/LiveItemFilters.js +2 -2
- package/dist/features/live/components/LiveItemsIndexListing.js +9 -3
- package/dist/features/live/components/LiveItemsListView.js +6 -5
- package/dist/features/loyalty/components/CoinsDisplay.js +4 -2
- package/dist/features/media/AvatarUpload.js +2 -2
- package/dist/features/media/MediaLightbox.js +3 -2
- package/dist/features/media/modals/VideoThumbnailSelector.js +4 -1
- package/dist/features/media/modals/VideoTrimModal.js +1 -1
- package/dist/features/media/upload/CameraCapture.js +1 -1
- package/dist/features/media/upload/ImageUpload.js +4 -1
- package/dist/features/media/upload/MediaUploadField.js +11 -2
- package/dist/features/media/upload/MediaUploadList.js +5 -1
- package/dist/features/orders/components/MarketplaceOrderCard.js +2 -2
- package/dist/features/orders/components/OrdersList.js +2 -1
- package/dist/features/orders/components/RefundHistoryTable.js +4 -1
- package/dist/features/orders/components/RefundRequestView.js +2 -1
- package/dist/features/pre-orders/components/MarketplacePreorderCard.js +5 -1
- package/dist/features/pre-orders/components/PreOrderActionsClient.js +3 -3
- package/dist/features/pre-orders/components/PreOrderBadge.js +2 -1
- package/dist/features/pre-orders/components/PreOrderDetailPageView.js +16 -7
- package/dist/features/pre-orders/components/PreOrdersIndexListing.js +32 -24
- package/dist/features/pre-orders/components/PreOrdersListView.js +5 -4
- package/dist/features/products/actions/product-actions.js +17 -15
- package/dist/features/products/columns/index.d.ts +1 -1
- package/dist/features/products/columns/index.js +1 -1
- package/dist/features/products/columns/productTableColumns.js +9 -4
- package/dist/features/products/components/AuctionsIndexListing.js +9 -3
- package/dist/features/products/components/BidHistory.js +4 -4
- package/dist/features/products/components/CompareOverlay.js +10 -2
- package/dist/features/products/components/CustomFieldsEditor.js +2 -1
- package/dist/features/products/components/CustomSectionTabContent.js +2 -2
- package/dist/features/products/components/CustomSectionsEditor.js +3 -2
- package/dist/features/products/components/GroupSettingsPanel.js +34 -26
- package/dist/features/products/components/MakeOfferButton.js +6 -2
- package/dist/features/products/components/MakeOfferForm.js +2 -1
- package/dist/features/products/components/MarketplaceBundleCard.js +6 -3
- package/dist/features/products/components/MarketplacePrizeDrawCard.js +3 -2
- package/dist/features/products/components/PlaceBidForm.js +2 -1
- package/dist/features/products/components/PrizeDrawCollage.js +6 -16
- package/dist/features/products/components/PrizeDrawDetailPageView.js +6 -1
- package/dist/features/products/components/PrizeDrawItemsEditor.js +4 -2
- package/dist/features/products/components/PrizeDrawsIndexListing.js +6 -3
- package/dist/features/products/components/PrizeDrawsListingView.js +5 -4
- package/dist/features/products/components/PrizeDrawsSection.js +6 -4
- package/dist/features/products/components/PrizeRevealModal.js +5 -1
- package/dist/features/products/components/ProductDetailPageView.js +32 -16
- package/dist/features/products/components/ProductFeatureBadges.js +9 -9
- package/dist/features/products/components/ProductForm.d.ts +11 -1
- package/dist/features/products/components/ProductForm.js +10 -5
- package/dist/features/products/components/ProductGalleryClient.js +8 -4
- package/dist/features/products/components/ProductGradingTab.js +4 -1
- package/dist/features/products/components/ProductGrid.js +35 -14
- package/dist/features/products/components/ProductInfo.js +2 -1
- package/dist/features/products/components/ProductTabs.js +2 -1
- package/dist/features/products/components/ProductTabsShell.js +5 -1
- package/dist/features/products/components/ProductsIndexListing.js +32 -24
- package/dist/features/products/components/ProductsIndexPageView.js +2 -2
- package/dist/features/products/components/RelatedProducts.js +3 -3
- package/dist/features/products/components/ShowGroupSection.js +10 -6
- package/dist/features/products/components/SublistingCarouselSection.js +7 -3
- package/dist/features/products/components/SublistingCategorySelect.d.ts +3 -1
- package/dist/features/products/components/SublistingCategorySelect.js +4 -37
- package/dist/features/products/constants/action-defs.js +3 -3
- package/dist/features/products/constants/sieve.d.ts +2 -2
- package/dist/features/products/constants/sieve.js +2 -2
- package/dist/features/products/hooks/useRelatedProducts.js +5 -4
- package/dist/features/promotions/components/CouponCard.js +5 -3
- package/dist/features/promotions/components/CouponsIndexListing.js +7 -3
- package/dist/features/promotions/repository/coupons.repository.d.ts +8 -0
- package/dist/features/promotions/repository/coupons.repository.js +2 -0
- package/dist/features/reviews/actions/review-actions.js +2 -1
- package/dist/features/reviews/components/ReviewDetailPageView.js +3 -3
- package/dist/features/reviews/components/ReviewDetailShell.js +15 -3
- package/dist/features/reviews/components/ReviewSummary.js +4 -2
- package/dist/features/reviews/components/ReviewsIndexListing.js +8 -2
- package/dist/features/reviews/components/ReviewsIndexPageView.js +7 -6
- package/dist/features/reviews/components/ReviewsList.js +1 -1
- package/dist/features/scams/actions/scam-actions.js +3 -2
- package/dist/features/scams/components/ScamAwarenessModal.js +2 -2
- package/dist/features/scams/components/ScamProfileView.js +3 -3
- package/dist/features/scams/components/ScamRegistryView.js +11 -8
- package/dist/features/search/actions/search-actions.js +7 -6
- package/dist/features/search/components/Search.js +9 -6
- package/dist/features/search/components/SearchFiltersRow.js +1 -1
- package/dist/features/search/components/SearchResultsSection.js +1 -1
- package/dist/features/seller/components/CouponInlineSelect.d.ts +22 -0
- package/dist/features/seller/components/CouponInlineSelect.js +104 -0
- package/dist/features/seller/components/GroupInlineSelect.d.ts +23 -0
- package/dist/features/seller/components/GroupInlineSelect.js +80 -0
- package/dist/features/seller/components/PhysicalLocationModal.js +2 -1
- package/dist/features/seller/components/PrintCenterView.js +2 -1
- package/dist/features/seller/components/ProductInlineSelect.d.ts +24 -0
- package/dist/features/seller/components/ProductInlineSelect.js +42 -0
- package/dist/features/seller/components/QuickProductForm.js +4 -1
- package/dist/features/seller/components/SellerAddressesView.js +8 -3
- package/dist/features/seller/components/SellerAnalyticsAlertsView.js +6 -3
- package/dist/features/seller/components/SellerAnalyticsView.js +2 -2
- package/dist/features/seller/components/SellerAuctionsView.js +7 -5
- package/dist/features/seller/components/SellerBidsView.js +12 -10
- package/dist/features/seller/components/SellerBundlesView.js +9 -7
- package/dist/features/seller/components/SellerClassifiedView.js +6 -5
- package/dist/features/seller/components/SellerCouponEditorView.d.ts +2 -0
- package/dist/features/seller/components/SellerCouponEditorView.js +15 -3
- package/dist/features/seller/components/SellerCouponsView.js +7 -5
- package/dist/features/seller/components/SellerDashboardView.js +2 -2
- package/dist/features/seller/components/SellerDigitalCodesView.js +7 -6
- package/dist/features/seller/components/SellerGoogleReviewsView.js +2 -2
- package/dist/features/seller/components/SellerGroupedListingsView.js +10 -9
- package/dist/features/seller/components/SellerLiveView.js +6 -5
- package/dist/features/seller/components/SellerOffersView.js +6 -4
- package/dist/features/seller/components/SellerOrdersView.js +18 -13
- package/dist/features/seller/components/SellerPayoutMethodsView.js +8 -6
- package/dist/features/seller/components/SellerPayoutRequestView.js +5 -1
- package/dist/features/seller/components/SellerPayoutSettingsView.js +5 -2
- package/dist/features/seller/components/SellerPayoutsView.js +6 -4
- package/dist/features/seller/components/SellerPreOrdersView.js +12 -10
- package/dist/features/seller/components/SellerPrizeDrawsView.js +12 -10
- package/dist/features/seller/components/SellerProductShell.js +1 -1
- package/dist/features/seller/components/SellerProductsCards.js +4 -1
- package/dist/features/seller/components/SellerProductsView.js +14 -12
- package/dist/features/seller/components/SellerReviewsView.js +7 -3
- package/dist/features/seller/components/SellerShippingConfigsView.js +7 -6
- package/dist/features/seller/components/SellerShippingView.js +1 -1
- package/dist/features/seller/components/SellerSidebar.js +15 -8
- package/dist/features/seller/components/SellerStoreCategoriesView.js +5 -4
- package/dist/features/seller/components/SellerStorefrontView.js +2 -2
- package/dist/features/seller/components/SellerTemplatesView.js +11 -7
- package/dist/features/seller/components/SublistingInlineSelect.d.ts +19 -0
- package/dist/features/seller/components/SublistingInlineSelect.js +84 -0
- package/dist/features/seller/components/analytics/SellerTopProducts.js +1 -1
- package/dist/features/seller/components/index.d.ts +8 -0
- package/dist/features/seller/components/index.js +4 -0
- package/dist/features/shell/FormShell.js +10 -2
- package/dist/features/shell/QuickFormDrawer.js +5 -5
- package/dist/features/shell/StepForm.js +6 -6
- package/dist/features/site-settings/components/ActionPermissionsManager.js +8 -4
- package/dist/features/site-settings/components/NavPermissionsManager.js +7 -4
- package/dist/features/stores/actions/store-query-actions.js +3 -2
- package/dist/features/stores/components/InteractiveStoreCard.js +5 -1
- package/dist/features/stores/components/StoreAboutView.js +4 -1
- package/dist/features/stores/components/StoreAddressSelectorCreate.d.ts +2 -1
- package/dist/features/stores/components/StoreAddressSelectorCreate.js +5 -31
- package/dist/features/stores/components/StoreAuctionsListing.js +6 -3
- package/dist/features/stores/components/StoreAuctionsPageView.js +4 -2
- package/dist/features/stores/components/StoreDetailLayoutView.d.ts +1 -1
- package/dist/features/stores/components/StoreDetailLayoutView.js +7 -6
- package/dist/features/stores/components/StoreGuideHubView.js +5 -2
- package/dist/features/stores/components/StoreHeader.js +8 -1
- package/dist/features/stores/components/StorePreOrdersListing.js +6 -3
- package/dist/features/stores/components/StorePreOrdersPageView.js +4 -2
- package/dist/features/stores/components/StorePrizeDrawsPageView.js +4 -2
- package/dist/features/stores/components/StoreProductsListing.js +6 -3
- package/dist/features/stores/components/StoreProductsPageView.js +2 -1
- package/dist/features/stores/components/StoreProductsView.js +5 -4
- package/dist/features/stores/components/StoreReviewsListing.js +8 -2
- package/dist/features/stores/components/StoresIndexListing.js +16 -9
- package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +7 -1
- package/dist/features/whatsapp-bot/components/WhatsAppChatButton.js +2 -1
- package/dist/features/wishlist/components/WishlistPage.js +2 -1
- package/dist/features/wishlist/components/WishlistView.js +4 -3
- package/dist/index.d.ts +10 -0
- package/dist/index.js +13 -1
- package/dist/next/components/GlobalError.js +2 -2
- package/dist/next/routing/route-map.d.ts +2 -0
- package/dist/next/routing/route-map.js +1 -0
- package/dist/react/ErrorBoundary.js +2 -2
- package/dist/styles.css +2 -1
- package/dist/tailwind-utilities.css +1 -1
- package/dist/ui/DataTable.js +17 -16
- package/dist/ui/components/DateInput.js +2 -2
- package/dist/ui/components/DetailPageGallery.js +4 -1
- package/dist/ui/components/DetailPageTabs.js +6 -2
- package/dist/ui/components/ImageLightbox.js +5 -3
- package/dist/ui/components/Input.js +6 -3
- package/dist/ui/components/Layout.d.ts +4 -0
- package/dist/ui/components/Layout.js +1 -1
- package/dist/ui/components/Layout.style.css +1 -0
- package/dist/ui/components/ListingFilterDrawer.js +4 -1
- package/dist/ui/components/ListingLayout.js +9 -8
- package/dist/ui/components/ListingToolbar.js +5 -1
- package/dist/ui/components/PaginatedSelect.d.ts +1 -2
- package/dist/ui/components/PaginatedSelect.js +1 -2
- package/dist/ui/components/Radio.js +1 -1
- package/dist/ui/components/Select.js +2 -1
- package/dist/ui/components/Slider.js +1 -1
- package/dist/ui/components/VacationBanner.js +2 -1
- package/dist/ui/components/surface-tokens.d.ts +1 -0
- package/dist/ui/components/surface-tokens.js +1 -0
- package/package.json +11 -2
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ROUTES } from "../../../constants";
|
|
3
3
|
import { THEME_CONSTANTS } from "../../../tokens";
|
|
4
|
-
import { Heading, Text, Section, Stack, Alert } from "../../../ui";
|
|
4
|
+
import { Div, Heading, Text, Section, Stack, Alert } from "../../../ui";
|
|
5
5
|
import { TextLink } from "../../../ui";
|
|
6
6
|
import { BookOpen, MessageCircle, ShoppingBag, Gavel, PackageCheck, UserCheck, Store, ChevronRight, } from "lucide-react";
|
|
7
|
+
const __P = {
|
|
8
|
+
p6: "p-6",
|
|
9
|
+
p8: "p-8",
|
|
10
|
+
};
|
|
7
11
|
const DEFAULT_HERO_CLASS = "bg-gradient-to-br from-violet-700 to-indigo-700 dark:from-violet-800 dark:to-indigo-800";
|
|
8
12
|
export async function HelpPageView({ heroBannerClass = DEFAULT_HERO_CLASS, } = {}) {
|
|
9
13
|
const { themed, flex, page } = THEME_CONSTANTS;
|
|
@@ -59,17 +63,17 @@ export async function HelpPageView({ heroBannerClass = DEFAULT_HERO_CLASS, } = {
|
|
|
59
63
|
iconColor: "text-rose-600 dark:text-rose-400",
|
|
60
64
|
},
|
|
61
65
|
];
|
|
62
|
-
return (_jsxs(
|
|
66
|
+
return (_jsxs(Div, { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", children: [_jsx(Section, { className: `${heroBannerClass} text-white py-14 md:py-16 lg:py-20`, children: _jsxs(Div, { className: `${page.container.md} text-center`, children: [_jsx(Heading, { level: 1, variant: "none", className: "mb-4 text-white", children: t("title") }), _jsx(Text, { variant: "none", className: "text-white/80 max-w-2xl mx-auto", children: t("subtitle") })] }) }), _jsxs(Div, { className: `${page.container.md} py-10 md:py-12 lg:py-16 space-y-14`, children: [renderTopicsGrid(t, flex, TOPICS), renderScamAwarenessAlert(t), renderTrackOrderSection(t, themed), renderContactCtaSection(t, themed)] })] }));
|
|
63
67
|
}
|
|
64
68
|
function renderTopicsGrid(t, flex, topics) {
|
|
65
|
-
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-6 text-center", children: t("browseTopics") }), _jsx(
|
|
69
|
+
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-6 text-center", children: t("browseTopics") }), _jsx(Div, { className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-3", children: topics.map(({ icon: Icon, title, desc, href, color, iconColor }) => (_jsxs(TextLink, { href: href, className: `group rounded-xl border p-5 transition-shadow hover:shadow-md ${color} no-underline`, children: [_jsx(Div, { className: `w-10 h-10 rounded-lg bg-white/60 dark:bg-white/10 ${flex.center} mb-3`, children: _jsx(Icon, { className: `w-5 h-5 ${iconColor}` }) }), _jsxs(Div, { className: `${flex.row} justify-between items-start`, children: [_jsxs(Div, { children: [_jsx(Text, { className: "font-semibold mb-1", children: title }), _jsx(Text, { variant: "secondary", className: "text-sm leading-relaxed", children: desc })] }), _jsx(ChevronRight, { className: "w-4 h-4 mt-1 flex-shrink-0 opacity-40 group-hover:opacity-80 transition-opacity" })] })] }, href))) })] }));
|
|
66
70
|
}
|
|
67
71
|
function renderScamAwarenessAlert(t) {
|
|
68
72
|
return (_jsxs(Alert, { variant: "warning", title: t("scamAwarenessTitle"), children: [t("scamAwarenessText"), " ", _jsx(TextLink, { href: String(ROUTES.PUBLIC.SCAMS), className: "font-semibold underline", children: t("scamAwarenessCta") })] }));
|
|
69
73
|
}
|
|
70
74
|
function renderTrackOrderSection(t, themed) {
|
|
71
|
-
return (_jsxs(Section, { className: `rounded-2xl
|
|
75
|
+
return (_jsxs(Section, { className: `rounded-2xl ${__P.p6} border ${themed.border} ${themed.bgSecondary} flex flex-col sm:flex-row items-center gap-4`, children: [_jsxs(Div, { className: "flex-1", children: [_jsx(Heading, { level: 3, className: "mb-1 text-base", children: t("trackOrderTitle") }), _jsx(Text, { variant: "secondary", className: "text-sm", children: t("trackOrderText") })] }), _jsx(TextLink, { href: String(ROUTES.PUBLIC.TRACK_ORDER), className: "flex-shrink-0", children: t("trackOrderCta") })] }));
|
|
72
76
|
}
|
|
73
77
|
function renderContactCtaSection(t, themed) {
|
|
74
|
-
return (_jsxs(Section, { className: `rounded-2xl
|
|
78
|
+
return (_jsxs(Section, { className: `rounded-2xl ${__P.p8} text-center border ${themed.border} ${themed.bgSecondary}`, children: [_jsx(MessageCircle, { className: "w-10 h-10 mx-auto mb-3 text-primary/70" }), _jsx(Heading, { level: 2, className: "mb-3", children: t("contactTitle") }), _jsx(Text, { variant: "secondary", className: "mb-6 max-w-lg mx-auto", children: t("contactText") }), _jsxs(Stack, { gap: "sm", className: "flex-row flex-wrap justify-center gap-4", children: [_jsx(TextLink, { href: String(ROUTES.PUBLIC.CONTACT), children: t("contactCta") }), _jsx(TextLink, { href: String(ROUTES.PUBLIC.FAQS), variant: "muted", children: t("faqCta") })] })] }));
|
|
75
79
|
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ROUTES } from "../../../constants";
|
|
3
3
|
import { THEME_CONSTANTS } from "../../../tokens";
|
|
4
|
-
import { Heading, Text, Section, Stack, FlowDiagram } from "../../../ui";
|
|
4
|
+
import { Div, Heading, Text, Section, Stack, FlowDiagram } from "../../../ui";
|
|
5
5
|
import { TextLink } from "../../../ui";
|
|
6
6
|
import { Gavel, Clock, Trophy, CreditCard } from "lucide-react";
|
|
7
|
+
const __P = {
|
|
8
|
+
p5: "p-5",
|
|
9
|
+
p8: "p-8",
|
|
10
|
+
};
|
|
7
11
|
const DEFAULT_HERO_CLASS = "bg-gradient-to-br from-violet-700 to-indigo-700 dark:from-violet-800 dark:to-indigo-800";
|
|
8
12
|
export async function HowAuctionsWorkView({ heroBannerClass = DEFAULT_HERO_CLASS, } = {}) {
|
|
9
13
|
const { themed, flex, page } = THEME_CONSTANTS;
|
|
@@ -83,14 +87,14 @@ export async function HowAuctionsWorkView({ heroBannerClass = DEFAULT_HERO_CLASS
|
|
|
83
87
|
desc: t("diagramStep5Desc"),
|
|
84
88
|
},
|
|
85
89
|
];
|
|
86
|
-
return (_jsxs(
|
|
90
|
+
return (_jsxs(Div, { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", children: [_jsx(Section, { className: `${heroBannerClass} text-white py-14 md:py-16 lg:py-20`, children: _jsxs(Div, { className: `${page.container.md} text-center`, children: [_jsx(Heading, { level: 1, variant: "none", className: "mb-4 text-white", children: t("title") }), _jsx(Text, { variant: "none", className: "text-white/80 max-w-2xl mx-auto", children: t("subtitle") })] }) }), _jsxs(Div, { className: `${page.container.md} py-10 md:py-12 lg:py-16 space-y-14`, children: [renderAuctionStepsSection(t, themed, flex, STEPS), _jsx(Section, { children: _jsx(FlowDiagram, { title: `🔨 ${t("diagramTitle")}`, titleClass: "text-primary", connectorClass: "bg-primary/20 dark:bg-primary/30", steps: DIAGRAM_STEPS, centered: true }) }), renderAuctionInfoCardsSection(flex, INFO_CARDS), renderAuctionCtaSection(t, themed, flex)] })] }));
|
|
87
91
|
}
|
|
88
92
|
function renderAuctionStepsSection(t, themed, flex, steps) {
|
|
89
|
-
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-8 text-center", children: t("stepsTitle") }), _jsx(Stack, { gap: "md", className: "gap-5", children: steps.map(({ number, icon, title, text }) => (_jsxs(
|
|
93
|
+
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-8 text-center", children: t("stepsTitle") }), _jsx(Stack, { gap: "md", className: "gap-5", children: steps.map(({ number, icon, title, text }) => (_jsxs(Div, { className: `flex items-start gap-4 ${__P.p5} rounded-xl border ${themed.border} ${themed.bgPrimary}`, children: [_jsx(Div, { className: `flex-shrink-0 w-10 h-10 rounded-full bg-primary/10 dark:bg-primary/15 ${flex.center} text-xl`, children: icon }), _jsxs(Div, { children: [_jsxs(Text, { className: "font-semibold mb-0.5", children: [number, ". ", title] }), _jsx(Text, { variant: "secondary", className: "text-sm leading-relaxed", children: text })] })] }, number))) })] }));
|
|
90
94
|
}
|
|
91
95
|
function renderAuctionInfoCardsSection(flex, cards) {
|
|
92
|
-
return (_jsx(Section, { children: _jsx(
|
|
96
|
+
return (_jsx(Section, { children: _jsx(Div, { className: "grid gap-5 md:grid-cols-2", children: cards.map(({ icon: Icon, title, text, color, iconColor }) => (_jsxs(Div, { className: `rounded-xl border ${__P.p5} ${color}`, children: [_jsx(Div, { className: `w-10 h-10 rounded-lg bg-white/60 dark:bg-white/10 ${flex.center} mb-3`, children: _jsx(Icon, { className: `w-5 h-5 ${iconColor}` }) }), _jsx(Text, { className: "font-semibold mb-1", children: title }), _jsx(Text, { variant: "secondary", className: "text-sm leading-relaxed", children: text })] }, title))) }) }));
|
|
93
97
|
}
|
|
94
98
|
function renderAuctionCtaSection(t, themed, flex) {
|
|
95
|
-
return (_jsxs(Section, { className: `rounded-2xl
|
|
99
|
+
return (_jsxs(Section, { className: `rounded-2xl ${__P.p8} text-center ${themed.bgSecondary} border ${themed.border}`, children: [_jsx(Heading, { level: 2, className: "mb-3", children: t("ctaTitle") }), _jsx(Text, { variant: "secondary", className: "mb-6 max-w-lg mx-auto", children: t("ctaText") }), _jsxs(Div, { className: `${flex.center} gap-4 flex-wrap`, children: [_jsx(TextLink, { href: String(ROUTES.PUBLIC.AUCTIONS), children: t("ctaBrowse") }), _jsx(TextLink, { href: String(ROUTES.PUBLIC.HOW_ORDERS_WORK), variant: "muted", children: t("ctaOrders") })] })] }));
|
|
96
100
|
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ROUTES } from "../../../constants";
|
|
3
3
|
import { THEME_CONSTANTS } from "../../../tokens";
|
|
4
|
-
import { Heading, Text, Section, Stack, FlowDiagram } from "../../../ui";
|
|
4
|
+
import { Div, Heading, Text, Section, Stack, FlowDiagram } from "../../../ui";
|
|
5
5
|
import { TextLink } from "../../../ui";
|
|
6
6
|
import { Smartphone, Banknote } from "lucide-react";
|
|
7
|
+
const __P = {
|
|
8
|
+
p5: "p-5",
|
|
9
|
+
p8: "p-8",
|
|
10
|
+
};
|
|
7
11
|
const DEFAULT_HERO_CLASS = "bg-gradient-to-br from-violet-700 to-indigo-700 dark:from-violet-800 dark:to-indigo-800";
|
|
8
12
|
export async function HowCheckoutWorksView({ heroBannerClass = DEFAULT_HERO_CLASS, } = {}) {
|
|
9
13
|
const { themed, flex, page } = THEME_CONSTANTS;
|
|
@@ -69,14 +73,14 @@ export async function HowCheckoutWorksView({ heroBannerClass = DEFAULT_HERO_CLAS
|
|
|
69
73
|
desc: t("diagramStep5Desc"),
|
|
70
74
|
},
|
|
71
75
|
];
|
|
72
|
-
return (_jsxs(
|
|
76
|
+
return (_jsxs(Div, { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", children: [_jsx(Section, { className: `${heroBannerClass} text-white py-14 md:py-16 lg:py-20`, children: _jsxs(Div, { className: `${page.container.md} text-center`, children: [_jsx(Heading, { level: 1, variant: "none", className: "mb-4 text-white", children: t("title") }), _jsx(Text, { variant: "none", className: "text-white/80 max-w-2xl mx-auto", children: t("subtitle") })] }) }), _jsxs(Div, { className: `${page.container.md} py-10 md:py-12 lg:py-16 space-y-14`, children: [renderCheckoutStepsSection(t, themed, flex, STEPS), _jsx(Section, { children: _jsx(FlowDiagram, { title: `🗺️ ${t("diagramTitle")}`, titleClass: "text-primary", connectorClass: "bg-primary/20 dark:bg-primary/30", steps: DIAGRAM_STEPS, centered: true }) }), renderPaymentMethodsSection(t, flex, PAYMENT_METHODS), renderCheckoutCtaSection(t, themed, flex)] })] }));
|
|
73
77
|
}
|
|
74
78
|
function renderCheckoutStepsSection(t, themed, flex, steps) {
|
|
75
|
-
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-8 text-center", children: t("stepsTitle") }), _jsx(Stack, { gap: "md", className: "gap-5", children: steps.map(({ number, icon, title, text }) => (_jsxs(
|
|
79
|
+
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-8 text-center", children: t("stepsTitle") }), _jsx(Stack, { gap: "md", className: "gap-5", children: steps.map(({ number, icon, title, text }) => (_jsxs(Div, { className: `flex items-start gap-4 ${__P.p5} rounded-xl border ${themed.border} ${themed.bgPrimary}`, children: [_jsx(Div, { className: `flex-shrink-0 w-10 h-10 rounded-full bg-primary/10 dark:bg-primary/15 ${flex.center}`, children: icon }), _jsxs(Div, { children: [_jsxs(Text, { className: "font-semibold mb-0.5", children: [number, ". ", title] }), _jsx(Text, { variant: "secondary", className: "text-sm leading-relaxed", children: text })] })] }, number))) })] }));
|
|
76
80
|
}
|
|
77
81
|
function renderPaymentMethodsSection(t, flex, methods) {
|
|
78
|
-
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-3 text-center", children: t("paymentMethodsTitle") }), _jsx(Text, { variant: "secondary", className: "text-center mb-8 max-w-xl mx-auto", children: t("paymentMethodsSubtitle") }), _jsx(
|
|
82
|
+
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-3 text-center", children: t("paymentMethodsTitle") }), _jsx(Text, { variant: "secondary", className: "text-center mb-8 max-w-xl mx-auto", children: t("paymentMethodsSubtitle") }), _jsx(Div, { className: "grid gap-5 md:grid-cols-3", children: methods.map(({ icon: Icon, title, text, color, iconColor }) => (_jsxs(Div, { className: `rounded-xl border ${__P.p5} ${color}`, children: [_jsx(Div, { className: `w-10 h-10 rounded-lg bg-white/60 dark:bg-white/10 ${flex.center} mb-3`, children: _jsx(Icon, { className: `w-5 h-5 ${iconColor}` }) }), _jsx(Text, { className: "font-semibold mb-1", children: title }), _jsx(Text, { variant: "secondary", className: "text-sm leading-relaxed", children: text })] }, title))) })] }));
|
|
79
83
|
}
|
|
80
84
|
function renderCheckoutCtaSection(t, themed, flex) {
|
|
81
|
-
return (_jsxs(Section, { className: `rounded-2xl
|
|
85
|
+
return (_jsxs(Section, { className: `rounded-2xl ${__P.p8} text-center ${themed.bgSecondary} border ${themed.border}`, children: [_jsx(Heading, { level: 2, className: "mb-3", children: t("ctaTitle") }), _jsx(Text, { variant: "secondary", className: "mb-6 max-w-lg mx-auto", children: t("ctaText") }), _jsxs(Div, { className: `${flex.center} gap-4 flex-wrap`, children: [_jsx(TextLink, { href: String(ROUTES.PUBLIC.PRODUCTS), children: t("ctaBrowse") }), _jsx(TextLink, { href: String(ROUTES.PUBLIC.HOW_ORDERS_WORK), variant: "muted", children: t("ctaOrders") })] })] }));
|
|
82
86
|
}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ROUTES } from "../../../constants";
|
|
3
3
|
import { THEME_CONSTANTS } from "../../../tokens";
|
|
4
|
-
import { Heading, Text, Section, Stack, FlowDiagram } from "../../../ui";
|
|
4
|
+
import { Div, Heading, Li, Span, Text, Section, Stack, Ul, FlowDiagram } from "../../../ui";
|
|
5
5
|
import { TextLink } from "../../../ui";
|
|
6
|
+
const __P = {
|
|
7
|
+
p5: "p-5",
|
|
8
|
+
p6: "p-6",
|
|
9
|
+
p8: "p-8",
|
|
10
|
+
};
|
|
6
11
|
const DEFAULT_HERO_CLASS = "bg-gradient-to-br from-violet-700 to-indigo-700 dark:from-violet-800 dark:to-indigo-800";
|
|
7
12
|
export async function HowOffersWorkView({ heroBannerClass = DEFAULT_HERO_CLASS, } = {}) {
|
|
8
13
|
const { themed, flex, page } = THEME_CONSTANTS;
|
|
@@ -54,14 +59,14 @@ export async function HowOffersWorkView({ heroBannerClass = DEFAULT_HERO_CLASS,
|
|
|
54
59
|
desc: t("diagramStep5Desc"),
|
|
55
60
|
},
|
|
56
61
|
];
|
|
57
|
-
return (_jsxs(
|
|
62
|
+
return (_jsxs(Div, { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", children: [_jsx(Section, { className: `${heroBannerClass} text-white py-14 md:py-16 lg:py-20`, children: _jsxs(Div, { className: `${page.container.md} text-center`, children: [_jsx(Heading, { level: 1, variant: "none", className: "mb-4 text-white", children: t("title") }), _jsx(Text, { variant: "none", className: "text-white/80 max-w-2xl mx-auto", children: t("subtitle") })] }) }), _jsxs(Div, { className: `${page.container.md} py-10 md:py-12 lg:py-16 space-y-14`, children: [renderOffersStepsSection(t, themed, flex, STEPS), _jsx(Section, { children: _jsx(FlowDiagram, { title: `🤝 ${t("diagramTitle")}`, titleClass: "text-primary", connectorClass: "bg-primary/20 dark:bg-primary/30", steps: DIAGRAM_STEPS, centered: true }) }), renderOffersRulesSection(t, themed, RULES), renderOffersCtaSection(t, themed, flex)] })] }));
|
|
58
63
|
}
|
|
59
64
|
function renderOffersStepsSection(t, themed, flex, steps) {
|
|
60
|
-
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-8 text-center", children: t("stepsTitle") }), _jsx(Stack, { gap: "md", className: "gap-5", children: steps.map(({ number, icon, title, text }) => (_jsxs(
|
|
65
|
+
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-8 text-center", children: t("stepsTitle") }), _jsx(Stack, { gap: "md", className: "gap-5", children: steps.map(({ number, icon, title, text }) => (_jsxs(Div, { className: `flex items-start gap-4 ${__P.p5} rounded-xl border ${themed.border} ${themed.bgPrimary}`, children: [_jsx(Div, { className: `flex-shrink-0 w-10 h-10 rounded-full bg-primary/10 dark:bg-primary/15 ${flex.center}`, children: icon }), _jsxs(Div, { children: [_jsxs(Text, { className: "font-semibold mb-0.5", children: [number, ". ", title] }), _jsx(Text, { variant: "secondary", className: "text-sm leading-relaxed", children: text })] })] }, number))) })] }));
|
|
61
66
|
}
|
|
62
67
|
function renderOffersRulesSection(t, themed, rules) {
|
|
63
|
-
return (_jsxs(Section, { className: `rounded-2xl border ${themed.border} ${themed.bgSecondary}
|
|
68
|
+
return (_jsxs(Section, { className: `rounded-2xl border ${themed.border} ${themed.bgSecondary} ${__P.p6}`, children: [_jsx(Heading, { level: 2, className: "mb-4", children: t("rulesTitle") }), _jsx(Ul, { className: "space-y-2", children: rules.map((rule) => (_jsxs(Li, { className: "flex items-start gap-2 text-sm", children: [_jsx(Span, { color: "primary", className: "mt-0.5", children: "\u2022" }), _jsx(Text, { variant: "secondary", children: rule })] }, rule))) })] }));
|
|
64
69
|
}
|
|
65
70
|
function renderOffersCtaSection(t, themed, flex) {
|
|
66
|
-
return (_jsxs(Section, { className: `rounded-2xl
|
|
71
|
+
return (_jsxs(Section, { className: `rounded-2xl ${__P.p8} text-center ${themed.bgSecondary} border ${themed.border}`, children: [_jsx(Heading, { level: 2, className: "mb-3", children: t("ctaTitle") }), _jsx(Text, { variant: "secondary", className: "mb-6 max-w-lg mx-auto", children: t("ctaText") }), _jsxs(Div, { className: `${flex.center} gap-4 flex-wrap`, children: [_jsx(TextLink, { href: String(ROUTES.PUBLIC.PRODUCTS), children: t("ctaBrowse") }), _jsx(TextLink, { href: String(ROUTES.PUBLIC.HOW_ORDERS_WORK), variant: "muted", children: t("ctaOrders") })] })] }));
|
|
67
72
|
}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ROUTES } from "../../../constants";
|
|
3
3
|
import { THEME_CONSTANTS } from "../../../tokens";
|
|
4
|
-
import { Heading, Text, Section, Span, Row, FlowDiagram } from "../../../ui";
|
|
4
|
+
import { Div, Heading, Text, Section, Span, Row, FlowDiagram } from "../../../ui";
|
|
5
5
|
import { TextLink } from "../../../ui";
|
|
6
6
|
import { PackageSearch, MapPinned, FileText, XCircle } from "lucide-react";
|
|
7
|
+
const __P = {
|
|
8
|
+
p4: "p-4",
|
|
9
|
+
p5: "p-5",
|
|
10
|
+
p8: "p-8",
|
|
11
|
+
};
|
|
7
12
|
const DEFAULT_HERO_CLASS = "bg-gradient-to-br from-violet-700 to-indigo-700 dark:from-violet-800 dark:to-indigo-800";
|
|
8
13
|
export async function HowOrdersWorkView({ heroBannerClass = DEFAULT_HERO_CLASS, } = {}) {
|
|
9
14
|
const { themed, flex, page } = THEME_CONSTANTS;
|
|
@@ -127,14 +132,14 @@ export async function HowOrdersWorkView({ heroBannerClass = DEFAULT_HERO_CLASS,
|
|
|
127
132
|
desc: t("diagramStep6Desc"),
|
|
128
133
|
},
|
|
129
134
|
];
|
|
130
|
-
return (_jsxs(
|
|
135
|
+
return (_jsxs(Div, { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", children: [_jsx(Section, { className: `${heroBannerClass} text-white py-14 md:py-16 lg:py-20`, children: _jsxs(Div, { className: `${page.container.md} text-center`, children: [_jsx(Heading, { level: 1, variant: "none", className: "mb-4 text-white", children: t("title") }), _jsx(Text, { variant: "none", className: "text-white/80 max-w-2xl mx-auto", children: t("subtitle") })] }) }), _jsxs(Div, { className: `${page.container.md} py-10 md:py-12 lg:py-16 space-y-14`, children: [renderOrderStatusesSection(t, themed, ORDER_STATUSES), _jsx(Section, { children: _jsx(FlowDiagram, { title: `📦 ${t("diagramTitle")}`, titleClass: "text-primary", connectorClass: "bg-primary/20 dark:bg-primary/30", steps: DIAGRAM_STEPS, centered: true }) }), renderOrderInfoCardsSection(flex, INFO_CARDS), renderOrdersCtaSection(t, themed, flex)] })] }));
|
|
131
136
|
}
|
|
132
137
|
function renderOrderStatusesSection(t, themed, statuses) {
|
|
133
|
-
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-6", children: t("statusesTitle") }), _jsx(
|
|
138
|
+
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-6", children: t("statusesTitle") }), _jsx(Div, { className: "space-y-3", children: statuses.map(({ status, icon, badge, desc }) => (_jsxs(Div, { className: `flex items-start gap-4 ${__P.p4} rounded-xl border ${themed.border} ${themed.bgPrimary}`, children: [_jsxs(Row, { align: "center", gap: "sm", className: "flex-shrink-0 pt-0.5", children: [_jsx(Span, { size: "xl", children: icon }), _jsx(Span, { size: "xs", weight: "semibold", className: `px-2 py-0.5 rounded-full ${badge}`, children: status })] }), _jsx(Text, { variant: "secondary", className: "text-sm leading-relaxed", children: desc })] }, status))) })] }));
|
|
134
139
|
}
|
|
135
140
|
function renderOrderInfoCardsSection(flex, cards) {
|
|
136
|
-
return (_jsx(Section, { children: _jsx(
|
|
141
|
+
return (_jsx(Section, { children: _jsx(Div, { className: "grid gap-5 md:grid-cols-2", children: cards.map(({ icon: Icon, title, text, color, iconColor }) => (_jsxs(Div, { className: `rounded-xl border ${__P.p5} ${color}`, children: [_jsx(Div, { className: `w-10 h-10 rounded-lg bg-white/60 dark:bg-white/10 ${flex.center} mb-3`, children: _jsx(Icon, { className: `w-5 h-5 ${iconColor}` }) }), _jsx(Text, { className: "font-semibold mb-1", children: title }), _jsx(Text, { variant: "secondary", className: "text-sm leading-relaxed", children: text })] }, title))) }) }));
|
|
137
142
|
}
|
|
138
143
|
function renderOrdersCtaSection(t, themed, flex) {
|
|
139
|
-
return (_jsxs(Section, { className: `rounded-2xl
|
|
144
|
+
return (_jsxs(Section, { className: `rounded-2xl ${__P.p8} text-center ${themed.bgSecondary} border ${themed.border}`, children: [_jsx(Heading, { level: 2, className: "mb-3", children: t("ctaTitle") }), _jsx(Text, { variant: "secondary", className: "mb-6 max-w-lg mx-auto", children: t("ctaText") }), _jsxs(Div, { className: `${flex.center} gap-4 flex-wrap`, children: [_jsx(TextLink, { href: String(ROUTES.PUBLIC.PRODUCTS), children: t("ctaBrowse") }), _jsx(TextLink, { href: String(ROUTES.PUBLIC.HOW_CHECKOUT_WORKS), variant: "muted", children: t("ctaCheckout") })] })] }));
|
|
140
145
|
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ROUTES } from "../../../constants";
|
|
3
3
|
import { THEME_CONSTANTS } from "../../../tokens";
|
|
4
|
-
import { Heading, Text, Section, Stack, FlowDiagram } from "../../../ui";
|
|
4
|
+
import { Div, Heading, Text, Section, Stack, FlowDiagram } from "../../../ui";
|
|
5
5
|
import { TextLink } from "../../../ui";
|
|
6
6
|
import { DollarSign, Calendar, Banknote, ShieldCheck } from "lucide-react";
|
|
7
|
+
const __P = {
|
|
8
|
+
p5: "p-5",
|
|
9
|
+
p8: "p-8",
|
|
10
|
+
};
|
|
7
11
|
const DEFAULT_HERO_CLASS = "bg-gradient-to-br from-violet-700 to-indigo-700 dark:from-violet-800 dark:to-indigo-800";
|
|
8
12
|
export async function HowPayoutsWorkView({ heroBannerClass = DEFAULT_HERO_CLASS, } = {}) {
|
|
9
13
|
const { themed, flex, page } = THEME_CONSTANTS;
|
|
@@ -83,14 +87,14 @@ export async function HowPayoutsWorkView({ heroBannerClass = DEFAULT_HERO_CLASS,
|
|
|
83
87
|
desc: t("diagramStep5Desc"),
|
|
84
88
|
},
|
|
85
89
|
];
|
|
86
|
-
return (_jsxs(
|
|
90
|
+
return (_jsxs(Div, { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", children: [_jsx(Section, { className: `${heroBannerClass} text-white py-14 md:py-16 lg:py-20`, children: _jsxs(Div, { className: `${page.container.md} text-center`, children: [_jsx(Heading, { level: 1, variant: "none", className: "mb-4 text-white", children: t("title") }), _jsx(Text, { variant: "none", className: "text-white/80 max-w-2xl mx-auto", children: t("subtitle") })] }) }), _jsxs(Div, { className: `${page.container.md} py-10 md:py-12 lg:py-16 space-y-14`, children: [renderPayoutsStepsSection(t, themed, flex, STEPS), _jsx(Section, { children: _jsx(FlowDiagram, { title: `💸 ${t("diagramTitle")}`, titleClass: "text-primary", connectorClass: "bg-primary/20 dark:bg-primary/30", steps: DIAGRAM_STEPS, centered: true }) }), renderPayoutsInfoCardsSection(flex, INFO_CARDS), renderPayoutsCtaSection(t, themed, flex)] })] }));
|
|
87
91
|
}
|
|
88
92
|
function renderPayoutsStepsSection(t, themed, flex, steps) {
|
|
89
|
-
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-8 text-center", children: t("stepsTitle") }), _jsx(Stack, { gap: "md", className: "gap-5", children: steps.map(({ number, icon, title, text }) => (_jsxs(
|
|
93
|
+
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-8 text-center", children: t("stepsTitle") }), _jsx(Stack, { gap: "md", className: "gap-5", children: steps.map(({ number, icon, title, text }) => (_jsxs(Div, { className: `flex items-start gap-4 ${__P.p5} rounded-xl border ${themed.border} ${themed.bgPrimary}`, children: [_jsx(Div, { className: `flex-shrink-0 w-10 h-10 rounded-full bg-primary/10 dark:bg-primary/15 ${flex.center}`, children: icon }), _jsxs(Div, { children: [_jsxs(Text, { className: "font-semibold mb-0.5", children: [number, ". ", title] }), _jsx(Text, { variant: "secondary", className: "text-sm leading-relaxed", children: text })] })] }, number))) })] }));
|
|
90
94
|
}
|
|
91
95
|
function renderPayoutsInfoCardsSection(flex, cards) {
|
|
92
|
-
return (_jsx(Section, { children: _jsx(
|
|
96
|
+
return (_jsx(Section, { children: _jsx(Div, { className: "grid gap-5 md:grid-cols-2", children: cards.map(({ icon: Icon, title, text, color, iconColor }) => (_jsxs(Div, { className: `rounded-xl border ${__P.p5} ${color}`, children: [_jsx(Div, { className: `w-10 h-10 rounded-lg bg-white/60 dark:bg-white/10 ${flex.center} mb-3`, children: _jsx(Icon, { className: `w-5 h-5 ${iconColor}` }) }), _jsx(Text, { className: "font-semibold mb-1", children: title }), _jsx(Text, { variant: "secondary", className: "text-sm leading-relaxed", children: text })] }, title))) }) }));
|
|
93
97
|
}
|
|
94
98
|
function renderPayoutsCtaSection(t, themed, flex) {
|
|
95
|
-
return (_jsxs(Section, { className: `rounded-2xl
|
|
99
|
+
return (_jsxs(Section, { className: `rounded-2xl ${__P.p8} text-center ${themed.bgSecondary} border ${themed.border}`, children: [_jsx(Heading, { level: 2, className: "mb-3", children: t("ctaTitle") }), _jsx(Text, { variant: "secondary", className: "mb-6 max-w-lg mx-auto", children: t("ctaText") }), _jsxs(Div, { className: `${flex.center} gap-4 flex-wrap`, children: [_jsx(TextLink, { href: String(ROUTES.STORE.PAYOUT_SETTINGS), children: t("ctaPayoutSettings") }), _jsx(TextLink, { href: String(ROUTES.PUBLIC.FEES), variant: "muted", children: t("ctaFees") })] })] }));
|
|
96
100
|
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ROUTES } from "../../../constants";
|
|
3
3
|
import { THEME_CONSTANTS } from "../../../tokens";
|
|
4
|
-
import { Heading, Text, Section, Stack, FlowDiagram } from "../../../ui";
|
|
4
|
+
import { Div, Heading, Text, Section, Stack, FlowDiagram } from "../../../ui";
|
|
5
5
|
import { TextLink } from "../../../ui";
|
|
6
6
|
import { Package, Clock, Banknote, AlertCircle } from "lucide-react";
|
|
7
|
+
const __P = {
|
|
8
|
+
p5: "p-5",
|
|
9
|
+
p8: "p-8",
|
|
10
|
+
};
|
|
7
11
|
const DEFAULT_HERO_CLASS = "bg-gradient-to-br from-violet-700 to-indigo-700 dark:from-violet-800 dark:to-indigo-800";
|
|
8
12
|
export async function HowPreOrdersWorkView({ heroBannerClass = DEFAULT_HERO_CLASS, } = {}) {
|
|
9
13
|
const { themed, flex, page } = THEME_CONSTANTS;
|
|
@@ -83,14 +87,14 @@ export async function HowPreOrdersWorkView({ heroBannerClass = DEFAULT_HERO_CLAS
|
|
|
83
87
|
desc: t("diagramStep5Desc"),
|
|
84
88
|
},
|
|
85
89
|
];
|
|
86
|
-
return (_jsxs(
|
|
90
|
+
return (_jsxs(Div, { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", children: [_jsx(Section, { className: `${heroBannerClass} text-white py-14 md:py-16 lg:py-20`, children: _jsxs(Div, { className: `${page.container.md} text-center`, children: [_jsx(Heading, { level: 1, variant: "none", className: "mb-4 text-white", children: t("title") }), _jsx(Text, { variant: "none", className: "text-white/80 max-w-2xl mx-auto", children: t("subtitle") })] }) }), _jsxs(Div, { className: `${page.container.md} py-10 md:py-12 lg:py-16 space-y-14`, children: [renderPreOrdersStepsSection(t, themed, flex, STEPS), _jsx(Section, { children: _jsx(FlowDiagram, { title: `📋 ${t("diagramTitle")}`, titleClass: "text-primary", connectorClass: "bg-primary/20 dark:bg-primary/30", steps: DIAGRAM_STEPS, centered: true }) }), renderPreOrdersInfoCardsSection(flex, INFO_CARDS), renderPreOrdersCtaSection(t, themed, flex)] })] }));
|
|
87
91
|
}
|
|
88
92
|
function renderPreOrdersStepsSection(t, themed, flex, steps) {
|
|
89
|
-
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-8 text-center", children: t("stepsTitle") }), _jsx(Stack, { gap: "md", className: "gap-5", children: steps.map(({ number, icon, title, text }) => (_jsxs(
|
|
93
|
+
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-8 text-center", children: t("stepsTitle") }), _jsx(Stack, { gap: "md", className: "gap-5", children: steps.map(({ number, icon, title, text }) => (_jsxs(Div, { className: `flex items-start gap-4 ${__P.p5} rounded-xl border ${themed.border} ${themed.bgPrimary}`, children: [_jsx(Div, { className: `flex-shrink-0 w-10 h-10 rounded-full bg-primary/10 dark:bg-primary/15 ${flex.center}`, children: icon }), _jsxs(Div, { children: [_jsxs(Text, { className: "font-semibold mb-0.5", children: [number, ". ", title] }), _jsx(Text, { variant: "secondary", className: "text-sm leading-relaxed", children: text })] })] }, number))) })] }));
|
|
90
94
|
}
|
|
91
95
|
function renderPreOrdersInfoCardsSection(flex, cards) {
|
|
92
|
-
return (_jsx(Section, { children: _jsx(
|
|
96
|
+
return (_jsx(Section, { children: _jsx(Div, { className: "grid gap-5 md:grid-cols-2", children: cards.map(({ icon: Icon, title, text, color, iconColor }) => (_jsxs(Div, { className: `rounded-xl border ${__P.p5} ${color}`, children: [_jsx(Div, { className: `w-10 h-10 rounded-lg bg-white/60 dark:bg-white/10 ${flex.center} mb-3`, children: _jsx(Icon, { className: `w-5 h-5 ${iconColor}` }) }), _jsx(Text, { className: "font-semibold mb-1", children: title }), _jsx(Text, { variant: "secondary", className: "text-sm leading-relaxed", children: text })] }, title))) }) }));
|
|
93
97
|
}
|
|
94
98
|
function renderPreOrdersCtaSection(t, themed, flex) {
|
|
95
|
-
return (_jsxs(Section, { className: `rounded-2xl
|
|
99
|
+
return (_jsxs(Section, { className: `rounded-2xl ${__P.p8} text-center ${themed.bgSecondary} border ${themed.border}`, children: [_jsx(Heading, { level: 2, className: "mb-3", children: t("ctaTitle") }), _jsx(Text, { variant: "secondary", className: "mb-6 max-w-lg mx-auto", children: t("ctaText") }), _jsxs(Div, { className: `${flex.center} gap-4 flex-wrap`, children: [_jsx(TextLink, { href: String(ROUTES.PUBLIC.PRE_ORDERS), children: t("ctaBrowse") }), _jsx(TextLink, { href: String(ROUTES.PUBLIC.HOW_ORDERS_WORK), variant: "muted", children: t("ctaOrders") })] })] }));
|
|
96
100
|
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ROUTES } from "../../../constants";
|
|
3
3
|
import { THEME_CONSTANTS } from "../../../tokens";
|
|
4
|
-
import { Heading, Text, Section, Stack, FlowDiagram } from "../../../ui";
|
|
4
|
+
import { Div, Heading, Text, Section, Stack, FlowDiagram } from "../../../ui";
|
|
5
5
|
import { TextLink } from "../../../ui";
|
|
6
6
|
import { ShieldCheck, ThumbsUp, Pencil } from "lucide-react";
|
|
7
|
+
const __P = {
|
|
8
|
+
p5: "p-5",
|
|
9
|
+
p8: "p-8",
|
|
10
|
+
};
|
|
7
11
|
const DEFAULT_HERO_CLASS = "bg-gradient-to-br from-violet-700 to-indigo-700 dark:from-violet-800 dark:to-indigo-800";
|
|
8
12
|
export async function HowReviewsWorkView({ heroBannerClass = DEFAULT_HERO_CLASS, } = {}) {
|
|
9
13
|
const { themed, flex, page } = THEME_CONSTANTS;
|
|
@@ -68,14 +72,14 @@ export async function HowReviewsWorkView({ heroBannerClass = DEFAULT_HERO_CLASS,
|
|
|
68
72
|
desc: t("diagramStep4Desc"),
|
|
69
73
|
},
|
|
70
74
|
];
|
|
71
|
-
return (_jsxs(
|
|
75
|
+
return (_jsxs(Div, { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", children: [_jsx(Section, { className: `${heroBannerClass} text-white py-14 md:py-16 lg:py-20`, children: _jsxs(Div, { className: `${page.container.md} text-center`, children: [_jsx(Heading, { level: 1, variant: "none", className: "mb-4 text-white", children: t("title") }), _jsx(Text, { variant: "none", className: "text-white/80 max-w-2xl mx-auto", children: t("subtitle") })] }) }), _jsxs(Div, { className: `${page.container.md} py-10 md:py-12 lg:py-16 space-y-14`, children: [renderReviewsStepsSection(t, themed, flex, STEPS), _jsx(Section, { children: _jsx(FlowDiagram, { title: `⭐ ${t("diagramTitle")}`, titleClass: "text-primary", connectorClass: "bg-primary/20 dark:bg-primary/30", steps: DIAGRAM_STEPS, centered: true }) }), renderReviewsInfoCardsSection(flex, INFO_CARDS), renderReviewsCtaSection(t, themed, flex)] })] }));
|
|
72
76
|
}
|
|
73
77
|
function renderReviewsStepsSection(t, themed, flex, steps) {
|
|
74
|
-
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-8 text-center", children: t("stepsTitle") }), _jsx(Stack, { gap: "md", className: "gap-5", children: steps.map(({ number, icon, title, text }) => (_jsxs(
|
|
78
|
+
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-8 text-center", children: t("stepsTitle") }), _jsx(Stack, { gap: "md", className: "gap-5", children: steps.map(({ number, icon, title, text }) => (_jsxs(Div, { className: `flex items-start gap-4 ${__P.p5} rounded-xl border ${themed.border} ${themed.bgPrimary}`, children: [_jsx(Div, { className: `flex-shrink-0 w-10 h-10 rounded-full bg-primary/10 dark:bg-primary/15 ${flex.center}`, children: icon }), _jsxs(Div, { children: [_jsxs(Text, { className: "font-semibold mb-0.5", children: [number, ". ", title] }), _jsx(Text, { variant: "secondary", className: "text-sm leading-relaxed", children: text })] })] }, number))) })] }));
|
|
75
79
|
}
|
|
76
80
|
function renderReviewsInfoCardsSection(flex, cards) {
|
|
77
|
-
return (_jsx(Section, { children: _jsx(
|
|
81
|
+
return (_jsx(Section, { children: _jsx(Div, { className: "grid gap-5 md:grid-cols-3", children: cards.map(({ icon: Icon, title, text, color, iconColor }) => (_jsxs(Div, { className: `rounded-xl border ${__P.p5} ${color}`, children: [_jsx(Div, { className: `w-10 h-10 rounded-lg bg-white/60 dark:bg-white/10 ${flex.center} mb-3`, children: _jsx(Icon, { className: `w-5 h-5 ${iconColor}` }) }), _jsx(Text, { className: "font-semibold mb-1", children: title }), _jsx(Text, { variant: "secondary", className: "text-sm leading-relaxed", children: text })] }, title))) }) }));
|
|
78
82
|
}
|
|
79
83
|
function renderReviewsCtaSection(t, themed, flex) {
|
|
80
|
-
return (_jsxs(Section, { className: `rounded-2xl
|
|
84
|
+
return (_jsxs(Section, { className: `rounded-2xl ${__P.p8} text-center ${themed.bgSecondary} border ${themed.border}`, children: [_jsx(Heading, { level: 2, className: "mb-3", children: t("ctaTitle") }), _jsx(Text, { variant: "secondary", className: "mb-6 max-w-lg mx-auto", children: t("ctaText") }), _jsxs(Div, { className: `${flex.center} gap-4 flex-wrap`, children: [_jsx(TextLink, { href: String(ROUTES.USER.ORDERS), children: t("ctaOrders") }), _jsx(TextLink, { href: String(ROUTES.PUBLIC.HOW_ORDERS_WORK), variant: "muted", children: t("ctaHowOrders") })] })] }));
|
|
81
85
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { ROUTES } from "../../../constants";
|
|
3
3
|
import { THEME_CONSTANTS } from "../../../tokens";
|
|
4
|
-
import { Heading, Text, Section, Stack } from "../../../ui";
|
|
4
|
+
import { Div, Heading, Text, Section, Stack } from "../../../ui";
|
|
5
5
|
import { TextLink } from "../../../ui";
|
|
6
6
|
import { siteSettingsRepository } from "../../../repositories";
|
|
7
7
|
const DEFAULT_HERO_CLASS = "bg-gradient-to-br from-violet-700 to-indigo-700 dark:from-violet-800 dark:to-indigo-800";
|
|
@@ -43,7 +43,7 @@ export async function PolicyPageView({ policy, heroBannerClass = DEFAULT_HERO_CL
|
|
|
43
43
|
const policyPath = { privacy: "/privacy", terms: "/terms", cookies: "/cookies", refund: "/refund-policy" }[policy];
|
|
44
44
|
return !l.href.endsWith(policyPath ?? "");
|
|
45
45
|
});
|
|
46
|
-
return (_jsxs(
|
|
46
|
+
return (_jsxs(Div, { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", children: [_jsx(Section, { className: `${heroBannerClass} text-white py-14 md:py-16 lg:py-20`, children: _jsxs(Div, { className: `${page.container.sm}`, children: [_jsx(Heading, { level: 1, variant: "none", className: "mb-3 text-white", children: t("title") }), _jsx(Text, { variant: "none", className: "text-white/80 text-sm", children: t("lastUpdated") })] }) }), _jsxs(Div, { className: `${page.container.sm} py-10 md:py-12 lg:py-16`, children: [adminHtml ? (
|
|
47
47
|
/* Admin-set HTML takes priority */
|
|
48
|
-
_jsx("div", { className: "prose prose-neutral dark:prose-invert max-w-none", dangerouslySetInnerHTML: { __html: adminHtml } })) : (_jsxs(_Fragment, { children: [t("intro") && (_jsx(Text, { variant: "secondary", className: "mb-10 text-base leading-relaxed", children: t("intro") })), _jsx(Stack, { gap: "xl", className: "space-y-10", children: sections.map((section, i) => (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-3", children: section.heading }), _jsx(Text, { variant: "secondary", className: "leading-relaxed whitespace-pre-line", children: section.body })] }, i))) })] })), relatedLinks.length > 0 && (_jsxs(
|
|
48
|
+
_jsx("div", { className: "prose prose-neutral dark:prose-invert max-w-none", dangerouslySetInnerHTML: { __html: adminHtml } })) : (_jsxs(_Fragment, { children: [t("intro") && (_jsx(Text, { variant: "secondary", className: "mb-10 text-base leading-relaxed", children: t("intro") })), _jsx(Stack, { gap: "xl", className: "space-y-10", children: sections.map((section, i) => (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-3", children: section.heading }), _jsx(Text, { variant: "secondary", className: "leading-relaxed whitespace-pre-line", children: section.body })] }, i))) })] })), relatedLinks.length > 0 && (_jsxs(Div, { className: `mt-14 pt-8 border-t ${themed.border}`, children: [_jsx(Heading, { level: 3, className: "text-sm font-semibold mb-3 uppercase tracking-wide text-zinc-500 dark:text-zinc-400", children: t("relatedTitle") }), _jsx(Div, { className: "flex flex-wrap gap-4", children: relatedLinks.map((l) => (_jsx(TextLink, { href: l.href, variant: "muted", className: "text-sm", children: l.label }, l.href))) })] }))] })] }));
|
|
49
49
|
}
|
|
@@ -9,6 +9,13 @@ import { ProductCard } from "../../products/components/ProductGrid";
|
|
|
9
9
|
import { ReviewCard } from "../../reviews/components/ReviewsList";
|
|
10
10
|
import { isAuctionListing, isPreOrderListing } from "../../products/utils/listing-type";
|
|
11
11
|
import { User, Star, ShoppingBag, Package, Trophy, Globe, MapPin, ExternalLink } from "lucide-react";
|
|
12
|
+
const __P = {
|
|
13
|
+
p4: "p-4",
|
|
14
|
+
p6: "p-6",
|
|
15
|
+
};
|
|
16
|
+
const __O = {
|
|
17
|
+
hidden: "overflow-hidden",
|
|
18
|
+
};
|
|
12
19
|
const DEFAULT_HERO_CLASS = "bg-gradient-to-br from-neutral-800 to-neutral-900 dark:from-neutral-900 dark:to-black";
|
|
13
20
|
function toProductItem(p) {
|
|
14
21
|
return {
|
|
@@ -100,21 +107,21 @@ function buildProfileStatItems(t, ctx) {
|
|
|
100
107
|
}
|
|
101
108
|
function renderProfileHero(t, ctx) {
|
|
102
109
|
const { displayName, photoURL, memberSince, isSeller, storeSlug, flex, page, heroBannerClass } = ctx;
|
|
103
|
-
return (_jsx(Section, { className: `${heroBannerClass} text-white py-10 md:py-14`, children: _jsx(Div, { className: `${page.container.md}`, children: _jsxs(
|
|
110
|
+
return (_jsx(Section, { className: `${heroBannerClass} text-white py-10 md:py-14`, children: _jsx(Div, { className: `${page.container.md}`, children: _jsxs(Div, { className: "flex flex-wrap gap-4 flex-col sm:flex-row items-center sm:items-end", children: [_jsx(Div, { className: `w-20 h-20 rounded-full bg-white/20 ${flex.center} flex-shrink-0 ${__O.hidden}`, children: photoURL ? _jsx("img", { src: photoURL, alt: displayName, className: "w-full h-full object-cover" }) : _jsx(User, { className: "w-10 h-10 text-white/60" }) }), _jsxs(Stack, { gap: "xs", className: "text-center sm:text-left", children: [_jsxs(Div, { className: "flex flex-wrap gap-1 justify-center sm:justify-start", children: [_jsx(Heading, { level: 1, variant: "none", className: "text-white mb-0", children: displayName }), isSeller && _jsx(Span, { size: "xs", weight: "semibold", className: "rounded-full bg-white/20 px-2.5 py-0.5 text-white/90", children: t("roleSeller") })] }), _jsx(Text, { variant: "none", className: "text-white/60 text-sm", children: memberSince })] }), isSeller && storeSlug && (_jsx(Div, { className: "sm:ml-auto", children: _jsxs(Link, { href: String(ROUTES.PUBLIC.STORE_DETAIL(storeSlug)), className: "inline-flex items-center gap-1.5 rounded-full border border-white/30 bg-white/10 hover:bg-white/20 px-4 py-2 text-sm font-medium text-white transition-colors", children: [_jsx(ExternalLink, { className: "w-3.5 h-3.5" }), t("visitStore")] }) }))] }) }) }));
|
|
104
111
|
}
|
|
105
112
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
106
113
|
function renderProfileStatsRow(themed, flex, statItems) {
|
|
107
|
-
return (_jsx(Grid, { gap: "md", className: "grid-cols-2 sm:grid-cols-4", children: statItems.map(({ icon: Icon, label, value }) => (_jsxs(Div, { rounded: "xl", className: `border ${themed.border} ${themed.bgPrimary}
|
|
114
|
+
return (_jsx(Grid, { gap: "md", className: "grid-cols-2 sm:grid-cols-4", children: statItems.map(({ icon: Icon, label, value }) => (_jsxs(Div, { rounded: "xl", className: `border ${themed.border} ${themed.bgPrimary} ${__P.p4} text-center`, children: [_jsx(Row, { centered: true, className: `${flex.center} mb-1`, children: _jsx(Icon, { className: "w-4 h-4 text-neutral-400" }) }), _jsx(Text, { className: "text-lg font-bold", children: value }), _jsx(Text, { variant: "secondary", className: "text-xs", children: label })] }, label))) }));
|
|
108
115
|
}
|
|
109
116
|
function renderProfileBioSection(themed, pub) {
|
|
110
117
|
if (!pub?.bio && !pub?.location && !pub?.website)
|
|
111
118
|
return null;
|
|
112
|
-
return (_jsx(Section, { children: _jsxs(Stack, { gap: "sm", className: `rounded-2xl border ${themed.border} ${themed.bgPrimary}
|
|
119
|
+
return (_jsx(Section, { children: _jsxs(Stack, { gap: "sm", className: `rounded-2xl border ${themed.border} ${themed.bgPrimary} ${__P.p6}`, children: [pub.bio && _jsx(Text, { className: "text-sm leading-relaxed text-neutral-700 dark:text-zinc-300", children: pub.bio }), _jsxs(Row, { gap: "md", wrap: true, children: [pub.location && _jsxs(Span, { size: "sm", className: "flex items-center gap-1.5 text-neutral-500 dark:text-zinc-400", children: [_jsx(MapPin, { className: "w-4 h-4" }), pub.location] }), pub.website && _jsxs("a", { href: pub.website, target: "_blank", rel: "noopener noreferrer", className: "flex items-center gap-1.5 text-primary hover:underline", children: [_jsx(Globe, { className: "w-4 h-4" }), _jsx(Span, { size: "sm", children: pub.website.replace(/^https?:\/\//, "") })] })] })] }) }));
|
|
113
120
|
}
|
|
114
121
|
function renderStoreDescriptionSection(themed, isSeller, storeSlug, storeDescription, storeName, t) {
|
|
115
122
|
if (!isSeller || !storeSlug || !storeDescription)
|
|
116
123
|
return null;
|
|
117
|
-
return (_jsx(Section, { children: _jsxs(Div, { rounded: "2xl", className: `border ${themed.border} ${themed.bgSecondary}
|
|
124
|
+
return (_jsx(Section, { children: _jsxs(Div, { rounded: "2xl", className: `border ${themed.border} ${themed.bgSecondary} ${__P.p6}`, children: [_jsx(Heading, { level: 3, className: "mb-2", children: storeName }), _jsx(Text, { variant: "secondary", className: "text-sm leading-relaxed", children: storeDescription }), _jsxs(Link, { href: String(ROUTES.PUBLIC.STORE_DETAIL(storeSlug)), className: "mt-3 inline-flex items-center gap-1 text-sm font-medium text-primary hover:underline", children: [t("visitStore"), " \u2192"] })] }) }));
|
|
118
125
|
}
|
|
119
126
|
function renderProfileListingsSection(t, themed, products, storeSlug) {
|
|
120
127
|
return (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-4", children: t("listingsTitle") }), products.length === 0 ? (_jsxs(Div, { rounded: "2xl", className: `border ${themed.border} ${themed.bgSecondary} p-12 text-center`, children: [_jsx(ShoppingBag, { className: "w-10 h-10 mx-auto mb-3 text-neutral-300 dark:text-neutral-600" }), _jsx(Text, { variant: "secondary", className: "text-sm", children: t("noListings") })] })) : (_jsx(Grid, { gap: "md", className: "grid-cols-2 sm:grid-cols-3 lg:grid-cols-4", children: products.slice(0, 8).map((p) => _jsx(ProductCard, { product: toProductItem(p), href: getProductHref(p) }, p.id)) })), products.length > 8 && storeSlug && (_jsx(Div, { className: "mt-4 text-center", children: _jsx(Link, { href: String(ROUTES.PUBLIC.STORE_PRODUCTS(storeSlug)), className: "text-sm font-medium text-primary hover:underline", children: t("viewAllListings", { count: products.length }) }) }))] }));
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ROUTES } from "../../../constants";
|
|
3
3
|
import { THEME_CONSTANTS } from "../../../tokens";
|
|
4
|
-
import { Heading, Text, Section, FlowDiagram } from "../../../ui";
|
|
4
|
+
import { Div, Heading, Text, Section, FlowDiagram } from "../../../ui";
|
|
5
5
|
import { TextLink } from "../../../ui";
|
|
6
6
|
import { Shield, Lock, Search, Globe, Database, KeyRound, FileText, Upload, ShieldCheck, Scale, } from "lucide-react";
|
|
7
|
+
const __P = {
|
|
8
|
+
p5: "p-5",
|
|
9
|
+
p8: "p-8",
|
|
10
|
+
};
|
|
7
11
|
const DEFAULT_HERO_CLASS = "bg-gradient-to-br from-violet-700 to-indigo-700 dark:from-violet-800 dark:to-indigo-800";
|
|
8
12
|
export async function SecurityPrivacyView({ heroBannerClass = DEFAULT_HERO_CLASS, } = {}) {
|
|
9
13
|
const { themed, flex, page } = THEME_CONSTANTS;
|
|
@@ -118,11 +122,11 @@ export async function SecurityPrivacyView({ heroBannerClass = DEFAULT_HERO_CLASS
|
|
|
118
122
|
desc: t("diagramStep5Desc"),
|
|
119
123
|
},
|
|
120
124
|
];
|
|
121
|
-
return (_jsxs(
|
|
125
|
+
return (_jsxs(Div, { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", children: [_jsx(Section, { className: `${heroBannerClass} text-white py-14 md:py-16 lg:py-20`, children: _jsxs(Div, { className: `${page.container.md} text-center`, children: [_jsx(Heading, { level: 1, variant: "none", className: "mb-4 text-white", children: t("title") }), _jsx(Text, { variant: "none", className: "text-white/80 max-w-2xl mx-auto", children: t("subtitle") })] }) }), _jsxs(Div, { className: `${page.container.md} py-10 md:py-12 lg:py-16 space-y-14`, children: [_jsxs(Section, { className: "text-center", children: [_jsx(Heading, { level: 2, className: "mb-3", children: t("overviewTitle") }), _jsx(Text, { variant: "secondary", className: "max-w-2xl mx-auto", children: t("overviewText") })] }), renderSecurityCardsSection(flex, SECTIONS), _jsx(Section, { children: _jsx(FlowDiagram, { title: `🛡️ ${t("diagramTitle")}`, titleClass: "text-primary", connectorClass: "bg-primary/20 dark:bg-primary/30", steps: DIAGRAM_STEPS, centered: true }) }), _jsx(Text, { variant: "secondary", className: "text-center text-sm", children: t("lastUpdated") }), renderSecurityCtaSection(t, themed, flex)] })] }));
|
|
122
126
|
}
|
|
123
127
|
function renderSecurityCardsSection(flex, cards) {
|
|
124
|
-
return (_jsx(Section, { children: _jsx(
|
|
128
|
+
return (_jsx(Section, { children: _jsx(Div, { className: "grid gap-5 md:grid-cols-2", children: cards.map(({ icon: Icon, title, text, color, iconColor }) => (_jsxs(Div, { className: `rounded-xl border ${__P.p5} ${color}`, children: [_jsx(Div, { className: `w-10 h-10 rounded-lg bg-white/60 dark:bg-white/10 ${flex.center} mb-3`, children: _jsx(Icon, { className: `w-5 h-5 ${iconColor}` }) }), _jsx(Text, { className: "font-semibold mb-1", children: title }), _jsx(Text, { variant: "secondary", className: "text-sm leading-relaxed", children: text })] }, title))) }) }));
|
|
125
129
|
}
|
|
126
130
|
function renderSecurityCtaSection(t, themed, flex) {
|
|
127
|
-
return (_jsxs(Section, { className: `rounded-2xl
|
|
131
|
+
return (_jsxs(Section, { className: `rounded-2xl ${__P.p8} text-center ${themed.bgSecondary} border ${themed.border}`, children: [_jsx(Heading, { level: 2, className: "mb-3", children: t("ctaTitle") }), _jsx(Text, { variant: "secondary", className: "mb-6 max-w-lg mx-auto", children: t("ctaText") }), _jsxs(Div, { className: `${flex.center} gap-4 flex-wrap`, children: [_jsx(TextLink, { href: String(ROUTES.PUBLIC.PRIVACY), children: t("ctaPrivacy") }), _jsx(TextLink, { href: String(ROUTES.PUBLIC.CONTACT), variant: "muted", children: t("ctaContact") })] })] }));
|
|
128
132
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ROUTES } from "../../../constants";
|
|
3
3
|
import { THEME_CONSTANTS } from "../../../tokens";
|
|
4
|
-
import { Heading, Text, Section, Stack, FlowDiagram } from "../../../ui";
|
|
4
|
+
import { Div, Heading, Text, Section, Stack, FlowDiagram } from "../../../ui";
|
|
5
5
|
import { TextLink } from "../../../ui";
|
|
6
6
|
const DEFAULT_HERO_CLASS = "bg-gradient-to-br from-violet-700 to-indigo-700 dark:from-violet-800 dark:to-indigo-800";
|
|
7
|
+
const CLS_FOOTER_LINK = "text-sky-600 dark:text-sky-400 hover:underline";
|
|
7
8
|
export async function ShippingPolicyView({ heroBannerClass = DEFAULT_HERO_CLASS, } = {}) {
|
|
8
9
|
const { themed, page } = THEME_CONSTANTS;
|
|
9
10
|
const { getTranslations } = await import("next-intl/server");
|
|
@@ -55,5 +56,5 @@ export async function ShippingPolicyView({ heroBannerClass = DEFAULT_HERO_CLASS,
|
|
|
55
56
|
desc: t("diagramStatus5Desc"),
|
|
56
57
|
},
|
|
57
58
|
];
|
|
58
|
-
return (_jsxs(
|
|
59
|
+
return (_jsxs(Div, { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", children: [_jsx(Section, { className: `${heroBannerClass} text-white py-14 md:py-16 lg:py-20`, children: _jsxs(Div, { className: `${page.container.sm}`, children: [_jsx(Heading, { level: 1, variant: "none", className: "mb-3 text-white", children: t("title") }), _jsx(Text, { variant: "none", className: "text-white/80", children: t("lastUpdated") })] }) }), _jsxs(Div, { className: `${page.container.sm} py-10 md:py-12 lg:py-16`, children: [_jsx(Text, { size: "lg", variant: "secondary", className: "mb-8", children: t("subtitle") }), _jsx(FlowDiagram, { title: `🚚 ${t("diagramTitle")}`, titleClass: "text-sky-700 dark:text-sky-300", connectorClass: "bg-sky-200 dark:bg-sky-800", steps: DIAGRAM_STEPS, className: "mb-10", note: `📌 ${t("diagramNote")}` }), _jsxs(Stack, { gap: "xl", children: [SECTIONS.map(({ title, text }) => (_jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "mb-3", children: title }), _jsx(Text, { variant: "secondary", className: "leading-relaxed", children: text })] }, title))), _jsxs(Section, { className: `${themed.bgSecondary} rounded-xl p-6 border ${themed.border}`, children: [_jsx(Heading, { level: 2, className: "mb-2", children: t("contactTitle") }), _jsx(Text, { variant: "secondary", children: t("contactText") })] })] }), _jsxs(Div, { className: `mt-12 pt-8 border-t ${themed.border} flex gap-6 text-sm`, children: [_jsx(TextLink, { href: String(ROUTES.PUBLIC.TRACK_ORDER), className: CLS_FOOTER_LINK, children: t("trackOrder") }), _jsx(TextLink, { href: String(ROUTES.PUBLIC.HELP), className: CLS_FOOTER_LINK, children: t("helpCenter") }), _jsx(TextLink, { href: String(ROUTES.PUBLIC.CONTACT), className: CLS_FOOTER_LINK, children: t("contactUs") }), _jsx(TextLink, { href: String(ROUTES.PUBLIC.REFUND_POLICY), className: CLS_FOOTER_LINK, children: "Refund Policy" })] })] })] }));
|
|
59
60
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ROUTES } from "../../../constants";
|
|
3
3
|
import { THEME_CONSTANTS } from "../../../tokens";
|
|
4
|
-
import { Heading, Text, Caption, Grid, Section } from "../../../ui";
|
|
4
|
+
import { Div, Heading, Text, Caption, Grid, Section } from "../../../ui";
|
|
5
5
|
import { TextLink } from "../../../ui";
|
|
6
6
|
import { ShoppingBag, Truck, MapPin, CheckCircle2 } from "lucide-react";
|
|
7
7
|
const DEFAULT_HERO_CLASS = "bg-gradient-to-br from-violet-700 to-indigo-700 dark:from-violet-800 dark:to-indigo-800";
|
|
@@ -39,5 +39,5 @@ export async function TrackOrderView({ heroBannerClass = DEFAULT_HERO_CLASS, } =
|
|
|
39
39
|
bg: "bg-emerald-100 dark:bg-emerald-900/40",
|
|
40
40
|
},
|
|
41
41
|
];
|
|
42
|
-
return (_jsxs(
|
|
42
|
+
return (_jsxs(Div, { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", children: [_jsx(Section, { className: `${heroBannerClass} text-white py-14 md:py-16 lg:py-20`, children: _jsxs(Div, { className: `${page.container.sm} text-center`, children: [_jsx(Heading, { level: 1, variant: "none", className: "mb-4 text-white", children: t("title") }), _jsx(Text, { variant: "none", className: "text-white/80", children: t("subtitle") })] }) }), _jsxs(Div, { className: `${page.container.md} py-14 md:py-16 space-y-14 md:space-y-16`, children: [_jsxs(Section, { className: `${themed.bgSecondary} rounded-2xl border ${themed.border} p-8 text-center`, children: [_jsx(Div, { className: `w-16 h-16 bg-primary/10 dark:bg-primary/15 rounded-full ${flex.center} mx-auto mb-4`, children: _jsx(ShoppingBag, { className: "w-8 h-8 text-primary" }) }), _jsx(Heading, { level: 2, className: "mb-3", children: t("signInPrompt") }), _jsxs(Div, { className: "flex flex-col sm:flex-row gap-3 justify-center mt-6", children: [_jsx(TextLink, { href: String(ROUTES.AUTH.LOGIN), className: `inline-flex items-center gap-2 bg-primary hover:bg-primary/90 text-white font-medium px-6 py-3 rounded-lg transition-colors`, children: t("signIn") }), _jsx(TextLink, { href: String(ROUTES.USER.ORDERS), className: `inline-flex items-center gap-2 ${themed.bgPrimary} border ${themed.border} ${themed.textPrimary} font-medium px-6 py-3 rounded-lg hover:opacity-80 transition-opacity`, children: t("viewOrders") })] })] }), _jsxs(Section, { children: [_jsx(Heading, { level: 2, className: "text-center mb-10", children: t("howItWorksTitle") }), _jsx(Grid, { className: "grid-cols-1 sm:grid-cols-2 xl:grid-cols-4", gap: "lg", children: STEPS.map(({ icon: Icon, title, text, color, bg }, index) => (_jsxs("div", { className: `${themed.bgSecondary} rounded-xl border ${themed.border} p-6 relative`, children: [_jsx(Caption, { className: "absolute top-4 right-4 font-bold", children: String(index + 1).padStart(2, "0") }), _jsx(Div, { className: `w-12 h-12 ${bg} rounded-xl ${flex.center} mb-4`, children: _jsx(Icon, { className: `w-6 h-6 ${color}` }) }), _jsx(Heading, { level: 3, className: "mb-2", children: title }), _jsx(Text, { variant: "secondary", size: "sm", className: "leading-relaxed", children: text })] }, title))) })] }), _jsxs(Section, { className: `${themed.bgSecondary} rounded-xl border ${themed.border} p-6 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4`, children: [_jsxs(Div, { children: [_jsx(Heading, { level: 2, className: "mb-1", children: t("needHelpTitle") }), _jsx(Text, { variant: "secondary", size: "sm", children: t("needHelpText") })] }), _jsxs(Div, { className: "flex gap-3 flex-shrink-0", children: [_jsx(TextLink, { href: String(ROUTES.PUBLIC.HELP), className: `text-sm ${themed.textSecondary} hover:text-primary underline underline-offset-4 transition-colors`, children: t("helpCenter") }), _jsx(TextLink, { href: String(ROUTES.PUBLIC.CONTACT), className: "text-sm bg-primary hover:bg-primary/90 text-white px-4 py-2 rounded-lg transition-colors", children: t("contactSupport") })] })] })] })] }));
|
|
43
43
|
}
|