@mohasinac/appkit 4.1.3 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_internal/server/features/auth/actions.d.ts +0 -1
- package/dist/_internal/server/features/auth/actions.js +0 -1
- package/dist/_internal/server/features/bundles/data.d.ts +22 -4
- package/dist/_internal/server/features/bundles/data.js +41 -4
- package/dist/_internal/server/features/bundles/index.d.ts +1 -1
- package/dist/_internal/server/features/bundles/index.js +1 -1
- package/dist/_internal/server/features/checkout/actions.d.ts +15 -0
- package/dist/_internal/server/features/checkout/actions.js +249 -257
- package/dist/_internal/server/features/checkout/prize-bundle-gates.d.ts +5 -16
- package/dist/_internal/server/features/checkout/prize-bundle-gates.js +5 -30
- package/dist/_internal/server/features/orders/adapters.js +1 -14
- package/dist/_internal/server/features/products/actions.js +8 -3
- package/dist/_internal/server/features/products/service.d.ts +15 -0
- package/dist/_internal/server/features/products/service.js +41 -0
- package/dist/_internal/server/functions/firestore.d.ts +3 -1
- package/dist/_internal/server/functions/firestore.js +17 -1
- package/dist/_internal/server/functions/scheduled.d.ts +3 -5
- package/dist/_internal/server/functions/scheduled.js +14 -30
- package/dist/_internal/server/jobs/core/bundleStockSync.js +25 -7
- package/dist/_internal/server/jobs/core/countersReconcile.js +7 -1
- package/dist/_internal/server/jobs/core/index.d.ts +4 -4
- package/dist/_internal/server/jobs/core/index.js +4 -4
- package/dist/_internal/server/jobs/core/jobRunners.js +10 -0
- package/dist/_internal/server/jobs/core/newsletterExport.d.ts +15 -0
- package/dist/_internal/server/jobs/core/newsletterExport.js +43 -0
- package/dist/_internal/server/jobs/core/onOrderStatusChange.d.ts +2 -0
- package/dist/_internal/server/jobs/core/onOrderStatusChange.js +1 -0
- package/dist/_internal/server/jobs/core/onPrizeDrawPaymentConfirmed.d.ts +19 -0
- package/dist/_internal/server/jobs/core/onPrizeDrawPaymentConfirmed.js +30 -0
- package/dist/_internal/server/jobs/core/paymentWindowTimeout.d.ts +2 -2
- package/dist/_internal/server/jobs/core/paymentWindowTimeout.js +3 -2
- package/dist/_internal/server/jobs/core/pendingOrderTimeout.js +1 -0
- package/dist/_internal/server/jobs/core/prizeDrawAssignWinner.d.ts +20 -0
- package/dist/_internal/server/jobs/core/prizeDrawAssignWinner.js +113 -0
- package/dist/_internal/server/jobs/core/prizeDrawExpiryReveal.d.ts +14 -0
- package/dist/_internal/server/jobs/core/prizeDrawExpiryReveal.js +74 -0
- package/dist/_internal/server/jobs/core/prizeDrawSoldOutReveal.d.ts +22 -0
- package/dist/_internal/server/jobs/core/prizeDrawSoldOutReveal.js +68 -0
- package/dist/_internal/server/jobs/core/revenueRollup.d.ts +13 -0
- package/dist/_internal/server/jobs/core/revenueRollup.js +22 -0
- package/dist/_internal/server/jobs/core/whatsappNotify.d.ts +35 -0
- package/dist/_internal/server/jobs/core/whatsappNotify.js +82 -0
- package/dist/_internal/server/jobs/handlers/index.d.ts +4 -4
- package/dist/_internal/server/jobs/handlers/index.js +9 -6
- package/dist/_internal/server/jobs/handlers/onPrizeDrawPaymentConfirmed.d.ts +3 -0
- package/dist/_internal/server/jobs/handlers/onPrizeDrawPaymentConfirmed.js +11 -0
- package/dist/_internal/server/jobs/handlers/prizeDrawExpiryReveal.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/prizeDrawExpiryReveal.js +2 -0
- package/dist/_internal/server/jobs/handlers/prizeDrawSoldOutReveal.d.ts +3 -0
- package/dist/_internal/server/jobs/handlers/prizeDrawSoldOutReveal.js +4 -0
- package/dist/_internal/server/jobs/handlers/revenueRollup.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/revenueRollup.js +2 -0
- package/dist/_internal/shared/actions/action-registry.js +40 -10
- package/dist/_internal/shared/checkout/rules/_defaults.js +1 -2
- package/dist/_internal/shared/checkout/rules/_limits.d.ts +3 -0
- package/dist/_internal/shared/checkout/rules/_limits.js +3 -0
- package/dist/_internal/shared/checkout/rules/_registry.d.ts +2 -1
- package/dist/_internal/shared/checkout/rules/_registry.js +2 -2
- package/dist/_internal/shared/checkout/rules/classified.rule.js +0 -1
- package/dist/_internal/shared/checkout/rules/index.d.ts +1 -1
- package/dist/_internal/shared/checkout/rules/index.js +1 -1
- package/dist/_internal/shared/checkout/rules/prize-draw.rule.js +20 -1
- package/dist/_internal/shared/checkout/rules/types.d.ts +17 -7
- package/dist/_internal/shared/features/categories/bundle-copy.d.ts +2 -0
- package/dist/_internal/shared/features/categories/bundle-copy.js +2 -0
- package/dist/_internal/shared/features/categories/bundle-pricing.d.ts +23 -0
- package/dist/_internal/shared/features/categories/bundle-pricing.js +25 -0
- package/dist/_internal/shared/features/checkout/config.d.ts +7 -0
- package/dist/_internal/shared/features/checkout/config.js +7 -0
- package/dist/_internal/shared/fees/calculator.d.ts +26 -0
- package/dist/_internal/shared/fees/calculator.js +25 -0
- package/dist/_internal/shared/listing-types/prize-draw/config.js +1 -1
- package/dist/constants/api-endpoints.d.ts +6 -9
- package/dist/constants/api-endpoints.js +5 -5
- package/dist/constants/field-names.d.ts +17 -1
- package/dist/constants/field-names.js +17 -1
- package/dist/features/about/components/FeesView.js +18 -0
- package/dist/features/account/hooks/useNotifications.js +5 -0
- package/dist/features/admin/actions/admin-actions.js +6 -0
- package/dist/features/admin/actions/notification-actions.d.ts +4 -1
- package/dist/features/admin/actions/notification-actions.js +57 -12
- package/dist/features/admin/components/AdminAdsView.js +1 -1
- package/dist/features/admin/components/AdminBlogEditorView.js +1 -1
- package/dist/features/admin/components/AdminNewsletterView.js +42 -11
- package/dist/features/admin/components/AdminPrizeDrawsView.js +3 -3
- package/dist/features/admin/components/AdminSiteSettingsView.js +115 -11
- package/dist/features/admin/components/AdminTesterChecklistView.js +74 -22
- package/dist/features/admin/hooks/useAdminListing.d.ts +4 -0
- package/dist/features/admin/hooks/useAdminListing.js +4 -2
- package/dist/features/admin/repository/analytics-rollup.repository.d.ts +25 -0
- package/dist/features/admin/repository/analytics-rollup.repository.js +31 -0
- package/dist/features/admin/repository/site-settings.repository.js +8 -1
- package/dist/features/admin/schemas/firestore.d.ts +54 -5
- package/dist/features/admin/schemas/firestore.js +63 -26
- package/dist/features/auctions/actions/bid-actions.js +3 -1
- package/dist/features/auctions/components/AuctionBidsTable.d.ts +6 -1
- package/dist/features/auctions/components/AuctionBidsTable.js +8 -4
- package/dist/features/auctions/components/AuctionDetailPageView.js +10 -13
- package/dist/features/auctions/components/CollapsibleBidHistory.d.ts +23 -2
- package/dist/features/auctions/components/CollapsibleBidHistory.js +21 -3
- package/dist/features/auctions/components/LiveBidPrice.d.ts +19 -0
- package/dist/features/auctions/components/LiveBidPrice.js +17 -0
- package/dist/features/auctions/components/PlaceBidFormClient.d.ts +1 -1
- package/dist/features/auctions/components/PlaceBidFormClient.js +16 -1
- package/dist/features/auctions/hooks/useBids.d.ts +33 -0
- package/dist/features/auctions/hooks/useBids.js +32 -0
- package/dist/features/auctions/hooks/useLiveAuctionBid.d.ts +20 -0
- package/dist/features/auctions/hooks/useLiveAuctionBid.js +23 -0
- package/dist/features/auth/checkout-value-otp.d.ts +7 -10
- package/dist/features/auth/checkout-value-otp.js +14 -10
- package/dist/features/auth/server.d.ts +0 -1
- package/dist/features/auth/server.js +0 -1
- package/dist/features/blog/api/[slug]/route.d.ts +5 -0
- package/dist/features/blog/api/[slug]/route.js +12 -3
- package/dist/features/blog/components/BlogPostView.d.ts +2 -0
- package/dist/features/blog/components/BlogPostView.js +5 -4
- package/dist/features/blog/hooks/useBlog.d.ts +2 -0
- package/dist/features/blog/hooks/useBlog.js +2 -0
- package/dist/features/blog/repository/blog.repository.d.ts +7 -0
- package/dist/features/blog/repository/blog.repository.js +44 -0
- package/dist/features/blog/schemas/firestore.d.ts +3 -0
- package/dist/features/blog/schemas/firestore.js +1 -0
- package/dist/features/blog/types/index.d.ts +2 -0
- package/dist/features/cart/components/index.d.ts +0 -2
- package/dist/features/cart/components/index.js +0 -1
- package/dist/features/cart/hooks/useCartCount.js +22 -5
- package/dist/features/cart/hooks/useGuestCart.js +11 -1
- package/dist/features/cart/utils/guest-cart.d.ts +4 -0
- package/dist/features/cart/utils/guest-cart.js +10 -0
- package/dist/features/cart/utils/pending-ops.d.ts +17 -0
- package/dist/features/cart/utils/pending-ops.js +46 -5
- package/dist/features/categories/components/BrandDetailPageView.js +6 -2
- package/dist/features/categories/components/BundleDetailView.js +4 -2
- package/dist/features/categories/components/CategoryDetailPageView.js +10 -2
- package/dist/features/categories/schemas/firestore.d.ts +7 -0
- package/dist/features/checkout/actions/index.d.ts +0 -1
- package/dist/features/checkout/actions/index.js +0 -1
- package/dist/features/checkout/schemas/firestore.d.ts +2 -2
- package/dist/features/events/actions/event-actions.d.ts +2 -0
- package/dist/features/events/actions/event-actions.js +5 -0
- package/dist/features/events/components/EventCard.js +1 -2
- package/dist/features/events/components/RelatedEventsCarousel.d.ts +15 -0
- package/dist/features/events/components/RelatedEventsCarousel.js +13 -0
- package/dist/features/events/components/index.d.ts +2 -0
- package/dist/features/events/components/index.js +1 -0
- package/dist/features/events/repository/events.repository.d.ts +6 -0
- package/dist/features/events/repository/events.repository.js +21 -0
- 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/components/FeaturedBundlesSection.js +4 -2
- package/dist/features/homepage/components/FeaturedProductsSection.js +2 -2
- package/dist/features/homepage/components/SectionCarousel.js +1 -1
- package/dist/features/homepage/components/WelcomeSection.js +1 -1
- package/dist/features/layout/AppLayoutShell.js +1 -1
- package/dist/features/layout/BackToTop.d.ts +9 -5
- package/dist/features/layout/BackToTop.js +17 -21
- package/dist/features/layout/NavbarLayout.js +1 -1
- package/dist/features/layout/TitleBarLayout.js +2 -2
- package/dist/features/media/MediaVideo.d.ts +7 -0
- package/dist/features/media/MediaVideo.js +36 -5
- package/dist/features/orders/actions/refund-actions.js +1 -0
- package/dist/features/orders/components/OrdersList.js +1 -5
- package/dist/features/orders/schemas/firestore.d.ts +16 -8
- package/dist/features/orders/schemas/index.d.ts +3 -32
- package/dist/features/orders/schemas/index.js +1 -4
- package/dist/features/orders/types/index.d.ts +6 -9
- package/dist/features/pre-orders/components/MarketplacePreorderCard.js +1 -1
- package/dist/features/pre-orders/components/PreOrderDetailPageView.js +2 -1
- package/dist/features/products/actions/product-actions.js +13 -10
- package/dist/features/products/components/MarketplaceBundleCard.d.ts +1 -1
- package/dist/features/products/components/MarketplaceBundleCard.js +7 -4
- package/dist/features/products/components/PrizeDrawDetailPageView.js +1 -1
- package/dist/features/products/components/PrizeDrawItemsEditor.js +2 -2
- package/dist/features/products/components/PrizeDrawWinnerMappingView.d.ts +14 -0
- package/dist/features/products/components/PrizeDrawWinnerMappingView.js +37 -0
- package/dist/features/products/components/PrizeRevealModal.d.ts +10 -23
- package/dist/features/products/components/PrizeRevealModal.js +18 -147
- package/dist/features/products/components/ProductDetailPageView.js +72 -30
- package/dist/features/products/components/ProductForm.js +7 -14
- package/dist/features/products/components/ProductGalleryClient.d.ts +10 -1
- package/dist/features/products/components/ProductGalleryClient.js +29 -10
- package/dist/features/products/components/ProductsIndexListing.js +2 -1
- package/dist/features/products/components/RelatedProductsCarousel.js +2 -2
- package/dist/features/products/components/ShowGroupSection.js +2 -2
- package/dist/features/products/components/SublistingCarouselSection.js +1 -1
- package/dist/features/products/components/index.d.ts +4 -2
- package/dist/features/products/components/index.js +1 -0
- package/dist/features/products/constants/action-defs.d.ts +28 -4
- package/dist/features/products/constants/action-defs.js +76 -3
- package/dist/features/products/repository/products.repository.d.ts +6 -0
- package/dist/features/products/repository/products.repository.js +20 -1
- package/dist/features/products/schemas/firestore.d.ts +26 -2
- package/dist/features/products/schemas/index.d.ts +11 -3
- package/dist/features/products/schemas/index.js +10 -2
- package/dist/features/products/types/index.d.ts +2 -1
- package/dist/features/reviews/actions/review-actions.js +1 -0
- package/dist/features/reviews/components/ReviewDetailPageView.js +8 -1
- package/dist/features/reviews/components/ReviewDetailShell.js +2 -1
- package/dist/features/reviews/components/ReviewsList.js +2 -1
- package/dist/features/reviews/schemas/firestore.d.ts +3 -0
- package/dist/features/reviews/schemas/index.d.ts +6 -0
- package/dist/features/reviews/schemas/index.js +2 -0
- package/dist/features/reviews/types/index.d.ts +3 -0
- package/dist/features/scams/actions/scam-actions.d.ts +3 -0
- package/dist/features/scams/actions/scam-actions.js +3 -2
- package/dist/features/scams/components/ScamProfileView.d.ts +2 -1
- package/dist/features/scams/components/ScamProfileView.js +2 -2
- package/dist/features/scams/repository/scammer.repository.d.ts +6 -0
- package/dist/features/scams/repository/scammer.repository.js +24 -0
- package/dist/features/seller/actions/seller-actions.js +8 -0
- package/dist/features/seller/components/SellerOrdersView.js +1 -1
- package/dist/features/seller/components/SellerPrizeDrawsView.js +4 -0
- package/dist/features/stores/components/StoreDetailLayoutView.js +6 -6
- package/dist/features/stores/components/StoreNavTabs.d.ts +10 -1
- package/dist/features/stores/components/StoreNavTabs.js +21 -9
- package/dist/features/tester/actions/index.d.ts +1 -0
- package/dist/features/tester/actions/index.js +1 -0
- package/dist/features/tester/actions/leaderboard-actions.d.ts +3 -0
- package/dist/features/tester/actions/leaderboard-actions.js +5 -0
- package/dist/features/tester/components/AdminTesterFeedbackIssuesView.js +26 -4
- package/dist/features/tester/components/AdminTesterFeedbackListView.js +13 -0
- package/dist/features/tester/components/BugHunterLeaderboardView.d.ts +23 -0
- package/dist/features/tester/components/BugHunterLeaderboardView.js +18 -0
- package/dist/features/tester/components/index.d.ts +2 -0
- package/dist/features/tester/components/index.js +1 -0
- package/dist/features/tester/repository/tester-checklist-item.repository.d.ts +12 -1
- package/dist/features/tester/repository/tester-checklist-item.repository.js +80 -0
- package/dist/features/tester/repository/tester-checklist-response.repository.d.ts +4 -0
- package/dist/features/tester/repository/tester-checklist-response.repository.js +4 -0
- package/dist/features/tester/schemas/firestore.d.ts +22 -1
- package/dist/features/tester/schemas/firestore.js +8 -0
- package/dist/features/tester/seed-data/categories-tester-seed-data.js +42 -7
- package/dist/features/tester/seed-data/events-tester-seed-data.js +23 -0
- package/dist/features/tester/seed-data/orders-tester-seed-data.js +69 -31
- package/dist/features/tester/seed-data/products-tester-seed-data.js +152 -8
- package/dist/features/tester/seed-data/tester-checklist-seed-data.js +249 -14
- package/dist/features/whatsapp-bot/helpers/whatsapp.d.ts +10 -1
- package/dist/features/whatsapp-bot/helpers/whatsapp.js +47 -0
- package/dist/features/whatsapp-bot/types/index.d.ts +19 -0
- package/dist/features/wishlist/hooks/useGuestWishlist.js +11 -1
- package/dist/features/wishlist/hooks/useWishlistCount.js +16 -2
- package/dist/features/wishlist/utils/guest-wishlist.d.ts +5 -0
- package/dist/features/wishlist/utils/guest-wishlist.js +11 -0
- package/dist/index.d.ts +23 -24
- package/dist/index.js +29 -60
- package/dist/jobs.d.ts +1 -1
- package/dist/jobs.js +2 -2
- package/dist/next/routing/route-map.d.ts +4 -0
- package/dist/next/routing/route-map.js +2 -0
- package/dist/repositories/index.d.ts +2 -0
- package/dist/repositories/index.js +1 -0
- package/dist/schemas/registry.d.ts +6 -26
- package/dist/seed/bids-seed-data.js +14 -2
- package/dist/seed/blog-posts-seed-data.js +2 -1
- package/dist/seed/categories-seed-data.js +11 -2
- package/dist/seed/events-seed-data.js +11 -11
- package/dist/seed/faq-seed-data.js +5 -1
- package/dist/seed/products-auctions-seed-data.js +2 -2
- package/dist/seed/products-preorders-seed-data.d.ts +2 -1
- package/dist/seed/products-prize-draws-seed-data.js +56 -10
- package/dist/seed/products-standard-seed-data.js +82 -3
- package/dist/seed/scammers-seed-data.js +75 -2
- package/dist/seed/site-settings-seed-data.js +12 -2
- package/dist/server-entry.d.ts +0 -1
- package/dist/server-entry.js +0 -1
- package/dist/server.d.ts +6 -22
- package/dist/server.js +12 -59
- package/dist/styles.css +1 -1
- package/dist/tailwind-utilities.css +1 -1
- package/dist/ui/components/BaseListingCard.js +1 -1
- package/dist/ui/components/ImageLightbox.d.ts +9 -0
- package/dist/ui/components/ImageLightbox.js +6 -3
- package/dist/ui/components/ListingToolbar.d.ts +18 -1
- package/dist/ui/components/ListingToolbar.js +5 -2
- package/dist/ui/components/StickyToolbar.js +13 -8
- package/package.json +1 -1
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* WHY: Shared tester sandbox — a handful of disposable test products spanning
|
|
3
|
-
* auction,
|
|
4
|
-
* can exercise buying/bidding/
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* WHY: Shared tester sandbox — a handful of disposable test products spanning every listing
|
|
3
|
+
* type (standard, auction, pre-order, prize-draw, classified, digital-code, live, art,
|
|
4
|
+
* stickers), all owned by store-tester-sandbox, so testers can exercise buying/bidding/
|
|
5
|
+
* pre-ordering against real code paths — including navigating every entry of the store
|
|
6
|
+
* detail page's listing-type dropdown (see StoreNavTabs). Auto-expires after 7 days
|
|
7
|
+
* (testerSandboxCleanup cascades into any bids on the auction).
|
|
8
|
+
* WHAT: Exports productsTesterSeedData — 2 standard + 2 auction + 1 pre-order + 1 prize-draw +
|
|
9
|
+
* 1 classified + 1 digital-code + 1 live + 1 art + 1 stickers product + 1 product-group
|
|
10
|
+
* ("Set") parent (product-tester-standard-1/2 are its children, linked via groupId).
|
|
7
11
|
*
|
|
8
12
|
* EXPORTS:
|
|
9
13
|
* productsTesterSeedData — Array of Partial<ProductDocument> for the seed runner
|
|
@@ -61,6 +65,13 @@ export const productsTesterSeedData = [
|
|
|
61
65
|
customSections: [],
|
|
62
66
|
isPromoted: false,
|
|
63
67
|
isOnSale: false,
|
|
68
|
+
// Child of the "group-tester-sandbox-bundle" product-group ("Set") parent
|
|
69
|
+
// below — findByGroupId() queries products by this field directly, so
|
|
70
|
+
// without it the parent's groupChildSlugs[] mirror is never actually
|
|
71
|
+
// resolvable and ShowGroupSection renders nothing (members.length <= 1).
|
|
72
|
+
groupId: "group-tester-sandbox-bundle",
|
|
73
|
+
groupParentSlug: "group-tester-sandbox-bundle",
|
|
74
|
+
groupTitle: "Tester Sandbox Bundle",
|
|
64
75
|
createdAt: new Date(),
|
|
65
76
|
updatedAt: new Date(),
|
|
66
77
|
}),
|
|
@@ -87,6 +98,35 @@ export const productsTesterSeedData = [
|
|
|
87
98
|
customSections: [],
|
|
88
99
|
isPromoted: false,
|
|
89
100
|
isOnSale: false,
|
|
101
|
+
groupId: "group-tester-sandbox-bundle",
|
|
102
|
+
groupParentSlug: "group-tester-sandbox-bundle",
|
|
103
|
+
groupTitle: "Tester Sandbox Bundle",
|
|
104
|
+
createdAt: new Date(),
|
|
105
|
+
updatedAt: new Date(),
|
|
106
|
+
}),
|
|
107
|
+
withTokens({
|
|
108
|
+
id: "product-tester-standard-sold",
|
|
109
|
+
slug: "product-tester-standard-sold",
|
|
110
|
+
title: "Test Collectible — Sold Out (Hidden by Default)",
|
|
111
|
+
description: "Disposable test product deliberately seeded as sold out — exists to verify the public/admin/seller \"Show sold\" toggle actually hides it by default and reveals it when toggled on. Auto-expires in 7 days.",
|
|
112
|
+
categorySlugs: COLLECTIBLES_CATEGORY_SLUGS,
|
|
113
|
+
categoryNames: COLLECTIBLES_CATEGORY_NAMES,
|
|
114
|
+
brandSlug: "brand-tester-sandbox",
|
|
115
|
+
brand: "TestBrand",
|
|
116
|
+
price: 179,
|
|
117
|
+
currency: "INR",
|
|
118
|
+
stockQuantity: 0,
|
|
119
|
+
availableQuantity: 0,
|
|
120
|
+
isSold: true,
|
|
121
|
+
mainImage: seedExtMedia("https://picsum.photos/seed/product-image-tester-standard-sold-20260101/900/900"),
|
|
122
|
+
images: [seedExtMedia("https://picsum.photos/seed/product-image-tester-standard-sold-20260101/900/900")],
|
|
123
|
+
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
124
|
+
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
125
|
+
listingType: "standard",
|
|
126
|
+
customFields: [],
|
|
127
|
+
customSections: [],
|
|
128
|
+
isPromoted: false,
|
|
129
|
+
isOnSale: false,
|
|
90
130
|
createdAt: new Date(),
|
|
91
131
|
updatedAt: new Date(),
|
|
92
132
|
}),
|
|
@@ -170,6 +210,13 @@ export const productsTesterSeedData = [
|
|
|
170
210
|
images: [seedExtMedia("https://picsum.photos/seed/preorder-image-tester-sandbox-1-20260101/900/900")],
|
|
171
211
|
mainImage: seedExtMedia("https://picsum.photos/seed/preorder-image-tester-sandbox-1-20260101/900/900"),
|
|
172
212
|
isSold: false,
|
|
213
|
+
// stockQuantity must be set (not just availableQuantity) — the public
|
|
214
|
+
// listing route's default "hide sold" filter is a Firestore inequality
|
|
215
|
+
// on stockQuantity, and Firestore excludes documents missing that field
|
|
216
|
+
// entirely from an inequality query, not just ones where it's 0. Without
|
|
217
|
+
// this the pre-order would be permanently invisible on the default
|
|
218
|
+
// /pre-orders listing (2026-08-19 index-sweep session).
|
|
219
|
+
stockQuantity: 5,
|
|
173
220
|
availableQuantity: 5,
|
|
174
221
|
customFields: [],
|
|
175
222
|
customSections: [],
|
|
@@ -208,13 +255,14 @@ export const productsTesterSeedData = [
|
|
|
208
255
|
isPromoted: false,
|
|
209
256
|
isOnSale: false,
|
|
210
257
|
prizeDrawMode: "reveal",
|
|
258
|
+
prizeRevealMode: "instant",
|
|
211
259
|
pricePerEntry: 50,
|
|
212
260
|
prizeMaxEntries: 3,
|
|
213
261
|
prizeCurrentEntries: 0,
|
|
262
|
+
prizeDrawDurationDays: 7,
|
|
214
263
|
prizeRevealWindowStart: new Date(),
|
|
215
264
|
prizeRevealWindowEnd: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000),
|
|
216
265
|
prizeRevealStatus: "open",
|
|
217
|
-
prizeRevealDeadlineDays: 7,
|
|
218
266
|
prizeDrawItems: [
|
|
219
267
|
{ itemNumber: 1, title: "Test Prize — Grand", description: "Disposable test grand prize.", images: [seedExtMedia("https://picsum.photos/seed/prizedraw-item-1-20260101/600/600")], condition: "new", estimatedValue: 500, isWon: false },
|
|
220
268
|
{ itemNumber: 2, title: "Test Prize — Runner-up", description: "Disposable test runner-up prize.", images: [seedExtMedia("https://picsum.photos/seed/prizedraw-item-2-20260101/600/600")], condition: "new", estimatedValue: 150, isWon: false },
|
|
@@ -223,6 +271,46 @@ export const productsTesterSeedData = [
|
|
|
223
271
|
createdAt: new Date(),
|
|
224
272
|
updatedAt: new Date(),
|
|
225
273
|
}),
|
|
274
|
+
withTokens({
|
|
275
|
+
id: "prizedraw-tester-sandbox-closed",
|
|
276
|
+
slug: "prizedraw-tester-sandbox-closed",
|
|
277
|
+
title: "Test Prize Draw — Already Closed",
|
|
278
|
+
description: "Disposable test prize-draw, window already closed — exists to verify the admin/seller \"Show closed\" toggle actually hides it by default and reveals it when toggled on. Auto-expires in 7 days.",
|
|
279
|
+
categorySlugs: COLLECTIBLES_CATEGORY_SLUGS,
|
|
280
|
+
categoryNames: COLLECTIBLES_CATEGORY_NAMES,
|
|
281
|
+
brandSlug: "brand-tester-sandbox",
|
|
282
|
+
brand: "TestBrand",
|
|
283
|
+
price: 50,
|
|
284
|
+
currency: "INR",
|
|
285
|
+
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
286
|
+
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
287
|
+
listingType: "prize-draw",
|
|
288
|
+
images: [seedExtMedia("https://picsum.photos/seed/prizedraw-image-tester-sandbox-closed-20260101/900/900")],
|
|
289
|
+
mainImage: seedExtMedia("https://picsum.photos/seed/prizedraw-image-tester-sandbox-closed-20260101/900/900"),
|
|
290
|
+
isSold: true,
|
|
291
|
+
stockQuantity: 0,
|
|
292
|
+
availableQuantity: 0,
|
|
293
|
+
customFields: [],
|
|
294
|
+
customSections: [],
|
|
295
|
+
isPromoted: false,
|
|
296
|
+
isOnSale: false,
|
|
297
|
+
prizeDrawMode: "reveal",
|
|
298
|
+
prizeRevealMode: "scheduled",
|
|
299
|
+
pricePerEntry: 50,
|
|
300
|
+
prizeMaxEntries: 3,
|
|
301
|
+
prizeCurrentEntries: 3,
|
|
302
|
+
prizeDrawDurationDays: 13,
|
|
303
|
+
prizeRevealWindowStart: new Date(Date.now() - 14 * 24 * 60 * 60 * 1000),
|
|
304
|
+
prizeRevealWindowEnd: new Date(Date.now() - 1 * 24 * 60 * 60 * 1000),
|
|
305
|
+
prizeRevealStatus: "closed",
|
|
306
|
+
prizeDrawItems: [
|
|
307
|
+
{ itemNumber: 1, title: "Test Prize — Grand", description: "Disposable test grand prize.", images: [seedExtMedia("https://picsum.photos/seed/prizedraw-item-closed-1-20260101/600/600")], condition: "new", estimatedValue: 500, isWon: true },
|
|
308
|
+
{ itemNumber: 2, title: "Test Prize — Runner-up", description: "Disposable test runner-up prize.", images: [seedExtMedia("https://picsum.photos/seed/prizedraw-item-closed-2-20260101/600/600")], condition: "new", estimatedValue: 150, isWon: true },
|
|
309
|
+
{ itemNumber: 3, title: "Test Prize — Consolation", description: "Disposable test consolation prize.", images: [seedExtMedia("https://picsum.photos/seed/prizedraw-item-closed-3-20260101/600/600")], condition: "new", estimatedValue: 20, isWon: true },
|
|
310
|
+
],
|
|
311
|
+
createdAt: new Date(),
|
|
312
|
+
updatedAt: new Date(),
|
|
313
|
+
}),
|
|
226
314
|
withTokens({
|
|
227
315
|
id: "classified-tester-sandbox-1",
|
|
228
316
|
slug: "classified-tester-sandbox-1",
|
|
@@ -323,11 +411,67 @@ export const productsTesterSeedData = [
|
|
|
323
411
|
createdAt: new Date(),
|
|
324
412
|
updatedAt: new Date(),
|
|
325
413
|
}),
|
|
414
|
+
withTokens({
|
|
415
|
+
id: "art-tester-sandbox-1",
|
|
416
|
+
slug: "art-tester-sandbox-1",
|
|
417
|
+
title: "Test Art Print — Frame Me!",
|
|
418
|
+
description: "Disposable test art listing for the tester QA program. Auto-expires in 7 days.",
|
|
419
|
+
categorySlugs: COLLECTIBLES_CATEGORY_SLUGS,
|
|
420
|
+
categoryNames: COLLECTIBLES_CATEGORY_NAMES,
|
|
421
|
+
brandSlug: "brand-tester-sandbox",
|
|
422
|
+
brand: "TestBrand",
|
|
423
|
+
price: 349,
|
|
424
|
+
currency: "INR",
|
|
425
|
+
stockQuantity: 5,
|
|
426
|
+
availableQuantity: 5,
|
|
427
|
+
isSold: false,
|
|
428
|
+
mainImage: seedExtMedia("https://picsum.photos/seed/art-image-tester-sandbox-1-20260101/900/900"),
|
|
429
|
+
images: [seedExtMedia("https://picsum.photos/seed/art-image-tester-sandbox-1-20260101/900/900")],
|
|
430
|
+
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
431
|
+
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
432
|
+
listingType: "art",
|
|
433
|
+
customFields: [],
|
|
434
|
+
customSections: [],
|
|
435
|
+
isPromoted: false,
|
|
436
|
+
isOnSale: false,
|
|
437
|
+
createdAt: new Date(),
|
|
438
|
+
updatedAt: new Date(),
|
|
439
|
+
}),
|
|
440
|
+
withTokens({
|
|
441
|
+
id: "stickers-tester-sandbox-1",
|
|
442
|
+
slug: "stickers-tester-sandbox-1",
|
|
443
|
+
title: "Test Sticker Pack — Peel Me!",
|
|
444
|
+
description: "Disposable test stickers listing for the tester QA program. Auto-expires in 7 days.",
|
|
445
|
+
categorySlugs: GADGETS_CATEGORY_SLUGS,
|
|
446
|
+
categoryNames: GADGETS_CATEGORY_NAMES,
|
|
447
|
+
brandSlug: "brand-tester-sandbox",
|
|
448
|
+
brand: "TestBrand",
|
|
449
|
+
price: 79,
|
|
450
|
+
currency: "INR",
|
|
451
|
+
stockQuantity: 25,
|
|
452
|
+
availableQuantity: 25,
|
|
453
|
+
isSold: false,
|
|
454
|
+
mainImage: seedExtMedia("https://picsum.photos/seed/stickers-image-tester-sandbox-1-20260101/900/900"),
|
|
455
|
+
images: [seedExtMedia("https://picsum.photos/seed/stickers-image-tester-sandbox-1-20260101/900/900")],
|
|
456
|
+
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
457
|
+
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
458
|
+
listingType: "stickers",
|
|
459
|
+
customFields: [],
|
|
460
|
+
customSections: [],
|
|
461
|
+
isPromoted: false,
|
|
462
|
+
isOnSale: false,
|
|
463
|
+
createdAt: new Date(),
|
|
464
|
+
updatedAt: new Date(),
|
|
465
|
+
}),
|
|
326
466
|
withTokens({
|
|
327
467
|
id: "group-tester-sandbox-bundle",
|
|
328
468
|
slug: "group-tester-sandbox-bundle",
|
|
329
|
-
|
|
330
|
-
|
|
469
|
+
// Product-group ("Set") parent — Tier GP, unrelated to the Bundles
|
|
470
|
+
// feature (categoryType:"bundle") despite the legacy "bundle" id/slug.
|
|
471
|
+
// Kept stable rather than renamed since nothing outside this file's
|
|
472
|
+
// internal group wiring depends on the "bundle" name.
|
|
473
|
+
title: "Test Product Set — Standard #1 + Standard #2",
|
|
474
|
+
description: "Disposable test product-group parent linking the two tester-sandbox standard products as a \"Set\". Auto-expires in 7 days.",
|
|
331
475
|
categorySlugs: GADGETS_CATEGORY_SLUGS,
|
|
332
476
|
categoryNames: GADGETS_CATEGORY_NAMES,
|
|
333
477
|
brandSlug: "brand-tester-sandbox",
|