@mohasinac/appkit 4.52.5 → 4.53.1
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 +4 -4
- package/dist/_internal/client/features/sticker-trace/canvas-codec.d.ts +2 -0
- package/dist/_internal/client/features/sticker-trace/canvas-codec.js +148 -0
- package/dist/_internal/client/scaffolds/AppShell.js +1 -1
- package/dist/_internal/server/features/auctions/actions.js +1 -1
- package/dist/_internal/server/features/auctions/og.d.ts +3 -1
- package/dist/_internal/server/features/auctions/og.js +3 -1
- package/dist/_internal/server/features/bundles/actions.js +1 -1
- package/dist/_internal/server/features/business-documents/download.d.ts +41 -0
- package/dist/_internal/server/features/business-documents/download.js +91 -0
- package/dist/_internal/server/features/categories/adapters.d.ts +1 -1
- package/dist/_internal/server/features/categories/adapters.js +10 -0
- package/dist/_internal/server/features/categories/data.js +23 -7
- package/dist/_internal/server/features/checkout/actions.d.ts +14 -0
- package/dist/_internal/server/features/checkout/actions.js +116 -15
- package/dist/_internal/server/features/checkout/bundle-expansion.js +17 -0
- package/dist/_internal/server/features/checkout/data.d.ts +37 -0
- package/dist/_internal/server/features/checkout/data.js +20 -3
- package/dist/_internal/server/features/checkout/group-rule-revalidation.d.ts +34 -0
- package/dist/_internal/server/features/checkout/group-rule-revalidation.js +124 -0
- package/dist/_internal/server/features/checkout/supplier-identity.d.ts +55 -0
- package/dist/_internal/server/features/checkout/supplier-identity.js +81 -0
- package/dist/_internal/server/features/classified/metadata.js +1 -1
- package/dist/_internal/server/features/classified/og.d.ts +3 -1
- package/dist/_internal/server/features/classified/og.js +3 -1
- package/dist/_internal/server/features/digital-code/metadata.js +1 -1
- package/dist/_internal/server/features/digital-code/og.d.ts +3 -1
- package/dist/_internal/server/features/digital-code/og.js +3 -1
- package/dist/_internal/server/features/digital-code/pool.d.ts +19 -4
- package/dist/_internal/server/features/digital-code/pool.js +19 -4
- package/dist/_internal/server/features/live/metadata.js +1 -1
- package/dist/_internal/server/features/live/og.d.ts +3 -1
- package/dist/_internal/server/features/live/og.js +3 -1
- package/dist/_internal/server/features/lottery/actions.js +9 -1
- package/dist/_internal/server/features/lottery/og.d.ts +40 -0
- package/dist/_internal/server/features/lottery/og.js +79 -0
- package/dist/_internal/server/features/messages/actions.js +5 -1
- package/dist/_internal/server/features/offers/adapters.js +17 -3
- package/dist/_internal/server/features/orders/actions.js +7 -2
- package/dist/_internal/server/features/parts/og.js +1 -1
- package/dist/_internal/server/features/pre-orders/og.d.ts +3 -1
- package/dist/_internal/server/features/pre-orders/og.js +3 -1
- package/dist/_internal/server/features/price-index/search.d.ts +18 -0
- package/dist/_internal/server/features/price-index/search.js +47 -7
- package/dist/_internal/server/features/prize-draws/og.d.ts +3 -1
- package/dist/_internal/server/features/prize-draws/og.js +3 -1
- package/dist/_internal/server/features/products/group-members.d.ts +26 -0
- package/dist/_internal/server/features/products/group-members.js +7 -1
- package/dist/_internal/server/features/products/og.d.ts +3 -1
- package/dist/_internal/server/features/products/og.js +3 -1
- package/dist/_internal/server/features/raffle/actions.d.ts +19 -0
- package/dist/_internal/server/features/raffle/actions.js +25 -0
- package/dist/_internal/server/features/reviews/actions.js +1 -1
- package/dist/_internal/server/features/reviews/data.d.ts +1 -1
- package/dist/_internal/server/features/search/index-build/artifact-store.d.ts +89 -0
- package/dist/_internal/server/features/search/index-build/artifact-store.js +208 -0
- package/dist/_internal/server/features/search/index-build/build.d.ts +57 -0
- package/dist/_internal/server/features/search/index-build/build.js +285 -0
- package/dist/_internal/server/features/search/index-build/sources.d.ts +53 -0
- package/dist/_internal/server/features/search/index-build/sources.js +385 -0
- package/dist/_internal/server/features/search/scoped-sources.d.ts +26 -0
- package/dist/_internal/server/features/search/scoped-sources.js +252 -0
- package/dist/_internal/server/features/search/search-everything.d.ts +57 -0
- package/dist/_internal/server/features/search/search-everything.js +70 -20
- package/dist/_internal/server/features/search/search-sources.d.ts +0 -15
- package/dist/_internal/server/features/search/search-sources.js +142 -7
- package/dist/_internal/server/features/seo/robots.js +21 -1
- package/dist/_internal/server/features/seo/sitemap.js +7 -1
- package/dist/_internal/server/features/shared/listing-adapters.js +4 -2
- package/dist/_internal/server/features/shared/listing-data-factory.js +16 -4
- package/dist/_internal/server/features/site-settings/adapters.d.ts +1 -1
- package/dist/_internal/server/features/site-settings/adapters.js +26 -0
- package/dist/_internal/server/features/sticker-trace/actions.d.ts +109 -0
- package/dist/_internal/server/features/sticker-trace/actions.js +172 -0
- package/dist/_internal/server/features/sticker-trace/adapters.d.ts +91 -0
- package/dist/_internal/server/features/sticker-trace/adapters.js +175 -0
- package/dist/_internal/server/features/sticker-trace/build-cut-file.d.ts +26 -0
- package/dist/_internal/server/features/sticker-trace/build-cut-file.js +127 -0
- package/dist/_internal/server/features/sticker-trace/coordinator.d.ts +27 -0
- package/dist/_internal/server/features/sticker-trace/coordinator.js +169 -0
- package/dist/_internal/server/features/sticker-trace/fanout.d.ts +43 -0
- package/dist/_internal/server/features/sticker-trace/fanout.js +180 -0
- package/dist/_internal/server/features/sticker-trace/finalizer.d.ts +25 -0
- package/dist/_internal/server/features/sticker-trace/finalizer.js +123 -0
- package/dist/_internal/server/features/sticker-trace/mosaic-inputs.d.ts +30 -0
- package/dist/_internal/server/features/sticker-trace/mosaic-inputs.js +112 -0
- package/dist/_internal/server/features/sticker-trace/progress.d.ts +81 -0
- package/dist/_internal/server/features/sticker-trace/progress.js +198 -0
- package/dist/_internal/server/features/sticker-trace/promote-to-listings.d.ts +26 -0
- package/dist/_internal/server/features/sticker-trace/promote-to-listings.js +264 -0
- package/dist/_internal/server/features/sticker-trace/promote.d.ts +23 -0
- package/dist/_internal/server/features/sticker-trace/promote.js +193 -0
- package/dist/_internal/server/features/sticker-trace/shard.d.ts +50 -0
- package/dist/_internal/server/features/sticker-trace/shard.js +174 -0
- package/dist/_internal/server/features/sticker-trace/sheet-actions.d.ts +143 -0
- package/dist/_internal/server/features/sticker-trace/sheet-actions.js +311 -0
- package/dist/_internal/server/features/sticker-trace/storage.d.ts +154 -0
- package/dist/_internal/server/features/sticker-trace/storage.js +301 -0
- package/dist/_internal/server/features/stores/adapters.d.ts +1 -1
- package/dist/_internal/server/features/stores/adapters.js +16 -0
- package/dist/_internal/server/features/stores/index.d.ts +1 -0
- package/dist/_internal/server/features/stores/index.js +1 -0
- package/dist/_internal/server/features/stores/tabs.d.ts +25 -0
- package/dist/_internal/server/features/stores/tabs.js +122 -0
- package/dist/_internal/server/functions/scheduled.d.ts +2 -1
- package/dist/_internal/server/functions/scheduled.js +25 -1
- package/dist/_internal/server/jobs/core/_event-ref.d.ts +51 -0
- package/dist/_internal/server/jobs/core/_event-ref.js +63 -0
- package/dist/_internal/server/jobs/core/assignSpinPrize.d.ts +18 -0
- package/dist/_internal/server/jobs/core/assignSpinPrize.js +77 -16
- package/dist/_internal/server/jobs/core/auctionSettlement.js +13 -4
- package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +44 -15
- package/dist/_internal/server/jobs/core/bundleStockSync.js +3 -4
- package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +44 -0
- package/dist/_internal/server/jobs/core/event-draw-reasons.d.ts +78 -0
- package/dist/_internal/server/jobs/core/event-draw-reasons.js +133 -0
- package/dist/_internal/server/jobs/core/listingProcessor.js +28 -8
- package/dist/_internal/server/jobs/core/onOrderCreate.js +12 -1
- package/dist/_internal/server/jobs/core/onScamReportCreate.js +13 -2
- package/dist/_internal/server/jobs/core/onScamReportRejected.js +8 -2
- package/dist/_internal/server/jobs/core/onScamReportVerified.js +8 -2
- package/dist/_internal/server/jobs/core/onStoreWrite.js +11 -4
- package/dist/_internal/server/jobs/core/prizeDrawAssignWinner.js +5 -4
- package/dist/_internal/server/jobs/core/prizeDrawExpiryReveal.js +1 -4
- package/dist/_internal/server/jobs/core/prizeDrawSoldOutReveal.js +1 -2
- package/dist/_internal/server/jobs/core/promotions.js +7 -4
- package/dist/_internal/server/jobs/core/searchIndexBuild.d.ts +7 -0
- package/dist/_internal/server/jobs/core/searchIndexBuild.js +211 -0
- package/dist/_internal/server/jobs/core/triggerEventRaffle.d.ts +35 -0
- package/dist/_internal/server/jobs/core/triggerEventRaffle.js +213 -31
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +20 -14
- package/dist/_internal/server/jobs/handlers/assignSpinPrize.d.ts +8 -0
- package/dist/_internal/server/jobs/handlers/assignSpinPrize.js +15 -15
- package/dist/_internal/server/jobs/handlers/index.d.ts +1 -0
- package/dist/_internal/server/jobs/handlers/index.js +1 -0
- package/dist/_internal/server/jobs/handlers/onCategoryWrite.js +18 -0
- package/dist/_internal/server/jobs/handlers/onProductWrite.js +18 -0
- package/dist/_internal/server/jobs/handlers/onReviewWrite.js +18 -0
- package/dist/_internal/server/jobs/handlers/onScamReportUpdate.js +18 -0
- package/dist/_internal/server/jobs/handlers/onStoreWrite.js +18 -0
- package/dist/_internal/server/jobs/handlers/searchIndexBuild.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/searchIndexBuild.js +2 -0
- package/dist/_internal/server/jobs/handlers/triggerEventRaffle.d.ts +8 -0
- package/dist/_internal/server/jobs/handlers/triggerEventRaffle.js +15 -6
- package/dist/_internal/shared/actions/action-registry.js +29 -0
- package/dist/_internal/shared/cache/revalidate-targets.d.ts +0 -1
- package/dist/_internal/shared/cache/revalidate-targets.js +10 -8
- package/dist/_internal/shared/checkout/rules/_defaults.js +0 -2
- package/dist/_internal/shared/checkout/rules/_limits.d.ts +14 -1
- package/dist/_internal/shared/checkout/rules/_limits.js +14 -1
- package/dist/_internal/shared/checkout/rules/_registry.js +2 -0
- package/dist/_internal/shared/checkout/rules/auction.rule.js +9 -1
- package/dist/_internal/shared/checkout/rules/bundle.rule.js +13 -0
- package/dist/_internal/shared/checkout/rules/index.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/index.js +9 -0
- package/dist/_internal/shared/checkout/rules/offer.rule.js +0 -1
- package/dist/_internal/shared/checkout/rules/payment-gate.d.ts +26 -0
- package/dist/_internal/shared/checkout/rules/payment-gate.js +133 -0
- package/dist/_internal/shared/checkout/rules/prize-draw.rule.js +29 -8
- package/dist/_internal/shared/checkout/rules/spares.rule.d.ts +16 -0
- package/dist/_internal/shared/checkout/rules/spares.rule.js +5 -0
- package/dist/_internal/shared/checkout/rules/types.d.ts +26 -2
- package/dist/_internal/shared/config/schema.d.ts +122 -0
- package/dist/_internal/shared/features/cart/schema.js +3 -2
- package/dist/_internal/shared/features/events/config.d.ts +14 -0
- package/dist/_internal/shared/features/events/config.js +14 -0
- package/dist/_internal/shared/features/notifications/action-url.js +8 -0
- package/dist/_internal/shared/features/products/group-rules.d.ts +75 -0
- package/dist/_internal/shared/features/products/group-rules.js +142 -0
- package/dist/_internal/shared/features/site-settings/types.d.ts +11 -0
- package/dist/_internal/shared/features/sticker-trace/codec.d.ts +81 -0
- package/dist/_internal/shared/features/sticker-trace/codec.js +30 -0
- package/dist/_internal/shared/features/sticker-trace/config.d.ts +81 -0
- package/dist/_internal/shared/features/sticker-trace/config.js +177 -0
- package/dist/_internal/shared/features/sticker-trace/cut-contour.d.ts +20 -0
- package/dist/_internal/shared/features/sticker-trace/cut-contour.js +60 -0
- package/dist/_internal/shared/features/sticker-trace/export/build-export-set.d.ts +65 -0
- package/dist/_internal/shared/features/sticker-trace/export/build-export-set.js +176 -0
- package/dist/_internal/shared/features/sticker-trace/export/cut-svg.d.ts +56 -0
- package/dist/_internal/shared/features/sticker-trace/export/cut-svg.js +120 -0
- package/dist/_internal/shared/features/sticker-trace/export/machine-profiles.d.ts +92 -0
- package/dist/_internal/shared/features/sticker-trace/export/machine-profiles.js +153 -0
- package/dist/_internal/shared/features/sticker-trace/export/nesting.d.ts +51 -0
- package/dist/_internal/shared/features/sticker-trace/export/nesting.js +110 -0
- package/dist/_internal/shared/features/sticker-trace/export/page-sizes.d.ts +68 -0
- package/dist/_internal/shared/features/sticker-trace/export/page-sizes.js +223 -0
- package/dist/_internal/shared/features/sticker-trace/export/part-tiling.d.ts +51 -0
- package/dist/_internal/shared/features/sticker-trace/export/part-tiling.js +178 -0
- package/dist/_internal/shared/features/sticker-trace/export/simplify-budget.d.ts +26 -0
- package/dist/_internal/shared/features/sticker-trace/export/simplify-budget.js +134 -0
- package/dist/_internal/shared/features/sticker-trace/export/vectorise-art.d.ts +40 -0
- package/dist/_internal/shared/features/sticker-trace/export/vectorise-art.js +195 -0
- package/dist/_internal/shared/features/sticker-trace/index.d.ts +2 -0
- package/dist/_internal/shared/features/sticker-trace/index.js +59 -0
- package/dist/_internal/shared/features/sticker-trace/math/catmull-rom.d.ts +11 -0
- package/dist/_internal/shared/features/sticker-trace/math/catmull-rom.js +66 -0
- package/dist/_internal/shared/features/sticker-trace/math/edt.d.ts +27 -0
- package/dist/_internal/shared/features/sticker-trace/math/edt.js +165 -0
- package/dist/_internal/shared/features/sticker-trace/math/label.d.ts +15 -0
- package/dist/_internal/shared/features/sticker-trace/math/label.js +156 -0
- package/dist/_internal/shared/features/sticker-trace/math/marching-squares.d.ts +16 -0
- package/dist/_internal/shared/features/sticker-trace/math/marching-squares.js +242 -0
- package/dist/_internal/shared/features/sticker-trace/math/morphology.d.ts +46 -0
- package/dist/_internal/shared/features/sticker-trace/math/morphology.js +168 -0
- package/dist/_internal/shared/features/sticker-trace/math/rasterize-path.d.ts +88 -0
- package/dist/_internal/shared/features/sticker-trace/math/rasterize-path.js +286 -0
- package/dist/_internal/shared/features/sticker-trace/math/rdp.d.ts +10 -0
- package/dist/_internal/shared/features/sticker-trace/math/rdp.js +74 -0
- package/dist/_internal/shared/features/sticker-trace/resume.d.ts +50 -0
- package/dist/_internal/shared/features/sticker-trace/resume.js +160 -0
- package/dist/_internal/shared/features/sticker-trace/trace/cluster.d.ts +20 -0
- package/dist/_internal/shared/features/sticker-trace/trace/cluster.js +132 -0
- package/dist/_internal/shared/features/sticker-trace/trace/cross-profile.d.ts +28 -0
- package/dist/_internal/shared/features/sticker-trace/trace/cross-profile.js +120 -0
- package/dist/_internal/shared/features/sticker-trace/trace/flood.d.ts +21 -0
- package/dist/_internal/shared/features/sticker-trace/trace/flood.js +104 -0
- package/dist/_internal/shared/features/sticker-trace/trace/geometry.d.ts +3 -0
- package/dist/_internal/shared/features/sticker-trace/trace/geometry.js +140 -0
- package/dist/_internal/shared/features/sticker-trace/trace/line-filter.d.ts +15 -0
- package/dist/_internal/shared/features/sticker-trace/trace/line-filter.js +138 -0
- package/dist/_internal/shared/features/sticker-trace/trace/merge.d.ts +27 -0
- package/dist/_internal/shared/features/sticker-trace/trace/merge.js +187 -0
- package/dist/_internal/shared/features/sticker-trace/trace/paper.d.ts +32 -0
- package/dist/_internal/shared/features/sticker-trace/trace/paper.js +147 -0
- package/dist/_internal/shared/features/sticker-trace/trace/prefilter.d.ts +30 -0
- package/dist/_internal/shared/features/sticker-trace/trace/prefilter.js +125 -0
- package/dist/_internal/shared/features/sticker-trace/trace/quantise.d.ts +10 -0
- package/dist/_internal/shared/features/sticker-trace/trace/quantise.js +153 -0
- package/dist/_internal/shared/features/sticker-trace/trace/ridge.d.ts +88 -0
- package/dist/_internal/shared/features/sticker-trace/trace/ridge.js +344 -0
- package/dist/_internal/shared/features/sticker-trace/trace/segment.d.ts +10 -0
- package/dist/_internal/shared/features/sticker-trace/trace/segment.js +251 -0
- package/dist/_internal/shared/features/sticker-trace/types.d.ts +197 -0
- package/dist/_internal/shared/features/sticker-trace/types.js +49 -0
- package/dist/_internal/shared/listing-types/_registry.d.ts +35 -0
- package/dist/_internal/shared/listing-types/_registry.js +39 -1
- package/dist/_internal/shared/listing-types/art/config.d.ts +2 -0
- package/dist/_internal/shared/listing-types/art/config.js +3 -0
- package/dist/_internal/shared/listing-types/auction/config.d.ts +2 -0
- package/dist/_internal/shared/listing-types/auction/config.js +3 -0
- package/dist/_internal/shared/listing-types/availability.js +48 -0
- package/dist/_internal/shared/listing-types/capabilities.js +19 -0
- package/dist/_internal/shared/listing-types/classified/config.d.ts +2 -0
- package/dist/_internal/shared/listing-types/classified/config.js +3 -0
- package/dist/_internal/shared/listing-types/digital-code/config.d.ts +2 -0
- package/dist/_internal/shared/listing-types/digital-code/config.js +3 -0
- package/dist/_internal/shared/listing-types/feature-flags.d.ts +7 -0
- package/dist/_internal/shared/listing-types/feature-flags.js +10 -0
- package/dist/_internal/shared/listing-types/live/config.d.ts +2 -0
- package/dist/_internal/shared/listing-types/live/config.js +3 -0
- package/dist/_internal/shared/listing-types/pre-order/config.d.ts +2 -0
- package/dist/_internal/shared/listing-types/pre-order/config.js +3 -0
- package/dist/_internal/shared/listing-types/prize-draw/config.d.ts +2 -0
- package/dist/_internal/shared/listing-types/prize-draw/config.js +3 -0
- package/dist/_internal/shared/listing-types/spares/config.d.ts +74 -0
- package/dist/_internal/shared/listing-types/spares/config.js +60 -0
- package/dist/_internal/shared/listing-types/spares/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/spares/ctas.js +4 -0
- package/dist/_internal/shared/listing-types/spares/og.js +1 -0
- package/dist/_internal/shared/listing-types/spares/schema.d.ts +2 -0
- package/dist/_internal/shared/listing-types/spares/schema.js +3 -0
- package/dist/_internal/shared/listing-types/spares/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/spares/seed-factory.js +1 -0
- package/dist/_internal/shared/listing-types/standard/config.d.ts +2 -0
- package/dist/_internal/shared/listing-types/standard/config.js +3 -0
- package/dist/_internal/shared/listing-types/stickers/config.d.ts +2 -0
- package/dist/_internal/shared/listing-types/stickers/config.js +3 -0
- package/dist/_internal/shared/media/limits.d.ts +12 -2
- package/dist/_internal/shared/media/limits.js +12 -2
- package/dist/_internal/shared/search/artifact-url.d.ts +35 -0
- package/dist/_internal/shared/search/artifact-url.js +119 -0
- package/dist/_internal/shared/search/index-record.d.ts +68 -0
- package/dist/_internal/shared/search/index-record.js +96 -0
- package/dist/_internal/shared/search/match.d.ts +76 -0
- package/dist/_internal/shared/search/match.js +264 -0
- package/dist/_internal/shared/search/to-groups.d.ts +52 -0
- package/dist/_internal/shared/search/to-groups.js +141 -0
- package/dist/client.d.ts +16 -9
- package/dist/client.js +16 -6
- package/dist/configs/eslint.js +22 -2
- package/dist/constants/api-endpoints.d.ts +107 -15
- package/dist/constants/api-endpoints.js +60 -5
- package/dist/constants/cache-invalidation.js +3 -1
- package/dist/constants/field-names.d.ts +13 -1
- package/dist/constants/field-names.js +42 -1
- package/dist/contracts/repository.d.ts +8 -7
- package/dist/contracts/search.d.ts +2 -2
- package/dist/contracts/table.d.ts +3 -3
- package/dist/contracts/table.js +3 -3
- package/dist/core/contact-submissions.repository.js +2 -2
- package/dist/core/integration-keys.js +7 -1
- package/dist/core/newsletter.repository.js +2 -2
- package/dist/core/site-config.js +1 -1
- package/dist/errors/error-codes.d.ts +30 -0
- package/dist/errors/error-codes.js +30 -0
- package/dist/errors/error-display-map.js +40 -1
- package/dist/features/about/components/PolicyPageView.d.ts +22 -2
- package/dist/features/about/components/PolicyPageView.js +14 -2
- package/dist/features/about/components/PublicProfileView.js +2 -1
- package/dist/features/about/components/ShippingPolicyView.js +42 -2
- package/dist/features/account/api/[userId]/addresses/route.js +1 -1
- package/dist/features/account/components/NotificationBell.js +1 -1
- package/dist/features/account/components/UserBidsView.js +1 -1
- package/dist/features/account/components/index.d.ts +0 -8
- package/dist/features/account/components/index.js +0 -4
- package/dist/features/account/hooks/useProfileStats.js +5 -1
- package/dist/features/addresses/repository/addresses.repository.d.ts +33 -6
- package/dist/features/addresses/repository/addresses.repository.js +86 -9
- package/dist/features/addresses/schemas/firestore.d.ts +17 -6
- package/dist/features/admin/actions/admin-actions.js +16 -1
- package/dist/features/admin/actions/notification-actions.js +15 -6
- package/dist/features/admin/api/bids/route.js +1 -1
- package/dist/features/admin/api/coupons/route.js +1 -1
- package/dist/features/admin/api/products/route.js +1 -1
- package/dist/features/admin/api/reviews/route.js +1 -1
- package/dist/features/admin/components/AdminAdEditorView.js +19 -5
- package/dist/features/admin/components/AdminAuditLogView.js +1 -1
- package/dist/features/admin/components/AdminBlogEditorView.js +0 -1
- package/dist/features/admin/components/AdminBlogView.js +1 -1
- package/dist/features/admin/components/AdminBrandsView.js +17 -1
- package/dist/features/admin/components/AdminCategoryEditorView.js +19 -3
- package/dist/features/admin/components/AdminContactView.js +1 -1
- package/dist/features/admin/components/AdminEmployeeEditorView.js +1 -3
- package/dist/features/admin/components/AdminNavigationView.js +1 -1
- package/dist/features/admin/components/AdminNewsletterView.js +1 -1
- package/dist/features/admin/components/AdminOrdersView.js +9 -2
- package/dist/features/admin/components/AdminPageHeader.js +1 -1
- package/dist/features/admin/components/AdminPayoutsView.js +1 -1
- package/dist/features/admin/components/AdminPrizeDrawsView.js +11 -0
- package/dist/features/admin/components/AdminProductEditorView.d.ts +10 -1
- package/dist/features/admin/components/AdminProductEditorView.js +41 -39
- package/dist/features/admin/components/AdminProductsView.js +10 -3
- package/dist/features/admin/components/AdminScammersView.js +1 -1
- package/dist/features/admin/components/AdminSectionsView.js +21 -5
- package/dist/features/admin/components/AdminSessionsView.js +1 -1
- package/dist/features/admin/components/AdminSidebar.js +1 -1
- package/dist/features/admin/components/AdminSiteSettingsView.js +39 -8
- package/dist/features/admin/components/AdminSparesView.d.ts +12 -0
- package/dist/features/admin/components/AdminSparesView.js +30 -0
- package/dist/features/admin/components/AdminSublistingCategoriesView.js +22 -1
- package/dist/features/admin/components/AdminTeamView.js +1 -1
- package/dist/features/admin/components/AdminTesterChecklistItemEditorView.js +0 -1
- package/dist/features/admin/components/AdminUsersView.js +10 -8
- package/dist/features/admin/components/DataListingView.d.ts +2 -1
- package/dist/features/admin/components/DataListingView.js +9 -4
- package/dist/features/admin/components/analytics/AdminPageViewsReportView.js +0 -2
- package/dist/features/admin/components/index.d.ts +2 -0
- package/dist/features/admin/components/index.js +1 -0
- package/dist/features/admin/components/sections/adminSectionsTypes.js +7 -0
- package/dist/features/admin/constants/filter-tabs.d.ts +3 -0
- package/dist/features/admin/constants/filter-tabs.js +1 -0
- package/dist/features/admin/hooks/useAdminListing.d.ts +1 -1
- package/dist/features/admin/repository/site-settings.repository.js +8 -3
- package/dist/features/admin/schemas/firestore.d.ts +88 -3
- package/dist/features/admin/schemas/firestore.js +32 -0
- package/dist/features/admin/types/index.d.ts +1 -1
- package/dist/features/auctions/actions/bid-actions.d.ts +2 -2
- package/dist/features/auctions/actions/bid-actions.js +16 -4
- package/dist/features/auctions/api/route.js +1 -1
- package/dist/features/auctions/components/AuctionBottomActions.js +4 -0
- package/dist/features/auctions/components/AuctionDetailPageView.js +4 -11
- package/dist/features/auctions/repository/bid.repository.d.ts +46 -4
- package/dist/features/auctions/repository/bid.repository.js +114 -13
- package/dist/features/auctions/schemas/firestore.d.ts +24 -4
- package/dist/features/auctions/schemas/firestore.js +1 -0
- package/dist/features/auth/actions/profile-actions.js +30 -4
- package/dist/features/auth/components/index.d.ts +0 -1
- package/dist/features/auth/components/index.js +0 -1
- package/dist/features/auth/repository/session.repository.d.ts +17 -3
- package/dist/features/auth/repository/session.repository.js +46 -5
- package/dist/features/auth/repository/token.repository.d.ts +27 -4
- package/dist/features/auth/repository/token.repository.js +65 -11
- package/dist/features/auth/repository/user.repository.d.ts +46 -7
- package/dist/features/auth/repository/user.repository.js +128 -15
- package/dist/features/auth/schemas/firestore.d.ts +65 -12
- package/dist/features/auth/schemas/firestore.js +13 -0
- package/dist/features/before-after/api/route.js +1 -1
- package/dist/features/blog/components/BlogListView.js +16 -3
- package/dist/features/blog/components/BlogPostView.js +1 -1
- package/dist/features/blog/schemas/index.d.ts +2 -2
- package/dist/features/business-documents/repository/business-documents.repository.d.ts +58 -0
- package/dist/features/business-documents/repository/business-documents.repository.js +54 -0
- package/dist/features/business-documents/schemas/firestore.d.ts +105 -0
- package/dist/features/business-documents/schemas/firestore.js +75 -0
- package/dist/features/cart/actions/cart-actions.js +83 -6
- package/dist/features/cart/api/route.js +1 -1
- package/dist/features/cart/repository/cart.repository.js +32 -4
- package/dist/features/cart/schemas/firestore.d.ts +20 -0
- package/dist/features/cart/schemas/index.d.ts +2 -2
- package/dist/features/catalogue/components/PublicCatalogueItemDetailView.js +1 -1
- package/dist/features/catalogue/repository/catalogue.repository.d.ts +7 -7
- package/dist/features/catalogue/repository/catalogue.repository.js +28 -10
- package/dist/features/catalogue/schemas/firestore.d.ts +11 -0
- package/dist/features/categories/api/[id]/price-guidance/route.d.ts +42 -0
- package/dist/features/categories/api/[id]/price-guidance/route.js +113 -0
- package/dist/features/categories/api/route.js +10 -10
- package/dist/features/categories/components/BrandDetailPageView.js +19 -3
- package/dist/features/categories/components/BrandDetailTabs.js +10 -0
- package/dist/features/categories/components/CategoriesIndexListing.js +23 -8
- package/dist/features/categories/components/CategoryDetailPageView.js +170 -13
- package/dist/features/categories/components/CategoryDetailTabs.js +12 -0
- package/dist/features/categories/components/CategoryGrid.js +10 -1
- package/dist/features/categories/components/CategorySelectorCreate.js +0 -1
- package/dist/features/categories/components/PriceGuidanceHint.d.ts +29 -0
- package/dist/features/categories/components/PriceGuidanceHint.js +61 -0
- package/dist/features/categories/components/SubcategoryCardRow.d.ts +27 -0
- package/dist/features/categories/components/SubcategoryCardRow.js +98 -0
- package/dist/features/categories/components/index.d.ts +0 -2
- package/dist/features/categories/components/index.js +0 -1
- package/dist/features/categories/constants/category-tabs.d.ts +20 -25
- package/dist/features/categories/constants/category-tabs.js +22 -39
- package/dist/features/categories/repository/categories.repository.d.ts +13 -0
- package/dist/features/categories/repository/categories.repository.js +51 -1
- package/dist/features/categories/schemas/firestore.d.ts +22 -1
- package/dist/features/categories/schemas/firestore.js +10 -0
- package/dist/features/categories/schemas/index.d.ts +8 -2
- package/dist/features/categories/schemas/index.js +2 -0
- package/dist/features/categories/types/index.d.ts +8 -0
- package/dist/features/categories/utils/taxonomy-visual.d.ts +34 -0
- package/dist/features/categories/utils/taxonomy-visual.js +74 -0
- package/dist/features/checkout/actions/checkout-value-otp-actions.js +8 -1
- package/dist/features/classified/components/ClassifiedDetailPageView.js +4 -9
- package/dist/features/collections/api/[slug]/route.js +3 -3
- package/dist/features/collections/api/route.js +1 -1
- package/dist/features/consultation/api/route.js +1 -1
- package/dist/features/consultation/repository/consultations.repository.js +1 -1
- package/dist/features/consultation/types/index.d.ts +1 -1
- package/dist/features/contact/components/ContactForm.js +1 -3
- package/dist/features/contact/components/ContactPageView.d.ts +33 -1
- package/dist/features/contact/components/ContactPageView.js +58 -28
- package/dist/features/corporate/api/route.js +1 -1
- package/dist/features/corporate/repository/corporate.repository.js +1 -1
- package/dist/features/corporate/types/index.d.ts +1 -1
- package/dist/features/cron/jobs/auction-expiry.job.js +1 -1
- package/dist/features/cron/jobs/preorder-reminder.job.js +1 -1
- package/dist/features/digital-codes/components/DigitalCodeDetailPageView.js +4 -9
- package/dist/features/events/actions/event-actions.d.ts +14 -0
- package/dist/features/events/actions/event-actions.js +82 -3
- package/dist/features/events/api/[id]/route.js +2 -2
- package/dist/features/events/components/AdminEventEditorView.js +22 -3
- package/dist/features/events/components/AdminEventsView.js +32 -8
- package/dist/features/events/components/EventRafflesSection.d.ts +34 -1
- package/dist/features/events/components/EventRafflesSection.js +52 -3
- package/dist/features/events/components/SpinWheelView.d.ts +2 -2
- package/dist/features/events/components/SpinWheelView.js +41 -4
- package/dist/features/events/repository/event-entry.repository.d.ts +14 -2
- package/dist/features/events/repository/event-entry.repository.js +41 -7
- package/dist/features/events/schemas/firestore.d.ts +17 -4
- package/dist/features/events/types/index.d.ts +37 -0
- package/dist/features/faq/repository/faqs.repository.js +1 -1
- package/dist/features/faq/schemas/index.d.ts +5 -2
- package/dist/features/faq/schemas/index.js +6 -0
- package/dist/features/faq/types/index.d.ts +0 -1
- package/dist/features/grouped/components/GroupedListingDetailView.js +9 -1
- package/dist/features/grouped/components/GroupedListingEditorView.js +17 -2
- package/dist/features/grouped/schemas/firestore.d.ts +5 -0
- package/dist/features/homepage/actions/homepage-section-actions.d.ts +3 -3
- package/dist/features/homepage/api/carousel/[id]/route.js +1 -1
- package/dist/features/homepage/api/carousel/route.js +4 -4
- package/dist/features/homepage/components/AnnouncementBar.d.ts +1 -9
- package/dist/features/homepage/components/AnnouncementBar.js +13 -19
- package/dist/features/homepage/components/CollectionCardsSection.d.ts +28 -6
- package/dist/features/homepage/components/CollectionCardsSection.js +43 -8
- package/dist/features/homepage/components/HowItWorksSection.d.ts +23 -6
- package/dist/features/homepage/components/HowItWorksSection.js +4 -4
- package/dist/features/homepage/components/MarketplaceHomepageView.js +6 -1
- package/dist/features/homepage/components/PromoGrid.d.ts +31 -2
- package/dist/features/homepage/components/PromoGrid.js +12 -3
- package/dist/features/homepage/components/TestimonialsCarousel.d.ts +34 -2
- package/dist/features/homepage/components/TestimonialsCarousel.js +1 -1
- package/dist/features/homepage/components/index.d.ts +0 -22
- package/dist/features/homepage/components/index.js +0 -12
- package/dist/features/homepage/index.d.ts +0 -2
- package/dist/features/homepage/index.js +0 -2
- package/dist/features/homepage/lib/section-renderer.d.ts +9 -0
- package/dist/features/homepage/lib/section-renderer.js +202 -58
- package/dist/features/homepage/repository/homepage-sections.repository.d.ts +35 -3
- package/dist/features/homepage/repository/homepage-sections.repository.js +58 -8
- package/dist/features/homepage/schemas/firestore.d.ts +112 -3
- package/dist/features/homepage/schemas/firestore.js +32 -2
- package/dist/features/homepage/schemas/index.d.ts +46 -17
- package/dist/features/homepage/schemas/index.js +39 -27
- package/dist/features/homepage/server.d.ts +0 -3
- package/dist/features/homepage/server.js +0 -3
- package/dist/features/homepage/types/index.d.ts +0 -47
- package/dist/features/homepage/types/index.js +49 -0
- package/dist/features/layout/AppLayoutShell.d.ts +11 -0
- package/dist/features/layout/AppLayoutShell.js +65 -13
- package/dist/features/layout/BottomActionsContext.d.ts +16 -0
- package/dist/features/layout/BottomActionsContext.js +5 -0
- package/dist/features/layout/BottomChrome.js +48 -9
- package/dist/features/layout/BottomNavItem.js +1 -1
- package/dist/features/layout/BottomNavbar.d.ts +14 -0
- package/dist/features/layout/BottomNavbar.js +43 -3
- package/dist/features/layout/BottomSheet.js +1 -1
- package/dist/features/layout/MainNavbar.d.ts +11 -0
- package/dist/features/layout/NavbarLayout.d.ts +3 -0
- package/dist/features/layout/NavbarLayout.js +88 -11
- package/dist/features/layout/SideActionDock.d.ts +1 -0
- package/dist/features/layout/SideActionDock.js +219 -0
- package/dist/features/layout/TitleBarLayout.js +1 -1
- package/dist/features/layout/cta-anchor.d.ts +31 -0
- package/dist/features/layout/cta-anchor.js +31 -0
- package/dist/features/layout/hooks/useBottomActions.d.ts +7 -0
- package/dist/features/layout/hooks/useBottomActions.js +6 -1
- package/dist/features/layout/index.d.ts +9 -1
- package/dist/features/layout/index.js +9 -1
- package/dist/features/layout/useCtaReveal.d.ts +24 -0
- package/dist/features/layout/useCtaReveal.js +82 -0
- package/dist/features/layout/useHoldToOpen.d.ts +41 -0
- package/dist/features/layout/useHoldToOpen.js +84 -0
- package/dist/features/live/components/LiveItemDetailPageView.js +4 -9
- package/dist/features/lottery/repository/lottery-entry.repository.d.ts +18 -3
- package/dist/features/lottery/repository/lottery-entry.repository.js +48 -6
- package/dist/features/lottery/schemas/firestore.d.ts +33 -5
- package/dist/features/loyalty/api/balance/route.js +1 -1
- package/dist/features/loyalty/api/history/route.js +1 -1
- package/dist/features/media/MediaImage.js +0 -1
- package/dist/features/media/MediaPickerModal.js +7 -1
- package/dist/features/media/hooks/useMedia.js +17 -0
- package/dist/features/media/modals/ImageEditor.js +5 -1
- package/dist/features/media/modals/VideoThumbnailSelector.js +17 -1
- package/dist/features/media/repository/media-assets.repository.d.ts +65 -0
- package/dist/features/media/repository/media-assets.repository.js +31 -0
- package/dist/features/media/trust-signals.d.ts +85 -0
- package/dist/features/media/trust-signals.js +126 -0
- package/dist/features/media/upload/CameraCapture.js +16 -1
- package/dist/features/media/upload/ImageUpload.js +42 -4
- package/dist/features/media/upload/MediaUploadField.js +69 -13
- package/dist/features/media/upload/downscale-image.d.ts +56 -0
- package/dist/features/media/upload/downscale-image.js +150 -0
- package/dist/features/messages/components/ConversationThreadView.js +45 -2
- package/dist/features/messages/components/MessageSellerButton.d.ts +15 -1
- package/dist/features/messages/components/MessageSellerButton.js +10 -2
- package/dist/features/messages/schemas/firestore.d.ts +15 -0
- package/dist/features/orders/hooks/useOrders.js +4 -2
- package/dist/features/orders/repository/orders.repository.d.ts +15 -4
- package/dist/features/orders/repository/orders.repository.js +52 -20
- package/dist/features/orders/schemas/firestore.d.ts +15 -4
- package/dist/features/orders/schemas/index.d.ts +8 -8
- package/dist/features/orders/types/index.d.ts +2 -2
- package/dist/features/parts/components/PartDetailPageView.d.ts +14 -1
- package/dist/features/parts/components/PartDetailPageView.js +2 -2
- package/dist/features/parts/components/PartsIndexPageView.d.ts +11 -2
- package/dist/features/parts/components/PartsIndexPageView.js +2 -2
- package/dist/features/parts/components/PartsSearchBox.d.ts +9 -0
- package/dist/features/parts/components/PartsSearchBox.js +57 -0
- package/dist/features/parts/schemas/firestore.d.ts +149 -3
- package/dist/features/parts/schemas/firestore.js +184 -0
- package/dist/features/payments/repository/payments.repository.js +2 -2
- package/dist/features/payments/repository/payout.repository.d.ts +38 -6
- package/dist/features/payments/repository/payout.repository.js +84 -23
- package/dist/features/payments/repository/saved-payment-methods.repository.d.ts +17 -6
- package/dist/features/payments/repository/saved-payment-methods.repository.js +59 -11
- package/dist/features/payments/schemas/firestore.d.ts +14 -3
- package/dist/features/payments/schemas/saved-methods-firestore.d.ts +12 -1
- package/dist/features/pre-orders/api/[slug]/route.js +1 -1
- package/dist/features/pre-orders/api/admin/route.js +1 -1
- package/dist/features/pre-orders/api/route.js +1 -1
- package/dist/features/pre-orders/components/PreOrderDetailPageView.js +4 -11
- package/dist/features/pre-orders/components/PreOrdersIndexListing.js +1 -1
- package/dist/features/pre-orders/repository/pre-orders.repository.d.ts +3 -3
- package/dist/features/pre-orders/repository/pre-orders.repository.js +6 -6
- package/dist/features/price-index/components/PriceIndexToolView.d.ts +3 -1
- package/dist/features/price-index/components/PriceIndexToolView.js +92 -13
- package/dist/features/products/api/[id]/route.js +1 -1
- package/dist/features/products/components/CompareOverlay.d.ts +18 -1
- package/dist/features/products/components/CompareOverlay.js +21 -2
- package/dist/features/products/components/CustomSectionTabContent.d.ts +31 -0
- package/dist/features/products/components/CustomSectionTabContent.js +29 -3
- package/dist/features/products/components/GroupMemberPicker.d.ts +19 -1
- package/dist/features/products/components/GroupMemberPicker.js +46 -8
- package/dist/features/products/components/GroupSettingsPanel.d.ts +11 -1
- package/dist/features/products/components/GroupSettingsPanel.js +91 -3
- package/dist/features/products/components/ListingBottomActions.js +4 -0
- package/dist/features/products/components/PrizeDrawDetailPageView.js +1 -1
- package/dist/features/products/components/PrizeDrawEntryActions.d.ts +15 -1
- package/dist/features/products/components/PrizeDrawEntryActions.js +70 -8
- package/dist/features/products/components/ProductDetailPageView.js +75 -15
- package/dist/features/products/components/ProductForm.d.ts +13 -1
- package/dist/features/products/components/ProductForm.js +16 -2
- package/dist/features/products/components/ProductGalleryClient.js +2 -2
- package/dist/features/products/components/ProductGrid.js +12 -1
- package/dist/features/products/components/ProductsIndexListing.d.ts +16 -1
- package/dist/features/products/components/ProductsIndexListing.js +3 -3
- package/dist/features/products/components/ShowGroupSection.js +15 -2
- package/dist/features/products/components/SparesListView.d.ts +7 -0
- package/dist/features/products/components/SparesListView.js +39 -0
- package/dist/features/products/components/index.d.ts +0 -2
- package/dist/features/products/components/index.js +0 -1
- package/dist/features/products/config/listing-type-listing-config.d.ts +0 -3
- package/dist/features/products/config/listing-type-listing-config.js +27 -2
- package/dist/features/products/constants/action-defs.d.ts +1 -0
- package/dist/features/products/constants/action-defs.js +1 -0
- package/dist/features/products/constants/listing-tabs.d.ts +9 -0
- package/dist/features/products/constants/listing-tabs.js +3 -2
- package/dist/features/products/hooks/useProducts.js +2 -2
- package/dist/features/products/repository/products.repository.d.ts +98 -0
- package/dist/features/products/repository/products.repository.js +248 -18
- package/dist/features/products/schemas/firestore.d.ts +97 -4
- package/dist/features/products/schemas/firestore.js +104 -0
- package/dist/features/products/schemas/index.d.ts +12 -21
- package/dist/features/products/schemas/index.js +23 -6
- package/dist/features/products/types/index.d.ts +46 -2
- package/dist/features/products/utils/group-member-image.d.ts +39 -0
- package/dist/features/products/utils/group-member-image.js +3 -0
- package/dist/features/products/utils/listing-badge-variant.js +4 -0
- package/dist/features/promotions/api/route.js +1 -1
- package/dist/features/reviews/actions/review-actions.d.ts +6 -6
- package/dist/features/reviews/actions/review-actions.js +22 -8
- package/dist/features/reviews/components/ReviewDetailPageView.js +13 -1
- package/dist/features/reviews/components/ReviewsIndexPageView.js +21 -4
- package/dist/features/reviews/components/ReviewsList.js +1 -1
- package/dist/features/reviews/repository/reviews.repository.d.ts +19 -7
- package/dist/features/reviews/repository/reviews.repository.js +63 -12
- package/dist/features/reviews/schemas/firestore.d.ts +13 -2
- package/dist/features/reviews/schemas/index.d.ts +2 -2
- package/dist/features/scams/actions/scam-actions.js +16 -4
- package/dist/features/scams/components/ScamProfileView.js +1 -1
- package/dist/features/search/components/EntityTypeahead.d.ts +44 -0
- package/dist/features/search/components/EntityTypeahead.js +92 -0
- package/dist/features/search/components/Search.d.ts +12 -1
- package/dist/features/search/components/Search.js +47 -3
- package/dist/features/search/components/SearchFacetRail.d.ts +11 -0
- package/dist/features/search/components/SearchFacetRail.js +92 -0
- package/dist/features/search/components/SearchResultsClient.d.ts +33 -0
- package/dist/features/search/components/SearchResultsClient.js +103 -0
- package/dist/features/search/components/SearchResultsPageView.d.ts +15 -1
- package/dist/features/search/components/SearchResultsPageView.js +3 -2
- package/dist/features/search/components/index.d.ts +0 -6
- package/dist/features/search/components/index.js +0 -3
- package/dist/features/search/hooks/useNavSuggestions.d.ts +13 -0
- package/dist/features/search/hooks/useScopedSearch.d.ts +34 -0
- package/dist/features/search/hooks/useScopedSearch.js +114 -0
- package/dist/features/search/hooks/useSearchIndex.d.ts +34 -0
- package/dist/features/search/hooks/useSearchIndex.js +172 -0
- package/dist/features/search/hooks/useSiteSearch.d.ts +26 -0
- package/dist/features/search/hooks/useSiteSearch.js +149 -0
- package/dist/features/search/index.d.ts +0 -4
- package/dist/features/search/index.js +0 -4
- package/dist/features/search/manifest.d.ts +12 -0
- package/dist/features/search/manifest.js +17 -2
- package/dist/features/search/server.d.ts +0 -3
- package/dist/features/search/server.js +0 -3
- package/dist/features/seller/actions/offer-actions.d.ts +5 -5
- package/dist/features/seller/actions/offer-actions.js +38 -8
- package/dist/features/seller/actions/seller-actions.js +34 -7
- package/dist/features/seller/api/coupons/route.js +1 -1
- package/dist/features/seller/api/products/route.js +1 -1
- package/dist/features/seller/api/store/route.js +1 -1
- package/dist/features/seller/components/SellerBidsView.js +1 -1
- package/dist/features/seller/components/SellerCouponsView.js +1 -1
- package/dist/features/seller/components/SellerListingTypeView.d.ts +1 -1
- package/dist/features/seller/components/SellerListingTypeView.js +29 -1
- package/dist/features/seller/components/SellerOrdersView.js +1 -1
- package/dist/features/seller/components/SellerPayoutSettingsView.js +35 -15
- package/dist/features/seller/components/SellerPayoutsView.js +1 -1
- package/dist/features/seller/components/SellerProductShell.d.ts +1 -1
- package/dist/features/seller/components/SellerProductShell.js +2 -2
- package/dist/features/seller/components/SellerProductsView.js +1 -1
- package/dist/features/seller/components/SellerShippingView.js +0 -1
- package/dist/features/seller/components/SellerSidebar.js +1 -1
- package/dist/features/seller/components/SellerSparesView.d.ts +17 -0
- package/dist/features/seller/components/SellerSparesView.js +6 -0
- package/dist/features/seller/components/SellerStorefrontView.js +0 -1
- package/dist/features/seller/components/index.d.ts +2 -4
- package/dist/features/seller/components/index.js +1 -2
- package/dist/features/seller/repository/offer.repository.d.ts +15 -3
- package/dist/features/seller/repository/offer.repository.js +43 -7
- package/dist/features/seller/schemas/firestore.d.ts +14 -3
- package/dist/features/seller/schemas/index.d.ts +4 -4
- package/dist/features/seller/schemas/order-forms.d.ts +39 -0
- package/dist/features/seller/schemas/order-forms.js +37 -0
- package/dist/features/shell/CommandPalette.js +1 -1
- package/dist/features/shell/FormShell.js +6 -2
- package/dist/features/shell/QuickFormDrawer.js +15 -1
- package/dist/features/shipments/components/AdminShipmentEditorView.js +0 -1
- package/dist/features/shipments/components/AdminShipmentsView.js +1 -1
- package/dist/features/sticker-trace/components/StickerCommitPanel.d.ts +30 -0
- package/dist/features/sticker-trace/components/StickerCommitPanel.js +93 -0
- package/dist/features/sticker-trace/components/StickerPrintPanel.d.ts +33 -0
- package/dist/features/sticker-trace/components/StickerPrintPanel.js +104 -0
- package/dist/features/sticker-trace/components/StickerRetryPanel.d.ts +20 -0
- package/dist/features/sticker-trace/components/StickerRetryPanel.js +128 -0
- package/dist/features/sticker-trace/components/StickerRunHistoryPanel.d.ts +45 -0
- package/dist/features/sticker-trace/components/StickerRunHistoryPanel.js +84 -0
- package/dist/features/sticker-trace/components/StickerTraceStudio.d.ts +27 -0
- package/dist/features/sticker-trace/components/StickerTraceStudio.js +171 -0
- package/dist/features/sticker-trace/constants/help-content.d.ts +23 -0
- package/dist/features/sticker-trace/constants/help-content.js +172 -0
- package/dist/features/sticker-trace/hooks/useLiveTrace.d.ts +27 -0
- package/dist/features/sticker-trace/hooks/useLiveTrace.js +160 -0
- package/dist/features/sticker-trace/hooks/useStickerTraceProgress.d.ts +22 -0
- package/dist/features/sticker-trace/hooks/useStickerTraceProgress.js +106 -0
- package/dist/features/sticker-trace/repository/sticker-sheets.repository.d.ts +113 -0
- package/dist/features/sticker-trace/repository/sticker-sheets.repository.js +146 -0
- package/dist/features/sticker-trace/repository/sticker-trace-runs.repository.d.ts +132 -0
- package/dist/features/sticker-trace/repository/sticker-trace-runs.repository.js +174 -0
- package/dist/features/sticker-trace/schemas/firestore.d.ts +267 -0
- package/dist/features/sticker-trace/schemas/firestore.js +79 -0
- package/dist/features/sticker-trace/server.d.ts +8 -0
- package/dist/features/sticker-trace/server.js +51 -0
- package/dist/features/stores/actions/store-query-actions.d.ts +2 -2
- package/dist/features/stores/actions/store-query-actions.js +7 -2
- package/dist/features/stores/api/[storeSlug]/auctions/route.js +3 -3
- package/dist/features/stores/api/[storeSlug]/products/route.js +3 -3
- package/dist/features/stores/api/[storeSlug]/reviews/route.js +1 -1
- package/dist/features/stores/api/[storeSlug]/route.js +1 -1
- package/dist/features/stores/components/StoreDetailLayoutView.d.ts +1 -1
- package/dist/features/stores/components/StoreDetailLayoutView.js +7 -82
- package/dist/features/stores/components/StoreHeader.js +1 -2
- package/dist/features/stores/components/StoreNavTabs.js +17 -2
- package/dist/features/stores/components/StoreSparesPageView.d.ts +27 -0
- package/dist/features/stores/components/StoreSparesPageView.js +48 -0
- package/dist/features/stores/manifest.js +8 -4
- package/dist/features/stores/schemas/firestore.d.ts +19 -0
- package/dist/features/support/repository/support.repository.d.ts +14 -3
- package/dist/features/support/repository/support.repository.js +93 -13
- package/dist/features/support/schemas/firestore.d.ts +16 -5
- package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.js +61 -19
- package/dist/features/tester/seed-data/authored/buying__browsing-search.js +19 -3
- package/dist/features/tester/seed-data/authored/buying__spares-and-groups.d.ts +2 -0
- package/dist/features/tester/seed-data/authored/buying__spares-and-groups.js +96 -0
- package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.d.ts +4 -0
- package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.js +478 -0
- package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.js +54 -32
- package/dist/features/tester/seed-data/authored/content-discovery__events.js +36 -10
- package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.d.ts +2 -0
- package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.js +209 -0
- package/dist/features/tester/seed-data/authored/content-discovery__parts-database.js +3 -2
- package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.d.ts +2 -0
- package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.js +73 -0
- package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.d.ts +2 -0
- package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.js +340 -0
- package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.d.ts +2 -0
- package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.js +90 -0
- package/dist/features/tester/seed-data/authored/index.js +24 -0
- package/dist/features/tester/seed-data/authored/search-and-nav__header-search.d.ts +1 -0
- package/dist/features/tester/seed-data/authored/search-and-nav__header-search.js +57 -0
- package/dist/features/tester/seed-data/authored/selling__media-limits.js +19 -17
- package/dist/features/tester/seed-data/authored/selling__product-upload-details.js +10 -5
- package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.d.ts +2 -0
- package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.js +77 -0
- package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.d.ts +2 -0
- package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.js +58 -0
- package/dist/features/tester/seed-data/authored/tools__sticker-tracer.d.ts +2 -0
- package/dist/features/tester/seed-data/authored/tools__sticker-tracer.js +284 -0
- package/dist/features/tester/seed-data/tester-checklist-seed-data.js +558 -34
- package/dist/index.d.ts +27 -80
- package/dist/index.js +62 -115
- package/dist/next/api/routeHandler.js +9 -0
- package/dist/next/routing/require-record.d.ts +13 -0
- package/dist/next/routing/require-record.js +62 -0
- package/dist/next/routing/route-map.d.ts +46 -5
- package/dist/next/routing/route-map.js +70 -3
- package/dist/providers/db-firebase/base.d.ts +4 -2
- package/dist/providers/db-firebase/base.js +21 -5
- package/dist/providers/db-firebase/base.repository.d.ts +33 -9
- package/dist/providers/db-firebase/base.repository.js +55 -0
- package/dist/providers/db-firebase/rtdb-paths.d.ts +12 -0
- package/dist/providers/db-firebase/rtdb-paths.js +12 -0
- package/dist/react/ErrorBoundary.js +6 -1
- package/dist/react/hooks/realtime-event-constants.d.ts +1 -0
- package/dist/react/hooks/realtime-event-constants.js +8 -0
- package/dist/react/hooks/useEntityDelete.js +5 -1
- package/dist/react/hooks/useMessage.js +5 -1
- package/dist/repositories/index.d.ts +2 -2
- package/dist/repositories/index.js +6 -1
- package/dist/schemas/registry.d.ts +28 -26
- package/dist/schemas/registry.js +31 -14
- package/dist/schemas/webhooks/google-oauth.d.ts +2 -2
- package/dist/security/blind-index-tokens.d.ts +54 -0
- package/dist/security/blind-index-tokens.js +152 -0
- package/dist/security/encrypted.d.ts +117 -0
- package/dist/security/encrypted.js +100 -0
- package/dist/security/index.d.ts +6 -3
- package/dist/security/index.js +17 -3
- package/dist/security/pii-accessors.d.ts +71 -0
- package/dist/security/pii-accessors.js +150 -0
- package/dist/security/pii-encrypt.d.ts +0 -8
- package/dist/security/pii-encrypt.js +22 -15
- package/dist/security/pii-mask.d.ts +18 -0
- package/dist/security/pii-mask.js +27 -0
- package/dist/security/settings-encryption.d.ts +35 -0
- package/dist/security/settings-encryption.js +91 -0
- package/dist/seed/_helpers/brand-rows.js +38 -14
- package/dist/seed/_helpers/category-forest.js +73 -7
- package/dist/seed/_helpers/category-images-generated.d.ts +25 -6
- package/dist/seed/_helpers/category-images-generated.js +81 -6
- package/dist/seed/_helpers/category-models.d.ts +1 -1
- package/dist/seed/_helpers/category-models.js +7 -1
- package/dist/seed/_helpers/category-parts-glossary-map.js +8 -0
- package/dist/seed/_helpers/category-parts.d.ts +1 -1
- package/dist/seed/_helpers/category-parts.js +50 -2
- package/dist/seed/_helpers/character-features.d.ts +1 -1
- package/dist/seed/_helpers/character-features.js +2 -1
- package/dist/seed/_helpers/franchise-rows.js +10 -2
- package/dist/seed/_helpers/media.d.ts +47 -0
- package/dist/seed/_helpers/media.js +34 -0
- package/dist/seed/_helpers/search-txt-wrappers.d.ts +6 -6
- package/dist/seed/_helpers/search-txt-wrappers.js +22 -0
- package/dist/seed/addresses-seed-data.d.ts +2 -2
- package/dist/seed/authenticity-knowledge-seed-data.d.ts +78 -0
- package/dist/seed/authenticity-knowledge-seed-data.js +10729 -0
- package/dist/seed/bids-seed-data.d.ts +2 -2
- package/dist/seed/bids-seed-data.js +23 -2
- package/dist/seed/categories-seed-data.js +124 -20
- package/dist/seed/events-seed-data.d.ts +2 -2
- package/dist/seed/events-seed-data.js +5 -0
- package/dist/seed/faq-seed-data.js +175 -5
- package/dist/seed/grouped-listings-seed-data.js +16 -0
- package/dist/seed/homepage-sections-seed-data.js +131 -26
- package/dist/seed/index.d.ts +3 -3
- package/dist/seed/index.js +3 -2
- package/dist/seed/lottery-entries-seed-data.d.ts +2 -2
- package/dist/seed/manifest.js +3 -0
- package/dist/seed/media-assets-seed-data.d.ts +1 -1
- package/dist/seed/media-assets-seed-data.js +746 -196
- package/dist/seed/model-composition-seed-data.js +122 -6
- package/dist/seed/offers-seed-data.d.ts +2 -2
- package/dist/seed/offers-seed-data.js +1 -1
- package/dist/seed/orders-seed-data.d.ts +2 -2
- package/dist/seed/part-glossary-seed-data.d.ts +1 -1
- package/dist/seed/part-glossary-seed-data.js +37219 -463
- package/dist/seed/payouts-seed-data.d.ts +2 -2
- package/dist/seed/payouts-seed-data.js +1 -1
- package/dist/seed/products-art-seed-data.js +7 -18
- package/dist/seed/products-auctions-seed-data.js +56 -47
- package/dist/seed/products-beyblade-x-seed-data.d.ts +2 -0
- package/dist/seed/products-beyblade-x-seed-data.js +441 -0
- package/dist/seed/products-catalogue-seed-data.d.ts +5 -5
- package/dist/seed/products-catalogue-seed-data.js +1500 -1240
- package/dist/seed/products-classifieds-seed-data.js +9 -27
- package/dist/seed/products-digital-codes-seed-data.js +9 -18
- package/dist/seed/products-live-items-seed-data.js +5 -13
- package/dist/seed/products-preorders-seed-data.js +67 -33
- package/dist/seed/products-prize-draws-seed-data.js +8 -17
- package/dist/seed/products-spares-seed-data.d.ts +2 -0
- package/dist/seed/products-spares-seed-data.js +368 -0
- package/dist/seed/products-standard-seed-data.js +39 -126
- package/dist/seed/products-stickers-seed-data.js +59 -15
- package/dist/seed/reviews-seed-data.d.ts +1 -2
- package/dist/seed/seed-purpose.js +7 -0
- package/dist/seed/sessions-seed-data.d.ts +2 -2
- package/dist/seed/sessions-seed-data.js +5 -0
- package/dist/seed/site-settings-seed-data.js +9 -1
- package/dist/seed/support-tickets-seed-data.d.ts +2 -2
- package/dist/seed/support-tickets-seed-data.js +1 -1
- package/dist/seed/users-seed-data.d.ts +2 -2
- package/dist/seed/users-seed-data.js +1 -1
- package/dist/seo/json-ld.d.ts +25 -0
- package/dist/seo/json-ld.js +33 -1
- package/dist/server-entry.d.ts +3 -1
- package/dist/server-entry.js +2 -2
- package/dist/server.d.ts +27 -12
- package/dist/server.js +86 -28
- package/dist/styles.css +438 -1
- package/dist/tailwind-input.css +31 -17
- package/dist/tailwind-utilities.css +1 -1
- package/dist/ui/components/Accordion.js +1 -1
- package/dist/ui/components/Breadcrumb.js +1 -1
- package/dist/ui/components/Button.js +7 -1
- package/dist/ui/components/DetailPageGallery.js +0 -2
- package/dist/ui/components/DetailPageHero.js +0 -1
- package/dist/ui/components/DetailPageTabs.js +1 -1
- package/dist/ui/components/Divider.js +3 -3
- package/dist/ui/components/FilterChipGroup.d.ts +11 -0
- package/dist/ui/components/FilterChipGroup.js +1 -1
- package/dist/ui/components/GatedPrice.js +5 -1
- package/dist/ui/components/HorizontalScroller.js +1 -1
- package/dist/ui/components/ImageGallery.js +6 -1
- package/dist/ui/components/ListingLayout.js +17 -11
- package/dist/ui/components/MediaTabs.style.css +81 -0
- package/dist/ui/components/OverflowRow.d.ts +92 -0
- package/dist/ui/components/OverflowRow.js +203 -0
- package/dist/ui/components/OverflowRow.style.css +235 -0
- package/dist/ui/components/Pagination.js +1 -1
- package/dist/ui/components/PendingValue.d.ts +45 -0
- package/dist/ui/components/PendingValue.js +7 -0
- package/dist/ui/components/Radio.style.css +119 -0
- package/dist/ui/components/RatingDisplay.js +2 -2
- package/dist/ui/components/RecordDetailModal.js +14 -1
- package/dist/ui/components/RowActionMenu.js +5 -1
- package/dist/ui/components/SettingsSection.js +0 -2
- package/dist/ui/components/SideDrawer.js +5 -1
- package/dist/ui/components/SideModal.js +9 -1
- package/dist/ui/components/SiteLogo.js +3 -0
- package/dist/ui/components/SiteMark.js +3 -0
- package/dist/ui/components/SortDropdown.js +1 -1
- package/dist/ui/components/SpecTable.d.ts +58 -0
- package/dist/ui/components/SpecTable.js +8 -0
- package/dist/ui/components/StarRating.js +1 -3
- package/dist/ui/components/SummaryCard.js +1 -1
- package/dist/ui/components/TabBarShell.d.ts +12 -1
- package/dist/ui/components/TabBarShell.js +3 -2
- package/dist/ui/components/Tabs.js +36 -24
- package/dist/ui/components/Toast.d.ts +3 -24
- package/dist/ui/components/Toast.js +2 -19
- package/dist/ui/components/TopBannerPortal.d.ts +15 -0
- package/dist/ui/components/TopBannerPortal.js +19 -0
- package/dist/ui/components/UnsavedChangesModal.js +5 -1
- package/dist/ui/components/index.style.css +2 -0
- package/dist/ui/components/row-collapse.d.ts +15 -0
- package/dist/ui/components/row-collapse.js +127 -0
- package/dist/ui/components/toast-context.d.ts +63 -0
- package/dist/ui/components/toast-context.js +48 -0
- package/dist/ui/components/top-banner-slot.d.ts +37 -0
- package/dist/ui/components/top-banner-slot.js +45 -0
- package/dist/ui/icons/icon-registry.d.ts +7 -0
- package/dist/ui/icons/icon-registry.js +25 -1
- package/dist/ui/index.d.ts +6 -0
- package/dist/ui/index.js +3 -0
- package/dist/utils/array.helper.d.ts +2 -2
- package/dist/utils/array.helper.js +5 -5
- package/dist/utils/id-generators.d.ts +6 -0
- package/dist/utils/id-generators.js +10 -0
- package/dist/utils/media-url.js +0 -2
- package/dist/utils/search-txt-builders.d.ts +28 -4
- package/dist/utils/search-txt-builders.js +41 -1
- package/dist/utils/search-txt-query.d.ts +12 -0
- package/dist/utils/search-txt-query.js +12 -0
- package/dist/validation/schemas.d.ts +8 -8
- package/package.json +6 -2
- package/scripts/dedupe-peer-deps.mjs +18 -0
- package/scripts/seed-cli.mjs +138 -26
- package/scripts/verify-css-build.mjs +118 -37
- package/dist/_internal/server/features/search/actions.d.ts +0 -7
- package/dist/_internal/server/features/search/actions.js +0 -21
- package/dist/_internal/server/features/search/data.d.ts +0 -15
- package/dist/_internal/server/features/search/data.js +0 -18
- package/dist/_internal/server/features/search/index.d.ts +0 -3
- package/dist/_internal/server/features/search/index.js +0 -2
- package/dist/features/account/components/UserAddressesView.d.ts +0 -13
- package/dist/features/account/components/UserAddressesView.js +0 -5
- package/dist/features/account/components/UserNotificationsView.d.ts +0 -15
- package/dist/features/account/components/UserNotificationsView.js +0 -12
- package/dist/features/account/components/UserSettingsView.d.ts +0 -16
- package/dist/features/account/components/UserSettingsView.js +0 -13
- package/dist/features/account/components/UserSupportView.d.ts +0 -3
- package/dist/features/account/components/UserSupportView.js +0 -166
- package/dist/features/admin/components/DemoSeedView.d.ts +0 -11
- package/dist/features/admin/components/DemoSeedView.js +0 -5
- package/dist/features/auth/components/AuthStatusPanel.d.ts +0 -10
- package/dist/features/auth/components/AuthStatusPanel.js +0 -22
- package/dist/features/categories/components/CategoryProductsView.d.ts +0 -45
- package/dist/features/categories/components/CategoryProductsView.js +0 -21
- package/dist/features/homepage/api/[id]/route.d.ts +0 -23
- package/dist/features/homepage/api/[id]/route.js +0 -103
- package/dist/features/homepage/api/route.d.ts +0 -14
- package/dist/features/homepage/api/route.js +0 -140
- package/dist/features/homepage/api/sections/[id]/route.d.ts +0 -26
- package/dist/features/homepage/api/sections/[id]/route.js +0 -95
- package/dist/features/homepage/api/sections/route.d.ts +0 -13
- package/dist/features/homepage/api/sections/route.js +0 -82
- package/dist/features/homepage/components/AdvertisementBanner.d.ts +0 -14
- package/dist/features/homepage/components/AdvertisementBanner.js +0 -35
- package/dist/features/homepage/components/BeforeAfterCard.d.ts +0 -9
- package/dist/features/homepage/components/BeforeAfterCard.js +0 -73
- package/dist/features/homepage/components/FeaturedResultsSection.d.ts +0 -17
- package/dist/features/homepage/components/FeaturedResultsSection.js +0 -17
- package/dist/features/homepage/components/HeroBanner.d.ts +0 -7
- package/dist/features/homepage/components/HeroBanner.js +0 -43
- package/dist/features/homepage/components/HeroSection.d.ts +0 -7
- package/dist/features/homepage/components/HeroSection.js +0 -6
- package/dist/features/homepage/components/HomepageSkeleton.d.ts +0 -2
- package/dist/features/homepage/components/HomepageSkeleton.js +0 -21
- package/dist/features/homepage/components/HomepageView.d.ts +0 -25
- package/dist/features/homepage/components/HomepageView.js +0 -5
- package/dist/features/homepage/components/HowItWorksInfoView.d.ts +0 -36
- package/dist/features/homepage/components/HowItWorksInfoView.js +0 -10
- package/dist/features/homepage/components/NewsletterBanner.d.ts +0 -23
- package/dist/features/homepage/components/NewsletterBanner.js +0 -37
- package/dist/features/homepage/components/SiteFeaturesSection.d.ts +0 -14
- package/dist/features/homepage/components/SiteFeaturesSection.js +0 -11
- package/dist/features/homepage/components/TrustBadges.d.ts +0 -6
- package/dist/features/homepage/components/TrustBadges.js +0 -46
- package/dist/features/homepage/components/TrustIndicatorsSection.d.ts +0 -12
- package/dist/features/homepage/components/TrustIndicatorsSection.js +0 -11
- package/dist/features/homepage/hooks/useHomepage.d.ts +0 -11
- package/dist/features/homepage/hooks/useHomepage.js +0 -17
- package/dist/features/homepage/hooks/useHomepageSections.d.ts +0 -2
- package/dist/features/homepage/hooks/useHomepageSections.js +0 -10
- package/dist/features/homepage/repository/homepage.repository.d.ts +0 -11
- package/dist/features/homepage/repository/homepage.repository.js +0 -25
- package/dist/features/layout/BottomActions.d.ts +0 -1
- package/dist/features/layout/BottomActions.js +0 -311
- package/dist/features/products/components/ProductsView.d.ts +0 -6
- package/dist/features/products/components/ProductsView.js +0 -5
- package/dist/features/search/actions/index.d.ts +0 -1
- package/dist/features/search/actions/index.js +0 -1
- package/dist/features/search/actions/search-actions.d.ts +0 -18
- package/dist/features/search/actions/search-actions.js +0 -43
- package/dist/features/search/api/route.d.ts +0 -22
- package/dist/features/search/api/route.js +0 -128
- package/dist/features/search/columns/index.d.ts +0 -17
- package/dist/features/search/columns/index.js +0 -49
- package/dist/features/search/components/SearchFiltersRow.d.ts +0 -22
- package/dist/features/search/components/SearchFiltersRow.js +0 -21
- package/dist/features/search/components/SearchResultsSection.d.ts +0 -53
- package/dist/features/search/components/SearchResultsSection.js +0 -35
- package/dist/features/search/components/SearchView.d.ts +0 -27
- package/dist/features/search/components/SearchView.js +0 -8
- package/dist/features/search/hooks/useSearch.d.ts +0 -21
- package/dist/features/search/hooks/useSearch.js +0 -33
- package/dist/features/search/repository/search.repository.d.ts +0 -14
- package/dist/features/search/repository/search.repository.js +0 -59
- package/dist/features/search/schemas/index.d.ts +0 -70
- package/dist/features/search/schemas/index.js +0 -36
- package/dist/features/search/types/index.d.ts +0 -48
- package/dist/features/seller/components/SellerStoreView.d.ts +0 -8
- package/dist/features/seller/components/SellerStoreView.js +0 -8
- package/dist/features/stores/components/StoreScopedSearch.d.ts +0 -17
- package/dist/features/stores/components/StoreScopedSearch.js +0 -27
- package/dist/seed/defaults/homepage-sections.d.ts +0 -2
- package/dist/seed/defaults/homepage-sections.js +0 -60
- package/dist/seed/factories/homepage-section.factory.d.ts +0 -10
- package/dist/seed/factories/homepage-section.factory.js +0 -13
- /package/dist/{features/search/types/index.js → _internal/shared/listing-types/spares/og.d.ts} +0 -0
|
@@ -273,6 +273,15 @@ export declare const CATEGORY_ENDPOINTS: {
|
|
|
273
273
|
* category change in the form costs zero function invocations on a hit.
|
|
274
274
|
*/
|
|
275
275
|
readonly DESCRIPTION_TEMPLATE: (id: string, variant?: string) => string;
|
|
276
|
+
/**
|
|
277
|
+
* The inherited `priceGuidance` band, restated on the calling seller's own
|
|
278
|
+
* tax basis — seller/admin/moderator only. Deliberately a SEPARATE
|
|
279
|
+
* endpoint from `DESCRIPTION_TEMPLATE`: that one is public and edge-cached
|
|
280
|
+
* so anyone can fetch it, and `priceGuidance` is withheld from that
|
|
281
|
+
* response for the same reason a listing's own price is hidden from guests
|
|
282
|
+
* (CLAUDE.md § "Guest price gating").
|
|
283
|
+
*/
|
|
284
|
+
readonly PRICE_GUIDANCE: (id: string) => string;
|
|
276
285
|
};
|
|
277
286
|
export declare const TOOL_ENDPOINTS: {
|
|
278
287
|
/**
|
|
@@ -286,6 +295,42 @@ export declare const TOOL_ENDPOINTS: {
|
|
|
286
295
|
* its invocation allowance.
|
|
287
296
|
*/
|
|
288
297
|
readonly PRICE_INDEX_SEARCH: (q: string) => string;
|
|
298
|
+
/**
|
|
299
|
+
* Tier 1 adoption — the client resolved these ids LOCALLY, from the
|
|
300
|
+
* public search artifact, at zero Firestore reads. This route's only job
|
|
301
|
+
* is the multi-get `searchPriceIndex` otherwise pays for every lookup.
|
|
302
|
+
*/
|
|
303
|
+
readonly PRICE_INDEX_BANDS: (ids: readonly string[]) => string;
|
|
304
|
+
};
|
|
305
|
+
/**
|
|
306
|
+
* The sticker-sheet kiss-cut tracer. Admin-only, every route behind
|
|
307
|
+
* `admin:products:write`.
|
|
308
|
+
*
|
|
309
|
+
* 🛑 EVERY ONE OF THESE RETURNS JSON. Not one returns bytes — a binary is
|
|
310
|
+
* always a 5-minute signed GCS URL fetched by the browser directly, which is
|
|
311
|
+
* why `ASSET` takes a KIND and hands back `{ url, expiresAt }`. Vercel Hobby's
|
|
312
|
+
* Fast Origin Transfer allowance is 10 GB and exceeding a cap PAUSES THE
|
|
313
|
+
* PROJECT, which happened here at 52.52 GB (Root Cause #104).
|
|
314
|
+
* `audit-sticker-trace-egress` is strict-zero on it with no suppression marker.
|
|
315
|
+
*/
|
|
316
|
+
export declare const STICKER_SHEET_ENDPOINTS: {
|
|
317
|
+
/** GET the sheet list · POST creates a sheet AND signs its scan upload. */
|
|
318
|
+
readonly SHEETS: "/api/admin/sticker-sheets";
|
|
319
|
+
readonly SHEET_BY_ID: (id: string) => string;
|
|
320
|
+
/** POST finalizes an upload: magic-byte verified, then recorded on the sheet. */
|
|
321
|
+
readonly UPLOAD: (id: string) => string;
|
|
322
|
+
/** GET the attempt history · POST starts a run. 🛑 `name` is REQUIRED. */
|
|
323
|
+
readonly RUNS: (id: string) => string;
|
|
324
|
+
/** POST a retry as a NEW named run. The response carries the resume clamp. */
|
|
325
|
+
readonly RUN_RETRY: (id: string, runId: string) => string;
|
|
326
|
+
/**
|
|
327
|
+
* Mint a signed read URL. `kind` names WHAT is wanted and the server resolves
|
|
328
|
+
* the path itself — accepting a path would be a signed-URL mint for any
|
|
329
|
+
* object in the bucket.
|
|
330
|
+
*/
|
|
331
|
+
readonly ASSET: (id: string, kind: string, runId?: string) => string;
|
|
332
|
+
/** The storage meter — bytes AND object count, biggest sheet first. */
|
|
333
|
+
readonly USAGE: "/api/admin/sticker-sheets/usage";
|
|
289
334
|
};
|
|
290
335
|
export declare const CHECKOUT_ENDPOINTS: {
|
|
291
336
|
readonly PREFLIGHT: "/api/checkout/preflight";
|
|
@@ -347,8 +392,6 @@ export declare const FAQ_ENDPOINTS: {
|
|
|
347
392
|
readonly VOTE: "/api/faqs/vote";
|
|
348
393
|
};
|
|
349
394
|
export declare const HOMEPAGE_ENDPOINTS: {
|
|
350
|
-
readonly GET: "/api/homepage";
|
|
351
|
-
readonly SECTIONS: "/api/homepage-sections";
|
|
352
395
|
readonly CAROUSEL: "/api/carousel";
|
|
353
396
|
readonly NEWSLETTER_SUBSCRIBE: "/api/newsletter/subscribe";
|
|
354
397
|
};
|
|
@@ -404,10 +447,9 @@ export declare const REVIEW_ENDPOINTS: {
|
|
|
404
447
|
readonly FEATURED: "/api/reviews?featured=true";
|
|
405
448
|
};
|
|
406
449
|
export declare const SEARCH_ENDPOINTS: {
|
|
407
|
-
readonly QUERY: (q: string, extra?: string) => string;
|
|
408
450
|
readonly SUGGESTIONS: "/api/search/suggestions";
|
|
409
|
-
/**
|
|
410
|
-
readonly
|
|
451
|
+
/** Tier 2 — the viewer's own orders/offers/drafts/addresses. `private, no-store`. */
|
|
452
|
+
readonly SCOPED: (q: string) => string;
|
|
411
453
|
};
|
|
412
454
|
export declare const SELLER_ENDPOINTS: {
|
|
413
455
|
readonly BECOME: "/api/seller/become";
|
|
@@ -786,6 +828,15 @@ export declare const API_ENDPOINTS: {
|
|
|
786
828
|
* category change in the form costs zero function invocations on a hit.
|
|
787
829
|
*/
|
|
788
830
|
readonly DESCRIPTION_TEMPLATE: (id: string, variant?: string) => string;
|
|
831
|
+
/**
|
|
832
|
+
* The inherited `priceGuidance` band, restated on the calling seller's own
|
|
833
|
+
* tax basis — seller/admin/moderator only. Deliberately a SEPARATE
|
|
834
|
+
* endpoint from `DESCRIPTION_TEMPLATE`: that one is public and edge-cached
|
|
835
|
+
* so anyone can fetch it, and `priceGuidance` is withheld from that
|
|
836
|
+
* response for the same reason a listing's own price is hidden from guests
|
|
837
|
+
* (CLAUDE.md § "Guest price gating").
|
|
838
|
+
*/
|
|
839
|
+
readonly PRICE_GUIDANCE: (id: string) => string;
|
|
789
840
|
};
|
|
790
841
|
readonly BEFORE_AFTER: {
|
|
791
842
|
readonly LIST: "/api/before-after";
|
|
@@ -850,8 +901,6 @@ export declare const API_ENDPOINTS: {
|
|
|
850
901
|
readonly VOTE: "/api/faqs/vote";
|
|
851
902
|
};
|
|
852
903
|
readonly HOMEPAGE: {
|
|
853
|
-
readonly GET: "/api/homepage";
|
|
854
|
-
readonly SECTIONS: "/api/homepage-sections";
|
|
855
904
|
readonly CAROUSEL: "/api/carousel";
|
|
856
905
|
readonly NEWSLETTER_SUBSCRIBE: "/api/newsletter/subscribe";
|
|
857
906
|
};
|
|
@@ -904,10 +953,9 @@ export declare const API_ENDPOINTS: {
|
|
|
904
953
|
readonly FEATURED: "/api/reviews?featured=true";
|
|
905
954
|
};
|
|
906
955
|
readonly SEARCH: {
|
|
907
|
-
readonly QUERY: (q: string, extra?: string) => string;
|
|
908
956
|
readonly SUGGESTIONS: "/api/search/suggestions";
|
|
909
|
-
/**
|
|
910
|
-
readonly
|
|
957
|
+
/** Tier 2 — the viewer's own orders/offers/drafts/addresses. `private, no-store`. */
|
|
958
|
+
readonly SCOPED: (q: string) => string;
|
|
911
959
|
};
|
|
912
960
|
readonly SELLER: {
|
|
913
961
|
readonly BECOME: "/api/seller/become";
|
|
@@ -1018,6 +1066,25 @@ export declare const API_ENDPOINTS: {
|
|
|
1018
1066
|
readonly REPORTS: {
|
|
1019
1067
|
readonly SUBMIT: "/api/reports";
|
|
1020
1068
|
};
|
|
1069
|
+
readonly STICKER_SHEETS: {
|
|
1070
|
+
/** GET the sheet list · POST creates a sheet AND signs its scan upload. */
|
|
1071
|
+
readonly SHEETS: "/api/admin/sticker-sheets";
|
|
1072
|
+
readonly SHEET_BY_ID: (id: string) => string;
|
|
1073
|
+
/** POST finalizes an upload: magic-byte verified, then recorded on the sheet. */
|
|
1074
|
+
readonly UPLOAD: (id: string) => string;
|
|
1075
|
+
/** GET the attempt history · POST starts a run. 🛑 `name` is REQUIRED. */
|
|
1076
|
+
readonly RUNS: (id: string) => string;
|
|
1077
|
+
/** POST a retry as a NEW named run. The response carries the resume clamp. */
|
|
1078
|
+
readonly RUN_RETRY: (id: string, runId: string) => string;
|
|
1079
|
+
/**
|
|
1080
|
+
* Mint a signed read URL. `kind` names WHAT is wanted and the server resolves
|
|
1081
|
+
* the path itself — accepting a path would be a signed-URL mint for any
|
|
1082
|
+
* object in the bucket.
|
|
1083
|
+
*/
|
|
1084
|
+
readonly ASSET: (id: string, kind: string, runId?: string) => string;
|
|
1085
|
+
/** The storage meter — bytes AND object count, biggest sheet first. */
|
|
1086
|
+
readonly USAGE: "/api/admin/sticker-sheets/usage";
|
|
1087
|
+
};
|
|
1021
1088
|
};
|
|
1022
1089
|
/** Canonical alias — prefer API_ROUTES over API_ENDPOINTS in new code. */
|
|
1023
1090
|
export declare const API_ROUTES: {
|
|
@@ -1288,6 +1355,15 @@ export declare const API_ROUTES: {
|
|
|
1288
1355
|
* category change in the form costs zero function invocations on a hit.
|
|
1289
1356
|
*/
|
|
1290
1357
|
readonly DESCRIPTION_TEMPLATE: (id: string, variant?: string) => string;
|
|
1358
|
+
/**
|
|
1359
|
+
* The inherited `priceGuidance` band, restated on the calling seller's own
|
|
1360
|
+
* tax basis — seller/admin/moderator only. Deliberately a SEPARATE
|
|
1361
|
+
* endpoint from `DESCRIPTION_TEMPLATE`: that one is public and edge-cached
|
|
1362
|
+
* so anyone can fetch it, and `priceGuidance` is withheld from that
|
|
1363
|
+
* response for the same reason a listing's own price is hidden from guests
|
|
1364
|
+
* (CLAUDE.md § "Guest price gating").
|
|
1365
|
+
*/
|
|
1366
|
+
readonly PRICE_GUIDANCE: (id: string) => string;
|
|
1291
1367
|
};
|
|
1292
1368
|
readonly BEFORE_AFTER: {
|
|
1293
1369
|
readonly LIST: "/api/before-after";
|
|
@@ -1352,8 +1428,6 @@ export declare const API_ROUTES: {
|
|
|
1352
1428
|
readonly VOTE: "/api/faqs/vote";
|
|
1353
1429
|
};
|
|
1354
1430
|
readonly HOMEPAGE: {
|
|
1355
|
-
readonly GET: "/api/homepage";
|
|
1356
|
-
readonly SECTIONS: "/api/homepage-sections";
|
|
1357
1431
|
readonly CAROUSEL: "/api/carousel";
|
|
1358
1432
|
readonly NEWSLETTER_SUBSCRIBE: "/api/newsletter/subscribe";
|
|
1359
1433
|
};
|
|
@@ -1406,10 +1480,9 @@ export declare const API_ROUTES: {
|
|
|
1406
1480
|
readonly FEATURED: "/api/reviews?featured=true";
|
|
1407
1481
|
};
|
|
1408
1482
|
readonly SEARCH: {
|
|
1409
|
-
readonly QUERY: (q: string, extra?: string) => string;
|
|
1410
1483
|
readonly SUGGESTIONS: "/api/search/suggestions";
|
|
1411
|
-
/**
|
|
1412
|
-
readonly
|
|
1484
|
+
/** Tier 2 — the viewer's own orders/offers/drafts/addresses. `private, no-store`. */
|
|
1485
|
+
readonly SCOPED: (q: string) => string;
|
|
1413
1486
|
};
|
|
1414
1487
|
readonly SELLER: {
|
|
1415
1488
|
readonly BECOME: "/api/seller/become";
|
|
@@ -1520,4 +1593,23 @@ export declare const API_ROUTES: {
|
|
|
1520
1593
|
readonly REPORTS: {
|
|
1521
1594
|
readonly SUBMIT: "/api/reports";
|
|
1522
1595
|
};
|
|
1596
|
+
readonly STICKER_SHEETS: {
|
|
1597
|
+
/** GET the sheet list · POST creates a sheet AND signs its scan upload. */
|
|
1598
|
+
readonly SHEETS: "/api/admin/sticker-sheets";
|
|
1599
|
+
readonly SHEET_BY_ID: (id: string) => string;
|
|
1600
|
+
/** POST finalizes an upload: magic-byte verified, then recorded on the sheet. */
|
|
1601
|
+
readonly UPLOAD: (id: string) => string;
|
|
1602
|
+
/** GET the attempt history · POST starts a run. 🛑 `name` is REQUIRED. */
|
|
1603
|
+
readonly RUNS: (id: string) => string;
|
|
1604
|
+
/** POST a retry as a NEW named run. The response carries the resume clamp. */
|
|
1605
|
+
readonly RUN_RETRY: (id: string, runId: string) => string;
|
|
1606
|
+
/**
|
|
1607
|
+
* Mint a signed read URL. `kind` names WHAT is wanted and the server resolves
|
|
1608
|
+
* the path itself — accepting a path would be a signed-URL mint for any
|
|
1609
|
+
* object in the bucket.
|
|
1610
|
+
*/
|
|
1611
|
+
readonly ASSET: (id: string, kind: string, runId?: string) => string;
|
|
1612
|
+
/** The storage meter — bytes AND object count, biggest sheet first. */
|
|
1613
|
+
readonly USAGE: "/api/admin/sticker-sheets/usage";
|
|
1614
|
+
};
|
|
1523
1615
|
};
|
|
@@ -317,6 +317,15 @@ export const CATEGORY_ENDPOINTS = {
|
|
|
317
317
|
* category change in the form costs zero function invocations on a hit.
|
|
318
318
|
*/
|
|
319
319
|
DESCRIPTION_TEMPLATE: (id, variant) => `/api/categories/${id}/description-template${variant ? `?variant=${variant}` : ""}`,
|
|
320
|
+
/**
|
|
321
|
+
* The inherited `priceGuidance` band, restated on the calling seller's own
|
|
322
|
+
* tax basis — seller/admin/moderator only. Deliberately a SEPARATE
|
|
323
|
+
* endpoint from `DESCRIPTION_TEMPLATE`: that one is public and edge-cached
|
|
324
|
+
* so anyone can fetch it, and `priceGuidance` is withheld from that
|
|
325
|
+
* response for the same reason a listing's own price is hidden from guests
|
|
326
|
+
* (CLAUDE.md § "Guest price gating").
|
|
327
|
+
*/
|
|
328
|
+
PRICE_GUIDANCE: (id) => `/api/categories/${id}/price-guidance`,
|
|
320
329
|
};
|
|
321
330
|
// ---------------------------------------------------------------------------
|
|
322
331
|
// Tools — public surfaces that answer a question rather than sell something
|
|
@@ -333,6 +342,43 @@ export const TOOL_ENDPOINTS = {
|
|
|
333
342
|
* its invocation allowance.
|
|
334
343
|
*/
|
|
335
344
|
PRICE_INDEX_SEARCH: (q) => `/api/tools/price-index?q=${encodeURIComponent(q)}`,
|
|
345
|
+
/**
|
|
346
|
+
* Tier 1 adoption — the client resolved these ids LOCALLY, from the
|
|
347
|
+
* public search artifact, at zero Firestore reads. This route's only job
|
|
348
|
+
* is the multi-get `searchPriceIndex` otherwise pays for every lookup.
|
|
349
|
+
*/
|
|
350
|
+
PRICE_INDEX_BANDS: (ids) => `/api/tools/price-index/bands?ids=${ids.map(encodeURIComponent).join(",")}`,
|
|
351
|
+
};
|
|
352
|
+
/**
|
|
353
|
+
* The sticker-sheet kiss-cut tracer. Admin-only, every route behind
|
|
354
|
+
* `admin:products:write`.
|
|
355
|
+
*
|
|
356
|
+
* 🛑 EVERY ONE OF THESE RETURNS JSON. Not one returns bytes — a binary is
|
|
357
|
+
* always a 5-minute signed GCS URL fetched by the browser directly, which is
|
|
358
|
+
* why `ASSET` takes a KIND and hands back `{ url, expiresAt }`. Vercel Hobby's
|
|
359
|
+
* Fast Origin Transfer allowance is 10 GB and exceeding a cap PAUSES THE
|
|
360
|
+
* PROJECT, which happened here at 52.52 GB (Root Cause #104).
|
|
361
|
+
* `audit-sticker-trace-egress` is strict-zero on it with no suppression marker.
|
|
362
|
+
*/
|
|
363
|
+
export const STICKER_SHEET_ENDPOINTS = {
|
|
364
|
+
/** GET the sheet list · POST creates a sheet AND signs its scan upload. */
|
|
365
|
+
SHEETS: "/api/admin/sticker-sheets",
|
|
366
|
+
SHEET_BY_ID: (id) => `/api/admin/sticker-sheets/${id}`,
|
|
367
|
+
/** POST finalizes an upload: magic-byte verified, then recorded on the sheet. */
|
|
368
|
+
UPLOAD: (id) => `/api/admin/sticker-sheets/${id}/upload`,
|
|
369
|
+
/** GET the attempt history · POST starts a run. 🛑 `name` is REQUIRED. */
|
|
370
|
+
RUNS: (id) => `/api/admin/sticker-sheets/${id}/runs`,
|
|
371
|
+
/** POST a retry as a NEW named run. The response carries the resume clamp. */
|
|
372
|
+
RUN_RETRY: (id, runId) => `/api/admin/sticker-sheets/${id}/runs/${runId}/retry`,
|
|
373
|
+
/**
|
|
374
|
+
* Mint a signed read URL. `kind` names WHAT is wanted and the server resolves
|
|
375
|
+
* the path itself — accepting a path would be a signed-URL mint for any
|
|
376
|
+
* object in the bucket.
|
|
377
|
+
*/
|
|
378
|
+
ASSET: (id, kind, runId) => `/api/admin/sticker-sheets/${id}/asset?kind=${encodeURIComponent(kind)}` +
|
|
379
|
+
(runId ? `&runId=${encodeURIComponent(runId)}` : ""),
|
|
380
|
+
/** The storage meter — bytes AND object count, biggest sheet first. */
|
|
381
|
+
USAGE: "/api/admin/sticker-sheets/usage",
|
|
336
382
|
};
|
|
337
383
|
// ---------------------------------------------------------------------------
|
|
338
384
|
// Checkout
|
|
@@ -442,8 +488,17 @@ export const FAQ_ENDPOINTS = {
|
|
|
442
488
|
// Homepage
|
|
443
489
|
// ---------------------------------------------------------------------------
|
|
444
490
|
export const HOMEPAGE_ENDPOINTS = {
|
|
445
|
-
|
|
446
|
-
|
|
491
|
+
/*
|
|
492
|
+
* 🛑 `GET` and `SECTIONS` were both removed 2026-10-19 — `/api/homepage` was
|
|
493
|
+
* NEVER mounted (only a dead hook referenced it), and `/api/homepage-sections`
|
|
494
|
+
* was a mounted generic-starter-kit stub writing/reading the real
|
|
495
|
+
* `homepageSections` collection through an incompatible schema. See the
|
|
496
|
+
* deletion note in `features/homepage/types/index.ts` for the full writeup.
|
|
497
|
+
* The real, single section API is `/api/admin/sections` (admin CRUD);
|
|
498
|
+
* public rendering reads `homepageSectionsRepository` directly, server-side,
|
|
499
|
+
* in `MarketplaceHomepageView` — no public GET endpoint for sections exists
|
|
500
|
+
* or is needed.
|
|
501
|
+
*/
|
|
447
502
|
CAROUSEL: "/api/carousel",
|
|
448
503
|
NEWSLETTER_SUBSCRIBE: "/api/newsletter/subscribe",
|
|
449
504
|
};
|
|
@@ -535,10 +590,9 @@ export const REVIEW_ENDPOINTS = {
|
|
|
535
590
|
// Search
|
|
536
591
|
// ---------------------------------------------------------------------------
|
|
537
592
|
export const SEARCH_ENDPOINTS = {
|
|
538
|
-
QUERY: (q, extra) => `/api/search?q=${encodeURIComponent(q)}${extra ? `&${extra}` : ""}`,
|
|
539
593
|
SUGGESTIONS: "/api/search/suggestions",
|
|
540
|
-
/**
|
|
541
|
-
|
|
594
|
+
/** Tier 2 — the viewer's own orders/offers/drafts/addresses. `private, no-store`. */
|
|
595
|
+
SCOPED: (q) => `/api/search/scoped?q=${encodeURIComponent(q)}`,
|
|
542
596
|
};
|
|
543
597
|
// ---------------------------------------------------------------------------
|
|
544
598
|
// Seller
|
|
@@ -734,6 +788,7 @@ export const API_ENDPOINTS = {
|
|
|
734
788
|
SUPPORT: SUPPORT_ENDPOINTS,
|
|
735
789
|
SCAMMERS: SCAMMER_ENDPOINTS,
|
|
736
790
|
REPORTS: REPORT_ENDPOINTS,
|
|
791
|
+
STICKER_SHEETS: STICKER_SHEET_ENDPOINTS,
|
|
737
792
|
};
|
|
738
793
|
/** Canonical alias — prefer API_ROUTES over API_ENDPOINTS in new code. */
|
|
739
794
|
export const API_ROUTES = API_ENDPOINTS;
|
|
@@ -20,7 +20,9 @@ export const COLLECTION_CACHE_PATHS = {
|
|
|
20
20
|
categories: [CATEGORY_ENDPOINTS.LIST],
|
|
21
21
|
products: [PRODUCT_ENDPOINTS.LIST],
|
|
22
22
|
carouselSlides: [HOMEPAGE_ENDPOINTS.CAROUSEL],
|
|
23
|
-
homepageSections
|
|
23
|
+
// No public GET endpoint exists for homepageSections (removed 2026-10-19 —
|
|
24
|
+
// see HOMEPAGE_ENDPOINTS' own comment). Real-time freshness comes from
|
|
25
|
+
// `revalidatePath("/")`, which /api/admin/sections already calls on write.
|
|
24
26
|
siteSettings: [SITE_SETTINGS_ENDPOINTS.GET],
|
|
25
27
|
faqs: [FAQ_ENDPOINTS.LIST],
|
|
26
28
|
reviews: [REVIEW_ENDPOINTS.LIST],
|
|
@@ -49,6 +49,9 @@ export declare const PRODUCT_FIELDS: {
|
|
|
49
49
|
readonly STOCK_QUANTITY: "stockQuantity";
|
|
50
50
|
readonly AVAILABLE_QUANTITY: "availableQuantity";
|
|
51
51
|
readonly IS_SOLD: "isSold";
|
|
52
|
+
readonly MADE_TO_ORDER: "madeToOrder";
|
|
53
|
+
readonly PART_GLOSSARY_ID: "partGlossaryId";
|
|
54
|
+
readonly COLOURWAY: "colourway";
|
|
52
55
|
readonly MAIN_IMAGE: "mainImage";
|
|
53
56
|
readonly IMAGES: "images";
|
|
54
57
|
readonly VIDEO: "video";
|
|
@@ -181,6 +184,7 @@ export declare const PRODUCT_FIELDS: {
|
|
|
181
184
|
readonly LIVE: "live";
|
|
182
185
|
readonly ART: "art";
|
|
183
186
|
readonly STICKERS: "stickers";
|
|
187
|
+
readonly SPARES: "spares";
|
|
184
188
|
};
|
|
185
189
|
};
|
|
186
190
|
export declare const PRODUCT_STATUS_TRANSITIONS: Record<string, readonly string[]>;
|
|
@@ -427,7 +431,6 @@ export declare const EVENT_ENTRY_FIELDS: {
|
|
|
427
431
|
readonly USER_ID: "userId";
|
|
428
432
|
readonly USER_DISPLAY_NAME: "userDisplayName";
|
|
429
433
|
readonly USER_EMAIL: "userEmail";
|
|
430
|
-
readonly STATUS: "status";
|
|
431
434
|
readonly RAFFLE_ELIGIBLE: "raffleEligible";
|
|
432
435
|
readonly SPIN_USED: "spinUsed";
|
|
433
436
|
readonly SPIN_COUNT: "spinCount";
|
|
@@ -436,11 +439,18 @@ export declare const EVENT_ENTRY_FIELDS: {
|
|
|
436
439
|
readonly SPIN_WON_AT: "spinWonAt";
|
|
437
440
|
readonly GUEST_IP_HASH: "guestIpHash";
|
|
438
441
|
readonly CREATED_AT: "createdAt";
|
|
442
|
+
readonly STATUS: "status";
|
|
439
443
|
readonly STATUS_VALUES: {
|
|
440
444
|
readonly CONFIRMED: "CONFIRMED";
|
|
441
445
|
readonly WAITLISTED: "WAITLISTED";
|
|
442
446
|
readonly CANCELLED: "CANCELLED";
|
|
443
447
|
};
|
|
448
|
+
readonly REVIEW_STATUS: "reviewStatus";
|
|
449
|
+
readonly REVIEW_STATUS_VALUES: {
|
|
450
|
+
readonly PENDING: "pending";
|
|
451
|
+
readonly APPROVED: "approved";
|
|
452
|
+
readonly FLAGGED: "flagged";
|
|
453
|
+
};
|
|
444
454
|
};
|
|
445
455
|
export declare const PAYOUT_FIELDS: {
|
|
446
456
|
readonly ID: "id";
|
|
@@ -847,6 +857,8 @@ export declare const HOMEPAGE_SECTION_FIELDS: {
|
|
|
847
857
|
readonly ORDER: "order";
|
|
848
858
|
readonly ENABLED: "enabled";
|
|
849
859
|
readonly CONFIG: "config";
|
|
860
|
+
/** Which page the row belongs to. Absent on a row means "homepage". */
|
|
861
|
+
readonly SURFACE: "surface";
|
|
850
862
|
readonly CREATED_AT: "createdAt";
|
|
851
863
|
readonly UPDATED_AT: "updatedAt";
|
|
852
864
|
readonly TYPE_VALUES: {
|
|
@@ -58,6 +58,9 @@ export const PRODUCT_FIELDS = {
|
|
|
58
58
|
STOCK_QUANTITY: "stockQuantity",
|
|
59
59
|
AVAILABLE_QUANTITY: "availableQuantity",
|
|
60
60
|
IS_SOLD: "isSold",
|
|
61
|
+
MADE_TO_ORDER: "madeToOrder",
|
|
62
|
+
PART_GLOSSARY_ID: "partGlossaryId",
|
|
63
|
+
COLOURWAY: "colourway",
|
|
61
64
|
MAIN_IMAGE: "mainImage",
|
|
62
65
|
IMAGES: "images",
|
|
63
66
|
VIDEO: "video",
|
|
@@ -201,6 +204,7 @@ export const PRODUCT_FIELDS = {
|
|
|
201
204
|
LIVE: "live",
|
|
202
205
|
ART: "art",
|
|
203
206
|
STICKERS: "stickers",
|
|
207
|
+
SPARES: "spares",
|
|
204
208
|
},
|
|
205
209
|
};
|
|
206
210
|
export const PRODUCT_STATUS_TRANSITIONS = {
|
|
@@ -487,7 +491,6 @@ export const EVENT_ENTRY_FIELDS = {
|
|
|
487
491
|
USER_ID: "userId",
|
|
488
492
|
USER_DISPLAY_NAME: "userDisplayName",
|
|
489
493
|
USER_EMAIL: "userEmail",
|
|
490
|
-
STATUS: "status",
|
|
491
494
|
RAFFLE_ELIGIBLE: "raffleEligible",
|
|
492
495
|
SPIN_USED: "spinUsed",
|
|
493
496
|
SPIN_COUNT: "spinCount",
|
|
@@ -496,11 +499,47 @@ export const EVENT_ENTRY_FIELDS = {
|
|
|
496
499
|
SPIN_WON_AT: "spinWonAt",
|
|
497
500
|
GUEST_IP_HASH: "guestIpHash",
|
|
498
501
|
CREATED_AT: "createdAt",
|
|
502
|
+
/*
|
|
503
|
+
* 🛑 TWO status fields, different meanings, and conflating them cost the
|
|
504
|
+
* raffle feature its entire working life.
|
|
505
|
+
*
|
|
506
|
+
* `status` — RSVP / attendance. CONFIRMED | WAITLISTED | CANCELLED.
|
|
507
|
+
* Written ONLY by an admin clicking Confirm / Waitlist /
|
|
508
|
+
* Cancel in `AdminAllEventEntriesView`, which also filters
|
|
509
|
+
* on it. Never set when an entry is created.
|
|
510
|
+
* `reviewStatus` — moderation of what the entrant SUBMITTED.
|
|
511
|
+
* pending | approved | flagged. Written on every entry
|
|
512
|
+
* path, and indexed `(eventId, reviewStatus, submittedAt)`.
|
|
513
|
+
*
|
|
514
|
+
* `EventEntryDocument.status`'s own doc comment claims it "drives raffle
|
|
515
|
+
* eligibility", and `runTriggerEventRaffle` duly queried
|
|
516
|
+
* `status == "CONFIRMED"`. But nothing writes `status` at creation time, so
|
|
517
|
+
* the pool was empty unless an admin had hand-confirmed every entry one row
|
|
518
|
+
* at a time — on a raffle seeded with 1,892 entries. Every draw returned
|
|
519
|
+
* `no_eligible_entries`; the raffle had never once been drawable.
|
|
520
|
+
*
|
|
521
|
+
* Eligibility moved to `reviewStatus == "approved"` on 2026-10-19 (and
|
|
522
|
+
* `enterEvent` now auto-approves raffle entries, since a raffle entry is a
|
|
523
|
+
* name plus an optional message and there is nothing to moderate). `status`
|
|
524
|
+
* stays because its admin workflow is real — it just is not the gate.
|
|
525
|
+
*
|
|
526
|
+
* Both mirror `EVENT_ENTRY_FIELDS` in
|
|
527
|
+
* `features/events/schemas/firestore.ts`, which is the source of truth for
|
|
528
|
+
* the document shape — verify there before adding a value here (Root Cause
|
|
529
|
+
* #34).
|
|
530
|
+
*/
|
|
531
|
+
STATUS: "status",
|
|
499
532
|
STATUS_VALUES: {
|
|
500
533
|
CONFIRMED: "CONFIRMED",
|
|
501
534
|
WAITLISTED: "WAITLISTED",
|
|
502
535
|
CANCELLED: "CANCELLED",
|
|
503
536
|
},
|
|
537
|
+
REVIEW_STATUS: "reviewStatus",
|
|
538
|
+
REVIEW_STATUS_VALUES: {
|
|
539
|
+
PENDING: "pending",
|
|
540
|
+
APPROVED: "approved",
|
|
541
|
+
FLAGGED: "flagged",
|
|
542
|
+
},
|
|
504
543
|
};
|
|
505
544
|
// ============================================================================
|
|
506
545
|
// PAYOUT FIELDS
|
|
@@ -1000,6 +1039,8 @@ export const HOMEPAGE_SECTION_FIELDS = {
|
|
|
1000
1039
|
ORDER: "order",
|
|
1001
1040
|
ENABLED: "enabled",
|
|
1002
1041
|
CONFIG: "config",
|
|
1042
|
+
/** Which page the row belongs to. Absent on a row means "homepage". */
|
|
1043
|
+
SURFACE: "surface",
|
|
1003
1044
|
CREATED_AT: "createdAt",
|
|
1004
1045
|
UPDATED_AT: "updatedAt",
|
|
1005
1046
|
TYPE_VALUES: {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Plaintext } from "../security/encrypted";
|
|
1
2
|
/** Field comparison operators supported by Sieve-style query strings. */
|
|
2
3
|
export type WhereOp = "==" | "!=" | "<" | "<=" | ">" | ">=" | "array-contains" | "in" | "not-in" | "array-contains-any";
|
|
3
4
|
/**
|
|
@@ -15,14 +16,14 @@ export interface SieveQuery {
|
|
|
15
16
|
/** 1-based page number (default: 1) */
|
|
16
17
|
page?: number;
|
|
17
18
|
/** Items per page (default: 20) */
|
|
18
|
-
|
|
19
|
+
pageSize?: number;
|
|
19
20
|
}
|
|
20
21
|
/** Paginated result envelope returned by IReadRepository.findAll() */
|
|
21
22
|
export interface PagedResult<T> {
|
|
22
23
|
data: T[];
|
|
23
24
|
total: number;
|
|
24
25
|
page: number;
|
|
25
|
-
|
|
26
|
+
pageSize: number;
|
|
26
27
|
totalPages: number;
|
|
27
28
|
}
|
|
28
29
|
export interface IReadRepository<T> {
|
|
@@ -36,10 +37,10 @@ export interface IReadRepository<T> {
|
|
|
36
37
|
findWhere<K extends keyof T>(field: K, op: WhereOp, value: T[K] | readonly T[K][]): Promise<T[]>;
|
|
37
38
|
}
|
|
38
39
|
export interface IWriteRepository<T> {
|
|
39
|
-
create(data: Omit<T
|
|
40
|
-
update(id: string, data: Partial<T
|
|
40
|
+
create(data: Omit<Plaintext<T>, "id" | "createdAt" | "updatedAt">): Promise<T>;
|
|
41
|
+
update(id: string, data: Partial<Plaintext<T>>): Promise<T>;
|
|
41
42
|
delete(id: string): Promise<void>;
|
|
42
|
-
batchCreate(items: Array<Omit<T
|
|
43
|
+
batchCreate(items: Array<Omit<Plaintext<T>, "id" | "createdAt" | "updatedAt">>): Promise<T[]>;
|
|
43
44
|
batchDelete(ids: string[]): Promise<void>;
|
|
44
45
|
}
|
|
45
46
|
/** Full CRUD repository — combines read + write. */
|
|
@@ -95,7 +96,7 @@ export interface RepositoryLifecycleHooks<T> {
|
|
|
95
96
|
* Called before `create`. Return the (possibly mutated) data to be persisted.
|
|
96
97
|
* If not returned, the original data is used unchanged.
|
|
97
98
|
*/
|
|
98
|
-
beforeCreate?: (data: Omit<T
|
|
99
|
+
beforeCreate?: (data: Omit<Plaintext<T>, "id" | "createdAt" | "updatedAt">) => Omit<T, "id" | "createdAt" | "updatedAt"> | Promise<Omit<T, "id" | "createdAt" | "updatedAt">>;
|
|
99
100
|
/**
|
|
100
101
|
* Called after a successful `create`. Receives the persisted document.
|
|
101
102
|
*/
|
|
@@ -103,7 +104,7 @@ export interface RepositoryLifecycleHooks<T> {
|
|
|
103
104
|
/**
|
|
104
105
|
* Called before `update`. Return the (possibly mutated) partial to be applied.
|
|
105
106
|
*/
|
|
106
|
-
beforeUpdate?: (id: string, data: Partial<T
|
|
107
|
+
beforeUpdate?: (id: string, data: Partial<Plaintext<T>>) => Partial<T> | Promise<Partial<T>>;
|
|
107
108
|
/**
|
|
108
109
|
* Called after a successful `update`. Receives the updated document.
|
|
109
110
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export interface SearchOptions {
|
|
2
2
|
page?: number;
|
|
3
|
-
|
|
3
|
+
pageSize?: number;
|
|
4
4
|
filters?: string;
|
|
5
5
|
facets?: string[];
|
|
6
6
|
sortBy?: string;
|
|
@@ -19,7 +19,7 @@ export interface SearchResult<T> {
|
|
|
19
19
|
hits: SearchHit<T>[];
|
|
20
20
|
total: number;
|
|
21
21
|
page: number;
|
|
22
|
-
|
|
22
|
+
pageSize: number;
|
|
23
23
|
totalPages: number;
|
|
24
24
|
processingTimeMs?: number;
|
|
25
25
|
facets?: Record<string, Record<string, number>>;
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*
|
|
17
17
|
* export const myPaginationConfig: PaginationConfig = {
|
|
18
18
|
* ...DEFAULT_PAGINATION_CONFIG,
|
|
19
|
-
*
|
|
19
|
+
* pageSize: 10,
|
|
20
20
|
* showPageSizeSelector: true,
|
|
21
21
|
* pageSizeOptions: [10, 25, 50],
|
|
22
22
|
* };
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
*/
|
|
34
34
|
export interface PaginationConfig {
|
|
35
35
|
/** Items per page sent to the API. Default: 20 */
|
|
36
|
-
|
|
37
|
-
/** Hard cap on
|
|
36
|
+
pageSize?: number;
|
|
37
|
+
/** Hard cap on pageSize (for page-size selector). Default: 100 */
|
|
38
38
|
maxPerPage?: number;
|
|
39
39
|
/** Show a page-size selector UI element. Default: false */
|
|
40
40
|
showPageSizeSelector?: boolean;
|
package/dist/contracts/table.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*
|
|
17
17
|
* export const myPaginationConfig: PaginationConfig = {
|
|
18
18
|
* ...DEFAULT_PAGINATION_CONFIG,
|
|
19
|
-
*
|
|
19
|
+
* pageSize: 10,
|
|
20
20
|
* showPageSizeSelector: true,
|
|
21
21
|
* pageSizeOptions: [10, 25, 50],
|
|
22
22
|
* };
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
* const { products } = useProducts(params, { paginationConfig: myPaginationConfig });
|
|
29
29
|
*/
|
|
30
30
|
export const DEFAULT_PAGINATION_CONFIG = {
|
|
31
|
-
|
|
31
|
+
pageSize: 20,
|
|
32
32
|
maxPerPage: 100,
|
|
33
33
|
showPageSizeSelector: false,
|
|
34
34
|
pageSizeOptions: [10, 20, 50, 100],
|
|
@@ -44,7 +44,7 @@ export const DEFAULT_STICKY_CONFIG = {
|
|
|
44
44
|
zIndex: 10,
|
|
45
45
|
};
|
|
46
46
|
export const DEFAULT_TABLE_CONFIG = {
|
|
47
|
-
pageSize: DEFAULT_PAGINATION_CONFIG.
|
|
47
|
+
pageSize: DEFAULT_PAGINATION_CONFIG.pageSize,
|
|
48
48
|
sticky: DEFAULT_STICKY_CONFIG,
|
|
49
49
|
striped: false,
|
|
50
50
|
selectable: false,
|
|
@@ -19,12 +19,12 @@ export class ContactSubmissionsRepository {
|
|
|
19
19
|
}
|
|
20
20
|
async list(model) {
|
|
21
21
|
const page = Number(model.page || "1");
|
|
22
|
-
const
|
|
22
|
+
const pageSize = Number(model.pageSize || "50");
|
|
23
23
|
return this.repo.findAll({
|
|
24
24
|
filters: model.filters,
|
|
25
25
|
sort: model.sorts || "-createdAt",
|
|
26
26
|
page: Number.isFinite(page) ? page : 1,
|
|
27
|
-
|
|
27
|
+
pageSize: Number.isFinite(pageSize) ? pageSize : 50,
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
async findById(id) {
|
|
@@ -13,7 +13,13 @@
|
|
|
13
13
|
* const keys = await resolveKeys();
|
|
14
14
|
* const client = StandardCheckoutClient.getInstance(keys.phonepeClientId, keys.phonepeClientSecret, Number(keys.phonepeClientVersion), env);
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
/*
|
|
17
|
+
* The DEFINING module, not the `repositories` barrel. That barrel re-exports
|
|
18
|
+
* `unitOfWork` from `../core`, so coming back through it put this file inside
|
|
19
|
+
* the same cycle (`audit-import-cycles` component 2) — and Root Cause #18 asks
|
|
20
|
+
* for the defining module regardless.
|
|
21
|
+
*/
|
|
22
|
+
import { siteSettingsRepository } from "../features/admin/repository/site-settings.repository.js";
|
|
17
23
|
import { normalizeError } from "../errors/normalize.js";
|
|
18
24
|
const EMPTY_KEYS = {
|
|
19
25
|
phonepeClientId: "",
|
|
@@ -52,12 +52,12 @@ export class NewsletterRepository {
|
|
|
52
52
|
}
|
|
53
53
|
async list(model) {
|
|
54
54
|
const page = Number(model.page || "1");
|
|
55
|
-
const
|
|
55
|
+
const pageSize = Number(model.pageSize || "50");
|
|
56
56
|
const result = await this.repo.findAll({
|
|
57
57
|
filters: model.filters,
|
|
58
58
|
sort: model.sorts || "-createdAt",
|
|
59
59
|
page: Number.isFinite(page) ? page : 1,
|
|
60
|
-
|
|
60
|
+
pageSize: Number.isFinite(pageSize) ? pageSize : 50,
|
|
61
61
|
});
|
|
62
62
|
return {
|
|
63
63
|
...result,
|
package/dist/core/site-config.js
CHANGED
|
@@ -15,7 +15,7 @@ export const SITE_CONFIG = {
|
|
|
15
15
|
sellers: ROUTES.PUBLIC.SELLERS,
|
|
16
16
|
stores: ROUTES.PUBLIC.STORES,
|
|
17
17
|
events: ROUTES.PUBLIC.EVENTS,
|
|
18
|
-
blog: ROUTES.
|
|
18
|
+
blog: ROUTES.BLOG.LIST,
|
|
19
19
|
categories: ROUTES.PUBLIC.CATEGORIES,
|
|
20
20
|
promotions: ROUTES.PUBLIC.PROMOTIONS,
|
|
21
21
|
reviews: ROUTES.PUBLIC.REVIEWS,
|