@mohasinac/appkit 4.70.0 → 4.71.2
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/PROVIDERS.md +190 -0
- package/dist/.build-stamp.json +4 -4
- package/dist/_internal/client/edit-mode/EditModeProvider.d.ts +32 -0
- package/dist/_internal/client/edit-mode/EditModeProvider.js +33 -0
- package/dist/_internal/client/edit-mode/index.d.ts +2 -0
- package/dist/_internal/client/edit-mode/index.js +1 -0
- package/dist/_internal/client/features/giveaway/ClearanceGiveawayDetailView.d.ts +32 -0
- package/dist/_internal/client/features/giveaway/ClearanceGiveawayDetailView.js +29 -0
- package/dist/_internal/client/features/giveaway/GiveawayAdminEditView.d.ts +66 -0
- package/dist/_internal/client/features/giveaway/GiveawayAdminEditView.js +187 -0
- package/dist/_internal/client/features/giveaway/GiveawayAdminSlotView.d.ts +18 -0
- package/dist/_internal/client/features/giveaway/GiveawayAdminSlotView.js +52 -0
- package/dist/_internal/client/features/giveaway/GiveawayDetailView.d.ts +40 -0
- package/dist/_internal/client/features/giveaway/GiveawayDetailView.js +49 -0
- package/dist/_internal/client/features/giveaway/GiveawayEntriesView.d.ts +34 -0
- package/dist/_internal/client/features/giveaway/GiveawayEntriesView.js +64 -0
- package/dist/_internal/client/features/giveaway/GiveawayListView.d.ts +39 -0
- package/dist/_internal/client/features/giveaway/GiveawayListView.js +45 -0
- package/dist/_internal/client/features/giveaway/GiveawayPullForm.d.ts +31 -0
- package/dist/_internal/client/features/giveaway/GiveawayPullForm.js +94 -0
- package/dist/_internal/client/features/giveaway/GiveawaySlotGrid.d.ts +14 -0
- package/dist/_internal/client/features/giveaway/GiveawaySlotGrid.js +23 -0
- package/dist/_internal/client/features/giveaway/slot-collage-items.d.ts +15 -0
- package/dist/_internal/client/features/giveaway/slot-collage-items.js +13 -0
- package/dist/_internal/client/features/layout/DashboardLayoutClient.d.ts +34 -1
- package/dist/_internal/client/features/layout/DashboardLayoutClient.js +79 -9
- package/dist/_internal/client/features/layout/PortalBackLink.d.ts +15 -0
- package/dist/_internal/client/features/layout/PortalBackLink.js +58 -0
- package/dist/_internal/client/features/layout/SidebarCollapseToggle.js +37 -1
- package/dist/_internal/client/features/layout/filterNavItems.d.ts +11 -6
- package/dist/_internal/client/features/layout/filterNavItems.js +36 -4
- package/dist/_internal/client/features/layout/sidebarPositionClasses.js +10 -2
- package/dist/_internal/client/features/maintenance/views/AnalysisRunnerView.d.ts +6 -1
- package/dist/_internal/client/features/maintenance/views/AnalysisRunnerView.js +4 -3
- package/dist/_internal/client/features/maintenance/views/CacheInvalidationPanel.js +1 -1
- package/dist/_internal/client/features/maintenance/views/CloudLogsListView.d.ts +4 -1
- package/dist/_internal/client/features/maintenance/views/CloudLogsListView.js +4 -3
- package/dist/_internal/client/features/maintenance/views/MaintenanceDashboardView.d.ts +4 -1
- package/dist/_internal/client/features/maintenance/views/MaintenanceDashboardView.js +4 -2
- package/dist/_internal/client/features/maintenance/views/RepositoryCacheStatusPanel.d.ts +15 -0
- package/dist/_internal/client/features/maintenance/views/RepositoryCacheStatusPanel.js +161 -0
- package/dist/_internal/client/features/maintenance/views/ServerErrorDetailView.d.ts +4 -1
- package/dist/_internal/client/features/maintenance/views/ServerErrorDetailView.js +3 -2
- package/dist/_internal/client/features/maintenance/views/ServerErrorsListView.d.ts +11 -1
- package/dist/_internal/client/features/maintenance/views/ServerErrorsListView.js +3 -2
- package/dist/_internal/server/features/ads/booking.d.ts +1 -1
- package/dist/_internal/server/features/ads/booking.js +1 -1
- package/dist/_internal/server/features/assistant/actions.d.ts +29 -0
- package/dist/_internal/server/features/assistant/actions.js +170 -0
- package/dist/_internal/server/features/assistant/budget.d.ts +28 -0
- package/dist/_internal/server/features/assistant/budget.js +132 -0
- package/dist/_internal/server/features/assistant/escalate.d.ts +25 -0
- package/dist/_internal/server/features/assistant/escalate.js +108 -0
- package/dist/_internal/server/features/assistant/guard.d.ts +10 -0
- package/dist/_internal/server/features/assistant/guard.js +110 -0
- package/dist/_internal/server/features/assistant/handles.d.ts +42 -0
- package/dist/_internal/server/features/assistant/handles.js +172 -0
- package/dist/_internal/server/features/assistant/history-store.d.ts +16 -0
- package/dist/_internal/server/features/assistant/history-store.js +63 -0
- package/dist/_internal/server/features/assistant/model-routing.d.ts +70 -0
- package/dist/_internal/server/features/assistant/model-routing.js +80 -0
- package/dist/_internal/server/features/assistant/quorum.d.ts +32 -0
- package/dist/_internal/server/features/assistant/quorum.js +128 -0
- package/dist/_internal/server/features/assistant/redaction.d.ts +68 -0
- package/dist/_internal/server/features/assistant/redaction.js +69 -0
- package/dist/_internal/server/features/assistant/severity.d.ts +41 -0
- package/dist/_internal/server/features/assistant/severity.js +93 -0
- package/dist/_internal/server/features/assistant/tools/admin/search-nav.d.ts +39 -0
- package/dist/_internal/server/features/assistant/tools/admin/search-nav.js +27 -0
- package/dist/_internal/server/features/assistant/tools/builtin/get-my-orders.d.ts +15 -0
- package/dist/_internal/server/features/assistant/tools/builtin/get-my-orders.js +116 -0
- package/dist/_internal/server/features/assistant/tools/builtin/get-toggle-state.d.ts +8 -0
- package/dist/_internal/server/features/assistant/tools/builtin/get-toggle-state.js +64 -0
- package/dist/_internal/server/features/assistant/tools/builtin/index.d.ts +38 -0
- package/dist/_internal/server/features/assistant/tools/builtin/index.js +29 -0
- package/dist/_internal/server/features/assistant/tools/builtin/search-faqs.d.ts +8 -0
- package/dist/_internal/server/features/assistant/tools/builtin/search-faqs.js +62 -0
- package/dist/_internal/server/features/assistant/tools/builtin/search-products.d.ts +16 -0
- package/dist/_internal/server/features/assistant/tools/builtin/search-products.js +79 -0
- package/dist/_internal/server/features/assistant/tools/define.d.ts +85 -0
- package/dist/_internal/server/features/assistant/tools/define.js +8 -0
- package/dist/_internal/server/features/assistant/tools/json-schema.d.ts +34 -0
- package/dist/_internal/server/features/assistant/tools/json-schema.js +79 -0
- package/dist/_internal/server/features/assistant/tools/manifest.d.ts +22 -0
- package/dist/_internal/server/features/assistant/tools/manifest.js +27 -0
- package/dist/_internal/server/features/assistant/tools/registry.d.ts +22 -0
- package/dist/_internal/server/features/assistant/tools/registry.js +43 -0
- package/dist/_internal/server/features/assistant/turn.d.ts +43 -0
- package/dist/_internal/server/features/assistant/turn.js +281 -0
- package/dist/_internal/server/features/auth/permissions.d.ts +65 -10
- package/dist/_internal/server/features/auth/permissions.js +74 -15
- package/dist/_internal/server/features/brands/actions.js +3 -3
- package/dist/_internal/server/features/bundles/actions.js +3 -3
- package/dist/_internal/server/features/categories/adapters.d.ts +2 -2
- package/dist/_internal/server/features/categories/adapters.js +17 -8
- package/dist/_internal/server/features/checkout/actions.d.ts +142 -15
- package/dist/_internal/server/features/checkout/actions.js +1031 -150
- package/dist/_internal/server/features/checkout/gateway-selection.d.ts +68 -0
- package/dist/_internal/server/features/checkout/gateway-selection.js +124 -0
- package/dist/_internal/server/features/checkout/index.d.ts +5 -0
- package/dist/_internal/server/features/checkout/index.js +18 -0
- package/dist/_internal/server/features/checkout/locked-lines.d.ts +10 -10
- package/dist/_internal/server/features/checkout/locked-lines.js +37 -37
- package/dist/_internal/server/features/checkout/prize-bundle-gates.d.ts +1 -1
- package/dist/_internal/server/features/checkout/prize-bundle-gates.js +1 -1
- package/dist/_internal/server/features/checkout/source-context.js +17 -17
- package/dist/_internal/server/features/checkout/split-settlement.d.ts +100 -0
- package/dist/_internal/server/features/checkout/split-settlement.js +205 -0
- package/dist/_internal/server/features/checkout/upi-resolution.js +8 -1
- package/dist/_internal/server/features/clearance/actions.d.ts +2 -0
- package/dist/_internal/server/features/clearance/actions.js +33 -0
- package/dist/_internal/server/features/clearance/data.d.ts +1 -0
- package/dist/_internal/server/features/clearance/data.js +2 -0
- package/dist/_internal/server/features/clearance/index.d.ts +4 -0
- package/dist/_internal/server/features/clearance/index.js +4 -0
- package/dist/_internal/server/features/clearance/og.d.ts +32 -0
- package/dist/_internal/server/features/clearance/og.js +47 -0
- package/dist/_internal/server/features/clearance/service.d.ts +3 -0
- package/dist/_internal/server/features/clearance/service.js +19 -0
- package/dist/_internal/server/features/collector-drops/actions.js +76 -0
- package/dist/_internal/server/features/collector-drops/data.d.ts +2 -0
- package/dist/_internal/server/features/collector-drops/data.js +3 -0
- package/dist/_internal/server/features/collector-drops/index.d.ts +5 -0
- package/dist/_internal/server/features/collector-drops/index.js +5 -0
- package/dist/_internal/server/features/collector-drops/og.d.ts +22 -0
- package/dist/_internal/server/features/collector-drops/og.js +30 -0
- package/dist/_internal/server/features/collector-drops/service.d.ts +20 -0
- package/dist/_internal/server/features/collector-drops/service.js +65 -0
- package/dist/_internal/server/features/dashboard/page-regions.d.ts +33 -0
- package/dist/_internal/server/features/dashboard/page-regions.js +53 -0
- package/dist/_internal/server/features/digital-code/pool.d.ts +14 -1
- package/dist/_internal/server/features/digital-code/pool.js +21 -2
- package/dist/_internal/server/features/digital-code/release.d.ts +79 -0
- package/dist/_internal/server/features/digital-code/release.js +176 -0
- package/dist/_internal/server/features/events/adapters.d.ts +7 -7
- package/dist/_internal/server/features/events/adapters.js +6 -6
- package/dist/_internal/server/features/events/data.d.ts +17 -1
- package/dist/_internal/server/features/events/data.js +51 -0
- package/dist/_internal/server/features/events/service.d.ts +2 -2
- package/dist/_internal/server/features/forms/field-visibility.d.ts +35 -0
- package/dist/_internal/server/features/forms/field-visibility.js +89 -0
- package/dist/_internal/server/features/giveaway/actions.d.ts +43 -0
- package/dist/_internal/server/features/giveaway/actions.js +369 -0
- package/dist/_internal/server/features/giveaway/adapters.d.ts +15 -0
- package/dist/_internal/server/features/giveaway/adapters.js +31 -0
- package/dist/_internal/server/features/giveaway/data.d.ts +19 -0
- package/dist/_internal/server/features/giveaway/data.js +56 -0
- package/dist/_internal/server/features/giveaway/metadata.d.ts +6 -0
- package/dist/_internal/server/features/giveaway/metadata.js +31 -0
- package/dist/_internal/server/features/giveaway/og.d.ts +40 -0
- package/dist/_internal/server/features/giveaway/og.js +79 -0
- package/dist/_internal/server/features/homepage/index.js +1 -1
- package/dist/_internal/server/features/inventory/reservations.d.ts +1 -1
- package/dist/_internal/server/features/inventory/reservations.js +1 -1
- package/dist/_internal/server/features/maintenance/cache-admin.d.ts +44 -0
- package/dist/_internal/server/features/maintenance/cache-admin.js +85 -0
- package/dist/_internal/server/features/media/contextGuards.d.ts +2 -2
- package/dist/_internal/server/features/media/contextGuards.js +4 -4
- package/dist/_internal/server/features/messages/actions.js +11 -0
- package/dist/_internal/server/features/order-completion/actions.js +1 -1
- package/dist/_internal/server/features/orders/actions.d.ts +3 -2
- package/dist/_internal/server/features/orders/actions.js +69 -17
- package/dist/_internal/server/features/orders/adapters.js +38 -3
- package/dist/_internal/server/features/orders/balance.d.ts +5 -2
- package/dist/_internal/server/features/orders/balance.js +14 -3
- package/dist/_internal/server/features/orders/cancellation-refund.d.ts +0 -89
- package/dist/_internal/server/features/orders/cancellation-refund.js +3 -2
- package/dist/_internal/server/features/payouts/actions.js +2 -1
- package/dist/_internal/server/features/points/award.js +3 -2
- package/dist/_internal/server/features/products/actions.d.ts +1 -1
- package/dist/_internal/server/features/products/actions.js +8 -8
- package/dist/_internal/server/features/products/data.js +5 -4
- package/dist/_internal/server/features/products/index.d.ts +1 -1
- package/dist/_internal/server/features/products/index.js +1 -1
- package/dist/_internal/server/features/products/list-public.js +18 -12
- package/dist/_internal/server/features/products/listing-tab-counts.d.ts +1 -1
- package/dist/_internal/server/features/products/listing-tab-counts.js +8 -8
- package/dist/_internal/server/features/products/og.js +1 -1
- package/dist/_internal/server/features/products/service.d.ts +51 -14
- package/dist/_internal/server/features/products/service.js +95 -29
- package/dist/_internal/server/features/protection-claims/actions.js +2 -1
- package/dist/_internal/server/features/refunds/actions.js +3 -2
- package/dist/_internal/server/features/scams/og.d.ts +1 -1
- package/dist/_internal/server/features/search/entity-index.d.ts +14 -0
- package/dist/_internal/server/features/search/entity-index.js +87 -0
- package/dist/_internal/server/features/search/index-build/build.js +13 -4
- package/dist/_internal/server/features/search/index-build/sources.d.ts +2 -0
- package/dist/_internal/server/features/search/index-build/sources.js +4 -2
- package/dist/_internal/server/features/search/search-everything.d.ts +2 -0
- package/dist/_internal/server/features/search/search-sources.js +5 -3
- package/dist/_internal/server/features/seo/index.d.ts +1 -1
- package/dist/_internal/server/features/seo/index.js +1 -1
- package/dist/_internal/server/features/seo/manifest.js +3 -3
- package/dist/_internal/server/features/seo/product-detail-types.js +2 -1
- package/dist/_internal/server/features/seo/robots.js +19 -4
- package/dist/_internal/server/features/seo/sitemap.js +62 -94
- package/dist/_internal/server/features/seo/static-params.d.ts +0 -18
- package/dist/_internal/server/features/seo/static-params.js +0 -55
- package/dist/_internal/server/features/shared/listing-data-factory.js +3 -3
- package/dist/_internal/server/features/shipping/courier-block.js +5 -2
- package/dist/_internal/server/features/shipping/reconcile.js +3 -2
- package/dist/_internal/server/features/shipping/reimbursement.js +3 -2
- package/dist/_internal/server/features/site-settings/actions.d.ts +36 -0
- package/dist/_internal/server/features/site-settings/actions.js +57 -1
- package/dist/_internal/server/features/site-settings/adapters.d.ts +3 -3
- package/dist/_internal/server/features/site-settings/adapters.js +39 -4
- package/dist/_internal/server/features/sticker-trace/promote-to-listings.js +2 -2
- package/dist/_internal/server/features/sticker-trace/sweep.d.ts +13 -0
- package/dist/_internal/server/features/sticker-trace/sweep.js +49 -0
- package/dist/_internal/server/features/stores/activation.d.ts +22 -0
- package/dist/_internal/server/features/stores/activation.js +73 -0
- package/dist/_internal/server/features/stores/adapters.d.ts +1 -1
- package/dist/_internal/server/features/stores/adapters.js +34 -2
- package/dist/_internal/server/features/stores/data.d.ts +1 -1
- package/dist/_internal/server/features/stores/data.js +1 -1
- package/dist/_internal/server/features/stores/index.d.ts +2 -1
- package/dist/_internal/server/features/stores/index.js +7 -1
- package/dist/_internal/server/features/stores/tabs.js +6 -11
- package/dist/_internal/server/features/widgets/widget-instances.d.ts +34 -0
- package/dist/_internal/server/features/widgets/widget-instances.js +169 -0
- package/dist/_internal/server/functions/define.d.ts +4 -4
- package/dist/_internal/server/functions/define.js +4 -4
- package/dist/_internal/server/functions/firestore.d.ts +3 -3
- package/dist/_internal/server/functions/firestore.js +18 -9
- package/dist/_internal/server/functions/https.js +1 -1
- package/dist/_internal/server/functions/scheduled.d.ts +26 -3
- package/dist/_internal/server/functions/scheduled.js +49 -12
- package/dist/_internal/server/jobs/core/assignSpinPrize.js +5 -1
- package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +13 -11
- package/dist/_internal/server/jobs/core/bundleStockSync.js +1 -1
- package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +2 -2
- package/dist/_internal/server/jobs/core/clearanceAssignWinner.d.ts +60 -0
- package/dist/_internal/server/jobs/core/clearanceAssignWinner.js +227 -0
- package/dist/_internal/server/jobs/core/clearanceExpiryReveal.d.ts +14 -0
- package/dist/_internal/server/jobs/core/clearanceExpiryReveal.js +71 -0
- package/dist/_internal/server/jobs/core/clearanceSoldOutReveal.d.ts +22 -0
- package/dist/_internal/server/jobs/core/clearanceSoldOutReveal.js +67 -0
- package/dist/_internal/server/jobs/core/collectorDropSettlement.d.ts +2 -0
- package/dist/_internal/server/jobs/core/collectorDropSettlement.js +240 -0
- package/dist/_internal/server/jobs/core/countersReconcile.js +21 -21
- package/dist/_internal/server/jobs/core/dailyStatusDigest.js +7 -3
- package/dist/_internal/server/jobs/core/emiInstallmentReminder.js +2 -1
- package/dist/_internal/server/jobs/core/event-draw-reasons.d.ts +4 -2
- package/dist/_internal/server/jobs/core/event-draw-reasons.js +6 -4
- package/dist/_internal/server/jobs/core/index.d.ts +5 -5
- package/dist/_internal/server/jobs/core/index.js +5 -5
- package/dist/_internal/server/jobs/core/jobRunners.d.ts +1 -1
- package/dist/_internal/server/jobs/core/jobRunners.js +25 -0
- package/dist/_internal/server/jobs/core/obligationSweep.js +5 -4
- package/dist/_internal/server/jobs/core/offerExpiry.js +23 -23
- package/dist/_internal/server/jobs/core/onCategoryWrite.d.ts +1 -1
- package/dist/_internal/server/jobs/core/onClearancePaymentConfirmed.d.ts +19 -0
- package/dist/_internal/server/jobs/core/onClearancePaymentConfirmed.js +32 -0
- package/dist/_internal/server/jobs/core/onProductWrite.d.ts +1 -1
- package/dist/_internal/server/jobs/core/onProductWrite.js +23 -23
- package/dist/_internal/server/jobs/core/onReviewWrite.d.ts +1 -1
- package/dist/_internal/server/jobs/core/onScamReportCreate.js +2 -1
- package/dist/_internal/server/jobs/core/onStoreWrite.d.ts +1 -1
- package/dist/_internal/server/jobs/core/paymentReconcile.js +5 -4
- package/dist/_internal/server/jobs/core/paymentReviewAutoApprove.js +1 -1
- package/dist/_internal/server/jobs/core/paymentWindowTimeout.d.ts +1 -1
- package/dist/_internal/server/jobs/core/paymentWindowTimeout.js +1 -1
- package/dist/_internal/server/jobs/core/priceIndexRollup.d.ts +1 -1
- package/dist/_internal/server/jobs/core/priceIndexRollup.js +5 -5
- package/dist/_internal/server/jobs/core/promotions.js +1 -1
- package/dist/_internal/server/jobs/core/revalidateNotify.d.ts +1 -1
- package/dist/_internal/server/jobs/core/revalidateNotify.js +2 -2
- package/dist/_internal/server/jobs/core/settlementVendorRegister.d.ts +47 -0
- package/dist/_internal/server/jobs/core/settlementVendorRegister.js +414 -0
- package/dist/_internal/server/jobs/core/stickerTraceSweep.d.ts +9 -0
- package/dist/_internal/server/jobs/core/stickerTraceSweep.js +25 -0
- package/dist/_internal/server/jobs/core/surfaceCountsRollup.js +47 -7
- package/dist/_internal/server/jobs/core/testDataCleanup.js +1 -1
- package/dist/_internal/server/jobs/core/triggerEventRaffle.d.ts +2 -2
- package/dist/_internal/server/jobs/core/triggerEventRaffle.js +17 -12
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +10 -8
- package/dist/_internal/server/jobs/handlers/clearanceExpiryReveal.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/clearanceExpiryReveal.js +2 -0
- package/dist/_internal/server/jobs/handlers/clearanceSoldOutReveal.d.ts +3 -0
- package/dist/_internal/server/jobs/handlers/clearanceSoldOutReveal.js +4 -0
- package/dist/_internal/server/jobs/handlers/collectorDropSettlement.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/collectorDropSettlement.js +2 -0
- package/dist/_internal/server/jobs/handlers/index.d.ts +6 -5
- package/dist/_internal/server/jobs/handlers/index.js +11 -9
- package/dist/_internal/server/jobs/handlers/messages.d.ts +4 -4
- package/dist/_internal/server/jobs/handlers/messages.js +13 -13
- package/dist/_internal/server/jobs/handlers/onCatalogueSubmittedForApproval.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onClearancePaymentConfirmed.d.ts +3 -0
- package/dist/_internal/server/jobs/handlers/onClearancePaymentConfirmed.js +11 -0
- package/dist/_internal/server/jobs/handlers/onProductStockChange.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onReviewWrite.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onScamReportCreate.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onScamReportUpdate.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onShipmentAllocationSync.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onShipmentDeleted.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onShipmentItemWrite.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onSiteSettingsWrite.d.ts +2 -2
- package/dist/_internal/server/jobs/handlers/onSiteSettingsWrite.js +1 -1
- package/dist/_internal/server/jobs/handlers/onSupportTicketCreate.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onSupportTicketUpdate.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/onUserBanChange.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/stickerTraceSweep.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/stickerTraceSweep.js +2 -0
- package/dist/_internal/server/jobs/handlers/triggerEventRaffle.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/triggerEventRaffle.js +1 -1
- package/dist/_internal/server/jobs/runtime/adapters/firebase.d.ts +1 -1
- package/dist/_internal/server/jobs/runtime/adapters/firebase.js +1 -1
- package/dist/_internal/server/jobs/runtime/types.d.ts +1 -1
- package/dist/_internal/server/payments/policy-consent.d.ts +170 -0
- package/dist/_internal/server/payments/policy-consent.js +287 -0
- package/dist/_internal/server/payments/webhook-registry.d.ts +162 -0
- package/dist/_internal/server/payments/webhook-registry.js +228 -0
- package/dist/_internal/shared/actions/action-registry.d.ts +40 -6
- package/dist/_internal/shared/actions/action-registry.js +318 -312
- package/dist/_internal/shared/cache/revalidate-targets.d.ts +2 -2
- package/dist/_internal/shared/cache/revalidate-targets.js +8 -8
- package/dist/_internal/shared/checkout/lanes.d.ts +25 -25
- package/dist/_internal/shared/checkout/lanes.js +35 -35
- package/dist/_internal/shared/checkout/order-math.d.ts +50 -50
- package/dist/_internal/shared/checkout/order-math.js +108 -50
- package/dist/_internal/shared/checkout/payout-base.d.ts +51 -0
- package/dist/_internal/shared/checkout/payout-base.js +84 -0
- package/dist/_internal/shared/checkout/policy-consent.d.ts +182 -0
- package/dist/_internal/shared/checkout/policy-consent.js +214 -0
- package/dist/_internal/shared/checkout/rules/_limits.d.ts +35 -4
- package/dist/_internal/shared/checkout/rules/_limits.js +35 -4
- package/dist/_internal/shared/checkout/rules/_registry.js +6 -8
- package/dist/_internal/shared/checkout/rules/art-and-stickers.rule.d.ts +13 -0
- package/dist/_internal/shared/checkout/rules/art-and-stickers.rule.js +5 -0
- package/dist/_internal/shared/checkout/rules/bundle.rule.d.ts +24 -6
- package/dist/_internal/shared/checkout/rules/bundle.rule.js +4 -1
- package/dist/_internal/shared/checkout/rules/clearance.rule.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/clearance.rule.js +148 -0
- package/dist/_internal/shared/checkout/rules/collector-drop.rule.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/collector-drop.rule.js +50 -0
- package/dist/_internal/shared/checkout/rules/index.d.ts +4 -5
- package/dist/_internal/shared/checkout/rules/index.js +4 -5
- package/dist/_internal/shared/checkout/rules/payment-gate.d.ts +24 -3
- package/dist/_internal/shared/checkout/rules/payment-gate.js +24 -6
- package/dist/_internal/shared/checkout/rules/preorder.rule.js +39 -0
- package/dist/_internal/shared/checkout/rules/types.d.ts +26 -5
- package/dist/_internal/shared/checkout/settlement-split.d.ts +136 -0
- package/dist/_internal/shared/checkout/settlement-split.js +198 -0
- package/dist/_internal/shared/checkout/settlement.d.ts +186 -0
- package/dist/_internal/shared/checkout/settlement.js +0 -0
- package/dist/_internal/shared/config/index.d.ts +1 -1
- package/dist/_internal/shared/config/schema.d.ts +50 -1
- package/dist/_internal/shared/content/composite-sentences/en.d.ts +31 -0
- package/dist/_internal/shared/content/composite-sentences/en.js +173 -0
- package/dist/_internal/shared/content/composite-sentences/index.d.ts +21 -0
- package/dist/_internal/shared/content/composite-sentences/index.js +26 -0
- package/dist/_internal/shared/content/composite-sentences/registry.d.ts +41 -0
- package/dist/_internal/shared/content/composite-sentences/registry.js +50 -0
- package/dist/_internal/shared/content/disclaimers.d.ts +4 -4
- package/dist/_internal/shared/content/disclaimers.js +32 -10
- package/dist/_internal/shared/content/fragmented-paragraphs/en.d.ts +20 -0
- package/dist/_internal/shared/content/fragmented-paragraphs/en.js +16 -0
- package/dist/_internal/shared/content/fragmented-paragraphs/index.d.ts +16 -0
- package/dist/_internal/shared/content/fragmented-paragraphs/index.js +22 -0
- package/dist/_internal/shared/content/fragments.d.ts +114 -0
- package/dist/_internal/shared/content/fragments.js +88 -0
- package/dist/_internal/shared/content/published-values.d.ts +2 -2
- package/dist/_internal/shared/content/published-values.js +33 -12
- package/dist/_internal/shared/features/admin/integrations.d.ts +2 -1
- package/dist/_internal/shared/features/admin/integrations.js +34 -16
- package/dist/_internal/shared/features/admin/row-widget-resources.d.ts +4 -0
- package/dist/_internal/shared/features/admin/row-widget-resources.js +29 -0
- package/dist/_internal/shared/features/blog/schema.d.ts +7 -7
- package/dist/_internal/shared/features/cart/schema.d.ts +8 -8
- package/dist/_internal/shared/features/cart/schema.js +3 -4
- package/dist/_internal/shared/features/categories/bundle-config.d.ts +3 -3
- package/dist/_internal/shared/features/categories/bundle-config.js +3 -3
- package/dist/_internal/shared/features/categories/bundle-copy.d.ts +1 -1
- package/dist/_internal/shared/features/categories/bundle-copy.js +1 -1
- package/dist/_internal/shared/features/categories/bundle-schemas.d.ts +49 -49
- package/dist/_internal/shared/features/categories/bundle-schemas.js +1 -1
- package/dist/_internal/shared/features/checkout/config.d.ts +2 -0
- package/dist/_internal/shared/features/checkout/config.js +23 -0
- package/dist/_internal/shared/features/collector-drops/config.d.ts +100 -0
- package/dist/_internal/shared/features/collector-drops/config.js +136 -0
- package/dist/_internal/shared/features/collector-drops/errors.d.ts +16 -0
- package/dist/_internal/shared/features/collector-drops/errors.js +32 -0
- package/dist/_internal/shared/features/collector-drops/schema.d.ts +42 -0
- package/dist/_internal/shared/features/collector-drops/schema.js +24 -0
- package/dist/_internal/shared/features/content-tags/registry.d.ts +55 -0
- package/dist/_internal/shared/features/content-tags/registry.js +54 -0
- package/dist/_internal/shared/features/dashboard/recent-entry.d.ts +466 -0
- package/dist/_internal/shared/features/dashboard/recent-entry.js +132 -0
- package/dist/_internal/shared/features/events/config.d.ts +1 -1
- package/dist/_internal/shared/features/events/config.js +1 -1
- package/dist/_internal/shared/features/events/schema.d.ts +4 -4
- package/dist/_internal/shared/features/layout/config.d.ts +9 -1
- package/dist/_internal/shared/features/layout/config.js +23 -3
- package/dist/_internal/shared/features/notifications/action-url.js +1 -1
- package/dist/_internal/shared/features/notifications/email-eligibility.d.ts +4 -4
- package/dist/_internal/shared/features/notifications/email-eligibility.js +9 -9
- package/dist/_internal/shared/features/offers/config.js +1 -1
- package/dist/_internal/shared/features/orders/refund-copy.js +3 -2
- package/dist/_internal/shared/features/orders/schema.d.ts +2 -2
- package/dist/_internal/shared/features/orders/workflow-registry.d.ts +145 -0
- package/dist/_internal/shared/features/orders/workflow-registry.js +197 -0
- package/dist/_internal/shared/features/payouts/destination.d.ts +101 -0
- package/dist/_internal/shared/features/payouts/destination.js +221 -0
- package/dist/_internal/shared/features/print/label-profiles.d.ts +1 -1
- package/dist/_internal/shared/features/print/label-profiles.js +1 -1
- package/dist/_internal/shared/features/products/composite.d.ts +104 -0
- package/dist/_internal/shared/features/products/composite.js +188 -0
- package/dist/_internal/shared/features/products/group-rules.d.ts +28 -2
- package/dist/_internal/shared/features/products/group-rules.js +29 -0
- package/dist/_internal/shared/features/products/pdp-section-ids.d.ts +13 -0
- package/dist/_internal/shared/features/products/pdp-section-ids.js +14 -0
- package/dist/_internal/shared/features/products/schema.d.ts +31 -13
- package/dist/_internal/shared/features/products/schema.js +75 -10
- package/dist/_internal/shared/features/products/to-product-item.js +1 -1
- package/dist/_internal/shared/features/products/types.d.ts +1 -1
- package/dist/_internal/shared/features/promotions/errors.js +2 -1
- package/dist/_internal/shared/features/promotions/schema.d.ts +4 -4
- package/dist/_internal/shared/features/shipping/offer.d.ts +408 -0
- package/dist/_internal/shared/features/shipping/offer.js +440 -0
- package/dist/_internal/shared/features/site-settings/fees.d.ts +32 -3
- package/dist/_internal/shared/features/site-settings/fees.js +1 -1
- package/dist/_internal/shared/features/site-settings/settings-preview-registry.d.ts +17 -0
- package/dist/_internal/shared/features/site-settings/settings-preview-registry.js +56 -0
- package/dist/_internal/shared/features/site-settings/toggle-catalog.d.ts +68 -0
- package/dist/_internal/shared/features/site-settings/toggle-catalog.js +204 -0
- package/dist/_internal/shared/features/site-settings/types.d.ts +27 -1
- package/dist/_internal/shared/fees/calculator.d.ts +256 -21
- package/dist/_internal/shared/fees/calculator.js +269 -26
- package/dist/_internal/shared/fees/explain.d.ts +20 -5
- package/dist/_internal/shared/fees/explain.js +38 -18
- package/dist/_internal/shared/listing-types/_registry.d.ts +30 -15
- package/dist/_internal/shared/listing-types/_registry.js +39 -16
- package/dist/_internal/shared/listing-types/action-tracker.d.ts +1 -1
- package/dist/_internal/shared/listing-types/art-and-stickers/config.d.ts +94 -0
- package/dist/_internal/shared/listing-types/art-and-stickers/config.js +57 -0
- package/dist/_internal/shared/listing-types/art-and-stickers/ctas.js +3 -0
- package/dist/_internal/shared/listing-types/art-and-stickers/schema.d.ts +2 -0
- package/dist/_internal/shared/listing-types/art-and-stickers/schema.js +3 -0
- package/dist/_internal/shared/listing-types/availability.js +2 -2
- package/dist/_internal/shared/listing-types/capabilities.d.ts +77 -1
- package/dist/_internal/shared/listing-types/capabilities.js +72 -13
- package/dist/_internal/shared/listing-types/classified/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/classified/config.js +1 -0
- package/dist/_internal/shared/listing-types/clearance/config.d.ts +74 -0
- package/dist/_internal/shared/listing-types/clearance/config.js +46 -0
- package/dist/_internal/shared/listing-types/clearance/schema.d.ts +3 -0
- package/dist/_internal/shared/listing-types/clearance/schema.js +13 -0
- package/dist/_internal/shared/listing-types/collector-drop/config.d.ts +85 -0
- package/dist/_internal/shared/listing-types/collector-drop/config.js +59 -0
- package/dist/_internal/shared/listing-types/collector-drop/schema.d.ts +3 -0
- package/dist/_internal/shared/listing-types/collector-drop/schema.js +11 -0
- package/dist/_internal/shared/listing-types/digital-code/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/digital-code/config.js +1 -0
- package/dist/_internal/shared/listing-types/feature-flags.d.ts +125 -8
- package/dist/_internal/shared/listing-types/feature-flags.js +149 -12
- package/dist/_internal/shared/listing-types/hidden-surfaces.d.ts +19 -10
- package/dist/_internal/shared/listing-types/hidden-surfaces.js +6 -5
- package/dist/_internal/shared/listing-types/live/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/live/config.js +1 -0
- package/dist/_internal/shared/listing-types/pre-order/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/pre-order/config.js +20 -5
- package/dist/_internal/shared/listing-types/pre-order/schema.d.ts +45 -0
- package/dist/_internal/shared/listing-types/pre-order/schema.js +60 -2
- package/dist/_internal/shared/listing-types/route-gating.d.ts +11 -11
- package/dist/_internal/shared/listing-types/route-gating.js +15 -14
- package/dist/_internal/shared/listing-types/spares/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/spares/config.js +1 -0
- package/dist/_internal/shared/listing-types/standard/config.d.ts +1 -0
- package/dist/_internal/shared/listing-types/standard/config.js +1 -0
- package/dist/_internal/shared/listing-types/tiers.d.ts +2 -2
- package/dist/_internal/shared/listing-types/tiers.js +6 -7
- package/dist/_internal/shared/search/index-record.d.ts +10 -4
- package/dist/_internal/shared/search/index-record.js +18 -1
- package/dist/_internal/shared/search/match.d.ts +3 -1
- package/dist/_internal/shared/search/match.js +2 -1
- package/dist/_internal/shared/search/to-groups.js +1 -0
- package/dist/_internal/shared/templating/placeholders.d.ts +18 -0
- package/dist/_internal/shared/templating/placeholders.js +24 -0
- package/dist/_internal/shared/tester/window.d.ts +1 -1
- package/dist/_internal/shared/tester/window.js +5 -5
- package/dist/_internal/shared/tokens/index.d.ts +1 -1
- package/dist/_internal/shared/tokens/index.js +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +2 -2
- package/dist/client-entry.d.ts +1 -1
- package/dist/client.d.ts +49 -40
- package/dist/client.js +97 -32
- package/dist/configs/next.d.ts +1 -1
- package/dist/configs/tailwind.d.ts +12 -0
- package/dist/configs/tailwind.js +14 -0
- package/dist/constants/api-endpoints.d.ts +93 -51
- package/dist/constants/api-endpoints.js +53 -28
- package/dist/constants/field-names.d.ts +63 -20
- package/dist/constants/field-names.js +64 -21
- package/dist/constants/index.d.ts +2 -2
- package/dist/constants/index.js +2 -2
- package/dist/constants/notification-types.d.ts +1 -1
- package/dist/constants/pagination-presets.d.ts +2 -2
- package/dist/constants/pagination-presets.js +2 -2
- package/dist/constants/seed-meta.d.ts +1 -1
- package/dist/constants/storage-keys.d.ts +96 -0
- package/dist/constants/storage-keys.js +131 -0
- package/dist/constants/table-keys.d.ts +3 -2
- package/dist/constants/table-keys.js +3 -2
- package/dist/contracts/ai.d.ts +183 -0
- package/dist/contracts/ai.js +2 -0
- package/dist/contracts/auth.d.ts +16 -1
- package/dist/contracts/client-live-edit.d.ts +29 -0
- package/dist/contracts/client-live-edit.js +23 -0
- package/dist/contracts/feature.d.ts +1 -1
- package/dist/contracts/index.d.ts +1 -1
- package/dist/contracts/payment.d.ts +280 -0
- package/dist/contracts/payment.js +125 -0
- package/dist/contracts/registry.d.ts +37 -1
- package/dist/contracts/tax.d.ts +118 -0
- package/dist/contracts/tax.js +3 -0
- package/dist/core/CacheManager.d.ts +21 -0
- package/dist/core/CacheManager.js +38 -0
- package/dist/core/brand-resolver.d.ts +92 -0
- package/dist/core/brand-resolver.js +120 -0
- package/dist/core/brand-text.d.ts +15 -0
- package/dist/core/brand-text.js +73 -0
- package/dist/core/hooks/useNewsletterSubscribe.d.ts +30 -0
- package/dist/core/hooks/useNewsletterSubscribe.js +121 -0
- package/dist/core/integration-keys.d.ts +6 -0
- package/dist/core/integration-keys.js +14 -0
- package/dist/core/mutation-events.d.ts +3 -3
- package/dist/core/mutation-events.js +7 -5
- package/dist/core/site-config.js +1 -1
- package/dist/core/unit-of-work.d.ts +1 -2
- package/dist/core/unit-of-work.js +1 -5
- package/dist/edit-mode/index.d.ts +11 -0
- package/dist/edit-mode/index.js +10 -0
- package/dist/errors/error-codes.d.ts +7 -7
- package/dist/errors/error-codes.js +7 -7
- package/dist/errors/error-display-map.js +8 -8
- package/dist/errors/messages.d.ts +8 -8
- package/dist/errors/messages.js +8 -8
- package/dist/features/_guide-cls.d.ts +1 -0
- package/dist/features/_guide-cls.js +10 -1
- package/dist/features/about/components/DeveloperView.d.ts +4 -1
- package/dist/features/about/components/DeveloperView.js +4 -2
- package/dist/features/about/components/FeesView.d.ts +4 -1
- package/dist/features/about/components/FeesView.js +3 -2
- package/dist/features/about/components/GstExplainerView.d.ts +4 -1
- package/dist/features/about/components/GstExplainerView.js +3 -2
- package/dist/features/about/components/GuidesHubView.d.ts +5 -2
- package/dist/features/about/components/GuidesHubView.js +7 -6
- package/dist/features/about/components/HelpPageView.d.ts +10 -1
- package/dist/features/about/components/HelpPageView.js +6 -5
- package/dist/features/about/components/HowCheckoutWorksView.d.ts +4 -1
- package/dist/features/about/components/HowCheckoutWorksView.js +4 -14
- package/dist/features/about/components/HowCollectorDropsWorkView.d.ts +6 -0
- package/dist/features/about/components/HowCollectorDropsWorkView.js +105 -0
- package/dist/features/about/components/HowEmiWorksView.d.ts +4 -1
- package/dist/features/about/components/HowEmiWorksView.js +4 -14
- package/dist/features/about/components/HowOffersWorkView.d.ts +4 -1
- package/dist/features/about/components/HowOffersWorkView.js +3 -16
- package/dist/features/about/components/HowOrdersWorkView.d.ts +4 -1
- package/dist/features/about/components/HowOrdersWorkView.js +3 -10
- package/dist/features/about/components/HowPayoutsWorkView.d.ts +4 -1
- package/dist/features/about/components/HowPayoutsWorkView.js +5 -15
- package/dist/features/about/components/HowPreOrdersWorkView.d.ts +4 -1
- package/dist/features/about/components/HowPreOrdersWorkView.js +5 -15
- package/dist/features/about/components/HowReviewsWorkView.d.ts +4 -1
- package/dist/features/about/components/HowReviewsWorkView.js +5 -15
- package/dist/features/about/components/PolicyPageView.d.ts +79 -3
- package/dist/features/about/components/PolicyPageView.js +63 -4
- package/dist/features/about/components/PublicProfileView.d.ts +11 -1
- package/dist/features/about/components/PublicProfileView.js +9 -8
- package/dist/features/about/components/SecurityPrivacyView.d.ts +4 -1
- package/dist/features/about/components/SecurityPrivacyView.js +3 -2
- package/dist/features/about/components/ShippingPolicyView.d.ts +4 -1
- package/dist/features/about/components/ShippingPolicyView.js +4 -3
- package/dist/features/about/components/SpotAFakeView.d.ts +4 -1
- package/dist/features/about/components/SpotAFakeView.js +3 -2
- package/dist/features/about/components/TrackOrderView.d.ts +4 -1
- package/dist/features/about/components/TrackOrderView.js +3 -2
- package/dist/features/about/index.d.ts +2 -2
- package/dist/features/about/index.js +1 -1
- package/dist/features/about/schemas/index.d.ts +18 -18
- package/dist/features/account/components/AddressBook.d.ts +1 -1
- package/dist/features/account/components/AddressForm.js +25 -1
- package/dist/features/account/components/BecomeSellerView.d.ts +4 -1
- package/dist/features/account/components/BecomeSellerView.js +3 -2
- package/dist/features/account/components/BuyerAccountGuideView.d.ts +6 -1
- package/dist/features/account/components/BuyerAccountGuideView.js +5 -4
- package/dist/features/account/components/BuyerCollectorDropsGuideView.d.ts +7 -0
- package/dist/features/account/components/BuyerCollectorDropsGuideView.js +46 -0
- package/dist/features/account/components/BuyerOrdersGuideView.d.ts +6 -1
- package/dist/features/account/components/BuyerOrdersGuideView.js +8 -7
- package/dist/features/account/components/BuyerShoppingGuideView.d.ts +6 -1
- package/dist/features/account/components/BuyerShoppingGuideView.js +7 -6
- package/dist/features/account/components/NotificationBell.js +1 -1
- package/dist/features/account/components/NotificationPreferencesPanel.js +1 -1
- package/dist/features/account/components/OrderDetailView.d.ts +4 -1
- package/dist/features/account/components/OrderDetailView.js +3 -1
- package/dist/features/account/components/UserAccountHubView.d.ts +4 -1
- package/dist/features/account/components/UserAccountHubView.js +8 -2
- package/dist/features/account/components/UserBidsView.d.ts +6 -1
- package/dist/features/account/components/UserBidsView.js +17 -8
- package/dist/features/account/components/UserOffersPanel.js +2 -1
- package/dist/features/account/components/UserOrderTrackView.d.ts +4 -1
- package/dist/features/account/components/UserOrderTrackView.js +3 -1
- package/dist/features/account/components/UserOrdersView.d.ts +4 -1
- package/dist/features/account/components/UserOrdersView.js +6 -5
- package/dist/features/account/components/UserReturnsView.d.ts +4 -1
- package/dist/features/account/components/UserReturnsView.js +4 -3
- package/dist/features/account/components/UserSidebar.js +14 -4
- package/dist/features/account/hooks/useCollapsedSections.js +5 -3
- package/dist/features/account/hooks/useNotifications.d.ts +1 -1
- package/dist/features/account/hooks/useProfile.d.ts +13 -0
- package/dist/features/account/hooks/usePublicProfile.d.ts +11 -1
- package/dist/features/account/hooks/usePublicProfile.js +6 -1
- package/dist/features/account/schemas/index.d.ts +4 -4
- package/dist/features/account/schemas/index.js +1 -1
- package/dist/features/addresses/schemas/address-form.d.ts +12 -12
- package/dist/features/addresses/schemas/index.d.ts +2 -2
- package/dist/features/admin/actions/admin-actions.js +4 -4
- package/dist/features/admin/actions/admin-read-actions.d.ts +1 -1
- package/dist/features/admin/actions/admin-read-actions.js +1 -1
- package/dist/features/admin/actions/notification-actions.js +13 -6
- package/dist/features/admin/actions/site-settings-actions.d.ts +1 -1
- package/dist/features/admin/api/bids/route.js +7 -1
- package/dist/features/admin/api/coupons/route.js +7 -1
- package/dist/features/admin/api/products/route.js +7 -1
- package/dist/features/admin/api/reviews/route.js +7 -1
- package/dist/features/admin/components/AdminActionIndexView.d.ts +4 -1
- package/dist/features/admin/components/AdminActionIndexView.js +3 -2
- package/dist/features/admin/components/AdminAdEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminAdEditorView.js +3 -1
- package/dist/features/admin/components/AdminAddressBookView.d.ts +4 -1
- package/dist/features/admin/components/AdminAddressBookView.js +3 -2
- package/dist/features/admin/components/AdminAddressClustersView.d.ts +4 -1
- package/dist/features/admin/components/AdminAddressClustersView.js +3 -2
- package/dist/features/admin/components/AdminAddressEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminAddressEditorView.js +13 -2
- package/dist/features/admin/components/AdminAddressesView.d.ts +4 -1
- package/dist/features/admin/components/AdminAddressesView.js +3 -2
- package/dist/features/admin/components/AdminAdsView.d.ts +4 -1
- package/dist/features/admin/components/AdminAdsView.js +3 -2
- package/dist/features/admin/components/AdminAllEventEntriesView.d.ts +6 -2
- package/dist/features/admin/components/AdminAllEventEntriesView.js +3 -2
- package/dist/features/admin/components/AdminAnalyticsGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminAnalyticsGuideView.js +4 -2
- package/dist/features/admin/components/AdminArtAndStickersView.d.ts +20 -0
- package/dist/features/admin/components/AdminArtAndStickersView.js +39 -0
- package/dist/features/admin/components/AdminAuditLogView.d.ts +6 -2
- package/dist/features/admin/components/AdminAuditLogView.js +5 -1
- package/dist/features/admin/components/AdminBidsView.d.ts +6 -2
- package/dist/features/admin/components/AdminBidsView.js +5 -3
- package/dist/features/admin/components/AdminBlogEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminBlogEditorView.js +5 -2
- package/dist/features/admin/components/AdminBlogView.d.ts +6 -2
- package/dist/features/admin/components/AdminBlogView.js +4 -2
- package/dist/features/admin/components/AdminBrandEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminBrandEditorView.js +6 -2
- package/dist/features/admin/components/AdminBrandsView.d.ts +6 -2
- package/dist/features/admin/components/AdminBrandsView.js +7 -3
- package/dist/features/admin/components/AdminBundleEditorView.d.ts +10 -1
- package/dist/features/admin/components/AdminBundleEditorView.js +6 -2
- package/dist/features/admin/components/AdminBundlesView.d.ts +4 -1
- package/dist/features/admin/components/AdminBundlesView.js +12 -4
- package/dist/features/admin/components/AdminCartsView.d.ts +6 -2
- package/dist/features/admin/components/AdminCartsView.js +7 -2
- package/dist/features/admin/components/AdminCatalogGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminCatalogGuideView.js +5 -3
- package/dist/features/admin/components/AdminCategoriesView.d.ts +6 -2
- package/dist/features/admin/components/AdminCategoriesView.js +7 -3
- package/dist/features/admin/components/AdminCategoryEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminCategoryEditorView.js +13 -9
- package/dist/features/admin/components/AdminClassifiedView.d.ts +6 -2
- package/dist/features/admin/components/AdminClassifiedView.js +8 -3
- package/dist/features/admin/components/AdminClearanceView.d.ts +8 -0
- package/dist/features/admin/components/AdminClearanceView.js +156 -0
- package/dist/features/admin/components/AdminContactView.d.ts +4 -1
- package/dist/features/admin/components/AdminContactView.js +3 -1
- package/dist/features/admin/components/AdminContentGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminContentGuideView.js +5 -3
- package/dist/features/admin/components/AdminCouponEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminCouponEditorView.js +9 -5
- package/dist/features/admin/components/AdminCouponsView.d.ts +4 -1
- package/dist/features/admin/components/AdminCouponsView.js +4 -2
- package/dist/features/admin/components/AdminDashboardView.d.ts +4 -1
- package/dist/features/admin/components/AdminDashboardView.js +3 -1
- package/dist/features/admin/components/AdminDigitalCodesView.d.ts +6 -2
- package/dist/features/admin/components/AdminDigitalCodesView.js +4 -3
- package/dist/features/admin/components/AdminEmployeeEditorView.d.ts +36 -1
- package/dist/features/admin/components/AdminEmployeeEditorView.js +15 -7
- package/dist/features/admin/components/AdminFaqEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminFaqEditorView.js +84 -5
- package/dist/features/admin/components/AdminFaqsView.d.ts +4 -1
- package/dist/features/admin/components/AdminFaqsView.js +5 -4
- package/dist/features/admin/components/AdminFeatureEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminFeatureEditorView.js +6 -2
- package/dist/features/admin/components/AdminFeaturesView.d.ts +6 -2
- package/dist/features/admin/components/AdminFeaturesView.js +10 -4
- package/dist/features/admin/components/AdminFulfillmentView.d.ts +4 -1
- package/dist/features/admin/components/AdminFulfillmentView.js +3 -2
- package/dist/features/admin/components/AdminGatewayEventsView.d.ts +6 -2
- package/dist/features/admin/components/AdminGatewayEventsView.js +5 -3
- package/dist/features/admin/components/AdminGroupedListingsView.d.ts +6 -2
- package/dist/features/admin/components/AdminGroupedListingsView.js +3 -2
- package/dist/features/admin/components/AdminGuideHubView.d.ts +7 -1
- package/dist/features/admin/components/AdminGuideHubView.js +6 -3
- package/dist/features/admin/components/AdminHistoryView.d.ts +6 -2
- package/dist/features/admin/components/AdminHistoryView.js +7 -6
- package/dist/features/admin/components/AdminInvoicingView.d.ts +6 -1
- package/dist/features/admin/components/AdminInvoicingView.js +3 -2
- package/dist/features/admin/components/AdminLiveView.d.ts +6 -2
- package/dist/features/admin/components/AdminLiveView.js +4 -3
- package/dist/features/admin/components/AdminMediaView.d.ts +4 -1
- package/dist/features/admin/components/AdminMediaView.js +15 -3
- package/dist/features/admin/components/AdminMoneyCasesView.d.ts +6 -2
- package/dist/features/admin/components/AdminMoneyCasesView.js +5 -3
- package/dist/features/admin/components/AdminNavEditorView.d.ts +12 -1
- package/dist/features/admin/components/AdminNavEditorView.js +4 -3
- package/dist/features/admin/components/AdminNavigationView.d.ts +4 -1
- package/dist/features/admin/components/AdminNavigationView.js +3 -1
- package/dist/features/admin/components/AdminNewsletterView.d.ts +4 -1
- package/dist/features/admin/components/AdminNewsletterView.js +3 -2
- package/dist/features/admin/components/AdminNotificationsView.d.ts +6 -2
- package/dist/features/admin/components/AdminNotificationsView.js +19 -7
- package/dist/features/admin/components/AdminOffersView.d.ts +6 -2
- package/dist/features/admin/components/AdminOffersView.js +4 -3
- package/dist/features/admin/components/AdminOrderEditorView.d.ts +1 -1
- package/dist/features/admin/components/AdminOrderEditorView.js +1 -1
- package/dist/features/admin/components/AdminOrdersGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminOrdersGuideView.js +6 -4
- package/dist/features/admin/components/AdminOrdersView.d.ts +6 -2
- package/dist/features/admin/components/AdminOrdersView.js +46 -5
- package/dist/features/admin/components/AdminPaymentClustersView.d.ts +4 -1
- package/dist/features/admin/components/AdminPaymentClustersView.js +3 -2
- package/dist/features/admin/components/AdminPaymentMethodsView.d.ts +4 -1
- package/dist/features/admin/components/AdminPaymentMethodsView.js +3 -2
- package/dist/features/admin/components/AdminPaymentsGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminPaymentsGuideView.js +3 -2
- package/dist/features/admin/components/AdminPayoutsView.d.ts +6 -2
- package/dist/features/admin/components/AdminPayoutsView.js +3 -2
- package/dist/features/admin/components/AdminProductEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminProductEditorView.js +7 -3
- package/dist/features/admin/components/AdminProductsView.d.ts +4 -1
- package/dist/features/admin/components/AdminProductsView.js +80 -48
- package/dist/features/admin/components/AdminReturnRequestsView.d.ts +4 -1
- package/dist/features/admin/components/AdminReturnRequestsView.js +3 -2
- package/dist/features/admin/components/AdminReviewsView.d.ts +6 -2
- package/dist/features/admin/components/AdminReviewsView.js +3 -2
- package/dist/features/admin/components/AdminScammersView.d.ts +6 -2
- package/dist/features/admin/components/AdminScammersView.js +3 -2
- package/dist/features/admin/components/AdminSectionsView.d.ts +4 -1
- package/dist/features/admin/components/AdminSectionsView.js +42 -40
- package/dist/features/admin/components/AdminSessionsView.d.ts +6 -2
- package/dist/features/admin/components/AdminSessionsView.js +3 -2
- package/dist/features/admin/components/AdminSidebar.js +19 -5
- package/dist/features/admin/components/AdminSiteConfigGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminSiteConfigGuideView.js +4 -3
- package/dist/features/admin/components/AdminSiteSettingsView.d.ts +4 -1
- package/dist/features/admin/components/AdminSiteSettingsView.js +1161 -646
- package/dist/features/admin/components/AdminSparesView.d.ts +7 -3
- package/dist/features/admin/components/AdminSparesView.js +5 -4
- package/dist/features/admin/components/AdminStoreAddressesView.d.ts +4 -1
- package/dist/features/admin/components/AdminStoreAddressesView.js +3 -2
- package/dist/features/admin/components/AdminStoreEditorView.js +4 -3
- package/dist/features/admin/components/AdminStoresGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminStoresGuideView.js +4 -2
- package/dist/features/admin/components/AdminStoresView.d.ts +6 -2
- package/dist/features/admin/components/AdminStoresView.js +3 -2
- package/dist/features/admin/components/AdminSublistingCategoriesView.d.ts +4 -1
- package/dist/features/admin/components/AdminSublistingCategoriesView.js +4 -3
- package/dist/features/admin/components/AdminSublistingCategoryEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminSublistingCategoryEditorView.js +3 -1
- package/dist/features/admin/components/AdminSupportTicketDetailView.js +2 -1
- package/dist/features/admin/components/AdminSupportTicketsView.d.ts +6 -2
- package/dist/features/admin/components/AdminSupportTicketsView.js +3 -2
- package/dist/features/admin/components/AdminTaxCodesView.d.ts +6 -2
- package/dist/features/admin/components/AdminTaxCodesView.js +4 -3
- package/dist/features/admin/components/AdminTeamGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminTeamGuideView.js +5 -2
- package/dist/features/admin/components/AdminTeamView.d.ts +4 -1
- package/dist/features/admin/components/AdminTeamView.js +22 -28
- package/dist/features/admin/components/AdminTesterChecklistItemEditorView.d.ts +6 -1
- package/dist/features/admin/components/AdminTesterChecklistItemEditorView.js +6 -2
- package/dist/features/admin/components/AdminTesterChecklistView.d.ts +4 -1
- package/dist/features/admin/components/AdminTesterChecklistView.js +5 -4
- package/dist/features/admin/components/AdminTrustGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminTrustGuideView.js +5 -3
- package/dist/features/admin/components/AdminUserEditorView.js +2 -1
- package/dist/features/admin/components/AdminUsersGuideView.d.ts +6 -1
- package/dist/features/admin/components/AdminUsersGuideView.js +4 -2
- package/dist/features/admin/components/AdminUsersView.d.ts +6 -2
- package/dist/features/admin/components/AdminUsersView.js +38 -6
- package/dist/features/admin/components/AdminViewCards.js +1 -1
- package/dist/features/admin/components/AdminWishlistsView.d.ts +6 -2
- package/dist/features/admin/components/AdminWishlistsView.js +7 -6
- package/dist/features/admin/components/DashboardStats.js +20 -23
- package/dist/features/admin/components/DataListingView.js +16 -2
- package/dist/features/admin/components/OwnerQuickActions.d.ts +1 -1
- package/dist/features/admin/components/OwnerQuickActions.js +18 -2
- package/dist/features/admin/components/QuickEditMenu.js +1 -1
- package/dist/features/admin/components/ViewNotificationModal.js +1 -1
- package/dist/features/admin/components/analytics/AdminStatCard.d.ts +1 -5
- package/dist/features/admin/components/analytics/AdminStatCard.js +2 -14
- package/dist/features/admin/components/index.d.ts +4 -12
- package/dist/features/admin/components/index.js +4 -8
- package/dist/features/admin/components/sections/adminSectionsBuildParse.d.ts +5 -5
- package/dist/features/admin/components/sections/adminSectionsBuildParse.js +22 -22
- package/dist/features/admin/components/sections/adminSectionsTypes.d.ts +8 -7
- package/dist/features/admin/components/sections/adminSectionsTypes.js +14 -14
- package/dist/features/admin/constants/filter-tabs.d.ts +27 -17
- package/dist/features/admin/constants/filter-tabs.js +40 -12
- package/dist/features/admin/constants/site-settings-tabs.d.ts +4 -4
- package/dist/features/admin/constants/site-settings-tabs.js +3 -3
- package/dist/features/admin/hooks/build-filter-panel.d.ts +50 -0
- package/dist/features/admin/hooks/build-filter-panel.js +55 -0
- package/dist/features/admin/hooks/useAdminListing.d.ts +1 -1
- package/dist/features/admin/hooks/useAdminListingData.js +14 -1
- package/dist/features/admin/hooks/useAdminSiteSettingsPreview.d.ts +6 -0
- package/dist/features/admin/hooks/useAdminSiteSettingsPreview.js +46 -0
- package/dist/features/admin/repository/site-settings.repository.d.ts +26 -25
- package/dist/features/admin/repository/site-settings.repository.js +73 -21
- package/dist/features/admin/schemas/admin-editor-forms.d.ts +2 -2
- package/dist/features/admin/schemas/admin-user-form.d.ts +7 -7
- package/dist/features/admin/schemas/admin-user-form.js +6 -6
- package/dist/features/admin/schemas/firestore.d.ts +265 -41
- package/dist/features/admin/schemas/firestore.js +10 -10
- package/dist/features/admin/schemas/nav-item-form.d.ts +2 -2
- package/dist/features/admin/schemas/site-settings-about-form.d.ts +162 -0
- package/dist/features/admin/schemas/site-settings-about-form.js +142 -0
- package/dist/features/admin/schemas/site-settings-announcement-form.d.ts +18 -0
- package/dist/features/admin/schemas/site-settings-announcement-form.js +53 -0
- package/dist/features/admin/schemas/site-settings-appearance-form.d.ts +93 -0
- package/dist/features/admin/schemas/site-settings-appearance-form.js +75 -0
- package/dist/features/admin/schemas/site-settings-branding-form.d.ts +30 -0
- package/dist/features/admin/schemas/site-settings-branding-form.js +77 -0
- package/dist/features/admin/schemas/site-settings-collector-drop-form.d.ts +30 -0
- package/dist/features/admin/schemas/site-settings-collector-drop-form.js +63 -0
- package/dist/features/admin/schemas/site-settings-contact-form.d.ts +42 -0
- package/dist/features/admin/schemas/site-settings-contact-form.js +85 -0
- package/dist/features/admin/schemas/site-settings-emi-form.d.ts +27 -0
- package/dist/features/admin/schemas/site-settings-emi-form.js +68 -0
- package/dist/features/admin/schemas/site-settings-fees-form.d.ts +78 -0
- package/dist/features/admin/schemas/site-settings-fees-form.js +161 -0
- package/dist/features/admin/schemas/site-settings-form.d.ts +3 -3
- package/dist/features/admin/schemas/site-settings-form.js +1 -1
- package/dist/features/admin/schemas/site-settings-gst-form.d.ts +18 -0
- package/dist/features/admin/schemas/site-settings-gst-form.js +57 -0
- package/dist/features/admin/schemas/site-settings-integrations-form.d.ts +99 -0
- package/dist/features/admin/schemas/site-settings-integrations-form.js +172 -0
- package/dist/features/admin/schemas/site-settings-legal-form.d.ts +38 -0
- package/dist/features/admin/schemas/site-settings-legal-form.js +76 -0
- package/dist/features/admin/schemas/site-settings-limits-form.d.ts +15 -0
- package/dist/features/admin/schemas/site-settings-limits-form.js +48 -0
- package/dist/features/admin/schemas/site-settings-listings-form.d.ts +15 -0
- package/dist/features/admin/schemas/site-settings-listings-form.js +78 -0
- package/dist/features/admin/schemas/site-settings-notifications-form.d.ts +60 -0
- package/dist/features/admin/schemas/site-settings-notifications-form.js +160 -0
- package/dist/features/admin/schemas/site-settings-procurement-form.d.ts +12 -0
- package/dist/features/admin/schemas/site-settings-procurement-form.js +48 -0
- package/dist/features/admin/schemas/site-settings-seo-form.d.ts +21 -0
- package/dist/features/admin/schemas/site-settings-seo-form.js +42 -0
- package/dist/features/admin/schemas/site-settings-shipping-form.d.ts +48 -0
- package/dist/features/admin/schemas/site-settings-shipping-form.js +132 -0
- package/dist/features/admin/schemas/site-settings-watermark-form.d.ts +34 -0
- package/dist/features/admin/schemas/site-settings-watermark-form.js +68 -0
- package/dist/features/admin/schemas/site-settings-whatsapp-form.d.ts +36 -0
- package/dist/features/admin/schemas/site-settings-whatsapp-form.js +62 -0
- package/dist/features/admin/types/product.types.d.ts +6 -6
- package/dist/features/admin/types/product.types.js +1 -1
- package/dist/features/analytics/types.d.ts +1 -1
- package/dist/features/analytics/types.js +3 -3
- package/dist/features/assistant/components/AdminAssistantWidget.d.ts +1 -0
- package/dist/features/assistant/components/AdminAssistantWidget.js +84 -0
- package/dist/features/assistant/components/AssistantPageView.d.ts +6 -0
- package/dist/features/assistant/components/AssistantPageView.js +54 -0
- package/dist/features/assistant/components/AssistantWidget.d.ts +5 -0
- package/dist/features/assistant/components/AssistantWidget.js +127 -0
- package/dist/features/assistant/schemas/ask.d.ts +15 -0
- package/dist/features/assistant/schemas/ask.js +10 -0
- package/dist/features/audit-log/schemas/firestore.d.ts +94 -0
- package/dist/features/audit-log/schemas/firestore.js +51 -0
- package/dist/features/auth/actions/profile-actions.d.ts +8 -6
- package/dist/features/auth/actions/profile-actions.js +17 -8
- package/dist/features/auth/actions/user-slug.js +21 -2
- package/dist/features/auth/auth-helpers.d.ts +186 -2
- package/dist/features/auth/auth-helpers.js +320 -4
- package/dist/features/auth/components/Guards.d.ts +10 -0
- package/dist/features/auth/components/Guards.js +30 -6
- package/dist/features/auth/components/OAuthLoadingView.d.ts +6 -1
- package/dist/features/auth/components/OAuthLoadingView.js +3 -2
- package/dist/features/auth/hooks/useAuth.js +11 -4
- package/dist/features/auth/hooks/useRBAC.d.ts +29 -1
- package/dist/features/auth/hooks/useRBAC.js +46 -12
- package/dist/features/auth/permissions/constants.d.ts +130 -5
- package/dist/features/auth/permissions/constants.js +176 -2
- package/dist/features/auth/repository/user.repository.d.ts +89 -29
- package/dist/features/auth/repository/user.repository.js +218 -79
- package/dist/features/auth/role-predicates.d.ts +64 -8
- package/dist/features/auth/role-predicates.js +104 -12
- package/dist/features/auth/schemas/firestore.d.ts +107 -8
- package/dist/features/auth/schemas/firestore.js +19 -2
- package/dist/features/auth/schemas/index.d.ts +26 -6
- package/dist/features/auth/schemas/index.js +17 -0
- package/dist/features/auth/types/index.d.ts +23 -1
- package/dist/features/before-after/schemas/index.d.ts +2 -2
- package/dist/features/blog/actions/blog-actions.d.ts +31 -31
- package/dist/features/blog/actions/blog-actions.js +1 -1
- package/dist/features/blog/components/BlogFeaturedCard.js +1 -1
- package/dist/features/blog/components/BlogIndexListing.js +2 -1
- package/dist/features/blog/components/BlogIndexPageView.d.ts +4 -1
- package/dist/features/blog/components/BlogIndexPageView.js +3 -2
- package/dist/features/blog/components/BlogListView.js +1 -1
- package/dist/features/blog/components/BlogPostView.js +33 -2
- package/dist/features/blog/schemas/blog-category.schema.d.ts +2 -0
- package/dist/features/blog/schemas/blog-category.schema.js +8 -0
- package/dist/features/blog/schemas/blog-form.d.ts +4 -4
- package/dist/features/blog/schemas/blog-form.js +1 -1
- package/dist/features/blog/schemas/index.d.ts +67 -67
- package/dist/features/blog/schemas/index.js +3 -7
- package/dist/features/cart/actions/cart-actions.d.ts +5 -5
- package/dist/features/cart/actions/cart-actions.js +7 -7
- package/dist/features/cart/components/CartDrawer.js +1 -1
- package/dist/features/cart/components/CartGroupLineRow.js +1 -1
- package/dist/features/cart/components/CartView.d.ts +1 -1
- package/dist/features/cart/hooks/useCartQuery.d.ts +1 -1
- package/dist/features/cart/hooks/useCheckoutReadQueries.d.ts +1 -1
- package/dist/features/cart/repository/cart.repository.d.ts +3 -3
- package/dist/features/cart/repository/cart.repository.js +6 -6
- package/dist/features/cart/schemas/firestore.d.ts +21 -21
- package/dist/features/cart/schemas/firestore.js +2 -2
- package/dist/features/cart/schemas/index.d.ts +15 -15
- package/dist/features/cart/utils/pending-ops.d.ts +1 -1
- package/dist/features/cart/utils/pending-ops.js +16 -3
- package/dist/features/catalogue/components/AdminCatalogueApprovalsView.d.ts +6 -1
- package/dist/features/catalogue/components/AdminCatalogueApprovalsView.js +3 -1
- package/dist/features/catalogue/components/CatalogueItemEditorView.d.ts +6 -1
- package/dist/features/catalogue/components/CatalogueItemEditorView.js +3 -2
- package/dist/features/catalogue/components/PublicCatalogueItemDetailView.d.ts +4 -1
- package/dist/features/catalogue/components/PublicCatalogueItemDetailView.js +4 -3
- package/dist/features/catalogue/components/PublicCatalogueView.js +1 -1
- package/dist/features/catalogue/components/UserCatalogueView.d.ts +4 -1
- package/dist/features/catalogue/components/UserCatalogueView.js +4 -3
- package/dist/features/catalogue/utils/product-from-item.d.ts +18 -2
- package/dist/features/catalogue/utils/product-from-item.js +23 -4
- package/dist/features/categories/api/[id]/description-template/route.js +1 -24
- package/dist/features/categories/api/[id]/price-guidance/route.js +6 -1
- package/dist/features/categories/api/[id]/route.js +20 -3
- package/dist/features/categories/api/route.js +1 -1
- package/dist/features/categories/components/BrandDetailPageView.d.ts +4 -1
- package/dist/features/categories/components/BrandDetailPageView.js +50 -10
- package/dist/features/categories/components/BrandDetailTabs.d.ts +12 -3
- package/dist/features/categories/components/BrandDetailTabs.js +10 -9
- package/dist/features/categories/components/BundleCollage.d.ts +1 -1
- package/dist/features/categories/components/BundleCollage.js +2 -2
- package/dist/features/categories/components/BundleDetailView.d.ts +4 -1
- package/dist/features/categories/components/BundleDetailView.js +4 -3
- package/dist/features/categories/components/BundleDynamicRuleEditor.d.ts +1 -1
- package/dist/features/categories/components/BundleDynamicRuleEditor.js +1 -1
- package/dist/features/categories/components/BundleItemsPicker.js +2 -1
- package/dist/features/categories/components/BundlesListView.d.ts +4 -1
- package/dist/features/categories/components/BundlesListView.js +3 -2
- package/dist/features/categories/components/CategoriesIndexListing.js +10 -3
- package/dist/features/categories/components/CategoriesIndexPageView.d.ts +4 -1
- package/dist/features/categories/components/CategoriesIndexPageView.js +3 -2
- package/dist/features/categories/components/CategoryBundlesListing.js +7 -3
- package/dist/features/categories/components/CategoryDetailPageView.d.ts +4 -1
- package/dist/features/categories/components/CategoryDetailPageView.js +135 -101
- package/dist/features/categories/components/CategoryDetailTabs.d.ts +12 -3
- package/dist/features/categories/components/CategoryDetailTabs.js +10 -10
- package/dist/features/categories/components/CategoryForm.js +2 -1
- package/dist/features/categories/components/CategoryGrid.js +1 -1
- package/dist/features/categories/components/CategoryProductsListing.d.ts +1 -1
- package/dist/features/categories/components/CategoryProductsListing.js +6 -5
- package/dist/features/categories/components/CategoryTableColumns.js +1 -1
- package/dist/features/categories/components/ConcernCard.js +1 -1
- package/dist/features/categories/components/ContextualTrail.d.ts +9 -2
- package/dist/features/categories/components/ContextualTrail.js +11 -3
- package/dist/features/categories/components/FranchiseDetailPageView.d.ts +4 -1
- package/dist/features/categories/components/FranchiseDetailPageView.js +24 -5
- package/dist/features/categories/components/FranchisesIndexView.d.ts +6 -1
- package/dist/features/categories/components/FranchisesIndexView.js +4 -3
- package/dist/features/categories/components/LastCategoryBeacon.js +2 -2
- package/dist/features/categories/components/SubcategoryCardRow.js +1 -1
- package/dist/features/categories/hooks/useCategorySelector.d.ts +1 -1
- package/dist/features/categories/hooks/useCategoryTree.js +1 -1
- package/dist/features/categories/repository/categories.repository.d.ts +43 -6
- package/dist/features/categories/repository/categories.repository.js +75 -22
- package/dist/features/categories/repository/price-index.repository.d.ts +2 -2
- package/dist/features/categories/schemas/bundle-form.d.ts +21 -21
- package/dist/features/categories/schemas/bundle-form.js +1 -1
- package/dist/features/categories/schemas/category-content.d.ts +3 -3
- package/dist/features/categories/schemas/category-counts.d.ts +5 -5
- package/dist/features/categories/schemas/category-counts.js +4 -4
- package/dist/features/categories/schemas/firestore.d.ts +36 -18
- package/dist/features/categories/schemas/firestore.js +9 -9
- package/dist/features/categories/schemas/index.d.ts +122 -116
- package/dist/features/categories/schemas/index.js +10 -6
- package/dist/features/categories/types/index.d.ts +13 -10
- package/dist/features/checkout/actions/checkout-value-otp-actions.js +9 -1
- package/dist/features/checkout/manifest.js +15 -6
- package/dist/features/checkout/repository/buyer-policy-consent.repository.d.ts +44 -0
- package/dist/features/checkout/repository/buyer-policy-consent.repository.js +66 -0
- package/dist/features/checkout/schemas/firestore.d.ts +37 -0
- package/dist/features/checkout/schemas/firestore.js +1 -0
- package/dist/features/classified/components/ClassifiedDetailPageView.d.ts +4 -1
- package/dist/features/classified/components/ClassifiedDetailPageView.js +35 -21
- package/dist/features/collections/components/CollectionCard.js +1 -1
- package/dist/features/collections/schemas/index.d.ts +4 -4
- package/dist/features/collector-drops/actions/bid-actions.d.ts +50 -0
- package/dist/features/collector-drops/actions/bid-actions.js +454 -0
- package/dist/features/collector-drops/api/route.d.ts +14 -0
- package/dist/features/collector-drops/api/route.js +62 -0
- package/dist/features/collector-drops/columns/index.d.ts +14 -0
- package/dist/features/collector-drops/columns/index.js +63 -0
- package/dist/features/collector-drops/components/CollapsibleBidHistory.js +41 -0
- package/dist/features/collector-drops/components/CollectorDropBidsTable.d.ts +27 -0
- package/dist/features/collector-drops/components/CollectorDropBidsTable.js +96 -0
- package/dist/features/collector-drops/components/CollectorDropBottomActions.d.ts +23 -0
- package/dist/features/collector-drops/components/CollectorDropBottomActions.js +89 -0
- package/dist/features/collector-drops/components/CollectorDropDetailPageView.d.ts +25 -0
- package/dist/features/collector-drops/components/CollectorDropDetailPageView.js +314 -0
- package/dist/features/collector-drops/components/CollectorDropFilters.d.ts +16 -0
- package/dist/features/collector-drops/components/CollectorDropFilters.js +18 -0
- package/dist/features/collector-drops/components/CollectorDropLiveStatusBadge.d.ts +20 -0
- package/dist/features/collector-drops/components/CollectorDropLiveStatusBadge.js +21 -0
- package/dist/features/collector-drops/components/CollectorDropsListView.d.ts +9 -0
- package/dist/features/collector-drops/components/CollectorDropsListView.js +23 -0
- package/dist/features/collector-drops/components/LiveBidPrice.d.ts +19 -0
- package/dist/features/collector-drops/components/LiveBidPrice.js +19 -0
- package/dist/features/collector-drops/components/LiveMinIncrement.d.ts +18 -0
- package/dist/features/collector-drops/components/LiveMinIncrement.js +25 -0
- package/dist/features/collector-drops/components/MarketplaceCollectorDropCard.d.ts +99 -0
- package/dist/features/collector-drops/components/MarketplaceCollectorDropCard.js +212 -0
- package/dist/features/collector-drops/components/MarketplaceCollectorDropGrid.d.ts +21 -0
- package/dist/features/collector-drops/components/MarketplaceCollectorDropGrid.js +47 -0
- package/dist/features/collector-drops/components/PlaceBidFormClient.d.ts +65 -0
- package/dist/features/collector-drops/components/PlaceBidFormClient.js +306 -0
- package/dist/features/collector-drops/components/bid-detail-fields.js +103 -0
- package/dist/features/collector-drops/components/index.d.ts +7 -0
- package/dist/features/collector-drops/components/index.js +5 -0
- package/dist/features/collector-drops/hooks/useBids.d.ts +33 -0
- package/dist/features/collector-drops/hooks/useBids.js +32 -0
- package/dist/features/collector-drops/hooks/useCollectorDrops.d.ts +51 -0
- package/dist/features/collector-drops/hooks/useCollectorDrops.js +105 -0
- package/dist/features/collector-drops/hooks/useIsCollectorDropEnded.d.ts +41 -0
- package/dist/features/collector-drops/hooks/useIsCollectorDropEnded.js +76 -0
- package/dist/features/collector-drops/hooks/useLiveCollectorDropBid.d.ts +20 -0
- package/dist/features/collector-drops/hooks/useLiveCollectorDropBid.js +23 -0
- package/dist/features/collector-drops/hooks/usePlaceBid.d.ts +25 -0
- package/dist/features/collector-drops/hooks/usePlaceBid.js +28 -0
- package/dist/features/collector-drops/hooks/useRealtimeBids.d.ts +41 -0
- package/dist/features/collector-drops/hooks/useRealtimeBids.js +170 -0
- package/dist/features/collector-drops/index.d.ts +8 -0
- package/dist/features/collector-drops/index.js +8 -0
- package/dist/features/collector-drops/manifest.js +17 -0
- package/dist/features/collector-drops/messages/en.json +18 -0
- package/dist/features/collector-drops/repository/bid.repository.d.ts +256 -0
- package/dist/features/collector-drops/repository/bid.repository.js +575 -0
- package/dist/features/collector-drops/schemas/bid-input.d.ts +30 -0
- package/dist/features/collector-drops/schemas/bid-input.js +28 -0
- package/dist/features/collector-drops/schemas/firestore.d.ts +120 -0
- package/dist/features/collector-drops/schemas/firestore.js +73 -0
- package/dist/features/collector-drops/schemas/index.d.ts +170 -0
- package/dist/features/collector-drops/schemas/index.js +64 -0
- package/dist/features/collector-drops/server.d.ts +8 -0
- package/dist/features/collector-drops/server.js +8 -0
- package/dist/features/collector-drops/types/index.d.ts +74 -0
- package/dist/features/consultation/schemas/index.d.ts +6 -6
- package/dist/features/contact/components/ContactInfoSidebar.d.ts +3 -1
- package/dist/features/contact/components/ContactInfoSidebar.js +3 -2
- package/dist/features/contact/components/ContactPageView.d.ts +4 -1
- package/dist/features/contact/components/ContactPageView.js +7 -6
- package/dist/features/contact/email.d.ts +1 -1
- package/dist/features/contact/email.js +11 -12
- package/dist/features/contact/schemas/inquiry-forms.js +2 -2
- package/dist/features/corporate/schemas/index.d.ts +5 -5
- package/dist/features/cron/firebase-adapters.d.ts +3 -3
- package/dist/features/cron/firebase-adapters.js +3 -3
- package/dist/features/cron/index.d.ts +0 -1
- package/dist/features/cron/index.js +9 -1
- package/dist/features/cron/jobs/preorder-reminder.job.d.ts +1 -1
- package/dist/features/cron/jobs/preorder-reminder.job.js +1 -1
- package/dist/features/cron/registry.d.ts +4 -4
- package/dist/features/cron/registry.js +4 -4
- package/dist/features/dashboard/components/AdminComposableRegion.d.ts +49 -0
- package/dist/features/dashboard/components/AdminComposableRegion.js +42 -0
- package/dist/features/dashboard/components/DashboardCardRenderer.d.ts +73 -0
- package/dist/features/dashboard/components/DashboardCardRenderer.js +434 -0
- package/dist/features/dashboard/components/DashboardHubView.d.ts +19 -1
- package/dist/features/dashboard/components/DashboardHubView.js +11 -6
- package/dist/features/dashboard/components/DashboardQuickJump.d.ts +90 -0
- package/dist/features/dashboard/components/DashboardQuickJump.js +255 -0
- package/dist/features/dashboard/components/DashboardSectionsClient.js +7 -0
- package/dist/features/dashboard/components/EditableWidget.d.ts +51 -0
- package/dist/features/dashboard/components/EditableWidget.js +44 -0
- package/dist/features/dashboard/components/HiddenHubCardGate.d.ts +25 -0
- package/dist/features/dashboard/components/HiddenHubCardGate.js +44 -0
- package/dist/features/dashboard/components/RecentVisitTracker.d.ts +35 -0
- package/dist/features/dashboard/components/RecentVisitTracker.js +33 -0
- package/dist/features/dashboard/components/WidgetInstanceEditor.d.ts +91 -0
- package/dist/features/dashboard/components/WidgetInstanceEditor.js +91 -0
- package/dist/features/dashboard/hooks/useHiddenHubCards.d.ts +9 -0
- package/dist/features/dashboard/hooks/useHiddenHubCards.js +101 -0
- package/dist/features/dashboard/hooks/usePageRegion.d.ts +27 -0
- package/dist/features/dashboard/hooks/usePageRegion.js +106 -0
- package/dist/features/dashboard/hooks/useRecentlyVisited.d.ts +9 -0
- package/dist/features/dashboard/hooks/useRecentlyVisited.js +127 -0
- package/dist/features/dashboard/hooks/useSavedCards.d.ts +23 -0
- package/dist/features/dashboard/hooks/useSavedCards.js +147 -0
- package/dist/features/digital-codes/components/DigitalCodeDetailPageView.d.ts +4 -1
- package/dist/features/digital-codes/components/DigitalCodeDetailPageView.js +29 -13
- package/dist/features/email/notification-templates.js +7 -8
- package/dist/features/email/render-static-markup.d.ts +34 -0
- package/dist/features/email/render-static-markup.js +4 -0
- package/dist/features/events/actions/event-actions.d.ts +11 -3
- package/dist/features/events/actions/event-actions.js +21 -11
- package/dist/features/events/api/[id]/route.js +1 -1
- package/dist/features/events/components/AdminEventEditorView.d.ts +6 -1
- package/dist/features/events/components/AdminEventEditorView.js +81 -21
- package/dist/features/events/components/AdminEventEntriesView.d.ts +4 -1
- package/dist/features/events/components/AdminEventEntriesView.js +3 -2
- package/dist/features/events/components/AdminEventsView.d.ts +6 -2
- package/dist/features/events/components/AdminEventsView.js +5 -4
- package/dist/features/events/components/BonusSpinView.d.ts +27 -0
- package/dist/features/events/components/BonusSpinView.js +151 -0
- package/dist/features/events/components/EventCard.js +1 -1
- package/dist/features/events/components/EventFilters.js +13 -5
- package/dist/features/events/components/EventGiveawayEntryForm.d.ts +24 -0
- package/dist/features/events/components/EventGiveawayEntryForm.js +46 -0
- package/dist/features/events/components/EventGiveawayWinnerView.d.ts +38 -0
- package/dist/features/events/components/EventGiveawayWinnerView.js +40 -0
- package/dist/features/events/components/EventGiveawaysSection.d.ts +48 -0
- package/dist/features/events/components/EventGiveawaysSection.js +102 -0
- package/dist/features/events/components/EventsIndexListing.js +7 -3
- package/dist/features/events/components/EventsListPageView.d.ts +4 -1
- package/dist/features/events/components/EventsListPageView.js +4 -2
- package/dist/features/events/components/RelatedEventsCarousel.js +1 -1
- package/dist/features/events/components/event-entry-detail-fields.d.ts +1 -1
- package/dist/features/events/components/event-entry-detail-fields.js +1 -1
- package/dist/features/events/components/index.d.ts +8 -8
- package/dist/features/events/components/index.js +4 -4
- package/dist/features/events/constants/event-type-meta.d.ts +14 -6
- package/dist/features/events/constants/event-type-meta.js +40 -14
- package/dist/features/events/manifest.js +31 -0
- package/dist/features/events/repository/events.repository.js +1 -1
- package/dist/features/events/schemas/event-form.d.ts +40 -10
- package/dist/features/events/schemas/event-form.js +32 -1
- package/dist/features/events/schemas/firestore.d.ts +55 -13
- package/dist/features/events/schemas/firestore.js +15 -10
- package/dist/features/events/schemas/index.d.ts +144 -133
- package/dist/features/events/schemas/index.js +24 -11
- package/dist/features/events/types/index.d.ts +32 -7
- package/dist/features/events/types/index.js +45 -8
- package/dist/features/events/utils/carousel-slide.d.ts +12 -14
- package/dist/features/events/utils/carousel-slide.js +23 -26
- package/dist/features/events/utils/event-charts.js +2 -1
- package/dist/features/faq/actions/faq-actions.d.ts +197 -6
- package/dist/features/faq/actions/faq-actions.js +79 -2
- package/dist/features/faq/components/FAQAccordion.js +2 -1
- package/dist/features/faq/manifest.js +9 -1
- package/dist/features/faq/schemas/firestore.d.ts +26 -1
- package/dist/features/faq/schemas/firestore.js +1 -0
- package/dist/features/faq/schemas/index.d.ts +2 -2
- package/dist/features/faq/utils/getHomepageFaqsCached.d.ts +9 -0
- package/dist/features/faq/utils/getHomepageFaqsCached.js +21 -1
- package/dist/features/faq/utils/resolveFaqAnswer.d.ts +9 -0
- package/dist/features/faq/utils/resolveFaqAnswer.js +18 -0
- package/dist/features/gateway-events/schemas/index.d.ts +2 -2
- package/dist/features/giveaway/repository/giveaway-entry.repository.d.ts +48 -0
- package/dist/features/giveaway/repository/giveaway-entry.repository.js +172 -0
- package/dist/features/giveaway/schemas/config-write.d.ts +145 -0
- package/dist/features/giveaway/schemas/config-write.js +199 -0
- package/dist/features/giveaway/schemas/firestore.d.ts +77 -0
- package/dist/features/giveaway/schemas/firestore.js +42 -0
- package/dist/features/giveaway/schemas/zod.d.ts +113 -0
- package/dist/features/giveaway/schemas/zod.js +39 -0
- package/dist/features/giveaway/types/index.d.ts +72 -0
- package/dist/features/giveaway/types/index.js +68 -0
- package/dist/features/grouped/components/GroupedListingDetailView.d.ts +4 -1
- package/dist/features/grouped/components/GroupedListingDetailView.js +4 -3
- package/dist/features/grouped/components/GroupedListingEditorView.d.ts +10 -1
- package/dist/features/grouped/components/GroupedListingEditorView.js +3 -2
- package/dist/features/grouped/schemas/index.d.ts +2 -2
- package/dist/features/history/repository/user-history.repository.d.ts +1 -1
- package/dist/features/history/utils/guest-history.d.ts +1 -1
- package/dist/features/homepage/actions/index.d.ts +0 -1
- package/dist/features/homepage/actions/index.js +0 -1
- package/dist/features/homepage/api/carousel/route.d.ts +12 -6
- package/dist/features/homepage/api/carousel/route.js +15 -137
- package/dist/features/homepage/components/AdSlot.js +1 -1
- package/dist/features/homepage/components/AnnouncementBar.js +5 -3
- package/dist/features/homepage/components/CTABannerSection.js +2 -2
- package/dist/features/homepage/components/CollectionCardsSection.d.ts +2 -2
- package/dist/features/homepage/components/CollectionCardsSection.js +4 -4
- package/dist/features/homepage/components/CustomCardsSection.js +1 -1
- package/dist/features/homepage/components/FeaturedCollectorDropsSection.d.ts +18 -0
- package/dist/features/homepage/components/FeaturedCollectorDropsSection.js +12 -0
- package/dist/features/homepage/components/GoogleReviewsSection.js +1 -1
- package/dist/features/homepage/components/HeroCarousel.js +7 -6
- package/dist/features/homepage/components/HomepageSectionBoundary.d.ts +1 -1
- package/dist/features/homepage/components/HomepageSectionBoundary.js +1 -1
- package/dist/features/homepage/components/MarketplaceHomepageView.d.ts +4 -1
- package/dist/features/homepage/components/MarketplaceHomepageView.js +23 -32
- package/dist/features/homepage/components/SectionCarousel.js +1 -1
- package/dist/features/homepage/components/ShopByCategorySection.js +12 -2
- package/dist/features/homepage/components/SocialPostCard.js +1 -1
- package/dist/features/homepage/components/TrustFeaturesSection.js +11 -1
- package/dist/features/homepage/components/WelcomeSection.d.ts +3 -1
- package/dist/features/homepage/components/WelcomeSection.js +2 -2
- package/dist/features/homepage/components/index.d.ts +2 -2
- package/dist/features/homepage/components/index.js +1 -1
- package/dist/features/homepage/constants/carousel.d.ts +8 -0
- package/dist/features/homepage/constants/carousel.js +8 -0
- package/dist/features/homepage/constants/section-copy.d.ts +2 -2
- package/dist/features/homepage/constants/section-copy.js +5 -5
- package/dist/features/homepage/hooks/homepage-query.js +2 -2
- package/dist/features/homepage/hooks/useActiveAd.d.ts +1 -1
- package/dist/features/homepage/hooks/useActiveAd.js +1 -1
- package/dist/features/homepage/hooks/useFeaturedCollectorDrops.d.ts +15 -0
- package/dist/features/homepage/hooks/useFeaturedCollectorDrops.js +49 -0
- package/dist/features/homepage/index.d.ts +1 -1
- package/dist/features/homepage/index.js +1 -1
- package/dist/features/homepage/lib/section-gating.d.ts +1 -1
- package/dist/features/homepage/lib/section-gating.js +1 -1
- package/dist/features/homepage/lib/section-renderer.d.ts +11 -2
- package/dist/features/homepage/lib/section-renderer.js +24 -13
- package/dist/features/homepage/lib/slide-gating.d.ts +5 -5
- package/dist/features/homepage/lib/slide-gating.js +6 -6
- package/dist/features/homepage/repository/homepage-sections.repository.d.ts +1 -1
- package/dist/features/homepage/schemas/firestore.d.ts +48 -169
- package/dist/features/homepage/schemas/firestore.js +12 -57
- package/dist/features/homepage/schemas/index.d.ts +2 -885
- package/dist/features/homepage/schemas/index.js +7 -112
- package/dist/features/homepage/server.d.ts +1 -3
- package/dist/features/homepage/server.js +1 -3
- package/dist/features/inventory/components/AdminMoveLedgerView.d.ts +6 -1
- package/dist/features/inventory/components/AdminMoveLedgerView.js +3 -2
- package/dist/features/inventory/components/AdminStorageBoxesView.d.ts +6 -1
- package/dist/features/inventory/components/AdminStorageBoxesView.js +4 -3
- package/dist/features/inventory/components/ReceiveStationView.d.ts +4 -1
- package/dist/features/inventory/components/ReceiveStationView.js +3 -2
- package/dist/features/jobs/actions/enqueue-job.d.ts +1 -1
- package/dist/features/jobs/schemas/firestore.d.ts +1 -1
- package/dist/features/layout/AppLayoutShell.d.ts +32 -1
- package/dist/features/layout/AppLayoutShell.js +44 -14
- package/dist/features/layout/AutoBreadcrumbs.js +6 -7
- package/dist/features/layout/BottomActions.js +1 -1
- package/dist/features/layout/BottomNavbar.d.ts +1 -1
- package/dist/features/layout/BottomNavbar.js +1 -1
- package/dist/features/layout/EditModeToggle.d.ts +8 -0
- package/dist/features/layout/EditModeToggle.js +17 -0
- package/dist/features/layout/LanguageSwitcher.d.ts +27 -0
- package/dist/features/layout/LanguageSwitcher.js +28 -0
- package/dist/features/layout/NavbarLayout.js +2 -2
- package/dist/features/layout/SideActionDock.js +2 -2
- package/dist/features/layout/SidebarLayout.js +11 -1
- package/dist/features/layout/TitleBarLayout.d.ts +21 -1
- package/dist/features/layout/TitleBarLayout.js +2 -2
- package/dist/features/layout/index.d.ts +6 -6
- package/dist/features/layout/index.js +3 -3
- package/dist/features/live/components/LiveItemDetailPageView.d.ts +4 -1
- package/dist/features/live/components/LiveItemDetailPageView.js +21 -3
- package/dist/features/media/MediaPickerModal.js +1 -1
- package/dist/features/media/hooks/useMedia.d.ts +1 -1
- package/dist/features/media/index.d.ts +0 -8
- package/dist/features/media/index.js +2 -5
- package/dist/features/media/modals/ImageCropModal.d.ts +2 -8
- package/dist/features/media/types/index.d.ts +4 -4
- package/dist/features/media/upload/ImageUpload.js +1 -1
- package/dist/features/media/upload/MediaUploadField.js +2 -2
- package/dist/features/media/upload/MediaUploadList.js +2 -2
- package/dist/features/media/upload/register-form-field-renderers.d.ts +1 -0
- package/dist/features/media/upload/register-form-field-renderers.js +34 -0
- package/dist/features/messages/components/ConversationThreadView.d.ts +4 -1
- package/dist/features/messages/components/ConversationThreadView.js +4 -3
- package/dist/features/messages/components/ConversationsInboxView.d.ts +6 -1
- package/dist/features/messages/components/ConversationsInboxView.js +26 -3
- package/dist/features/messages/schemas/firestore.d.ts +26 -3
- package/dist/features/messages/schemas/firestore.js +10 -0
- package/dist/features/obligations/constants/policies.js +71 -2
- package/dist/features/obligations/schemas/firestore.d.ts +17 -1
- package/dist/features/obligations/schemas/firestore.js +1 -0
- package/dist/features/orders/actions/order-actions.js +39 -0
- package/dist/features/orders/actions/refund-actions.js +3 -2
- package/dist/features/orders/components/OrderPaymentSummary.js +1 -0
- package/dist/features/orders/components/OrderProvenanceCard.js +11 -11
- package/dist/features/orders/components/OrdersList.js +6 -4
- package/dist/features/orders/components/RefundRequestView.d.ts +4 -1
- package/dist/features/orders/components/RefundRequestView.js +18 -4
- package/dist/features/orders/constants/order-lane-tabs.d.ts +3 -3
- package/dist/features/orders/constants/order-lane-tabs.js +8 -8
- package/dist/features/orders/hooks/useOrders.d.ts +2 -0
- package/dist/features/orders/hooks/useOrders.js +7 -1
- package/dist/features/orders/repository/orders.repository.js +4 -3
- package/dist/features/orders/schemas/firestore.d.ts +197 -26
- package/dist/features/orders/schemas/firestore.js +1 -1
- package/dist/features/orders/schemas/index.d.ts +69 -29
- package/dist/features/orders/schemas/index.js +19 -1
- package/dist/features/orders/types/index.d.ts +45 -4
- package/dist/features/orders/utils/order-splitter.d.ts +3 -3
- package/dist/features/orders/utils/order-splitter.js +8 -8
- package/dist/features/orders/utils/payment-proof-message.js +5 -2
- package/dist/features/payments/repository/payout.repository.d.ts +80 -0
- package/dist/features/payments/repository/payout.repository.js +116 -0
- package/dist/features/payments/schemas/firestore.d.ts +29 -0
- package/dist/features/payments/schemas/firestore.js +15 -0
- package/dist/features/payments/schemas/index.d.ts +2 -2
- package/dist/features/payments/types/index.d.ts +1 -1
- package/dist/features/pre-orders/components/MarketplacePreorderCard.js +1 -1
- package/dist/features/pre-orders/components/PreOrderActionsClient.d.ts +5 -0
- package/dist/features/pre-orders/components/PreOrderActionsClient.js +8 -5
- package/dist/features/pre-orders/components/PreOrderDetailPageView.d.ts +4 -1
- package/dist/features/pre-orders/components/PreOrderDetailPageView.js +30 -10
- package/dist/features/pre-orders/components/PreOrdersIndexListing.js +1 -1
- package/dist/features/pre-orders/components/PreOrdersListView.d.ts +4 -1
- package/dist/features/pre-orders/components/PreOrdersListView.js +3 -2
- package/dist/features/pre-orders/schemas/index.d.ts +8 -8
- package/dist/features/price-index/components/PriceIndexToolView.d.ts +4 -1
- package/dist/features/price-index/components/PriceIndexToolView.js +12 -11
- package/dist/features/price-index/lookup-target.js +1 -1
- package/dist/features/pricing/components/AdminPricingView.js +2 -1
- package/dist/features/print/components/BoxLabelPrintView.d.ts +4 -1
- package/dist/features/print/components/BoxLabelPrintView.js +3 -2
- package/dist/features/print/components/labels.js +2 -1
- package/dist/features/products/actions/product-actions.d.ts +9 -9
- package/dist/features/products/actions/product-actions.js +19 -19
- package/dist/features/products/api/[id]/route.js +31 -10
- package/dist/features/products/api/route.d.ts +2 -2
- package/dist/features/products/api/route.js +11 -4
- package/dist/features/products/columns/productTableColumns.js +1 -1
- package/dist/features/products/components/ArtStickersListView.d.ts +4 -1
- package/dist/features/products/components/ArtStickersListView.js +7 -6
- package/dist/features/products/components/AvailabilityTabs.js +2 -2
- package/dist/features/products/components/BidHistory.d.ts +3 -0
- package/dist/features/products/components/BidHistory.js +3 -1
- package/dist/features/products/components/CardStoreLine.d.ts +2 -2
- package/dist/features/products/components/CardStoreLine.js +1 -1
- package/dist/features/products/components/CityCollectiblesView.d.ts +4 -1
- package/dist/features/products/components/CityCollectiblesView.js +4 -2
- package/dist/features/products/components/ClearanceBottomActions.d.ts +6 -0
- package/dist/features/products/components/ClearanceBottomActions.js +6 -0
- package/dist/features/products/components/ClearanceCollage.d.ts +35 -0
- package/dist/features/products/components/ClearanceCollage.js +91 -0
- package/dist/features/products/components/ClearanceDetailPageView.d.ts +37 -0
- package/dist/features/products/components/ClearanceDetailPageView.js +156 -0
- package/dist/features/products/components/ClearanceEntryActions.d.ts +32 -0
- package/dist/features/products/components/ClearanceEntryActions.js +104 -0
- package/dist/features/products/components/ClearanceIndexListing.d.ts +8 -0
- package/dist/features/products/components/ClearanceIndexListing.js +108 -0
- package/dist/features/products/components/ClearanceItemsEditor.d.ts +13 -0
- package/dist/features/products/components/ClearanceItemsEditor.js +101 -0
- package/dist/features/products/components/ClearanceListingView.d.ts +18 -0
- package/dist/features/products/components/ClearanceListingView.js +38 -0
- package/dist/features/products/components/ClearanceSection.d.ts +15 -0
- package/dist/features/products/components/ClearanceSection.js +49 -0
- package/dist/features/products/components/ClearanceWinnerMappingView.d.ts +14 -0
- package/dist/features/products/components/ClearanceWinnerMappingView.js +43 -0
- package/dist/features/products/components/CollectorDropDetailView.d.ts +16 -0
- package/dist/features/products/components/CollectorDropDetailView.js +13 -0
- package/dist/features/products/components/CollectorDropsIndexListing.d.ts +8 -0
- package/dist/features/products/components/CollectorDropsIndexListing.js +170 -0
- package/dist/features/products/components/CompareOverlay.d.ts +2 -2
- package/dist/features/products/components/CompareOverlay.js +5 -5
- package/dist/features/products/components/CustomSectionTabContent.d.ts +1 -1
- package/dist/features/products/components/CustomSectionTabContent.js +1 -1
- package/dist/features/products/components/GroupMemberPicker.js +1 -1
- package/dist/features/products/components/GroupSettingsPanel.d.ts +2 -2
- package/dist/features/products/components/GroupSettingsPanel.js +4 -4
- package/dist/features/products/components/ListingBottomActions.d.ts +4 -4
- package/dist/features/products/components/ListingBottomActions.js +1 -1
- package/dist/features/products/components/MakeOfferButton.js +2 -1
- package/dist/features/products/components/MarketplaceBundleCard.js +1 -1
- package/dist/features/products/components/MarketplaceClearanceCard.d.ts +34 -0
- package/dist/features/products/components/MarketplaceClearanceCard.js +129 -0
- package/dist/features/products/components/NonRefundableConsentModal.d.ts +1 -1
- package/dist/features/products/components/NonRefundableConsentModal.js +2 -2
- package/dist/features/products/components/PdpSectionJumpNav.d.ts +4 -0
- package/dist/features/products/components/PdpSectionJumpNav.js +41 -0
- package/dist/features/products/components/PlaceBidForm.d.ts +1 -1
- package/dist/features/products/components/PrizeRevealModal.js +32 -8
- package/dist/features/products/components/ProductDetailActions.js +1 -1
- package/dist/features/products/components/ProductDetailPageView.d.ts +4 -1
- package/dist/features/products/components/ProductDetailPageView.js +128 -98
- package/dist/features/products/components/ProductFeatureBadges.js +10 -7
- package/dist/features/products/components/ProductFilters.js +1 -1
- package/dist/features/products/components/ProductForm.d.ts +1 -1
- package/dist/features/products/components/ProductForm.js +20 -21
- package/dist/features/products/components/ProductGalleryClient.js +1 -1
- package/dist/features/products/components/ProductGradingTab.js +1 -1
- package/dist/features/products/components/ProductGrid.d.ts +18 -1
- package/dist/features/products/components/ProductGrid.js +91 -22
- package/dist/features/products/components/ProductsIndexListing.d.ts +1 -1
- package/dist/features/products/components/ProductsIndexListing.js +85 -18
- package/dist/features/products/components/ProductsIndexPageView.d.ts +4 -1
- package/dist/features/products/components/ProductsIndexPageView.js +12 -11
- package/dist/features/products/components/RelatedItemsSection.d.ts +82 -2
- package/dist/features/products/components/RelatedItemsSection.js +152 -9
- package/dist/features/products/components/ShowGroupSection.js +30 -2
- package/dist/features/products/components/SparesListView.d.ts +4 -1
- package/dist/features/products/components/SparesListView.js +3 -2
- package/dist/features/products/components/SublistingCarouselSection.js +1 -1
- package/dist/features/products/components/TrustBadgeRow.d.ts +15 -0
- package/dist/features/products/components/TrustBadgeRow.js +13 -0
- package/dist/features/products/components/index.d.ts +16 -16
- package/dist/features/products/components/index.js +9 -9
- package/dist/features/products/config/listing-type-listing-config.js +1 -1
- package/dist/features/products/constants/action-defs.d.ts +24 -25
- package/dist/features/products/constants/action-defs.js +35 -36
- package/dist/features/products/constants/card-badges.d.ts +3 -3
- package/dist/features/products/constants/card-badges.js +3 -3
- package/dist/features/products/constants/listing-tabs.d.ts +11 -5
- package/dist/features/products/constants/listing-tabs.js +21 -22
- package/dist/features/products/constants/preorder-window.d.ts +101 -0
- package/dist/features/products/constants/preorder-window.js +172 -0
- package/dist/features/products/constants/product-features.constants.js +3 -3
- package/dist/features/products/constants/sieve.d.ts +4 -4
- package/dist/features/products/constants/sieve.js +14 -14
- package/dist/features/products/hooks/useProducts.js +1 -1
- package/dist/features/products/hooks/useRelatedProducts.d.ts +2 -2
- package/dist/features/products/hooks/useRelatedProducts.js +5 -5
- package/dist/features/products/index.d.ts +1 -1
- package/dist/features/products/index.js +3 -3
- package/dist/features/products/messages/en.json +1 -1
- package/dist/features/products/repository/category-assignment.js +2 -2
- package/dist/features/products/repository/products.repository.d.ts +9 -6
- package/dist/features/products/repository/products.repository.js +56 -30
- package/dist/features/products/schemas/firestore.d.ts +81 -29
- package/dist/features/products/schemas/firestore.js +84 -14
- package/dist/features/products/schemas/index.d.ts +61 -40
- package/dist/features/products/schemas/index.js +26 -10
- package/dist/features/products/schemas/part-slots.d.ts +84 -0
- package/dist/features/products/schemas/part-slots.js +231 -0
- package/dist/features/products/schemas/product-features.d.ts +3 -3
- package/dist/features/products/schemas/product-features.validators.d.ts +40 -40
- package/dist/features/products/schemas/product-features.validators.js +3 -3
- package/dist/features/products/schemas/surface-counts.d.ts +1 -1
- package/dist/features/products/schemas/surface-counts.js +1 -1
- package/dist/features/products/types/index.d.ts +7 -7
- package/dist/features/products/utils/listing-badge-variant.d.ts +1 -1
- package/dist/features/products/utils/listing-badge-variant.js +5 -6
- package/dist/features/products/utils/listing-type.d.ts +6 -9
- package/dist/features/products/utils/listing-type.js +30 -9
- package/dist/features/promotions/actions/seller-coupon-actions.d.ts +2 -2
- package/dist/features/promotions/actions/seller-coupon-actions.js +2 -2
- package/dist/features/promotions/components/CouponCard.d.ts +1 -1
- package/dist/features/promotions/components/CouponCard.js +3 -2
- package/dist/features/promotions/components/CouponHelpDetails.js +2 -1
- package/dist/features/promotions/components/CouponsIndexListing.js +3 -1
- package/dist/features/promotions/constants/coupon-help.d.ts +1 -1
- package/dist/features/promotions/constants/coupon-help.js +8 -1
- package/dist/features/promotions/hooks/useCouponValidate.d.ts +1 -1
- package/dist/features/promotions/repository/coupons.repository.d.ts +2 -5
- package/dist/features/promotions/repository/coupons.repository.js +22 -11
- package/dist/features/promotions/schemas/firestore.d.ts +11 -3
- package/dist/features/promotions/schemas/index.d.ts +23 -23
- package/dist/features/promotions/schemas/index.js +3 -3
- package/dist/features/reviews/actions/review-actions.js +1 -1
- package/dist/features/reviews/api/[id]/route.js +34 -10
- package/dist/features/reviews/components/ReviewDetailPageView.d.ts +4 -1
- package/dist/features/reviews/components/ReviewDetailPageView.js +29 -2
- package/dist/features/reviews/components/ReviewDetailShell.js +2 -2
- package/dist/features/reviews/components/ReviewModal.js +1 -1
- package/dist/features/reviews/components/ReviewsIndexPageView.d.ts +4 -1
- package/dist/features/reviews/components/ReviewsIndexPageView.js +4 -3
- package/dist/features/reviews/components/ReviewsList.js +1 -1
- package/dist/features/reviews/components/ReviewsListingPanel.d.ts +1 -1
- package/dist/features/reviews/schemas/firestore.d.ts +1 -1
- package/dist/features/reviews/schemas/index.d.ts +20 -20
- package/dist/features/scams/actions/scam-actions.js +1 -1
- package/dist/features/scams/components/ScamAwarenessModal.js +2 -1
- package/dist/features/scams/components/ScamProfileView.d.ts +4 -1
- package/dist/features/scams/components/ScamProfileView.js +9 -6
- package/dist/features/scams/components/ScamRegistryView.d.ts +4 -1
- package/dist/features/scams/components/ScamRegistryView.js +7 -4
- package/dist/features/scams/constants/scam-types.d.ts +13 -1
- package/dist/features/scams/constants/scam-types.js +67 -23
- package/dist/features/scams/schemas/firestore.js +1 -1
- package/dist/features/scams/schemas/index.d.ts +8 -8
- package/dist/features/scams/schemas/report-form.d.ts +4 -4
- package/dist/features/search/action-index/repository.d.ts +1 -1
- package/dist/features/search/action-index/repository.js +1 -1
- package/dist/features/search/action-index/settings-entries.js +6 -6
- package/dist/features/search/components/Search.d.ts +1 -1
- package/dist/features/search/components/Search.js +5 -1
- package/dist/features/search/components/SearchFacetRail.js +2 -2
- package/dist/features/search/components/SearchResultsPageView.js +2 -1
- package/dist/features/search/hooks/useNavSuggestions.d.ts +1 -1
- package/dist/features/search/hooks/useNavSuggestions.js +1 -1
- package/dist/features/search/hooks/useSiteSearch.js +1 -1
- package/dist/features/seller/actions/offer-actions.js +50 -12
- package/dist/features/seller/actions/seller-actions.d.ts +19 -0
- package/dist/features/seller/actions/seller-actions.js +163 -44
- package/dist/features/seller/api/coupons/route.js +6 -1
- package/dist/features/seller/api/products/route.js +6 -1
- package/dist/features/seller/api/store/route.js +6 -1
- package/dist/features/seller/components/DispatchForm.js +3 -2
- package/dist/features/seller/components/FulfillmentView.d.ts +4 -1
- package/dist/features/seller/components/FulfillmentView.js +3 -2
- package/dist/features/seller/components/PrintCenterView.d.ts +4 -1
- package/dist/features/seller/components/PrintCenterView.js +6 -3
- package/dist/features/seller/components/SellerAddressesView.d.ts +4 -1
- package/dist/features/seller/components/SellerAddressesView.js +3 -2
- package/dist/features/seller/components/SellerAnalyticsAlertsView.d.ts +4 -1
- package/dist/features/seller/components/SellerAnalyticsAlertsView.js +3 -2
- package/dist/features/seller/components/SellerAnalyticsView.d.ts +4 -1
- package/dist/features/seller/components/SellerAnalyticsView.js +3 -1
- package/dist/features/seller/components/SellerArtAndStickersView.d.ts +18 -0
- package/dist/features/seller/components/SellerArtAndStickersView.js +7 -0
- package/dist/features/seller/components/SellerBidsView.d.ts +4 -1
- package/dist/features/seller/components/SellerBidsView.js +9 -8
- package/dist/features/seller/components/SellerBundlesView.d.ts +4 -1
- package/dist/features/seller/components/SellerBundlesView.js +5 -3
- package/dist/features/seller/components/SellerClassifiedView.d.ts +6 -2
- package/dist/features/seller/components/SellerClassifiedView.js +4 -3
- package/dist/features/seller/components/SellerCouponEditorView.d.ts +4 -1
- package/dist/features/seller/components/SellerCouponEditorView.js +3 -2
- package/dist/features/seller/components/SellerDigitalCodesView.d.ts +6 -2
- package/dist/features/seller/components/SellerDigitalCodesView.js +4 -3
- package/dist/features/seller/components/SellerFeaturesView.d.ts +6 -1
- package/dist/features/seller/components/SellerFeaturesView.js +8 -3
- package/dist/features/seller/components/SellerGoogleReviewsView.d.ts +4 -1
- package/dist/features/seller/components/SellerGoogleReviewsView.js +3 -2
- package/dist/features/seller/components/SellerGuideView.d.ts +11 -1
- package/dist/features/seller/components/SellerGuideView.js +7 -2
- package/dist/features/seller/components/SellerListingTypeView.d.ts +2 -2
- package/dist/features/seller/components/SellerListingTypeView.js +14 -20
- package/dist/features/seller/components/SellerLiveView.d.ts +6 -2
- package/dist/features/seller/components/SellerLiveView.js +4 -3
- package/dist/features/seller/components/SellerOffersView.d.ts +4 -1
- package/dist/features/seller/components/SellerOffersView.js +4 -3
- package/dist/features/seller/components/SellerOrdersView.d.ts +4 -1
- package/dist/features/seller/components/SellerOrdersView.js +44 -47
- package/dist/features/seller/components/SellerPayoutRequestView.d.ts +4 -1
- package/dist/features/seller/components/SellerPayoutRequestView.js +3 -2
- package/dist/features/seller/components/SellerPayoutSettingsView.js +127 -14
- package/dist/features/seller/components/SellerProductShell.d.ts +3 -3
- package/dist/features/seller/components/SellerProductShell.js +77 -28
- package/dist/features/seller/components/SellerProductsCards.js +3 -3
- package/dist/features/seller/components/SellerProductsView.js +24 -123
- package/dist/features/seller/components/SellerReviewsView.d.ts +10 -1
- package/dist/features/seller/components/SellerReviewsView.js +3 -2
- package/dist/features/seller/components/SellerShippingOfferView.d.ts +5 -0
- package/dist/features/seller/components/SellerShippingOfferView.js +164 -0
- package/dist/features/seller/components/SellerShippingView.d.ts +4 -1
- package/dist/features/seller/components/SellerShippingView.js +6 -5
- package/dist/features/seller/components/SellerSidebar.js +29 -5
- package/dist/features/seller/components/SellerSparesView.d.ts +6 -2
- package/dist/features/seller/components/SellerSparesView.js +4 -3
- package/dist/features/seller/components/SellerStoreCategoriesView.d.ts +4 -1
- package/dist/features/seller/components/SellerStoreCategoriesView.js +3 -2
- package/dist/features/seller/components/SellerStorefrontView.d.ts +4 -1
- package/dist/features/seller/components/SellerStorefrontView.js +6 -5
- package/dist/features/seller/components/SellerSupportView.d.ts +4 -1
- package/dist/features/seller/components/SellerSupportView.js +3 -2
- package/dist/features/seller/components/analytics/SellerAnalyticsStats.d.ts +8 -1
- package/dist/features/seller/components/analytics/SellerAnalyticsStats.js +1 -1
- package/dist/features/seller/components/index.d.ts +2 -4
- package/dist/features/seller/components/index.js +1 -2
- package/dist/features/seller/constants/store-tabs.d.ts +4 -0
- package/dist/features/seller/constants/store-tabs.js +12 -0
- package/dist/features/seller/hooks/useSellerStorefront.js +18 -1
- package/dist/features/seller/repository/seller-profile.repository.d.ts +32 -0
- package/dist/features/seller/repository/seller-profile.repository.js +98 -0
- package/dist/features/seller/schemas/coupon-form.d.ts +15 -15
- package/dist/features/seller/schemas/coupon-form.js +2 -2
- package/dist/features/seller/schemas/index.d.ts +6 -6
- package/dist/features/seller/schemas/product-form.d.ts +9 -9
- package/dist/features/seller/schemas/product-form.js +4 -4
- package/dist/features/seller/schemas/seller-profile-firestore.d.ts +48 -0
- package/dist/features/seller/schemas/seller-profile-firestore.js +38 -0
- package/dist/features/server-errors/schemas/index.d.ts +4 -4
- package/dist/features/shell/CommandPalette.d.ts +53 -4
- package/dist/features/shell/CommandPalette.js +144 -11
- package/dist/features/shell/QuickFormDrawer.d.ts +2 -14
- package/dist/features/shell/SectionForm.js +1 -1
- package/dist/features/shell/SectionVisibilityGate.d.ts +36 -0
- package/dist/features/shell/SectionVisibilityGate.js +46 -0
- package/dist/features/shell/WizardFormSteps.d.ts +7 -0
- package/dist/features/shell/WizardFormSteps.js +53 -0
- package/dist/features/shell/build-sections.d.ts +95 -2
- package/dist/features/shell/build-sections.js +177 -6
- package/dist/features/shell/field-ui-meta.d.ts +69 -0
- package/dist/features/shell/field-ui-meta.js +56 -0
- package/dist/features/shell/index.d.ts +2 -0
- package/dist/features/shell/index.js +1 -0
- package/dist/features/shell/searchNavItems.d.ts +22 -0
- package/dist/features/shell/searchNavItems.js +61 -0
- package/dist/features/shell/useFieldVisibility.d.ts +43 -0
- package/dist/features/shell/useFieldVisibility.js +126 -0
- package/dist/features/shipments/components/AdminShipmentEditorView.d.ts +6 -1
- package/dist/features/shipments/components/AdminShipmentEditorView.js +3 -2
- package/dist/features/shipments/components/AdminShipmentLotItemsView.d.ts +4 -1
- package/dist/features/shipments/components/AdminShipmentLotItemsView.js +3 -2
- package/dist/features/shipments/components/AdminShipmentProjectionsView.d.ts +6 -1
- package/dist/features/shipments/components/AdminShipmentProjectionsView.js +3 -9
- package/dist/features/shipments/components/AdminShipmentsView.d.ts +6 -2
- package/dist/features/shipments/components/AdminShipmentsView.js +5 -4
- package/dist/features/shipments/schemas/validation.d.ts +19 -19
- package/dist/features/shipments/schemas/validation.js +3 -4
- package/dist/features/site-settings/components/ActionPermissionsManager.js +21 -9
- package/dist/features/site-settings/components/NavPermissionsManager.d.ts +20 -1
- package/dist/features/site-settings/components/NavPermissionsManager.js +82 -6
- package/dist/features/site-settings/components/ThemeManagerView.js +22 -2
- package/dist/features/sticker-trace/components/StickerRunHistoryPanel.d.ts +8 -1
- package/dist/features/sticker-trace/components/StickerRunHistoryPanel.js +43 -11
- package/dist/features/sticker-trace/components/StickerTraceStudio.js +34 -13
- package/dist/features/sticker-trace/repository/sticker-sheets.repository.d.ts +1 -1
- package/dist/features/sticker-trace/repository/sticker-sheets.repository.js +1 -1
- package/dist/features/sticker-trace/repository/sticker-trace-runs.repository.d.ts +8 -0
- package/dist/features/sticker-trace/repository/sticker-trace-runs.repository.js +15 -0
- package/dist/features/store-extensions/repository/store-extensions.repositories.d.ts +32 -5
- package/dist/features/store-extensions/repository/store-extensions.repositories.js +62 -7
- package/dist/features/store-extensions/schemas/admin-notification-form.d.ts +2 -2
- package/dist/features/store-extensions/schemas/analytics-forms.d.ts +2 -2
- package/dist/features/store-extensions/schemas/firestore.d.ts +34 -5
- package/dist/features/store-extensions/schemas/firestore.js +23 -4
- package/dist/features/store-extensions/schemas/listing-template-form.d.ts +10 -10
- package/dist/features/store-extensions/schemas/listing-template-form.js +3 -4
- package/dist/features/store-extensions/schemas/payout-method-form.d.ts +10 -10
- package/dist/features/store-extensions/schemas/report-create-form.d.ts +2 -2
- package/dist/features/store-extensions/schemas/shipping-config-form.d.ts +33 -20
- package/dist/features/store-extensions/schemas/shipping-config-form.js +11 -0
- package/dist/features/store-extensions/schemas/store-category-form.d.ts +6 -6
- package/dist/features/stores/actions/store-query-actions.d.ts +2 -2
- package/dist/features/stores/actions/store-query-actions.js +5 -5
- package/dist/features/stores/api/[storeSlug]/collector-drops/route.d.ts +23 -0
- package/dist/features/stores/api/[storeSlug]/collector-drops/route.js +83 -0
- package/dist/features/stores/api/[storeSlug]/products/route.d.ts +1 -1
- package/dist/features/stores/api/[storeSlug]/products/route.js +1 -1
- package/dist/features/stores/components/InteractiveStoreCard.js +1 -1
- package/dist/features/stores/components/StoreArtStickersPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreArtStickersPageView.js +6 -5
- package/dist/features/stores/components/StoreBundlesPageView.d.ts +5 -2
- package/dist/features/stores/components/StoreBundlesPageView.js +5 -4
- package/dist/features/stores/components/StoreCapabilitiesGuideView.d.ts +6 -2
- package/dist/features/stores/components/StoreCapabilitiesGuideView.js +13 -11
- package/dist/features/stores/components/StoreClassifiedsPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreClassifiedsPageView.js +4 -3
- package/dist/features/stores/components/StoreClearancePageView.d.ts +11 -0
- package/dist/features/stores/components/StoreClearancePageView.js +25 -0
- package/dist/features/stores/components/StoreCollectorDropsListing.d.ts +7 -0
- package/dist/features/stores/components/StoreCollectorDropsListing.js +138 -0
- package/dist/features/stores/components/StoreCollectorDropsPageView.d.ts +11 -0
- package/dist/features/stores/components/StoreCollectorDropsPageView.js +25 -0
- package/dist/features/stores/components/StoreCollectorDropsView.d.ts +17 -0
- package/dist/features/stores/components/StoreCollectorDropsView.js +5 -0
- package/dist/features/stores/components/StoreCreateForm.js +16 -2
- package/dist/features/stores/components/StoreDetailLayoutView.d.ts +1 -1
- package/dist/features/stores/components/StoreDetailLayoutView.js +7 -1
- package/dist/features/stores/components/StoreDigitalCodesPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreDigitalCodesPageView.js +4 -3
- package/dist/features/stores/components/StoreFinanceGuideView.d.ts +6 -2
- package/dist/features/stores/components/StoreFinanceGuideView.js +9 -7
- package/dist/features/stores/components/StoreGuideHubView.d.ts +4 -1
- package/dist/features/stores/components/StoreGuideHubView.js +7 -4
- package/dist/features/stores/components/StoreHeader.js +1 -1
- package/dist/features/stores/components/StoreListingsGuideView.d.ts +6 -2
- package/dist/features/stores/components/StoreListingsGuideView.js +14 -12
- package/dist/features/stores/components/StoreLiveItemsPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreLiveItemsPageView.js +4 -3
- package/dist/features/stores/components/StoreNavTabs.d.ts +1 -1
- package/dist/features/stores/components/StoreOrdersGuideView.d.ts +6 -2
- package/dist/features/stores/components/StoreOrdersGuideView.js +11 -9
- package/dist/features/stores/components/StorePreOrdersPageView.d.ts +4 -1
- package/dist/features/stores/components/StorePreOrdersPageView.js +4 -3
- package/dist/features/stores/components/StoreProductsPageView.d.ts +12 -1
- package/dist/features/stores/components/StoreProductsPageView.js +4 -3
- package/dist/features/stores/components/StoreReviewsPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreReviewsPageView.js +4 -3
- package/dist/features/stores/components/StoreSettingsGuideView.d.ts +6 -2
- package/dist/features/stores/components/StoreSettingsGuideView.js +5 -3
- package/dist/features/stores/components/StoreSparesPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreSparesPageView.js +10 -9
- package/dist/features/stores/components/StoresIndexListing.js +16 -11
- package/dist/features/stores/components/StoresIndexPageView.d.ts +10 -1
- package/dist/features/stores/components/StoresIndexPageView.js +3 -2
- package/dist/features/stores/components/index.d.ts +5 -5
- package/dist/features/stores/components/index.js +2 -2
- package/dist/features/stores/hooks/useStores.d.ts +4 -4
- package/dist/features/stores/hooks/useStores.js +4 -4
- package/dist/features/stores/manifest.js +3 -3
- package/dist/features/stores/messages/en.json +1 -1
- package/dist/features/stores/repository/store.repository.d.ts +80 -0
- package/dist/features/stores/repository/store.repository.js +98 -0
- package/dist/features/stores/schemas/firestore.d.ts +193 -1
- package/dist/features/stores/schemas/firestore.js +66 -0
- package/dist/features/stores/schemas/index.d.ts +16 -16
- package/dist/features/stores/server.d.ts +1 -1
- package/dist/features/stores/server.js +1 -1
- package/dist/features/stores/types/index.d.ts +5 -5
- package/dist/features/support/schemas/firestore.d.ts +1 -1
- package/dist/features/support/schemas/firestore.js +1 -1
- package/dist/features/support/schemas/index.d.ts +12 -12
- package/dist/features/support/schemas/index.js +1 -1
- package/dist/features/tax-codes/schemas/tax-code-form.d.ts +4 -4
- package/dist/features/tax-codes/schemas/tax-codes.validators.d.ts +4 -4
- package/dist/features/tax-codes/schemas/tax-codes.validators.js +1 -1
- package/dist/features/tester/actions/checklist-item-actions.d.ts +3 -3
- package/dist/features/tester/components/AdminTesterFeedbackIssuesView.js +1 -1
- package/dist/features/tester/components/AdminTesterFeedbackView.d.ts +6 -1
- package/dist/features/tester/components/AdminTesterFeedbackView.js +3 -2
- package/dist/features/tester/schemas/checklist-item-form.d.ts +2 -2
- package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.d.ts +5 -2
- package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +5 -3
- package/dist/features/whatsapp-bot/helpers/whatsapp.js +5 -2
- package/dist/features/wishlist/components/WishlistHeartButton.d.ts +2 -2
- package/dist/features/wishlist/components/WishlistHeartButton.js +2 -2
- package/dist/features/wishlist/components/WishlistPage.js +1 -1
- package/dist/features/wishlist/components/WishlistView.d.ts +1 -1
- package/dist/features/wishlist/hooks/useGuestWishlist.d.ts +6 -6
- package/dist/features/wishlist/hooks/useUserWishlist.d.ts +1 -1
- package/dist/features/wishlist/hooks/useWishlistCount.js +1 -1
- package/dist/features/wishlist/hooks/useWishlistWithGuest.d.ts +6 -6
- package/dist/features/wishlist/repository/user-wishlist.repository.d.ts +1 -1
- package/dist/features/wishlist/utils/guest-wishlist.d.ts +14 -5
- package/dist/index.d.ts +182 -202
- package/dist/index.js +284 -232
- package/dist/jobs.d.ts +1 -1
- package/dist/jobs.js +3 -3
- package/dist/next/api/api-response.d.ts +1 -1
- package/dist/next/api/parseJsonBody.d.ts +1 -1
- package/dist/next/api/routeHandler.d.ts +5 -0
- package/dist/next/api/routeHandler.js +24 -2
- package/dist/next/components/UnauthorizedView.d.ts +4 -1
- package/dist/next/components/UnauthorizedView.js +3 -2
- package/dist/next/index.d.ts +3 -1
- package/dist/next/index.js +5 -1
- package/dist/next/routing/portals.d.ts +266 -0
- package/dist/next/routing/portals.js +379 -0
- package/dist/next/routing/route-map.d.ts +114 -71
- package/dist/next/routing/route-map.js +137 -45
- package/dist/providers/ai-groq/index.d.ts +18 -0
- package/dist/providers/ai-groq/index.js +241 -0
- package/dist/providers/auth-firebase/claims.d.ts +85 -0
- package/dist/providers/auth-firebase/claims.js +116 -0
- package/dist/providers/auth-firebase/helpers.d.ts +6 -1
- package/dist/providers/auth-firebase/helpers.js +26 -2
- package/dist/providers/auth-firebase/provider.js +9 -4
- package/dist/providers/auth-firebase/session.js +32 -1
- package/dist/providers/db-firebase/admin.d.ts +24 -1
- package/dist/providers/db-firebase/admin.js +29 -5
- package/dist/providers/db-firebase/base.repository.d.ts +1 -1
- package/dist/providers/db-firebase/filter-aliases.d.ts +2 -2
- package/dist/providers/db-firebase/rtdb-url.js +1 -1
- package/dist/providers/db-firebase/sieve.js +2 -2
- package/dist/providers/payment-cashfree/easy-split.d.ts +119 -0
- package/dist/providers/payment-cashfree/easy-split.js +206 -0
- package/dist/providers/payment-cashfree/index.d.ts +341 -0
- package/dist/providers/payment-cashfree/index.js +714 -0
- package/dist/providers/payment-manual/index.d.ts +11 -0
- package/dist/providers/payment-manual/index.js +13 -0
- package/dist/providers/payment-phonepe/index.d.ts +24 -8
- package/dist/providers/payment-phonepe/index.js +29 -1
- package/dist/providers/payment-razorpay/index.d.ts +14 -1
- package/dist/providers/payment-razorpay/index.js +21 -1
- package/dist/providers/shipping-shiprocket/index.d.ts +40 -5
- package/dist/providers/shipping-shiprocket/index.js +49 -5
- package/dist/providers/tax-india-gst/index.d.ts +45 -0
- package/dist/providers/tax-india-gst/index.js +78 -0
- package/dist/providers.d.ts +3 -0
- package/dist/providers.js +5 -0
- package/dist/react/contexts/SessionContext.d.ts +18 -2
- package/dist/react/contexts/SessionContext.js +23 -1
- package/dist/react/hooks/useBrowsePageFlags.d.ts +2 -2
- package/dist/react/hooks/useBrowsePageFlags.js +11 -5
- package/dist/react/hooks/useCanSeePrices.js +1 -1
- package/dist/react/hooks/useCountdown.d.ts +1 -1
- package/dist/react/hooks/useCountdown.js +1 -1
- package/dist/react/hooks/useListingSurfaceVisibility.js +12 -2
- package/dist/react/hooks/useListingTypeFlags.d.ts +62 -8
- package/dist/react/hooks/useListingTypeFlags.js +14 -7
- package/dist/react/hooks/useScrollToTop.d.ts +5 -0
- package/dist/react/hooks/useScrollToTop.js +70 -0
- package/dist/repositories/index.d.ts +3 -4
- package/dist/repositories/index.js +4 -5
- package/dist/schemas/registry.d.ts +320 -899
- package/dist/schemas/registry.js +7 -7
- package/dist/schemas/sieve.d.ts +2 -2
- package/dist/schemas/webhooks/google-oauth.d.ts +4 -4
- package/dist/security/authorization.d.ts +27 -5
- package/dist/security/authorization.js +53 -13
- package/dist/security/index.d.ts +1 -1
- package/dist/security/index.js +1 -1
- package/dist/security/pii-mask.d.ts +1 -1
- package/dist/security/pii-mask.js +1 -1
- package/dist/security/pii-schemas.d.ts +26 -2
- package/dist/security/pii-schemas.js +26 -2
- package/dist/seo/json-ld.d.ts +6 -6
- package/dist/seo/json-ld.js +32 -11
- package/dist/seo/metadata.d.ts +3 -3
- package/dist/seo/metadata.js +7 -7
- package/dist/server-entry.d.ts +13 -13
- package/dist/server-entry.js +54 -15
- package/dist/server.d.ts +79 -46
- package/dist/server.js +158 -74
- package/dist/stores/panel-store.d.ts +1 -1
- package/dist/styles.css +380 -183
- package/dist/tailwind-utilities.css +1 -1
- package/dist/tokens/contrast.d.ts +61 -0
- package/dist/tokens/contrast.js +128 -0
- package/dist/tokens/themes/cobalt-night.js +10 -3
- package/dist/tokens/themes/default-dark.d.ts +5 -4
- package/dist/tokens/themes/default-dark.js +48 -40
- package/dist/tokens/themes/default-light.d.ts +5 -5
- package/dist/tokens/themes/default-light.js +64 -36
- package/dist/tokens/themes/required.d.ts +1 -1
- package/dist/tokens/themes/required.js +40 -0
- package/dist/tokens/themes/sunset.js +14 -2
- package/dist/tokens/tokens.css +117 -85
- package/dist/ui/chrome/BottomActionsContext.d.ts +190 -0
- package/dist/ui/chrome/BottomActionsContext.js +198 -0
- package/dist/ui/chrome/useBottomActions.d.ts +37 -0
- package/dist/ui/chrome/useBottomActions.js +86 -0
- package/dist/ui/columns/cell-renderers.d.ts +10 -5
- package/dist/ui/columns/cell-renderers.js +9 -7
- package/dist/ui/columns/column-renderers.js +13 -4
- package/dist/ui/components/AdminFilterFacets.d.ts +37 -0
- package/dist/ui/components/AdminFilterFacets.js +126 -0
- package/dist/ui/components/Avatar.js +1 -1
- package/dist/ui/components/AvatarDisplay.d.ts +1 -1
- package/dist/ui/components/BaseListingCard.js +1 -1
- package/dist/ui/components/Button.js +2 -13
- package/dist/ui/components/Button.style.css +91 -0
- package/dist/ui/components/Card.d.ts +1 -1
- package/dist/ui/components/Card.js +0 -9
- package/dist/ui/components/Card.style.css +0 -70
- package/dist/ui/components/ClaimCouponButton.d.ts +1 -1
- package/dist/ui/components/ConfirmDeleteModal.d.ts +1 -1
- package/dist/ui/components/ConfirmDeleteModal.js +2 -18
- package/dist/ui/components/ConfirmDeleteModal.style.css +53 -1
- package/dist/ui/components/DetailPageGallery.d.ts +1 -1
- package/dist/ui/components/DetailPageGallery.js +2 -2
- package/dist/ui/components/DetailPageHero.d.ts +1 -1
- package/dist/ui/components/DetailPageHero.js +1 -1
- package/dist/ui/components/DetailPageTabs.d.ts +1 -1
- package/dist/ui/components/DetailPageTabs.js +1 -1
- package/dist/ui/components/DetailViewShell.d.ts +27 -2
- package/dist/ui/components/DetailViewShell.js +5 -1
- package/dist/ui/components/Disclaimer.js +11 -2
- package/dist/ui/components/Drawer.js +19 -2
- package/dist/ui/components/FilterChipGroup.d.ts +2 -2
- package/dist/ui/components/Form.js +1 -1
- package/dist/ui/components/FormField.d.ts +19 -2
- package/dist/ui/components/FormField.js +88 -21
- package/dist/ui/components/GatedPrice.d.ts +1 -1
- package/dist/ui/components/GatedPrice.js +1 -1
- package/dist/ui/components/ImageGallery.js +1 -1
- package/dist/ui/components/ImageLightbox.js +5 -2
- package/dist/ui/components/ImageMosaic.js +1 -1
- package/dist/ui/components/ListingToolbar.d.ts +56 -1
- package/dist/ui/components/ListingToolbar.js +54 -4
- package/dist/ui/components/LiveEditableRegion.d.ts +29 -0
- package/dist/ui/components/LiveEditableRegion.js +54 -0
- package/dist/ui/components/MediaAvatar.js +13 -0
- package/dist/ui/components/MediaImage.d.ts +116 -0
- package/dist/ui/components/MediaImage.js +194 -0
- package/dist/ui/components/MediaLightbox.js +246 -0
- package/dist/ui/components/MediaVideo.js +141 -0
- package/dist/ui/components/Modal.d.ts +1 -1
- package/dist/ui/components/Modal.js +18 -47
- package/dist/ui/components/Modal.style.css +43 -0
- package/dist/ui/components/PaginatedSelect.d.ts +1 -1
- package/dist/ui/components/QuickCreateModal.js +4 -1
- package/dist/ui/components/RecordDetailModal.js +1 -1
- package/dist/ui/components/RowActionMenu.js +11 -51
- package/dist/ui/components/RowActionMenu.style.css +64 -10
- package/dist/ui/components/SideDrawer.style.css +11 -16
- package/dist/ui/components/SiteLogo.d.ts +20 -2
- package/dist/ui/components/SiteLogo.js +29 -7
- package/dist/ui/components/SiteMark.d.ts +1 -1
- package/dist/ui/components/SiteMark.js +22 -7
- package/dist/ui/components/SpecTable.d.ts +1 -1
- package/dist/ui/components/SplitTile.js +1 -1
- package/dist/ui/components/dialog-shell.d.ts +32 -0
- package/dist/ui/components/dialog-shell.js +23 -0
- package/dist/ui/components/form-field-registry.d.ts +43 -0
- package/dist/ui/components/form-field-registry.js +7 -0
- package/dist/ui/components/surface-tokens.d.ts +6 -2
- package/dist/ui/components/surface-tokens.js +3 -1
- package/dist/ui/design-pack.d.ts +21 -0
- package/dist/ui/design-pack.js +47 -0
- package/dist/ui/forms/FormShell.js +14 -1
- package/dist/ui/forms/useFormBottomActions.d.ts +78 -0
- package/dist/ui/forms/useFormBottomActions.js +128 -0
- package/dist/ui/icons/icon-registry.d.ts +6 -1
- package/dist/ui/icons/icon-registry.js +12 -3
- package/dist/ui/rich-text/RichText.js +35 -8
- package/dist/ui/types/image-crop.d.ts +8 -0
- package/dist/ui/types/quick-field.d.ts +33 -0
- package/dist/ui/widgets/index.d.ts +7 -0
- package/dist/ui/widgets/index.js +3 -0
- package/dist/ui/widgets/merge.d.ts +85 -0
- package/dist/ui/widgets/merge.js +162 -0
- package/dist/ui/widgets/pilot-registry.d.ts +104 -0
- package/dist/ui/widgets/pilot-registry.js +305 -0
- package/dist/ui/widgets/resolve.d.ts +109 -0
- package/dist/ui/widgets/resolve.js +442 -0
- package/dist/ui/widgets/types.d.ts +252 -0
- package/dist/ui/widgets/types.js +45 -0
- package/dist/utils/date.formatter.d.ts +20 -0
- package/dist/utils/date.formatter.js +25 -0
- package/dist/utils/id-generators.d.ts +5 -5
- package/dist/utils/id-generators.js +14 -10
- package/dist/utils/listing-params.d.ts +1 -1
- package/dist/utils/listing-params.js +1 -1
- package/dist/utils/number.formatter.d.ts +47 -0
- package/dist/utils/number.formatter.js +79 -1
- package/dist/utils/pack-by-span.d.ts +21 -0
- package/dist/utils/pack-by-span.js +84 -0
- package/dist/utils/search-txt-builders.d.ts +2 -2
- package/dist/utils/search-txt-builders.js +1 -1
- package/dist/validation/phone.validator.d.ts +0 -1
- package/dist/validation/phone.validator.js +17 -3
- package/dist/validation/schemas.d.ts +17 -17
- package/package.json +86 -10
- package/scripts/dedupe-peer-deps.mjs +17 -0
- package/scripts/seed-cli.mjs +33 -16
- package/scripts/sieve-audit.mjs +14 -14
- package/dist/_internal/client/features/lottery/LotteryAdminEditView.d.ts +0 -66
- package/dist/_internal/client/features/lottery/LotteryAdminEditView.js +0 -187
- package/dist/_internal/client/features/lottery/LotteryAdminSlotView.d.ts +0 -15
- package/dist/_internal/client/features/lottery/LotteryAdminSlotView.js +0 -50
- package/dist/_internal/client/features/lottery/LotteryDetailView.d.ts +0 -37
- package/dist/_internal/client/features/lottery/LotteryDetailView.js +0 -48
- package/dist/_internal/client/features/lottery/LotteryEntriesView.d.ts +0 -24
- package/dist/_internal/client/features/lottery/LotteryEntriesView.js +0 -63
- package/dist/_internal/client/features/lottery/LotteryListView.d.ts +0 -29
- package/dist/_internal/client/features/lottery/LotteryListView.js +0 -44
- package/dist/_internal/client/features/lottery/LotteryPullForm.d.ts +0 -31
- package/dist/_internal/client/features/lottery/LotteryPullForm.js +0 -94
- package/dist/_internal/client/features/lottery/LotterySlotGrid.d.ts +0 -14
- package/dist/_internal/client/features/lottery/LotterySlotGrid.js +0 -23
- package/dist/_internal/client/features/lottery/PrizeDrawLotteryDetailView.d.ts +0 -29
- package/dist/_internal/client/features/lottery/PrizeDrawLotteryDetailView.js +0 -28
- package/dist/_internal/client/features/lottery/slot-collage-items.d.ts +0 -15
- package/dist/_internal/client/features/lottery/slot-collage-items.js +0 -13
- package/dist/_internal/server/features/auctions/actions.js +0 -76
- package/dist/_internal/server/features/auctions/data.d.ts +0 -2
- package/dist/_internal/server/features/auctions/data.js +0 -3
- package/dist/_internal/server/features/auctions/index.d.ts +0 -5
- package/dist/_internal/server/features/auctions/index.js +0 -5
- package/dist/_internal/server/features/auctions/og.d.ts +0 -22
- package/dist/_internal/server/features/auctions/og.js +0 -30
- package/dist/_internal/server/features/auctions/service.d.ts +0 -20
- package/dist/_internal/server/features/auctions/service.js +0 -65
- package/dist/_internal/server/features/beys/data.d.ts +0 -44
- package/dist/_internal/server/features/beys/data.js +0 -107
- package/dist/_internal/server/features/beys/og.d.ts +0 -42
- package/dist/_internal/server/features/beys/og.js +0 -89
- package/dist/_internal/server/features/checkout/freeze-parts.d.ts +0 -50
- package/dist/_internal/server/features/checkout/freeze-parts.js +0 -94
- package/dist/_internal/server/features/lottery/actions.d.ts +0 -43
- package/dist/_internal/server/features/lottery/actions.js +0 -365
- package/dist/_internal/server/features/lottery/adapters.d.ts +0 -15
- package/dist/_internal/server/features/lottery/adapters.js +0 -31
- package/dist/_internal/server/features/lottery/data.d.ts +0 -19
- package/dist/_internal/server/features/lottery/data.js +0 -41
- package/dist/_internal/server/features/lottery/metadata.d.ts +0 -6
- package/dist/_internal/server/features/lottery/metadata.js +0 -31
- package/dist/_internal/server/features/lottery/og.d.ts +0 -40
- package/dist/_internal/server/features/lottery/og.js +0 -79
- package/dist/_internal/server/features/parts/assembly.d.ts +0 -126
- package/dist/_internal/server/features/parts/assembly.js +0 -246
- package/dist/_internal/server/features/parts/buildable.d.ts +0 -47
- package/dist/_internal/server/features/parts/buildable.js +0 -159
- package/dist/_internal/server/features/parts/data.d.ts +0 -65
- package/dist/_internal/server/features/parts/data.js +0 -171
- package/dist/_internal/server/features/parts/og.d.ts +0 -34
- package/dist/_internal/server/features/parts/og.js +0 -66
- package/dist/_internal/server/features/prize-draws/actions.d.ts +0 -2
- package/dist/_internal/server/features/prize-draws/actions.js +0 -33
- package/dist/_internal/server/features/prize-draws/data.d.ts +0 -1
- package/dist/_internal/server/features/prize-draws/data.js +0 -2
- package/dist/_internal/server/features/prize-draws/index.d.ts +0 -4
- package/dist/_internal/server/features/prize-draws/index.js +0 -4
- package/dist/_internal/server/features/prize-draws/og.d.ts +0 -32
- package/dist/_internal/server/features/prize-draws/og.js +0 -47
- package/dist/_internal/server/features/prize-draws/service.d.ts +0 -3
- package/dist/_internal/server/features/prize-draws/service.js +0 -19
- package/dist/_internal/server/jobs/core/auctionSettlement.d.ts +0 -2
- package/dist/_internal/server/jobs/core/auctionSettlement.js +0 -240
- package/dist/_internal/server/jobs/core/onPrizeDrawPaymentConfirmed.d.ts +0 -19
- package/dist/_internal/server/jobs/core/onPrizeDrawPaymentConfirmed.js +0 -30
- package/dist/_internal/server/jobs/core/prizeDrawAssignWinner.d.ts +0 -20
- package/dist/_internal/server/jobs/core/prizeDrawAssignWinner.js +0 -114
- package/dist/_internal/server/jobs/core/prizeDrawExpiryReveal.d.ts +0 -14
- package/dist/_internal/server/jobs/core/prizeDrawExpiryReveal.js +0 -71
- package/dist/_internal/server/jobs/core/prizeDrawSoldOutReveal.d.ts +0 -22
- package/dist/_internal/server/jobs/core/prizeDrawSoldOutReveal.js +0 -67
- package/dist/_internal/server/jobs/handlers/auctionSettlement.d.ts +0 -2
- package/dist/_internal/server/jobs/handlers/auctionSettlement.js +0 -2
- package/dist/_internal/server/jobs/handlers/onPrizeDrawPaymentConfirmed.d.ts +0 -3
- package/dist/_internal/server/jobs/handlers/onPrizeDrawPaymentConfirmed.js +0 -11
- package/dist/_internal/server/jobs/handlers/prizeDrawExpiryReveal.d.ts +0 -2
- package/dist/_internal/server/jobs/handlers/prizeDrawExpiryReveal.js +0 -2
- package/dist/_internal/server/jobs/handlers/prizeDrawSoldOutReveal.d.ts +0 -3
- package/dist/_internal/server/jobs/handlers/prizeDrawSoldOutReveal.js +0 -4
- package/dist/_internal/shared/checkout/rules/art.rule.d.ts +0 -9
- package/dist/_internal/shared/checkout/rules/art.rule.js +0 -5
- package/dist/_internal/shared/checkout/rules/auction.rule.d.ts +0 -2
- package/dist/_internal/shared/checkout/rules/auction.rule.js +0 -19
- package/dist/_internal/shared/checkout/rules/prize-draw.rule.d.ts +0 -2
- package/dist/_internal/shared/checkout/rules/prize-draw.rule.js +0 -112
- package/dist/_internal/shared/checkout/rules/stickers.rule.d.ts +0 -9
- package/dist/_internal/shared/checkout/rules/stickers.rule.js +0 -5
- package/dist/_internal/shared/features/auctions/config.d.ts +0 -100
- package/dist/_internal/shared/features/auctions/config.js +0 -136
- package/dist/_internal/shared/features/auctions/errors.d.ts +0 -16
- package/dist/_internal/shared/features/auctions/errors.js +0 -31
- package/dist/_internal/shared/features/auctions/schema.d.ts +0 -42
- package/dist/_internal/shared/features/auctions/schema.js +0 -24
- package/dist/_internal/shared/listing-types/art/config.d.ts +0 -74
- package/dist/_internal/shared/listing-types/art/config.js +0 -36
- package/dist/_internal/shared/listing-types/art/ctas.js +0 -3
- package/dist/_internal/shared/listing-types/art/schema.d.ts +0 -2
- package/dist/_internal/shared/listing-types/art/schema.js +0 -3
- package/dist/_internal/shared/listing-types/auction/config.d.ts +0 -84
- package/dist/_internal/shared/listing-types/auction/config.js +0 -58
- package/dist/_internal/shared/listing-types/auction/schema.d.ts +0 -3
- package/dist/_internal/shared/listing-types/auction/schema.js +0 -7
- package/dist/_internal/shared/listing-types/prize-draw/config.d.ts +0 -73
- package/dist/_internal/shared/listing-types/prize-draw/config.js +0 -45
- package/dist/_internal/shared/listing-types/prize-draw/schema.d.ts +0 -3
- package/dist/_internal/shared/listing-types/prize-draw/schema.js +0 -13
- package/dist/_internal/shared/listing-types/stickers/config.d.ts +0 -74
- package/dist/_internal/shared/listing-types/stickers/config.js +0 -36
- package/dist/_internal/shared/listing-types/stickers/ctas.d.ts +0 -1
- package/dist/_internal/shared/listing-types/stickers/ctas.js +0 -3
- package/dist/_internal/shared/listing-types/stickers/schema.d.ts +0 -2
- package/dist/_internal/shared/listing-types/stickers/schema.js +0 -3
- package/dist/_internal/shared/listing-types/stickers/seed-factory.d.ts +0 -1
- package/dist/_internal/shared/listing-types/stickers/seed-factory.js +0 -1
- package/dist/features/about/components/HowAuctionsWorkView.d.ts +0 -3
- package/dist/features/about/components/HowAuctionsWorkView.js +0 -104
- package/dist/features/account/components/BuyerAuctionsGuideView.d.ts +0 -2
- package/dist/features/account/components/BuyerAuctionsGuideView.js +0 -45
- package/dist/features/admin/components/AdminArtView.d.ts +0 -13
- package/dist/features/admin/components/AdminArtView.js +0 -31
- package/dist/features/admin/components/AdminBeysView.d.ts +0 -27
- package/dist/features/admin/components/AdminBeysView.js +0 -180
- package/dist/features/admin/components/AdminCarouselEditorView.d.ts +0 -9
- package/dist/features/admin/components/AdminCarouselEditorView.js +0 -299
- package/dist/features/admin/components/AdminCarouselGroupEditorView.d.ts +0 -14
- package/dist/features/admin/components/AdminCarouselGroupEditorView.js +0 -96
- package/dist/features/admin/components/AdminCarouselView.d.ts +0 -6
- package/dist/features/admin/components/AdminCarouselView.js +0 -273
- package/dist/features/admin/components/AdminPartsView.d.ts +0 -27
- package/dist/features/admin/components/AdminPartsView.js +0 -162
- package/dist/features/admin/components/AdminPrizeDrawsView.d.ts +0 -4
- package/dist/features/admin/components/AdminPrizeDrawsView.js +0 -155
- package/dist/features/admin/components/AdminStickersView.d.ts +0 -13
- package/dist/features/admin/components/AdminStickersView.js +0 -31
- package/dist/features/auctions/actions/bid-actions.d.ts +0 -50
- package/dist/features/auctions/actions/bid-actions.js +0 -454
- package/dist/features/auctions/api/route.d.ts +0 -14
- package/dist/features/auctions/api/route.js +0 -62
- package/dist/features/auctions/columns/index.d.ts +0 -14
- package/dist/features/auctions/columns/index.js +0 -63
- package/dist/features/auctions/components/AuctionBidsTable.d.ts +0 -27
- package/dist/features/auctions/components/AuctionBidsTable.js +0 -96
- package/dist/features/auctions/components/AuctionBottomActions.d.ts +0 -23
- package/dist/features/auctions/components/AuctionBottomActions.js +0 -89
- package/dist/features/auctions/components/AuctionDetailPageView.d.ts +0 -22
- package/dist/features/auctions/components/AuctionDetailPageView.js +0 -246
- package/dist/features/auctions/components/AuctionFilters.d.ts +0 -16
- package/dist/features/auctions/components/AuctionFilters.js +0 -18
- package/dist/features/auctions/components/AuctionLiveStatusBadge.d.ts +0 -20
- package/dist/features/auctions/components/AuctionLiveStatusBadge.js +0 -21
- package/dist/features/auctions/components/AuctionsListView.d.ts +0 -6
- package/dist/features/auctions/components/AuctionsListView.js +0 -22
- package/dist/features/auctions/components/CollapsibleBidHistory.js +0 -34
- package/dist/features/auctions/components/LiveBidPrice.d.ts +0 -19
- package/dist/features/auctions/components/LiveBidPrice.js +0 -19
- package/dist/features/auctions/components/LiveMinIncrement.d.ts +0 -18
- package/dist/features/auctions/components/LiveMinIncrement.js +0 -25
- package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +0 -99
- package/dist/features/auctions/components/MarketplaceAuctionCard.js +0 -212
- package/dist/features/auctions/components/MarketplaceAuctionGrid.d.ts +0 -21
- package/dist/features/auctions/components/MarketplaceAuctionGrid.js +0 -47
- package/dist/features/auctions/components/PlaceBidFormClient.d.ts +0 -65
- package/dist/features/auctions/components/PlaceBidFormClient.js +0 -306
- package/dist/features/auctions/components/bid-detail-fields.js +0 -103
- package/dist/features/auctions/components/index.d.ts +0 -7
- package/dist/features/auctions/components/index.js +0 -5
- package/dist/features/auctions/hooks/useAuctions.d.ts +0 -51
- package/dist/features/auctions/hooks/useAuctions.js +0 -105
- package/dist/features/auctions/hooks/useBids.d.ts +0 -33
- package/dist/features/auctions/hooks/useBids.js +0 -32
- package/dist/features/auctions/hooks/useIsAuctionEnded.d.ts +0 -41
- package/dist/features/auctions/hooks/useIsAuctionEnded.js +0 -76
- package/dist/features/auctions/hooks/useLiveAuctionBid.d.ts +0 -20
- package/dist/features/auctions/hooks/useLiveAuctionBid.js +0 -23
- package/dist/features/auctions/hooks/usePlaceBid.d.ts +0 -25
- package/dist/features/auctions/hooks/usePlaceBid.js +0 -28
- package/dist/features/auctions/hooks/useRealtimeBids.d.ts +0 -41
- package/dist/features/auctions/hooks/useRealtimeBids.js +0 -170
- package/dist/features/auctions/index.d.ts +0 -8
- package/dist/features/auctions/index.js +0 -8
- package/dist/features/auctions/manifest.js +0 -17
- package/dist/features/auctions/messages/en.json +0 -18
- package/dist/features/auctions/repository/bid.repository.d.ts +0 -256
- package/dist/features/auctions/repository/bid.repository.js +0 -575
- package/dist/features/auctions/schemas/bid-input.d.ts +0 -30
- package/dist/features/auctions/schemas/bid-input.js +0 -28
- package/dist/features/auctions/schemas/firestore.d.ts +0 -120
- package/dist/features/auctions/schemas/firestore.js +0 -73
- package/dist/features/auctions/schemas/index.d.ts +0 -170
- package/dist/features/auctions/schemas/index.js +0 -64
- package/dist/features/auctions/server.d.ts +0 -8
- package/dist/features/auctions/server.js +0 -8
- package/dist/features/auctions/types/index.d.ts +0 -74
- package/dist/features/beys/components/BeyDetailPageView.d.ts +0 -50
- package/dist/features/beys/components/BeyDetailPageView.js +0 -104
- package/dist/features/beys/schemas/firestore.d.ts +0 -417
- package/dist/features/beys/schemas/firestore.js +0 -65
- package/dist/features/cron/jobs/auction-expiry.job.d.ts +0 -27
- package/dist/features/cron/jobs/auction-expiry.job.js +0 -43
- package/dist/features/events/components/EventRaffleEntryForm.d.ts +0 -24
- package/dist/features/events/components/EventRaffleEntryForm.js +0 -46
- package/dist/features/events/components/EventRaffleWinnerView.d.ts +0 -35
- package/dist/features/events/components/EventRaffleWinnerView.js +0 -39
- package/dist/features/events/components/EventRafflesSection.d.ts +0 -42
- package/dist/features/events/components/EventRafflesSection.js +0 -96
- package/dist/features/events/components/SpinWheelView.d.ts +0 -27
- package/dist/features/events/components/SpinWheelView.js +0 -151
- package/dist/features/homepage/actions/carousel-actions.d.ts +0 -38
- package/dist/features/homepage/actions/carousel-actions.js +0 -54
- package/dist/features/homepage/api/carousel/[id]/route.d.ts +0 -23
- package/dist/features/homepage/api/carousel/[id]/route.js +0 -125
- package/dist/features/homepage/components/FeaturedAuctionsSection.d.ts +0 -18
- package/dist/features/homepage/components/FeaturedAuctionsSection.js +0 -12
- package/dist/features/homepage/hooks/useFeaturedAuctions.d.ts +0 -15
- package/dist/features/homepage/hooks/useFeaturedAuctions.js +0 -49
- package/dist/features/homepage/repository/carousel.repository.d.ts +0 -100
- package/dist/features/homepage/repository/carousel.repository.js +0 -258
- package/dist/features/homepage/repository/carousels.repository.d.ts +0 -38
- package/dist/features/homepage/repository/carousels.repository.js +0 -149
- package/dist/features/layout/BottomActionsContext.d.ts +0 -173
- package/dist/features/layout/BottomActionsContext.js +0 -175
- package/dist/features/layout/hooks/useBottomActions.d.ts +0 -37
- package/dist/features/layout/hooks/useBottomActions.js +0 -86
- package/dist/features/layout/hooks/useFormBottomActions.d.ts +0 -78
- package/dist/features/layout/hooks/useFormBottomActions.js +0 -128
- package/dist/features/lottery/repository/lottery-entry.repository.d.ts +0 -48
- package/dist/features/lottery/repository/lottery-entry.repository.js +0 -172
- package/dist/features/lottery/schemas/config-write.d.ts +0 -145
- package/dist/features/lottery/schemas/config-write.js +0 -199
- package/dist/features/lottery/schemas/firestore.d.ts +0 -77
- package/dist/features/lottery/schemas/firestore.js +0 -25
- package/dist/features/lottery/schemas/zod.d.ts +0 -113
- package/dist/features/lottery/schemas/zod.js +0 -39
- package/dist/features/lottery/types/index.d.ts +0 -72
- package/dist/features/lottery/types/index.js +0 -68
- package/dist/features/media/MediaAvatar.js +0 -13
- package/dist/features/media/MediaImage.d.ts +0 -116
- package/dist/features/media/MediaImage.js +0 -194
- package/dist/features/media/MediaLightbox.js +0 -246
- package/dist/features/media/MediaVideo.js +0 -140
- package/dist/features/parts/components/AssemblyDrawer.d.ts +0 -107
- package/dist/features/parts/components/AssemblyDrawer.js +0 -257
- package/dist/features/parts/components/ModelCompositionPanel.d.ts +0 -37
- package/dist/features/parts/components/ModelCompositionPanel.js +0 -38
- package/dist/features/parts/components/PartDetailPageView.d.ts +0 -61
- package/dist/features/parts/components/PartDetailPageView.js +0 -123
- package/dist/features/parts/components/PartsIndexPageView.d.ts +0 -42
- package/dist/features/parts/components/PartsIndexPageView.js +0 -29
- package/dist/features/parts/components/PartsSearchBox.d.ts +0 -9
- package/dist/features/parts/components/PartsSearchBox.js +0 -136
- package/dist/features/parts/schemas/admin-edit.d.ts +0 -81
- package/dist/features/parts/schemas/admin-edit.js +0 -89
- package/dist/features/parts/schemas/firestore.d.ts +0 -925
- package/dist/features/parts/schemas/firestore.js +0 -384
- package/dist/features/parts/utils/colourway-match.d.ts +0 -62
- package/dist/features/parts/utils/colourway-match.js +0 -98
- package/dist/features/parts/utils/part-breakdown.d.ts +0 -53
- package/dist/features/parts/utils/part-breakdown.js +0 -77
- package/dist/features/products/components/AuctionDetailView.d.ts +0 -16
- package/dist/features/products/components/AuctionDetailView.js +0 -13
- package/dist/features/products/components/AuctionsIndexListing.d.ts +0 -8
- package/dist/features/products/components/AuctionsIndexListing.js +0 -170
- package/dist/features/products/components/MarketplacePrizeDrawCard.d.ts +0 -34
- package/dist/features/products/components/MarketplacePrizeDrawCard.js +0 -129
- package/dist/features/products/components/PrizeDrawBottomActions.d.ts +0 -6
- package/dist/features/products/components/PrizeDrawBottomActions.js +0 -6
- package/dist/features/products/components/PrizeDrawCollage.d.ts +0 -35
- package/dist/features/products/components/PrizeDrawCollage.js +0 -90
- package/dist/features/products/components/PrizeDrawDetailPageView.d.ts +0 -27
- package/dist/features/products/components/PrizeDrawDetailPageView.js +0 -136
- package/dist/features/products/components/PrizeDrawEntryActions.d.ts +0 -32
- package/dist/features/products/components/PrizeDrawEntryActions.js +0 -104
- package/dist/features/products/components/PrizeDrawItemsEditor.d.ts +0 -13
- package/dist/features/products/components/PrizeDrawItemsEditor.js +0 -101
- package/dist/features/products/components/PrizeDrawWinnerMappingView.d.ts +0 -14
- package/dist/features/products/components/PrizeDrawWinnerMappingView.js +0 -43
- package/dist/features/products/components/PrizeDrawsIndexListing.d.ts +0 -8
- package/dist/features/products/components/PrizeDrawsIndexListing.js +0 -108
- package/dist/features/products/components/PrizeDrawsListingView.d.ts +0 -15
- package/dist/features/products/components/PrizeDrawsListingView.js +0 -37
- package/dist/features/products/components/PrizeDrawsSection.d.ts +0 -15
- package/dist/features/products/components/PrizeDrawsSection.js +0 -49
- package/dist/features/seller/components/SellerArtView.d.ts +0 -15
- package/dist/features/seller/components/SellerArtView.js +0 -6
- package/dist/features/seller/components/SellerStickersView.d.ts +0 -15
- package/dist/features/seller/components/SellerStickersView.js +0 -6
- package/dist/features/stores/api/[storeSlug]/auctions/route.d.ts +0 -23
- package/dist/features/stores/api/[storeSlug]/auctions/route.js +0 -83
- package/dist/features/stores/components/StoreAuctionsListing.d.ts +0 -7
- package/dist/features/stores/components/StoreAuctionsListing.js +0 -138
- package/dist/features/stores/components/StoreAuctionsPageView.d.ts +0 -8
- package/dist/features/stores/components/StoreAuctionsPageView.js +0 -24
- package/dist/features/stores/components/StoreAuctionsView.d.ts +0 -17
- package/dist/features/stores/components/StoreAuctionsView.js +0 -5
- package/dist/features/stores/components/StorePrizeDrawsPageView.d.ts +0 -8
- package/dist/features/stores/components/StorePrizeDrawsPageView.js +0 -24
- /package/dist/_internal/server/features/{auctions → collector-drops}/actions.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{art → art-and-stickers}/ctas.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{art → art-and-stickers}/og.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{art → art-and-stickers}/og.js +0 -0
- /package/dist/_internal/shared/listing-types/{art → art-and-stickers}/seed-factory.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{art → art-and-stickers}/seed-factory.js +0 -0
- /package/dist/_internal/shared/listing-types/{auction → clearance}/ctas.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{auction → clearance}/ctas.js +0 -0
- /package/dist/_internal/shared/listing-types/{auction → clearance}/og.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{auction → clearance}/og.js +0 -0
- /package/dist/_internal/shared/listing-types/{auction → clearance}/seed-factory.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{auction → clearance}/seed-factory.js +0 -0
- /package/dist/_internal/shared/listing-types/{prize-draw → collector-drop}/ctas.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{prize-draw → collector-drop}/ctas.js +0 -0
- /package/dist/_internal/shared/listing-types/{prize-draw → collector-drop}/og.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{prize-draw → collector-drop}/og.js +0 -0
- /package/dist/_internal/shared/listing-types/{prize-draw → collector-drop}/seed-factory.d.ts +0 -0
- /package/dist/_internal/shared/listing-types/{prize-draw → collector-drop}/seed-factory.js +0 -0
- /package/dist/features/{auctions → collector-drops}/actions/index.d.ts +0 -0
- /package/dist/features/{auctions → collector-drops}/actions/index.js +0 -0
- /package/dist/features/{auctions → collector-drops}/components/CollapsibleBidHistory.d.ts +0 -0
- /package/dist/features/{auctions → collector-drops}/components/bid-detail-fields.d.ts +0 -0
- /package/dist/features/{auctions → collector-drops}/manifest.d.ts +0 -0
- /package/dist/features/{auctions → collector-drops}/types/index.js +0 -0
- /package/dist/{features/media → ui/components}/MediaAvatar.d.ts +0 -0
- /package/dist/{features/media → ui/components}/MediaLightbox.d.ts +0 -0
- /package/dist/{features/media → ui/components}/MediaVideo.d.ts +0 -0
- /package/dist/{_internal/shared/listing-types/stickers/og.d.ts → ui/types/image-crop.js} +0 -0
- /package/dist/{_internal/shared/listing-types/stickers/og.js → ui/types/quick-field.js} +0 -0
|
@@ -27,7 +27,22 @@ import { createRouteHandler } from "../../../../next/api/routeHandler.js";
|
|
|
27
27
|
*/
|
|
28
28
|
import { reviewRepository } from "../../repository/reviews.repository.js";
|
|
29
29
|
import { normalizeError } from "../../../../errors/normalize.js";
|
|
30
|
-
|
|
30
|
+
/*
|
|
31
|
+
* ── Review moderation is a PERMISSION, not a role ─────────────────────────────
|
|
32
|
+
*
|
|
33
|
+
* `isOwner || isModeratorUser(user) || isAdminUser(user)` stood here until
|
|
34
|
+
* 2026-11-08. Folding `moderator` into `employee` (A9) made the middle term
|
|
35
|
+
* true for every employee, so editing or deleting ANY buyer's review — and
|
|
36
|
+
* changing its moderation `status`, which the owner branch below is explicitly
|
|
37
|
+
* forbidden from doing — widened to every employee account.
|
|
38
|
+
*
|
|
39
|
+
* Owner's decision: keep the fold, gate on an explicit permission. PATCH asks
|
|
40
|
+
* for `admin:reviews:write`, DELETE for `admin:reviews:delete`: the existing
|
|
41
|
+
* keys, already in the `content_moderator` / `review_manager` /
|
|
42
|
+
* `trust_and_safety` presets, so granting review moderation is one click and
|
|
43
|
+
* NOT a consequence of being an employee.
|
|
44
|
+
*/
|
|
45
|
+
import { canModerateServer } from "../../../../_internal/server/features/auth/permissions.js";
|
|
31
46
|
const ERR_REVIEW_NOT_FOUND = "Review not found";
|
|
32
47
|
// ---- GET /api/reviews/[id] ---------------------------------------------------
|
|
33
48
|
export async function GET(_request, context) {
|
|
@@ -114,9 +129,17 @@ export const reviewItemPATCH = createRouteHandler({
|
|
|
114
129
|
if (!review)
|
|
115
130
|
return NextResponse.json({ success: false, error: ERR_REVIEW_NOT_FOUND }, { status: 404 });
|
|
116
131
|
const isOwner = review.userId === user.uid;
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
132
|
+
/*
|
|
133
|
+
* 🛑 Resolved even when `isOwner` is true, unlike every other gate in this
|
|
134
|
+
* sweep — and that is deliberate, not a missed optimisation. The value is
|
|
135
|
+
* load-bearing TWICE: once to admit the caller, and once below to decide
|
|
136
|
+
* whether `status` may move. An author who ALSO holds the grant must be
|
|
137
|
+
* able to moderate their own review; short-circuiting on ownership would
|
|
138
|
+
* silently pin their `status` edits and return 200, which is exactly the
|
|
139
|
+
* invisible-regression shape this rework exists to remove.
|
|
140
|
+
*/
|
|
141
|
+
const mayModerate = await canModerateServer(user?.uid, "reviews:moderate");
|
|
142
|
+
if (!isOwner && !mayModerate) {
|
|
120
143
|
return NextResponse.json({ success: false, error: "Forbidden" }, { status: 403 });
|
|
121
144
|
}
|
|
122
145
|
/*
|
|
@@ -125,9 +148,9 @@ export const reviewItemPATCH = createRouteHandler({
|
|
|
125
148
|
* edited by its author stays approved and is NOT sent back for
|
|
126
149
|
* re-moderation.
|
|
127
150
|
*/
|
|
128
|
-
const patch =
|
|
129
|
-
?
|
|
130
|
-
: body;
|
|
151
|
+
const patch = mayModerate
|
|
152
|
+
? body
|
|
153
|
+
: { ...body, status: review.status };
|
|
131
154
|
/*
|
|
132
155
|
* 🛑 `hasImages` is DERIVED and has to move with `images`, or the two
|
|
133
156
|
* disagree. It is a real queryable field (`hasImages` is `canFilter` in
|
|
@@ -163,9 +186,10 @@ export const reviewItemDELETE = createRouteHandler({
|
|
|
163
186
|
if (!review)
|
|
164
187
|
return NextResponse.json({ success: false, error: ERR_REVIEW_NOT_FOUND }, { status: 404 });
|
|
165
188
|
const isOwner = review.userId === user.uid;
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
189
|
+
// `reviews:remove` (`admin:reviews:delete`), not the PATCH key — deleting
|
|
190
|
+
// someone else's review is a separate grant from editing it.
|
|
191
|
+
const mayModerate = isOwner || (await canModerateServer(user?.uid, "reviews:remove"));
|
|
192
|
+
if (!mayModerate) {
|
|
169
193
|
return NextResponse.json({ success: false, error: "Forbidden" }, { status: 403 });
|
|
170
194
|
}
|
|
171
195
|
await reviewRepository.delete(id);
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import type { DashboardCard } from "../../../_internal/shared/features/dashboard/recent-entry";
|
|
2
3
|
export interface ReviewDetailPageViewProps {
|
|
3
4
|
id: string;
|
|
5
|
+
/** Admin-curated page-region cards (Phase 12). Omit for no extra content. */
|
|
6
|
+
pageRegionCards?: DashboardCard[];
|
|
4
7
|
}
|
|
5
|
-
export declare function ReviewDetailPageView({ id }: ReviewDetailPageViewProps): Promise<React.JSX.Element>;
|
|
8
|
+
export declare function ReviewDetailPageView({ id, pageRegionCards }: ReviewDetailPageViewProps): Promise<React.JSX.Element>;
|
|
@@ -6,11 +6,13 @@ import { Container, Grid, Row } from "../../../ui/components/Layout.js";
|
|
|
6
6
|
import { Div } from "../../../ui/components/Div.js";
|
|
7
7
|
import { Heading, Span, Text } from "../../../ui/components/Typography.js";
|
|
8
8
|
import { Main, Nav, Section } from "../../../ui/components/Semantic.js";
|
|
9
|
+
import { DetailViewShell } from "../../../ui/components/DetailViewShell.js";
|
|
9
10
|
import { ROUTES } from "../../../next/routing/route-map.js";
|
|
10
11
|
import { ReviewDetailShell } from "./ReviewDetailShell.js";
|
|
11
12
|
import { ReviewCard } from "./ReviewsList.js";
|
|
12
13
|
import { OwnerQuickActions } from "../../admin/components/OwnerQuickActions.js";
|
|
13
|
-
|
|
14
|
+
import { AdminComposableRegion } from "../../dashboard/components/AdminComposableRegion.js";
|
|
15
|
+
export async function ReviewDetailPageView({ id, pageRegionCards = [] }) {
|
|
14
16
|
// The review IS this page's subject — a read failure must surface rather than
|
|
15
17
|
// become the same `null` a removed review produces, which the "Review not
|
|
16
18
|
// found" branch below already handles.
|
|
@@ -46,5 +48,30 @@ export async function ReviewDetailPageView({ id }) {
|
|
|
46
48
|
]);
|
|
47
49
|
const sameProductReviews = sameProductDocs.filter((r) => r.id !== review.id).slice(0, 6);
|
|
48
50
|
const sameStoreReviews = sameStoreDocs.filter((r) => r.id !== review.id).slice(0, 6);
|
|
49
|
-
return (
|
|
51
|
+
return (_jsx(Main, { children: _jsx(DetailViewShell, { layout: "stacked", mainSlots: [
|
|
52
|
+
/* Breadcrumb */
|
|
53
|
+
() => (_jsx(Div, { paddingY: "y-xs-tall", className: "border-b border-neutral-100 bg-neutral-50", padding: "x-md", children: _jsxs(Nav, { layout: "flex", gap: "2xs", textSize: "xs", color: "faint", className: "mx-auto max-w-3xl", "aria-label": "Breadcrumb", children: [_jsx(Link, { href: String(ROUTES.HOME), className: "hover:text-primary transition-colors", children: "Home" }), _jsx(Span, { children: "/" }), _jsx(Link, { href: String(ROUTES.PUBLIC.REVIEWS), className: "hover:text-primary transition-colors", children: "Reviews" }), _jsx(Span, { children: "/" }), _jsx(Span, { className: "text-neutral-700 truncate max-w-[200px]", children: review.title ?? review.id })] }) })),
|
|
54
|
+
/*
|
|
55
|
+
🛑 The one resource here that is genuinely OWNER-visible rather than
|
|
56
|
+
admin-only, because it is the one with a real non-admin editor:
|
|
57
|
+
`/user/reviews/[id]/edit`, built in W3. So `ownerId` is passed and the
|
|
58
|
+
review's author sees the pencil on their own review — which is exactly
|
|
59
|
+
what "edit a review you have given without navigating to your reviews
|
|
60
|
+
page" asked for. Admins see it too, via the component's own term.
|
|
61
|
+
|
|
62
|
+
Every other resource in this sweep points at an `/admin/*` editor, so
|
|
63
|
+
passing an owner id there would hand a non-admin a pencil to a route
|
|
64
|
+
their role cannot open (Root Cause #37's dead-link shape).
|
|
65
|
+
*/
|
|
66
|
+
() => (_jsx(Row, { justify: "end", className: "mb-2", children: _jsx(OwnerQuickActions, { resource: "REVIEW", placement: "detail", ownerId: review.userId, recordLabel: review.title ?? review.id, editHref: String(ROUTES.USER.REVIEW_EDIT(review.id)) }) })),
|
|
67
|
+
() => _jsx(AdminComposableRegion, { pageId: "reviews-id", initialCards: pageRegionCards }),
|
|
68
|
+
() => (_jsx(ReviewDetailShell, { review: review, storeHref: storeSlug ? String(ROUTES.PUBLIC.STORE_DETAIL(storeSlug)) : null })),
|
|
69
|
+
], belowFold: [
|
|
70
|
+
sameProductReviews.length > 0
|
|
71
|
+
? () => (_jsx(Section, { padding: "y-lg", border: "subtle", className: "border-t", children: _jsxs(Container, { size: "sm", children: [_jsxs(Heading, { level: 2, className: "mb-4", size: "lg", weight: "semibold", children: ["More reviews for ", review.productTitle ?? "this product"] }), _jsx(Grid, { cols: "cardsWide", gap: "md", children: sameProductReviews.map((r) => (_jsx(ReviewCard, { review: r, context: "listing" }, r.id))) })] }) }))
|
|
72
|
+
: undefined,
|
|
73
|
+
sameStoreReviews.length > 0
|
|
74
|
+
? () => (_jsx(Section, { padding: "y-lg", border: "subtle", className: "border-t", children: _jsxs(Container, { size: "sm", children: [_jsxs(Heading, { level: 2, className: "mb-4", size: "lg", weight: "semibold", children: ["More reviews for ", review.storeName ?? "this store"] }), _jsx(Grid, { cols: "cardsWide", gap: "md", children: sameStoreReviews.map((r) => (_jsx(ReviewCard, { review: r, context: "store" }, r.id))) })] }) }))
|
|
75
|
+
: undefined,
|
|
76
|
+
] }) }));
|
|
50
77
|
}
|
|
@@ -26,8 +26,8 @@ import { IconButton } from "../../../ui/components/IconButton.js";
|
|
|
26
26
|
import { RichText } from "../../../ui/rich-text/RichText.js";
|
|
27
27
|
import { Section } from "../../../ui/components/Semantic.js";
|
|
28
28
|
import { StarRating } from "../../../ui/components/StarRating.js";
|
|
29
|
-
import { MediaImage } from "
|
|
30
|
-
import { MediaVideo } from "
|
|
29
|
+
import { MediaImage } from "../../../ui/components/MediaImage.js";
|
|
30
|
+
import { MediaVideo } from "../../../ui/components/MediaVideo.js";
|
|
31
31
|
import { maskName } from "../../../security/index.js";
|
|
32
32
|
import { getDefaultLocale } from "../../../core/baseline-resolver.js";
|
|
33
33
|
import { normalizeRichTextHtml } from "../../../utils/string.formatter.js";
|
|
@@ -7,7 +7,7 @@ import { Heading, Text } from "../../../ui/components/Typography.js";
|
|
|
7
7
|
import { Modal } from "../../../ui/components/Modal.js";
|
|
8
8
|
import { RichText } from "../../../ui/rich-text/RichText.js";
|
|
9
9
|
import { Row, Stack } from "../../../ui/components/Layout.js";
|
|
10
|
-
import { MediaImage } from "
|
|
10
|
+
import { MediaImage } from "../../../ui/components/MediaImage.js";
|
|
11
11
|
import { StarRating } from "../../../ui/components/StarRating.js";
|
|
12
12
|
import { maskName } from "../../../security/index.js";
|
|
13
13
|
import { THEMED_TEXT_SUCCESS } from "../../../_internal/shared/styles/themed.js";
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { SearchParamsRecord } from "../../../utils/search-params";
|
|
3
|
+
import type { DashboardCard } from "../../../_internal/shared/features/dashboard/recent-entry";
|
|
3
4
|
export interface ReviewsIndexPageViewProps {
|
|
4
5
|
searchParams?: SearchParamsRecord;
|
|
6
|
+
/** Admin-curated page-region cards (Phase 12). Omit for no extra content. */
|
|
7
|
+
pageRegionCards?: DashboardCard[];
|
|
5
8
|
}
|
|
6
|
-
export declare function ReviewsIndexPageView({ searchParams }: ReviewsIndexPageViewProps): Promise<React.JSX.Element>;
|
|
9
|
+
export declare function ReviewsIndexPageView({ searchParams, pageRegionCards }: ReviewsIndexPageViewProps): Promise<React.JSX.Element>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { SIEVE_OP, sieveFilter } from "../../../utils/sieve-builder.js";
|
|
3
3
|
import { reviewRepository } from "../../../repositories/index.js";
|
|
4
4
|
import { Container } from "../../../ui/components/Layout.js";
|
|
5
5
|
import { Heading } from "../../../ui/components/Typography.js";
|
|
@@ -8,6 +8,7 @@ import { AdSlot } from "../../homepage/components/AdSlot.js";
|
|
|
8
8
|
import { ReviewsIndexListing } from "./ReviewsIndexListing.js";
|
|
9
9
|
import { safeRead } from "../../../errors/safe-read.js";
|
|
10
10
|
import { firstParam } from "../../../utils/search-params.js";
|
|
11
|
+
import { AdminComposableRegion } from "../../dashboard/components/AdminComposableRegion.js";
|
|
11
12
|
function buildReviewFilters(params) {
|
|
12
13
|
const parts = ["status==approved"];
|
|
13
14
|
const rating = firstParam(params, "rating");
|
|
@@ -51,7 +52,7 @@ function buildReviewFilters(params) {
|
|
|
51
52
|
*/
|
|
52
53
|
return parts.join(",");
|
|
53
54
|
}
|
|
54
|
-
export async function ReviewsIndexPageView({ searchParams = {} }) {
|
|
55
|
+
export async function ReviewsIndexPageView({ searchParams = {}, pageRegionCards = [] }) {
|
|
55
56
|
const sort = firstParam(searchParams, "sort") || "-createdAt";
|
|
56
57
|
const page = Number(firstParam(searchParams, "page")) || 1;
|
|
57
58
|
const filters = buildReviewFilters(searchParams);
|
|
@@ -71,5 +72,5 @@ export async function ReviewsIndexPageView({ searchParams = {} }) {
|
|
|
71
72
|
hasMore: result.hasMore,
|
|
72
73
|
}
|
|
73
74
|
: undefined;
|
|
74
|
-
return (_jsx(Main, { children: _jsx(Section, { padding: "y-2xl", children: _jsxs(Container, { size: "xl", children: [_jsx(Heading, { level: 1, className: "mb-8", color: "primary", size: "3xl", weight: "semibold", children: "Reviews" }), _jsx(AdSlot, { id: "listing-sidebar-top", className: "mb-6" }), _jsx(ReviewsIndexListing, { initialData: initialData }), _jsx(AdSlot, { id: "listing-sidebar-bottom", className: "mt-8" })] }) }) }));
|
|
75
|
+
return (_jsx(Main, { children: _jsx(Section, { padding: "y-2xl", children: _jsxs(Container, { size: "xl", children: [_jsx(Heading, { level: 1, className: "mb-8", color: "primary", size: "3xl", weight: "semibold", children: "Reviews" }), _jsx(AdminComposableRegion, { pageId: "reviews", initialCards: pageRegionCards }), _jsx(AdSlot, { id: "listing-sidebar-top", className: "mb-6" }), _jsx(ReviewsIndexListing, { initialData: initialData }), _jsx(AdSlot, { id: "listing-sidebar-bottom", className: "mt-8" })] }) }) }));
|
|
75
76
|
}
|
|
@@ -7,7 +7,7 @@ import { RichText } from "../../../ui/rich-text/RichText.js";
|
|
|
7
7
|
import { Row, Stack } from "../../../ui/components/Layout.js";
|
|
8
8
|
import { Skeleton } from "../../../ui/components/Skeleton.js";
|
|
9
9
|
import { StarRating } from "../../../ui/components/StarRating.js";
|
|
10
|
-
import { MediaImage } from "
|
|
10
|
+
import { MediaImage } from "../../../ui/components/MediaImage.js";
|
|
11
11
|
import { maskName } from "../../../security/index.js";
|
|
12
12
|
import { getDefaultLocale } from "../../../core/baseline-resolver.js";
|
|
13
13
|
import { normalizeRichTextHtml } from "../../../utils/string.formatter.js";
|
|
@@ -24,7 +24,7 @@ export interface ReviewsListingPanelProps {
|
|
|
24
24
|
* review pages (shareable, SEO route segments read them back).
|
|
25
25
|
*
|
|
26
26
|
* `"local"` keeps that state in the component. Detail pages must use this: `useUrlTable`
|
|
27
|
-
* calls `router.replace()` on every change, which re-runs the whole product/
|
|
27
|
+
* calls `router.replace()` on every change, which re-runs the whole product/collector drop RSC
|
|
28
28
|
* tree just to turn a page of reviews.
|
|
29
29
|
*/
|
|
30
30
|
stateMode?: "url" | "local";
|
|
@@ -33,7 +33,7 @@ export interface ReviewDocument extends BaseDocument {
|
|
|
33
33
|
searchTxt?: string[];
|
|
34
34
|
productId: string;
|
|
35
35
|
productTitle: string;
|
|
36
|
-
/** Denormalized from the product at review-creation time — drives the correct detail-page link (e.g.
|
|
36
|
+
/** Denormalized from the product at review-creation time — drives the correct detail-page link (e.g. clearance items link to /clearance/[slug], not /products/[slug]). */
|
|
37
37
|
listingType?: ListingType;
|
|
38
38
|
storeId?: string;
|
|
39
39
|
storeName?: string;
|
|
@@ -100,9 +100,9 @@ export declare const reviewFirestoreSchema: z.ZodObject<{
|
|
|
100
100
|
toDate: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodDate>;
|
|
101
101
|
}, z.ZodTypeAny, "passthrough">>]>>;
|
|
102
102
|
}, "strip", z.ZodTypeAny, {
|
|
103
|
-
status: "pending" | "approved" | "rejected";
|
|
104
|
-
id: string;
|
|
105
103
|
title: string;
|
|
104
|
+
id: string;
|
|
105
|
+
status: "pending" | "approved" | "rejected";
|
|
106
106
|
createdAt: string | Date | z.objectOutputType<{
|
|
107
107
|
toDate: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodDate>;
|
|
108
108
|
}, z.ZodTypeAny, "passthrough">;
|
|
@@ -148,9 +148,9 @@ export declare const reviewFirestoreSchema: z.ZodObject<{
|
|
|
148
148
|
toDate: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodDate>;
|
|
149
149
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
150
150
|
}, {
|
|
151
|
-
status: "pending" | "approved" | "rejected";
|
|
152
|
-
id: string;
|
|
153
151
|
title: string;
|
|
152
|
+
id: string;
|
|
153
|
+
status: "pending" | "approved" | "rejected";
|
|
154
154
|
createdAt: string | Date | z.objectInputType<{
|
|
155
155
|
toDate: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodDate>;
|
|
156
156
|
}, z.ZodTypeAny, "passthrough">;
|
|
@@ -216,16 +216,16 @@ export declare const reviewVideoSchema: z.ZodObject<{
|
|
|
216
216
|
trimEnd: z.ZodOptional<z.ZodNumber>;
|
|
217
217
|
}, "strip", z.ZodTypeAny, {
|
|
218
218
|
url: string;
|
|
219
|
-
thumbnailUrl?: string | undefined;
|
|
220
|
-
duration?: number | undefined;
|
|
221
219
|
trimEnd?: number | undefined;
|
|
222
220
|
trimStart?: number | undefined;
|
|
223
|
-
}, {
|
|
224
|
-
url: string;
|
|
225
221
|
thumbnailUrl?: string | undefined;
|
|
226
222
|
duration?: number | undefined;
|
|
223
|
+
}, {
|
|
224
|
+
url: string;
|
|
227
225
|
trimEnd?: number | undefined;
|
|
228
226
|
trimStart?: number | undefined;
|
|
227
|
+
thumbnailUrl?: string | undefined;
|
|
228
|
+
duration?: number | undefined;
|
|
229
229
|
}>;
|
|
230
230
|
/**
|
|
231
231
|
* Base Zod schema for a review.
|
|
@@ -271,16 +271,16 @@ export declare const reviewSchema: z.ZodObject<{
|
|
|
271
271
|
trimEnd: z.ZodOptional<z.ZodNumber>;
|
|
272
272
|
}, "strip", z.ZodTypeAny, {
|
|
273
273
|
url: string;
|
|
274
|
-
thumbnailUrl?: string | undefined;
|
|
275
|
-
duration?: number | undefined;
|
|
276
274
|
trimEnd?: number | undefined;
|
|
277
275
|
trimStart?: number | undefined;
|
|
278
|
-
}, {
|
|
279
|
-
url: string;
|
|
280
276
|
thumbnailUrl?: string | undefined;
|
|
281
277
|
duration?: number | undefined;
|
|
278
|
+
}, {
|
|
279
|
+
url: string;
|
|
282
280
|
trimEnd?: number | undefined;
|
|
283
281
|
trimStart?: number | undefined;
|
|
282
|
+
thumbnailUrl?: string | undefined;
|
|
283
|
+
duration?: number | undefined;
|
|
284
284
|
}>>;
|
|
285
285
|
status: z.ZodEnum<["pending", "approved", "rejected"]>;
|
|
286
286
|
helpfulCount: z.ZodOptional<z.ZodNumber>;
|
|
@@ -290,20 +290,20 @@ export declare const reviewSchema: z.ZodObject<{
|
|
|
290
290
|
createdAt: z.ZodOptional<z.ZodString>;
|
|
291
291
|
updatedAt: z.ZodOptional<z.ZodString>;
|
|
292
292
|
}, "strip", z.ZodTypeAny, {
|
|
293
|
-
status: "pending" | "approved" | "rejected";
|
|
294
293
|
id: string;
|
|
294
|
+
status: "pending" | "approved" | "rejected";
|
|
295
295
|
productId: string;
|
|
296
296
|
userId: string;
|
|
297
297
|
userName: string;
|
|
298
298
|
rating: 3 | 1 | 2 | 4 | 5;
|
|
299
|
+
title?: string | undefined;
|
|
299
300
|
video?: {
|
|
300
301
|
url: string;
|
|
301
|
-
thumbnailUrl?: string | undefined;
|
|
302
|
-
duration?: number | undefined;
|
|
303
302
|
trimEnd?: number | undefined;
|
|
304
303
|
trimStart?: number | undefined;
|
|
304
|
+
thumbnailUrl?: string | undefined;
|
|
305
|
+
duration?: number | undefined;
|
|
305
306
|
} | undefined;
|
|
306
|
-
title?: string | undefined;
|
|
307
307
|
images?: {
|
|
308
308
|
url: string;
|
|
309
309
|
thumbnailUrl?: string | undefined;
|
|
@@ -321,20 +321,20 @@ export declare const reviewSchema: z.ZodObject<{
|
|
|
321
321
|
storeName?: string | undefined;
|
|
322
322
|
storeSlug?: string | undefined;
|
|
323
323
|
}, {
|
|
324
|
-
status: "pending" | "approved" | "rejected";
|
|
325
324
|
id: string;
|
|
325
|
+
status: "pending" | "approved" | "rejected";
|
|
326
326
|
productId: string;
|
|
327
327
|
userId: string;
|
|
328
328
|
userName: string;
|
|
329
329
|
rating: 3 | 1 | 2 | 4 | 5;
|
|
330
|
+
title?: string | undefined;
|
|
330
331
|
video?: {
|
|
331
332
|
url: string;
|
|
332
|
-
thumbnailUrl?: string | undefined;
|
|
333
|
-
duration?: number | undefined;
|
|
334
333
|
trimEnd?: number | undefined;
|
|
335
334
|
trimStart?: number | undefined;
|
|
335
|
+
thumbnailUrl?: string | undefined;
|
|
336
|
+
duration?: number | undefined;
|
|
336
337
|
} | undefined;
|
|
337
|
-
title?: string | undefined;
|
|
338
338
|
images?: {
|
|
339
339
|
url: string;
|
|
340
340
|
thumbnailUrl?: string | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use server";
|
|
2
|
-
import {
|
|
2
|
+
import { SIEVE_OP, sieveFilter } from "../../../utils/sieve-builder.js";
|
|
3
3
|
import { scammerRepository } from "../repository/scammer.repository.js";
|
|
4
4
|
import { safeRead } from "../../../errors/safe-read.js";
|
|
5
5
|
import { userRepository } from "../../auth/repository/user.repository.js";
|
|
@@ -15,6 +15,7 @@ import { apiClient } from "../../../http/index.js";
|
|
|
15
15
|
import { ACCOUNT_ENDPOINTS } from "../../../constants/api-endpoints.js";
|
|
16
16
|
import { SCAM_CATEGORIES } from "../constants/scam-types.js";
|
|
17
17
|
import { ROUTES } from "../../../next/routing/route-map.js";
|
|
18
|
+
import { getBrandName } from "../../../core/brand-resolver.js";
|
|
18
19
|
const CATEGORY_ICONS = {
|
|
19
20
|
price_manipulation: _jsx(IndianRupee, { className: "h-5 w-5" }),
|
|
20
21
|
social_engineering: _jsx(UserX, { className: "h-5 w-5" }),
|
|
@@ -34,5 +35,5 @@ export function ScamAwarenessModal({ isOpen, onAcknowledged }) {
|
|
|
34
35
|
onAcknowledged();
|
|
35
36
|
},
|
|
36
37
|
});
|
|
37
|
-
return (_jsx(Modal, { isOpen: isOpen, onClose: () => { }, showCloseButton: false, size: "lg", title: _jsxs(Row, { gap: "sm", align: "center", children: [_jsx(Shield, { className: "h-5 w-5 text-[color:var(--appkit-color-warning,theme(colors.amber.500))]" }),
|
|
38
|
+
return (_jsx(Modal, { isOpen: isOpen, onClose: () => { }, showCloseButton: false, size: "lg", title: _jsxs(Row, { gap: "sm", align: "center", children: [_jsx(Shield, { className: "h-5 w-5 text-[color:var(--appkit-color-warning,theme(colors.amber.500))]" }), _jsxs(Span, { children: ["Before you start \u2014 Stay Safe on ", getBrandName()] })] }), actions: _jsx(Row, { gap: "sm", justify: "end", className: "w-full", children: _jsx(Button, { variant: "primary", size: "md", disabled: !checked || mutation.isPending, isLoading: mutation.isPending, onClick: () => mutation.mutate(), children: mutation.isPending ? "Saving…" : `Continue to ${getBrandName()} →` }) }), children: _jsxs(Stack, { gap: "md", children: [_jsxs(Text, { variant: "secondary", size: "sm", children: [getBrandName(), " connects you with verified sellers, but collectibles markets attract scams. Take 60 seconds to learn the most common patterns \u2014 it could save your money."] }), _jsx(Div, { layout: "grid", gap: "3", className: "grid-cols-1 sm:grid-cols-2", children: SCAM_CATEGORIES.map((cat) => (_jsxs(Div, { layout: "flex", gap: "3", rounded: "lg", padding: "sm", className: "border border-[color:var(--appkit-color-border,theme(colors.zinc.200))] bg-[color:var(--appkit-color-surface,theme(colors.zinc.50))]", children: [_jsx(Span, { layout: "flex-center", className: "mt-0.5 h-8 w-8 shrink-0 bg-[color:var(--appkit-color-warning,theme(colors.amber.500))]/10 text-[color:var(--appkit-color-warning,theme(colors.amber.600))]", rounded: "md", children: CATEGORY_ICONS[cat.id] ?? _jsx(Shield, { className: "h-4 w-4" }) }), _jsxs(Stack, { gap: "none", children: [_jsx(Text, { weight: "semibold", size: "sm", children: cat.label }), _jsx(Text, { variant: "secondary", className: "leading-relaxed", size: "xs", children: cat.description })] })] }, cat.id))) }), _jsxs(Row, { textSize: "sm", gap: "md", wrap: true, children: [_jsx(TextLink, { variant: "bare", href: String(ROUTES.PUBLIC.SCAM_TYPES), target: "_blank", rel: "noopener noreferrer", className: "text-[color:var(--appkit-color-primary,theme(colors.blue.600))] hover:underline", children: "See all 27 scam types \u2192" }), _jsx(TextLink, { variant: "bare", href: String(ROUTES.PUBLIC.SCAM_FAQS), target: "_blank", rel: "noopener noreferrer", className: "text-[color:var(--appkit-color-primary,theme(colors.blue.600))] hover:underline", children: "Common scam FAQs \u2192" })] }), mutation.isError && (_jsx(Text, { variant: "error", size: "sm", children: "Something went wrong \u2014 please try again." })), _jsx(Checkbox, { id: "scam-awareness-ack", checked: checked, onChange: (e) => setChecked(e.target.checked), label: "I have read the above and understand the risks of buying and selling collectibles online." })] }) }));
|
|
38
39
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { ScammerDocument, ScammerIncidentDocument, ScammerCommentDocument } from "../schemas/firestore";
|
|
3
|
+
import type { DashboardCard } from "../../../_internal/shared/features/dashboard/recent-entry";
|
|
3
4
|
export interface ScamProfileViewProps {
|
|
4
5
|
scammer: ScammerDocument;
|
|
5
6
|
/** When true the contest/report buttons are direct links; otherwise show sign-in prompts. */
|
|
@@ -8,5 +9,7 @@ export interface ScamProfileViewProps {
|
|
|
8
9
|
comments?: ScammerCommentDocument[];
|
|
9
10
|
relatedScammers?: ScammerDocument[];
|
|
10
11
|
similarScamReports?: ScammerDocument[];
|
|
12
|
+
/** Admin-curated page-region cards (Phase 12). Omit for no extra content. */
|
|
13
|
+
pageRegionCards?: DashboardCard[];
|
|
11
14
|
}
|
|
12
|
-
export declare function ScamProfileView({ scammer, isAuthenticated, incidents, comments, relatedScammers, similarScamReports, }: ScamProfileViewProps): React.JSX.Element;
|
|
15
|
+
export declare function ScamProfileView({ scammer, isAuthenticated, incidents, comments, relatedScammers, similarScamReports, pageRegionCards, }: ScamProfileViewProps): React.JSX.Element;
|
|
@@ -15,10 +15,13 @@ import { Div } from "../../../ui/components/Div.js";
|
|
|
15
15
|
import { EmptyState } from "../../../ui/components/EmptyState.js";
|
|
16
16
|
import { Heading, Span, Text } from "../../../ui/components/Typography.js";
|
|
17
17
|
import { Main, Section } from "../../../ui/components/Semantic.js";
|
|
18
|
-
import { MediaImage } from "
|
|
18
|
+
import { MediaImage } from "../../../ui/components/MediaImage.js";
|
|
19
|
+
import { withBrand } from "../../../core/brand-text.js";
|
|
19
20
|
import { SCAM_PLATFORM_LABELS, SCAMMER_STATUS_LABELS, SOCIAL_PLATFORM_LABELS, CONTEST_TYPE_LABELS, } from "../schemas/firestore.js";
|
|
20
21
|
import { SCAM_TYPE_LABELS, getScamType } from "../constants/scam-types.js";
|
|
21
22
|
import { ROUTES } from "../../../next/routing/route-map.js";
|
|
23
|
+
import { getBrandName } from "../../../core/brand-resolver.js";
|
|
24
|
+
import { AdminComposableRegion } from "../../dashboard/components/AdminComposableRegion.js";
|
|
22
25
|
function formatDate(d) {
|
|
23
26
|
if (!d)
|
|
24
27
|
return "";
|
|
@@ -42,10 +45,10 @@ function statusVariant(status) {
|
|
|
42
45
|
}
|
|
43
46
|
// ─── Sub-components ───────────────────────────────────────────────────────────
|
|
44
47
|
function ScammerHeaderCard({ scammer }) {
|
|
45
|
-
return (_jsx(Card, { variant: "elevated", padding: "lg", children: _jsxs(Stack, { gap: "md", children: [_jsx(Disclaimer, { id: "scam-registry" }), _jsxs(Row, { justify: "between", gap: "md", align: "start", wrap: true, children: [_jsxs(Stack, { gap: "xs", children: [_jsx(Heading, { level: 1, weight: "bold", size: "2xl", children: scammer.displayNames[0] }), scammer.displayNames.length > 1 && (_jsxs(Text, { variant: "secondary", size: "sm", children: ["Also known as: ", scammer.displayNames.slice(1).join(", ")] }))] }), _jsx(Badge, { variant: statusVariant(scammer.status), children: SCAMMER_STATUS_LABELS[scammer.status] ?? scammer.status })] }), _jsxs(Row, { gap: "xs", wrap: true, children: [_jsx(Badge, { variant: "warning", children: SCAM_TYPE_LABELS[scammer.scamType] ?? scammer.scamType }), _jsxs(Badge, { variant: "default", children: ["via ", SCAM_PLATFORM_LABELS[scammer.scamPlatform] ?? scammer.scamPlatform] }), scammer.tags.includes("repeat_offender") && (_jsx(Badge, { variant: "danger", children: "Repeat Offender" }))] }), _jsxs(Row, { gap: "md", wrap: true, children: [_jsxs(Text, { variant: "secondary", layout: "flex", gap: "1.5", size: "sm", children: [_jsx(Eye, { className: "h-4 w-4" }), scammer.views, " views"] }), _jsxs(Text, { variant: "secondary", layout: "flex", gap: "1.5", size: "sm", children: [_jsx(Users, { className: "h-4 w-4" }), scammer.incidentCount + 1, " victim", scammer.incidentCount !== 0 ? "s" : "", " reported"] }), _jsxs(Text, { variant: "secondary", layout: "flex", gap: "1.5", size: "sm", children: [_jsx(Calendar, { className: "h-4 w-4" }), "Reported ", formatDate(scammer.createdAt)] }), scammer.amountLost ? (_jsxs(Text, { className: "text-[color:var(--appkit-color-danger,theme(colors.red.600))]", size: "sm", weight: "medium", children: [formatCurrency(scammer.amountLost), " lost (primary incident)"] })) : null] })] }) }));
|
|
48
|
+
return (_jsx(Card, { variant: "elevated", padding: "lg", children: _jsxs(Stack, { gap: "md", children: [_jsx(Disclaimer, { id: "scam-registry" }), _jsxs(Row, { justify: "between", gap: "md", align: "start", wrap: true, children: [_jsxs(Stack, { gap: "xs", children: [_jsx(Heading, { level: 1, weight: "bold", size: "2xl", children: scammer.displayNames[0] }), scammer.displayNames.length > 1 && (_jsxs(Text, { variant: "secondary", size: "sm", children: ["Also known as: ", scammer.displayNames.slice(1).join(", ")] }))] }), _jsx(Badge, { variant: statusVariant(scammer.status), children: SCAMMER_STATUS_LABELS[scammer.status] ?? scammer.status })] }), _jsxs(Row, { gap: "xs", wrap: true, children: [_jsx(Badge, { variant: "warning", children: SCAM_TYPE_LABELS[scammer.scamType] ?? scammer.scamType }), _jsxs(Badge, { variant: "default", children: ["via ", withBrand(SCAM_PLATFORM_LABELS[scammer.scamPlatform] ?? scammer.scamPlatform)] }), scammer.tags.includes("repeat_offender") && (_jsx(Badge, { variant: "danger", children: "Repeat Offender" }))] }), _jsxs(Row, { gap: "md", wrap: true, children: [_jsxs(Text, { variant: "secondary", layout: "flex", gap: "1.5", size: "sm", children: [_jsx(Eye, { className: "h-4 w-4" }), scammer.views, " views"] }), _jsxs(Text, { variant: "secondary", layout: "flex", gap: "1.5", size: "sm", children: [_jsx(Users, { className: "h-4 w-4" }), scammer.incidentCount + 1, " victim", scammer.incidentCount !== 0 ? "s" : "", " reported"] }), _jsxs(Text, { variant: "secondary", layout: "flex", gap: "1.5", size: "sm", children: [_jsx(Calendar, { className: "h-4 w-4" }), "Reported ", formatDate(scammer.createdAt)] }), scammer.amountLost ? (_jsxs(Text, { className: "text-[color:var(--appkit-color-danger,theme(colors.red.600))]", size: "sm", weight: "medium", children: [formatCurrency(scammer.amountLost), " lost (primary incident)"] })) : null] })] }) }));
|
|
46
49
|
}
|
|
47
50
|
function ScammerIncidentsSection({ incidents }) {
|
|
48
|
-
return (_jsxs(Stack, { gap: "sm", children: [_jsx(Row, { justify: "between", align: "center", children: _jsxs(Heading, { level: 2, size: "base", weight: "semibold", children: ["Additional Incidents", incidents.length > 0 && ` (${incidents.length})`] }) }), incidents.length === 0 ? (_jsx(EmptyState, { icon: _jsx(FileText, { className: "h-8 w-8" }), title: "No additional incidents yet", description: "Other victims' verified reports linked to this profile will appear here." })) : (_jsx(Stack, { gap: "sm", children: incidents.map((inc) => (_jsx(Card, { variant: "outlined", padding: "md", children: _jsxs(Stack, { gap: "xs", children: [_jsxs(Row, { justify: "between", align: "start", gap: "sm", wrap: true, children: [_jsxs(Row, { gap: "xs", wrap: true, children: [_jsx(Badge, { variant: "warning", children: SCAM_TYPE_LABELS[inc.scamType] ?? inc.scamType }), _jsxs(Badge, { variant: "default", children: ["via ", SCAM_PLATFORM_LABELS[inc.scamPlatform] ?? inc.scamPlatform] })] }), _jsx(Text, { variant: "secondary", size: "xs", children: formatDate(inc.createdAt) })] }), inc.itemInvolved && (_jsxs(Text, { variant: "secondary", size: "xs", children: ["Item: ", inc.itemInvolved] })), inc.amountLost ? (_jsxs(Text, { className: "text-[color:var(--appkit-color-danger,theme(colors.red.600))]", size: "xs", weight: "medium", children: [formatCurrency(inc.amountLost), " lost"] })) : null, _jsx(Text, { variant: "secondary", className: "leading-relaxed", size: "sm", children: inc.description.length > 200
|
|
51
|
+
return (_jsxs(Stack, { gap: "sm", children: [_jsx(Row, { justify: "between", align: "center", children: _jsxs(Heading, { level: 2, size: "base", weight: "semibold", children: ["Additional Incidents", incidents.length > 0 && ` (${incidents.length})`] }) }), incidents.length === 0 ? (_jsx(EmptyState, { icon: _jsx(FileText, { className: "h-8 w-8" }), title: "No additional incidents yet", description: "Other victims' verified reports linked to this profile will appear here." })) : (_jsx(Stack, { gap: "sm", children: incidents.map((inc) => (_jsx(Card, { variant: "outlined", padding: "md", children: _jsxs(Stack, { gap: "xs", children: [_jsxs(Row, { justify: "between", align: "start", gap: "sm", wrap: true, children: [_jsxs(Row, { gap: "xs", wrap: true, children: [_jsx(Badge, { variant: "warning", children: SCAM_TYPE_LABELS[inc.scamType] ?? inc.scamType }), _jsxs(Badge, { variant: "default", children: ["via ", withBrand(SCAM_PLATFORM_LABELS[inc.scamPlatform] ?? inc.scamPlatform)] })] }), _jsx(Text, { variant: "secondary", size: "xs", children: formatDate(inc.createdAt) })] }), inc.itemInvolved && (_jsxs(Text, { variant: "secondary", size: "xs", children: ["Item: ", inc.itemInvolved] })), inc.amountLost ? (_jsxs(Text, { className: "text-[color:var(--appkit-color-danger,theme(colors.red.600))]", size: "xs", weight: "medium", children: [formatCurrency(inc.amountLost), " lost"] })) : null, _jsx(Text, { variant: "secondary", className: "leading-relaxed", size: "sm", children: inc.description.length > 200
|
|
49
52
|
? `${inc.description.slice(0, 200).trimEnd()}…`
|
|
50
53
|
: inc.description }), _jsxs(Text, { variant: "secondary", size: "xs", children: ["Reported by: ", inc.reportedByAnon ? "Anonymous" : "Verified victim"] })] }) }, inc.id))) }))] }));
|
|
51
54
|
}
|
|
@@ -54,9 +57,9 @@ function ScammerCommentsSection({ comments, isAuthenticated, scammerId, }) {
|
|
|
54
57
|
return (_jsxs(Stack, { gap: "sm", children: [_jsxs(Row, { justify: "between", align: "center", children: [_jsxs(Heading, { level: 2, size: "base", weight: "semibold", children: ["Community Discussion", comments.length > 0 && ` (${comments.length})`] }), isAuthenticated ? (_jsx(Link, { href: String(ROUTES.PUBLIC.SCAM_REPORT), className: "text-[length:var(--appkit-text-xs)] text-[color:var(--appkit-color-primary,theme(colors.blue.600))] hover:underline", children: "Leave a comment" })) : (_jsx(Link, { href: commentLoginHref, className: "text-[length:var(--appkit-text-xs)] text-[color:var(--appkit-color-primary,theme(colors.blue.600))] hover:underline", children: "Sign in to comment" }))] }), comments.length === 0 ? (_jsx(EmptyState, { icon: _jsx(MessageSquare, { className: "h-8 w-8" }), title: "No comments yet", description: "Community comments and victim testimonials appear here." })) : (_jsx(Stack, { gap: "sm", children: comments.map((c) => (_jsx(Card, { variant: "flat", padding: "md", children: _jsxs(Stack, { gap: "xs", children: [_jsxs(Row, { justify: "between", align: "center", gap: "sm", children: [_jsxs(Row, { gap: "xs", align: "center", children: [_jsx(Text, { size: "sm", weight: "medium", children: c.authorDisplayName }), c.authorRole !== "user" && (_jsx(Badge, { variant: "default", className: "text-[10px]", children: c.authorRole })), c.isAccused && c.isAccusedVerified && (_jsx(Badge, { variant: "warning", className: "text-[10px]", children: "Accused" })), c.isVerifiedVictim && (_jsx(Badge, { variant: "success", className: "text-[10px]", children: "Verified Victim" }))] }), _jsx(Text, { variant: "secondary", size: "xs", children: formatDate(c.createdAt) })] }), _jsx(Text, { variant: "secondary", className: "leading-relaxed", size: "sm", children: c.body })] }) }, c.id))) }))] }));
|
|
55
58
|
}
|
|
56
59
|
function ScammerActionsColumn({ scammer, isAuthenticated, reportHref, contestLoginHref, }) {
|
|
57
|
-
return (_jsxs(Stack, { gap: "md", children: [_jsxs(Card, { variant: "elevated", padding: "md", children: [_jsx(CardHeader, { children: _jsx(Heading, { level: 3, className: "tracking-wide", size: "sm", weight: "semibold", transform: "uppercase", children: "Actions" }) }), _jsx(CardBody, { children: _jsxs(Stack, { gap: "sm", children: [isAuthenticated ? (_jsxs(Link, { href: reportHref, className: CLS_OUTLINE_BTN, children: [_jsx(AlertOctagon, { className: "h-4 w-4 text-[color:var(--appkit-color-danger,theme(colors.red.500))]" }), "Report another incident"] })) : (_jsxs(Link, { href: `${String(ROUTES.AUTH.LOGIN)}?redirect=${encodeURIComponent(reportHref)}`, className: CLS_OUTLINE_BTN, children: [_jsx(AlertOctagon, { className: "h-4 w-4 text-[color:var(--appkit-color-danger,theme(colors.red.500))]" }), "Sign in to report an incident"] })), isAuthenticated ? (_jsxs(Link, { href: `/scams/${scammer.id}/contest`, className: CLS_OUTLINE_BTN, children: [_jsx(Flag, { className: "h-4 w-4 text-[color:var(--appkit-color-warning,theme(colors.amber.500))]" }), "Contest this profile"] })) : (_jsxs(Link, { href: contestLoginHref, className: "appkit-button appkit-button--ghost appkit-button--md flex w-full items-center gap-[var(--appkit-space-2)]", children: [_jsx(Flag, { className: "h-4 w-4" }), "Sign in to contest"] })), _jsx(Text, { variant: "secondary", size: "xs", children: "All contest submissions are reviewed by our moderation team before any changes are made." })] }) })] }), _jsxs(Card, { variant: "outlined", padding: "md", children: [_jsx(CardHeader, { children: _jsx(Heading, { level: 3, className: "tracking-wide", size: "sm", weight: "semibold", transform: "uppercase", children: "Contest Options" }) }), _jsx(CardBody, { children: _jsx(Stack, { gap: "xs", as: "ul", children: Object.entries(CONTEST_TYPE_LABELS).map(([, label]) => (_jsxs(Row, { gap: "sm", align: "start", as: "li", children: [_jsx(Span, { className: "mt-1.5 h-1.5 w-1.5 shrink-0 bg-[color:var(--appkit-color-border,theme(colors.zinc.300))]", rounded: "full" }), _jsx(Text, { variant: "secondary", size: "xs", children: label })] }, label))) }) })] }), scammer.verifiedAt && (_jsx(Alert, { variant: "success", compact: true, children: _jsxs(Row, { gap: "xs", align: "center", children: [_jsx(Shield, { className: "h-3.5 w-3.5 shrink-0" }), _jsxs(Text, { size: "xs", weight: "medium", children: ["Verified by
|
|
60
|
+
return (_jsxs(Stack, { gap: "md", children: [_jsxs(Card, { variant: "elevated", padding: "md", children: [_jsx(CardHeader, { children: _jsx(Heading, { level: 3, className: "tracking-wide", size: "sm", weight: "semibold", transform: "uppercase", children: "Actions" }) }), _jsx(CardBody, { children: _jsxs(Stack, { gap: "sm", children: [isAuthenticated ? (_jsxs(Link, { href: reportHref, className: CLS_OUTLINE_BTN, children: [_jsx(AlertOctagon, { className: "h-4 w-4 text-[color:var(--appkit-color-danger,theme(colors.red.500))]" }), "Report another incident"] })) : (_jsxs(Link, { href: `${String(ROUTES.AUTH.LOGIN)}?redirect=${encodeURIComponent(reportHref)}`, className: CLS_OUTLINE_BTN, children: [_jsx(AlertOctagon, { className: "h-4 w-4 text-[color:var(--appkit-color-danger,theme(colors.red.500))]" }), "Sign in to report an incident"] })), isAuthenticated ? (_jsxs(Link, { href: `/scams/${scammer.id}/contest`, className: CLS_OUTLINE_BTN, children: [_jsx(Flag, { className: "h-4 w-4 text-[color:var(--appkit-color-warning,theme(colors.amber.500))]" }), "Contest this profile"] })) : (_jsxs(Link, { href: contestLoginHref, className: "appkit-button appkit-button--ghost appkit-button--md flex w-full items-center gap-[var(--appkit-space-2)]", children: [_jsx(Flag, { className: "h-4 w-4" }), "Sign in to contest"] })), _jsx(Text, { variant: "secondary", size: "xs", children: "All contest submissions are reviewed by our moderation team before any changes are made." })] }) })] }), _jsxs(Card, { variant: "outlined", padding: "md", children: [_jsx(CardHeader, { children: _jsx(Heading, { level: 3, className: "tracking-wide", size: "sm", weight: "semibold", transform: "uppercase", children: "Contest Options" }) }), _jsx(CardBody, { children: _jsx(Stack, { gap: "xs", as: "ul", children: Object.entries(CONTEST_TYPE_LABELS).map(([, label]) => (_jsxs(Row, { gap: "sm", align: "start", as: "li", children: [_jsx(Span, { className: "mt-1.5 h-1.5 w-1.5 shrink-0 bg-[color:var(--appkit-color-border,theme(colors.zinc.300))]", rounded: "full" }), _jsx(Text, { variant: "secondary", size: "xs", children: label })] }, label))) }) })] }), scammer.verifiedAt && (_jsx(Alert, { variant: "success", compact: true, children: _jsxs(Row, { gap: "xs", align: "center", children: [_jsx(Shield, { className: "h-3.5 w-3.5 shrink-0" }), _jsxs(Text, { size: "xs", weight: "medium", children: ["Verified by ", getBrandName(), " moderation on ", formatDate(scammer.verifiedAt)] })] }) }))] }));
|
|
58
61
|
}
|
|
59
|
-
export function ScamProfileView({ scammer, isAuthenticated, incidents = [], comments = [], relatedScammers = [], similarScamReports = [], }) {
|
|
62
|
+
export function ScamProfileView({ scammer, isAuthenticated, incidents = [], comments = [], relatedScammers = [], similarScamReports = [], pageRegionCards = [], }) {
|
|
60
63
|
const reportHref = String(ROUTES.PUBLIC.SCAM_REPORT);
|
|
61
64
|
const registryHref = String(ROUTES.PUBLIC.SCAMS);
|
|
62
65
|
const contestLoginHref = `${String(ROUTES.AUTH.LOGIN)}?redirect=${encodeURIComponent(`/scams/${scammer.id}`)}`;
|
|
@@ -65,5 +68,5 @@ export function ScamProfileView({ scammer, isAuthenticated, incidents = [], comm
|
|
|
65
68
|
{ label: "Home", href: "/" },
|
|
66
69
|
{ label: "Scam Registry", href: registryHref },
|
|
67
70
|
{ label: scammer.displayNames[0] ?? "Profile" },
|
|
68
|
-
] }) }) }), _jsx(Section, { padding: "y-2xl", children: _jsx(Container, { size: "xl", children: _jsxs(Grid, { cols: "twoThird", gap: "lg", children: [_jsxs(Stack, { gap: "lg", children: [_jsx(ScammerHeaderCard, { scammer: scammer }), (scammer.phones.length > 0 || scammer.upiIds.length > 0 || scammer.emails.length > 0) && (_jsxs(Stack, { gap: "sm", children: [_jsx(Heading, { level: 2, size: "base", weight: "semibold", children: "Contact Identifiers" }), _jsxs(Grid, { cols: 2, gap: "sm", children: [scammer.phones.map((p) => (_jsx(IdentityChip, { label: "Phone", value: p, icon: _jsx(Phone, { className: "h-4 w-4" }) }, p))), scammer.upiIds.map((u) => (_jsx(IdentityChip, { label: "UPI ID", value: u, icon: _jsx(Wallet, { className: "h-4 w-4" }) }, u))), scammer.emails.map((e) => (_jsx(IdentityChip, { label: "Email", value: e, icon: _jsx(Mail, { className: "h-4 w-4" }) }, e)))] })] })), scammer.socialMedia.length > 0 && (_jsxs(Stack, { gap: "sm", children: [_jsx(Heading, { level: 2, size: "base", weight: "semibold", children: "Social Media Profiles" }), _jsx(Stack, { gap: "xs", children: scammer.socialMedia.map((sm, i) => (_jsxs(Row, { gap: "sm", align: "center", children: [_jsx(ExternalLink, { className: "h-4 w-4 shrink-0 text-[color:var(--appkit-color-text-muted,theme(colors.zinc.400))]" }), _jsxs(Text, { size: "sm", weight: "medium", children: [SOCIAL_PLATFORM_LABELS[sm.platform] ?? sm.platform, ":"] }), sm.url ? (_jsx(Anchor, { href: sm.url, size: "sm", children: sm.handle })) : (_jsx(Text, { variant: "secondary", size: "sm", children: sm.handle }))] }, i))) })] })), scammer.itemInvolved && (_jsxs(Stack, { gap: "xs", children: [_jsx(Heading, { level: 2, size: "base", weight: "semibold", children: "Item Involved" }), _jsx(Text, { variant: "secondary", size: "sm", children: scammer.itemInvolved })] })), _jsxs(Stack, { gap: "sm", children: [_jsx(Heading, { level: 2, size: "base", weight: "semibold", children: "What Happened" }), _jsx(Card, { variant: "flat", padding: "md", children: _jsx(Text, { className: "leading-relaxed", size: "sm", children: scammer.description }) })] }), scamTypeDef && scamTypeDef.howToAvoid.length > 0 && (_jsxs(Stack, { gap: "sm", children: [_jsx(Heading, { level: 2, size: "base", weight: "semibold", children: "How to Avoid This Scam" }), _jsx(Card, { variant: "flat", padding: "md", children: _jsx(Stack, { gap: "xs", as: "ol", children: scamTypeDef.howToAvoid.map((tip, i) => (_jsxs(Row, { gap: "sm", align: "start", as: "li", children: [_jsx(Span, { layout: "flex-center", size: "xs", weight: "bold", className: "h-5 w-5 shrink-0 bg-[color:var(--appkit-color-success,theme(colors.green.600))]/10 text-[color:var(--appkit-color-success,theme(colors.green.700))]", rounded: "full", children: i + 1 }), _jsx(Text, { variant: "secondary", className: "leading-relaxed", size: "sm", children: tip })] }, i))) }) })] })), scammer.evidence.length > 0 && (_jsxs(Stack, { gap: "sm", children: [_jsx(Heading, { level: 2, size: "base", weight: "semibold", children: "Evidence" }), _jsx(Row, { gap: "sm", wrap: true, children: scammer.evidence.map((url, i) => (_jsx(Anchor, { href: url, underline: "none", rounded: "lg", shadow: "sm", className: "block h-32 w-32 overflow-hidden border hover:opacity-90", children: _jsx(MediaImage, { src: url, alt: `Evidence ${i + 1}`, size: "thumbnail" }) }, i))) })] })), _jsx(ScammerIncidentsSection, { incidents: incidents }), _jsx(ScammerCommentsSection, { comments: comments, isAuthenticated: isAuthenticated, scammerId: scammer.id }), relatedScammers.length > 0 && (_jsxs(Stack, { gap: "sm", children: [_jsx(Heading, { level: 2, size: "base", weight: "semibold", children: "Related Profiles" }), _jsx(Stack, { gap: "sm", children: relatedScammers.map((rel) => (_jsx(Link, { href: String(ROUTES.PUBLIC.SCAM_DETAIL(rel.id)), className: "block", children: _jsx(Card, { variant: "outlined", padding: "sm", className: "hover:opacity-80 transition-opacity", children: _jsxs(Row, { gap: "sm", align: "center", justify: "between", children: [_jsxs(Stack, { gap: "none", children: [_jsx(Text, { size: "sm", weight: "medium", children: rel.displayNames[0] }), _jsx(Text, { variant: "secondary", size: "xs", children: SCAM_TYPE_LABELS[rel.scamType] ?? rel.scamType })] }), _jsxs(Row, { gap: "xs", align: "center", children: [_jsx(Badge, { variant: statusVariant(rel.status), children: SCAMMER_STATUS_LABELS[rel.status] ?? rel.status }), _jsx(Link2, { className: "h-4 w-4 text-[color:var(--appkit-color-text-muted,theme(colors.zinc.400))]" })] })] }) }) }, rel.id))) })] })), similarScamReports.length > 0 && (_jsxs(Stack, { gap: "sm", children: [_jsx(Heading, { level: 2, size: "base", weight: "semibold", children: "Similar Scam Reports" }), _jsxs(Text, { variant: "secondary", size: "xs", children: ["Other profiles reported for the same scam pattern (", SCAM_TYPE_LABELS[scammer.scamType] ?? scammer.scamType, "). This does not mean they are the same person."] }), _jsx(Stack, { gap: "sm", children: similarScamReports.map((rel) => (_jsx(Link, { href: String(ROUTES.PUBLIC.SCAM_DETAIL(rel.id)), className: "block", children: _jsx(Card, { variant: "outlined", padding: "sm", className: "hover:opacity-80 transition-opacity", children: _jsxs(Row, { gap: "sm", align: "center", justify: "between", children: [_jsxs(Stack, { gap: "none", children: [_jsx(Text, { size: "sm", weight: "medium", children: rel.displayNames[0] }), _jsx(Text, { variant: "secondary", size: "xs", children: SCAM_TYPE_LABELS[rel.scamType] ?? rel.scamType })] }), _jsxs(Row, { gap: "xs", align: "center", children: [_jsx(Badge, { variant: statusVariant(rel.status), children: SCAMMER_STATUS_LABELS[rel.status] ?? rel.status }), _jsx(Link2, { className: "h-4 w-4 text-[color:var(--appkit-color-text-muted,theme(colors.zinc.400))]" })] })] }) }) }, rel.id))) })] }))] }), _jsx(ScammerActionsColumn, { scammer: scammer, isAuthenticated: isAuthenticated, reportHref: reportHref, contestLoginHref: contestLoginHref })] }) }) })] }));
|
|
71
|
+
] }) }) }), _jsx(Container, { size: "xl", padding: "y-sm", children: _jsx(AdminComposableRegion, { pageId: "scams-id", initialCards: pageRegionCards }) }), _jsx(Section, { padding: "y-2xl", children: _jsx(Container, { size: "xl", children: _jsxs(Grid, { cols: "twoThird", gap: "lg", children: [_jsxs(Stack, { gap: "lg", children: [_jsx(ScammerHeaderCard, { scammer: scammer }), (scammer.phones.length > 0 || scammer.upiIds.length > 0 || scammer.emails.length > 0) && (_jsxs(Stack, { gap: "sm", children: [_jsx(Heading, { level: 2, size: "base", weight: "semibold", children: "Contact Identifiers" }), _jsxs(Grid, { cols: 2, gap: "sm", children: [scammer.phones.map((p) => (_jsx(IdentityChip, { label: "Phone", value: p, icon: _jsx(Phone, { className: "h-4 w-4" }) }, p))), scammer.upiIds.map((u) => (_jsx(IdentityChip, { label: "UPI ID", value: u, icon: _jsx(Wallet, { className: "h-4 w-4" }) }, u))), scammer.emails.map((e) => (_jsx(IdentityChip, { label: "Email", value: e, icon: _jsx(Mail, { className: "h-4 w-4" }) }, e)))] })] })), scammer.socialMedia.length > 0 && (_jsxs(Stack, { gap: "sm", children: [_jsx(Heading, { level: 2, size: "base", weight: "semibold", children: "Social Media Profiles" }), _jsx(Stack, { gap: "xs", children: scammer.socialMedia.map((sm, i) => (_jsxs(Row, { gap: "sm", align: "center", children: [_jsx(ExternalLink, { className: "h-4 w-4 shrink-0 text-[color:var(--appkit-color-text-muted,theme(colors.zinc.400))]" }), _jsxs(Text, { size: "sm", weight: "medium", children: [SOCIAL_PLATFORM_LABELS[sm.platform] ?? sm.platform, ":"] }), sm.url ? (_jsx(Anchor, { href: sm.url, size: "sm", children: sm.handle })) : (_jsx(Text, { variant: "secondary", size: "sm", children: sm.handle }))] }, i))) })] })), scammer.itemInvolved && (_jsxs(Stack, { gap: "xs", children: [_jsx(Heading, { level: 2, size: "base", weight: "semibold", children: "Item Involved" }), _jsx(Text, { variant: "secondary", size: "sm", children: scammer.itemInvolved })] })), _jsxs(Stack, { gap: "sm", children: [_jsx(Heading, { level: 2, size: "base", weight: "semibold", children: "What Happened" }), _jsx(Card, { variant: "flat", padding: "md", children: _jsx(Text, { className: "leading-relaxed", size: "sm", children: scammer.description }) })] }), scamTypeDef && scamTypeDef.howToAvoid.length > 0 && (_jsxs(Stack, { gap: "sm", children: [_jsx(Heading, { level: 2, size: "base", weight: "semibold", children: "How to Avoid This Scam" }), _jsx(Card, { variant: "flat", padding: "md", children: _jsx(Stack, { gap: "xs", as: "ol", children: scamTypeDef.howToAvoid.map((tip, i) => (_jsxs(Row, { gap: "sm", align: "start", as: "li", children: [_jsx(Span, { layout: "flex-center", size: "xs", weight: "bold", className: "h-5 w-5 shrink-0 bg-[color:var(--appkit-color-success,theme(colors.green.600))]/10 text-[color:var(--appkit-color-success,theme(colors.green.700))]", rounded: "full", children: i + 1 }), _jsx(Text, { variant: "secondary", className: "leading-relaxed", size: "sm", children: tip })] }, i))) }) })] })), scammer.evidence.length > 0 && (_jsxs(Stack, { gap: "sm", children: [_jsx(Heading, { level: 2, size: "base", weight: "semibold", children: "Evidence" }), _jsx(Row, { gap: "sm", wrap: true, children: scammer.evidence.map((url, i) => (_jsx(Anchor, { href: url, underline: "none", rounded: "lg", shadow: "sm", className: "block h-32 w-32 overflow-hidden border hover:opacity-90", children: _jsx(MediaImage, { src: url, alt: `Evidence ${i + 1}`, size: "thumbnail" }) }, i))) })] })), _jsx(ScammerIncidentsSection, { incidents: incidents }), _jsx(ScammerCommentsSection, { comments: comments, isAuthenticated: isAuthenticated, scammerId: scammer.id }), relatedScammers.length > 0 && (_jsxs(Stack, { gap: "sm", children: [_jsx(Heading, { level: 2, size: "base", weight: "semibold", children: "Related Profiles" }), _jsx(Stack, { gap: "sm", children: relatedScammers.map((rel) => (_jsx(Link, { href: String(ROUTES.PUBLIC.SCAM_DETAIL(rel.id)), className: "block", children: _jsx(Card, { variant: "outlined", padding: "sm", className: "hover:opacity-80 transition-opacity", children: _jsxs(Row, { gap: "sm", align: "center", justify: "between", children: [_jsxs(Stack, { gap: "none", children: [_jsx(Text, { size: "sm", weight: "medium", children: rel.displayNames[0] }), _jsx(Text, { variant: "secondary", size: "xs", children: SCAM_TYPE_LABELS[rel.scamType] ?? rel.scamType })] }), _jsxs(Row, { gap: "xs", align: "center", children: [_jsx(Badge, { variant: statusVariant(rel.status), children: SCAMMER_STATUS_LABELS[rel.status] ?? rel.status }), _jsx(Link2, { className: "h-4 w-4 text-[color:var(--appkit-color-text-muted,theme(colors.zinc.400))]" })] })] }) }) }, rel.id))) })] })), similarScamReports.length > 0 && (_jsxs(Stack, { gap: "sm", children: [_jsx(Heading, { level: 2, size: "base", weight: "semibold", children: "Similar Scam Reports" }), _jsxs(Text, { variant: "secondary", size: "xs", children: ["Other profiles reported for the same scam pattern (", SCAM_TYPE_LABELS[scammer.scamType] ?? scammer.scamType, "). This does not mean they are the same person."] }), _jsx(Stack, { gap: "sm", children: similarScamReports.map((rel) => (_jsx(Link, { href: String(ROUTES.PUBLIC.SCAM_DETAIL(rel.id)), className: "block", children: _jsx(Card, { variant: "outlined", padding: "sm", className: "hover:opacity-80 transition-opacity", children: _jsxs(Row, { gap: "sm", align: "center", justify: "between", children: [_jsxs(Stack, { gap: "none", children: [_jsx(Text, { size: "sm", weight: "medium", children: rel.displayNames[0] }), _jsx(Text, { variant: "secondary", size: "xs", children: SCAM_TYPE_LABELS[rel.scamType] ?? rel.scamType })] }), _jsxs(Row, { gap: "xs", align: "center", children: [_jsx(Badge, { variant: statusVariant(rel.status), children: SCAMMER_STATUS_LABELS[rel.status] ?? rel.status }), _jsx(Link2, { className: "h-4 w-4 text-[color:var(--appkit-color-text-muted,theme(colors.zinc.400))]" })] })] }) }) }, rel.id))) })] }))] }), _jsx(ScammerActionsColumn, { scammer: scammer, isAuthenticated: isAuthenticated, reportHref: reportHref, contestLoginHref: contestLoginHref })] }) }) })] }));
|
|
69
72
|
}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import type { DashboardCard } from "../../../_internal/shared/features/dashboard/recent-entry";
|
|
2
3
|
type SearchParams = Record<string, string | string[]>;
|
|
3
4
|
export interface ScamRegistryViewProps {
|
|
4
5
|
searchParams?: SearchParams;
|
|
6
|
+
/** Admin-curated page-region cards (Phase 12). Omit for no extra content. */
|
|
7
|
+
pageRegionCards?: DashboardCard[];
|
|
5
8
|
}
|
|
6
|
-
export declare function ScamRegistryView({ searchParams }: ScamRegistryViewProps): Promise<React.JSX.Element>;
|
|
9
|
+
export declare function ScamRegistryView({ searchParams, pageRegionCards }: ScamRegistryViewProps): Promise<React.JSX.Element>;
|
|
7
10
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Span
|
|
2
|
+
import { Span } from "../../../ui/components/Typography.js";
|
|
3
|
+
import { sortBy } from "../../../constants/sort.js";
|
|
3
4
|
import Link from "next/link.js";
|
|
4
5
|
import { ROUTES } from "../../../next/routing/route-map.js";
|
|
5
6
|
import { formatCurrency } from "../../../utils/number.formatter.js";
|
|
@@ -9,8 +10,10 @@ const CLS_PILL_LINK = "inline-flex items-center gap-[var(--appkit-space-1)] roun
|
|
|
9
10
|
import { Shield, Phone, Wallet, Mail, ChevronRight, Search } from "lucide-react";
|
|
10
11
|
import { Button, Container, Disclaimer, Div, Form, Heading, Main, Section, Select, Text, Grid, Stack, Row, Card, Badge, Alert, EmptyState, Input, } from "../../../ui/index.js";
|
|
11
12
|
import { listVerifiedScammers } from "../actions/scam-actions.js";
|
|
13
|
+
import { withBrand } from "../../../core/brand-text.js";
|
|
12
14
|
import { SCAM_PLATFORM_LABELS } from "../schemas/firestore.js";
|
|
13
15
|
import { SCAM_TYPES, SCAM_TYPE_LABELS } from "../constants/scam-types.js";
|
|
16
|
+
import { AdminComposableRegion } from "../../dashboard/components/AdminComposableRegion.js";
|
|
14
17
|
const SORT_OPTIONS = [
|
|
15
18
|
{ value: sortBy("createdAt", "DESC"), label: "Newest Reports" },
|
|
16
19
|
{ value: sortBy("createdAt", "ASC"), label: "Oldest Reports" },
|
|
@@ -25,11 +28,11 @@ function ScammerCard({ scammer }) {
|
|
|
25
28
|
const href = String(ROUTES.PUBLIC.SCAM_DETAIL(scammer.id));
|
|
26
29
|
const name = scammer.displayNames[0] ?? "Unknown";
|
|
27
30
|
const aliases = scammer.displayNames.slice(1);
|
|
28
|
-
return (_jsx(Link, { href: href, className: "group block", children: _jsx(Card, { variant: "outlined", hover: true, padding: "md", children: _jsxs(Stack, { gap: "sm", children: [_jsxs(Row, { justify: "between", gap: "sm", align: "start", children: [_jsxs(Stack, { gap: "xs", className: "min-w-0", children: [_jsx(Text, { className: "truncate", weight: "semibold", children: name }), aliases.length > 0 && (_jsxs(Text, { variant: "secondary", size: "xs", children: ["Also known as: ", aliases.join(", ")] }))] }), _jsx(Badge, { variant: "danger", children: "Verified" })] }), _jsxs(Row, { gap: "xs", wrap: true, children: [_jsx(Badge, { variant: "warning", children: SCAM_TYPE_LABELS[scammer.scamType] ?? scammer.scamType }), _jsx(Badge, { variant: "default", children: SCAM_PLATFORM_LABELS[scammer.scamPlatform] ?? scammer.scamPlatform })] }), _jsxs(Stack, { gap: "xs", children: [scammer.phones.slice(0, 2).map((p) => (_jsxs(Text, { variant: "secondary", layout: "flex", gap: "1", size: "xs", children: [_jsx(Phone, { className: CLS_ICON_SM }), " ", p] }, p))), scammer.upiIds.slice(0, 1).map((u) => (_jsxs(Text, { variant: "secondary", layout: "flex", gap: "1", size: "xs", children: [_jsx(Wallet, { className: CLS_ICON_SM }), " ", u] }, u))), scammer.emails.slice(0, 1).map((e) => (_jsxs(Text, { variant: "secondary", layout: "flex", gap: "1", size: "xs", children: [_jsx(Mail, { className: CLS_ICON_SM }), " ", e] }, e)))] }), _jsxs(Row, { justify: "between", gap: "sm", children: [_jsxs(Text, { variant: "secondary", size: "xs", children: [scammer.incidentCount > 0
|
|
31
|
+
return (_jsx(Link, { href: href, className: "group block", children: _jsx(Card, { variant: "outlined", hover: true, padding: "md", children: _jsxs(Stack, { gap: "sm", children: [_jsxs(Row, { justify: "between", gap: "sm", align: "start", children: [_jsxs(Stack, { gap: "xs", className: "min-w-0", children: [_jsx(Text, { className: "truncate", weight: "semibold", children: name }), aliases.length > 0 && (_jsxs(Text, { variant: "secondary", size: "xs", children: ["Also known as: ", aliases.join(", ")] }))] }), _jsx(Badge, { variant: "danger", children: "Verified" })] }), _jsxs(Row, { gap: "xs", wrap: true, children: [_jsx(Badge, { variant: "warning", children: SCAM_TYPE_LABELS[scammer.scamType] ?? scammer.scamType }), _jsx(Badge, { variant: "default", children: withBrand(SCAM_PLATFORM_LABELS[scammer.scamPlatform] ?? scammer.scamPlatform) })] }), _jsxs(Stack, { gap: "xs", children: [scammer.phones.slice(0, 2).map((p) => (_jsxs(Text, { variant: "secondary", layout: "flex", gap: "1", size: "xs", children: [_jsx(Phone, { className: CLS_ICON_SM }), " ", p] }, p))), scammer.upiIds.slice(0, 1).map((u) => (_jsxs(Text, { variant: "secondary", layout: "flex", gap: "1", size: "xs", children: [_jsx(Wallet, { className: CLS_ICON_SM }), " ", u] }, u))), scammer.emails.slice(0, 1).map((e) => (_jsxs(Text, { variant: "secondary", layout: "flex", gap: "1", size: "xs", children: [_jsx(Mail, { className: CLS_ICON_SM }), " ", e] }, e)))] }), _jsxs(Row, { justify: "between", gap: "sm", children: [_jsxs(Text, { variant: "secondary", size: "xs", children: [scammer.incidentCount > 0
|
|
29
32
|
? `${scammer.incidentCount + 1} victims reported`
|
|
30
33
|
: "1 victim reported", scammer.amountLost ? ` · ${formatCurrency(scammer.amountLost)} lost` : ""] }), _jsx(ChevronRight, { className: CLS_ROW_CHEVRON })] })] }) }) }));
|
|
31
34
|
}
|
|
32
|
-
export async function ScamRegistryView({ searchParams = {} }) {
|
|
35
|
+
export async function ScamRegistryView({ searchParams = {}, pageRegionCards = [] }) {
|
|
33
36
|
const query = sp(searchParams, "q");
|
|
34
37
|
const sort = sp(searchParams, "sort") || "-createdAt";
|
|
35
38
|
const scamType = sp(searchParams, "scamType");
|
|
@@ -61,7 +64,7 @@ export async function ScamRegistryView({ searchParams = {} }) {
|
|
|
61
64
|
const qs = p.toString();
|
|
62
65
|
return `/scams${qs ? `?${qs}` : ""}`;
|
|
63
66
|
}
|
|
64
|
-
return (_jsxs(Main, { children: [_jsx(Div, { className: "border-b appkit-alert--warning", rounded: "none", children: _jsx(Container, { padding: "y-xs", size: "xl", className: "", children: _jsxs(Alert, { variant: "warning", compact: true, children: ["All profiles on this page have been verified by our moderation team. If you recognise a scammer not listed here,", " ", _jsx(Link, { href: reportHref, className: "font-medium underline hover:no-underline", children: "report them" }), "."] }) }) }), _jsx(Section, { padding: "y-2xl", children: _jsx(Container, { size: "xl", children: _jsxs(Stack, { gap: "xl", children: [_jsxs(Row, { justify: "between", gap: "md", align: "end", wrap: true, children: [_jsxs(Stack, { gap: "xs", children: [_jsx(Heading, { level: 1, weight: "semibold", size: "3xl", children: "Scam Registry" }), _jsx(Text, { variant: "secondary", size: "sm", children: "Reports of scams in India's collectibles community, submitted by buyers and sellers. Search by name, phone, or UPI." })] }), _jsxs(Link, { href: reportHref, className: "appkit-button appkit-button--danger appkit-button--md shrink-0", children: [_jsx(Shield, { className: "h-4 w-4" }), "Report a Scammer"] })] }), _jsx(Disclaimer, { id: "scam-registry" }), _jsx(Form, { method: "GET", children: _jsxs(Row, { wrap: true, gap: "sm", children: [_jsx(Div, { className: "flex-1 min-w-48", children: _jsx(Input, { type: "search", name: "q", defaultValue: query, placeholder: "Search name, phone, UPI ID, or email\u2026", icon: _jsx(Search, { className: "h-4 w-4" }) }) }), _jsx(Select, { name: "scamType", defaultValue: scamType, options: SCAM_TYPES.map((t) => ({ value: t.id, label: t.label })), placeholder: "All scam types" }), _jsx(Select, { name: "sort", defaultValue: sort, options: SORT_OPTIONS.map((o) => ({ value: o.value, label: o.label })) }), _jsx(Button, { type: "submit", variant: "primary", size: "sm", children: "Search" }), (query || scamType || sort !== "-createdAt") && (_jsx(Link, { href: ROUTES.PUBLIC.SCAMS, className: "rounded-lg border border-[var(--appkit-color-border)] px-[var(--appkit-space-4)] py-[var(--appkit-space-2)] text-[length:var(--appkit-text-sm)] text-[var(--appkit-color-text-muted)] hover:bg-surface-hover transition-colors", children: "Clear" }))] }) }), scamType && SCAM_TYPE_LABELS[scamType] && (_jsxs(Row, { gap: "sm", align: "center", children: [_jsx(Text, { variant: "secondary", size: "xs", children: "Filtering by:" }), _jsxs(Link, { href: buildHref({ scamType: "" }), className: CLS_PILL_LINK, children: [SCAM_TYPE_LABELS[scamType], _jsx(Span, { "aria-hidden": "true", children: "\u00D7" })] })] })), result.items.length === 0 ? (_jsx(EmptyState, { icon: _jsx(Shield, { className: "h-12 w-12" }), title: query || scamType
|
|
67
|
+
return (_jsxs(Main, { children: [_jsx(Div, { className: "border-b appkit-alert--warning", rounded: "none", children: _jsx(Container, { padding: "y-xs", size: "xl", className: "", children: _jsxs(Alert, { variant: "warning", compact: true, children: ["All profiles on this page have been verified by our moderation team. If you recognise a scammer not listed here,", " ", _jsx(Link, { href: reportHref, className: "font-medium underline hover:no-underline", children: "report them" }), "."] }) }) }), _jsx(Section, { padding: "y-2xl", children: _jsx(Container, { size: "xl", children: _jsxs(Stack, { gap: "xl", children: [_jsxs(Row, { justify: "between", gap: "md", align: "end", wrap: true, children: [_jsxs(Stack, { gap: "xs", children: [_jsx(Heading, { level: 1, weight: "semibold", size: "3xl", children: "Scam Registry" }), _jsx(Text, { variant: "secondary", size: "sm", children: "Reports of scams in India's collectibles community, submitted by buyers and sellers. Search by name, phone, or UPI." })] }), _jsxs(Link, { href: reportHref, className: "appkit-button appkit-button--danger appkit-button--md shrink-0", children: [_jsx(Shield, { className: "h-4 w-4" }), "Report a Scammer"] })] }), _jsx(Disclaimer, { id: "scam-registry" }), _jsx(AdminComposableRegion, { pageId: "scams", initialCards: pageRegionCards }), _jsx(Form, { method: "GET", children: _jsxs(Row, { wrap: true, gap: "sm", children: [_jsx(Div, { className: "flex-1 min-w-48", children: _jsx(Input, { type: "search", name: "q", defaultValue: query, placeholder: "Search name, phone, UPI ID, or email\u2026", icon: _jsx(Search, { className: "h-4 w-4" }) }) }), _jsx(Select, { name: "scamType", defaultValue: scamType, options: SCAM_TYPES.map((t) => ({ value: t.id, label: t.label })), placeholder: "All scam types" }), _jsx(Select, { name: "sort", defaultValue: sort, options: SORT_OPTIONS.map((o) => ({ value: o.value, label: o.label })) }), _jsx(Button, { type: "submit", variant: "primary", size: "sm", children: "Search" }), (query || scamType || sort !== "-createdAt") && (_jsx(Link, { href: ROUTES.PUBLIC.SCAMS, className: "rounded-lg border border-[var(--appkit-color-border)] px-[var(--appkit-space-4)] py-[var(--appkit-space-2)] text-[length:var(--appkit-text-sm)] text-[var(--appkit-color-text-muted)] hover:bg-surface-hover transition-colors", children: "Clear" }))] }) }), scamType && SCAM_TYPE_LABELS[scamType] && (_jsxs(Row, { gap: "sm", align: "center", children: [_jsx(Text, { variant: "secondary", size: "xs", children: "Filtering by:" }), _jsxs(Link, { href: buildHref({ scamType: "" }), className: CLS_PILL_LINK, children: [SCAM_TYPE_LABELS[scamType], _jsx(Span, { "aria-hidden": "true", children: "\u00D7" })] })] })), result.items.length === 0 ? (_jsx(EmptyState, { icon: _jsx(Shield, { className: "h-12 w-12" }), title: query || scamType
|
|
65
68
|
? "No verified scammers matched your filters"
|
|
66
69
|
: "No verified scammers in the registry yet", description: query || scamType
|
|
67
70
|
? "Try a different search or clear your filters."
|