@mohasinac/appkit 2.7.10 → 2.7.12

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 (148) hide show
  1. package/dist/_internal/server/jobs/core/assignSpinPrize.js +8 -7
  2. package/dist/_internal/server/jobs/core/bundleStockSync.js +11 -6
  3. package/dist/_internal/server/jobs/core/countersReconcile.js +3 -2
  4. package/dist/_internal/server/jobs/core/onProductStockChange.js +12 -7
  5. package/dist/_internal/server/jobs/core/onProductWrite.js +3 -2
  6. package/dist/_internal/server/jobs/core/prizeRevealClose.js +7 -5
  7. package/dist/_internal/server/jobs/core/prizeRevealExpiry.js +11 -6
  8. package/dist/_internal/server/jobs/core/prizeRevealOpen.js +13 -7
  9. package/dist/_internal/server/jobs/core/prizeRevealReminder.js +9 -4
  10. package/dist/_internal/server/jobs/core/triggerEventRaffle.js +3 -2
  11. package/dist/_internal/shared/features/blog/schema.d.ts +4 -4
  12. package/dist/_internal/shared/features/categories/bundle-schemas.d.ts +32 -32
  13. package/dist/_internal/shared/features/events/schema.d.ts +4 -4
  14. package/dist/_internal/shared/features/products/schema.d.ts +20 -20
  15. package/dist/_internal/shared/features/promotions/schema.d.ts +2 -2
  16. package/dist/_internal/shared/features/reviews/schema.d.ts +1 -1
  17. package/dist/configs/next.js +17 -1
  18. package/dist/constants/field-names.d.ts +813 -0
  19. package/dist/constants/field-names.js +918 -0
  20. package/dist/constants/sort.d.ts +7 -0
  21. package/dist/constants/sort.js +5 -0
  22. package/dist/constants/table-keys.d.ts +48 -0
  23. package/dist/constants/table-keys.js +46 -0
  24. package/dist/features/account/components/AddressesIndexListing.js +9 -6
  25. package/dist/features/admin/components/AdminAllEventEntriesView.js +4 -1
  26. package/dist/features/admin/components/AdminBidsView.js +4 -1
  27. package/dist/features/admin/components/AdminBlogView.js +9 -2
  28. package/dist/features/admin/components/AdminBrandsView.js +9 -2
  29. package/dist/features/admin/components/AdminCarouselView.js +4 -1
  30. package/dist/features/admin/components/AdminCartsView.js +4 -1
  31. package/dist/features/admin/components/AdminCategoriesView.js +9 -2
  32. package/dist/features/admin/components/AdminContactView.js +4 -1
  33. package/dist/features/admin/components/AdminCouponsView.js +4 -1
  34. package/dist/features/admin/components/AdminFaqsView.js +5 -1
  35. package/dist/features/admin/components/AdminFeaturesView.js +5 -2
  36. package/dist/features/admin/components/AdminHistoryView.js +5 -1
  37. package/dist/features/admin/components/AdminNewsletterView.js +4 -1
  38. package/dist/features/admin/components/AdminNotificationsView.js +4 -1
  39. package/dist/features/admin/components/AdminOrdersView.js +14 -12
  40. package/dist/features/admin/components/AdminPayoutsView.js +4 -1
  41. package/dist/features/admin/components/AdminPrizeDrawsView.js +4 -1
  42. package/dist/features/admin/components/AdminProductsView.js +14 -3
  43. package/dist/features/admin/components/AdminReturnRequestsView.js +4 -1
  44. package/dist/features/admin/components/AdminReviewsView.js +4 -1
  45. package/dist/features/admin/components/AdminScammersView.js +4 -1
  46. package/dist/features/admin/components/AdminSessionsView.js +4 -1
  47. package/dist/features/admin/components/AdminStoreAddressesView.js +5 -1
  48. package/dist/features/admin/components/AdminStoresView.js +10 -3
  49. package/dist/features/admin/components/AdminSublistingCategoriesView.js +4 -1
  50. package/dist/features/admin/components/AdminSupportTicketsView.js +4 -1
  51. package/dist/features/admin/components/AdminTeamView.js +4 -1
  52. package/dist/features/admin/components/AdminUsersView.js +9 -12
  53. package/dist/features/admin/components/AdminViewCards.d.ts +12 -0
  54. package/dist/features/admin/components/AdminViewCards.js +53 -0
  55. package/dist/features/admin/components/AdminWishlistsView.js +4 -1
  56. package/dist/features/auctions/repository/bid.repository.js +1 -6
  57. package/dist/features/auctions/schemas/index.d.ts +4 -4
  58. package/dist/features/blog/actions/blog-actions.d.ts +16 -16
  59. package/dist/features/blog/components/BlogFilters.d.ts +28 -28
  60. package/dist/features/blog/components/BlogFilters.js +18 -15
  61. package/dist/features/blog/components/BlogIndexListing.js +24 -13
  62. package/dist/features/blog/schemas/index.d.ts +10 -10
  63. package/dist/features/categories/components/CategoriesIndexListing.js +30 -19
  64. package/dist/features/categories/schemas/index.d.ts +2 -2
  65. package/dist/features/events/components/AdminEventsView.js +5 -1
  66. package/dist/features/events/components/EventFilters.d.ts +24 -24
  67. package/dist/features/events/components/EventFilters.js +16 -13
  68. package/dist/features/events/components/EventStatusBadge.js +1 -0
  69. package/dist/features/events/components/EventsIndexListing.js +36 -24
  70. package/dist/features/events/components/EventsListPageView.js +13 -10
  71. package/dist/features/events/schemas/firestore.d.ts +1 -0
  72. package/dist/features/events/schemas/firestore.js +1 -0
  73. package/dist/features/events/schemas/index.d.ts +1 -1
  74. package/dist/features/events/types/index.d.ts +1 -1
  75. package/dist/features/faq/actions/faq-actions.d.ts +10 -10
  76. package/dist/features/faq/schemas/index.d.ts +4 -4
  77. package/dist/features/layout/TitleBarLayout.js +1 -1
  78. package/dist/features/orders/components/OrderFilters.d.ts +20 -20
  79. package/dist/features/orders/components/OrderFilters.js +33 -30
  80. package/dist/features/orders/repository/orders.repository.js +1 -15
  81. package/dist/features/orders/schemas/index.d.ts +2 -2
  82. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +44 -36
  83. package/dist/features/pre-orders/schemas/index.d.ts +3 -3
  84. package/dist/features/products/components/AuctionsIndexListing.js +63 -30
  85. package/dist/features/products/components/BidHistory.d.ts +0 -1
  86. package/dist/features/products/components/BidHistory.js +1 -1
  87. package/dist/features/products/components/PrizeDrawsIndexListing.js +44 -37
  88. package/dist/features/products/components/ProductDetailPageView.js +1 -1
  89. package/dist/features/products/components/ProductFilters.d.ts +20 -20
  90. package/dist/features/products/components/ProductFilters.js +62 -59
  91. package/dist/features/products/components/ProductsIndexListing.js +37 -29
  92. package/dist/features/products/components/ProductsIndexPageView.js +18 -10
  93. package/dist/features/products/hooks/useProducts.js +2 -0
  94. package/dist/features/products/repository/products.repository.js +2 -22
  95. package/dist/features/products/schemas/index.d.ts +28 -28
  96. package/dist/features/products/schemas/product-features.validators.d.ts +12 -12
  97. package/dist/features/products/types/index.d.ts +2 -0
  98. package/dist/features/promotions/components/CouponsIndexListing.js +21 -17
  99. package/dist/features/promotions/schemas/index.d.ts +4 -4
  100. package/dist/features/reviews/components/ReviewDetailShell.js +6 -5
  101. package/dist/features/reviews/components/ReviewFilters.d.ts +16 -16
  102. package/dist/features/reviews/components/ReviewFilters.js +10 -7
  103. package/dist/features/reviews/components/ReviewsIndexListing.js +25 -14
  104. package/dist/features/reviews/components/ReviewsList.d.ts +5 -2
  105. package/dist/features/reviews/components/ReviewsList.js +11 -5
  106. package/dist/features/reviews/schemas/firestore.d.ts +1 -0
  107. package/dist/features/reviews/schemas/index.d.ts +8 -8
  108. package/dist/features/reviews/types/index.d.ts +1 -0
  109. package/dist/features/search/schemas/index.d.ts +2 -2
  110. package/dist/features/seller/components/SellerAuctionsView.js +5 -1
  111. package/dist/features/seller/components/SellerBidsView.js +4 -1
  112. package/dist/features/seller/components/SellerCouponsView.js +4 -1
  113. package/dist/features/seller/components/SellerOffersView.js +5 -1
  114. package/dist/features/seller/components/SellerOrdersView.js +4 -1
  115. package/dist/features/seller/components/SellerPayoutsView.js +5 -1
  116. package/dist/features/seller/components/SellerPreOrdersView.js +4 -1
  117. package/dist/features/seller/components/SellerPrizeDrawsView.js +4 -1
  118. package/dist/features/seller/components/SellerProductsView.js +4 -1
  119. package/dist/features/seller/schemas/index.d.ts +10 -10
  120. package/dist/features/stores/api/route.js +10 -1
  121. package/dist/features/stores/components/StoreAuctionsListing.js +2 -1
  122. package/dist/features/stores/components/StorePreOrdersListing.js +2 -1
  123. package/dist/features/stores/components/StoreReviewsListing.js +1 -1
  124. package/dist/features/stores/components/StoresIndexListing.js +45 -27
  125. package/dist/features/stores/schemas/firestore.d.ts +1 -0
  126. package/dist/features/stores/schemas/index.d.ts +4 -4
  127. package/dist/index.d.ts +8 -1
  128. package/dist/index.js +12 -1
  129. package/dist/react/hooks/useUrlTable.js +2 -1
  130. package/dist/seed/bids-seed-data.js +45 -44
  131. package/dist/seed/categories-seed-data.js +41 -40
  132. package/dist/seed/coupons-seed-data.js +41 -40
  133. package/dist/seed/products-auctions-seed-data.js +54 -53
  134. package/dist/seed/products-preorders-seed-data.js +25 -24
  135. package/dist/seed/products-prize-draws-seed-data.js +24 -23
  136. package/dist/seed/products-standard-seed-data.js +294 -293
  137. package/dist/seed/reviews-seed-data.js +61 -60
  138. package/dist/seed/scammers-seed-data.js +3 -2
  139. package/dist/seed/stores-seed-data.js +9 -8
  140. package/dist/seed/support-tickets-seed-data.js +13 -12
  141. package/dist/seed/users-seed-data.js +28 -27
  142. package/dist/tailwind-utilities.css +1 -1
  143. package/dist/ui/components/ListingToolbar.d.ts +7 -4
  144. package/dist/ui/components/ListingToolbar.js +4 -3
  145. package/dist/ui/components/SiteLogo.js +1 -1
  146. package/dist/utils/sieve-builder.d.ts +41 -0
  147. package/dist/utils/sieve-builder.js +66 -0
  148. package/package.json +1 -1
