@mohasinac/appkit 2.7.56 → 2.7.57

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.
Files changed (276) hide show
  1. package/dist/_internal/shared/actions/action-registry.js +31 -5
  2. package/dist/client.d.ts +1 -3
  3. package/dist/client.js +1 -2
  4. package/dist/constants/field-names.d.ts +3 -0
  5. package/dist/constants/field-names.js +3 -0
  6. package/dist/features/about/components/FAQPageView.js +2 -2
  7. package/dist/features/about/components/FeesView.js +1 -1
  8. package/dist/features/about/components/PolicyPageView.js +1 -1
  9. package/dist/features/about/components/PublicProfileView.js +1 -1
  10. package/dist/features/account/components/AddressesIndexListing.js +1 -1
  11. package/dist/features/account/components/MessagesView.js +1 -1
  12. package/dist/features/account/components/NotificationPreferencesPanel.js +12 -3
  13. package/dist/features/account/components/UserOffersPanel.js +2 -2
  14. package/dist/features/account/components/UserSidebar.js +3 -3
  15. package/dist/features/account/components/UserSupportView.js +1 -1
  16. package/dist/features/admin/components/AdminAllEventEntriesView.js +1 -1
  17. package/dist/features/admin/components/AdminBidsView.js +5 -1
  18. package/dist/features/admin/components/AdminBlogView.js +6 -1
  19. package/dist/features/admin/components/AdminBrandsView.js +6 -1
  20. package/dist/features/admin/components/AdminBundleEditorView.js +13 -9
  21. package/dist/features/admin/components/AdminBundlesView.js +3 -1
  22. package/dist/features/admin/components/AdminCarouselEditorView.js +7 -8
  23. package/dist/features/admin/components/AdminCarouselView.js +4 -2
  24. package/dist/features/admin/components/AdminCartsView.js +1 -1
  25. package/dist/features/admin/components/AdminCategoriesView.js +6 -1
  26. package/dist/features/admin/components/AdminContactView.js +3 -1
  27. package/dist/features/admin/components/AdminCouponsView.js +4 -2
  28. package/dist/features/admin/components/AdminEmployeeEditorView.js +1 -1
  29. package/dist/features/admin/components/AdminFaqsView.js +3 -1
  30. package/dist/features/admin/components/AdminFeatureFlagsView.js +1 -1
  31. package/dist/features/admin/components/AdminFeaturesView.js +4 -0
  32. package/dist/features/admin/components/AdminMediaView.js +10 -5
  33. package/dist/features/admin/components/AdminNavigationView.js +1 -1
  34. package/dist/features/admin/components/AdminNewsletterView.js +3 -1
  35. package/dist/features/admin/components/AdminNotificationsView.js +6 -1
  36. package/dist/features/admin/components/AdminOrdersView.js +10 -1
  37. package/dist/features/admin/components/AdminPayoutsView.js +5 -1
  38. package/dist/features/admin/components/AdminPrizeDrawsView.js +4 -0
  39. package/dist/features/admin/components/AdminProductsView.js +13 -1
  40. package/dist/features/admin/components/AdminReviewsView.js +6 -1
  41. package/dist/features/admin/components/AdminScammersView.js +1 -1
  42. package/dist/features/admin/components/AdminSectionsView.js +1 -1
  43. package/dist/features/admin/components/AdminSessionsView.js +5 -1
  44. package/dist/features/admin/components/AdminSidebar.js +3 -3
  45. package/dist/features/admin/components/AdminSiteSettingsView.js +1 -1
  46. package/dist/features/admin/components/AdminStoreEditorView.js +1 -1
  47. package/dist/features/admin/components/AdminStoresView.js +6 -1
  48. package/dist/features/admin/components/AdminSublistingCategoriesView.js +2 -0
  49. package/dist/features/admin/components/AdminSupportTicketDetailView.js +1 -1
  50. package/dist/features/admin/components/AdminSupportTicketsView.js +1 -1
  51. package/dist/features/admin/components/AdminTeamView.js +3 -1
  52. package/dist/features/admin/components/AdminUserEditorView.js +1 -1
  53. package/dist/features/admin/components/AdminUsersView.js +5 -1
  54. package/dist/features/admin/components/AdminViewCards.js +2 -2
  55. package/dist/features/admin/constants/filter-tabs.d.ts +9 -0
  56. package/dist/features/admin/constants/filter-tabs.js +3 -0
  57. package/dist/features/auctions/components/AuctionBottomActions.d.ts +7 -0
  58. package/dist/features/auctions/components/AuctionBottomActions.js +24 -0
  59. package/dist/features/auctions/components/AuctionDetailPageView.js +7 -7
  60. package/dist/features/auctions/components/AuctionsListView.js +1 -1
  61. package/dist/features/auctions/components/MarketplaceAuctionGrid.js +1 -1
  62. package/dist/features/auctions/components/PlaceBidFormClient.js +1 -1
  63. package/dist/features/auth/components/LoginForm.js +1 -1
  64. package/dist/features/auth/components/VerifyEmailView.js +2 -2
  65. package/dist/features/before-after/components/BeforeAfterGallery.js +1 -1
  66. package/dist/features/blog/components/BlogFeaturedCard.js +1 -1
  67. package/dist/features/blog/components/BlogIndexListing.js +1 -1
  68. package/dist/features/blog/components/BlogListView.js +2 -2
  69. package/dist/features/blog/components/BlogPostView.js +8 -8
  70. package/dist/features/cart/components/CartDrawer.js +1 -1
  71. package/dist/features/cart/repository/cart.repository.js +11 -4
  72. package/dist/features/cart/schemas/firestore.d.ts +3 -0
  73. package/dist/features/categories/components/BrandDetailPageView.js +1 -1
  74. package/dist/features/categories/components/CategoriesIndexListing.js +1 -1
  75. package/dist/features/categories/components/CategoryDetailPageView.js +39 -3
  76. package/dist/features/categories/components/CategoryDetailTabs.d.ts +4 -1
  77. package/dist/features/categories/components/CategoryDetailTabs.js +7 -2
  78. package/dist/features/categories/components/CategoryGrid.js +1 -1
  79. package/dist/features/categories/components/CategoryProductsView.js +1 -1
  80. package/dist/features/categories/components/CategoryStoresListing.d.ts +5 -0
  81. package/dist/features/categories/components/CategoryStoresListing.js +11 -0
  82. package/dist/features/categories/components/CategoryTableColumns.js +2 -2
  83. package/dist/features/categories/components/CategoryTree.js +1 -1
  84. package/dist/features/categories/components/index.d.ts +2 -0
  85. package/dist/features/categories/components/index.js +1 -0
  86. package/dist/features/checkout/components/CheckoutStepper.js +1 -1
  87. package/dist/features/classified/components/ClassifiedIndexListing.js +2 -0
  88. package/dist/features/classified/components/ClassifiedListView.js +1 -1
  89. package/dist/features/contact/components/ContactInfoSidebar.js +1 -1
  90. package/dist/features/digital-codes/components/DigitalCodesIndexListing.js +2 -0
  91. package/dist/features/digital-codes/components/DigitalCodesListView.js +1 -1
  92. package/dist/features/events/components/AdminEventsView.js +5 -1
  93. package/dist/features/events/components/EventCard.js +1 -1
  94. package/dist/features/events/components/EventPollWidget.js +1 -1
  95. package/dist/features/events/components/EventStatusBadge.js +5 -5
  96. package/dist/features/events/components/EventsIndexListing.js +1 -1
  97. package/dist/features/events/components/EventsListView.js +2 -2
  98. package/dist/features/events/components/SpinWheelView.js +4 -2
  99. package/dist/features/filters/AsyncFacetSection.js +3 -3
  100. package/dist/features/filters/FilterFacetSection.js +5 -5
  101. package/dist/features/filters/RangeFilter.js +1 -1
  102. package/dist/features/forms/Input.js +2 -2
  103. package/dist/features/forms/Select.js +1 -1
  104. package/dist/features/forms/Slider.js +1 -1
  105. package/dist/features/forms/Textarea.js +1 -1
  106. package/dist/features/forms/utils.d.ts +1 -1
  107. package/dist/features/forms/utils.js +1 -1
  108. package/dist/features/history/hooks/useHistory.js +23 -10
  109. package/dist/features/homepage/components/AdvertisementBanner.js +2 -2
  110. package/dist/features/homepage/components/FeaturedResultsSection.js +1 -1
  111. package/dist/features/homepage/components/HeroSection.js +1 -1
  112. package/dist/features/homepage/components/NewsletterSection.js +1 -1
  113. package/dist/features/homepage/components/SectionCarousel.js +1 -1
  114. package/dist/features/live/components/LiveItemsIndexListing.js +2 -0
  115. package/dist/features/live/components/LiveItemsListView.js +1 -1
  116. package/dist/features/orders/components/OrdersList.js +12 -12
  117. package/dist/features/pre-orders/components/MarketplacePreorderCard.js +1 -1
  118. package/dist/features/pre-orders/components/PreOrderActionsClient.js +1 -1
  119. package/dist/features/pre-orders/components/PreOrderBadge.js +5 -5
  120. package/dist/features/pre-orders/components/PreOrderBottomActions.d.ts +5 -0
  121. package/dist/features/pre-orders/components/PreOrderBottomActions.js +22 -0
  122. package/dist/features/pre-orders/components/PreOrderDetailPageView.js +5 -5
  123. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +47 -0
  124. package/dist/features/pre-orders/components/PreOrdersListView.js +1 -1
  125. package/dist/features/pre-orders/components/PreorderCard.js +3 -3
  126. package/dist/features/products/components/AuctionsIndexListing.js +23 -0
  127. package/dist/features/products/components/BidHistory.js +2 -2
  128. package/dist/features/products/components/CompareOverlay.js +1 -1
  129. package/dist/features/products/components/CustomFieldsEditor.js +1 -1
  130. package/dist/features/products/components/CustomSectionTabContent.js +1 -1
  131. package/dist/features/products/components/CustomSectionsEditor.js +1 -1
  132. package/dist/features/products/components/GroupSettingsPanel.js +2 -2
  133. package/dist/features/products/components/MakeOfferButton.js +1 -1
  134. package/dist/features/products/components/PrizeDrawBottomActions.d.ts +6 -0
  135. package/dist/features/products/components/PrizeDrawBottomActions.js +24 -0
  136. package/dist/features/products/components/PrizeDrawDetailPageView.js +3 -5
  137. package/dist/features/products/components/PrizeDrawEntryActions.js +5 -18
  138. package/dist/features/products/components/PrizeRevealModal.js +5 -2
  139. package/dist/features/products/components/ProductDetailActions.d.ts +6 -1
  140. package/dist/features/products/components/ProductDetailActions.js +36 -6
  141. package/dist/features/products/components/ProductDetailPageView.js +17 -16
  142. package/dist/features/products/components/ProductGalleryClient.js +1 -1
  143. package/dist/features/products/components/ProductGrid.js +6 -6
  144. package/dist/features/products/components/ProductTabs.js +1 -1
  145. package/dist/features/products/components/ProductTabsShell.js +1 -1
  146. package/dist/features/products/components/ProductsIndexListing.js +47 -0
  147. package/dist/features/products/components/RelatedProducts.js +1 -1
  148. package/dist/features/products/components/ShowGroupSection.js +1 -1
  149. package/dist/features/products/components/SublistingCarouselSection.js +1 -1
  150. package/dist/features/products/components/SublistingCategorySelect.js +1 -1
  151. package/dist/features/products/components/index.d.ts +0 -2
  152. package/dist/features/products/components/index.js +0 -1
  153. package/dist/features/products/constants/action-defs.d.ts +7 -0
  154. package/dist/features/products/constants/action-defs.js +14 -0
  155. package/dist/features/products/constants/listing-tabs.d.ts +6 -0
  156. package/dist/features/products/constants/listing-tabs.js +1 -0
  157. package/dist/features/promotions/components/CouponCard.js +2 -2
  158. package/dist/features/promotions/components/CouponsIndexListing.js +2 -2
  159. package/dist/features/reviews/components/ReviewDetailPageView.js +1 -1
  160. package/dist/features/reviews/components/ReviewDetailShell.js +3 -3
  161. package/dist/features/reviews/components/ReviewModal.js +2 -2
  162. package/dist/features/reviews/components/ReviewSummary.js +1 -1
  163. package/dist/features/reviews/components/ReviewsIndexListing.js +1 -1
  164. package/dist/features/reviews/components/ReviewsList.js +1 -1
  165. package/dist/features/seller/components/SellerAddressesView.js +4 -3
  166. package/dist/features/seller/components/SellerAnalyticsAlertsView.js +1 -1
  167. package/dist/features/seller/components/SellerAuctionsView.js +10 -3
  168. package/dist/features/seller/components/SellerBidsView.js +22 -7
  169. package/dist/features/seller/components/SellerBundlesView.js +10 -3
  170. package/dist/features/seller/components/SellerClassifiedView.js +10 -3
  171. package/dist/features/seller/components/SellerCouponsView.js +13 -4
  172. package/dist/features/seller/components/SellerDigitalCodesView.js +10 -3
  173. package/dist/features/seller/components/SellerGoogleReviewsView.js +10 -5
  174. package/dist/features/seller/components/SellerGroupedListingsView.js +2 -0
  175. package/dist/features/seller/components/SellerLiveView.js +10 -3
  176. package/dist/features/seller/components/SellerOffersPanel.js +2 -2
  177. package/dist/features/seller/components/SellerOffersView.js +1 -1
  178. package/dist/features/seller/components/SellerOrdersView.js +40 -17
  179. package/dist/features/seller/components/SellerPayoutMethodsView.js +13 -4
  180. package/dist/features/seller/components/SellerPayoutsView.js +1 -1
  181. package/dist/features/seller/components/SellerPreOrdersView.js +7 -2
  182. package/dist/features/seller/components/SellerPrizeDrawsView.js +7 -2
  183. package/dist/features/seller/components/SellerProductShell.js +27 -9
  184. package/dist/features/seller/components/SellerProductsCards.js +2 -1
  185. package/dist/features/seller/components/SellerProductsView.js +21 -8
  186. package/dist/features/seller/components/SellerReviewsView.js +8 -0
  187. package/dist/features/seller/components/SellerShippingConfigsView.js +13 -4
  188. package/dist/features/seller/components/SellerSidebar.js +2 -2
  189. package/dist/features/seller/components/SellerStoreCategoriesView.js +10 -3
  190. package/dist/features/seller/components/SellerTemplatesView.js +19 -6
  191. package/dist/features/shell/StepForm.js +9 -3
  192. package/dist/features/site-settings/components/ActionPermissionsManager.js +1 -1
  193. package/dist/features/site-settings/components/NavPermissionsManager.js +1 -1
  194. package/dist/features/stores/components/InteractiveStoreCard.js +1 -1
  195. package/dist/features/stores/components/StoreDetailLayoutView.js +1 -1
  196. package/dist/features/stores/components/StoreReviewsListing.js +1 -1
  197. package/dist/features/stores/components/StoresIndexListing.js +17 -1
  198. package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +1 -1
  199. package/dist/features/wishlist/components/WishlistPage.js +2 -2
  200. package/dist/features/wishlist/hooks/useWishlistToggle.js +6 -1
  201. package/dist/index.d.ts +3 -2
  202. package/dist/index.js +6 -3
  203. package/dist/react/hooks/use-action-dispatch.d.ts +5 -0
  204. package/dist/react/hooks/use-action-dispatch.js +10 -0
  205. package/dist/seed/cart-seed-data.js +50 -3
  206. package/dist/seed/categories-seed-data.js +80 -16
  207. package/dist/seed/index.d.ts +3 -0
  208. package/dist/seed/index.js +3 -0
  209. package/dist/seed/manifest.js +15 -1
  210. package/dist/seed/products-classifieds-seed-data.d.ts +10 -0
  211. package/dist/seed/products-classifieds-seed-data.js +197 -0
  212. package/dist/seed/products-digital-codes-seed-data.d.ts +10 -0
  213. package/dist/seed/products-digital-codes-seed-data.js +204 -0
  214. package/dist/seed/products-live-items-seed-data.d.ts +13 -0
  215. package/dist/seed/products-live-items-seed-data.js +190 -0
  216. package/dist/styles.css +16 -1
  217. package/dist/tailwind-utilities.css +1 -1
  218. package/dist/tokens/index.d.ts +3 -3
  219. package/dist/tokens/index.js +3 -3
  220. package/dist/ui/DataTable.js +3 -3
  221. package/dist/ui/components/Button.style.css +15 -0
  222. package/dist/ui/components/Input.js +1 -1
  223. package/dist/ui/components/ListingToolbar.js +1 -1
  224. package/dist/ui/components/Select.js +1 -1
  225. package/dist/ui/components/StatsGrid.js +1 -1
  226. package/dist/ui/index.d.ts +0 -4
  227. package/dist/ui/index.js +0 -2
  228. package/package.json +1 -1
  229. package/dist/_internal/client/features/seller/print-center/InventoryLabel.d.ts +0 -12
  230. package/dist/_internal/client/features/seller/print-center/InventoryLabel.js +0 -49
  231. package/dist/_internal/client/features/seller/print-center/LabelDesignPicker.d.ts +0 -7
  232. package/dist/_internal/client/features/seller/print-center/LabelDesignPicker.js +0 -32
  233. package/dist/_internal/client/features/seller/print-center/OrderPackingLabel.d.ts +0 -28
  234. package/dist/_internal/client/features/seller/print-center/OrderPackingLabel.js +0 -33
  235. package/dist/_internal/client/features/seller/print-center/PhysicalLocationModal.d.ts +0 -12
  236. package/dist/_internal/client/features/seller/print-center/PhysicalLocationModal.js +0 -30
  237. package/dist/_internal/client/features/seller/print-center/PrintCenterView.d.ts +0 -12
  238. package/dist/_internal/client/features/seller/print-center/PrintCenterView.js +0 -102
  239. package/dist/_internal/client/features/seller/print-center/PrintGrid.d.ts +0 -12
  240. package/dist/_internal/client/features/seller/print-center/PrintGrid.js +0 -13
  241. package/dist/_internal/client/features/seller/print-center/StoreCard.d.ts +0 -19
  242. package/dist/_internal/client/features/seller/print-center/StoreCard.js +0 -30
  243. package/dist/_internal/client/features/seller/print-center/WebsiteCard.d.ts +0 -11
  244. package/dist/_internal/client/features/seller/print-center/WebsiteCard.js +0 -25
  245. package/dist/_internal/client/features/seller/print-center/index.d.ts +0 -11
  246. package/dist/_internal/client/features/seller/print-center/index.js +0 -10
  247. package/dist/_internal/client/features/seller/print-center/types.d.ts +0 -20
  248. package/dist/_internal/client/features/seller/print-center/types.js +0 -20
  249. package/dist/_internal/client/features/seller/print-center/useInventoryPdf.d.ts +0 -18
  250. package/dist/_internal/client/features/seller/print-center/useInventoryPdf.js +0 -76
  251. package/dist/features/account/repository/address.repository.d.ts +0 -17
  252. package/dist/features/account/repository/address.repository.js +0 -184
  253. package/dist/features/auctions/components/AuctionCard.d.ts +0 -29
  254. package/dist/features/auctions/components/AuctionCard.js +0 -38
  255. package/dist/features/categories/components/BundleAddToCartCta.d.ts +0 -16
  256. package/dist/features/categories/components/BundleAddToCartCta.js +0 -54
  257. package/dist/features/categories/components/CategoriesListView.d.ts +0 -31
  258. package/dist/features/categories/components/CategoriesListView.js +0 -27
  259. package/dist/features/products/components/AuctionsView.d.ts +0 -6
  260. package/dist/features/products/components/AuctionsView.js +0 -5
  261. package/dist/features/products/components/BuyBar.d.ts +0 -21
  262. package/dist/features/products/components/BuyBar.js +0 -19
  263. package/dist/features/products/components/PreOrdersView.d.ts +0 -6
  264. package/dist/features/products/components/PreOrdersView.js +0 -5
  265. package/dist/features/reviews/components/ReviewsListView.d.ts +0 -31
  266. package/dist/features/reviews/components/ReviewsListView.js +0 -16
  267. package/dist/features/stores/components/StoresListView.d.ts +0 -19
  268. package/dist/features/stores/components/StoresListView.js +0 -25
  269. package/dist/features/stores/repository/store-address.repository.d.ts +0 -55
  270. package/dist/features/stores/repository/store-address.repository.js +0 -187
  271. package/dist/ui/components/BulkActionsBar.d.ts +0 -18
  272. package/dist/ui/components/BulkActionsBar.js +0 -25
  273. package/dist/ui/components/CollageLightbox.d.ts +0 -18
  274. package/dist/ui/components/CollageLightbox.js +0 -41
  275. package/dist/ui/components/StickyBottomBar.d.ts +0 -22
  276. package/dist/ui/components/StickyBottomBar.js +0 -20
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Digital-Code Products Seed Data — Yu-Gi-Oh! Theme (SB-UNI-J)
3
+ *
4
+ * Stored as ProductDocument with listingType: "digital-code". Instant
5
+ * digital fulfillment — no shipping address, code delivered on payment.
6
+ *
7
+ * Prices in INR paise (₹1 = 100 paise).
8
+ */
9
+ import { PRODUCT_FIELDS } from "../constants/field-names";
10
+ import { buildSearchTokens } from "../utils/search-tokens";
11
+ function withTokens(p) {
12
+ return {
13
+ tags: [],
14
+ featured: false,
15
+ ...p,
16
+ searchTokens: buildSearchTokens(p.title, p.description, p.brand, p.brandSlug, p.categoryNames, p.tags, p.features, p.condition),
17
+ };
18
+ }
19
+ const CARD_IDS = {
20
+ darkMagician: 46986414,
21
+ blueEyesWhiteDragon: 89631139,
22
+ elementalHeroNeos: 89943723,
23
+ cyberDragon: 70095154,
24
+ obeliskTheTormentor: 10000015,
25
+ };
26
+ const NOW = new Date();
27
+ const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
28
+ const daysAhead = (n) => new Date(NOW.getTime() + n * 86400000);
29
+ const _rawDigitalCodesSeedData = [
30
+ {
31
+ id: "digitalcode-master-duel-gems-1000",
32
+ slug: "digitalcode-master-duel-gems-1000",
33
+ title: "Yu-Gi-Oh! Master Duel — 1000 Gems Code",
34
+ description: "Instant delivery: 1000 Gems redemption code for Yu-Gi-Oh! Master Duel (all platforms). Code sent via order detail page immediately after payment. One code per account.",
35
+ categorySlugs: ["category-digital-codes"],
36
+ categoryNames: ["Digital Codes"],
37
+ brand: "Konami",
38
+ brandSlug: "brand-konami",
39
+ price: 49900,
40
+ currency: "INR",
41
+ stockQuantity: 50,
42
+ availableQuantity: 50,
43
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.darkMagician}.jpg`,
44
+ images: [
45
+ `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.darkMagician}.jpg`,
46
+ ],
47
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
48
+ storeId: "store-letitrip-official",
49
+ storeName: "LetItRip Official",
50
+ tags: ["master-duel", "gems", "digital-code", "instant-delivery"],
51
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
52
+ digitalCode: {
53
+ codeDeliveryMethod: "auto-claim",
54
+ codePoolSize: 50,
55
+ codesAvailable: 50,
56
+ redemptionInstructions: "Open Yu-Gi-Oh! Master Duel → Settings → Redeem Code → paste the code. Gems are credited instantly.",
57
+ expiresAt: daysAhead(90),
58
+ },
59
+ maxPerUser: 3,
60
+ allowOffers: false,
61
+ createdAt: daysAgo(5),
62
+ updatedAt: daysAgo(1),
63
+ },
64
+ {
65
+ id: "digitalcode-master-duel-structure-deck",
66
+ slug: "digitalcode-master-duel-structure-deck",
67
+ title: "Master Duel — Blue-Eyes Structure Deck Unlock Code",
68
+ description: "Unlock code for the Blue-Eyes White Dragon structure deck in Yu-Gi-Oh! Master Duel. Includes 3× Blue-Eyes, Dragon Spirit of White, and all staples. Auto-delivered after payment.",
69
+ categorySlugs: ["category-digital-codes"],
70
+ categoryNames: ["Digital Codes"],
71
+ brand: "Konami",
72
+ brandSlug: "brand-konami",
73
+ price: 29900,
74
+ currency: "INR",
75
+ stockQuantity: 25,
76
+ availableQuantity: 25,
77
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.blueEyesWhiteDragon}.jpg`,
78
+ images: [
79
+ `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.blueEyesWhiteDragon}.jpg`,
80
+ ],
81
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
82
+ storeId: "store-letitrip-official",
83
+ storeName: "LetItRip Official",
84
+ tags: ["master-duel", "structure-deck", "blue-eyes", "digital-code"],
85
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
86
+ digitalCode: {
87
+ codeDeliveryMethod: "auto-claim",
88
+ codePoolSize: 25,
89
+ codesAvailable: 25,
90
+ redemptionInstructions: "Open Master Duel → Shop → Redeem → paste code. The structure deck appears in your deck list.",
91
+ expiresAt: daysAhead(60),
92
+ },
93
+ maxPerUser: 1,
94
+ allowOffers: false,
95
+ createdAt: daysAgo(3),
96
+ updatedAt: daysAgo(1),
97
+ },
98
+ {
99
+ id: "digitalcode-duel-links-gems-500",
100
+ slug: "digitalcode-duel-links-gems-500",
101
+ title: "Duel Links — 500 Gems Redemption Code",
102
+ description: "500 Gems for Yu-Gi-Oh! Duel Links (iOS / Android / Steam). Code delivered on order detail page. Valid for 30 days from purchase.",
103
+ categorySlugs: ["category-digital-codes"],
104
+ categoryNames: ["Digital Codes"],
105
+ brand: "Konami",
106
+ brandSlug: "brand-konami",
107
+ price: 19900,
108
+ currency: "INR",
109
+ stockQuantity: 100,
110
+ availableQuantity: 100,
111
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.elementalHeroNeos}.jpg`,
112
+ images: [
113
+ `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.elementalHeroNeos}.jpg`,
114
+ ],
115
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
116
+ storeId: "store-kaiba-corp-cards",
117
+ storeName: "Kaiba Corp Card Vault",
118
+ tags: ["duel-links", "gems", "digital-code", "mobile"],
119
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
120
+ digitalCode: {
121
+ codeDeliveryMethod: "auto-claim",
122
+ codePoolSize: 100,
123
+ codesAvailable: 100,
124
+ redemptionInstructions: "Duel Links → Settings → Campaign → Enter Gift Code. Gems credited within 5 minutes.",
125
+ expiresAt: daysAhead(30),
126
+ },
127
+ maxPerUser: 5,
128
+ allowOffers: false,
129
+ createdAt: daysAgo(2),
130
+ updatedAt: daysAgo(1),
131
+ },
132
+ {
133
+ id: "digitalcode-neuron-premium-1yr",
134
+ slug: "digitalcode-neuron-premium-1yr",
135
+ title: "Yu-Gi-Oh! Neuron Premium — 1 Year Subscription Code",
136
+ description: "1-year premium subscription code for the official Yu-Gi-Oh! Neuron companion app. Unlocks advanced deck builder, tournament brackets, card scanner, and life-point tracker. Sent via email within 1 hour.",
137
+ categorySlugs: ["category-digital-codes"],
138
+ categoryNames: ["Digital Codes"],
139
+ brand: "Konami",
140
+ brandSlug: "brand-konami",
141
+ price: 99900,
142
+ currency: "INR",
143
+ stockQuantity: 20,
144
+ availableQuantity: 20,
145
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.cyberDragon}.jpg`,
146
+ images: [
147
+ `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.cyberDragon}.jpg`,
148
+ ],
149
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
150
+ storeId: "store-letitrip-official",
151
+ storeName: "LetItRip Official",
152
+ tags: ["neuron", "premium", "subscription", "digital-code", "companion-app"],
153
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
154
+ digitalCode: {
155
+ codeDeliveryMethod: "manual-email",
156
+ codePoolSize: 20,
157
+ codesAvailable: 20,
158
+ redemptionInstructions: "Open Yu-Gi-Oh! Neuron → Settings → Subscription → Redeem Code. Premium features unlock immediately.",
159
+ expiresAt: daysAhead(180),
160
+ },
161
+ maxPerUser: 1,
162
+ allowOffers: false,
163
+ createdAt: daysAgo(8),
164
+ updatedAt: daysAgo(2),
165
+ },
166
+ {
167
+ id: "digitalcode-master-duel-battle-pass",
168
+ slug: "digitalcode-master-duel-battle-pass",
169
+ title: "Master Duel — Gold Duel Pass (Current Season)",
170
+ description: "Gold Duel Pass unlock code for the current Master Duel season. Unlocks all premium rewards on the battle pass track. Auto-delivered.",
171
+ categorySlugs: ["category-digital-codes"],
172
+ categoryNames: ["Digital Codes"],
173
+ brand: "Konami",
174
+ brandSlug: "brand-konami",
175
+ price: 79900,
176
+ currency: "INR",
177
+ stockQuantity: 30,
178
+ availableQuantity: 30,
179
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.obeliskTheTormentor}.jpg`,
180
+ images: [
181
+ `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.obeliskTheTormentor}.jpg`,
182
+ ],
183
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
184
+ storeId: "store-kaiba-corp-cards",
185
+ storeName: "Kaiba Corp Card Vault",
186
+ tags: ["master-duel", "battle-pass", "gold", "digital-code", "season"],
187
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
188
+ digitalCode: {
189
+ codeDeliveryMethod: "auto-claim",
190
+ codePoolSize: 30,
191
+ codesAvailable: 30,
192
+ redemptionInstructions: "Master Duel → Duel Pass → Upgrade → Redeem Code. Premium track unlocks retroactively for all earned levels.",
193
+ expiresAt: daysAhead(45),
194
+ },
195
+ maxPerUser: 1,
196
+ allowOffers: false,
197
+ createdAt: daysAgo(1),
198
+ updatedAt: daysAgo(1),
199
+ },
200
+ ];
201
+ export const productsDigitalCodesSeedData = _rawDigitalCodesSeedData.map((p) => withTokens({
202
+ ...p,
203
+ listingType: "digital-code",
204
+ }));
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Live-Item Products Seed Data — Yu-Gi-Oh! Themed Aquatics (SB-UNI-K)
3
+ *
4
+ * Stored as ProductDocument with listingType: "live". These items require
5
+ * vendor verification and jurisdiction checks at add-to-cart.
6
+ *
7
+ * Theme: Collectible aquatic species named/themed after Yu-Gi-Oh! monsters.
8
+ * (The marketplace supports live animals/plants alongside cards.)
9
+ *
10
+ * Prices in INR paise (₹1 = 100 paise).
11
+ */
12
+ import type { ProductDocument } from "../features/products/schemas/firestore";
13
+ export declare const productsLiveItemsSeedData: Partial<ProductDocument>[];
@@ -0,0 +1,190 @@
1
+ /**
2
+ * Live-Item Products Seed Data — Yu-Gi-Oh! Themed Aquatics (SB-UNI-K)
3
+ *
4
+ * Stored as ProductDocument with listingType: "live". These items require
5
+ * vendor verification and jurisdiction checks at add-to-cart.
6
+ *
7
+ * Theme: Collectible aquatic species named/themed after Yu-Gi-Oh! monsters.
8
+ * (The marketplace supports live animals/plants alongside cards.)
9
+ *
10
+ * Prices in INR paise (₹1 = 100 paise).
11
+ */
12
+ import { PRODUCT_FIELDS } from "../constants/field-names";
13
+ import { buildSearchTokens } from "../utils/search-tokens";
14
+ function withTokens(p) {
15
+ return {
16
+ tags: [],
17
+ featured: false,
18
+ ...p,
19
+ searchTokens: buildSearchTokens(p.title, p.description, p.brand, p.brandSlug, p.categoryNames, p.tags, p.features, p.condition),
20
+ };
21
+ }
22
+ const NOW = new Date();
23
+ const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
24
+ const _rawLiveItemsSeedData = [
25
+ {
26
+ id: "live-blue-eyes-koi-albino",
27
+ slug: "live-blue-eyes-koi-albino",
28
+ title: "\"Blue-Eyes\" Platinum Ogon Koi — 18 cm, 8 months",
29
+ description: "Stunning platinum ogon koi named after the legendary Blue-Eyes White Dragon. Bright white body with a faint blue sheen under sunlight. Healthy, eats pellets eagerly. Certified disease-free by Aqua Vet India. Specialist courier with oxygen bag + heat pack.",
30
+ categorySlugs: ["category-live-aquatics"],
31
+ categoryNames: ["Live Aquatics"],
32
+ brand: undefined,
33
+ brandSlug: undefined,
34
+ price: 850000,
35
+ currency: "INR",
36
+ stockQuantity: 1,
37
+ availableQuantity: 1,
38
+ mainImage: "https://images.unsplash.com/photo-1583212292454-1fe6229603b7?w=800&h=800&fit=crop",
39
+ images: [
40
+ "https://images.unsplash.com/photo-1583212292454-1fe6229603b7?w=800&h=800&fit=crop",
41
+ ],
42
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
43
+ storeId: "store-letitrip-official",
44
+ storeName: "LetItRip Official",
45
+ tags: ["koi", "live", "aquatics", "blue-eyes", "platinum-ogon", "certified"],
46
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
47
+ liveItem: {
48
+ species: "Cyprinus rubrofuscus (Platinum Ogon variety)",
49
+ ageMonths: 8,
50
+ sex: "unknown",
51
+ careInfo: "Requires pond or 500+ litre tank. pH 7.0–8.0, temp 15–25°C. Feed high-protein koi pellets 2× daily. Weekly 20% water changes.",
52
+ transport: {
53
+ method: "specialist",
54
+ handlingFeeInPaise: 50000,
55
+ insuranceIncluded: true,
56
+ },
57
+ jurisdictionAllowed: ["IN-MH", "IN-KA", "IN-TN", "IN-KL", "IN-AP", "IN-TG", "IN-GA", "IN-GJ", "IN-DL"],
58
+ vendorVerified: true,
59
+ },
60
+ shippingInfo: "Specialist live-fish courier. 24-hour delivery guarantee within allowed states. DOA refund policy applies.",
61
+ allowOffers: false,
62
+ createdAt: daysAgo(6),
63
+ updatedAt: daysAgo(2),
64
+ },
65
+ {
66
+ id: "live-red-eyes-betta-halfmoon",
67
+ slug: "live-red-eyes-betta-halfmoon",
68
+ title: "\"Red-Eyes\" Black Halfmoon Betta — Male, 5 months",
69
+ description: "Deep black halfmoon betta with red eye flash — our Red-Eyes Black Dragon homage. Flares beautifully, perfect finnage spread >180°. Bred in-house, never medicated. Ships in insulated box with breather bag.",
70
+ categorySlugs: ["category-live-aquatics"],
71
+ categoryNames: ["Live Aquatics"],
72
+ brand: undefined,
73
+ brandSlug: undefined,
74
+ price: 120000,
75
+ currency: "INR",
76
+ stockQuantity: 3,
77
+ availableQuantity: 3,
78
+ mainImage: "https://images.unsplash.com/photo-1520302519878-3c0a981b76e1?w=800&h=800&fit=crop",
79
+ images: [
80
+ "https://images.unsplash.com/photo-1520302519878-3c0a981b76e1?w=800&h=800&fit=crop",
81
+ ],
82
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
83
+ storeId: "store-letitrip-official",
84
+ storeName: "LetItRip Official",
85
+ tags: ["betta", "live", "aquatics", "red-eyes", "halfmoon", "male"],
86
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
87
+ liveItem: {
88
+ species: "Betta splendens (Black Halfmoon variety)",
89
+ ageMonths: 5,
90
+ sex: "male",
91
+ careInfo: "Solo housing required — males are aggressive. Min 10 litre heated tank (26–28°C). Feed betta pellets + occasional bloodworms.",
92
+ transport: {
93
+ method: "courier",
94
+ handlingFeeInPaise: 15000,
95
+ insuranceIncluded: true,
96
+ },
97
+ jurisdictionAllowed: ["IN-MH", "IN-KA", "IN-TN", "IN-KL", "IN-AP", "IN-TG", "IN-GA", "IN-GJ", "IN-DL", "IN-RJ", "IN-UP", "IN-WB"],
98
+ vendorVerified: true,
99
+ },
100
+ shippingInfo: "Express courier with insulated packaging. 48-hour delivery. Full refund on DOA with photo proof.",
101
+ allowOffers: false,
102
+ createdAt: daysAgo(4),
103
+ updatedAt: daysAgo(1),
104
+ },
105
+ {
106
+ id: "live-kuriboh-pom-pom-crab",
107
+ slug: "live-kuriboh-pom-pom-crab",
108
+ title: "\"Kuriboh\" Pom Pom Crab — Freshwater, captive-bred",
109
+ description: "Adorable freshwater pom pom crab that looks just like Kuriboh! Carries tiny anemone-like growths on its claws. Peaceful community tank species. Captive-bred, quarantined 14 days.",
110
+ categorySlugs: ["category-live-aquatics"],
111
+ categoryNames: ["Live Aquatics"],
112
+ brand: undefined,
113
+ brandSlug: undefined,
114
+ price: 45000,
115
+ currency: "INR",
116
+ stockQuantity: 8,
117
+ availableQuantity: 8,
118
+ mainImage: "https://images.unsplash.com/photo-1559827260-dc66d52bef19?w=800&h=800&fit=crop",
119
+ images: [
120
+ "https://images.unsplash.com/photo-1559827260-dc66d52bef19?w=800&h=800&fit=crop",
121
+ ],
122
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
123
+ storeId: "store-kaiba-corp-cards",
124
+ storeName: "Kaiba Corp Card Vault",
125
+ tags: ["crab", "live", "aquatics", "kuriboh", "pom-pom", "freshwater"],
126
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
127
+ liveItem: {
128
+ species: "Ptychognathus barbatus (Pom Pom Crab)",
129
+ ageMonths: 3,
130
+ sex: "unknown",
131
+ careInfo: "Freshwater, fully aquatic. Min 20 litre tank with hiding spots. Temp 22–26°C, pH 7.0–7.5. Feed sinking pellets + blanched veg.",
132
+ transport: {
133
+ method: "courier",
134
+ handlingFeeInPaise: 10000,
135
+ insuranceIncluded: false,
136
+ },
137
+ jurisdictionAllowed: ["IN-MH", "IN-KA", "IN-TN", "IN-KL", "IN-AP", "IN-TG", "IN-DL", "IN-GJ"],
138
+ vendorVerified: true,
139
+ },
140
+ shippingInfo: "Standard courier with damp moss packaging. Ships Mon–Wed only for safe delivery.",
141
+ allowOffers: false,
142
+ createdAt: daysAgo(3),
143
+ updatedAt: daysAgo(1),
144
+ },
145
+ {
146
+ id: "live-dark-magician-axolotl-melanoid",
147
+ slug: "live-dark-magician-axolotl-melanoid",
148
+ title: "\"Dark Magician\" Melanoid Axolotl — 12 cm, 6 months",
149
+ description: "Deep purple-black melanoid axolotl — our Dark Magician tribute. Healthy, eating bloodworms and pellets. Captive-bred, CITES-exempt (Ambystoma mexicanum is Appendix II but captive-bred stock is exempt under Indian regulations).",
150
+ categorySlugs: ["category-live-aquatics"],
151
+ categoryNames: ["Live Aquatics"],
152
+ brand: undefined,
153
+ brandSlug: undefined,
154
+ price: 350000,
155
+ currency: "INR",
156
+ stockQuantity: 2,
157
+ availableQuantity: 2,
158
+ mainImage: "https://images.unsplash.com/photo-1585095595205-e68428a9e205?w=800&h=800&fit=crop",
159
+ images: [
160
+ "https://images.unsplash.com/photo-1585095595205-e68428a9e205?w=800&h=800&fit=crop",
161
+ ],
162
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
163
+ storeId: "store-letitrip-official",
164
+ storeName: "LetItRip Official",
165
+ tags: ["axolotl", "live", "aquatics", "dark-magician", "melanoid", "captive-bred"],
166
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
167
+ liveItem: {
168
+ species: "Ambystoma mexicanum (Melanoid morph)",
169
+ ageMonths: 6,
170
+ sex: "unknown",
171
+ careInfo: "Cool water species — temp 16–20°C (chiller required in most Indian cities). Min 75 litre tank, no gravel substrate. Feed earthworms, bloodworms, pellets.",
172
+ transport: {
173
+ method: "specialist",
174
+ handlingFeeInPaise: 30000,
175
+ insuranceIncluded: true,
176
+ },
177
+ jurisdictionAllowed: ["IN-MH", "IN-KA", "IN-TN", "IN-KL", "IN-DL"],
178
+ vendorVerified: true,
179
+ cites: "CB-AX-2026-0042",
180
+ },
181
+ shippingInfo: "Specialist cold-chain courier with ice packs. 24-hour delivery only. DOA + 48-hour health guarantee.",
182
+ allowOffers: false,
183
+ createdAt: daysAgo(5),
184
+ updatedAt: daysAgo(1),
185
+ },
186
+ ];
187
+ export const productsLiveItemsSeedData = _rawLiveItemsSeedData.map((p) => withTokens({
188
+ ...p,
189
+ listingType: "live",
190
+ }));