@mohasinac/appkit 4.58.0 β 4.60.0
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/.build-stamp.json +3 -3
- package/dist/_internal/client/features/layout/DashboardLayoutClient.js +62 -5
- package/dist/_internal/client/features/maintenance/views/MaintenanceDashboardView.js +2 -2
- package/dist/_internal/server/features/brands/actions.js +78 -4
- package/dist/_internal/server/features/checkout/actions.d.ts +36 -13
- package/dist/_internal/server/features/checkout/actions.js +668 -183
- package/dist/_internal/server/features/checkout/supplier-identity.js +18 -1
- package/dist/_internal/server/features/gateway-events/index.d.ts +10 -0
- package/dist/_internal/server/features/gateway-events/index.js +10 -0
- package/dist/_internal/server/features/gateway-events/ingest.d.ts +127 -0
- package/dist/_internal/server/features/gateway-events/ingest.js +188 -0
- package/dist/_internal/server/features/gateway-events/redact.d.ts +66 -0
- package/dist/_internal/server/features/gateway-events/redact.js +151 -0
- package/dist/_internal/server/features/grievance/actions.d.ts +63 -0
- package/dist/_internal/server/features/grievance/actions.js +173 -0
- package/dist/_internal/server/features/grievance/index.d.ts +8 -0
- package/dist/_internal/server/features/grievance/index.js +8 -0
- package/dist/_internal/server/features/grouped/data.js +28 -3
- package/dist/_internal/server/features/lottery/actions.js +99 -4
- package/dist/_internal/server/features/order-completion/actions.d.ts +92 -0
- package/dist/_internal/server/features/order-completion/actions.js +336 -0
- package/dist/_internal/server/features/order-completion/index.d.ts +7 -0
- package/dist/_internal/server/features/order-completion/index.js +7 -0
- package/dist/_internal/server/features/orders/actions.d.ts +13 -0
- package/dist/_internal/server/features/orders/actions.js +56 -2
- package/dist/_internal/server/features/orders/adapters.js +26 -0
- package/dist/_internal/server/features/orders/cancellation-refund.d.ts +116 -0
- package/dist/_internal/server/features/orders/cancellation-refund.js +466 -0
- package/dist/_internal/server/features/orders/index.d.ts +2 -1
- package/dist/_internal/server/features/orders/index.js +1 -1
- package/dist/_internal/server/features/orders/service.d.ts +60 -0
- package/dist/_internal/server/features/orders/service.js +74 -0
- package/dist/_internal/server/features/payment-cases/disputes.d.ts +76 -0
- package/dist/_internal/server/features/payment-cases/disputes.js +241 -0
- package/dist/_internal/server/features/payment-cases/index.d.ts +9 -0
- package/dist/_internal/server/features/payment-cases/index.js +9 -0
- package/dist/_internal/server/features/payouts/actions.d.ts +28 -3
- package/dist/_internal/server/features/payouts/actions.js +84 -10
- package/dist/_internal/server/features/points/adjust.d.ts +61 -0
- package/dist/_internal/server/features/points/adjust.js +121 -0
- package/dist/_internal/server/features/points/award.d.ts +65 -0
- package/dist/_internal/server/features/points/award.js +145 -0
- package/dist/_internal/server/features/price-index/market.d.ts +33 -0
- package/dist/_internal/server/features/price-index/market.js +54 -1
- package/dist/_internal/server/features/products/data.js +40 -22
- package/dist/_internal/server/features/protection-claims/actions.d.ts +72 -0
- package/dist/_internal/server/features/protection-claims/actions.js +228 -0
- package/dist/_internal/server/features/protection-claims/index.d.ts +8 -0
- package/dist/_internal/server/features/protection-claims/index.js +8 -0
- package/dist/_internal/server/features/refunds/actions.d.ts +20 -0
- package/dist/_internal/server/features/refunds/actions.js +259 -17
- package/dist/_internal/server/features/refunds/capacity.d.ts +29 -0
- package/dist/_internal/server/features/refunds/capacity.js +37 -0
- package/dist/_internal/server/features/reviews/actions.js +3 -2
- package/dist/_internal/server/features/search/index-build/sources.js +20 -1
- package/dist/_internal/server/features/shipping/reconcile.d.ts +10 -1
- package/dist/_internal/server/features/shipping/reconcile.js +34 -3
- package/dist/_internal/server/features/shipping/reimbursement.d.ts +117 -0
- package/dist/_internal/server/features/shipping/reimbursement.js +223 -0
- package/dist/_internal/server/features/stores/tabs.d.ts +19 -4
- package/dist/_internal/server/features/stores/tabs.js +24 -4
- package/dist/_internal/server/functions/https.d.ts +31 -1
- package/dist/_internal/server/functions/https.js +52 -1
- package/dist/_internal/server/functions/scheduled.d.ts +72 -1
- package/dist/_internal/server/functions/scheduled.js +124 -1
- package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +62 -16
- package/dist/_internal/server/jobs/core/boxRollupReconcile.d.ts +46 -0
- package/dist/_internal/server/jobs/core/boxRollupReconcile.js +142 -0
- package/dist/_internal/server/jobs/core/dailyDataCleanup.js +149 -1
- package/dist/_internal/server/jobs/core/dailyStatusDigest.d.ts +14 -0
- package/dist/_internal/server/jobs/core/dailyStatusDigest.js +79 -1
- package/dist/_internal/server/jobs/core/index.d.ts +2 -0
- package/dist/_internal/server/jobs/core/index.js +2 -0
- package/dist/_internal/server/jobs/core/marketPriceRollup.d.ts +64 -0
- package/dist/_internal/server/jobs/core/marketPriceRollup.js +153 -0
- package/dist/_internal/server/jobs/core/obligationSweep.d.ts +36 -0
- package/dist/_internal/server/jobs/core/obligationSweep.js +503 -0
- package/dist/_internal/server/jobs/core/paymentReconcile.d.ts +79 -0
- package/dist/_internal/server/jobs/core/paymentReconcile.js +614 -0
- package/dist/_internal/server/jobs/core/paymentWindowTimeout.js +34 -0
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +35 -4
- package/dist/_internal/server/jobs/handlers/boxRollupReconcile.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/boxRollupReconcile.js +15 -0
- package/dist/_internal/server/jobs/handlers/countersReconcileNow.d.ts +65 -0
- package/dist/_internal/server/jobs/handlers/countersReconcileNow.js +89 -0
- package/dist/_internal/server/jobs/handlers/index.d.ts +5 -0
- package/dist/_internal/server/jobs/handlers/index.js +5 -0
- package/dist/_internal/server/jobs/handlers/marketPriceRollup.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/marketPriceRollup.js +2 -0
- package/dist/_internal/server/jobs/handlers/messages.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/messages.js +1 -1
- package/dist/_internal/server/jobs/handlers/obligationSweep.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/obligationSweep.js +15 -0
- package/dist/_internal/server/jobs/handlers/onShipmentAllocationSync.js +30 -1
- package/dist/_internal/server/jobs/handlers/paymentReconcile.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/paymentReconcile.js +6 -0
- package/dist/_internal/shared/actions/action-registry.d.ts +1 -1
- package/dist/_internal/shared/actions/action-registry.js +71 -0
- package/dist/_internal/shared/checkout/coupon-discount.d.ts +73 -0
- package/dist/_internal/shared/checkout/coupon-discount.js +103 -0
- package/dist/_internal/shared/checkout/lanes.d.ts +42 -0
- package/dist/_internal/shared/checkout/lanes.js +46 -0
- package/dist/_internal/shared/checkout/order-math.d.ts +149 -1
- package/dist/_internal/shared/checkout/order-math.js +251 -3
- package/dist/_internal/shared/checkout/refundable-base.d.ts +116 -0
- package/dist/_internal/shared/checkout/refundable-base.js +122 -0
- package/dist/_internal/shared/features/auctions/config.d.ts +14 -1
- package/dist/_internal/shared/features/auctions/config.js +30 -1
- package/dist/_internal/shared/features/brands/schema.d.ts +42 -0
- package/dist/_internal/shared/features/brands/schema.js +18 -0
- package/dist/_internal/shared/features/orders/refund-copy.d.ts +22 -0
- package/dist/_internal/shared/features/orders/refund-copy.js +34 -0
- package/dist/_internal/shared/features/print/label-profiles.d.ts +198 -0
- package/dist/_internal/shared/features/print/label-profiles.js +350 -0
- package/dist/_internal/shared/features/products/to-product-item.js +33 -5
- package/dist/_internal/shared/fees/calculator.d.ts +31 -2
- package/dist/_internal/shared/fees/calculator.js +103 -5
- package/dist/_internal/shared/fees/india-states.d.ts +195 -0
- package/dist/_internal/shared/fees/india-states.js +190 -0
- package/dist/_internal/shared/fees/payout-hold.d.ts +80 -0
- package/dist/_internal/shared/fees/payout-hold.js +74 -0
- package/dist/_internal/shared/obligations/deadlines.d.ts +94 -0
- package/dist/_internal/shared/obligations/deadlines.js +155 -0
- package/dist/_internal/shared/shipping/quote.d.ts +96 -0
- package/dist/_internal/shared/shipping/quote.js +67 -0
- package/dist/_internal/shared/time/business-days.d.ts +91 -0
- package/dist/_internal/shared/time/business-days.js +185 -0
- package/dist/_internal/shared/types/base-document.d.ts +1 -1
- package/dist/cli/index.js +0 -2
- package/dist/client.d.ts +9 -4
- package/dist/client.js +26 -3
- package/dist/configs/tailwind.d.ts +0 -12
- package/dist/configs/tailwind.js +28 -15
- package/dist/constants/api-endpoints.d.ts +51 -9
- package/dist/constants/api-endpoints.js +23 -7
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/index.js +1 -1
- package/dist/constants/seed-meta.d.ts +113 -0
- package/dist/constants/seed-meta.js +91 -0
- package/dist/contracts/index.d.ts +1 -1
- package/dist/contracts/payment.d.ts +131 -0
- package/dist/features/about/components/AboutView.js +1 -1
- package/dist/features/about/components/DeveloperView.js +5 -2
- package/dist/features/about/components/FAQPageView.js +2 -1
- package/dist/features/about/components/FeesView.js +2 -1
- package/dist/features/about/components/HelpPageView.js +2 -1
- package/dist/features/about/components/HowAuctionsWorkView.js +2 -1
- package/dist/features/about/components/HowCheckoutWorksView.js +2 -1
- package/dist/features/about/components/HowEmiWorksView.js +2 -1
- package/dist/features/about/components/HowOffersWorkView.js +2 -1
- package/dist/features/about/components/HowOrdersWorkView.js +2 -1
- package/dist/features/about/components/HowPayoutsWorkView.js +2 -1
- package/dist/features/about/components/HowPreOrdersWorkView.js +2 -1
- package/dist/features/about/components/HowReviewsWorkView.js +2 -1
- package/dist/features/about/components/PolicyPageView.js +2 -1
- package/dist/features/about/components/ProseHero.d.ts +73 -0
- package/dist/features/about/components/ProseHero.js +18 -0
- package/dist/features/about/components/SecurityPrivacyView.js +2 -1
- package/dist/features/about/components/ShippingPolicyView.js +2 -1
- package/dist/features/about/components/TrackOrderView.js +2 -1
- package/dist/features/about/components/UnauthorizedView.js +1 -1
- package/dist/features/about/index.d.ts +2 -0
- package/dist/features/about/index.js +5 -0
- package/dist/features/account/actions/address-actions.d.ts +26 -2
- package/dist/features/account/actions/address-actions.js +25 -1
- package/dist/features/account/components/BuyerShoppingGuideView.js +1 -1
- package/dist/features/account/components/NotificationPreferencesPanel.js +1 -1
- package/dist/features/account/components/UserOrdersView.js +17 -0
- package/dist/features/account/components/UserSidebar.js +1 -1
- package/dist/features/account/hooks/useNotifications.js +29 -0
- package/dist/features/admin/actions/admin-coupon-actions.js +36 -0
- package/dist/features/admin/components/AdminBeysView.js +2 -2
- package/dist/features/admin/components/AdminBlogEditorView.js +2 -2
- package/dist/features/admin/components/AdminBrandEditorView.js +32 -2
- package/dist/features/admin/components/AdminBundleEditorView.js +1 -1
- package/dist/features/admin/components/AdminCarouselEditorView.js +1 -1
- package/dist/features/admin/components/AdminCategoriesView.js +1 -1
- package/dist/features/admin/components/AdminCategoryEditorView.js +73 -17
- package/dist/features/admin/components/AdminContactEditorView.js +1 -1
- package/dist/features/admin/components/AdminCouponEditorView.js +26 -1
- package/dist/features/admin/components/AdminFaqEditorView.js +1 -1
- package/dist/features/admin/components/AdminFaqsView.js +2 -2
- package/dist/features/admin/components/AdminGatewayEventsView.d.ts +54 -0
- package/dist/features/admin/components/AdminGatewayEventsView.js +209 -0
- package/dist/features/admin/components/AdminGuideHubView.js +1 -1
- package/dist/features/admin/components/AdminMoneyCasesView.d.ts +60 -0
- package/dist/features/admin/components/AdminMoneyCasesView.js +287 -0
- package/dist/features/admin/components/AdminPartsView.js +2 -2
- package/dist/features/admin/components/AdminProductsView.js +75 -4
- package/dist/features/admin/components/AdminSidebar.js +2 -2
- package/dist/features/admin/components/AdminSiteSettingsView.js +65 -7
- package/dist/features/admin/components/AdminSublistingCategoriesView.js +2 -0
- package/dist/features/admin/components/AdminSupportTicketDetailView.js +1 -1
- package/dist/features/admin/components/AdminSupportTicketsView.js +2 -2
- package/dist/features/admin/components/AdminTesterChecklistView.js +2 -2
- package/dist/features/admin/components/AdminUsersView.js +72 -1
- package/dist/features/admin/components/AdminViewCards.d.ts +3 -1
- package/dist/features/admin/components/AdminViewCards.js +4 -4
- package/dist/features/admin/components/DataListingView.d.ts +28 -0
- package/dist/features/admin/components/DataListingView.js +175 -14
- package/dist/features/admin/components/DataTable.d.ts +12 -1
- package/dist/features/admin/components/DataTable.js +3 -3
- package/dist/features/admin/components/OwnerQuickActions.d.ts +1 -1
- package/dist/features/admin/components/OwnerQuickActions.js +60 -2
- package/dist/features/admin/components/RecordOwnerQuickActions.d.ts +1 -1
- package/dist/features/admin/components/RecordOwnerQuickActions.js +61 -14
- package/dist/features/admin/components/analytics/AdminStatCard.d.ts +35 -1
- package/dist/features/admin/components/analytics/AdminStatCard.js +77 -2
- package/dist/features/admin/components/index.d.ts +4 -0
- package/dist/features/admin/components/index.js +6 -0
- package/dist/features/admin/constants/filter-tabs.d.ts +156 -0
- package/dist/features/admin/constants/filter-tabs.js +106 -0
- package/dist/features/admin/repository/site-settings.repository.d.ts +22 -0
- package/dist/features/admin/repository/site-settings.repository.js +82 -1
- package/dist/features/admin/schemas/admin-editor-forms.d.ts +21 -0
- package/dist/features/admin/schemas/admin-editor-forms.js +44 -0
- package/dist/features/admin/schemas/firestore.js +5 -1
- package/dist/features/admin/schemas/site-settings-form.js +30 -1
- package/dist/features/auctions/actions/bid-actions.js +13 -1
- package/dist/features/auctions/components/AuctionBottomActions.js +2 -2
- package/dist/features/auctions/components/AuctionDetailPageView.js +3 -1
- package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +11 -0
- package/dist/features/auctions/components/MarketplaceAuctionCard.js +5 -3
- package/dist/features/auctions/components/PlaceBidFormClient.d.ts +8 -1
- package/dist/features/auctions/components/PlaceBidFormClient.js +2 -2
- package/dist/features/audit-log/schemas/firestore.d.ts +28 -0
- package/dist/features/audit-log/schemas/firestore.js +14 -0
- package/dist/features/auth/permissions/constants.d.ts +17 -1
- package/dist/features/auth/permissions/constants.js +18 -0
- package/dist/features/blog/components/BlogPostView.js +1 -1
- package/dist/features/catalogue/components/AdminCatalogueApprovalsView.js +1 -1
- package/dist/features/categories/api/[id]/description-template/route.js +107 -1
- package/dist/features/categories/components/BrandDetailPageView.js +2 -2
- package/dist/features/categories/components/BreadcrumbTrail.js +7 -1
- package/dist/features/categories/components/BundleDetailView.js +1 -1
- package/dist/features/categories/components/CategoryDetailPageView.js +2 -2
- package/dist/features/categories/components/CategoryForm.js +12 -1
- package/dist/features/categories/components/CategoryTemplatePicker.js +38 -5
- package/dist/features/categories/repository/market-price-index.repository.d.ts +123 -0
- package/dist/features/categories/repository/market-price-index.repository.js +105 -0
- package/dist/features/categories/repository/price-observation.repository.d.ts +166 -0
- package/dist/features/categories/repository/price-observation.repository.js +132 -0
- package/dist/features/events/components/EventSaleBanner.js +1 -1
- package/dist/features/events/components/EventStatusBadge.js +1 -1
- package/dist/features/faq/components/FAQAccordion.js +2 -1
- package/dist/features/faq/components/FAQCategorySidebar.js +2 -2
- package/dist/features/faq/components/FAQHelpfulButtons.js +4 -4
- package/dist/features/faq/components/RelatedFAQs.js +1 -1
- package/dist/features/filters/FilterFacetSection.js +1 -1
- package/dist/features/filters/SwitchFilter.js +1 -1
- package/dist/features/gateway-events/repository/gateway-events.repository.d.ts +117 -0
- package/dist/features/gateway-events/repository/gateway-events.repository.js +274 -0
- package/dist/features/gateway-events/schemas/firestore.d.ts +217 -0
- package/dist/features/gateway-events/schemas/firestore.js +125 -0
- package/dist/features/gateway-events/schemas/index.d.ts +81 -0
- package/dist/features/gateway-events/schemas/index.js +79 -0
- package/dist/features/grouped/components/GroupedListingDetailView.js +1 -1
- package/dist/features/homepage/components/AnnouncementBar.js +37 -1
- package/dist/features/homepage/components/AnnouncementBar.style.css +30 -0
- package/dist/features/homepage/components/BrandsSection.js +1 -1
- package/dist/features/homepage/components/CTABannerSection.js +1 -1
- package/dist/features/homepage/components/FeaturedBundlesSection.js +14 -24
- package/dist/features/homepage/components/HeroCarousel.js +2 -2
- package/dist/features/homepage/components/SocialPostCard.js +1 -1
- package/dist/features/inventory/components/AdminMoveLedgerView.d.ts +7 -0
- package/dist/features/inventory/components/AdminMoveLedgerView.js +157 -0
- package/dist/features/inventory/components/AdminStorageBoxesView.d.ts +11 -0
- package/dist/features/inventory/components/AdminStorageBoxesView.js +168 -0
- package/dist/features/inventory/components/ReceiveStationView.d.ts +39 -0
- package/dist/features/inventory/components/ReceiveStationView.js +413 -0
- package/dist/features/inventory/components/operator-message.d.ts +29 -0
- package/dist/features/inventory/components/operator-message.js +41 -0
- package/dist/features/inventory/index.d.ts +13 -0
- package/dist/features/inventory/index.js +28 -0
- package/dist/features/inventory/repository/inventory-movements.repository.d.ts +97 -0
- package/dist/features/inventory/repository/inventory-movements.repository.js +186 -0
- package/dist/features/inventory/repository/inventory-placements.repository.d.ts +179 -0
- package/dist/features/inventory/repository/inventory-placements.repository.js +345 -0
- package/dist/features/inventory/repository/storage-boxes.repository.d.ts +83 -0
- package/dist/features/inventory/repository/storage-boxes.repository.js +127 -0
- package/dist/features/inventory/schemas/firestore.d.ts +197 -0
- package/dist/features/inventory/schemas/firestore.js +159 -0
- package/dist/features/layout/AppLayoutShell.d.ts +12 -1
- package/dist/features/layout/AppLayoutShell.js +25 -12
- package/dist/features/layout/AutoBreadcrumbs.js +162 -3
- package/dist/features/layout/AutoBreadcrumbs.style.css +45 -0
- package/dist/features/layout/BottomNavbar.d.ts +1 -1
- package/dist/features/layout/BottomNavbar.js +2 -2
- package/dist/features/media/MediaAvatar.js +1 -1
- package/dist/features/media/MediaImage.d.ts +24 -4
- package/dist/features/media/MediaImage.js +44 -4
- package/dist/features/media/MediaLightbox.js +1 -1
- package/dist/features/media/modals/ImageCropModal.js +1 -1
- package/dist/features/media/modals/ImageEditor.js +1 -1
- package/dist/features/media/upload/MediaUploadField.js +91 -3
- package/dist/features/obligations/constants/policies.d.ts +92 -0
- package/dist/features/obligations/constants/policies.js +378 -0
- package/dist/features/obligations/repository/obligations.repository.d.ts +68 -0
- package/dist/features/obligations/repository/obligations.repository.js +158 -0
- package/dist/features/obligations/schemas/firestore.d.ts +160 -0
- package/dist/features/obligations/schemas/firestore.js +87 -0
- package/dist/features/orders/actions/order-actions.d.ts +43 -4
- package/dist/features/orders/actions/order-actions.js +60 -3
- package/dist/features/orders/actions/refund-actions.js +70 -10
- package/dist/features/orders/components/OrderCompletionPanel.d.ts +27 -0
- package/dist/features/orders/components/OrderCompletionPanel.js +192 -0
- package/dist/features/orders/components/OrdersList.js +2 -2
- package/dist/features/orders/components/RefundHistoryTable.js +3 -1
- package/dist/features/orders/components/index.d.ts +2 -0
- package/dist/features/orders/components/index.js +6 -0
- package/dist/features/orders/constants/transitions.d.ts +59 -0
- package/dist/features/orders/constants/transitions.js +104 -0
- package/dist/features/orders/repository/orders.repository.d.ts +109 -6
- package/dist/features/orders/repository/orders.repository.js +464 -21
- package/dist/features/orders/schemas/firestore.d.ts +270 -0
- package/dist/features/orders/schemas/firestore.js +24 -0
- package/dist/features/orders/schemas/index.d.ts +61 -0
- package/dist/features/orders/schemas/index.js +22 -0
- package/dist/features/orders/types/index.d.ts +79 -0
- package/dist/features/parts/components/PartsIndexPageView.js +8 -1
- package/dist/features/payment-cases/repository/payment-cases.repository.d.ts +170 -0
- package/dist/features/payment-cases/repository/payment-cases.repository.js +342 -0
- package/dist/features/payment-cases/schemas/firestore.d.ts +229 -0
- package/dist/features/payment-cases/schemas/firestore.js +105 -0
- package/dist/features/payment-cases/schemas/resolve-form.d.ts +97 -0
- package/dist/features/payment-cases/schemas/resolve-form.js +114 -0
- package/dist/features/payments/repository/payout.repository.d.ts +0 -1
- package/dist/features/payments/repository/payout.repository.js +0 -1
- package/dist/features/points/repository/points.repository.d.ts +122 -0
- package/dist/features/points/repository/points.repository.js +304 -1
- package/dist/features/points/schemas/adjust-form.d.ts +58 -0
- package/dist/features/points/schemas/adjust-form.js +63 -0
- package/dist/features/points/schemas/firestore.d.ts +108 -1
- package/dist/features/points/schemas/firestore.js +84 -0
- package/dist/features/pre-orders/components/MarketplacePreorderCard.js +3 -3
- package/dist/features/pre-orders/components/PreOrderBadge.js +1 -1
- package/dist/features/pre-orders/components/PreOrderDetailPageView.js +1 -1
- package/dist/features/price-index/components/PriceIndexToolView.d.ts +23 -4
- package/dist/features/price-index/components/PriceIndexToolView.js +71 -6
- package/dist/features/price-index/market-stats.d.ts +82 -0
- package/dist/features/price-index/market-stats.js +230 -0
- package/dist/features/print/components/BoxLabelPrintView.d.ts +25 -0
- package/dist/features/print/components/BoxLabelPrintView.js +66 -0
- package/dist/features/print/components/LabelProfilePicker.d.ts +13 -0
- package/dist/features/print/components/LabelProfilePicker.js +38 -0
- package/dist/features/print/components/labels.d.ts +117 -0
- package/dist/features/print/components/labels.js +258 -0
- package/dist/features/print/components/labels.style.css +46 -0
- package/dist/features/print/index.d.ts +6 -0
- package/dist/features/print/index.js +16 -0
- package/dist/features/products/columns/productTableColumns.js +5 -4
- package/dist/features/products/components/MarketplaceBundleCard.js +2 -2
- package/dist/features/products/components/MarketplacePrizeDrawCard.js +6 -6
- package/dist/features/products/components/PrizeDrawCollage.js +1 -1
- package/dist/features/products/components/PrizeDrawItemsEditor.js +1 -1
- package/dist/features/products/components/PrizeRevealModal.js +2 -2
- package/dist/features/products/components/ProductDetailPageView.js +18 -4
- package/dist/features/products/components/ProductForm.js +34 -23
- package/dist/features/products/components/ProductGrid.js +86 -62
- package/dist/features/products/constants/card-badges.d.ts +97 -0
- package/dist/features/products/constants/card-badges.js +100 -0
- package/dist/features/products/repository/products.repository.js +34 -1
- package/dist/features/products/schemas/firestore.d.ts +46 -3
- package/dist/features/products/schemas/firestore.js +21 -0
- package/dist/features/promotions/components/PromotionsView.js +1 -1
- package/dist/features/promotions/repository/claimed-coupons.repository.d.ts +32 -0
- package/dist/features/promotions/repository/claimed-coupons.repository.js +58 -0
- package/dist/features/promotions/schemas/firestore.js +30 -3
- package/dist/features/promotions/schemas/index.d.ts +6 -6
- package/dist/features/protection-claims/repository/protection-claims.repository.d.ts +54 -0
- package/dist/features/protection-claims/repository/protection-claims.repository.js +174 -0
- package/dist/features/protection-claims/schemas/firestore.d.ts +168 -0
- package/dist/features/protection-claims/schemas/firestore.js +130 -0
- package/dist/features/reviews/actions/review-actions.js +3 -2
- package/dist/features/reviews/components/ReviewModal.js +1 -1
- package/dist/features/reviews/components/ReviewsList.js +1 -1
- package/dist/features/reviews/schemas/firestore.d.ts +20 -1
- package/dist/features/scams/constants/scam-types.d.ts +2 -0
- package/dist/features/scams/constants/scam-types.js +18 -0
- package/dist/features/scams/schemas/report-form.d.ts +3 -3
- package/dist/features/scams/schemas/report-form.js +26 -1
- package/dist/features/search/components/Search.js +9 -9
- package/dist/features/search/components/SearchResultsClient.js +18 -3
- package/dist/features/search/components/SearchResultsPageView.d.ts +1 -6
- package/dist/features/search/components/SearchResultsPageView.js +2 -2
- package/dist/features/seller/actions/offer-actions.js +16 -1
- package/dist/features/seller/actions/seller-actions.js +14 -3
- package/dist/features/seller/components/CategoryInlineSelect.js +75 -11
- package/dist/features/seller/components/PrintCenterView.d.ts +5 -0
- package/dist/features/seller/components/PrintCenterView.js +41 -30
- package/dist/features/seller/components/SellerOrdersView.js +1 -1
- package/dist/features/seller/components/SellerPayoutRequestView.js +16 -5
- package/dist/features/seller/components/SellerPayoutSettingsView.js +1 -1
- package/dist/features/seller/components/SellerProductShell.d.ts +16 -0
- package/dist/features/seller/components/SellerProductShell.js +123 -13
- package/dist/features/seller/components/SellerReviewsView.js +4 -2
- package/dist/features/seller/components/SellerSidebar.js +1 -1
- package/dist/features/seller/schemas/coupon-form.d.ts +26 -0
- package/dist/features/seller/schemas/coupon-form.js +27 -0
- package/dist/features/seller/schemas/product-form.d.ts +3 -0
- package/dist/features/seller/schemas/product-form.js +5 -0
- package/dist/features/shell/FormShell.js +2 -2
- package/dist/features/shell/QuickFormDrawer.js +14 -0
- package/dist/features/shell/SectionForm.d.ts +19 -0
- package/dist/features/shell/SectionForm.js +133 -9
- package/dist/features/shell/SectionForm.style.css +54 -0
- package/dist/features/shipments/components/AdminShipmentsView.js +16 -1
- package/dist/features/shipments/repository/shipment-items.repository.d.ts +9 -0
- package/dist/features/shipments/repository/shipment-items.repository.js +14 -0
- package/dist/features/site-settings/components/ActionPermissionsManager.js +1 -1
- package/dist/features/sticker-trace/components/StickerCommitPanel.js +1 -1
- package/dist/features/store-extensions/schemas/report-review-form.d.ts +8 -8
- package/dist/features/stores/components/StoreGuideHubView.js +1 -1
- package/dist/features/stores/components/StoreHeader.js +1 -1
- package/dist/features/support/schemas/firestore.d.ts +73 -2
- package/dist/features/support/schemas/firestore.js +59 -0
- package/dist/index.d.ts +16 -155
- package/dist/index.js +88 -341
- package/dist/next/ErrorBoundary.js +1 -1
- package/dist/next/routing/route-map.d.ts +24 -0
- package/dist/next/routing/route-map.js +40 -0
- package/dist/providers/payment-manual/index.d.ts +15 -1
- package/dist/providers/payment-manual/index.js +37 -0
- package/dist/providers/payment-phonepe/index.d.ts +14 -1
- package/dist/providers/payment-phonepe/index.js +36 -0
- package/dist/providers/payment-razorpay/index.d.ts +44 -1
- package/dist/providers/payment-razorpay/index.js +99 -0
- package/dist/providers/shipping-shiprocket/index.d.ts +18 -0
- package/dist/providers/shipping-shiprocket/index.js +18 -0
- package/dist/schemas/registry.d.ts +44 -11
- package/dist/server-entry.d.ts +2 -0
- package/dist/server-entry.js +27 -0
- package/dist/server.d.ts +42 -69
- package/dist/server.js +93 -69
- package/dist/styles.css +418 -149
- package/dist/tailwind-utilities.css +1 -1
- package/dist/tokens/themes/default-dark.js +15 -12
- package/dist/tokens/themes/default-light.js +14 -11
- package/dist/tokens/tokens.css +106 -23
- package/dist/ui/DataTable.style.css +4 -4
- package/dist/ui/columns/cell-renderers.d.ts +20 -0
- package/dist/ui/columns/cell-renderers.js +26 -1
- package/dist/ui/columns/index.d.ts +1 -1
- package/dist/ui/columns/index.js +4 -1
- package/dist/ui/components/Badge.style.css +1 -1
- package/dist/ui/components/Breadcrumb.js +19 -1
- package/dist/ui/components/BulkActionBar.style.css +4 -4
- package/dist/ui/components/Button.style.css +1 -1
- package/dist/ui/components/Checkbox.style.css +1 -1
- package/dist/ui/components/FallbackShell.js +1 -1
- package/dist/ui/components/Form.d.ts +14 -1
- package/dist/ui/components/Form.js +2 -2
- package/dist/ui/components/FormField.js +18 -4
- package/dist/ui/components/FormField.style.css +43 -3
- package/dist/ui/components/GatedPrice.style.css +1 -1
- package/dist/ui/components/IconButton.style.css +1 -1
- package/dist/ui/components/Input.js +22 -1
- package/dist/ui/components/Input.style.css +38 -22
- package/dist/ui/components/ListingFilterDrawer.js +1 -1
- package/dist/ui/components/ListingToolbar.js +1 -1
- package/dist/ui/components/PaginatedSelect.js +0 -0
- package/dist/ui/components/Radio.style.css +1 -1
- package/dist/ui/components/Repeater.d.ts +53 -0
- package/dist/ui/components/Repeater.js +7 -0
- package/dist/ui/components/RichTextEditor.d.ts +20 -1
- package/dist/ui/components/RichTextEditor.js +23 -2
- package/dist/ui/components/Select.style.css +7 -21
- package/dist/ui/components/Semantic.js +27 -3
- package/dist/ui/components/TagInput.style.css +4 -9
- package/dist/ui/components/Textarea.style.css +4 -18
- package/dist/ui/components/Toggle.style.css +1 -1
- package/dist/ui/components/Typography.d.ts +3 -3
- package/dist/ui/components/Typography.js +15 -15
- package/dist/ui/components/ViewToggle.style.css +4 -4
- package/dist/ui/forms/AddAnotherToggle.d.ts +16 -0
- package/dist/ui/forms/AddAnotherToggle.js +56 -0
- package/dist/ui/forms/ColorPickerField.js +15 -2
- package/dist/ui/forms/FieldCheckbox.js +15 -2
- package/dist/ui/forms/FieldInput.d.ts +22 -1
- package/dist/ui/forms/FieldInput.js +19 -5
- package/dist/ui/forms/FieldLabel.d.ts +35 -0
- package/dist/ui/forms/FieldLabel.js +70 -0
- package/dist/ui/forms/FieldSelect.d.ts +4 -1
- package/dist/ui/forms/FieldSelect.js +27 -5
- package/dist/ui/forms/FieldTextarea.d.ts +4 -1
- package/dist/ui/forms/FieldTextarea.js +22 -5
- package/dist/ui/forms/FormShell.d.ts +17 -1
- package/dist/ui/forms/FormShell.js +36 -2
- package/dist/ui/forms/FormShell.style.css +41 -33
- package/dist/ui/forms/index.d.ts +5 -1
- package/dist/ui/forms/index.js +2 -0
- package/dist/ui/icons/icon-registry.d.ts +1 -0
- package/dist/ui/icons/icon-registry.js +17 -1
- package/dist/utils/id-generators.d.ts +80 -0
- package/dist/utils/id-generators.js +93 -0
- package/dist/utils/search-txt-builders.d.ts +12 -0
- package/dist/utils/search-txt-builders.js +17 -0
- package/package.json +4 -2
- package/scripts/seed-cli.mjs +175 -6
- package/dist/features/loyalty/api/admin/loyalty/grant/route.d.ts +0 -12
- package/dist/features/loyalty/api/admin/loyalty/grant/route.js +0 -38
- package/dist/features/loyalty/api/balance/route.d.ts +0 -12
- package/dist/features/loyalty/api/balance/route.js +0 -41
- package/dist/features/loyalty/api/earn/route.d.ts +0 -12
- package/dist/features/loyalty/api/earn/route.js +0 -38
- package/dist/features/loyalty/api/history/route.d.ts +0 -12
- package/dist/features/loyalty/api/history/route.js +0 -58
- package/dist/features/loyalty/api/redeem/route.d.ts +0 -12
- package/dist/features/loyalty/api/redeem/route.js +0 -38
- package/dist/features/loyalty/columns/index.d.ts +0 -17
- package/dist/features/loyalty/columns/index.js +0 -40
- package/dist/features/loyalty/components/CoinsDisplay.d.ts +0 -12
- package/dist/features/loyalty/components/CoinsDisplay.js +0 -10
- package/dist/features/loyalty/components/index.d.ts +0 -1
- package/dist/features/loyalty/components/index.js +0 -1
- package/dist/features/loyalty/hooks/useLoyaltyBalance.d.ts +0 -4
- package/dist/features/loyalty/hooks/useLoyaltyBalance.js +0 -25
- package/dist/features/loyalty/index.d.ts +0 -6
- package/dist/features/loyalty/index.js +0 -6
- package/dist/features/loyalty/manifest.d.ts +0 -2
- package/dist/features/loyalty/manifest.js +0 -16
- package/dist/features/loyalty/messages/en.json +0 -19
- package/dist/features/loyalty/repository/loyalty.repository.d.ts +0 -8
- package/dist/features/loyalty/repository/loyalty.repository.js +0 -22
- package/dist/features/loyalty/schemas/index.d.ts +0 -85
- package/dist/features/loyalty/schemas/index.js +0 -40
- package/dist/features/loyalty/server.d.ts +0 -6
- package/dist/features/loyalty/server.js +0 -6
- package/dist/features/loyalty/types/index.d.ts +0 -31
- package/dist/features/loyalty/types/index.js +0 -1
- package/dist/features/loyalty/types/loyalty-config.d.ts +0 -7
- package/dist/features/loyalty/types/loyalty-config.js +0 -1
- package/dist/features/loyalty/types/loyalty-math.d.ts +0 -9
- package/dist/features/loyalty/types/loyalty-math.js +0 -27
- package/dist/features/products/components/ProductOwnerQuickActions.d.ts +0 -11
- package/dist/features/products/components/ProductOwnerQuickActions.js +0 -120
- package/dist/features/tester/seed-data/_happy-path.d.ts +0 -23
- package/dist/features/tester/seed-data/_happy-path.js +0 -710
- package/dist/features/tester/seed-data/_money-flows.d.ts +0 -23
- package/dist/features/tester/seed-data/_money-flows.js +0 -610
- package/dist/features/tester/seed-data/authored/_types.d.ts +0 -57
- package/dist/features/tester/seed-data/authored/_types.js +0 -35
- package/dist/features/tester/seed-data/authored/account-auth__profile-settings.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/account-auth__profile-settings.js +0 -226
- package/dist/features/tester/seed-data/authored/account-auth__signup-login.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/account-auth__signup-login.js +0 -329
- package/dist/features/tester/seed-data/authored/addresses__address-filters.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__address-filters.js +0 -41
- package/dist/features/tester/seed-data/authored/addresses__postal-lookup.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__postal-lookup.js +0 -76
- package/dist/features/tester/seed-data/authored/addresses__postal-validation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__postal-validation.js +0 -78
- package/dist/features/tester/seed-data/authored/addresses__state-picker.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__state-picker.js +0 -59
- package/dist/features/tester/seed-data/authored/addresses__unban-request.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__unban-request.js +0 -77
- package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.js +0 -151
- package/dist/features/tester/seed-data/authored/admin__bans-and-trust.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bans-and-trust.js +0 -265
- package/dist/features/tester/seed-data/authored/admin__blog-faqs.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__blog-faqs.js +0 -131
- package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.js +0 -143
- package/dist/features/tester/seed-data/authored/admin__bulk-actions.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bulk-actions.js +0 -207
- package/dist/features/tester/seed-data/authored/admin__bundles.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bundles.js +0 -144
- package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.js +0 -265
- package/dist/features/tester/seed-data/authored/admin__catalog-listings.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__catalog-listings.js +0 -318
- package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.js +0 -177
- package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.js +0 -165
- package/dist/features/tester/seed-data/authored/admin__content-deletes.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__content-deletes.js +0 -267
- package/dist/features/tester/seed-data/authored/admin__content-marketing.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__content-marketing.js +0 -188
- package/dist/features/tester/seed-data/authored/admin__coupons.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__coupons.js +0 -215
- package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.js +0 -202
- package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.js +0 -249
- package/dist/features/tester/seed-data/authored/admin__media-watermark.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__media-watermark.js +0 -148
- package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.js +0 -350
- package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.js +0 -129
- package/dist/features/tester/seed-data/authored/admin__site-system.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__site-system.js +0 -586
- package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.js +0 -260
- package/dist/features/tester/seed-data/authored/admin__users-trust.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__users-trust.js +0 -569
- package/dist/features/tester/seed-data/authored/buying__bidding.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__bidding.js +0 -449
- package/dist/features/tester/seed-data/authored/buying__browsing-search.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__browsing-search.js +0 -684
- package/dist/features/tester/seed-data/authored/buying__buying-checkout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__buying-checkout.js +0 -546
- package/dist/features/tester/seed-data/authored/buying__buying-coupons.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__buying-coupons.js +0 -379
- package/dist/features/tester/seed-data/authored/buying__cart.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__cart.js +0 -1264
- package/dist/features/tester/seed-data/authored/buying__image-tile-layout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__image-tile-layout.js +0 -122
- package/dist/features/tester/seed-data/authored/buying__my-orders.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__my-orders.js +0 -279
- package/dist/features/tester/seed-data/authored/buying__offers.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__offers.js +0 -1127
- package/dist/features/tester/seed-data/authored/buying__order-detail-actions.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__order-detail-actions.js +0 -153
- package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.js +0 -252
- package/dist/features/tester/seed-data/authored/buying__product-detail.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__product-detail.js +0 -474
- package/dist/features/tester/seed-data/authored/buying__return-request.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__return-request.js +0 -165
- package/dist/features/tester/seed-data/authored/buying__reviews-pagination.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__reviews-pagination.js +0 -260
- package/dist/features/tester/seed-data/authored/buying__reviews.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__reviews.js +0 -128
- package/dist/features/tester/seed-data/authored/buying__spares-and-groups.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__spares-and-groups.js +0 -96
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.js +0 -283
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.js +0 -169
- package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.js +0 -105
- package/dist/features/tester/seed-data/authored/buying__wishlist-history.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__wishlist-history.js +0 -374
- package/dist/features/tester/seed-data/authored/community-support__messages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/community-support__messages.js +0 -200
- package/dist/features/tester/seed-data/authored/community-support__public-profile.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/community-support__public-profile.js +0 -54
- package/dist/features/tester/seed-data/authored/community-support__support-tickets.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/community-support__support-tickets.js +0 -76
- package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.d.ts +0 -4
- package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.js +0 -590
- package/dist/features/tester/seed-data/authored/content-discovery__blog.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__blog.js +0 -110
- package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.js +0 -149
- package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.js +0 -145
- package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.js +0 -174
- package/dist/features/tester/seed-data/authored/content-discovery__coupons.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__coupons.js +0 -169
- package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.js +0 -209
- package/dist/features/tester/seed-data/authored/content-discovery__event-participation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__event-participation.js +0 -207
- package/dist/features/tester/seed-data/authored/content-discovery__events.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__events.js +0 -377
- package/dist/features/tester/seed-data/authored/content-discovery__faq-help.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__faq-help.js +0 -87
- package/dist/features/tester/seed-data/authored/content-discovery__notifications.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__notifications.js +0 -147
- package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.js +0 -209
- package/dist/features/tester/seed-data/authored/content-discovery__parts-database.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__parts-database.js +0 -167
- package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.js +0 -73
- package/dist/features/tester/seed-data/authored/content-discovery__search.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__search.js +0 -363
- package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.js +0 -340
- package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.js +0 -88
- package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.js +0 -78
- package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.js +0 -76
- package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.js +0 -62
- package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.js +0 -163
- package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.js +0 -61
- package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.js +0 -89
- package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.js +0 -95
- package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.js +0 -191
- package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.js +0 -158
- package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.js +0 -82
- package/dist/features/tester/seed-data/authored/design-ux__footer-theme.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__footer-theme.js +0 -106
- package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.js +0 -88
- package/dist/features/tester/seed-data/authored/design-ux__general-design.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__general-design.js +0 -204
- package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.js +0 -301
- package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.js +0 -90
- package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.js +0 -85
- package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.js +0 -407
- package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.js +0 -88
- package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.js +0 -84
- package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.js +0 -214
- package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.js +0 -275
- package/dist/features/tester/seed-data/authored/index.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/index.js +0 -301
- package/dist/features/tester/seed-data/authored/page-wiring__data-loss.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__data-loss.js +0 -125
- package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.js +0 -85
- package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.js +0 -92
- package/dist/features/tester/seed-data/authored/page-wiring__reachability.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__reachability.js +0 -115
- package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.js +0 -137
- package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.js +0 -263
- package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.js +0 -229
- package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.js +0 -325
- package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.js +0 -126
- package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.js +0 -141
- package/dist/features/tester/seed-data/authored/public-pages__store-tabs.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__store-tabs.js +0 -115
- package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.js +0 -253
- package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.js +0 -93
- package/dist/features/tester/seed-data/authored/search-and-nav__header-search.d.ts +0 -3
- package/dist/features/tester/seed-data/authored/search-and-nav__header-search.js +0 -185
- package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.js +0 -82
- package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.js +0 -60
- package/dist/features/tester/seed-data/authored/selling__become-seller.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__become-seller.js +0 -117
- package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.js +0 -148
- package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.js +0 -108
- package/dist/features/tester/seed-data/authored/selling__listing-a-product.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-a-product.js +0 -274
- package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.js +0 -145
- package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.js +0 -336
- package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.js +0 -136
- package/dist/features/tester/seed-data/authored/selling__media-limits.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__media-limits.js +0 -135
- package/dist/features/tester/seed-data/authored/selling__product-upload-details.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__product-upload-details.js +0 -155
- package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.js +0 -138
- package/dist/features/tester/seed-data/authored/selling__sectionised-forms.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__sectionised-forms.js +0 -191
- package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.js +0 -138
- package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.js +0 -106
- package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.js +0 -192
- package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.js +0 -109
- package/dist/features/tester/seed-data/authored/selling__seller-guide.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-guide.js +0 -34
- package/dist/features/tester/seed-data/authored/selling__seller-listing-types.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-listing-types.js +0 -348
- package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.js +0 -87
- package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.js +0 -90
- package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.js +0 -85
- package/dist/features/tester/seed-data/authored/selling__seller-orders.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-orders.js +0 -213
- package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.js +0 -192
- package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.js +0 -77
- package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.js +0 -165
- package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.js +0 -116
- package/dist/features/tester/seed-data/authored/seo__canonical-and-host.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__canonical-and-host.js +0 -127
- package/dist/features/tester/seed-data/authored/seo__og-images.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__og-images.js +0 -107
- package/dist/features/tester/seed-data/authored/seo__page-metadata.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__page-metadata.js +0 -120
- package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.js +0 -105
- package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.js +0 -58
- package/dist/features/tester/seed-data/authored/tools__sticker-tracer.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/tools__sticker-tracer.js +0 -284
- package/dist/features/tester/seed-data/index.d.ts +0 -2
- package/dist/features/tester/seed-data/index.js +0 -2
- package/dist/features/tester/seed-data/tester-checklist-seed-data.d.ts +0 -2
- package/dist/features/tester/seed-data/tester-checklist-seed-data.js +0 -7601
- package/dist/features/tester/seed-data/tester-responses-seed-data.d.ts +0 -2
- package/dist/features/tester/seed-data/tester-responses-seed-data.js +0 -95
- package/dist/features/tester/seed-data/tester-window.d.ts +0 -25
- package/dist/features/tester/seed-data/tester-window.js +0 -66
- package/dist/seed/_helpers/brand-rows.d.ts +0 -35
- package/dist/seed/_helpers/brand-rows.js +0 -600
- package/dist/seed/_helpers/category-content-generated.d.ts +0 -24
- package/dist/seed/_helpers/category-content-generated.js +0 -1853
- package/dist/seed/_helpers/category-content.d.ts +0 -68
- package/dist/seed/_helpers/category-content.js +0 -731
- package/dist/seed/_helpers/category-forest.d.ts +0 -4
- package/dist/seed/_helpers/category-forest.js +0 -824
- package/dist/seed/_helpers/category-images-generated.d.ts +0 -57
- package/dist/seed/_helpers/category-images-generated.js +0 -618
- package/dist/seed/_helpers/category-models/chunk0.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk0.js +0 -2648
- package/dist/seed/_helpers/category-models/chunk1.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk1.js +0 -2318
- package/dist/seed/_helpers/category-models/chunk2.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk2.js +0 -2560
- package/dist/seed/_helpers/category-models/chunk3.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk3.js +0 -2196
- package/dist/seed/_helpers/category-models/chunk4.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk4.js +0 -1732
- package/dist/seed/_helpers/category-models.d.ts +0 -12
- package/dist/seed/_helpers/category-models.js +0 -45
- package/dist/seed/_helpers/category-names.d.ts +0 -54
- package/dist/seed/_helpers/category-names.js +0 -118
- package/dist/seed/_helpers/category-parts-glossary-map.d.ts +0 -1
- package/dist/seed/_helpers/category-parts-glossary-map.js +0 -2499
- package/dist/seed/_helpers/category-parts.d.ts +0 -9
- package/dist/seed/_helpers/category-parts.js +0 -15022
- package/dist/seed/_helpers/category-tree.d.ts +0 -27
- package/dist/seed/_helpers/category-tree.js +0 -119
- package/dist/seed/_helpers/character-features.d.ts +0 -10
- package/dist/seed/_helpers/character-features.js +0 -120
- package/dist/seed/_helpers/final-sale-fixtures.d.ts +0 -35
- package/dist/seed/_helpers/final-sale-fixtures.js +0 -61
- package/dist/seed/_helpers/franchise-rows.d.ts +0 -43
- package/dist/seed/_helpers/franchise-rows.js +0 -189
- package/dist/seed/_helpers/media.d.ts +0 -67
- package/dist/seed/_helpers/media.js +0 -172
- package/dist/seed/_helpers/part-colours-generated.d.ts +0 -18
- package/dist/seed/_helpers/part-colours-generated.js +0 -273
- package/dist/seed/_helpers/product-search-txt.d.ts +0 -18
- package/dist/seed/_helpers/product-search-txt.js +0 -23
- package/dist/seed/_helpers/search-txt-wrappers.d.ts +0 -26
- package/dist/seed/_helpers/search-txt-wrappers.js +0 -58
- package/dist/seed/addresses-seed-data.d.ts +0 -2
- package/dist/seed/addresses-seed-data.js +0 -78
- package/dist/seed/authenticity-knowledge-seed-data.d.ts +0 -78
- package/dist/seed/authenticity-knowledge-seed-data.js +0 -10729
- package/dist/seed/bey-products-seed-data.d.ts +0 -18
- package/dist/seed/bey-products-seed-data.js +0 -18011
- package/dist/seed/beys/chunk0.d.ts +0 -17
- package/dist/seed/beys/chunk0.js +0 -36733
- package/dist/seed/beys/chunk1.d.ts +0 -17
- package/dist/seed/beys/chunk1.js +0 -35728
- package/dist/seed/beys/chunk2.d.ts +0 -17
- package/dist/seed/beys/chunk2.js +0 -35857
- package/dist/seed/beys/chunk3.d.ts +0 -17
- package/dist/seed/beys/chunk3.js +0 -34476
- package/dist/seed/beys-seed-data.d.ts +0 -18
- package/dist/seed/beys-seed-data.js +0 -11
- package/dist/seed/bids-seed-data.d.ts +0 -2
- package/dist/seed/bids-seed-data.js +0 -206
- package/dist/seed/blog-posts-seed-data.d.ts +0 -6
- package/dist/seed/blog-posts-seed-data.js +0 -442
- package/dist/seed/carousel-slides-seed-data.d.ts +0 -2
- package/dist/seed/carousel-slides-seed-data.js +0 -411
- package/dist/seed/carousels-seed-data.d.ts +0 -2
- package/dist/seed/carousels-seed-data.js +0 -36
- package/dist/seed/cart-seed-data.d.ts +0 -2
- package/dist/seed/cart-seed-data.js +0 -241
- package/dist/seed/catalogue-seed-data.d.ts +0 -2
- package/dist/seed/catalogue-seed-data.js +0 -112
- package/dist/seed/categories-seed-data.d.ts +0 -3
- package/dist/seed/categories-seed-data.js +0 -816
- package/dist/seed/claimed-coupons-seed-data.d.ts +0 -2
- package/dist/seed/claimed-coupons-seed-data.js +0 -85
- package/dist/seed/coupon-usage-seed-data.d.ts +0 -9
- package/dist/seed/coupon-usage-seed-data.js +0 -55
- package/dist/seed/coupons-seed-data.d.ts +0 -2
- package/dist/seed/coupons-seed-data.js +0 -226
- package/dist/seed/defaults/categories.d.ts +0 -2
- package/dist/seed/defaults/categories.js +0 -12
- package/dist/seed/defaults/faqs.d.ts +0 -2
- package/dist/seed/defaults/faqs.js +0 -40
- package/dist/seed/events-seed-data.d.ts +0 -7
- package/dist/seed/events-seed-data.js +0 -482
- package/dist/seed/factories/address.factory.d.ts +0 -21
- package/dist/seed/factories/address.factory.js +0 -44
- package/dist/seed/factories/bid.factory.d.ts +0 -15
- package/dist/seed/factories/bid.factory.js +0 -33
- package/dist/seed/factories/blog-post.factory.d.ts +0 -15
- package/dist/seed/factories/blog-post.factory.js +0 -22
- package/dist/seed/factories/carousel.factory.d.ts +0 -11
- package/dist/seed/factories/carousel.factory.js +0 -17
- package/dist/seed/factories/cart.factory.d.ts +0 -25
- package/dist/seed/factories/cart.factory.js +0 -35
- package/dist/seed/factories/category.factory.d.ts +0 -11
- package/dist/seed/factories/category.factory.js +0 -16
- package/dist/seed/factories/coupon.factory.d.ts +0 -21
- package/dist/seed/factories/coupon.factory.js +0 -43
- package/dist/seed/factories/faq.factory.d.ts +0 -10
- package/dist/seed/factories/faq.factory.js +0 -15
- package/dist/seed/factories/notification.factory.d.ts +0 -18
- package/dist/seed/factories/notification.factory.js +0 -39
- package/dist/seed/factories/order.factory.d.ts +0 -20
- package/dist/seed/factories/order.factory.js +0 -20
- package/dist/seed/factories/payout.factory.d.ts +0 -21
- package/dist/seed/factories/payout.factory.js +0 -38
- package/dist/seed/factories/product.factory.d.ts +0 -27
- package/dist/seed/factories/product.factory.js +0 -80
- package/dist/seed/factories/review.factory.d.ts +0 -14
- package/dist/seed/factories/review.factory.js +0 -52
- package/dist/seed/factories/session.factory.d.ts +0 -15
- package/dist/seed/factories/session.factory.js +0 -31
- package/dist/seed/factories/store.factory.d.ts +0 -23
- package/dist/seed/factories/store.factory.js +0 -47
- package/dist/seed/factories/user.factory.d.ts +0 -19
- package/dist/seed/factories/user.factory.js +0 -56
- package/dist/seed/faq-seed-data.d.ts +0 -18
- package/dist/seed/faq-seed-data.js +0 -1956
- package/dist/seed/firestore-indexes.d.ts +0 -12
- package/dist/seed/firestore-indexes.js +0 -31
- package/dist/seed/grouped-listings-seed-data.d.ts +0 -2
- package/dist/seed/grouped-listings-seed-data.js +0 -283
- package/dist/seed/history-seed-data.d.ts +0 -12
- package/dist/seed/history-seed-data.js +0 -70
- package/dist/seed/homepage-sections-seed-data.d.ts +0 -2
- package/dist/seed/homepage-sections-seed-data.js +0 -1034
- package/dist/seed/index.d.ts +0 -100
- package/dist/seed/index.js +0 -115
- package/dist/seed/lottery-entries-seed-data.d.ts +0 -2
- package/dist/seed/lottery-entries-seed-data.js +0 -108
- package/dist/seed/manifest.d.ts +0 -16
- package/dist/seed/manifest.js +0 -235
- package/dist/seed/media-assets-seed-data.d.ts +0 -22
- package/dist/seed/media-assets-seed-data.js +0 -5593
- package/dist/seed/model-composition-seed-data.d.ts +0 -15
- package/dist/seed/model-composition-seed-data.js +0 -9032
- package/dist/seed/notifications-seed-data.d.ts +0 -2
- package/dist/seed/notifications-seed-data.js +0 -606
- package/dist/seed/offers-seed-data.d.ts +0 -2
- package/dist/seed/offers-seed-data.js +0 -398
- package/dist/seed/orders-seed-data.d.ts +0 -2
- package/dist/seed/orders-seed-data.js +0 -845
- package/dist/seed/part-glossary/chunk0.d.ts +0 -9
- package/dist/seed/part-glossary/chunk0.js +0 -35448
- package/dist/seed/part-glossary/chunk1.d.ts +0 -9
- package/dist/seed/part-glossary/chunk1.js +0 -40494
- package/dist/seed/part-glossary/chunk2.d.ts +0 -9
- package/dist/seed/part-glossary/chunk2.js +0 -51242
- package/dist/seed/part-glossary/chunk3.d.ts +0 -9
- package/dist/seed/part-glossary/chunk3.js +0 -53337
- package/dist/seed/part-glossary/chunk4.d.ts +0 -9
- package/dist/seed/part-glossary/chunk4.js +0 -51454
- package/dist/seed/part-glossary-seed-data.d.ts +0 -15
- package/dist/seed/part-glossary-seed-data.js +0 -25
- package/dist/seed/payouts-seed-data.d.ts +0 -2
- package/dist/seed/payouts-seed-data.js +0 -302
- package/dist/seed/product-features-seed-data.d.ts +0 -3
- package/dist/seed/product-features-seed-data.js +0 -366
- package/dist/seed/products-art-seed-data.d.ts +0 -2
- package/dist/seed/products-art-seed-data.js +0 -289
- package/dist/seed/products-auctions-seed-data.d.ts +0 -2
- package/dist/seed/products-auctions-seed-data.js +0 -475
- package/dist/seed/products-beyblade-x-seed-data.d.ts +0 -2
- package/dist/seed/products-beyblade-x-seed-data.js +0 -476
- package/dist/seed/products-catalogue/chunk0.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk0.js +0 -7262
- package/dist/seed/products-catalogue/chunk1.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk1.js +0 -7290
- package/dist/seed/products-catalogue/chunk10.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk10.js +0 -7290
- package/dist/seed/products-catalogue/chunk11.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk11.js +0 -7005
- package/dist/seed/products-catalogue/chunk12.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk12.js +0 -7002
- package/dist/seed/products-catalogue/chunk13.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk13.js +0 -7002
- package/dist/seed/products-catalogue/chunk14.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk14.js +0 -7002
- package/dist/seed/products-catalogue/chunk15.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk15.js +0 -7002
- package/dist/seed/products-catalogue/chunk16.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk16.js +0 -7002
- package/dist/seed/products-catalogue/chunk17.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk17.js +0 -7002
- package/dist/seed/products-catalogue/chunk18.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk18.js +0 -4398
- package/dist/seed/products-catalogue/chunk2.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk2.js +0 -7268
- package/dist/seed/products-catalogue/chunk3.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk3.js +0 -7264
- package/dist/seed/products-catalogue/chunk4.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk4.js +0 -7268
- package/dist/seed/products-catalogue/chunk5.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk5.js +0 -7258
- package/dist/seed/products-catalogue/chunk6.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk6.js +0 -7268
- package/dist/seed/products-catalogue/chunk7.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk7.js +0 -7311
- package/dist/seed/products-catalogue/chunk8.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk8.js +0 -7304
- package/dist/seed/products-catalogue/chunk9.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk9.js +0 -7309
- package/dist/seed/products-catalogue-seed-data.d.ts +0 -2
- package/dist/seed/products-catalogue-seed-data.js +0 -60
- package/dist/seed/products-classifieds-seed-data.d.ts +0 -7
- package/dist/seed/products-classifieds-seed-data.js +0 -435
- package/dist/seed/products-digital-codes-seed-data.d.ts +0 -7
- package/dist/seed/products-digital-codes-seed-data.js +0 -395
- package/dist/seed/products-live-items-seed-data.d.ts +0 -7
- package/dist/seed/products-live-items-seed-data.js +0 -269
- package/dist/seed/products-preorders-seed-data.d.ts +0 -2
- package/dist/seed/products-preorders-seed-data.js +0 -360
- package/dist/seed/products-prize-draws-seed-data.d.ts +0 -7
- package/dist/seed/products-prize-draws-seed-data.js +0 -427
- package/dist/seed/products-spares-seed-data.d.ts +0 -2
- package/dist/seed/products-spares-seed-data.js +0 -368
- package/dist/seed/products-standard-seed-data.d.ts +0 -2
- package/dist/seed/products-standard-seed-data.js +0 -632
- package/dist/seed/products-stickers-seed-data.d.ts +0 -2
- package/dist/seed/products-stickers-seed-data.js +0 -319
- package/dist/seed/reviews-seed-data.d.ts +0 -1
- package/dist/seed/reviews-seed-data.js +0 -185
- package/dist/seed/runner.d.ts +0 -2
- package/dist/seed/runner.js +0 -125
- package/dist/seed/scammers-seed-data.d.ts +0 -2
- package/dist/seed/scammers-seed-data.js +0 -235
- package/dist/seed/seed-market-config.d.ts +0 -48
- package/dist/seed/seed-market-config.js +0 -199
- package/dist/seed/seed-purpose.d.ts +0 -299
- package/dist/seed/seed-purpose.js +0 -440
- package/dist/seed/sessions-seed-data.d.ts +0 -3
- package/dist/seed/sessions-seed-data.js +0 -116
- package/dist/seed/shipments-seed-data.d.ts +0 -5
- package/dist/seed/shipments-seed-data.js +0 -185
- package/dist/seed/site-settings-seed-data.d.ts +0 -2
- package/dist/seed/site-settings-seed-data.js +0 -1069
- package/dist/seed/store-addresses-seed-data.d.ts +0 -18
- package/dist/seed/store-addresses-seed-data.js +0 -71
- package/dist/seed/store-extensions-seed-data.d.ts +0 -11
- package/dist/seed/store-extensions-seed-data.js +0 -292
- package/dist/seed/stores-seed-data.d.ts +0 -6
- package/dist/seed/stores-seed-data.js +0 -242
- package/dist/seed/support-tickets-seed-data.d.ts +0 -16
- package/dist/seed/support-tickets-seed-data.js +0 -239
- package/dist/seed/tax-codes-seed-data.d.ts +0 -34
- package/dist/seed/tax-codes-seed-data.js +0 -100
- package/dist/seed/test-data-ttl.d.ts +0 -29
- package/dist/seed/test-data-ttl.js +0 -31
- package/dist/seed/test-utils.d.ts +0 -49
- package/dist/seed/test-utils.js +0 -110
- package/dist/seed/types.d.ts +0 -89
- package/dist/seed/types.js +0 -15
- package/dist/seed/users-seed-data.d.ts +0 -2
- package/dist/seed/users-seed-data.js +0 -597
- package/dist/seed/wishlists-seed-data.d.ts +0 -12
- package/dist/seed/wishlists-seed-data.js +0 -54
|
@@ -1,1034 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* WHY: Seeds the homepage layout β which sections render, in what order, with what copy.
|
|
3
|
-
* WHAT: 26 sections (21 enabled + 5 deliberately disabled), ordered 1..26 contiguously.
|
|
4
|
-
*
|
|
5
|
-
* π Four of those five were disabled on 2026-10-20 β auctions (3),
|
|
6
|
-
* featured-bundles (9), event-raffles (13) and prize-draws (14) β each with its
|
|
7
|
-
* own note on the switch that did it. A disabled row KEEPS its order slot, so
|
|
8
|
-
* the range stays contiguous and re-enabling one puts it back where it was
|
|
9
|
-
* rather than at the end.
|
|
10
|
-
* `google-reviews` is a REGISTERED type with no document β see the note
|
|
11
|
-
* beside the deliberate budget-tile omission below for why.
|
|
12
|
-
*
|
|
13
|
-
* `how-it-works` (25) and `promo-grid` (26) were in that same unseeded set and
|
|
14
|
-
* were SEEDED 2026-10-20, on the terms the rule always allowed: there is now
|
|
15
|
-
* real copy for them. How-it-works quotes the three-tier authenticity policy
|
|
16
|
-
* the carousel already leads with; promo-grid routes to the four generation
|
|
17
|
-
* categories using the same `/media/` covers those categories use. Neither
|
|
18
|
-
* invents a claim. `testimonials` stays unseeded β the site has never had a
|
|
19
|
-
* customer, so every quote would be fabricated.
|
|
20
|
-
*
|
|
21
|
-
* π That count and range are ASSERTED, not described β `order` must stay unique
|
|
22
|
-
* and contiguous. Until 2026-10-19 this header read "22 sections β¦ 1..21" while
|
|
23
|
-
* the file held 23 documents numbered 1..22, and `section-systems-matrix` and
|
|
24
|
-
* `section-featured-products` BOTH claimed `order: 5`. `MarketplaceHomepageView`
|
|
25
|
-
* tie-breaks on `updatedAt` (identical for both) and then `id.localeCompare`, so
|
|
26
|
-
* the live running order of the homepage was decided alphabetically β a silent
|
|
27
|
-
* accident, not a layout decision. The 24th document (`collection-cards`,
|
|
28
|
-
* added the same day) closed the other half of that finding: a registered
|
|
29
|
-
* section type with a renderer and zero seeded rows is the same class of gap,
|
|
30
|
-
* just silent rather than colliding.
|
|
31
|
-
*
|
|
32
|
-
* ORDER: hero β SHOP (products, auctions, pre-orders) β carousel β trust β
|
|
33
|
-
* orient (categories, systems matrix) β shop cont. (bundles) β supply
|
|
34
|
-
* (stores) β social proof (reviews) β engage (events, raffles, prize draws) β
|
|
35
|
-
* editorial (blog) β convert (seller banner, newsletter) β reassure (stats,
|
|
36
|
-
* security, community, FAQ, brands).
|
|
37
|
-
*
|
|
38
|
-
* π Products (2), auctions (3) and pre-orders (4) were lifted above the
|
|
39
|
-
* carousel on 2026-10-20 at the owner's request β real merchandise directly
|
|
40
|
-
* under the hero, promotions below it. That OVERRIDES the research arrangement
|
|
41
|
-
* this header used to describe (trust β orient β shop), so do not "restore"
|
|
42
|
-
* the old order on the strength of the paragraphs below; they explain the
|
|
43
|
-
* reasoning for the sections that are still in a research-driven position,
|
|
44
|
-
* not a mandate for the three that were deliberately moved. Pre-orders came
|
|
45
|
-
* up from 8 in a second pass, which is why the carousel/trust/categories/
|
|
46
|
-
* matrix block reads 5 β 8 rather than 4 β 7.
|
|
47
|
-
*
|
|
48
|
-
* The systems matrix still sits immediately after the generation tiles (7 β 8)
|
|
49
|
-
* because that is where the measured leader puts it: on worldhobbyshop
|
|
50
|
-
* "Browse Beyblade Systems & Series" (25 text links) follows "Shop Beyblades
|
|
51
|
-
* by Generation" (6 image tiles) β taxonomy routing stays together. See
|
|
52
|
-
* docs/research/competitor-crawl-2026-10/layout.md.
|
|
53
|
-
*
|
|
54
|
-
* Baymard's finding still drives the hero: a static hero outperforms a
|
|
55
|
-
* carousel, and the one documented carousel win came from demoting it BELOW a
|
|
56
|
-
* static hero. So `welcome` is first and owns the page's single <h1>; the
|
|
57
|
-
* `carousel` is now demoted further still, under the first three product
|
|
58
|
-
* rails, and its slide titles render as <h2>.
|
|
59
|
-
*
|
|
60
|
-
* COPY IS CATALOGUE-NEUTRAL on purpose. "Shop by Category" stays correct
|
|
61
|
-
* however the catalogue changes; "Burst & X Series" goes stale the moment it
|
|
62
|
-
* broadens. Two brand-filtered Beyblade product strips were removed for this
|
|
63
|
-
* reason β and because they filtered the shared 12-item featured set
|
|
64
|
-
* client-side, so they usually rendered empty anyway.
|
|
65
|
-
*
|
|
66
|
-
* π Every field set here is one the renderer actually READS. Before this pass
|
|
67
|
-
* the seed configured banner buttons, trust indicators, a features list, blog
|
|
68
|
-
* display flags and the entire carousel config, none of which
|
|
69
|
-
* `lib/section-renderer.tsx` forwarded. If you add a field, confirm it reaches
|
|
70
|
-
* a component prop β see the config-coverage check in the plan.
|
|
71
|
-
*
|
|
72
|
-
* EXPORTS:
|
|
73
|
-
* homepageSectionsSeedData β Array of Partial<HomepageSectionDocument> for seed runner
|
|
74
|
-
*
|
|
75
|
-
* @tag domain:homepage
|
|
76
|
-
* @tag layer:seed
|
|
77
|
-
* @tag pattern:none
|
|
78
|
-
* @tag access:server-only
|
|
79
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
80
|
-
* @tag sideEffects:none
|
|
81
|
-
*/
|
|
82
|
-
import { ROUTES } from "../next/routing/route-map.js";
|
|
83
|
-
const NOW = new Date();
|
|
84
|
-
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
85
|
-
export const homepageSectionsSeedData = [
|
|
86
|
-
// ---- 1. Hero -------------------------------------------------------------
|
|
87
|
-
// Owns the page's single <h1>. Keep it enabled: disabling it while the
|
|
88
|
-
// carousel stays on leaves the document with NO h1 at all.
|
|
89
|
-
{
|
|
90
|
-
id: "section-welcome-hero",
|
|
91
|
-
type: "welcome",
|
|
92
|
-
order: 1,
|
|
93
|
-
enabled: true,
|
|
94
|
-
config: {
|
|
95
|
-
/*
|
|
96
|
-
* π NO AUCTIONS IN THE HERO, and nothing else that the site does not
|
|
97
|
-
* currently do.
|
|
98
|
-
*
|
|
99
|
-
* The h1 read "Buy, Sell & Auction Collectibles" and the second CTA sent
|
|
100
|
-
* visitors to /auctions β which `listings.listingTypes.auction: false`
|
|
101
|
-
* now switches off (2026-10-20). The first screen of the site is the
|
|
102
|
-
* worst place to advertise a type whose browse page returns nothing.
|
|
103
|
-
*
|
|
104
|
-
* The description lost "bid in live auctions" for the same reason, and
|
|
105
|
-
* "escrow-backed payments" because that claim was withdrawn from the
|
|
106
|
-
* seller guide and the Become-a-Seller copy on the same day.
|
|
107
|
-
*
|
|
108
|
-
* β οΈ This is SEED data. The live hero is a `homepageSections` document and
|
|
109
|
-
* is NOT rewritten by editing this file β change it in the admin
|
|
110
|
-
* homepage-sections editor, or re-seed.
|
|
111
|
-
*/
|
|
112
|
-
h1: "Buy & Sell Collectibles",
|
|
113
|
-
subtitle: "Verified sellers, secure payments, and authenticity checks on every listing.",
|
|
114
|
-
description: "A marketplace built for collectors β browse thousands of listings, reserve upcoming releases, and buy with secure, verified payments.",
|
|
115
|
-
showCTA: true,
|
|
116
|
-
pillLabel: "Buy, sell & collect",
|
|
117
|
-
ctaText: "Start Shopping",
|
|
118
|
-
ctaLink: String(ROUTES.PUBLIC.PRODUCTS),
|
|
119
|
-
secondaryCtaText: "Explore Categories",
|
|
120
|
-
secondaryCtaLink: String(ROUTES.PUBLIC.CATEGORIES),
|
|
121
|
-
},
|
|
122
|
-
createdAt: daysAgo(90),
|
|
123
|
-
updatedAt: daysAgo(2),
|
|
124
|
-
},
|
|
125
|
-
// ---- 5. Promo carousel ---------------------------------------------------
|
|
126
|
-
// "medium" rather than "tall": it now sits UNDER a full hero, so a
|
|
127
|
-
// viewport-height band would push everything else below the fold.
|
|
128
|
-
{
|
|
129
|
-
id: "section-hero-carousel",
|
|
130
|
-
type: "carousel",
|
|
131
|
-
order: 5,
|
|
132
|
-
enabled: true,
|
|
133
|
-
config: {
|
|
134
|
-
title: "Featured promotions",
|
|
135
|
-
height: "medium",
|
|
136
|
-
defaultAutoplayDelayMs: 6000,
|
|
137
|
-
pauseOnHover: true,
|
|
138
|
-
showDots: true,
|
|
139
|
-
showArrows: true,
|
|
140
|
-
},
|
|
141
|
-
createdAt: daysAgo(90),
|
|
142
|
-
updatedAt: daysAgo(5),
|
|
143
|
-
},
|
|
144
|
-
// ---- 6. Trust bar --------------------------------------------------------
|
|
145
|
-
// Research: ~80% of attention is above the fold and the first 3β4 trust
|
|
146
|
-
// elements carry nearly all of the lift.
|
|
147
|
-
{
|
|
148
|
-
id: "section-trust-indicators",
|
|
149
|
-
type: "trust-indicators",
|
|
150
|
-
order: 6,
|
|
151
|
-
enabled: true,
|
|
152
|
-
config: {
|
|
153
|
-
title: "Why buyers trust us",
|
|
154
|
-
indicators: [
|
|
155
|
-
{
|
|
156
|
-
id: "trust-authenticity",
|
|
157
|
-
icon: "shield-check",
|
|
158
|
-
title: "Authenticity checked",
|
|
159
|
-
description: "Every seller is verified before their first listing goes live.",
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
// Was "Escrow-backed payments". The escrow claim was withdrawn from
|
|
163
|
-
// the seller guide, the Become-a-Seller copy and the hero description
|
|
164
|
-
// on 2026-10-20; a trust badge is the last place it should have
|
|
165
|
-
// survived, because it is the claim a buyer is most likely to rely
|
|
166
|
-
// on. The `id` is deliberately unchanged β it is this seed document's
|
|
167
|
-
// identity, not its copy.
|
|
168
|
-
id: "trust-escrow",
|
|
169
|
-
icon: "lock",
|
|
170
|
-
title: "Secure payments",
|
|
171
|
-
description: "Your money reaches the seller after the item is delivered and accepted.",
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
id: "trust-returns",
|
|
175
|
-
icon: "rotate-ccw",
|
|
176
|
-
title: "Straightforward returns",
|
|
177
|
-
description: "Report a problem within the return window and we step in.",
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
id: "trust-support",
|
|
181
|
-
icon: "message-circle",
|
|
182
|
-
title: "Real human support",
|
|
183
|
-
description: "Questions about an order reach a person, not a form.",
|
|
184
|
-
},
|
|
185
|
-
],
|
|
186
|
-
},
|
|
187
|
-
createdAt: daysAgo(90),
|
|
188
|
-
updatedAt: daysAgo(20),
|
|
189
|
-
},
|
|
190
|
-
// ---- 7. Orient: categories ----------------------------------------------
|
|
191
|
-
// Baymard's top homepage guideline, and the main internal-linking surface.
|
|
192
|
-
{
|
|
193
|
-
id: "section-collectibles-categories",
|
|
194
|
-
type: "categories",
|
|
195
|
-
order: 7,
|
|
196
|
-
enabled: true,
|
|
197
|
-
config: {
|
|
198
|
-
title: "Shop by Category",
|
|
199
|
-
/*
|
|
200
|
-
* 6, from the `categories-generation-tiles` SECTION_TEMPLATE β and 6 is a
|
|
201
|
-
* measured number, not a round one: worldhobbyshop's "Shop Beyblades by
|
|
202
|
-
* Generation" is exactly six tiles (Beyblade X, Burst, Metal, Plastic
|
|
203
|
-
* Generation, Launchers & Grips, Stadiums & Arenas), 3 columns at 1280 and
|
|
204
|
-
* 1 at 390. See docs/research/competitor-crawl-2026-10/layout.md.
|
|
205
|
-
*/
|
|
206
|
-
maxCategories: 6,
|
|
207
|
-
viewMoreLabel: "All categories β",
|
|
208
|
-
autoScroll: false,
|
|
209
|
-
scrollInterval: 5000,
|
|
210
|
-
loop: true,
|
|
211
|
-
},
|
|
212
|
-
createdAt: daysAgo(90),
|
|
213
|
-
updatedAt: daysAgo(10),
|
|
214
|
-
},
|
|
215
|
-
// ---- 2β4, 9. Shop --------------------------------------------------------
|
|
216
|
-
// Products (2), auctions (3) and pre-orders (4) sit directly under the hero,
|
|
217
|
-
// ABOVE the carousel β a merchandising-first top of page, asked for
|
|
218
|
-
// 2026-10-20. Bundles (9) stay below the orientation band.
|
|
219
|
-
//
|
|
220
|
-
// maxItems stays <= 12 everywhere: SSR supplies exactly 12 via
|
|
221
|
-
// getFeatured*(12), so a larger cap would promise rows that cannot fill.
|
|
222
|
-
{
|
|
223
|
-
id: "section-featured-products",
|
|
224
|
-
type: "products",
|
|
225
|
-
order: 2,
|
|
226
|
-
enabled: true,
|
|
227
|
-
config: {
|
|
228
|
-
title: "Featured Products",
|
|
229
|
-
subtitle: "Hand-picked listings from verified sellers.",
|
|
230
|
-
/*
|
|
231
|
-
* 8, from the `products-recently-added` SECTION_TEMPLATE, which took it
|
|
232
|
-
* from worldhobbyshop's one product rail β measured 2026-10-19 at exactly
|
|
233
|
-
* 8 cards, 4 columns (docs/research/competitor-crawl-2026-10/layout.md).
|
|
234
|
-
* The SEO leader ships the fewest products on its homepage; its advantage
|
|
235
|
-
* is taxonomy routing, not merchandising volume.
|
|
236
|
-
*
|
|
237
|
-
* Safe against the `<= 12` rule above: SSR still supplies 12 via
|
|
238
|
-
* getFeatured*(12) and this renders 8 of them, so it can never under-fill.
|
|
239
|
-
* The 4-row over-fetch is deliberate β `getFeaturedProducts(12)` is shared
|
|
240
|
-
* with the auctions and pre-orders rails, so narrowing it to match would
|
|
241
|
-
* couple three sections' counts to one fetch.
|
|
242
|
-
*/
|
|
243
|
-
maxItems: 8,
|
|
244
|
-
viewMoreLabel: "View all products β",
|
|
245
|
-
rows: 1,
|
|
246
|
-
autoScroll: false,
|
|
247
|
-
scrollInterval: 5000,
|
|
248
|
-
loop: true,
|
|
249
|
-
},
|
|
250
|
-
createdAt: daysAgo(90),
|
|
251
|
-
updatedAt: daysAgo(1),
|
|
252
|
-
},
|
|
253
|
-
/*
|
|
254
|
-
* π DISABLED, NOT DELETED β and the `order: 3` slot is held.
|
|
255
|
-
*
|
|
256
|
-
* `listings.listingTypes.auction: false` already stops this rail rendering
|
|
257
|
-
* (HOMEPAGE_SECTION_LISTING_TYPE in MarketplaceHomepageView), so `enabled:
|
|
258
|
-
* false` is the second of two locks, not the only one. It is worth having
|
|
259
|
-
* because it is the one an ADMIN sees: a section listed as enabled in the
|
|
260
|
-
* homepage builder, silently filtered out at render, reads as a bug in the
|
|
261
|
-
* builder. Both switches say the same thing now.
|
|
262
|
-
*
|
|
263
|
-
* The copy and the "β‘ LIVE AUCTIONS" pill stay exactly as they were, so
|
|
264
|
-
* re-enabling the type and this flag restores the rail intact.
|
|
265
|
-
*/
|
|
266
|
-
{
|
|
267
|
-
id: "section-live-auctions",
|
|
268
|
-
type: "auctions",
|
|
269
|
-
order: 3,
|
|
270
|
-
enabled: false,
|
|
271
|
-
config: {
|
|
272
|
-
title: "Live Auctions",
|
|
273
|
-
subtitle: "Bidding open now β place yours before the timer runs out.",
|
|
274
|
-
maxAuctions: 12,
|
|
275
|
-
viewMoreLabel: "View all auctions β",
|
|
276
|
-
rows: 1,
|
|
277
|
-
autoScroll: false,
|
|
278
|
-
scrollInterval: 5000,
|
|
279
|
-
loop: true,
|
|
280
|
-
},
|
|
281
|
-
createdAt: daysAgo(90),
|
|
282
|
-
updatedAt: daysAgo(1),
|
|
283
|
-
},
|
|
284
|
-
{
|
|
285
|
-
id: "section-pre-orders",
|
|
286
|
-
type: "pre-orders",
|
|
287
|
-
order: 4,
|
|
288
|
-
enabled: true,
|
|
289
|
-
config: {
|
|
290
|
-
title: "Reserve Before It Ships",
|
|
291
|
-
subtitle: "Lock in upcoming releases with a deposit.",
|
|
292
|
-
maxItems: 12,
|
|
293
|
-
viewMoreLabel: "View all pre-orders β",
|
|
294
|
-
rows: 1,
|
|
295
|
-
autoScroll: false,
|
|
296
|
-
scrollInterval: 5000,
|
|
297
|
-
loop: true,
|
|
298
|
-
},
|
|
299
|
-
createdAt: daysAgo(90),
|
|
300
|
-
updatedAt: daysAgo(3),
|
|
301
|
-
},
|
|
302
|
-
// Disabled 2026-10-20 with `listings.categoryTypes.bundle: false`. Same
|
|
303
|
-
// two-lock arrangement as the auctions rail above β see that note.
|
|
304
|
-
{
|
|
305
|
-
id: "section-featured-bundles",
|
|
306
|
-
type: "featured-bundles",
|
|
307
|
-
order: 9,
|
|
308
|
-
enabled: false,
|
|
309
|
-
config: {
|
|
310
|
-
title: "Curated Bundles",
|
|
311
|
-
subtitle: "Multiple items, one discounted price.",
|
|
312
|
-
maxItems: 8,
|
|
313
|
-
showSavingsBadge: true,
|
|
314
|
-
viewMoreLabel: "View all bundles β",
|
|
315
|
-
},
|
|
316
|
-
createdAt: daysAgo(60),
|
|
317
|
-
updatedAt: daysAgo(4),
|
|
318
|
-
},
|
|
319
|
-
// ---- 9. Supply side ------------------------------------------------------
|
|
320
|
-
{
|
|
321
|
-
id: "section-featured-stores",
|
|
322
|
-
type: "stores",
|
|
323
|
-
order: 10,
|
|
324
|
-
enabled: true,
|
|
325
|
-
config: {
|
|
326
|
-
title: "Featured Stores",
|
|
327
|
-
subtitle: "Sellers with a track record collectors rate highly.",
|
|
328
|
-
maxStores: 8,
|
|
329
|
-
viewMoreLabel: "View all stores β",
|
|
330
|
-
autoScroll: false,
|
|
331
|
-
scrollInterval: 6000,
|
|
332
|
-
loop: true,
|
|
333
|
-
},
|
|
334
|
-
createdAt: daysAgo(90),
|
|
335
|
-
updatedAt: daysAgo(8),
|
|
336
|
-
},
|
|
337
|
-
// ---- 10. Social proof ----------------------------------------------------
|
|
338
|
-
{
|
|
339
|
-
id: "section-collector-reviews",
|
|
340
|
-
type: "reviews",
|
|
341
|
-
order: 11,
|
|
342
|
-
enabled: true,
|
|
343
|
-
config: {
|
|
344
|
-
title: "What Buyers Say",
|
|
345
|
-
maxReviews: 12,
|
|
346
|
-
itemsPerView: 3,
|
|
347
|
-
mobileItemsPerView: 1,
|
|
348
|
-
viewMoreLabel: "See all reviews β",
|
|
349
|
-
autoScroll: true,
|
|
350
|
-
scrollInterval: 5000,
|
|
351
|
-
loop: true,
|
|
352
|
-
},
|
|
353
|
-
createdAt: daysAgo(90),
|
|
354
|
-
updatedAt: daysAgo(6),
|
|
355
|
-
},
|
|
356
|
-
// ---- 11β13. Engage -------------------------------------------------------
|
|
357
|
-
{
|
|
358
|
-
id: "section-upcoming-events",
|
|
359
|
-
type: "events",
|
|
360
|
-
order: 12,
|
|
361
|
-
enabled: true,
|
|
362
|
-
config: {
|
|
363
|
-
title: "Events & Offers",
|
|
364
|
-
subtitle: "Sales, giveaways and community events running now.",
|
|
365
|
-
maxEvents: 6,
|
|
366
|
-
viewMoreLabel: "View all events β",
|
|
367
|
-
autoScroll: false,
|
|
368
|
-
scrollInterval: 6000,
|
|
369
|
-
loop: true,
|
|
370
|
-
},
|
|
371
|
-
createdAt: daysAgo(90),
|
|
372
|
-
updatedAt: daysAgo(7),
|
|
373
|
-
},
|
|
374
|
-
{
|
|
375
|
-
id: "section-event-raffles",
|
|
376
|
-
type: "event-raffles",
|
|
377
|
-
/*
|
|
378
|
-
* π DISABLED, and here `enabled: false` is the ONLY lock there is.
|
|
379
|
-
*
|
|
380
|
-
* Raffles and spin wheels are EVENT types, not listing types and not
|
|
381
|
-
* category types, so no Site Settings toggle reaches them and
|
|
382
|
-
* `HOMEPAGE_SECTION_LISTING_TYPE` has nothing to map them to. The same gap
|
|
383
|
-
* put Lotteries, Bundles and Promotions in the footer's hand-written hidden
|
|
384
|
-
* block (src/constants/navigation.tsx) β a per-document flag is the whole
|
|
385
|
-
* mechanism for this one, which is exactly why it is spelled out.
|
|
386
|
-
*/
|
|
387
|
-
order: 13,
|
|
388
|
-
enabled: false,
|
|
389
|
-
config: {
|
|
390
|
-
title: "Raffles & Spin Wheels",
|
|
391
|
-
subtitle: "Enter for free and see if the odds are with you.",
|
|
392
|
-
maxItems: 6,
|
|
393
|
-
raffleType: "all",
|
|
394
|
-
showEntryCount: true,
|
|
395
|
-
showCountdown: true,
|
|
396
|
-
},
|
|
397
|
-
createdAt: daysAgo(30),
|
|
398
|
-
updatedAt: daysAgo(3),
|
|
399
|
-
},
|
|
400
|
-
{
|
|
401
|
-
id: "section-prize-draws",
|
|
402
|
-
type: "prize-draws",
|
|
403
|
-
// Disabled 2026-10-20 with `listings.listingTypes.prize-draw: false` β the
|
|
404
|
-
// same two-lock arrangement as the auctions rail.
|
|
405
|
-
order: 14,
|
|
406
|
-
enabled: false,
|
|
407
|
-
config: {
|
|
408
|
-
title: "Prize Draws",
|
|
409
|
-
subtitle: "Buy an entry for a shot at something rare.",
|
|
410
|
-
maxItems: 6,
|
|
411
|
-
// "open" is deliberate β a closed draw is not enterable, so surfacing it
|
|
412
|
-
// on the homepage would be an invitation to a dead end.
|
|
413
|
-
revealStatus: "open",
|
|
414
|
-
showCountdown: true,
|
|
415
|
-
showEntriesRemaining: true,
|
|
416
|
-
},
|
|
417
|
-
createdAt: daysAgo(45),
|
|
418
|
-
updatedAt: daysAgo(3),
|
|
419
|
-
},
|
|
420
|
-
// ---- 14. Editorial -------------------------------------------------------
|
|
421
|
-
{
|
|
422
|
-
id: "section-collector-blog",
|
|
423
|
-
type: "blog-articles",
|
|
424
|
-
order: 15,
|
|
425
|
-
enabled: true,
|
|
426
|
-
config: {
|
|
427
|
-
title: "From Our Blog",
|
|
428
|
-
// 4, from the `blog-four-excerpts` SECTION_TEMPLATE (beybladeartshop ships
|
|
429
|
-
// four article excerpts). Safe against the SSR fetch, which supplies 6 via
|
|
430
|
-
// getFeaturedBlogPosts(6) β this renders 4 of them.
|
|
431
|
-
maxArticles: 4,
|
|
432
|
-
viewMoreLabel: "View all posts β",
|
|
433
|
-
showReadTime: true,
|
|
434
|
-
showAuthor: true,
|
|
435
|
-
showThumbnails: true,
|
|
436
|
-
},
|
|
437
|
-
createdAt: daysAgo(90),
|
|
438
|
-
updatedAt: daysAgo(12),
|
|
439
|
-
},
|
|
440
|
-
// ---- 15. Seller CTA ------------------------------------------------------
|
|
441
|
-
// Same document as the old "Beyblade banner", re-purposed. The id keeps its
|
|
442
|
-
// stale name on purpose: renaming it would create a fresh document and orphan
|
|
443
|
-
// whatever an admin has already edited on this one.
|
|
444
|
-
{
|
|
445
|
-
id: "section-beyblade-banner",
|
|
446
|
-
type: "banner",
|
|
447
|
-
order: 16,
|
|
448
|
-
enabled: true,
|
|
449
|
-
config: {
|
|
450
|
-
height: "md",
|
|
451
|
-
/* Real imagery instead of a `seedPhoto()` grey tile β see the MEDIA block
|
|
452
|
-
in carousel-slides-seed-data.ts for why that helper produces one of six
|
|
453
|
-
flat SVG rectangles and why a third-party host is not the alternative.
|
|
454
|
-
π A seller pitch wants a HUMAN packing an order, which the wiki corpus
|
|
455
|
-
does not contain; this generation cover is a stand-in until a real photo
|
|
456
|
-
exists for the slot. */
|
|
457
|
-
backgroundImage: "/media/category-beyblade-x-image",
|
|
458
|
-
content: {
|
|
459
|
-
title: "Have collectibles to sell?",
|
|
460
|
-
subtitle: "Open a store in minutes.",
|
|
461
|
-
description: "List for free, reach collectors across the country, and get paid on a predictable schedule.",
|
|
462
|
-
},
|
|
463
|
-
buttons: [
|
|
464
|
-
{ text: "Start selling β", link: String(ROUTES.PUBLIC.SELLER_GUIDE), variant: "primary" },
|
|
465
|
-
{ text: "Browse the marketplace", link: String(ROUTES.PUBLIC.PRODUCTS), variant: "outline" },
|
|
466
|
-
],
|
|
467
|
-
},
|
|
468
|
-
createdAt: daysAgo(90),
|
|
469
|
-
updatedAt: daysAgo(9),
|
|
470
|
-
},
|
|
471
|
-
// ---- 16. Newsletter ------------------------------------------------------
|
|
472
|
-
// Inline with a real reason to subscribe, not an overlay β 59% of sites do
|
|
473
|
-
// overlay signup badly, per Baymard.
|
|
474
|
-
{
|
|
475
|
-
id: "section-newsletter",
|
|
476
|
-
type: "newsletter",
|
|
477
|
-
order: 17,
|
|
478
|
-
enabled: true,
|
|
479
|
-
config: {
|
|
480
|
-
title: "Get new listings first",
|
|
481
|
-
description: "One email a week: fresh drops, auctions closing soon, and price cuts on your saved categories.",
|
|
482
|
-
privacyText: "We never share your address. Unsubscribe in one click.",
|
|
483
|
-
privacyLink: String(ROUTES.PUBLIC.PRIVACY),
|
|
484
|
-
},
|
|
485
|
-
createdAt: daysAgo(90),
|
|
486
|
-
updatedAt: daysAgo(14),
|
|
487
|
-
},
|
|
488
|
-
// ---- 17β21. Reassure -----------------------------------------------------
|
|
489
|
-
// Stats moved DOWN from 3rd. Numbers are corroboration for a visitor who is
|
|
490
|
-
// already interested; they answer no question a first-time visitor is asking
|
|
491
|
-
// at the top of the page.
|
|
492
|
-
{
|
|
493
|
-
id: "section-platform-stats",
|
|
494
|
-
type: "stats",
|
|
495
|
-
order: 18,
|
|
496
|
-
enabled: true,
|
|
497
|
-
config: {
|
|
498
|
-
/*
|
|
499
|
-
* π VERIFIABLE FACTS, not volume claims.
|
|
500
|
-
*
|
|
501
|
-
* This read "200+ Listings Β· 8+ Verified Sellers Β· 35+ Buyer Reviews Β·
|
|
502
|
-
* 50+ Orders Completed". Those were `source: "live"` FALLBACKS, shown
|
|
503
|
-
* whenever the metric fetch fails β and all four were falsifiable in the
|
|
504
|
-
* same breath as the page that showed them: `realListingsOnly()` in
|
|
505
|
-
* seed-cli.mjs loads on the order of a dozen products, and the site has
|
|
506
|
-
* never taken a real order, so "50+ Orders Completed" was a number about
|
|
507
|
-
* nothing. A visitor who reads it and then browses the catalogue
|
|
508
|
-
* concludes the whole page is decoration.
|
|
509
|
-
*
|
|
510
|
-
* The replacements are things a visitor can CHECK by clicking through,
|
|
511
|
-
* and each was counted from source in the change that wrote it:
|
|
512
|
-
* - parts `PART_LEAF_COUNT` (_helpers/category-parts.ts:17528) = 2490.
|
|
513
|
-
* π CLAUDE.md says 752; that is stale, the corpus grew.
|
|
514
|
-
* - generations 4 tier-1 rows under `category-spinning-tops`.
|
|
515
|
-
* - brands 28 `BRAND_SEED_INPUTS` entries (`BRAND_ROW_COUNT`).
|
|
516
|
-
* Re-count before editing any of them rather than trusting this comment.
|
|
517
|
-
*
|
|
518
|
-
* `total_listings` stays LIVE and keeps a `"0"` fallback: a live number is
|
|
519
|
-
* verifiable by definition, and a zero fallback can only ever understate.
|
|
520
|
-
* `total_orders` and `total_reviews` are dropped rather than zeroed β a
|
|
521
|
-
* giant "0" in 48pt type is worse than not raising the subject.
|
|
522
|
-
*
|
|
523
|
-
* `iconName` is required on a static stat; a live one derives its glyph
|
|
524
|
-
* from `metric` via STAT_PRESET_ICON.
|
|
525
|
-
*/
|
|
526
|
-
title: "By the numbers",
|
|
527
|
-
stats: [
|
|
528
|
-
{ key: "products", label: "Listings", value: "0", source: "live", metric: "total_listings", suffix: "+" },
|
|
529
|
-
{ key: "parts", label: "Parts catalogued", value: "2,490", source: "static", iconName: "spares" },
|
|
530
|
-
{ key: "generations", label: "Generations covered", value: "4", source: "static", iconName: "archive" },
|
|
531
|
-
{ key: "brands", label: "Brands", value: "28", source: "static", iconName: "deals" },
|
|
532
|
-
],
|
|
533
|
-
},
|
|
534
|
-
createdAt: daysAgo(90),
|
|
535
|
-
updatedAt: daysAgo(15),
|
|
536
|
-
},
|
|
537
|
-
{
|
|
538
|
-
id: "section-platform-features",
|
|
539
|
-
type: "features",
|
|
540
|
-
order: 19,
|
|
541
|
-
enabled: true,
|
|
542
|
-
config: {
|
|
543
|
-
title: "Security You Can Trust",
|
|
544
|
-
pillLabel: "Built for trust",
|
|
545
|
-
learnMoreLabel: "Learn about our security β",
|
|
546
|
-
learnMoreLink: String(ROUTES.PUBLIC.SECURITY),
|
|
547
|
-
items: [
|
|
548
|
-
{
|
|
549
|
-
key: "escrow",
|
|
550
|
-
title: "Escrow on every order",
|
|
551
|
-
description: "Funds reach the seller only after the item is delivered and accepted.",
|
|
552
|
-
},
|
|
553
|
-
{
|
|
554
|
-
key: "verified-sellers",
|
|
555
|
-
title: "Verified sellers only",
|
|
556
|
-
description: "Identity and payout details are checked before a store can publish.",
|
|
557
|
-
},
|
|
558
|
-
{
|
|
559
|
-
key: "scam-registry",
|
|
560
|
-
title: "Public scam registry",
|
|
561
|
-
description: "Reported bad actors are recorded so buyers can check before they pay.",
|
|
562
|
-
},
|
|
563
|
-
{
|
|
564
|
-
key: "encrypted-data",
|
|
565
|
-
title: "Encrypted personal data",
|
|
566
|
-
description: "Addresses, phone numbers and payout details are encrypted at rest.",
|
|
567
|
-
},
|
|
568
|
-
],
|
|
569
|
-
},
|
|
570
|
-
createdAt: daysAgo(90),
|
|
571
|
-
updatedAt: daysAgo(11),
|
|
572
|
-
},
|
|
573
|
-
{
|
|
574
|
-
id: "section-whatsapp-community",
|
|
575
|
-
type: "whatsapp-community",
|
|
576
|
-
order: 20,
|
|
577
|
-
enabled: true,
|
|
578
|
-
config: {
|
|
579
|
-
title: "Join the community",
|
|
580
|
-
description: "Deal alerts, auction reminders, and early access to drops.",
|
|
581
|
-
/* π The line that used to sit here β "Keep this link verbatim β a
|
|
582
|
-
tester-checklist case asserts it" β was FALSE and is deleted. Verified:
|
|
583
|
-
zero hits for `chat.whatsapp.com` anywhere under
|
|
584
|
-
`appkit/src/features/tester/seed-data/`. It had also outlived its
|
|
585
|
-
subject: the value it was protecting (a bare `https://chat.whatsapp.com/`
|
|
586
|
-
with no invite code) is gone, so the comment defended a string that no
|
|
587
|
-
longer existed while discouraging anyone from touching the field. */
|
|
588
|
-
// Left unset: a bare chat.whatsapp.com URL is not a valid invite code and
|
|
589
|
-
// opens a page that resolves to no group. The real link is env-owned
|
|
590
|
-
// (WHATSAPP_GROUP_INVITE) and reaches the card through appkit.config.
|
|
591
|
-
groupLink: undefined,
|
|
592
|
-
benefits: [
|
|
593
|
-
"Deal alerts before they hit the homepage",
|
|
594
|
-
"Reminders when auctions you watch are closing",
|
|
595
|
-
"Early access to limited drops",
|
|
596
|
-
"Direct line to the team for order questions",
|
|
597
|
-
],
|
|
598
|
-
buttonText: "Join the group",
|
|
599
|
-
},
|
|
600
|
-
createdAt: daysAgo(90),
|
|
601
|
-
updatedAt: daysAgo(13),
|
|
602
|
-
},
|
|
603
|
-
{
|
|
604
|
-
id: "section-homepage-faq",
|
|
605
|
-
type: "faq",
|
|
606
|
-
order: 21,
|
|
607
|
-
enabled: true,
|
|
608
|
-
config: {
|
|
609
|
-
title: "Frequently Asked Questions",
|
|
610
|
-
subtitle: "The questions new buyers ask most.",
|
|
611
|
-
showOnHomepage: true,
|
|
612
|
-
/*
|
|
613
|
-
* B6b β 6 β 10. The FAQ block is the densest single SEO win on the page
|
|
614
|
-
* (worldhobbyshop's 10-question block is a measured part of why it leads
|
|
615
|
-
* the fifteen on SEO) and it is an answer-engine surface, so it feeds
|
|
616
|
-
* `faqJsonLd`. 20 rows are flagged `showOnHomepage`; showing 10 of them
|
|
617
|
-
* is the intended shape.
|
|
618
|
-
*/
|
|
619
|
-
displayCount: 10,
|
|
620
|
-
linkToFullPage: true,
|
|
621
|
-
viewMoreLabel: "View all FAQs β",
|
|
622
|
-
showCategoryTabs: true,
|
|
623
|
-
/*
|
|
624
|
-
* π EMPTY ON PURPOSE β the tabs DERIVE from the items actually shown.
|
|
625
|
-
*
|
|
626
|
-
* This listed `["shipping_delivery", "returns_refunds",
|
|
627
|
-
* "orders_payment"]` and measured live on 2026-10-12 **all three
|
|
628
|
-
* rendered EMPTY PANELS**, while the three categories whose rows were
|
|
629
|
-
* actually displayed (`general`, `product_information`,
|
|
630
|
-
* `fees_and_taxes`) had no tab at all.
|
|
631
|
-
*
|
|
632
|
-
* The cause is that the two halves answer different questions and
|
|
633
|
-
* neither knows about the other: the ITEMS come from
|
|
634
|
-
* `getHomepageFAQs()` β `showOnHomepage` ordered by `priority` DESC,
|
|
635
|
-
* then sliced to `displayCount` β while the TABS were a hand-written
|
|
636
|
-
* list. Raise a row's priority, or add a higher-priority row in another
|
|
637
|
-
* category (B6b's FAQ half added 22, including a whole new
|
|
638
|
-
* `fees_and_taxes`), and the slice moves out from under the tabs
|
|
639
|
-
* silently. That is Root Cause #72's shape: a tab you can click with
|
|
640
|
-
* nothing behind it.
|
|
641
|
-
*
|
|
642
|
-
* `FAQSection` already derives tabs from its items when `tabs` is empty
|
|
643
|
-
* (`if (tabsProp && tabsProp.length > 0) return tabsProp;`), so an empty
|
|
644
|
-
* array makes an empty tab STRUCTURALLY IMPOSSIBLE rather than something
|
|
645
|
-
* to re-sync by hand. A hand-maintained enumeration beside a query is
|
|
646
|
-
* the defect, not the list's contents.
|
|
647
|
-
*
|
|
648
|
-
* π `[]` rather than deleting the key, because `appkit-seed load` is a
|
|
649
|
-
* MERGE write and cannot remove a field β dropping it from the seed
|
|
650
|
-
* would leave the three stale values in Firestore forever and the fix
|
|
651
|
-
* would read as applied while changing nothing.
|
|
652
|
-
*/
|
|
653
|
-
visibleTabs: [],
|
|
654
|
-
allowMultipleOpen: false,
|
|
655
|
-
defaultOpenCount: 1,
|
|
656
|
-
/*
|
|
657
|
-
* π NOT a filter, despite the name. The renderer uses this ONLY as a
|
|
658
|
-
* fallback tab list when `visibleTabs` is empty
|
|
659
|
-
* (`cfg?.visibleTabs?.length ? cfg.visibleTabs : cfg?.categories`), and
|
|
660
|
-
* the items are never filtered by it. So a category absent from here is
|
|
661
|
-
* still displayed β which is why `fees_and_taxes` rows appear on the
|
|
662
|
-
* homepage today while being absent from this list.
|
|
663
|
-
*
|
|
664
|
-
* Emptied too, or it would simply become the hand-written tab list this
|
|
665
|
-
* change exists to delete.
|
|
666
|
-
*/
|
|
667
|
-
categories: [],
|
|
668
|
-
},
|
|
669
|
-
createdAt: daysAgo(90),
|
|
670
|
-
updatedAt: daysAgo(16),
|
|
671
|
-
},
|
|
672
|
-
{
|
|
673
|
-
id: "section-top-brands",
|
|
674
|
-
type: "brands",
|
|
675
|
-
order: 22,
|
|
676
|
-
enabled: true,
|
|
677
|
-
config: {
|
|
678
|
-
title: "Top Brands",
|
|
679
|
-
subtitle: "Browse by the makers collectors look for.",
|
|
680
|
-
maxBrands: 12,
|
|
681
|
-
viewMoreLabel: "All brands β",
|
|
682
|
-
autoScroll: false,
|
|
683
|
-
scrollInterval: 5000,
|
|
684
|
-
loop: true,
|
|
685
|
-
},
|
|
686
|
-
createdAt: daysAgo(90),
|
|
687
|
-
updatedAt: daysAgo(18),
|
|
688
|
-
},
|
|
689
|
-
// ---- Disabled ------------------------------------------------------------
|
|
690
|
-
// Kept, NOT deleted: the tester case `sections-social-feed-hidden` asserts a
|
|
691
|
-
// disabled section does not render, and deleting the document would make that
|
|
692
|
-
// case untestable rather than passing.
|
|
693
|
-
{
|
|
694
|
-
id: "section-social-feed-instagram",
|
|
695
|
-
type: "social-feed",
|
|
696
|
-
order: 23,
|
|
697
|
-
enabled: false,
|
|
698
|
-
config: {
|
|
699
|
-
title: "Follow along",
|
|
700
|
-
subtitle: "New arrivals and community highlights.",
|
|
701
|
-
platform: "instagram",
|
|
702
|
-
handle: "letitrip.in",
|
|
703
|
-
postType: "all",
|
|
704
|
-
count: 9,
|
|
705
|
-
layout: "grid",
|
|
706
|
-
showCaption: true,
|
|
707
|
-
showStats: false,
|
|
708
|
-
},
|
|
709
|
-
createdAt: daysAgo(90),
|
|
710
|
-
updatedAt: daysAgo(25),
|
|
711
|
-
},
|
|
712
|
-
/*
|
|
713
|
-
* REMOVED β `section-brand-takara-tomy` and `section-brand-beyblade`.
|
|
714
|
-
*
|
|
715
|
-
* Both were `products` sections with a `filterByBrand`. All three products
|
|
716
|
-
* sections share ONE `getFeaturedProducts(12)` result and the brand filter is
|
|
717
|
-
* applied client-side, so each strip filtered the same twelve rows and
|
|
718
|
-
* usually rendered empty. They were also the most catalogue-specific thing on
|
|
719
|
-
* the page.
|
|
720
|
-
*
|
|
721
|
-
* π `appkit-seed load` UPSERTS and never deletes. Dropping them from this
|
|
722
|
-
* array does not remove them from Firestore β delete both documents at
|
|
723
|
-
* /admin/sections after seeding, or they keep rendering.
|
|
724
|
-
*/
|
|
725
|
-
/*
|
|
726
|
-
* ββ B6b β THE SYSTEMS MATRIX βββββββββββββββββββββββββββββββββββββββββββββ
|
|
727
|
-
*
|
|
728
|
-
* worldhobbyshop's single biggest SEO asset, and it is TAXONOMY ROUTING
|
|
729
|
-
* rather than merchandising: 25 internal links telling a crawler which
|
|
730
|
-
* sub-collections exist. It is most of why they have 79 unique internal
|
|
731
|
-
* links (BAS has 57) while running the FEWEST products and words on their
|
|
732
|
-
* homepage of the fifteen crawled β 8 product cards and 1,816 words.
|
|
733
|
-
*
|
|
734
|
-
* π `custom-cards`, NOT `collection-cards`, and the plan had this wrong.
|
|
735
|
-
* `collection-cards` is capped at `COLLECTION_CARDS_MAX_ENTRIES = 3` and its
|
|
736
|
-
* entries are LIVE-CONTENT queries (`{type, limit, categorySlug}`), so it
|
|
737
|
-
* cannot express a link matrix at all. `custom-cards` carries
|
|
738
|
-
* `cards[].buttons[]` of `{label, href}`, which is exactly a matrix.
|
|
739
|
-
*
|
|
740
|
-
* π Every href is a REAL post-B5 category id, read off `categoriesSeedData`
|
|
741
|
-
* rather than typed from memory. A dead link here is the Root Cause #33
|
|
742
|
-
* shape on the routing axis β it 404s, and `audit-nav-page-wiring` does not
|
|
743
|
-
* reach section configs.
|
|
744
|
-
*
|
|
745
|
-
* No prices anywhere, which is what makes this safe where a price-band tile
|
|
746
|
-
* is not β see the note below the array.
|
|
747
|
-
*
|
|
748
|
-
* π Each card's `image` is the SAME `/media/<shortId>` the generation
|
|
749
|
-
* CATEGORY carries, not a second asset. `CustomCardsSection` renders a card
|
|
750
|
-
* with artwork as a poster β the image fills it and a scrim carries the type
|
|
751
|
-
* β so the four cards here and the four `promo-grid` banners below and the
|
|
752
|
-
* four category tiles are one set of four objects, uploaded once. Minting a
|
|
753
|
-
* parallel `matrix-*` shortId would be a mirror that drifts the first time
|
|
754
|
-
* one of them is re-fetched (Root Cause #42).
|
|
755
|
-
*/
|
|
756
|
-
{
|
|
757
|
-
id: "section-systems-matrix",
|
|
758
|
-
type: "custom-cards",
|
|
759
|
-
order: 8,
|
|
760
|
-
enabled: true,
|
|
761
|
-
config: {
|
|
762
|
-
title: "Every system, every part family",
|
|
763
|
-
layout: "grid",
|
|
764
|
-
columns: 4,
|
|
765
|
-
autoScroll: false,
|
|
766
|
-
loop: false,
|
|
767
|
-
cards: [
|
|
768
|
-
{
|
|
769
|
-
id: "matrix-original",
|
|
770
|
-
image: "/media/category-beyblade-original-image",
|
|
771
|
-
imageAlt: "",
|
|
772
|
-
eyebrow: "1999β2003",
|
|
773
|
-
title: "Beyblade Original",
|
|
774
|
-
body: "Four part systems in four years, and they do not interchange. Plastic Generation through Heavy Metal System.",
|
|
775
|
-
buttons: [
|
|
776
|
-
{ label: "Plastic Generation", href: "/categories/category-original-plastic-gen", variant: "ghost" },
|
|
777
|
-
{ label: "Spin Gear", href: "/categories/category-original-spin-gear", variant: "ghost" },
|
|
778
|
-
{ label: "Magnacore", href: "/categories/category-original-magnacore", variant: "ghost" },
|
|
779
|
-
{ label: "Engine Gear", href: "/categories/category-original-engine-gear", variant: "ghost" },
|
|
780
|
-
{ label: "Heavy Metal System", href: "/categories/category-original-hms", variant: "ghost" },
|
|
781
|
-
{ label: "Parts", href: "/categories/category-original-parts", variant: "outline" },
|
|
782
|
-
{ label: "Launchers", href: "/categories/category-original-launchers", variant: "outline" },
|
|
783
|
-
],
|
|
784
|
-
},
|
|
785
|
-
{
|
|
786
|
-
id: "matrix-metal",
|
|
787
|
-
image: "/media/category-beyblade-metal-image",
|
|
788
|
-
imageAlt: "",
|
|
789
|
-
eyebrow: "2008β2013",
|
|
790
|
-
title: "Metal Fight",
|
|
791
|
-
body: "The tuning era, and the only generation where loose parts outnumber complete tops.",
|
|
792
|
-
buttons: [
|
|
793
|
-
{ label: "Metal System", href: "/categories/category-metal-phws", variant: "ghost" },
|
|
794
|
-
{ label: "Metal Fusion", href: "/categories/category-metal-fusion", variant: "ghost" },
|
|
795
|
-
{ label: "Metal Masters", href: "/categories/category-metal-masters", variant: "ghost" },
|
|
796
|
-
{ label: "Metal Fury (4D)", href: "/categories/category-metal-fury-4d", variant: "ghost" },
|
|
797
|
-
{ label: "Shogun Steel", href: "/categories/category-metal-shogun-steel", variant: "ghost" },
|
|
798
|
-
{ label: "Parts", href: "/categories/category-metal-parts", variant: "outline" },
|
|
799
|
-
{ label: "Launchers", href: "/categories/category-metal-launchers", variant: "outline" },
|
|
800
|
-
],
|
|
801
|
-
},
|
|
802
|
-
{
|
|
803
|
-
id: "matrix-burst",
|
|
804
|
-
image: "/media/category-beyblade-burst-image",
|
|
805
|
-
imageAlt: "",
|
|
806
|
-
eyebrow: "2015β2023",
|
|
807
|
-
title: "Beyblade Burst",
|
|
808
|
-
body: "Seven waves of the bursting mechanic, from single-layer Classic to Burst Ultimate.",
|
|
809
|
-
buttons: [
|
|
810
|
-
{ label: "Burst Classic", href: "/categories/category-burst-classic", variant: "ghost" },
|
|
811
|
-
{ label: "Burst God", href: "/categories/category-burst-god", variant: "ghost" },
|
|
812
|
-
{ label: "Cho-Z", href: "/categories/category-burst-cho-z", variant: "ghost" },
|
|
813
|
-
{ label: "GT", href: "/categories/category-burst-gt", variant: "ghost" },
|
|
814
|
-
{ label: "Superking", href: "/categories/category-burst-superking", variant: "ghost" },
|
|
815
|
-
{ label: "Dynamite Battle", href: "/categories/category-burst-db", variant: "ghost" },
|
|
816
|
-
{ label: "Burst Ultimate", href: "/categories/category-burst-bu", variant: "ghost" },
|
|
817
|
-
{ label: "Parts", href: "/categories/category-burst-parts", variant: "outline" },
|
|
818
|
-
],
|
|
819
|
-
},
|
|
820
|
-
{
|
|
821
|
-
id: "matrix-x",
|
|
822
|
-
image: "/media/category-beyblade-x-image",
|
|
823
|
-
imageAlt: "",
|
|
824
|
-
eyebrow: "2023β",
|
|
825
|
-
title: "Beyblade X",
|
|
826
|
-
body: "The Xtreme Line rail is the centre of the design β blades, ratchets and bits, and a stadium that is part of the game.",
|
|
827
|
-
buttons: [
|
|
828
|
-
{ label: "Basic Line", href: "/categories/category-x-basic", variant: "ghost" },
|
|
829
|
-
{ label: "Unique Line (UX)", href: "/categories/category-x-unique-ux", variant: "ghost" },
|
|
830
|
-
{ label: "Custom Line (CX)", href: "/categories/category-x-custom-cx", variant: "ghost" },
|
|
831
|
-
{ label: "X-Over Project", href: "/categories/category-x-over", variant: "ghost" },
|
|
832
|
-
{ label: "Parts", href: "/categories/category-x-parts", variant: "outline" },
|
|
833
|
-
{ label: "Launchers", href: "/categories/category-x-launchers", variant: "outline" },
|
|
834
|
-
{ label: "Stadiums", href: "/categories/category-x-stadiums", variant: "outline" },
|
|
835
|
-
],
|
|
836
|
-
},
|
|
837
|
-
],
|
|
838
|
-
},
|
|
839
|
-
createdAt: daysAgo(1),
|
|
840
|
-
updatedAt: daysAgo(1),
|
|
841
|
-
},
|
|
842
|
-
/*
|
|
843
|
-
* `collection-cards` had a renderer and a builder with zero seeded rows β a
|
|
844
|
-
* type nobody ever saw, structurally identical to 22 missing-order or
|
|
845
|
-
* mis-ordered sections elsewhere in this file: a gap only a human reading
|
|
846
|
-
* the schema would ever notice.
|
|
847
|
-
*
|
|
848
|
-
* π Deliberately scoped to `categories` / `brands` / `stores` β the three
|
|
849
|
-
* axes that are PERMANENT regardless of product count. Even if every one of
|
|
850
|
-
* the 1,237 generated catalogue products were deleted, these three entry
|
|
851
|
-
* types would still resolve to real, populated rows: 1,185 categories, 28
|
|
852
|
-
* brand rows, 5 stores, all seeded independently of the product catalogue.
|
|
853
|
-
* A `"products"` or `"auctions"` entry here would be the opposite β a card
|
|
854
|
-
* that goes empty the moment the catalogue does, on a section whose entire
|
|
855
|
-
* point is to always have something to show.
|
|
856
|
-
*/
|
|
857
|
-
{
|
|
858
|
-
id: "section-top-collections",
|
|
859
|
-
type: "collection-cards",
|
|
860
|
-
order: 24,
|
|
861
|
-
enabled: true,
|
|
862
|
-
config: {
|
|
863
|
-
title: "Explore the Marketplace",
|
|
864
|
-
subtitle: "Three ways into the catalogue that never go empty.",
|
|
865
|
-
layout: "grid",
|
|
866
|
-
itemsPerRow: 3,
|
|
867
|
-
showCollectionTabs: false,
|
|
868
|
-
collections: [
|
|
869
|
-
{ type: "categories", label: "Shop by Generation", limit: 6 },
|
|
870
|
-
{ type: "brands", label: "Shop by Brand", limit: 8 },
|
|
871
|
-
{ type: "stores", label: "Verified Sellers", limit: 5 },
|
|
872
|
-
],
|
|
873
|
-
cta: { label: "View all categories β", href: String(ROUTES.PUBLIC.CATEGORIES), variant: "text" },
|
|
874
|
-
},
|
|
875
|
-
createdAt: daysAgo(1),
|
|
876
|
-
updatedAt: daysAgo(1),
|
|
877
|
-
},
|
|
878
|
-
/*
|
|
879
|
-
* ---- 25. How it works ----------------------------------------------------
|
|
880
|
-
*
|
|
881
|
-
* `how-it-works` and `promo-grid` (26) were registered types with renderers,
|
|
882
|
-
* admin create-picker entries and ZERO seeded rows β so both returned `null`
|
|
883
|
-
* and the page was missing the two blocks a 2026 marketplace homepage most
|
|
884
|
-
* obviously has. They were left unseeded on the principle that this file must
|
|
885
|
-
* not invent placeholder content, which was the right call: the reason they
|
|
886
|
-
* can be seeded NOW is that there is real, checkable copy to put in them.
|
|
887
|
-
*
|
|
888
|
-
* π Every step below is a claim the site actually honours. No "ships in 24
|
|
889
|
-
* hours", no "100% buyer protection" β the authenticity labelling in step 2
|
|
890
|
-
* is the one genuine differentiator the carousel already leads with, quoted
|
|
891
|
-
* from the same policy.
|
|
892
|
-
*
|
|
893
|
-
* π NO BIDDING STEP. `listings.listingTypes.auction` is false, so a step
|
|
894
|
-
* telling visitors to place a bid would route them to a browse page with
|
|
895
|
-
* nothing in it.
|
|
896
|
-
*
|
|
897
|
-
* π PLACEMENT IS PROVISIONAL. Appended at 25/26 rather than inserted mid-page
|
|
898
|
-
* (how-it-works belongs nearer the top, after the trust bar) because the
|
|
899
|
-
* section order is being tuned with the owner in a parallel change and
|
|
900
|
-
* renumbering 24 rows underneath that would collide. Reposition from
|
|
901
|
-
* /admin/sections, which is cheaper than a reseed.
|
|
902
|
-
*/
|
|
903
|
-
{
|
|
904
|
-
id: "section-how-it-works",
|
|
905
|
-
type: "how-it-works",
|
|
906
|
-
order: 25,
|
|
907
|
-
enabled: true,
|
|
908
|
-
config: {
|
|
909
|
-
title: "How buying here works",
|
|
910
|
-
subtitle: "Three steps, and the second one is the part other marketplaces skip.",
|
|
911
|
-
pillLabel: "New here?",
|
|
912
|
-
ctaLabel: "Browse the catalogue β",
|
|
913
|
-
ctaLink: String(ROUTES.PUBLIC.PRODUCTS),
|
|
914
|
-
steps: [
|
|
915
|
-
{
|
|
916
|
-
number: 1,
|
|
917
|
-
iconKey: "search",
|
|
918
|
-
title: "Find the piece",
|
|
919
|
-
desc: "Filter by generation, part family, condition and price across every seller on the marketplace.",
|
|
920
|
-
},
|
|
921
|
-
{
|
|
922
|
-
number: 2,
|
|
923
|
-
iconKey: "verify",
|
|
924
|
-
title: "Read the authenticity label",
|
|
925
|
-
desc: "Every listing carries one of three labels β original, reproduction or unverified. If a seller does not say which, it reads βunverifiedβ; we will not claim βoriginalβ on their behalf.",
|
|
926
|
-
},
|
|
927
|
-
{
|
|
928
|
-
number: 3,
|
|
929
|
-
iconKey: "lock",
|
|
930
|
-
title: "Buy with the seller verified",
|
|
931
|
-
desc: "Identity and payout details are checked before a store can publish, and your address and phone number are encrypted at rest.",
|
|
932
|
-
},
|
|
933
|
-
],
|
|
934
|
-
},
|
|
935
|
-
createdAt: daysAgo(1),
|
|
936
|
-
updatedAt: daysAgo(1),
|
|
937
|
-
},
|
|
938
|
-
/*
|
|
939
|
-
* ---- 26. Promo grid ------------------------------------------------------
|
|
940
|
-
*
|
|
941
|
-
* The always-dark 4-tile editorial mosaic: one large slot plus three, each a
|
|
942
|
-
* full-bleed image under a bottom-up scrim. Routes to the four generations,
|
|
943
|
-
* which is the one set of destinations guaranteed to be populated however the
|
|
944
|
-
* product catalogue changes β a promo tile pointing at an empty page is worse
|
|
945
|
-
* than no tile.
|
|
946
|
-
*
|
|
947
|
-
* π `image` is a `/media/<shortId>` slug backed by a real `mediaAssets` row,
|
|
948
|
-
* never `seedPhoto()` (six flat grey tiles) and never a third-party host
|
|
949
|
-
* (Root Cause #104). These four covers are the same ones the generation
|
|
950
|
-
* categories use, so they are known-present.
|
|
951
|
-
*
|
|
952
|
-
* π The component caps at `PROMO_GRID_MAX_BANNERS` (4) and silently drops a
|
|
953
|
-
* fifth β the layout has exactly one hero slot and three regular ones.
|
|
954
|
-
*/
|
|
955
|
-
{
|
|
956
|
-
id: "section-generation-promos",
|
|
957
|
-
type: "promo-grid",
|
|
958
|
-
order: 26,
|
|
959
|
-
enabled: true,
|
|
960
|
-
config: {
|
|
961
|
-
eyebrow: "FOUR GENERATIONS",
|
|
962
|
-
heading: "Pick your era",
|
|
963
|
-
banners: [
|
|
964
|
-
{
|
|
965
|
-
id: "promo-beyblade-x",
|
|
966
|
-
title: "Beyblade X",
|
|
967
|
-
ctaLabel: "Shop Beyblade X",
|
|
968
|
-
ctaUrl: "/categories/category-beyblade-x",
|
|
969
|
-
image: "/media/category-beyblade-x-image",
|
|
970
|
-
},
|
|
971
|
-
{
|
|
972
|
-
id: "promo-beyblade-burst",
|
|
973
|
-
title: "Burst",
|
|
974
|
-
ctaLabel: "Shop Burst",
|
|
975
|
-
ctaUrl: "/categories/category-beyblade-burst",
|
|
976
|
-
image: "/media/category-beyblade-burst-image",
|
|
977
|
-
},
|
|
978
|
-
{
|
|
979
|
-
id: "promo-beyblade-metal",
|
|
980
|
-
title: "Metal Fight",
|
|
981
|
-
ctaLabel: "Shop Metal Fight",
|
|
982
|
-
ctaUrl: "/categories/category-beyblade-metal",
|
|
983
|
-
image: "/media/category-beyblade-metal-image",
|
|
984
|
-
},
|
|
985
|
-
{
|
|
986
|
-
id: "promo-beyblade-original",
|
|
987
|
-
title: "The Originals",
|
|
988
|
-
ctaLabel: "Shop the originals",
|
|
989
|
-
ctaUrl: "/categories/category-beyblade-original",
|
|
990
|
-
image: "/media/category-beyblade-original-image",
|
|
991
|
-
},
|
|
992
|
-
],
|
|
993
|
-
},
|
|
994
|
-
createdAt: daysAgo(1),
|
|
995
|
-
updatedAt: daysAgo(1),
|
|
996
|
-
},
|
|
997
|
-
/*
|
|
998
|
-
* π `google-reviews` stays DELIBERATELY UNSEEDED β not an oversight, the
|
|
999
|
-
* same decision already made for `googleMapsApiKey`/`googlePlaceId` in
|
|
1000
|
-
* `site-settings-seed-data.ts`: those are seeded `""` on purpose, because
|
|
1001
|
-
* their consumers (`GoogleReviewsSectionConfig.placeId` is this section's
|
|
1002
|
-
* only REQUIRED field) read them directly and would treat a placeholder as
|
|
1003
|
-
* a usable credential, producing a failed, possibly BILLED Google Places
|
|
1004
|
-
* API call instead of skipping cleanly.
|
|
1005
|
-
*
|
|
1006
|
-
* Reviews pulled from this section are real third-party content keyed to a
|
|
1007
|
-
* real Google Business Profile this project does not have. Fabricating a
|
|
1008
|
-
* `placeId` would either hit Google's API with an invalid key (cost, for a
|
|
1009
|
-
* call that can never succeed) or β worse β a VALID placeId for a real,
|
|
1010
|
-
* unrelated business, rendering someone else's reviews as this store's own.
|
|
1011
|
-
* Neither is a seed-data problem to paper over; it is a real business
|
|
1012
|
-
* prerequisite (a Google Business Profile must exist) that has not happened
|
|
1013
|
-
* yet. The type stays in `SectionType` and `SECTION_REGISTRY` β it is a real
|
|
1014
|
-
* feature with zero fabricated data, not a bug.
|
|
1015
|
-
*/
|
|
1016
|
-
/*
|
|
1017
|
-
* π TCI's five BUDGET TILES ("Under βΉ499 / βΉ799 / βΉ999 / βΉ1499") are
|
|
1018
|
-
* DELIBERATELY NOT SEEDED, and this is a decision rather than an omission.
|
|
1019
|
-
*
|
|
1020
|
-
* The plan argued they are safe because "the tiles are LINKS, not prices".
|
|
1021
|
-
* That is true of the tile and false of the mechanism. Prices are hidden from
|
|
1022
|
-
* signed-out visitors, and the price-range facet and every money sort are
|
|
1023
|
-
* withheld specifically because "hiding the number is not hiding the value" β
|
|
1024
|
-
* bracketing a hidden price with a range filter is the one casually reachable
|
|
1025
|
-
* way around the gate. The documented residue is that a HAND-WRITTEN
|
|
1026
|
-
* `?f=price<499` still works, and five tiles on the homepage promote that
|
|
1027
|
-
* residue to the most prominent path on the site: a guest could bucket the
|
|
1028
|
-
* entire catalogue into five price bands in five clicks, without an account.
|
|
1029
|
-
*
|
|
1030
|
-
* The matrix above has no such property β a category link reveals no amount.
|
|
1031
|
-
* Revisit if guest price-gating is ever relaxed; until then this is a tile
|
|
1032
|
-
* that would quietly undo a gate another step built.
|
|
1033
|
-
*/
|
|
1034
|
-
];
|