@@ -4,6 +4,7 @@
4
4
  * Auctions with bidCount = 0 (upcoming / no-bid) are intentionally absent.
5
5
  * Buyer IDs from P15 users seed data.
6
6
  */
7
+ import { BID_FIELDS, SCHEMA_DEFAULTS } from "../constants/field-names";
7
8
  const NOW = new Date();
8
9
  const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
9
10
  const hoursAgo = (h) => new Date(NOW.getTime() - h * 3600000);
@@ -21,8 +22,8 @@ export const bidsSeedData = [
21
22
  userName: "Rahul Sharma",
22
23
  userEmail: "rahul.sharma@gmail.com",
23
24
  bidAmount: 9999900,
24
- currency: "INR",
25
- status: "outbid",
25
+ currency: SCHEMA_DEFAULTS.CURRENCY,
26
+ status: BID_FIELDS.STATUS_VALUES.OUTBID,
26
27
  isWinning: false,
27
28
  bidDate: daysAgo(14),
28
29
  createdAt: daysAgo(14),
@@ -36,8 +37,8 @@ export const bidsSeedData = [
36
37
  userName: "Priya Patel",
37
38
  userEmail: "priya.patel@gmail.com",
38
39
  bidAmount: 12000000,
39
- currency: "INR",
40
- status: "outbid",
40
+ currency: SCHEMA_DEFAULTS.CURRENCY,
41
+ status: BID_FIELDS.STATUS_VALUES.OUTBID,
41
42
  isWinning: false,
42
43
  previousBidAmount: 9999900,
43
44
  bidDate: daysAgo(10),
@@ -52,8 +53,8 @@ export const bidsSeedData = [
52
53
  userName: "Rahul Sharma",
53
54
  userEmail: "rahul.sharma@gmail.com",
54
55
  bidAmount: 15000000,
55
- currency: "INR",
56
- status: "outbid",
56
+ currency: SCHEMA_DEFAULTS.CURRENCY,
57
+ status: BID_FIELDS.STATUS_VALUES.OUTBID,
57
58
  isWinning: false,
58
59
  previousBidAmount: 12000000,
59
60
  bidDate: daysAgo(7),
@@ -68,8 +69,8 @@ export const bidsSeedData = [
68
69
  userName: "Meera Nair",
69
70
  userEmail: "meera.nair@gmail.com",
70
71
  bidAmount: 20000000,
71
- currency: "INR",
72
- status: "outbid",
72
+ currency: SCHEMA_DEFAULTS.CURRENCY,
73
+ status: BID_FIELDS.STATUS_VALUES.OUTBID,
73
74
  isWinning: false,
74
75
  previousBidAmount: 15000000,
75
76
  bidDate: daysAgo(4),
@@ -84,8 +85,8 @@ export const bidsSeedData = [
84
85
  userName: "Arjun Singh",
85
86
  userEmail: "arjun.singh@gmail.com",
86
87
  bidAmount: 25000000,
87
- currency: "INR",
88
- status: "outbid",
88
+ currency: SCHEMA_DEFAULTS.CURRENCY,
89
+ status: BID_FIELDS.STATUS_VALUES.OUTBID,
89
90
  isWinning: false,
90
91
  previousBidAmount: 20000000,
91
92
  bidDate: daysAgo(2),
@@ -100,8 +101,8 @@ export const bidsSeedData = [
100
101
  userName: "Rahul Sharma",
101
102
  userEmail: "rahul.sharma@gmail.com",
102
103
  bidAmount: 29999900,
103
- currency: "INR",
104
- status: "active",
104
+ currency: SCHEMA_DEFAULTS.CURRENCY,
105
+ status: BID_FIELDS.STATUS_VALUES.ACTIVE,
105
106
  isWinning: true,
106
107
  previousBidAmount: 25000000,
107
108
  bidDate: hoursAgo(4),
@@ -120,8 +121,8 @@ export const bidsSeedData = [
120
121
  userName: "Priya Patel",
121
122
  userEmail: "priya.patel@gmail.com",
122
123
  bidAmount: 1499900,
123
- currency: "INR",
124
- status: "outbid",
124
+ currency: SCHEMA_DEFAULTS.CURRENCY,
125
+ status: BID_FIELDS.STATUS_VALUES.OUTBID,
125
126
  isWinning: false,
126
127
  bidDate: daysAgo(7),
127
128
  createdAt: daysAgo(7),
@@ -135,8 +136,8 @@ export const bidsSeedData = [
135
136
  userName: "Arjun Singh",
136
137
  userEmail: "arjun.singh@gmail.com",
137
138
  bidAmount: 2000000,
138
- currency: "INR",
139
- status: "outbid",
139
+ currency: SCHEMA_DEFAULTS.CURRENCY,
140
+ status: BID_FIELDS.STATUS_VALUES.OUTBID,
140
141
  isWinning: false,
141
142
  previousBidAmount: 1499900,
142
143
  bidDate: daysAgo(5),
@@ -151,8 +152,8 @@ export const bidsSeedData = [
151
152
  userName: "Priya Patel",
152
153
  userEmail: "priya.patel@gmail.com",
153
154
  bidAmount: 2999900,
154
- currency: "INR",
155
- status: "outbid",
155
+ currency: SCHEMA_DEFAULTS.CURRENCY,
156
+ status: BID_FIELDS.STATUS_VALUES.OUTBID,
156
157
  isWinning: false,
157
158
  previousBidAmount: 2000000,
158
159
  bidDate: daysAgo(3),
@@ -167,8 +168,8 @@ export const bidsSeedData = [
167
168
  userName: "Rahul Sharma",
168
169
  userEmail: "rahul.sharma@gmail.com",
169
170
  bidAmount: 3999900,
170
- currency: "INR",
171
- status: "outbid",
171
+ currency: SCHEMA_DEFAULTS.CURRENCY,
172
+ status: BID_FIELDS.STATUS_VALUES.OUTBID,
172
173
  isWinning: false,
173
174
  previousBidAmount: 2999900,
174
175
  bidDate: daysAgo(2),
@@ -183,8 +184,8 @@ export const bidsSeedData = [
183
184
  userName: "Priya Patel",
184
185
  userEmail: "priya.patel@gmail.com",
185
186
  bidAmount: 4999900,
186
- currency: "INR",
187
- status: "active",
187
+ currency: SCHEMA_DEFAULTS.CURRENCY,
188
+ status: BID_FIELDS.STATUS_VALUES.ACTIVE,
188
189
  isWinning: true,
189
190
  previousBidAmount: 3999900,
190
191
  bidDate: hoursAgo(12),
@@ -203,8 +204,8 @@ export const bidsSeedData = [
203
204
  userName: "Meera Nair",
204
205
  userEmail: "meera.nair@gmail.com",
205
206
  bidAmount: 499900,
206
- currency: "INR",
207
- status: "outbid",
207
+ currency: SCHEMA_DEFAULTS.CURRENCY,
208
+ status: BID_FIELDS.STATUS_VALUES.OUTBID,
208
209
  isWinning: false,
209
210
  bidDate: daysAgo(5),
210
211
  createdAt: daysAgo(5),
@@ -218,8 +219,8 @@ export const bidsSeedData = [
218
219
  userName: "Arjun Singh",
219
220
  userEmail: "arjun.singh@gmail.com",
220
221
  bidAmount: 750000,
221
- currency: "INR",
222
- status: "outbid",
222
+ currency: SCHEMA_DEFAULTS.CURRENCY,
223
+ status: BID_FIELDS.STATUS_VALUES.OUTBID,
223
224
  isWinning: false,
224
225
  previousBidAmount: 499900,
225
226
  bidDate: daysAgo(3),
@@ -234,8 +235,8 @@ export const bidsSeedData = [
234
235
  userName: "Meera Nair",
235
236
  userEmail: "meera.nair@gmail.com",
236
237
  bidAmount: 1000000,
237
- currency: "INR",
238
- status: "outbid",
238
+ currency: SCHEMA_DEFAULTS.CURRENCY,
239
+ status: BID_FIELDS.STATUS_VALUES.OUTBID,
239
240
  isWinning: false,
240
241
  previousBidAmount: 750000,
241
242
  bidDate: daysAgo(1),
@@ -250,8 +251,8 @@ export const bidsSeedData = [
250
251
  userName: "Arjun Singh",
251
252
  userEmail: "arjun.singh@gmail.com",
252
253
  bidAmount: 1299900,
253
- currency: "INR",
254
- status: "active",
254
+ currency: SCHEMA_DEFAULTS.CURRENCY,
255
+ status: BID_FIELDS.STATUS_VALUES.ACTIVE,
255
256
  isWinning: true,
256
257
  previousBidAmount: 1000000,
257
258
  bidDate: hoursAgo(3),
@@ -270,7 +271,7 @@ export const bidsSeedData = [
270
271
  userName: "Arjun Singh",
271
272
  userEmail: "arjun.singh@gmail.com",
272
273
  bidAmount: 999900,
273
- currency: "INR",
274
+ currency: SCHEMA_DEFAULTS.CURRENCY,
274
275
  status: "lost",
275
276
  isWinning: false,
276
277
  bidDate: daysAgo(21),
@@ -285,7 +286,7 @@ export const bidsSeedData = [
285
286
  userName: "Priya Patel",
286
287
  userEmail: "priya.patel@gmail.com",
287
288
  bidAmount: 1499900,
288
- currency: "INR",
289
+ currency: SCHEMA_DEFAULTS.CURRENCY,
289
290
  status: "lost",
290
291
  isWinning: false,
291
292
  previousBidAmount: 999900,
@@ -301,7 +302,7 @@ export const bidsSeedData = [
301
302
  userName: "Arjun Singh",
302
303
  userEmail: "arjun.singh@gmail.com",
303
304
  bidAmount: 1999900,
304
- currency: "INR",
305
+ currency: SCHEMA_DEFAULTS.CURRENCY,
305
306
  status: "lost",
306
307
  isWinning: false,
307
308
  previousBidAmount: 1499900,
@@ -317,7 +318,7 @@ export const bidsSeedData = [
317
318
  userName: "Priya Patel",
318
319
  userEmail: "priya.patel@gmail.com",
319
320
  bidAmount: 2499900,
320
- currency: "INR",
321
+ currency: SCHEMA_DEFAULTS.CURRENCY,
321
322
  status: "lost",
322
323
  isWinning: false,
323
324
  previousBidAmount: 1999900,
@@ -333,7 +334,7 @@ export const bidsSeedData = [
333
334
  userName: "Arjun Singh",
334
335
  userEmail: "arjun.singh@gmail.com",
335
336
  bidAmount: 2799900,
336
- currency: "INR",
337
+ currency: SCHEMA_DEFAULTS.CURRENCY,
337
338
  status: "lost",
338
339
  isWinning: false,
339
340
  previousBidAmount: 2499900,
@@ -349,8 +350,8 @@ export const bidsSeedData = [
349
350
  userName: "Priya Patel",
350
351
  userEmail: "priya.patel@gmail.com",
351
352
  bidAmount: 2999900,
352
- currency: "INR",
353
- status: "won",
353
+ currency: SCHEMA_DEFAULTS.CURRENCY,
354
+ status: BID_FIELDS.STATUS_VALUES.WON,
354
355
  isWinning: true,
355
356
  previousBidAmount: 2799900,
356
357
  bidDate: daysAgo(7),
@@ -369,7 +370,7 @@ export const bidsSeedData = [
369
370
  userName: "Rahul Sharma",
370
371
  userEmail: "rahul.sharma@gmail.com",
371
372
  bidAmount: 299900,
372
- currency: "INR",
373
+ currency: SCHEMA_DEFAULTS.CURRENCY,
373
374
  status: "lost",
374
375
  isWinning: false,
375
376
  bidDate: daysAgo(45),
@@ -384,7 +385,7 @@ export const bidsSeedData = [
384
385
  userName: "Meera Nair",
385
386
  userEmail: "meera.nair@gmail.com",
386
387
  bidAmount: 499900,
387
- currency: "INR",
388
+ currency: SCHEMA_DEFAULTS.CURRENCY,
388
389
  status: "lost",
389
390
  isWinning: false,
390
391
  previousBidAmount: 299900,
@@ -400,7 +401,7 @@ export const bidsSeedData = [
400
401
  userName: "Rahul Sharma",
401
402
  userEmail: "rahul.sharma@gmail.com",
402
403
  bidAmount: 599900,
403
- currency: "INR",
404
+ currency: SCHEMA_DEFAULTS.CURRENCY,
404
405
  status: "lost",
405
406
  isWinning: false,
406
407
  previousBidAmount: 499900,
@@ -416,7 +417,7 @@ export const bidsSeedData = [
416
417
  userName: "Meera Nair",
417
418
  userEmail: "meera.nair@gmail.com",
418
419
  bidAmount: 699900,
419
- currency: "INR",
420
+ currency: SCHEMA_DEFAULTS.CURRENCY,
420
421
  status: "lost",
421
422
  isWinning: false,
422
423
  previousBidAmount: 599900,
@@ -432,8 +433,8 @@ export const bidsSeedData = [
432
433
  userName: "Meera Nair",
433
434
  userEmail: "meera.nair@gmail.com",
434
435
  bidAmount: 799900,
435
- currency: "INR",
436
- status: "won",
436
+ currency: SCHEMA_DEFAULTS.CURRENCY,
437
+ status: BID_FIELDS.STATUS_VALUES.WON,
437
438
  isWinning: true,
438
439
  previousBidAmount: 699900,
439
440
  bidDate: daysAgo(30),
@@ -671,7 +672,7 @@ function buildBidLadder({ productId, productTitle, amounts, bidders, daysAgoForF
671
672
  userName: bidder.name,
672
673
  userEmail: bidder.email,
673
674
  bidAmount: amount,
674
- currency: "INR",
675
+ currency: SCHEMA_DEFAULTS.CURRENCY,
675
676
  status,
676
677
  isWinning: isLast && endsActive ? true : winIdx === i,
677
678
  previousBidAmount: i > 0 ? amounts[i - 1] : undefined,
@@ -4,6 +4,7 @@
4
4
  * Verticals: action figures, trading cards, diecast, spinning tops, model kits + vintage/rare.
5
5
  * id === slug convention enforced throughout.
6
6
  */
7
+ import { CATEGORY_FIELDS } from "../constants/field-names";
7
8
  const NOW = new Date();
8
9
  const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
9
10
  const emptyMetrics = {
@@ -1225,7 +1226,7 @@ const sublistingRows = [
1225
1226
  id: "sublisting-pokemon-base-set",
1226
1227
  slug: "sublisting-pokemon-base-set",
1227
1228
  name: "Base Set (102/102)",
1228
- categoryType: "sublisting",
1229
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.SUBLISTING,
1229
1230
  itemCode: "BS-102",
1230
1231
  description: "All 102 Base Set Pokémon TCG cards — Shadowless, 1st Edition, and Unlimited.",
1231
1232
  rootId: "category-trading-cards",
@@ -1249,7 +1250,7 @@ const sublistingRows = [
1249
1250
  id: "sublisting-pokemon-psa-graded",
1250
1251
  slug: "sublisting-pokemon-psa-graded",
1251
1252
  name: "PSA Graded Pokémon Cards",
1252
- categoryType: "sublisting",
1253
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.SUBLISTING,
1253
1254
  itemCode: "PSA",
1254
1255
  description: "Investment-grade Pokémon cards authenticated by PSA.",
1255
1256
  rootId: "category-trading-cards",
@@ -1273,7 +1274,7 @@ const sublistingRows = [
1273
1274
  id: "sublisting-pokemon-sealed-boxes",
1274
1275
  slug: "sublisting-pokemon-sealed-boxes",
1275
1276
  name: "Sealed Pokémon Booster Boxes",
1276
- categoryType: "sublisting",
1277
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.SUBLISTING,
1277
1278
  description: "Factory-sealed Pokémon TCG booster boxes — current, vintage, Japanese.",
1278
1279
  rootId: "category-trading-cards",
1279
1280
  parentIds: ["category-trading-cards"],
@@ -1296,7 +1297,7 @@ const sublistingRows = [
1296
1297
  id: "sublisting-vintage-wotc-era",
1297
1298
  slug: "sublisting-vintage-wotc-era",
1298
1299
  name: "WOTC Era Pokémon (1999–2003)",
1299
- categoryType: "sublisting",
1300
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.SUBLISTING,
1300
1301
  itemCode: "WOTC",
1301
1302
  description: "All Wizards of the Coast era Pokémon TCG sets: Base Set through Legendary Collection.",
1302
1303
  rootId: "category-vintage-rare",
@@ -1320,7 +1321,7 @@ const sublistingRows = [
1320
1321
  id: "sublisting-yugioh-lob-1st-edition",
1321
1322
  slug: "sublisting-yugioh-lob-1st-edition",
1322
1323
  name: "Yu-Gi-Oh! LOB 1st Edition",
1323
- categoryType: "sublisting",
1324
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.SUBLISTING,
1324
1325
  itemCode: "LOB-1E",
1325
1326
  description: "Legend of Blue-Eyes White Dragon 1st Edition singles — iconic 2002 WOTC-era Yu-Gi-Oh!.",
1326
1327
  rootId: "category-trading-cards",
@@ -1345,7 +1346,7 @@ const sublistingRows = [
1345
1346
  id: "sublisting-hotwheels-redlines",
1346
1347
  slug: "sublisting-hotwheels-redlines",
1347
1348
  name: "Hot Wheels Vintage Redlines (1968–1977)",
1348
- categoryType: "sublisting",
1349
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.SUBLISTING,
1349
1350
  itemCode: "Redline",
1350
1351
  description: "Original Hot Wheels Redline-era cars (1968–1977).",
1351
1352
  rootId: "category-diecast-vehicles",
@@ -1369,7 +1370,7 @@ const sublistingRows = [
1369
1370
  id: "sublisting-hotwheels-super-treasure-hunts",
1370
1371
  slug: "sublisting-hotwheels-super-treasure-hunts",
1371
1372
  name: "Hot Wheels Super Treasure Hunts",
1372
- categoryType: "sublisting",
1373
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.SUBLISTING,
1373
1374
  itemCode: "STH",
1374
1375
  description: "Rare Hot Wheels regular-production releases with Real Riders tyres.",
1375
1376
  rootId: "category-diecast-vehicles",
@@ -1394,7 +1395,7 @@ const sublistingRows = [
1394
1395
  id: "sublisting-beyblade-x-series",
1395
1396
  slug: "sublisting-beyblade-x-series",
1396
1397
  name: "Beyblade X Series (2023+)",
1397
- categoryType: "sublisting",
1398
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.SUBLISTING,
1398
1399
  itemCode: "BX",
1399
1400
  description: "All Beyblade X generation products — xtreme dash ratchet system.",
1400
1401
  rootId: "category-spinning-tops",
@@ -1419,7 +1420,7 @@ const sublistingRows = [
1419
1420
  id: "sublisting-gundam-master-grade",
1420
1421
  slug: "sublisting-gundam-master-grade",
1421
1422
  name: "Gundam Master Grade (MG) 1/100",
1422
- categoryType: "sublisting",
1423
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.SUBLISTING,
1423
1424
  itemCode: "MG",
1424
1425
  description: "Bandai Gundam MG 1/100 kits with full inner frame.",
1425
1426
  rootId: "category-model-kits",
@@ -1443,7 +1444,7 @@ const sublistingRows = [
1443
1444
  id: "sublisting-gundam-high-grade",
1444
1445
  slug: "sublisting-gundam-high-grade",
1445
1446
  name: "Gundam High Grade (HG) 1/144",
1446
- categoryType: "sublisting",
1447
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.SUBLISTING,
1447
1448
  itemCode: "HG",
1448
1449
  description: "Entry-level Bandai Gundam HG 1/144 kits across all series.",
1449
1450
  rootId: "category-model-kits",
@@ -1468,7 +1469,7 @@ const sublistingRows = [
1468
1469
  id: "sublisting-nendoroid-early-series",
1469
1470
  slug: "sublisting-nendoroid-early-series",
1470
1471
  name: "Nendoroid Early Series (#001–#100)",
1471
- categoryType: "sublisting",
1472
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.SUBLISTING,
1472
1473
  itemCode: "GSC-001-100",
1473
1474
  description: "Discontinued Good Smile Company Nendoroid figures #001–#100.",
1474
1475
  rootId: "category-action-figures",
@@ -1492,7 +1493,7 @@ const sublistingRows = [
1492
1493
  id: "sublisting-shf-dragonball",
1493
1494
  slug: "sublisting-shf-dragonball",
1494
1495
  name: "S.H.Figuarts Dragon Ball Series",
1495
- categoryType: "sublisting",
1496
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.SUBLISTING,
1496
1497
  itemCode: "SHF-DBZ",
1497
1498
  description: "Bandai S.H.Figuarts Dragon Ball Z and Super articulated figures.",
1498
1499
  rootId: "category-action-figures",
@@ -1519,7 +1520,7 @@ const brandRows = [
1519
1520
  id: "brand-bandai",
1520
1521
  slug: "brand-bandai",
1521
1522
  name: "Bandai",
1522
- categoryType: "brand",
1523
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1523
1524
  description: "Japan's leading toy and hobby manufacturer. Home to Gundam plastic model kits (Gunpla), SH Figuarts, Dragon Ball figures, Digimon, Power Rangers, and premium collectibles.",
1524
1525
  brandWebsite: "https://www.bandai.co.jp",
1525
1526
  brandCountry: "Japan",
@@ -1545,7 +1546,7 @@ const brandRows = [
1545
1546
  id: "brand-hasbro",
1546
1547
  slug: "brand-hasbro",
1547
1548
  name: "Hasbro",
1548
- categoryType: "brand",
1549
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1549
1550
  description: "American multinational toy and entertainment company. Makes Transformers, Marvel Legends, Star Wars Black Series, My Little Pony, Nerf, and G.I. Joe collectibles.",
1550
1551
  brandWebsite: "https://www.hasbro.com",
1551
1552
  brandCountry: "USA",
@@ -1571,7 +1572,7 @@ const brandRows = [
1571
1572
  id: "brand-takara-tomy",
1572
1573
  slug: "brand-takara-tomy",
1573
1574
  name: "Takara Tomy",
1574
- categoryType: "brand",
1575
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1575
1576
  description: "Iconic Japanese toy manufacturer formed by the merger of Takara and Tomy in 2006. Creates Beyblade Burst, Tomica diecast cars, Transformers (Japan), and Zoids.",
1576
1577
  brandWebsite: "https://www.takaratomy.co.jp",
1577
1578
  brandCountry: "Japan",
@@ -1597,7 +1598,7 @@ const brandRows = [
1597
1598
  id: "brand-mattel",
1598
1599
  slug: "brand-mattel",
1599
1600
  name: "Mattel",
1600
- categoryType: "brand",
1601
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1601
1602
  description: "American toy giant behind Hot Wheels, Barbie, Masters of the Universe, UNO, and Fisher-Price. Hot Wheels alone has over 900 vehicle models released annually.",
1602
1603
  brandWebsite: "https://www.mattel.com",
1603
1604
  brandCountry: "USA",
@@ -1623,7 +1624,7 @@ const brandRows = [
1623
1624
  id: "brand-pokemon-company",
1624
1625
  slug: "brand-pokemon-company",
1625
1626
  name: "The Pokémon Company",
1626
- categoryType: "brand",
1627
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1627
1628
  description: "Japanese consortium managing the Pokémon intellectual property. Publishes the Pokémon Trading Card Game (TCG), video games, anime merchandise, and official licensed collectibles worldwide.",
1628
1629
  brandWebsite: "https://www.pokemon.com",
1629
1630
  brandCountry: "Japan",
@@ -1649,7 +1650,7 @@ const brandRows = [
1649
1650
  id: "brand-konami",
1650
1651
  slug: "brand-konami",
1651
1652
  name: "Konami",
1652
- categoryType: "brand",
1653
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1653
1654
  description: "Japanese entertainment conglomerate best known for the Yu-Gi-Oh! Trading Card Game. Also produces Metal Gear, Silent Hill, and Castlevania merchandise and figures.",
1654
1655
  brandWebsite: "https://www.konami.com",
1655
1656
  brandCountry: "Japan",
@@ -1675,7 +1676,7 @@ const brandRows = [
1675
1676
  id: "brand-funko",
1676
1677
  slug: "brand-funko",
1677
1678
  name: "Funko",
1678
- categoryType: "brand",
1679
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1679
1680
  description: "American pop-culture collectibles company. Iconic for Funko Pop! vinyl figures spanning thousands of licenses including Marvel, DC, anime, Disney, gaming, sports, and music.",
1680
1681
  brandWebsite: "https://funko.com",
1681
1682
  brandCountry: "USA",
@@ -1701,7 +1702,7 @@ const brandRows = [
1701
1702
  id: "brand-neca",
1702
1703
  slug: "brand-neca",
1703
1704
  name: "NECA",
1704
- categoryType: "brand",
1705
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1705
1706
  description: "National Entertainment Collectibles Association — American designer and manufacturer of highly detailed action figures. Known for horror icons, Teenage Mutant Ninja Turtles, and video game characters.",
1706
1707
  brandWebsite: "https://www.necaonline.com",
1707
1708
  brandCountry: "USA",
@@ -1727,7 +1728,7 @@ const brandRows = [
1727
1728
  id: "brand-mcfarlane",
1728
1729
  slug: "brand-mcfarlane",
1729
1730
  name: "McFarlane Toys",
1730
- categoryType: "brand",
1731
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1731
1732
  description: "American action figure company founded by comic artist Todd McFarlane. Official DC Multiverse figures, Warhammer, Spawn, and premium collector statuettes with extraordinary detail.",
1732
1733
  brandWebsite: "https://www.mcfarlane.com",
1733
1734
  brandCountry: "USA",
@@ -1753,7 +1754,7 @@ const brandRows = [
1753
1754
  id: "brand-good-smile",
1754
1755
  slug: "brand-good-smile",
1755
1756
  name: "Good Smile Company",
1756
- categoryType: "brand",
1757
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1757
1758
  description: "Japan's premier figure manufacturer. Producer of Nendoroids, figma, and high-end scale PVC figures. Official partner for Fate, Hatsune Miku, Sword Art Online, Re:Zero, and hundreds of anime series.",
1758
1759
  brandWebsite: "https://www.goodsmile.info",
1759
1760
  brandCountry: "Japan",
@@ -1779,7 +1780,7 @@ const brandRows = [
1779
1780
  id: "brand-hot-wheels",
1780
1781
  slug: "brand-hot-wheels",
1781
1782
  name: "Hot Wheels",
1782
- categoryType: "brand",
1783
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1783
1784
  description: "Mattel's iconic 1:64 scale die-cast vehicle brand since 1968. Treasure Hunt, Super Treasure Hunt, Car Culture, RLC exclusives, and track sets. Over 6 billion cars sold worldwide.",
1784
1785
  brandWebsite: "https://hotwheels.mattel.com",
1785
1786
  brandCountry: "USA",
@@ -1805,7 +1806,7 @@ const brandRows = [
1805
1806
  id: "brand-tomica",
1806
1807
  slug: "brand-tomica",
1807
1808
  name: "Tomica",
1808
- categoryType: "brand",
1809
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1809
1810
  description: "Takara Tomy's 1:64 scale Japanese diecast car series since 1970. Features authentic Japanese vehicles (Toyota, Honda, Nissan), emergency vehicles, and licensed premium Tomica Premium line.",
1810
1811
  brandWebsite: "https://www.takaratomy.co.jp/products/tomica",
1811
1812
  brandCountry: "Japan",
@@ -1831,7 +1832,7 @@ const brandRows = [
1831
1832
  id: "brand-beyblade",
1832
1833
  slug: "brand-beyblade",
1833
1834
  name: "Beyblade",
1834
- categoryType: "brand",
1835
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1835
1836
  description: "Takara Tomy's competitive spinning top battle franchise. Covers classic Metal Fight, Beyblade Burst, Beyblade X, and Hasbro-localized versions. Official tournaments held worldwide including India.",
1836
1837
  brandWebsite: "https://beyblade.takaratomy.co.jp",
1837
1838
  brandCountry: "Japan",
@@ -1857,7 +1858,7 @@ const brandRows = [
1857
1858
  id: "brand-kotobukiya",
1858
1859
  slug: "brand-kotobukiya",
1859
1860
  name: "Kotobukiya",
1860
- categoryType: "brand",
1861
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1861
1862
  description: "Premium Japanese model kit and figure manufacturer. Famous for Frame Arms Girl, Megami Device, ARTFX statues, and licensed kits from Star Wars, Marvel, and DC. Known for detailed snap-fit kits requiring no glue.",
1862
1863
  brandWebsite: "https://www.kotobukiya.co.jp",
1863
1864
  brandCountry: "Japan",
@@ -1883,7 +1884,7 @@ const brandRows = [
1883
1884
  id: "brand-alter",
1884
1885
  slug: "brand-alter",
1885
1886
  name: "Alter",
1886
- categoryType: "brand",
1887
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1887
1888
  description: "High-end Japanese scale figure manufacturer under A+ Corporation. Renowned for exceptional paint quality and sculpt accuracy. Specialises in 1/7 and 1/8 scale anime figures from Re:Zero, Fate, and other popular IPs.",
1888
1889
  brandWebsite: "https://alter-web.jp",
1889
1890
  brandCountry: "Japan",
@@ -1909,7 +1910,7 @@ const brandRows = [
1909
1910
  id: "brand-max-factory",
1910
1911
  slug: "brand-max-factory",
1911
1912
  name: "Max Factory",
1912
- categoryType: "brand",
1913
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1913
1914
  description: "Japanese figure manufacturer known for the figma articulated figure line and figFIX static figures. Partners with Good Smile Company. figma figures are prized for their wide articulation range and interchangeable parts.",
1914
1915
  brandWebsite: "https://www.maxfactory.jp",
1915
1916
  brandCountry: "Japan",
@@ -1935,7 +1936,7 @@ const brandRows = [
1935
1936
  id: "brand-medicom-toy",
1936
1937
  slug: "brand-medicom-toy",
1937
1938
  name: "Medicom Toy",
1938
- categoryType: "brand",
1939
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1939
1940
  description: "Japanese designer toy and collectible figure company. Creator of MAFEX (Miracle Action Figure EX) — highly articulated figures with film-accurate sculpts covering Batman, Spider-Man, and Star Wars. Also produces BE@RBRICK designer toys.",
1940
1941
  brandWebsite: "https://www.medicomtoy.co.jp",
1941
1942
  brandCountry: "Japan",
@@ -1961,7 +1962,7 @@ const brandRows = [
1961
1962
  id: "brand-bushiroad",
1962
1963
  slug: "brand-bushiroad",
1963
1964
  name: "Bushiroad",
1964
- categoryType: "brand",
1965
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1965
1966
  description: "Japanese trading card game publisher. Home to One Piece Card Game, Cardfight!! Vanguard, Weiß Schwarz, and Sword Art Online TCG. Growing fast in India's TCG community alongside Pokémon and Yu-Gi-Oh.",
1966
1967
  brandWebsite: "https://www.bushiroad.com",
1967
1968
  brandCountry: "Japan",
@@ -1987,7 +1988,7 @@ const brandRows = [
1987
1988
  id: "brand-panini",
1988
1989
  slug: "brand-panini",
1989
1990
  name: "Panini",
1990
- categoryType: "brand",
1991
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
1991
1992
  description: "Italian sticker and trading card company with global reach. Official partner for FIFA, NBA, NFL, ICC Cricket, and IPL trading cards. Popular in India for cricket and football card collections.",
1992
1993
  brandWebsite: "https://www.paniniamerica.net",
1993
1994
  brandCountry: "Italy",
@@ -2013,7 +2014,7 @@ const brandRows = [
2013
2014
  id: "brand-spin-master",
2014
2015
  slug: "brand-spin-master",
2015
2016
  name: "Spin Master",
2016
- categoryType: "brand",
2017
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
2017
2018
  description: "Canadian toy company known for Bakugan battle planet, Air Hogs, Paw Patrol, and Tech Deck. Bakugan has a dedicated competitive community in India with official tournaments.",
2018
2019
  brandWebsite: "https://www.spinmaster.com",
2019
2020
  brandCountry: "Canada",
@@ -2039,7 +2040,7 @@ const brandRows = [
2039
2040
  id: "brand-jakks-pacific",
2040
2041
  slug: "brand-jakks-pacific",
2041
2042
  name: "JAKKS Pacific",
2042
- categoryType: "brand",
2043
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
2043
2044
  description: "American toy manufacturer producing licensed action figures for Nintendo (World of Nintendo), Disney, and WWE. Affordable 4-inch figure lines popular among budget collectors.",
2044
2045
  brandWebsite: "https://www.jakkspacific.com",
2045
2046
  brandCountry: "USA",
@@ -2065,7 +2066,7 @@ const brandRows = [
2065
2066
  id: "brand-corgi",
2066
2067
  slug: "brand-corgi",
2067
2068
  name: "Corgi",
2068
- categoryType: "brand",
2069
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
2069
2070
  description: "British diecast vehicle manufacturer with a 70-year heritage. Iconic for James Bond DB5 in gold, aviation models, and classic British cars. Collector grade quality with opening parts and realistic detail.",
2070
2071
  brandWebsite: "https://www.corgi.co.uk",
2071
2072
  brandCountry: "UK",
@@ -2091,7 +2092,7 @@ const brandRows = [
2091
2092
  id: "brand-matchbox",
2092
2093
  slug: "brand-matchbox",
2093
2094
  name: "Matchbox",
2094
- categoryType: "brand",
2095
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
2095
2096
  description: "Iconic British diecast toy car brand since 1953, now owned by Mattel. Known for 1:64 scale realistic vehicles. The Moving Parts line features opening hoods and doors. Beloved by Indian collectors for nostalgia value.",
2096
2097
  brandWebsite: "https://www.matchbox.com",
2097
2098
  brandCountry: "UK",
@@ -2117,7 +2118,7 @@ const brandRows = [
2117
2118
  id: "brand-mega-construx",
2118
2119
  slug: "brand-mega-construx",
2119
2120
  name: "Mega Construx",
2120
- categoryType: "brand",
2121
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
2121
2122
  description: "Mattel's construction toy brand (now marketed as MEGA). Produces detailed building sets for Pokémon, Halo, Call of Duty, and Masters of the Universe. Pokémon MEGA sets are popular gift items for young collectors.",
2122
2123
  brandWebsite: "https://www.mega.us",
2123
2124
  brandCountry: "USA",
@@ -2143,7 +2144,7 @@ const brandRows = [
2143
2144
  id: "brand-sideshow-collectibles",
2144
2145
  slug: "brand-sideshow-collectibles",
2145
2146
  name: "Sideshow Collectibles",
2146
- categoryType: "brand",
2147
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BRAND,
2147
2148
  description: "Premium American collectible statue and figure manufacturer. Known for 1/4 scale and 1/6 scale premium statues for Marvel, DC, Star Wars, and horror franchises. Limited edition runs make these highly sought-after.",
2148
2149
  brandWebsite: "https://www.sideshowtoy.com",
2149
2150
  brandCountry: "USA",
@@ -2172,7 +2173,7 @@ const bundleRows = [
2172
2173
  id: "bundle-pokemon-tcg-starter-pack-2026",
2173
2174
  slug: "bundle-pokemon-tcg-starter-pack-2026",
2174
2175
  name: "Pokémon TCG Starter Pack 2026",
2175
- categoryType: "bundle",
2176
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BUNDLE,
2176
2177
  description: "A curated 3-item bundle for new Pokémon TCG collectors — a Paldean Fates ETB, a tin of Stellar Crown boosters, and a deck box. Save ₹650 vs buying separately.",
2177
2178
  rootId: "bundle-pokemon-tcg-starter-pack-2026",
2178
2179
  parentIds: [],
@@ -2218,7 +2219,7 @@ const bundleRows = [
2218
2219
  id: "bundle-gunpla-pg-arrivals-2026",
2219
2220
  slug: "bundle-gunpla-pg-arrivals-2026",
2220
2221
  name: "Gundam PG Arrivals 2026",
2221
- categoryType: "bundle",
2222
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BUNDLE,
2222
2223
  description: "Pre-order bundle — three premium PG/RG kits + S.H.Figuarts Broly Super Hero. Save ₹1200.",
2223
2224
  rootId: "bundle-gunpla-pg-arrivals-2026",
2224
2225
  parentIds: [],
@@ -2264,7 +2265,7 @@ const bundleRows = [
2264
2265
  id: "bundle-beyblade-x-launch-pack-2025",
2265
2266
  slug: "bundle-beyblade-x-launch-pack-2025",
2266
2267
  name: "Beyblade X Launch Pack 2025 (SOLD OUT)",
2267
- categoryType: "bundle",
2268
+ categoryType: CATEGORY_FIELDS.CATEGORY_TYPE_VALUES.BUNDLE,
2268
2269
  description: "Four-item Beyblade X launch pack — original 2025 release. One of the four items has sold; bundle marked OOS until restock.",
2269
2270
  rootId: "bundle-beyblade-x-launch-pack-2025",
2270
2271
  parentIds: [],