@mohasinac/appkit 2.6.3 → 2.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_internal/server/features/account/data.js +2 -2
- package/dist/_internal/server/features/bundles/data.d.ts +26 -6
- package/dist/_internal/server/features/bundles/data.js +41 -6
- package/dist/_internal/server/features/bundles/index.d.ts +3 -2
- package/dist/_internal/server/features/bundles/index.js +4 -2
- package/dist/_internal/server/features/bundles/metadata.d.ts +20 -0
- package/dist/_internal/server/features/bundles/metadata.js +46 -0
- package/dist/_internal/server/features/bundles/og.d.ts +38 -0
- package/dist/_internal/server/features/bundles/og.js +122 -0
- package/dist/_internal/server/features/checkout/actions.js +192 -133
- package/dist/_internal/server/features/checkout/bundle-expansion.d.ts +57 -0
- package/dist/_internal/server/features/checkout/bundle-expansion.js +70 -0
- package/dist/_internal/server/features/checkout/prize-bundle-gates.d.ts +5 -15
- package/dist/_internal/server/features/checkout/prize-bundle-gates.js +5 -21
- package/dist/_internal/server/features/media/contextGuards.js +15 -1
- package/dist/_internal/server/features/payouts/actions.d.ts +19 -0
- package/dist/_internal/server/features/payouts/actions.js +38 -0
- package/dist/_internal/server/features/products/data.js +1 -2
- package/dist/_internal/server/features/raffle/actions.d.ts +11 -0
- package/dist/_internal/server/features/raffle/actions.js +31 -0
- package/dist/_internal/server/features/refunds/actions.d.ts +31 -0
- package/dist/_internal/server/features/refunds/actions.js +77 -0
- package/dist/_internal/server/jobs/core/adminAnalytics.d.ts +28 -0
- package/dist/_internal/server/jobs/core/adminAnalytics.js +98 -0
- package/dist/_internal/server/jobs/core/assignSpinPrize.d.ts +19 -0
- package/dist/_internal/server/jobs/core/assignSpinPrize.js +81 -0
- package/dist/_internal/server/jobs/core/auctionSettlement.d.ts +2 -0
- package/dist/_internal/server/jobs/core/auctionSettlement.js +70 -0
- package/dist/_internal/server/jobs/core/autoPayoutEligibility.d.ts +2 -0
- package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +109 -0
- package/dist/_internal/server/jobs/core/bundleStockSync.d.ts +10 -0
- package/dist/_internal/server/jobs/core/bundleStockSync.js +71 -0
- package/dist/_internal/server/jobs/core/cartPrune.d.ts +2 -0
- package/dist/_internal/server/jobs/core/cartPrune.js +13 -0
- package/dist/_internal/server/jobs/core/cleanupRtdbEvents.d.ts +2 -0
- package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +45 -0
- package/dist/_internal/server/jobs/core/countersReconcile.d.ts +2 -0
- package/dist/_internal/server/jobs/core/countersReconcile.js +107 -0
- package/dist/_internal/server/jobs/core/couponExpiry.d.ts +2 -0
- package/dist/_internal/server/jobs/core/couponExpiry.js +13 -0
- package/dist/_internal/server/jobs/core/dailyDataCleanup.d.ts +2 -0
- package/dist/_internal/server/jobs/core/dailyDataCleanup.js +20 -0
- package/dist/_internal/server/jobs/core/index.d.ts +44 -0
- package/dist/_internal/server/jobs/core/index.js +47 -0
- package/dist/_internal/server/jobs/core/listingProcessor.d.ts +30 -0
- package/dist/_internal/server/jobs/core/listingProcessor.js +138 -0
- package/dist/_internal/server/jobs/core/mediaTmpCleanup.d.ts +14 -0
- package/dist/_internal/server/jobs/core/mediaTmpCleanup.js +68 -0
- package/dist/_internal/server/jobs/core/notificationPrune.d.ts +2 -0
- package/dist/_internal/server/jobs/core/notificationPrune.js +13 -0
- package/dist/_internal/server/jobs/core/offerExpiry.d.ts +2 -0
- package/dist/_internal/server/jobs/core/offerExpiry.js +50 -0
- package/dist/_internal/server/jobs/core/onBidPlaced.d.ts +15 -0
- package/dist/_internal/server/jobs/core/onBidPlaced.js +59 -0
- package/dist/_internal/server/jobs/core/onCategoryWrite.d.ts +14 -0
- package/dist/_internal/server/jobs/core/onCategoryWrite.js +134 -0
- package/dist/_internal/server/jobs/core/onOrderCreate.d.ts +18 -0
- package/dist/_internal/server/jobs/core/onOrderCreate.js +78 -0
- package/dist/_internal/server/jobs/core/onOrderStatusChange.d.ts +19 -0
- package/dist/_internal/server/jobs/core/onOrderStatusChange.js +139 -0
- package/dist/_internal/server/jobs/core/onProductStockChange.d.ts +23 -0
- package/dist/_internal/server/jobs/core/onProductStockChange.js +130 -0
- package/dist/_internal/server/jobs/core/onProductWrite.d.ts +12 -0
- package/dist/_internal/server/jobs/core/onProductWrite.js +94 -0
- package/dist/_internal/server/jobs/core/onReviewWrite.d.ts +7 -0
- package/dist/_internal/server/jobs/core/onReviewWrite.js +49 -0
- package/dist/_internal/server/jobs/core/onStoreWrite.d.ts +12 -0
- package/dist/_internal/server/jobs/core/onStoreWrite.js +7 -0
- package/dist/_internal/server/jobs/core/payoutBatch.d.ts +8 -0
- package/dist/_internal/server/jobs/core/payoutBatch.js +102 -0
- package/dist/_internal/server/jobs/core/pendingOrderTimeout.d.ts +2 -0
- package/dist/_internal/server/jobs/core/pendingOrderTimeout.js +27 -0
- package/dist/_internal/server/jobs/core/positionsReconcile.d.ts +7 -0
- package/dist/_internal/server/jobs/core/positionsReconcile.js +87 -0
- package/dist/_internal/server/jobs/core/prizeRevealClose.d.ts +2 -0
- package/dist/_internal/server/jobs/core/prizeRevealClose.js +22 -0
- package/dist/_internal/server/jobs/core/prizeRevealExpiry.d.ts +2 -0
- package/dist/_internal/server/jobs/core/prizeRevealExpiry.js +50 -0
- package/dist/_internal/server/jobs/core/prizeRevealOpen.d.ts +2 -0
- package/dist/_internal/server/jobs/core/prizeRevealOpen.js +56 -0
- package/dist/_internal/server/jobs/core/prizeRevealReminder.d.ts +2 -0
- package/dist/_internal/server/jobs/core/prizeRevealReminder.js +38 -0
- package/dist/_internal/server/jobs/core/productStatsSync.d.ts +8 -0
- package/dist/_internal/server/jobs/core/productStatsSync.js +36 -0
- package/dist/_internal/server/jobs/core/promotions.d.ts +12 -0
- package/dist/_internal/server/jobs/core/promotions.js +43 -0
- package/dist/_internal/server/jobs/core/storeAnalytics.d.ts +30 -0
- package/dist/_internal/server/jobs/core/storeAnalytics.js +109 -0
- package/dist/_internal/server/jobs/core/triggerEventRaffle.d.ts +19 -0
- package/dist/_internal/server/jobs/core/triggerEventRaffle.js +86 -0
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.d.ts +6 -0
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +85 -0
- package/dist/_internal/server/jobs/handlers/adminAnalytics.d.ts +2 -26
- package/dist/_internal/server/jobs/handlers/adminAnalytics.js +2 -98
- package/dist/_internal/server/jobs/handlers/assignSpinPrize.d.ts +1 -22
- package/dist/_internal/server/jobs/handlers/assignSpinPrize.js +2 -86
- package/dist/_internal/server/jobs/handlers/auctionSettlement.js +2 -70
- package/dist/_internal/server/jobs/handlers/autoPayoutEligibility.js +2 -110
- package/dist/_internal/server/jobs/handlers/bundleStockSync.d.ts +0 -16
- package/dist/_internal/server/jobs/handlers/bundleStockSync.js +2 -80
- package/dist/_internal/server/jobs/handlers/cartPrune.js +2 -13
- package/dist/_internal/server/jobs/handlers/cleanupRtdbEvents.js +2 -45
- package/dist/_internal/server/jobs/handlers/countersReconcile.js +2 -109
- package/dist/_internal/server/jobs/handlers/couponExpiry.js +2 -13
- package/dist/_internal/server/jobs/handlers/dailyDataCleanup.js +2 -20
- package/dist/_internal/server/jobs/handlers/listingProcessor.d.ts +3 -28
- package/dist/_internal/server/jobs/handlers/listingProcessor.js +3 -138
- package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.d.ts +0 -12
- package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.js +2 -69
- package/dist/_internal/server/jobs/handlers/notificationPrune.js +2 -13
- package/dist/_internal/server/jobs/handlers/offerExpiry.js +2 -50
- package/dist/_internal/server/jobs/handlers/onBidPlaced.d.ts +1 -10
- package/dist/_internal/server/jobs/handlers/onBidPlaced.js +2 -56
- package/dist/_internal/server/jobs/handlers/onCategoryWrite.d.ts +1 -8
- package/dist/_internal/server/jobs/handlers/onCategoryWrite.js +6 -134
- package/dist/_internal/server/jobs/handlers/onOrderCreate.d.ts +1 -12
- package/dist/_internal/server/jobs/handlers/onOrderCreate.js +2 -76
- package/dist/_internal/server/jobs/handlers/onOrderStatusChange.d.ts +1 -12
- package/dist/_internal/server/jobs/handlers/onOrderStatusChange.js +2 -139
- package/dist/_internal/server/jobs/handlers/onProductStockChange.d.ts +0 -13
- package/dist/_internal/server/jobs/handlers/onProductStockChange.js +7 -134
- package/dist/_internal/server/jobs/handlers/onProductWrite.d.ts +1 -6
- package/dist/_internal/server/jobs/handlers/onProductWrite.js +6 -106
- package/dist/_internal/server/jobs/handlers/onReviewWrite.js +2 -49
- package/dist/_internal/server/jobs/handlers/onStoreWrite.d.ts +1 -8
- package/dist/_internal/server/jobs/handlers/onStoreWrite.js +7 -8
- package/dist/_internal/server/jobs/handlers/payoutBatch.d.ts +0 -9
- package/dist/_internal/server/jobs/handlers/payoutBatch.js +2 -104
- package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.d.ts +0 -6
- package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.js +2 -33
- package/dist/_internal/server/jobs/handlers/positionsReconcile.d.ts +0 -5
- package/dist/_internal/server/jobs/handlers/positionsReconcile.js +2 -87
- package/dist/_internal/server/jobs/handlers/prizeRevealClose.d.ts +0 -7
- package/dist/_internal/server/jobs/handlers/prizeRevealClose.js +2 -29
- package/dist/_internal/server/jobs/handlers/prizeRevealExpiry.d.ts +0 -8
- package/dist/_internal/server/jobs/handlers/prizeRevealExpiry.js +2 -58
- package/dist/_internal/server/jobs/handlers/prizeRevealOpen.d.ts +0 -8
- package/dist/_internal/server/jobs/handlers/prizeRevealOpen.js +2 -65
- package/dist/_internal/server/jobs/handlers/prizeRevealReminder.d.ts +0 -7
- package/dist/_internal/server/jobs/handlers/prizeRevealReminder.js +2 -45
- package/dist/_internal/server/jobs/handlers/productStatsSync.d.ts +0 -6
- package/dist/_internal/server/jobs/handlers/productStatsSync.js +2 -36
- package/dist/_internal/server/jobs/handlers/promotions.d.ts +2 -10
- package/dist/_internal/server/jobs/handlers/promotions.js +2 -43
- package/dist/_internal/server/jobs/handlers/storeAnalytics.d.ts +2 -28
- package/dist/_internal/server/jobs/handlers/storeAnalytics.js +2 -109
- package/dist/_internal/server/jobs/handlers/triggerEventRaffle.d.ts +1 -28
- package/dist/_internal/server/jobs/handlers/triggerEventRaffle.js +2 -94
- package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.d.ts +0 -6
- package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.js +2 -87
- package/dist/_internal/server/jobs/index.d.ts +1 -0
- package/dist/_internal/server/jobs/index.js +1 -0
- package/dist/_internal/server/jobs/runtime/adapters/firebase.js +21 -0
- package/dist/_internal/shared/actions/action-registry.d.ts +84 -0
- package/dist/_internal/shared/actions/action-registry.js +160 -0
- package/dist/_internal/shared/checkout/rules/_defaults.d.ts +3 -0
- package/dist/_internal/shared/checkout/rules/_defaults.js +22 -0
- package/dist/_internal/shared/checkout/rules/_limits.d.ts +19 -0
- package/dist/_internal/shared/checkout/rules/_limits.js +19 -0
- package/dist/_internal/shared/checkout/rules/_registry.d.ts +44 -0
- package/dist/_internal/shared/checkout/rules/_registry.js +87 -0
- package/dist/_internal/shared/checkout/rules/auction.rule.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/auction.rule.js +10 -0
- package/dist/_internal/shared/checkout/rules/bundle.rule.d.ts +11 -0
- package/dist/_internal/shared/checkout/rules/bundle.rule.js +6 -0
- package/dist/_internal/shared/checkout/rules/classified.rule.d.ts +9 -0
- package/dist/_internal/shared/checkout/rules/classified.rule.js +9 -0
- package/dist/_internal/shared/checkout/rules/digital-code.rule.d.ts +8 -0
- package/dist/_internal/shared/checkout/rules/digital-code.rule.js +6 -0
- package/dist/_internal/shared/checkout/rules/index.d.ts +12 -0
- package/dist/_internal/shared/checkout/rules/index.js +12 -0
- package/dist/_internal/shared/checkout/rules/live.rule.d.ts +10 -0
- package/dist/_internal/shared/checkout/rules/live.rule.js +6 -0
- package/dist/_internal/shared/checkout/rules/offer.rule.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/offer.rule.js +9 -0
- package/dist/_internal/shared/checkout/rules/preorder.rule.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/preorder.rule.js +28 -0
- package/dist/_internal/shared/checkout/rules/prize-draw.rule.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/prize-draw.rule.js +65 -0
- package/dist/_internal/shared/checkout/rules/standard.rule.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/standard.rule.js +5 -0
- package/dist/_internal/shared/checkout/rules/types.d.ts +125 -0
- package/dist/_internal/shared/checkout/rules/types.js +13 -0
- package/dist/_internal/shared/features/cart/schema.d.ts +6 -6
- package/dist/_internal/shared/features/categories/bundle-copy.d.ts +123 -0
- package/dist/_internal/shared/features/categories/bundle-copy.js +134 -0
- package/dist/_internal/shared/features/categories/bundle-schemas.d.ts +318 -0
- package/dist/_internal/shared/features/categories/bundle-schemas.js +55 -0
- package/dist/_internal/shared/features/events/schema.d.ts +4 -4
- package/dist/_internal/shared/features/orders/refund-copy.d.ts +36 -0
- package/dist/_internal/shared/features/orders/refund-copy.js +40 -0
- package/dist/_internal/shared/features/orders/schema.d.ts +4 -4
- package/dist/_internal/shared/features/products/schema.d.ts +8 -8
- package/dist/_internal/shared/listing-types/_registry.d.ts +27 -0
- package/dist/_internal/shared/listing-types/_registry.js +8 -0
- package/dist/_internal/shared/listing-types/action-tracker.d.ts +41 -0
- package/dist/_internal/shared/listing-types/action-tracker.js +70 -0
- package/dist/_internal/shared/listing-types/capabilities.js +25 -0
- package/dist/_internal/shared/listing-types/cart-shipping.d.ts +37 -0
- package/dist/_internal/shared/listing-types/cart-shipping.js +46 -0
- package/dist/_internal/shared/listing-types/classified/config.d.ts +7 -0
- package/dist/_internal/shared/listing-types/classified/config.js +8 -0
- package/dist/_internal/shared/listing-types/classified/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/classified/ctas.js +3 -0
- package/dist/_internal/shared/listing-types/classified/og.d.ts +1 -0
- package/dist/_internal/shared/listing-types/classified/og.js +1 -0
- package/dist/_internal/shared/listing-types/classified/schema.d.ts +1 -0
- package/dist/_internal/shared/listing-types/classified/schema.js +1 -0
- package/dist/_internal/shared/listing-types/classified/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/classified/seed-factory.js +1 -0
- package/dist/_internal/shared/listing-types/digital-code/config.d.ts +7 -0
- package/dist/_internal/shared/listing-types/digital-code/config.js +8 -0
- package/dist/_internal/shared/listing-types/digital-code/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/digital-code/ctas.js +3 -0
- package/dist/_internal/shared/listing-types/digital-code/og.d.ts +1 -0
- package/dist/_internal/shared/listing-types/digital-code/og.js +1 -0
- package/dist/_internal/shared/listing-types/digital-code/schema.d.ts +1 -0
- package/dist/_internal/shared/listing-types/digital-code/schema.js +1 -0
- package/dist/_internal/shared/listing-types/digital-code/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/digital-code/seed-factory.js +1 -0
- package/dist/_internal/shared/listing-types/feature-flags.d.ts +34 -0
- package/dist/_internal/shared/listing-types/feature-flags.js +45 -0
- package/dist/_internal/shared/listing-types/live/config.d.ts +7 -0
- package/dist/_internal/shared/listing-types/live/config.js +8 -0
- package/dist/_internal/shared/listing-types/live/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/live/ctas.js +3 -0
- package/dist/_internal/shared/listing-types/live/og.d.ts +1 -0
- package/dist/_internal/shared/listing-types/live/og.js +1 -0
- package/dist/_internal/shared/listing-types/live/schema.d.ts +1 -0
- package/dist/_internal/shared/listing-types/live/schema.js +1 -0
- package/dist/_internal/shared/listing-types/live/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/live/seed-factory.js +1 -0
- package/dist/_internal/shared/media/limits.js +8 -0
- package/dist/client.d.ts +10 -5
- package/dist/client.js +16 -3
- package/dist/configs/next.js +7 -0
- package/dist/constants/api-endpoints.d.ts +6 -0
- package/dist/constants/api-endpoints.js +4 -0
- package/dist/core/hooks/useSyncManager.js +13 -1
- package/dist/core/unit-of-work.d.ts +1 -1
- package/dist/core/unit-of-work.js +2 -2
- package/dist/features/account/actions/address-actions.d.ts +1 -1
- package/dist/features/account/actions/address-actions.js +15 -7
- package/dist/features/account/schemas/firestore.d.ts +8 -43
- package/dist/features/account/schemas/firestore.js +8 -54
- package/dist/features/account/schemas/index.d.ts +6 -6
- package/dist/features/account/server.d.ts +1 -1
- package/dist/features/account/server.js +3 -1
- package/dist/features/addresses/index.d.ts +2 -0
- package/dist/features/addresses/index.js +2 -0
- package/dist/features/addresses/repository/addresses.repository.d.ts +29 -0
- package/dist/features/addresses/repository/addresses.repository.js +157 -0
- package/dist/features/addresses/schemas/firestore.d.ts +53 -0
- package/dist/features/addresses/schemas/firestore.js +68 -0
- package/dist/features/{bundles → addresses}/schemas/index.d.ts +0 -1
- package/dist/features/{bundles → addresses}/schemas/index.js +0 -1
- package/dist/features/addresses/server.d.ts +2 -0
- package/dist/features/addresses/server.js +2 -0
- package/dist/features/admin/components/AdminAllEventEntriesView.js +4 -3
- package/dist/features/admin/components/AdminBidsView.js +4 -3
- package/dist/features/admin/components/AdminBlogView.js +8 -3
- package/dist/features/admin/components/AdminBundleEditorView.d.ts +9 -0
- package/dist/features/admin/components/AdminBundleEditorView.js +209 -0
- package/dist/features/admin/components/AdminBundlesView.d.ts +9 -0
- package/dist/features/admin/components/AdminBundlesView.js +59 -0
- package/dist/features/admin/components/AdminCartsView.js +13 -3
- package/dist/features/admin/components/AdminContactView.js +4 -3
- package/dist/features/admin/components/AdminCouponsView.js +32 -13
- package/dist/features/admin/components/AdminNewsletterView.js +4 -3
- package/dist/features/admin/components/AdminOrdersView.js +15 -7
- package/dist/features/admin/components/AdminPayoutsView.js +4 -3
- package/dist/features/admin/components/AdminPrizeDrawsView.d.ts +4 -0
- package/dist/features/admin/components/AdminPrizeDrawsView.js +135 -0
- package/dist/features/admin/components/AdminProductsView.js +6 -5
- package/dist/features/admin/components/AdminReviewsView.js +5 -4
- package/dist/features/admin/components/AdminStoresView.js +4 -3
- package/dist/features/admin/components/AdminUsersView.js +15 -5
- package/dist/features/admin/components/AdminWishlistsView.js +10 -1
- package/dist/features/admin/components/DataTable.d.ts +5 -1
- package/dist/features/admin/components/DataTable.js +24 -20
- package/dist/features/admin/components/index.d.ts +6 -0
- package/dist/features/admin/components/index.js +5 -0
- package/dist/features/admin/constants/filter-tabs.d.ts +435 -0
- package/dist/features/admin/constants/filter-tabs.js +216 -0
- package/dist/features/admin/hooks/useAdminListingData.d.ts +1 -0
- package/dist/features/admin/hooks/useAdminListingData.js +1 -0
- package/dist/features/admin/schemas/firestore.d.ts +15 -0
- package/dist/features/admin/schemas/firestore.js +18 -0
- package/dist/features/admin/types/product.types.d.ts +2 -2
- package/dist/features/auctions/components/AuctionCard.d.ts +4 -1
- package/dist/features/auctions/components/AuctionCard.js +5 -3
- package/dist/features/auctions/components/AuctionDetailPageView.js +1 -1
- package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +2 -2
- package/dist/features/auctions/components/PlaceBidFormClient.js +12 -2
- package/dist/features/auctions/schemas/index.d.ts +2 -2
- package/dist/features/auth/index.d.ts +1 -0
- package/dist/features/auth/index.js +1 -0
- package/dist/features/auth/role-predicates.d.ts +16 -0
- package/dist/features/auth/role-predicates.js +15 -0
- package/dist/features/blog/components/BlogFeaturedCard.d.ts +4 -1
- package/dist/features/blog/components/BlogFeaturedCard.js +5 -3
- package/dist/features/cart/actions/cart-actions.d.ts +1 -0
- package/dist/features/cart/actions/cart-actions.js +16 -0
- package/dist/features/cart/components/CartView.d.ts +19 -1
- package/dist/features/cart/components/CartView.js +2 -2
- package/dist/features/cart/components/ShippingPicker.d.ts +13 -0
- package/dist/features/cart/components/ShippingPicker.js +48 -0
- package/dist/features/cart/components/index.d.ts +3 -1
- package/dist/features/cart/components/index.js +1 -0
- package/dist/features/cart/hooks/useCartCount.js +7 -1
- package/dist/features/cart/repository/cart.repository.d.ts +1 -0
- package/dist/features/cart/repository/cart.repository.js +35 -0
- package/dist/features/cart/schemas/firestore.d.ts +27 -2
- package/dist/features/categories/components/BundleAddToCartCta.d.ts +16 -0
- package/dist/features/categories/components/BundleAddToCartCta.js +54 -0
- package/dist/features/categories/components/BundleBuyNowCta.d.ts +8 -0
- package/dist/features/categories/components/BundleBuyNowCta.js +37 -0
- package/dist/features/categories/components/BundleDetailView.d.ts +22 -0
- package/dist/features/categories/components/BundleDetailView.js +31 -0
- package/dist/features/categories/components/BundleDynamicRuleEditor.d.ts +18 -0
- package/dist/features/categories/components/BundleDynamicRuleEditor.js +60 -0
- package/dist/features/categories/components/BundleItemsPicker.d.ts +26 -0
- package/dist/features/categories/components/BundleItemsPicker.js +135 -0
- package/dist/features/categories/components/BundlesListView.d.ts +13 -0
- package/dist/features/categories/components/BundlesListView.js +27 -0
- package/dist/features/categories/components/index.d.ts +12 -0
- package/dist/features/categories/components/index.js +9 -0
- package/dist/features/checkout/actions/checkout-actions.js +10 -3
- package/dist/features/events/components/AdminEventEditorView.js +108 -2
- package/dist/features/events/components/AdminEventsView.js +16 -4
- package/dist/features/events/components/EventCard.d.ts +4 -1
- package/dist/features/events/components/EventCard.js +7 -3
- package/dist/features/events/components/EventRaffleWinnerView.d.ts +21 -0
- package/dist/features/events/components/EventRaffleWinnerView.js +18 -0
- package/dist/features/events/components/SpinWheelView.d.ts +27 -0
- package/dist/features/events/components/SpinWheelView.js +64 -0
- package/dist/features/events/components/index.d.ts +4 -0
- package/dist/features/events/components/index.js +2 -0
- package/dist/features/events/schemas/firestore.d.ts +27 -1
- package/dist/features/events/schemas/firestore.js +7 -0
- package/dist/features/events/types/index.d.ts +27 -1
- package/dist/features/homepage/components/FeaturedBundlesSection.d.ts +16 -0
- package/dist/features/homepage/components/FeaturedBundlesSection.js +24 -0
- package/dist/features/homepage/components/MarketplaceHomepageView.js +4 -1
- package/dist/features/homepage/components/WhatsAppCommunitySection.js +2 -2
- package/dist/features/homepage/lib/section-renderer.d.ts +2 -0
- package/dist/features/homepage/lib/section-renderer.js +5 -5
- package/dist/features/layout/NavbarLayout.d.ts +3 -1
- package/dist/features/layout/NavbarLayout.js +32 -3
- package/dist/features/layout/TitleBarLayout.d.ts +6 -3
- package/dist/features/layout/TitleBarLayout.js +22 -7
- package/dist/features/media/upload/MediaUploadField.d.ts +15 -1
- package/dist/features/media/upload/MediaUploadField.js +22 -1
- package/dist/features/orders/components/MarketplaceOrderCard.js +4 -2
- package/dist/features/orders/components/OrderSiblingPayments.d.ts +8 -0
- package/dist/features/orders/components/OrderSiblingPayments.js +16 -0
- package/dist/features/orders/components/RefundHistoryTable.d.ts +6 -0
- package/dist/features/orders/components/RefundHistoryTable.js +23 -0
- package/dist/features/orders/components/RefundRequestView.d.ts +8 -0
- package/dist/features/orders/components/RefundRequestView.js +42 -0
- package/dist/features/orders/components/index.d.ts +6 -0
- package/dist/features/orders/components/index.js +3 -0
- package/dist/features/orders/index.d.ts +1 -0
- package/dist/features/orders/index.js +2 -0
- package/dist/features/orders/repository/orders.repository.d.ts +20 -1
- package/dist/features/orders/repository/orders.repository.js +30 -1
- package/dist/features/orders/schemas/firestore.d.ts +63 -13
- package/dist/features/orders/schemas/firestore.js +5 -5
- package/dist/features/orders/schemas/index.d.ts +4 -4
- package/dist/features/orders/types/index.d.ts +12 -2
- package/dist/features/orders/utils/bundle-grouping.d.ts +48 -0
- package/dist/features/orders/utils/bundle-grouping.js +54 -0
- package/dist/features/orders/utils/order-splitter.d.ts +9 -10
- package/dist/features/orders/utils/order-splitter.js +24 -30
- package/dist/features/payments/repository/payout.repository.d.ts +17 -1
- package/dist/features/payments/repository/payout.repository.js +47 -0
- package/dist/features/payments/schemas/firestore.d.ts +26 -0
- package/dist/features/pre-orders/components/PreorderCard.d.ts +4 -1
- package/dist/features/pre-orders/components/PreorderCard.js +8 -6
- package/dist/features/products/actions/product-actions.d.ts +1 -1
- package/dist/features/products/actions/product-actions.js +1 -1
- package/dist/features/products/components/CompareOverlay.d.ts +2 -2
- package/dist/features/products/components/CompareOverlay.js +4 -4
- package/dist/features/products/components/InteractiveProductCard.js +7 -12
- package/dist/features/products/components/NonRefundableConsentModal.d.ts +1 -1
- package/dist/features/products/components/NonRefundableConsentModal.js +0 -10
- package/dist/features/products/components/ProductGrid.js +28 -12
- package/dist/features/products/components/ShowGroupSection.js +3 -3
- package/dist/features/products/components/SublistingCarouselSection.js +2 -2
- package/dist/features/products/components/index.d.ts +0 -4
- package/dist/features/products/components/index.js +5 -2
- package/dist/features/products/index.d.ts +1 -1
- package/dist/features/products/index.js +3 -1
- package/dist/features/products/repository/products.repository.js +4 -0
- package/dist/features/products/schemas/catalog-product.d.ts +70 -0
- package/dist/features/products/schemas/catalog-product.js +50 -0
- package/dist/features/products/schemas/firestore.d.ts +110 -2
- package/dist/features/products/schemas/firestore.js +30 -0
- package/dist/features/products/schemas/index.d.ts +8 -8
- package/dist/features/products/types/index.d.ts +1 -1
- package/dist/features/products/utils/listing-type.d.ts +9 -0
- package/dist/features/products/utils/listing-type.js +4 -0
- package/dist/features/promotions/actions/coupon-actions.d.ts +2 -2
- package/dist/features/promotions/actions/coupon-actions.js +1 -1
- package/dist/features/promotions/components/CouponCard.d.ts +28 -10
- package/dist/features/promotions/components/CouponCard.js +116 -14
- package/dist/features/promotions/hooks/useCouponValidate.d.ts +1 -1
- package/dist/features/promotions/repository/coupons.repository.d.ts +1 -1
- package/dist/features/reviews/schemas/index.d.ts +2 -2
- package/dist/features/search/schemas/index.d.ts +2 -2
- package/dist/features/search/types/index.d.ts +2 -2
- package/dist/features/seller/components/SellerAuctionsView.js +4 -5
- package/dist/features/seller/components/SellerBidsView.js +5 -13
- package/dist/features/seller/components/SellerCouponsView.js +31 -67
- package/dist/features/seller/components/SellerOffersView.js +4 -5
- package/dist/features/seller/components/SellerOrdersView.js +4 -5
- package/dist/features/seller/components/SellerPayoutsView.js +4 -5
- package/dist/features/seller/components/SellerPreOrdersView.d.ts +4 -0
- package/dist/features/seller/components/SellerPreOrdersView.js +141 -0
- package/dist/features/seller/components/SellerPrizeDrawsView.d.ts +4 -0
- package/dist/features/seller/components/SellerPrizeDrawsView.js +138 -0
- package/dist/features/seller/components/SellerProductsView.js +4 -8
- package/dist/features/seller/components/index.d.ts +4 -0
- package/dist/features/seller/components/index.js +2 -0
- package/dist/features/seller/schemas/index.d.ts +2 -2
- package/dist/features/stores/actions/store-address-actions.d.ts +10 -6
- package/dist/features/stores/actions/store-address-actions.js +8 -7
- package/dist/features/stores/components/InteractiveStoreCard.js +3 -10
- package/dist/features/stores/components/StoreDetailLayoutView.js +20 -5
- package/dist/features/stores/schemas/firestore.d.ts +45 -38
- package/dist/features/stores/schemas/firestore.js +2 -49
- package/dist/features/stores/server.d.ts +0 -1
- package/dist/features/stores/server.js +2 -1
- package/dist/features/wishlist/hooks/useWishlistCount.d.ts +7 -9
- package/dist/features/wishlist/hooks/useWishlistCount.js +67 -86
- package/dist/features/wishlist/types/index.d.ts +1 -1
- package/dist/index.d.ts +56 -9
- package/dist/index.js +66 -11
- package/dist/next/routing/route-map.d.ts +6 -0
- package/dist/next/routing/route-map.js +4 -0
- package/dist/providers/db-firebase/admin.d.ts +6 -2
- package/dist/providers/db-firebase/admin.js +23 -0
- package/dist/repositories/index.d.ts +1 -2
- package/dist/repositories/index.js +5 -2
- package/dist/security/authorization.d.ts +2 -1
- package/dist/security/authorization.js +3 -2
- package/dist/seed/actions/demo-seed-actions.d.ts +1 -1
- package/dist/seed/bids-seed-data.d.ts +2 -2
- package/dist/seed/bids-seed-data.js +77 -2
- package/dist/seed/cart-seed-data.d.ts +10 -10
- package/dist/seed/cart-seed-data.js +15 -15
- package/dist/seed/events-seed-data.js +77 -0
- package/dist/seed/manifest.js +16 -8
- package/dist/seed/orders-seed-data.js +41 -2
- package/dist/seed/payouts-seed-data.js +18 -2
- package/dist/seed/stores-seed-data.js +55 -0
- package/dist/server-entry.d.ts +1 -0
- package/dist/server-entry.js +2 -0
- package/dist/server.d.ts +4 -0
- package/dist/server.js +8 -0
- package/dist/tailwind-utilities.css +1 -1
- package/dist/ui/components/FilterChipGroup.d.ts +39 -0
- package/dist/ui/components/FilterChipGroup.js +15 -0
- package/dist/ui/components/HorizontalScroller.js +32 -7
- package/dist/ui/components/HorizontalScroller.style.css +6 -0
- package/dist/ui/components/SiteLogo.js +1 -1
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.js +2 -0
- package/dist/utils/id-generators.d.ts +11 -0
- package/dist/utils/id-generators.js +16 -0
- package/package.json +1 -1
- package/dist/_internal/shared/features/bundles/config.d.ts +0 -6
- package/dist/_internal/shared/features/bundles/config.js +0 -6
- package/dist/_internal/shared/schema-versions.d.ts +0 -76
- package/dist/_internal/shared/schema-versions.js +0 -82
- package/dist/features/account/migrations.d.ts +0 -2
- package/dist/features/account/migrations.js +0 -10
- package/dist/features/admin/migrations.d.ts +0 -2
- package/dist/features/admin/migrations.js +0 -10
- package/dist/features/auctions/migrations.d.ts +0 -2
- package/dist/features/auctions/migrations.js +0 -10
- package/dist/features/auth/migrations.d.ts +0 -2
- package/dist/features/auth/migrations.js +0 -10
- package/dist/features/blog/migrations.d.ts +0 -2
- package/dist/features/blog/migrations.js +0 -10
- package/dist/features/brands/actions/brand-actions.d.ts +0 -2
- package/dist/features/brands/actions/brand-actions.js +0 -5
- package/dist/features/brands/index.d.ts +0 -3
- package/dist/features/brands/index.js +0 -3
- package/dist/features/brands/migrations.d.ts +0 -2
- package/dist/features/brands/migrations.js +0 -10
- package/dist/features/brands/repository/brands.repository.d.ts +0 -13
- package/dist/features/brands/repository/brands.repository.js +0 -60
- package/dist/features/brands/schemas/index.d.ts +0 -33
- package/dist/features/brands/schemas/index.js +0 -15
- package/dist/features/brands/server.d.ts +0 -7
- package/dist/features/brands/server.js +0 -7
- package/dist/features/bundles/components/AdminBundleEditorView.d.ts +0 -8
- package/dist/features/bundles/components/AdminBundleEditorView.js +0 -7
- package/dist/features/bundles/components/BundleDetailPageView.d.ts +0 -9
- package/dist/features/bundles/components/BundleDetailPageView.js +0 -45
- package/dist/features/bundles/components/BundleForm.d.ts +0 -12
- package/dist/features/bundles/components/BundleForm.js +0 -126
- package/dist/features/bundles/components/BundleItemsPicker.d.ts +0 -9
- package/dist/features/bundles/components/BundleItemsPicker.js +0 -77
- package/dist/features/bundles/components/BundlesByCategoryListing.d.ts +0 -6
- package/dist/features/bundles/components/BundlesByCategoryListing.js +0 -50
- package/dist/features/bundles/components/BundlesListingView.d.ts +0 -17
- package/dist/features/bundles/components/BundlesListingView.js +0 -50
- package/dist/features/bundles/components/FeaturedBundlesSection.d.ts +0 -5
- package/dist/features/bundles/components/FeaturedBundlesSection.js +0 -55
- package/dist/features/bundles/components/SellerBundleCreateView.d.ts +0 -8
- package/dist/features/bundles/components/SellerBundleCreateView.js +0 -7
- package/dist/features/bundles/components/SellerBundleEditView.d.ts +0 -9
- package/dist/features/bundles/components/SellerBundleEditView.js +0 -7
- package/dist/features/bundles/components/index.d.ts +0 -18
- package/dist/features/bundles/components/index.js +0 -9
- package/dist/features/bundles/constants/index.d.ts +0 -32
- package/dist/features/bundles/constants/index.js +0 -35
- package/dist/features/bundles/index.d.ts +0 -2
- package/dist/features/bundles/index.js +0 -2
- package/dist/features/bundles/migrations.d.ts +0 -2
- package/dist/features/bundles/migrations.js +0 -10
- package/dist/features/bundles/repository/bundles.repository.d.ts +0 -36
- package/dist/features/bundles/repository/bundles.repository.js +0 -148
- package/dist/features/bundles/repository/index.d.ts +0 -1
- package/dist/features/bundles/repository/index.js +0 -1
- package/dist/features/bundles/schemas/firestore.d.ts +0 -88
- package/dist/features/bundles/schemas/firestore.js +0 -29
- package/dist/features/bundles/schemas/zod.d.ts +0 -377
- package/dist/features/bundles/schemas/zod.js +0 -71
- package/dist/features/cart/migrations.d.ts +0 -2
- package/dist/features/cart/migrations.js +0 -10
- package/dist/features/categories/migrations.d.ts +0 -2
- package/dist/features/categories/migrations.js +0 -10
- package/dist/features/events/migrations.d.ts +0 -2
- package/dist/features/events/migrations.js +0 -10
- package/dist/features/faq/migrations.d.ts +0 -2
- package/dist/features/faq/migrations.js +0 -10
- package/dist/features/grouped/migrations.d.ts +0 -2
- package/dist/features/grouped/migrations.js +0 -10
- package/dist/features/history/migrations.d.ts +0 -2
- package/dist/features/history/migrations.js +0 -10
- package/dist/features/messages/migrations.d.ts +0 -2
- package/dist/features/messages/migrations.js +0 -10
- package/dist/features/orders/migrations.d.ts +0 -2
- package/dist/features/orders/migrations.js +0 -10
- package/dist/features/payments/migrations.d.ts +0 -2
- package/dist/features/payments/migrations.js +0 -10
- package/dist/features/products/migrations.d.ts +0 -2
- package/dist/features/products/migrations.js +0 -10
- package/dist/features/products/repository/sublisting-categories.repository.d.ts +0 -16
- package/dist/features/products/repository/sublisting-categories.repository.js +0 -126
- package/dist/features/products/schemas/sublisting-categories.d.ts +0 -45
- package/dist/features/products/schemas/sublisting-categories.js +0 -16
- package/dist/features/promotions/migrations.d.ts +0 -2
- package/dist/features/promotions/migrations.js +0 -10
- package/dist/features/reviews/migrations.d.ts +0 -2
- package/dist/features/reviews/migrations.js +0 -10
- package/dist/features/scams/migrations.d.ts +0 -2
- package/dist/features/scams/migrations.js +0 -10
- package/dist/features/seller/migrations.d.ts +0 -2
- package/dist/features/seller/migrations.js +0 -10
- package/dist/features/stores/migrations.d.ts +0 -2
- package/dist/features/stores/migrations.js +0 -10
- package/dist/features/sublisting/migrations.d.ts +0 -2
- package/dist/features/sublisting/migrations.js +0 -10
- package/dist/features/sublisting/schemas/firestore.d.ts +0 -32
- package/dist/features/sublisting/schemas/firestore.js +0 -19
- package/dist/features/support/migrations.d.ts +0 -2
- package/dist/features/support/migrations.js +0 -10
- package/dist/features/wishlist/migrations.d.ts +0 -2
- package/dist/features/wishlist/migrations.js +0 -10
- package/dist/seed/_bundle-constants.d.ts +0 -14
- package/dist/seed/_bundle-constants.js +0 -14
- package/dist/seed/anime-figures-seed-data.d.ts +0 -8
- package/dist/seed/anime-figures-seed-data.js +0 -1033
- package/dist/seed/beyblade-seed-data.d.ts +0 -7
- package/dist/seed/beyblade-seed-data.js +0 -1129
- package/dist/seed/brands-seed-data.d.ts +0 -7
- package/dist/seed/brands-seed-data.js +0 -410
- package/dist/seed/bundles-seed-data.d.ts +0 -13
- package/dist/seed/bundles-seed-data.js +0 -229
- package/dist/seed/cosplay-accessories-seed-data.d.ts +0 -8
- package/dist/seed/cosplay-accessories-seed-data.js +0 -647
- package/dist/seed/hot-wheels-seed-data.d.ts +0 -7
- package/dist/seed/hot-wheels-seed-data.js +0 -1612
- package/dist/seed/letitrip-official-seed-data.d.ts +0 -8
- package/dist/seed/letitrip-official-seed-data.js +0 -399
- package/dist/seed/pokemon-carousel-slides-seed-data.d.ts +0 -8
- package/dist/seed/pokemon-carousel-slides-seed-data.js +0 -322
- package/dist/seed/pokemon-categories-seed-data.d.ts +0 -24
- package/dist/seed/pokemon-categories-seed-data.js +0 -547
- package/dist/seed/pokemon-coupons-seed-data.d.ts +0 -6
- package/dist/seed/pokemon-coupons-seed-data.js +0 -465
- package/dist/seed/pokemon-homepage-sections-seed-data.d.ts +0 -7
- package/dist/seed/pokemon-homepage-sections-seed-data.js +0 -241
- package/dist/seed/pokemon-products-seed-data.d.ts +0 -9
- package/dist/seed/pokemon-products-seed-data.js +0 -1791
- package/dist/seed/pokemon-seed-bundle.d.ts +0 -47
- package/dist/seed/pokemon-seed-bundle.js +0 -71
- package/dist/seed/pokemon-stores-seed-data.d.ts +0 -6
- package/dist/seed/pokemon-stores-seed-data.js +0 -179
- package/dist/seed/pokemon-users-seed-data.d.ts +0 -6
- package/dist/seed/pokemon-users-seed-data.js +0 -521
- package/dist/seed/products-seed-data.d.ts +0 -6
- package/dist/seed/products-seed-data.js +0 -2530
- package/dist/seed/retro-gaming-seed-data.d.ts +0 -8
- package/dist/seed/retro-gaming-seed-data.js +0 -801
- package/dist/seed/server.d.ts +0 -2
- package/dist/seed/server.js +0 -7
- package/dist/seed/sublisting-categories-seed-data.d.ts +0 -7
- package/dist/seed/sublisting-categories-seed-data.js +0 -159
- package/dist/seed/transformers-seed-data.d.ts +0 -7
- package/dist/seed/transformers-seed-data.js +0 -530
|
@@ -3,8 +3,9 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
3
3
|
import React, { useState, useCallback } from "react";
|
|
4
4
|
import { X } from "lucide-react";
|
|
5
5
|
import { useUrlTable } from "../../../react/hooks/useUrlTable";
|
|
6
|
-
import { ListingToolbar, Pagination, ListingViewShell, RowActionMenu } from "../../../ui";
|
|
6
|
+
import { FilterChipGroup, ListingToolbar, Pagination, ListingViewShell, RowActionMenu } from "../../../ui";
|
|
7
7
|
import { ADMIN_ENDPOINTS } from "../../../constants/api-endpoints";
|
|
8
|
+
import { ADMIN_USER_STATUS_TABS, ADMIN_USER_ROLE_TABS } from "../constants/filter-tabs";
|
|
8
9
|
import { toRecordArray, toRelativeDate, toStringValue, useAdminListingData, } from "../hooks/useAdminListingData";
|
|
9
10
|
import { DataTable } from "./DataTable";
|
|
10
11
|
import { AdminUserEditorView } from "./AdminUserEditorView";
|
|
@@ -16,13 +17,22 @@ const SORT_OPTIONS = [
|
|
|
16
17
|
{ value: "createdAt", label: "Oldest" },
|
|
17
18
|
{ value: "displayName", label: "Name A–Z" },
|
|
18
19
|
];
|
|
19
|
-
const STATUS_OPTIONS =
|
|
20
|
-
const ROLE_OPTIONS =
|
|
20
|
+
const STATUS_OPTIONS = ADMIN_USER_STATUS_TABS;
|
|
21
|
+
const ROLE_OPTIONS = ADMIN_USER_ROLE_TABS;
|
|
21
22
|
export function AdminUsersView({ children, ...props }) {
|
|
22
23
|
const hasChildren = React.Children.count(children) > 0;
|
|
23
24
|
const table = useUrlTable({ defaults: { pageSize: String(PAGE_SIZE), sort: DEFAULT_SORT } });
|
|
24
25
|
const [searchInput, setSearchInput] = useState(table.get("q") || "");
|
|
25
26
|
const [filterOpen, setFilterOpen] = useState(false);
|
|
27
|
+
const [selectedIds, setSelectedIds] = useState(new Set());
|
|
28
|
+
const toggleSelect = (id, next) => setSelectedIds((prev) => {
|
|
29
|
+
const s = new Set(prev);
|
|
30
|
+
if (next)
|
|
31
|
+
s.add(id);
|
|
32
|
+
else
|
|
33
|
+
s.delete(id);
|
|
34
|
+
return s;
|
|
35
|
+
});
|
|
26
36
|
const [pendingFilters, setPendingFilters] = useState(() => Object.fromEntries(FILTER_KEYS.map((k) => [k, table.get(k)])));
|
|
27
37
|
const [drawerOpen, setDrawerOpen] = useState(false);
|
|
28
38
|
const [selectedRow, setSelectedRow] = useState(null);
|
|
@@ -93,8 +103,8 @@ export function AdminUsersView({ children, ...props }) {
|
|
|
93
103
|
if (hasChildren) {
|
|
94
104
|
return _jsx(ListingViewShell, { portal: "admin", ...props, children: children });
|
|
95
105
|
}
|
|
96
|
-
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "min-h-screen", children: [_jsx(ListingToolbar, { filterCount: activeFilterCount, onFiltersClick: openFilters, searchValue: searchInput, searchPlaceholder: "Search users, email, or seller handles", onSearchChange: setSearchInput, onSearchCommit: commitSearch, sortValue: table.get("sort") || DEFAULT_SORT, sortOptions: SORT_OPTIONS, onSortChange: (v) => { table.set("sort", v); table.setPage(1); }, hideViewToggle: true, onResetAll: resetAll, hasActiveState: hasActiveState }), totalPages > 1 && (_jsx("div", { className: "sticky top-[calc(var(--header-height,0px)+44px)] z-10 flex justify-center bg-white/95 dark:bg-slate-900/95 backdrop-blur-sm border-b border-zinc-200 dark:border-slate-700 px-3 py-1.5", children: _jsx(Pagination, { currentPage: currentPage, totalPages: totalPages, onPageChange: (p) => table.setPage(p) }) })), _jsxs("div", { className: "py-4 px-3 sm:px-4", children: [errorMessage && (_jsx("div", { className: "mb-4 rounded-xl border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-700 dark:border-red-900/60 dark:bg-red-950/40 dark:text-red-200", children: errorMessage })), _jsx(DataTable, { rows: rows, isLoading: isLoading, emptyLabel: "No users found", renderRowActions: (row) => (_jsx(RowActionMenu, { actions: [{
|
|
106
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "min-h-screen", children: [_jsx(ListingToolbar, { filterCount: activeFilterCount, onFiltersClick: openFilters, searchValue: searchInput, searchPlaceholder: "Search users, email, or seller handles", onSearchChange: setSearchInput, onSearchCommit: commitSearch, sortValue: table.get("sort") || DEFAULT_SORT, sortOptions: SORT_OPTIONS, onSortChange: (v) => { table.set("sort", v); table.setPage(1); }, hideViewToggle: true, onResetAll: resetAll, hasActiveState: hasActiveState }), totalPages > 1 && (_jsx("div", { className: "sticky top-[calc(var(--header-height,0px)+44px)] z-10 flex justify-center bg-white/95 dark:bg-slate-900/95 backdrop-blur-sm border-b border-zinc-200 dark:border-slate-700 px-3 py-1.5", children: _jsx(Pagination, { currentPage: currentPage, totalPages: totalPages, onPageChange: (p) => table.setPage(p) }) })), _jsxs("div", { className: "py-4 px-3 sm:px-4", children: [errorMessage && (_jsx("div", { className: "mb-4 rounded-xl border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-700 dark:border-red-900/60 dark:bg-red-950/40 dark:text-red-200", children: errorMessage })), _jsx(DataTable, { rows: rows, isLoading: isLoading, emptyLabel: "No users found", selectedIds: selectedIds, onToggleSelect: toggleSelect, onToggleSelectAll: (next) => setSelectedIds(next ? new Set(rows.map((r) => r.id)) : new Set()), renderRowActions: (row) => (_jsx(RowActionMenu, { actions: [{
|
|
97
107
|
label: "Manage",
|
|
98
108
|
onClick: () => { setSelectedRow(row); setDrawerOpen(true); },
|
|
99
|
-
}] })) })] }), filterOpen && (_jsxs(_Fragment, { children: [_jsx("div", { className: "fixed inset-0 z-40 bg-black/40", "aria-hidden": "true", onClick: () => setFilterOpen(false) }), _jsxs("div", { className: "fixed inset-y-0 left-0 z-50 flex w-80 flex-col bg-white dark:bg-slate-900 shadow-2xl", children: [_jsxs("div", { className: "flex items-center justify-between border-b border-zinc-200 dark:border-slate-700 px-4 py-3.5", children: [_jsx("span", { className: "text-base font-semibold text-zinc-900 dark:text-zinc-100", children: "Filters" }), _jsxs("div", { className: "flex items-center gap-2", children: [activeFilterCount > 0 && (_jsx("button", { type: "button", onClick: clearFilters, className: "text-xs text-zinc-500 hover:text-rose-500 dark:text-zinc-400 transition-colors", children: "Clear all" })), _jsx("button", { type: "button", onClick: () => setFilterOpen(false), "aria-label": "Close", className: "rounded-lg p-1.5 text-zinc-500 hover:bg-zinc-100 dark:hover:bg-slate-800 transition-colors", children: _jsx(X, { className: "h-5 w-5" }) })] })] }), _jsxs("div", { className: "flex-1 overflow-y-auto px-4 py-4 space-y-5", children: [
|
|
109
|
+
}] })) })] }), filterOpen && (_jsxs(_Fragment, { children: [_jsx("div", { className: "fixed inset-0 z-40 bg-black/40", "aria-hidden": "true", onClick: () => setFilterOpen(false) }), _jsxs("div", { className: "fixed inset-y-0 left-0 z-50 flex w-80 flex-col bg-white dark:bg-slate-900 shadow-2xl", children: [_jsxs("div", { className: "flex items-center justify-between border-b border-zinc-200 dark:border-slate-700 px-4 py-3.5", children: [_jsx("span", { className: "text-base font-semibold text-zinc-900 dark:text-zinc-100", children: "Filters" }), _jsxs("div", { className: "flex items-center gap-2", children: [activeFilterCount > 0 && (_jsx("button", { type: "button", onClick: clearFilters, className: "text-xs text-zinc-500 hover:text-rose-500 dark:text-zinc-400 transition-colors", children: "Clear all" })), _jsx("button", { type: "button", onClick: () => setFilterOpen(false), "aria-label": "Close", className: "rounded-lg p-1.5 text-zinc-500 hover:bg-zinc-100 dark:hover:bg-slate-800 transition-colors", children: _jsx(X, { className: "h-5 w-5" }) })] })] }), _jsxs("div", { className: "flex-1 overflow-y-auto px-4 py-4 space-y-5", children: [_jsx(FilterChipGroup, { label: "Status", tabs: STATUS_OPTIONS, value: pendingFilters.status ?? "", onChange: (id) => setPendingFilters((p) => ({ ...p, status: id })) }), _jsx(FilterChipGroup, { label: "Role", tabs: ROLE_OPTIONS, value: pendingFilters.role ?? "", onChange: (id) => setPendingFilters((p) => ({ ...p, role: id })) })] }), _jsx("div", { className: "border-t border-zinc-200 dark:border-slate-700 px-4 py-3.5", children: _jsxs("button", { type: "button", onClick: applyFilters, className: "w-full rounded-lg bg-primary py-2.5 text-sm font-semibold text-white hover:bg-primary-600 transition-colors active:scale-[0.98]", children: ["Apply Filters", activeFilterCount > 0 ? ` (${activeFilterCount})` : ""] }) })] })] }))] }), _jsx(AdminUserEditorView, { open: drawerOpen, onClose: () => setDrawerOpen(false), userId: selectedRow?.id, displayName: selectedRow?.primary, currentRole: toStringValue(selectedRow?._raw?.role, "user"), currentIsDisabled: selectedRow?.status === "Disabled", currentEmailVerified: Boolean(selectedRow?._raw?.emailVerified), ownedStoreId: toStringValue(selectedRow?._raw?.storeId, "") || undefined, ownedStoreName: toStringValue(selectedRow?._raw?.storeName, "") || undefined })] }));
|
|
100
110
|
}
|
|
@@ -17,6 +17,15 @@ export function AdminWishlistsView({ children, ...props }) {
|
|
|
17
17
|
const hasChildren = React.Children.count(children) > 0;
|
|
18
18
|
const table = useUrlTable({ defaults: { pageSize: String(PAGE_SIZE), sort: DEFAULT_SORT } });
|
|
19
19
|
const [searchInput, setSearchInput] = useState(table.get("q") || "");
|
|
20
|
+
const [selectedIds, setSelectedIds] = useState(new Set());
|
|
21
|
+
const toggleSelect = (id, next) => setSelectedIds((prev) => {
|
|
22
|
+
const s = new Set(prev);
|
|
23
|
+
if (next)
|
|
24
|
+
s.add(id);
|
|
25
|
+
else
|
|
26
|
+
s.delete(id);
|
|
27
|
+
return s;
|
|
28
|
+
});
|
|
20
29
|
const resetAll = useCallback(() => {
|
|
21
30
|
table.setMany({ q: "", sort: "" });
|
|
22
31
|
setSearchInput("");
|
|
@@ -51,5 +60,5 @@ export function AdminWishlistsView({ children, ...props }) {
|
|
|
51
60
|
if (hasChildren) {
|
|
52
61
|
return _jsx(ListingViewShell, { portal: "admin", ...props, children: children });
|
|
53
62
|
}
|
|
54
|
-
return (_jsxs("div", { className: "min-h-screen", children: [_jsx(ListingToolbar, { filterCount: 0, searchValue: searchInput, searchPlaceholder: "Search by user ID", onSearchChange: setSearchInput, onSearchCommit: commitSearch, sortValue: table.get("sort") || DEFAULT_SORT, sortOptions: SORT_OPTIONS, onSortChange: (v) => { table.set("sort", v); table.setPage(1); }, hideViewToggle: true, onResetAll: resetAll, hasActiveState: hasActiveState }), totalPages > 1 && (_jsx("div", { className: "sticky top-[calc(var(--header-height,0px)+44px)] z-10 flex justify-center bg-white/95 dark:bg-slate-900/95 backdrop-blur-sm border-b border-zinc-200 dark:border-slate-700 px-3 py-1.5", children: _jsx(Pagination, { currentPage: currentPage, totalPages: totalPages, onPageChange: (p) => table.setPage(p) }) })), _jsxs("div", { className: "py-4 px-3 sm:px-4", children: [errorMessage && (_jsx("div", { className: "mb-4 rounded-xl border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-700 dark:border-red-900/60 dark:bg-red-950/40 dark:text-red-200", children: errorMessage })), _jsx(DataTable, { rows: rows, isLoading: isLoading, emptyLabel: "No user wishlists found" })] })] }));
|
|
63
|
+
return (_jsxs("div", { className: "min-h-screen", children: [_jsx(ListingToolbar, { filterCount: 0, searchValue: searchInput, searchPlaceholder: "Search by user ID", onSearchChange: setSearchInput, onSearchCommit: commitSearch, sortValue: table.get("sort") || DEFAULT_SORT, sortOptions: SORT_OPTIONS, onSortChange: (v) => { table.set("sort", v); table.setPage(1); }, hideViewToggle: true, onResetAll: resetAll, hasActiveState: hasActiveState }), totalPages > 1 && (_jsx("div", { className: "sticky top-[calc(var(--header-height,0px)+44px)] z-10 flex justify-center bg-white/95 dark:bg-slate-900/95 backdrop-blur-sm border-b border-zinc-200 dark:border-slate-700 px-3 py-1.5", children: _jsx(Pagination, { currentPage: currentPage, totalPages: totalPages, onPageChange: (p) => table.setPage(p) }) })), _jsxs("div", { className: "py-4 px-3 sm:px-4", children: [errorMessage && (_jsx("div", { className: "mb-4 rounded-xl border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-700 dark:border-red-900/60 dark:bg-red-950/40 dark:text-red-200", children: errorMessage })), _jsx(DataTable, { rows: rows, isLoading: isLoading, emptyLabel: "No user wishlists found", selectedIds: selectedIds, onToggleSelect: toggleSelect, onToggleSelectAll: (next) => setSelectedIds(next ? new Set(rows.map((r) => r.id)) : new Set()) })] })] }));
|
|
55
64
|
}
|
|
@@ -16,8 +16,12 @@ interface DataTableProps<T extends {
|
|
|
16
16
|
currentPage?: number;
|
|
17
17
|
onPageChange?: (page: number) => void;
|
|
18
18
|
emptyLabel?: string;
|
|
19
|
+
/** When provided, renders a leading checkbox column + long-press to toggle. */
|
|
20
|
+
selectedIds?: Set<string>;
|
|
21
|
+
onToggleSelect?: (id: string, selected: boolean) => void;
|
|
22
|
+
onToggleSelectAll?: (nextAllSelected: boolean) => void;
|
|
19
23
|
}
|
|
20
24
|
export declare function DataTable<T extends {
|
|
21
25
|
id: string;
|
|
22
|
-
}>({ columns: columnsProp, rows, isLoading, sortKey, sortDir, onSort, totalPages, currentPage, onPageChange, emptyLabel, getRowHref, onRowClick, renderRowActions, }: DataTableProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
}>({ columns: columnsProp, rows, isLoading, sortKey, sortDir, onSort, totalPages, currentPage, onPageChange, emptyLabel, getRowHref, onRowClick, renderRowActions, selectedIds, onToggleSelect, onToggleSelectAll, }: DataTableProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
23
27
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Button, Div, Span } from "../../../ui";
|
|
3
|
+
import { BaseListingCard, Button, Div, Span } from "../../../ui";
|
|
4
|
+
import { useLongPress } from "../../../react/hooks/useLongPress";
|
|
4
5
|
const DEFAULT_COLUMNS = [
|
|
5
6
|
{
|
|
6
7
|
key: "primary",
|
|
@@ -20,24 +21,27 @@ const DEFAULT_COLUMNS = [
|
|
|
20
21
|
render: (row) => _jsx("span", { className: "text-sm text-zinc-500 dark:text-zinc-400", children: String(row.updatedAt ?? "") }),
|
|
21
22
|
},
|
|
22
23
|
];
|
|
23
|
-
|
|
24
|
+
function SelectableRow({ row, columns, isSelected, onToggle, renderRowActions, onRowClick, rowHref, selectionEnabled, }) {
|
|
25
|
+
const longPress = useLongPress(() => onToggle?.(row.id, !isSelected));
|
|
26
|
+
const handleClick = onRowClick
|
|
27
|
+
? () => onRowClick(row)
|
|
28
|
+
: rowHref
|
|
29
|
+
? () => { window.location.href = rowHref; }
|
|
30
|
+
: undefined;
|
|
31
|
+
const handleKeyDown = handleClick
|
|
32
|
+
? (event) => {
|
|
33
|
+
if (event.key === "Enter" || event.key === " ")
|
|
34
|
+
handleClick();
|
|
35
|
+
}
|
|
36
|
+
: undefined;
|
|
37
|
+
const isInteractive = Boolean(onRowClick ?? rowHref);
|
|
38
|
+
return (_jsxs("tr", { onClick: handleClick, onKeyDown: handleKeyDown, role: isInteractive ? "link" : undefined, tabIndex: isInteractive ? 0 : undefined, onMouseDown: selectionEnabled && !isSelected ? longPress.onMouseDown : undefined, onMouseUp: selectionEnabled && !isSelected ? longPress.onMouseUp : undefined, onMouseLeave: selectionEnabled && !isSelected ? longPress.onMouseLeave : undefined, onTouchStart: selectionEnabled && !isSelected ? longPress.onTouchStart : undefined, onTouchEnd: selectionEnabled && !isSelected ? longPress.onTouchEnd : undefined, className: `border-b border-neutral-100 dark:border-slate-700 hover:bg-neutral-50 dark:hover:bg-slate-800 ${isInteractive ? "cursor-pointer" : ""} ${isSelected ? "bg-primary/5 dark:bg-primary/10" : ""}`, children: [selectionEnabled && (_jsx("td", { className: "relative w-10 px-2 py-3", onClick: (e) => e.stopPropagation(), children: _jsx(BaseListingCard.Checkbox, { selected: isSelected, onSelect: (e) => { e.preventDefault(); onToggle?.(row.id, !isSelected); }, label: isSelected ? "Deselect row" : "Select row", position: "top-1/2 left-2 -translate-y-1/2" }) })), columns.map((col) => (_jsx("td", { className: `px-4 py-3 text-neutral-700 dark:text-zinc-300 ${col.className ?? ""}`, children: col.render
|
|
39
|
+
? col.render(row)
|
|
40
|
+
: String(row[col.key] ?? "") }, col.key))), renderRowActions && (_jsx("td", { className: "px-2 py-3", onClick: (e) => e.stopPropagation(), children: renderRowActions(row) }))] }));
|
|
41
|
+
}
|
|
42
|
+
export function DataTable({ columns: columnsProp, rows, isLoading, sortKey, sortDir, onSort, totalPages = 1, currentPage = 1, onPageChange, emptyLabel = "No records found", getRowHref, onRowClick, renderRowActions, selectedIds, onToggleSelect, onToggleSelectAll, }) {
|
|
24
43
|
const columns = (columnsProp ?? DEFAULT_COLUMNS);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
? () => onRowClick(row)
|
|
29
|
-
: rowHref
|
|
30
|
-
? () => { window.location.href = rowHref; }
|
|
31
|
-
: undefined;
|
|
32
|
-
const handleKeyDown = handleClick
|
|
33
|
-
? (event) => {
|
|
34
|
-
if (event.key === "Enter" || event.key === " ")
|
|
35
|
-
handleClick();
|
|
36
|
-
}
|
|
37
|
-
: undefined;
|
|
38
|
-
const isInteractive = Boolean(onRowClick ?? rowHref);
|
|
39
|
-
return (_jsxs("tr", { onClick: handleClick, onKeyDown: handleKeyDown, role: isInteractive ? "link" : undefined, tabIndex: isInteractive ? 0 : undefined, className: `border-b border-neutral-100 dark:border-slate-700 hover:bg-neutral-50 dark:hover:bg-slate-800 ${isInteractive ? "cursor-pointer" : ""}`, children: [columns.map((col) => (_jsx("td", { className: `px-4 py-3 text-neutral-700 dark:text-zinc-300 ${col.className ?? ""}`, children: col.render
|
|
40
|
-
? col.render(row)
|
|
41
|
-
: String(row[col.key] ?? "") }, col.key))), renderRowActions && (_jsx("td", { className: "px-2 py-3", onClick: (e) => e.stopPropagation(), children: renderRowActions(row) }))] }, row.id));
|
|
42
|
-
})) })] }) }), totalPages > 1 && onPageChange && (_jsx(Div, { className: "flex items-center justify-end gap-2 border-t border-neutral-200 dark:border-slate-700 px-4 py-3", children: Array.from({ length: totalPages }, (_, i) => i + 1).map((p) => (_jsx(Button, { onClick: () => onPageChange(p), variant: p === currentPage ? "primary" : "ghost", size: "sm", className: `h-8 w-8 rounded text-xs font-medium transition ${p === currentPage ? "bg-neutral-900 text-white" : "text-neutral-600 dark:text-zinc-300 hover:bg-neutral-100 dark:hover:bg-slate-800"}`, children: p }, p))) }))] }));
|
|
44
|
+
const selectionEnabled = Boolean(onToggleSelect);
|
|
45
|
+
const allRowsSelected = selectionEnabled && rows.length > 0 && rows.every((r) => selectedIds?.has(r.id));
|
|
46
|
+
return (_jsxs(Div, { className: "overflow-hidden rounded-xl border border-neutral-200 dark:border-slate-700 bg-white dark:bg-slate-900", children: [_jsx(Div, { className: "overflow-x-auto", children: _jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b border-neutral-200 dark:border-slate-700 bg-neutral-50 dark:bg-slate-800", children: [selectionEnabled && (_jsx("th", { scope: "col", className: "w-10 px-2 py-3", children: onToggleSelectAll && (_jsx("input", { type: "checkbox", "aria-label": allRowsSelected ? "Deselect all" : "Select all", checked: allRowsSelected, onChange: () => onToggleSelectAll(!allRowsSelected), className: "h-4 w-4 rounded border-zinc-300 dark:border-slate-600 accent-zinc-900 dark:accent-zinc-100" })) })), columns.map((col) => (_jsxs("th", { scope: "col", onClick: col.sortable && onSort ? () => onSort(col.key) : undefined, className: `px-4 py-3 text-left font-semibold text-neutral-900 dark:text-zinc-100 ${col.sortable && onSort ? "cursor-pointer select-none hover:text-primary" : ""} ${col.className ?? ""}`, children: [col.header, col.sortable && sortKey === col.key && (_jsx(Span, { className: "ml-1", children: sortDir === "asc" ? "↑" : "↓" }))] }, col.key))), renderRowActions && _jsx("th", { scope: "col", className: "w-12 px-2 py-3" })] }) }), _jsx("tbody", { children: isLoading ? (Array.from({ length: 5 }).map((_, i) => (_jsxs("tr", { className: "border-b border-neutral-100 dark:border-slate-700", children: [selectionEnabled && _jsx("td", { className: "w-10 px-2 py-3" }), columns.map((col) => (_jsx("td", { className: "px-4 py-3", children: _jsx(Div, { className: "h-4 w-full animate-pulse rounded bg-neutral-200 dark:bg-slate-700" }) }, col.key)))] }, i)))) : rows.length === 0 ? (_jsx("tr", { children: _jsx("td", { colSpan: columns.length + (selectionEnabled ? 1 : 0) + (renderRowActions ? 1 : 0), className: "px-4 py-12 text-center text-neutral-500 dark:text-zinc-400", children: emptyLabel }) })) : (rows.map((row) => (_jsx(SelectableRow, { row: row, columns: columns, isSelected: selectedIds?.has(row.id) ?? false, onToggle: onToggleSelect, renderRowActions: renderRowActions, onRowClick: onRowClick, rowHref: getRowHref?.(row), selectionEnabled: selectionEnabled }, row.id)))) })] }) }), totalPages > 1 && onPageChange && (_jsx(Div, { className: "flex items-center justify-end gap-2 border-t border-neutral-200 dark:border-slate-700 px-4 py-3", children: Array.from({ length: totalPages }, (_, i) => i + 1).map((p) => (_jsx(Button, { onClick: () => onPageChange(p), variant: p === currentPage ? "primary" : "ghost", size: "sm", className: `h-8 w-8 rounded text-xs font-medium transition ${p === currentPage ? "bg-neutral-900 text-white" : "text-neutral-600 dark:text-zinc-300 hover:bg-neutral-100 dark:hover:bg-slate-800"}`, children: p }, p))) }))] }));
|
|
43
47
|
}
|
|
@@ -30,6 +30,12 @@ export { AdminBrandsView } from "./AdminBrandsView";
|
|
|
30
30
|
export type { AdminBrandsViewProps } from "./AdminBrandsView";
|
|
31
31
|
export { AdminBrandEditorView } from "./AdminBrandEditorView";
|
|
32
32
|
export type { AdminBrandEditorViewProps } from "./AdminBrandEditorView";
|
|
33
|
+
export { AdminPrizeDrawsView } from "./AdminPrizeDrawsView";
|
|
34
|
+
export type { AdminPrizeDrawsViewProps } from "./AdminPrizeDrawsView";
|
|
35
|
+
export { AdminBundlesView } from "./AdminBundlesView";
|
|
36
|
+
export type { AdminBundlesViewProps } from "./AdminBundlesView";
|
|
37
|
+
export { AdminBundleEditorView } from "./AdminBundleEditorView";
|
|
38
|
+
export type { AdminBundleEditorViewProps } from "./AdminBundleEditorView";
|
|
33
39
|
export { AdminSublistingCategoriesView } from "./AdminSublistingCategoriesView";
|
|
34
40
|
export { AdminSublistingCategoryEditorView } from "./AdminSublistingCategoryEditorView";
|
|
35
41
|
export type { AdminSublistingCategoryEditorViewProps } from "./AdminSublistingCategoryEditorView";
|
|
@@ -15,6 +15,11 @@ export { AdminCategoriesView } from "./AdminCategoriesView";
|
|
|
15
15
|
export { AdminCategoryEditorView } from "./AdminCategoryEditorView";
|
|
16
16
|
export { AdminBrandsView } from "./AdminBrandsView";
|
|
17
17
|
export { AdminBrandEditorView } from "./AdminBrandEditorView";
|
|
18
|
+
// SB4-E 2026-05-14 — admin prize draws listing view.
|
|
19
|
+
export { AdminPrizeDrawsView } from "./AdminPrizeDrawsView";
|
|
20
|
+
// S-SBUNI-4 2026-05-13 — admin bundle CRUD views.
|
|
21
|
+
export { AdminBundlesView } from "./AdminBundlesView";
|
|
22
|
+
export { AdminBundleEditorView } from "./AdminBundleEditorView";
|
|
18
23
|
export { AdminSublistingCategoriesView } from "./AdminSublistingCategoriesView";
|
|
19
24
|
export { AdminSublistingCategoryEditorView } from "./AdminSublistingCategoryEditorView";
|
|
20
25
|
export { AdminFeaturesView } from "./AdminFeaturesView";
|
|
@@ -0,0 +1,435 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Admin filter-chip tab sets (SB10-C completion, S8 2026-05-13).
|
|
3
|
+
*
|
|
4
|
+
* Match current view-filter values exactly so migrating an inline
|
|
5
|
+
* `STATUS_OPTIONS` array to one of these constants is a behaviour-preserving
|
|
6
|
+
* rename. The `ALL_TAB` sentinel collapses to an empty filter string when
|
|
7
|
+
* clicked.
|
|
8
|
+
*
|
|
9
|
+
* Each entry is a typed `{ id, label }` row so views render with one
|
|
10
|
+
* primitive and stay in sync when statuses are added.
|
|
11
|
+
*/
|
|
12
|
+
export interface AdminFilterTab {
|
|
13
|
+
/** Filter value — empty when `id === "All"`. */
|
|
14
|
+
id: string;
|
|
15
|
+
/** Display text. */
|
|
16
|
+
label: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const ALL_TAB: {
|
|
19
|
+
readonly id: "All";
|
|
20
|
+
readonly label: "All";
|
|
21
|
+
};
|
|
22
|
+
/** Admin > Products — listing status filter chip set. */
|
|
23
|
+
export declare const ADMIN_PRODUCT_STATUS_TABS: readonly [{
|
|
24
|
+
readonly id: "All";
|
|
25
|
+
readonly label: "All";
|
|
26
|
+
}, {
|
|
27
|
+
readonly id: "pending";
|
|
28
|
+
readonly label: "Pending";
|
|
29
|
+
}, {
|
|
30
|
+
readonly id: "published";
|
|
31
|
+
readonly label: "Published";
|
|
32
|
+
}, {
|
|
33
|
+
readonly id: "draft";
|
|
34
|
+
readonly label: "Draft";
|
|
35
|
+
}, {
|
|
36
|
+
readonly id: "archived";
|
|
37
|
+
readonly label: "Archived";
|
|
38
|
+
}];
|
|
39
|
+
/** Admin > Products — listing-type filter chip set. Legacy label-as-id IDs
|
|
40
|
+
* preserved so the existing Sieve filter values keep matching. */
|
|
41
|
+
export declare const ADMIN_PRODUCT_LISTING_TYPE_TABS: readonly [{
|
|
42
|
+
readonly id: "All";
|
|
43
|
+
readonly label: "All";
|
|
44
|
+
}, {
|
|
45
|
+
readonly id: "Products";
|
|
46
|
+
readonly label: "Products";
|
|
47
|
+
}, {
|
|
48
|
+
readonly id: "Auctions";
|
|
49
|
+
readonly label: "Auctions";
|
|
50
|
+
}, {
|
|
51
|
+
readonly id: "Pre-orders";
|
|
52
|
+
readonly label: "Pre-orders";
|
|
53
|
+
}, {
|
|
54
|
+
readonly id: "Prize Draws";
|
|
55
|
+
readonly label: "Prize Draws";
|
|
56
|
+
}];
|
|
57
|
+
/** Admin > Blog — post status filter chip set. */
|
|
58
|
+
export declare const ADMIN_BLOG_STATUS_TABS: readonly [{
|
|
59
|
+
readonly id: "All";
|
|
60
|
+
readonly label: "All";
|
|
61
|
+
}, {
|
|
62
|
+
readonly id: "published";
|
|
63
|
+
readonly label: "Published";
|
|
64
|
+
}, {
|
|
65
|
+
readonly id: "draft";
|
|
66
|
+
readonly label: "Draft";
|
|
67
|
+
}, {
|
|
68
|
+
readonly id: "archived";
|
|
69
|
+
readonly label: "Archived";
|
|
70
|
+
}];
|
|
71
|
+
/** Admin > Users — account-state filter chip set. */
|
|
72
|
+
export declare const ADMIN_USER_STATUS_TABS: readonly [{
|
|
73
|
+
readonly id: "All";
|
|
74
|
+
readonly label: "All";
|
|
75
|
+
}, {
|
|
76
|
+
readonly id: "Active";
|
|
77
|
+
readonly label: "Active";
|
|
78
|
+
}, {
|
|
79
|
+
readonly id: "Disabled";
|
|
80
|
+
readonly label: "Disabled";
|
|
81
|
+
}];
|
|
82
|
+
/** Admin > Users — role filter chip set. */
|
|
83
|
+
export declare const ADMIN_USER_ROLE_TABS: readonly [{
|
|
84
|
+
readonly id: "All";
|
|
85
|
+
readonly label: "All";
|
|
86
|
+
}, {
|
|
87
|
+
readonly id: "admin";
|
|
88
|
+
readonly label: "Admin";
|
|
89
|
+
}, {
|
|
90
|
+
readonly id: "seller";
|
|
91
|
+
readonly label: "Seller";
|
|
92
|
+
}, {
|
|
93
|
+
readonly id: "buyer";
|
|
94
|
+
readonly label: "Buyer";
|
|
95
|
+
}, {
|
|
96
|
+
readonly id: "moderator";
|
|
97
|
+
readonly label: "Moderator";
|
|
98
|
+
}];
|
|
99
|
+
/** Admin > Stores — seller-onboarding state filter chip set. */
|
|
100
|
+
export declare const ADMIN_STORE_STATUS_TABS: readonly [{
|
|
101
|
+
readonly id: "All";
|
|
102
|
+
readonly label: "All";
|
|
103
|
+
}, {
|
|
104
|
+
readonly id: "active";
|
|
105
|
+
readonly label: "Active";
|
|
106
|
+
}, {
|
|
107
|
+
readonly id: "pending";
|
|
108
|
+
readonly label: "Pending";
|
|
109
|
+
}, {
|
|
110
|
+
readonly id: "suspended";
|
|
111
|
+
readonly label: "Suspended";
|
|
112
|
+
}, {
|
|
113
|
+
readonly id: "rejected";
|
|
114
|
+
readonly label: "Rejected";
|
|
115
|
+
}];
|
|
116
|
+
/** Admin > Payouts — payout state filter chip set. Uppercase IDs match the
|
|
117
|
+
* `PayoutDocument.status` enum on the server. */
|
|
118
|
+
export declare const ADMIN_PAYOUT_STATUS_TABS: readonly [{
|
|
119
|
+
readonly id: "All";
|
|
120
|
+
readonly label: "All";
|
|
121
|
+
}, {
|
|
122
|
+
readonly id: "PENDING";
|
|
123
|
+
readonly label: "Pending";
|
|
124
|
+
}, {
|
|
125
|
+
readonly id: "PROCESSING";
|
|
126
|
+
readonly label: "Processing";
|
|
127
|
+
}, {
|
|
128
|
+
readonly id: "PAID";
|
|
129
|
+
readonly label: "Paid";
|
|
130
|
+
}, {
|
|
131
|
+
readonly id: "FAILED";
|
|
132
|
+
readonly label: "Failed";
|
|
133
|
+
}];
|
|
134
|
+
/** Admin > Orders — order-state filter chip set. Uppercase IDs match the
|
|
135
|
+
* `OrderDocument.status` enum on the server. */
|
|
136
|
+
export declare const ADMIN_ORDER_STATUS_TABS: readonly [{
|
|
137
|
+
readonly id: "All";
|
|
138
|
+
readonly label: "All";
|
|
139
|
+
}, {
|
|
140
|
+
readonly id: "PENDING";
|
|
141
|
+
readonly label: "Pending";
|
|
142
|
+
}, {
|
|
143
|
+
readonly id: "PROCESSING";
|
|
144
|
+
readonly label: "Processing";
|
|
145
|
+
}, {
|
|
146
|
+
readonly id: "SHIPPED";
|
|
147
|
+
readonly label: "Shipped";
|
|
148
|
+
}, {
|
|
149
|
+
readonly id: "DELIVERED";
|
|
150
|
+
readonly label: "Delivered";
|
|
151
|
+
}, {
|
|
152
|
+
readonly id: "CANCELLED";
|
|
153
|
+
readonly label: "Cancelled";
|
|
154
|
+
}, {
|
|
155
|
+
readonly id: "REFUNDED";
|
|
156
|
+
readonly label: "Refunded";
|
|
157
|
+
}, {
|
|
158
|
+
readonly id: "RETURN_REQUESTED";
|
|
159
|
+
readonly label: "Return Requested";
|
|
160
|
+
}];
|
|
161
|
+
/** Admin > Reviews — moderation state filter chip set. */
|
|
162
|
+
export declare const ADMIN_REVIEW_STATUS_TABS: readonly [{
|
|
163
|
+
readonly id: "All";
|
|
164
|
+
readonly label: "All";
|
|
165
|
+
}, {
|
|
166
|
+
readonly id: "approved";
|
|
167
|
+
readonly label: "Approved";
|
|
168
|
+
}, {
|
|
169
|
+
readonly id: "pending";
|
|
170
|
+
readonly label: "Pending";
|
|
171
|
+
}, {
|
|
172
|
+
readonly id: "rejected";
|
|
173
|
+
readonly label: "Rejected";
|
|
174
|
+
}];
|
|
175
|
+
/** Admin > Reviews — star-rating filter chip set. */
|
|
176
|
+
export declare const ADMIN_REVIEW_RATING_TABS: readonly [{
|
|
177
|
+
readonly id: "All";
|
|
178
|
+
readonly label: "All";
|
|
179
|
+
}, {
|
|
180
|
+
readonly id: "5";
|
|
181
|
+
readonly label: "5★";
|
|
182
|
+
}, {
|
|
183
|
+
readonly id: "4";
|
|
184
|
+
readonly label: "4★";
|
|
185
|
+
}, {
|
|
186
|
+
readonly id: "3";
|
|
187
|
+
readonly label: "3★";
|
|
188
|
+
}, {
|
|
189
|
+
readonly id: "2";
|
|
190
|
+
readonly label: "2★";
|
|
191
|
+
}, {
|
|
192
|
+
readonly id: "1";
|
|
193
|
+
readonly label: "1★";
|
|
194
|
+
}];
|
|
195
|
+
/** Admin > Bids — bid-state filter chip set. */
|
|
196
|
+
export declare const ADMIN_BID_STATUS_TABS: readonly [{
|
|
197
|
+
readonly id: "All";
|
|
198
|
+
readonly label: "All";
|
|
199
|
+
}, {
|
|
200
|
+
readonly id: "active";
|
|
201
|
+
readonly label: "Active";
|
|
202
|
+
}, {
|
|
203
|
+
readonly id: "outbid";
|
|
204
|
+
readonly label: "Outbid";
|
|
205
|
+
}, {
|
|
206
|
+
readonly id: "won";
|
|
207
|
+
readonly label: "Won";
|
|
208
|
+
}, {
|
|
209
|
+
readonly id: "cancelled";
|
|
210
|
+
readonly label: "Cancelled";
|
|
211
|
+
}];
|
|
212
|
+
/** Admin > Contact — submission triage state filter chip set. */
|
|
213
|
+
export declare const ADMIN_CONTACT_STATUS_TABS: readonly [{
|
|
214
|
+
readonly id: "All";
|
|
215
|
+
readonly label: "All";
|
|
216
|
+
}, {
|
|
217
|
+
readonly id: "new";
|
|
218
|
+
readonly label: "New";
|
|
219
|
+
}, {
|
|
220
|
+
readonly id: "read";
|
|
221
|
+
readonly label: "Read";
|
|
222
|
+
}, {
|
|
223
|
+
readonly id: "resolved";
|
|
224
|
+
readonly label: "Resolved";
|
|
225
|
+
}];
|
|
226
|
+
/** Admin > Newsletter — subscription state filter chip set. */
|
|
227
|
+
export declare const ADMIN_NEWSLETTER_STATUS_TABS: readonly [{
|
|
228
|
+
readonly id: "All";
|
|
229
|
+
readonly label: "All";
|
|
230
|
+
}, {
|
|
231
|
+
readonly id: "active";
|
|
232
|
+
readonly label: "Active";
|
|
233
|
+
}, {
|
|
234
|
+
readonly id: "unsubscribed";
|
|
235
|
+
readonly label: "Unsubscribed";
|
|
236
|
+
}];
|
|
237
|
+
/** Admin > Event Entries — entry-state filter chip set. Uppercase IDs match
|
|
238
|
+
* the canonical `EventEntryDocument.status` enum. */
|
|
239
|
+
export declare const ADMIN_EVENT_ENTRY_STATUS_TABS: readonly [{
|
|
240
|
+
readonly id: "All";
|
|
241
|
+
readonly label: "All";
|
|
242
|
+
}, {
|
|
243
|
+
readonly id: "CONFIRMED";
|
|
244
|
+
readonly label: "Confirmed";
|
|
245
|
+
}, {
|
|
246
|
+
readonly id: "WAITLISTED";
|
|
247
|
+
readonly label: "Waitlisted";
|
|
248
|
+
}, {
|
|
249
|
+
readonly id: "CANCELLED";
|
|
250
|
+
readonly label: "Cancelled";
|
|
251
|
+
}];
|
|
252
|
+
/** Admin > Events — event-state filter chip set. */
|
|
253
|
+
export declare const ADMIN_EVENT_STATUS_TABS: readonly [{
|
|
254
|
+
readonly id: "All";
|
|
255
|
+
readonly label: "All";
|
|
256
|
+
}, {
|
|
257
|
+
readonly id: "published";
|
|
258
|
+
readonly label: "Published";
|
|
259
|
+
}, {
|
|
260
|
+
readonly id: "draft";
|
|
261
|
+
readonly label: "Draft";
|
|
262
|
+
}, {
|
|
263
|
+
readonly id: "active";
|
|
264
|
+
readonly label: "Active";
|
|
265
|
+
}, {
|
|
266
|
+
readonly id: "ended";
|
|
267
|
+
readonly label: "Ended";
|
|
268
|
+
}];
|
|
269
|
+
/** Admin > Carts — cart-ownership filter chip set. */
|
|
270
|
+
export declare const ADMIN_CART_OWNERSHIP_TABS: readonly [{
|
|
271
|
+
readonly id: "All";
|
|
272
|
+
readonly label: "All";
|
|
273
|
+
}, {
|
|
274
|
+
readonly id: "guest";
|
|
275
|
+
readonly label: "Guest";
|
|
276
|
+
}, {
|
|
277
|
+
readonly id: "auth";
|
|
278
|
+
readonly label: "Authenticated";
|
|
279
|
+
}];
|
|
280
|
+
/** Admin > Coupons — coupon-type filter chip set. Matches the
|
|
281
|
+
* `CouponDocument.type` discriminator. */
|
|
282
|
+
export declare const ADMIN_COUPON_TYPE_TABS: readonly [{
|
|
283
|
+
readonly id: "All";
|
|
284
|
+
readonly label: "All";
|
|
285
|
+
}, {
|
|
286
|
+
readonly id: "percentage";
|
|
287
|
+
readonly label: "Percentage";
|
|
288
|
+
}, {
|
|
289
|
+
readonly id: "fixed";
|
|
290
|
+
readonly label: "Fixed";
|
|
291
|
+
}, {
|
|
292
|
+
readonly id: "free_shipping";
|
|
293
|
+
readonly label: "Free Shipping";
|
|
294
|
+
}, {
|
|
295
|
+
readonly id: "buy_x_get_y";
|
|
296
|
+
readonly label: "Buy X Get Y";
|
|
297
|
+
}];
|
|
298
|
+
/** Empty-sentinel variant for views (like SellerBidsView) that drive the
|
|
299
|
+
* filter URL with `""` instead of `"All"` so the `"" == no filter` invariant
|
|
300
|
+
* stays a single shape across queries. */
|
|
301
|
+
export declare const EMPTY_TAB: {
|
|
302
|
+
readonly id: "";
|
|
303
|
+
readonly label: "All";
|
|
304
|
+
};
|
|
305
|
+
/** Seller > Products — listing-state filter chip set. */
|
|
306
|
+
export declare const SELLER_PRODUCT_STATUS_TABS: readonly [{
|
|
307
|
+
readonly id: "All";
|
|
308
|
+
readonly label: "All";
|
|
309
|
+
}, {
|
|
310
|
+
readonly id: "active";
|
|
311
|
+
readonly label: "Active";
|
|
312
|
+
}, {
|
|
313
|
+
readonly id: "draft";
|
|
314
|
+
readonly label: "Draft";
|
|
315
|
+
}, {
|
|
316
|
+
readonly id: "archived";
|
|
317
|
+
readonly label: "Archived";
|
|
318
|
+
}, {
|
|
319
|
+
readonly id: "sold";
|
|
320
|
+
readonly label: "Sold";
|
|
321
|
+
}];
|
|
322
|
+
/** Seller > Auctions — auction-state filter chip set. */
|
|
323
|
+
export declare const SELLER_AUCTION_STATUS_TABS: readonly [{
|
|
324
|
+
readonly id: "All";
|
|
325
|
+
readonly label: "All";
|
|
326
|
+
}, {
|
|
327
|
+
readonly id: "active";
|
|
328
|
+
readonly label: "Active";
|
|
329
|
+
}, {
|
|
330
|
+
readonly id: "draft";
|
|
331
|
+
readonly label: "Draft";
|
|
332
|
+
}, {
|
|
333
|
+
readonly id: "ended";
|
|
334
|
+
readonly label: "Ended";
|
|
335
|
+
}, {
|
|
336
|
+
readonly id: "cancelled";
|
|
337
|
+
readonly label: "Cancelled";
|
|
338
|
+
}];
|
|
339
|
+
/** Seller > Pre-orders — pre-order-state filter chip set. */
|
|
340
|
+
export declare const SELLER_PRE_ORDER_STATUS_TABS: readonly [{
|
|
341
|
+
readonly id: "All";
|
|
342
|
+
readonly label: "All";
|
|
343
|
+
}, {
|
|
344
|
+
readonly id: "active";
|
|
345
|
+
readonly label: "Active";
|
|
346
|
+
}, {
|
|
347
|
+
readonly id: "draft";
|
|
348
|
+
readonly label: "Draft";
|
|
349
|
+
}, {
|
|
350
|
+
readonly id: "archived";
|
|
351
|
+
readonly label: "Archived";
|
|
352
|
+
}, {
|
|
353
|
+
readonly id: "cancelled";
|
|
354
|
+
readonly label: "Cancelled";
|
|
355
|
+
}];
|
|
356
|
+
/** Seller > Prize Draws — draw-state filter chip set. */
|
|
357
|
+
export declare const SELLER_PRIZE_DRAW_STATUS_TABS: readonly [{
|
|
358
|
+
readonly id: "All";
|
|
359
|
+
readonly label: "All";
|
|
360
|
+
}, {
|
|
361
|
+
readonly id: "active";
|
|
362
|
+
readonly label: "Active";
|
|
363
|
+
}, {
|
|
364
|
+
readonly id: "draft";
|
|
365
|
+
readonly label: "Draft";
|
|
366
|
+
}, {
|
|
367
|
+
readonly id: "ended";
|
|
368
|
+
readonly label: "Ended";
|
|
369
|
+
}, {
|
|
370
|
+
readonly id: "cancelled";
|
|
371
|
+
readonly label: "Cancelled";
|
|
372
|
+
}];
|
|
373
|
+
/** Seller > Orders — order-state filter chip set. Subset of
|
|
374
|
+
* `ADMIN_ORDER_STATUS_TABS` — sellers don't see `RETURN_REQUESTED` until
|
|
375
|
+
* the buyer initiates one through support. */
|
|
376
|
+
export declare const SELLER_ORDER_STATUS_TABS: readonly [{
|
|
377
|
+
readonly id: "All";
|
|
378
|
+
readonly label: "All";
|
|
379
|
+
}, {
|
|
380
|
+
readonly id: "PENDING";
|
|
381
|
+
readonly label: "Pending";
|
|
382
|
+
}, {
|
|
383
|
+
readonly id: "PROCESSING";
|
|
384
|
+
readonly label: "Processing";
|
|
385
|
+
}, {
|
|
386
|
+
readonly id: "SHIPPED";
|
|
387
|
+
readonly label: "Shipped";
|
|
388
|
+
}, {
|
|
389
|
+
readonly id: "DELIVERED";
|
|
390
|
+
readonly label: "Delivered";
|
|
391
|
+
}, {
|
|
392
|
+
readonly id: "CANCELLED";
|
|
393
|
+
readonly label: "Cancelled";
|
|
394
|
+
}, {
|
|
395
|
+
readonly id: "REFUNDED";
|
|
396
|
+
readonly label: "Refunded";
|
|
397
|
+
}];
|
|
398
|
+
/** Seller > Offers — offer-state filter chip set. */
|
|
399
|
+
export declare const SELLER_OFFER_STATUS_TABS: readonly [{
|
|
400
|
+
readonly id: "All";
|
|
401
|
+
readonly label: "All";
|
|
402
|
+
}, {
|
|
403
|
+
readonly id: "pending";
|
|
404
|
+
readonly label: "Pending";
|
|
405
|
+
}, {
|
|
406
|
+
readonly id: "accepted";
|
|
407
|
+
readonly label: "Accepted";
|
|
408
|
+
}, {
|
|
409
|
+
readonly id: "rejected";
|
|
410
|
+
readonly label: "Rejected";
|
|
411
|
+
}, {
|
|
412
|
+
readonly id: "expired";
|
|
413
|
+
readonly label: "Expired";
|
|
414
|
+
}];
|
|
415
|
+
/** Seller > Bids — bid-state filter chip set. Uses the empty-sentinel
|
|
416
|
+
* variant (see `EMPTY_TAB`). */
|
|
417
|
+
export declare const SELLER_BID_STATUS_TABS: readonly [{
|
|
418
|
+
readonly id: "";
|
|
419
|
+
readonly label: "All";
|
|
420
|
+
}, {
|
|
421
|
+
readonly id: "active";
|
|
422
|
+
readonly label: "Active";
|
|
423
|
+
}, {
|
|
424
|
+
readonly id: "outbid";
|
|
425
|
+
readonly label: "Outbid";
|
|
426
|
+
}, {
|
|
427
|
+
readonly id: "won";
|
|
428
|
+
readonly label: "Won";
|
|
429
|
+
}, {
|
|
430
|
+
readonly id: "lost";
|
|
431
|
+
readonly label: "Lost";
|
|
432
|
+
}, {
|
|
433
|
+
readonly id: "cancelled";
|
|
434
|
+
readonly label: "Cancelled";
|
|
435
|
+
}];
|