@mohasinac/appkit 4.1.1 → 4.2.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.
Files changed (225) hide show
  1. package/dist/_internal/client/features/maintenance/index.d.ts +2 -0
  2. package/dist/_internal/client/features/maintenance/index.js +1 -0
  3. package/dist/_internal/client/features/maintenance/views/CloudLogsListView.d.ts +9 -0
  4. package/dist/_internal/client/features/maintenance/views/CloudLogsListView.js +55 -0
  5. package/dist/_internal/server/features/auctions/index.d.ts +1 -1
  6. package/dist/_internal/server/features/auctions/index.js +1 -1
  7. package/dist/_internal/server/features/auctions/service.js +2 -2
  8. package/dist/_internal/server/features/checkout/actions.d.ts +15 -0
  9. package/dist/_internal/server/features/checkout/actions.js +245 -182
  10. package/dist/_internal/server/features/maintenance/cloud-logs-data.d.ts +50 -0
  11. package/dist/_internal/server/features/maintenance/cloud-logs-data.js +152 -0
  12. package/dist/_internal/server/functions/scheduled.d.ts +2 -1
  13. package/dist/_internal/server/functions/scheduled.js +9 -1
  14. package/dist/_internal/server/jobs/core/jobRunners.js +10 -0
  15. package/dist/_internal/server/jobs/core/newsletterExport.d.ts +15 -0
  16. package/dist/_internal/server/jobs/core/newsletterExport.js +43 -0
  17. package/dist/_internal/server/jobs/core/onOrderCreate.d.ts +4 -12
  18. package/dist/_internal/server/jobs/core/onOrderCreate.js +3 -3
  19. package/dist/_internal/server/jobs/core/onOrderStatusChange.d.ts +2 -0
  20. package/dist/_internal/server/jobs/core/onOrderStatusChange.js +1 -0
  21. package/dist/_internal/server/jobs/core/onProductWrite.js +14 -2
  22. package/dist/_internal/server/jobs/core/paymentWindowTimeout.js +1 -0
  23. package/dist/_internal/server/jobs/core/pendingOrderTimeout.js +1 -0
  24. package/dist/_internal/server/jobs/core/revenueRollup.d.ts +13 -0
  25. package/dist/_internal/server/jobs/core/revenueRollup.js +22 -0
  26. package/dist/_internal/server/jobs/core/whatsappNotify.d.ts +35 -0
  27. package/dist/_internal/server/jobs/core/whatsappNotify.js +82 -0
  28. package/dist/_internal/server/jobs/handlers/index.d.ts +1 -0
  29. package/dist/_internal/server/jobs/handlers/index.js +1 -0
  30. package/dist/_internal/server/jobs/handlers/revenueRollup.d.ts +2 -0
  31. package/dist/_internal/server/jobs/handlers/revenueRollup.js +2 -0
  32. package/dist/_internal/shared/features/auctions/config.d.ts +1 -1
  33. package/dist/_internal/shared/features/auctions/config.js +1 -1
  34. package/dist/_internal/shared/features/auctions/schema.js +1 -1
  35. package/dist/_internal/shared/features/cart/schema.js +2 -2
  36. package/dist/_internal/shared/features/checkout/config.d.ts +7 -0
  37. package/dist/_internal/shared/features/checkout/config.js +7 -0
  38. package/dist/_internal/shared/features/events/schema.js +1 -1
  39. package/dist/_internal/shared/features/orders/schema.js +1 -1
  40. package/dist/_internal/shared/features/products/schema.js +3 -3
  41. package/dist/_internal/shared/features/promotions/schema.js +3 -3
  42. package/dist/_internal/shared/fees/calculator.d.ts +32 -7
  43. package/dist/_internal/shared/fees/calculator.js +25 -0
  44. package/dist/client.d.ts +4 -4
  45. package/dist/client.js +4 -2
  46. package/dist/constants/api-endpoints.d.ts +9 -6
  47. package/dist/constants/api-endpoints.js +3 -2
  48. package/dist/contracts/client-payment-gateway.d.ts +1 -2
  49. package/dist/features/about/components/AboutView.d.ts +6 -16
  50. package/dist/features/about/components/AboutView.js +3 -3
  51. package/dist/features/about/components/FeesView.js +18 -0
  52. package/dist/features/about/index.d.ts +2 -1
  53. package/dist/features/about/schemas/firestore.d.ts +47 -0
  54. package/dist/features/about/schemas/firestore.js +6 -0
  55. package/dist/features/about/schemas/index.d.ts +210 -0
  56. package/dist/features/about/schemas/index.js +45 -0
  57. package/dist/features/account/hooks/useProfile.js +3 -0
  58. package/dist/features/admin/actions/notification-actions.d.ts +4 -1
  59. package/dist/features/admin/actions/notification-actions.js +56 -10
  60. package/dist/features/admin/components/AdminAdsView.js +1 -1
  61. package/dist/features/admin/components/AdminCarouselGroupEditorView.d.ts +6 -0
  62. package/dist/features/admin/components/AdminCarouselGroupEditorView.js +50 -0
  63. package/dist/features/admin/components/AdminCartsView.js +16 -3
  64. package/dist/features/admin/components/AdminCouponEditorView.js +2 -2
  65. package/dist/features/admin/components/AdminCouponsView.js +14 -4
  66. package/dist/features/admin/components/AdminEmployeeEditorView.js +1 -42
  67. package/dist/features/admin/components/AdminMediaView.js +1 -1
  68. package/dist/features/admin/components/AdminNewsletterView.js +42 -11
  69. package/dist/features/admin/components/AdminNotificationsView.js +31 -19
  70. package/dist/features/admin/components/AdminOrdersView.js +7 -0
  71. package/dist/features/admin/components/AdminPayoutsView.js +18 -3
  72. package/dist/features/admin/components/AdminProductsView.js +17 -2
  73. package/dist/features/admin/components/AdminReviewsView.js +16 -2
  74. package/dist/features/admin/components/AdminScammersView.js +7 -0
  75. package/dist/features/admin/components/AdminSectionsView.js +4 -0
  76. package/dist/features/admin/components/AdminSiteConfigGuideView.js +1 -1
  77. package/dist/features/admin/components/AdminSiteSettingsView.js +127 -8
  78. package/dist/features/admin/components/AdminStoreEditorView.d.ts +2 -1
  79. package/dist/features/admin/components/AdminStoreEditorView.js +4 -4
  80. package/dist/features/admin/components/AdminStoresView.js +1 -1
  81. package/dist/features/admin/components/AdminSupportTicketDetailView.js +23 -5
  82. package/dist/features/admin/components/AdminSupportTicketsView.js +20 -2
  83. package/dist/features/admin/components/AdminTesterChecklistItemEditorView.js +4 -1
  84. package/dist/features/admin/components/AdminTesterChecklistView.js +8 -0
  85. package/dist/features/admin/components/index.d.ts +2 -0
  86. package/dist/features/admin/components/index.js +1 -0
  87. package/dist/features/admin/constants/filter-tabs.d.ts +55 -41
  88. package/dist/features/admin/constants/filter-tabs.js +55 -27
  89. package/dist/features/admin/repository/analytics-rollup.repository.d.ts +25 -0
  90. package/dist/features/admin/repository/analytics-rollup.repository.js +31 -0
  91. package/dist/features/admin/repository/site-settings.repository.js +8 -1
  92. package/dist/features/admin/schemas/firestore.d.ts +46 -0
  93. package/dist/features/admin/schemas/firestore.js +62 -24
  94. package/dist/features/auctions/actions/bid-actions.js +1 -1
  95. package/dist/features/auctions/components/AuctionDetailPageView.js +2 -2
  96. package/dist/features/auctions/components/AuctionsListView.js +8 -1
  97. package/dist/features/auth/components/LoginForm.js +2 -2
  98. package/dist/features/auth/components/RegisterForm.js +2 -2
  99. package/dist/features/auth/permissions/constants.d.ts +16 -0
  100. package/dist/features/auth/permissions/constants.js +53 -0
  101. package/dist/features/auth/schemas/firestore.js +1 -0
  102. package/dist/features/blog/components/BlogFilters.js +1 -1
  103. package/dist/features/cart/schemas/firestore.d.ts +1 -1
  104. package/dist/features/categories/schemas/firestore.d.ts +1 -1
  105. package/dist/features/consultation/components/ConsultationForm.js +1 -1
  106. package/dist/features/events/components/EventFilters.js +2 -0
  107. package/dist/features/homepage/components/WelcomeSection.js +2 -2
  108. package/dist/features/layout/BackToTop.d.ts +9 -5
  109. package/dist/features/layout/BackToTop.js +17 -21
  110. package/dist/features/layout/TitleBarLayout.d.ts +2 -2
  111. package/dist/features/layout/TitleBarLayout.js +4 -4
  112. package/dist/features/media/AvatarUpload.js +7 -3
  113. package/dist/features/media/MediaVideo.js +1 -1
  114. package/dist/features/media/finalize.d.ts +9 -13
  115. package/dist/features/media/finalize.js +23 -74
  116. package/dist/features/media/server.d.ts +1 -1
  117. package/dist/features/media/server.js +1 -1
  118. package/dist/features/orders/actions/refund-actions.js +1 -0
  119. package/dist/features/orders/hooks/useOrders.js +16 -4
  120. package/dist/features/orders/schemas/firestore.d.ts +19 -5
  121. package/dist/features/payments/schemas/firestore.d.ts +2 -2
  122. package/dist/features/pre-orders/components/PreOrdersListView.js +7 -0
  123. package/dist/features/products/components/ArtStickersListView.js +5 -0
  124. package/dist/features/products/components/ProductDetailPageView.d.ts +7 -1
  125. package/dist/features/products/components/ProductForm.js +14 -1
  126. package/dist/features/products/components/ProductsIndexPageView.js +7 -0
  127. package/dist/features/products/constants/action-defs.d.ts +29 -3
  128. package/dist/features/products/constants/action-defs.js +77 -1
  129. package/dist/features/products/schemas/firestore.d.ts +1 -1
  130. package/dist/features/products/schemas/product-templates.d.ts +1 -1
  131. package/dist/features/products/types/index.d.ts +4 -0
  132. package/dist/features/scams/schemas/index.js +2 -2
  133. package/dist/features/search/components/Search.js +3 -3
  134. package/dist/features/seller/components/SellerAuctionsView.js +27 -2
  135. package/dist/features/seller/components/SellerOrdersView.js +2 -2
  136. package/dist/features/seller/components/SellerPayoutsView.js +24 -10
  137. package/dist/features/seller/components/SellerPreOrdersView.js +12 -4
  138. package/dist/features/seller/components/SellerPrizeDrawsView.js +23 -5
  139. package/dist/features/seller/components/SellerProductShell.d.ts +2 -0
  140. package/dist/features/seller/components/SellerProductShell.js +1 -1
  141. package/dist/features/seller/components/SellerProductsView.js +8 -6
  142. package/dist/features/seller/components/SellerReviewsView.js +27 -6
  143. package/dist/features/seller/components/index.d.ts +0 -2
  144. package/dist/features/seller/components/index.js +0 -1
  145. package/dist/features/stores/components/StoreListingsGuideView.js +2 -1
  146. package/dist/features/stores/components/StoreProductsView.js +1 -1
  147. package/dist/features/stores/schemas/firestore.d.ts +11 -0
  148. package/dist/features/stores/schemas/firestore.js +5 -0
  149. package/dist/features/stores/schemas/index.d.ts +2 -2
  150. package/dist/features/tester/actions/checklist-item-actions.d.ts +6 -0
  151. package/dist/features/tester/actions/checklist-item-actions.js +2 -0
  152. package/dist/features/tester/components/AdminTesterFeedbackIssuesView.js +13 -2
  153. package/dist/features/tester/components/AdminTesterFeedbackListView.js +2 -1
  154. package/dist/features/tester/components/AdminTesterFeedbackReportView.js +9 -5
  155. package/dist/features/tester/components/TesterHubView.js +34 -21
  156. package/dist/features/tester/repository/tester-checklist-item.repository.js +1 -0
  157. package/dist/features/tester/repository/tester-checklist-response.repository.d.ts +18 -4
  158. package/dist/features/tester/repository/tester-checklist-response.repository.js +43 -8
  159. package/dist/features/tester/schemas/firestore.d.ts +8 -3
  160. package/dist/features/tester/schemas/firestore.js +6 -0
  161. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +21 -9
  162. package/dist/features/tester/utils/phases.d.ts +31 -0
  163. package/dist/features/tester/utils/phases.js +46 -0
  164. package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +1 -1
  165. package/dist/features/whatsapp-bot/helpers/whatsapp.d.ts +10 -1
  166. package/dist/features/whatsapp-bot/helpers/whatsapp.js +47 -0
  167. package/dist/features/whatsapp-bot/types/index.d.ts +20 -1
  168. package/dist/features/wishlist/types/index.d.ts +3 -0
  169. package/dist/index.d.ts +15 -6
  170. package/dist/index.js +19 -9
  171. package/dist/next/components/NotFoundView.js +2 -1
  172. package/dist/next/routing/route-map.d.ts +6 -12
  173. package/dist/next/routing/route-map.js +3 -4
  174. package/dist/providers/db-firebase/admin.d.ts +1 -0
  175. package/dist/providers/db-firebase/admin.js +1 -1
  176. package/dist/repositories/index.d.ts +2 -0
  177. package/dist/repositories/index.js +1 -0
  178. package/dist/schemas/registry.d.ts +2 -2
  179. package/dist/seed/addresses-seed-data.js +18 -18
  180. package/dist/seed/bids-seed-data.js +4 -4
  181. package/dist/seed/blog-posts-seed-data.js +82 -82
  182. package/dist/seed/carousel-slides-seed-data.js +14 -10
  183. package/dist/seed/carousels-seed-data.js +3 -3
  184. package/dist/seed/cart-seed-data.js +92 -92
  185. package/dist/seed/claimed-coupons-seed-data.js +10 -10
  186. package/dist/seed/conversations-seed-data.js +75 -75
  187. package/dist/seed/coupon-usage-seed-data.js +12 -12
  188. package/dist/seed/coupons-seed-data.js +41 -41
  189. package/dist/seed/events-seed-data.js +105 -105
  190. package/dist/seed/grouped-listings-seed-data.d.ts +2 -137
  191. package/dist/seed/grouped-listings-seed-data.js +79 -143
  192. package/dist/seed/history-seed-data.js +38 -38
  193. package/dist/seed/homepage-sections-seed-data.js +9 -9
  194. package/dist/seed/notifications-seed-data.js +56 -56
  195. package/dist/seed/offers-seed-data.js +91 -91
  196. package/dist/seed/orders-seed-data.js +121 -106
  197. package/dist/seed/payouts-seed-data.js +42 -42
  198. package/dist/seed/products-auctions-seed-data.js +10 -2
  199. package/dist/seed/products-standard-seed-data.js +40 -8
  200. package/dist/seed/reviews-seed-data.js +42 -23
  201. package/dist/seed/scammers-seed-data.js +22 -22
  202. package/dist/seed/sessions-seed-data.js +7 -7
  203. package/dist/seed/shipments-seed-data.js +10 -10
  204. package/dist/seed/site-settings-seed-data.js +89 -0
  205. package/dist/seed/store-addresses-seed-data.js +2 -2
  206. package/dist/seed/store-extensions-seed-data.js +93 -93
  207. package/dist/seed/stores-seed-data.js +2 -0
  208. package/dist/seed/support-tickets-seed-data.js +47 -47
  209. package/dist/seed/users-seed-data.js +55 -89
  210. package/dist/seed/wishlists-seed-data.js +22 -22
  211. package/dist/server.d.ts +4 -3
  212. package/dist/server.js +7 -7
  213. package/dist/styles.css +1 -1
  214. package/dist/tailwind-utilities.css +1 -1
  215. package/dist/ui/components/PageLoader.js +8 -3
  216. package/dist/ui/components/Select.d.ts +8 -1
  217. package/dist/ui/components/Select.js +2 -2
  218. package/dist/ui/components/SiteMark.d.ts +23 -0
  219. package/dist/ui/components/SiteMark.js +76 -0
  220. package/dist/ui/index.d.ts +2 -0
  221. package/dist/ui/index.js +1 -0
  222. package/dist/validation/schemas.d.ts +0 -2
  223. package/dist/validation/schemas.js +0 -2
  224. package/package.json +1 -1
  225. package/scripts/seed-cli.mjs +17 -15
@@ -1,5 +1,5 @@
1
1
  /*
2
- * WHY: Seeds purchase orders representing completed transactions across YGO marketplace buyers and sellers.
2
+ * WHY: Seeds purchase orders representing completed transactions across Beyblade marketplace buyers and sellers.
3
3
  * WHAT: Exports 50 orders across 3 buyer/store combos. All statuses distributed. Order IDs: order-{itemCount}-{YYYYMMDD}-{rand6}.
4
4
  *
5
5
  * EXPORTS:
@@ -14,63 +14,77 @@
14
14
  */
15
15
  const NOW = new Date();
16
16
  const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
17
- const generateOrderId = (itemCount, daysBack) => {
17
+ // Deterministic 6-char base36 suffix derived from a seed string — replaces the
18
+ // previous Math.random() suffix, which regenerated a fresh id on every module
19
+ // import (every `load`/`status`/`delete` CLI invocation), so re-running `load`
20
+ // never actually updated existing docs and `status`/`delete` could never find
21
+ // what a previous `load` had written. A simple string hash keeps ids stable
22
+ // across runs on the same day while remaining unique per (itemCount, daysBack, seed).
23
+ function seededSuffix(seed) {
24
+ let hash = 0;
25
+ for (let i = 0; i < seed.length; i++) {
26
+ hash = (Math.imul(31, hash) + seed.charCodeAt(i)) | 0;
27
+ }
28
+ // Force unsigned before base36 so the suffix is always 6 lowercase alnum chars.
29
+ return (hash >>> 0).toString(36).padStart(6, "0").slice(0, 6);
30
+ }
31
+ const generateOrderId = (itemCount, daysBack, seed) => {
18
32
  const date = new Date(NOW.getTime() - daysBack * 86400000);
19
33
  const yyyymmdd = date.toISOString().split("T")[0].replace(/-/g, "");
20
- const rand = Math.random().toString(36).substring(2, 8);
34
+ const rand = seededSuffix(`${itemCount}-${daysBack}-${seed}`);
21
35
  return `order-${itemCount}-${yyyymmdd}-${rand}`;
22
36
  };
23
37
  const USER_NAMES = {
24
- "user-yugi-muto": "Yugi Muto",
25
- "user-admin-letitrip": "LetItRip Admin",
26
- "user-seto-kaiba": "Seto Kaiba",
38
+ "user-yugi-muto": "Mock User 3",
39
+ "user-admin-letitrip": "Mock User 1",
40
+ "user-seto-kaiba": "Mock User 2",
27
41
  };
28
42
  const USER_EMAILS = {
29
- "user-yugi-muto": "yugi@duelkingdom.in",
43
+ "user-yugi-muto": "rehan.sheikh@gmail.com",
30
44
  "user-admin-letitrip": "admin@letitrip.in",
31
- "user-seto-kaiba": "kaiba@kaibalandmark.in",
45
+ "user-seto-kaiba": "vivaan.kapoor@gmail.com",
32
46
  };
33
47
  const _rawOrdersSeedData = [
34
48
  // ────────────────────────────────────────────────────────────────────────────
35
- // Yugi buying from Kaiba — 4 explicit orders
49
+ // Rehan buying from Beyblade Arena — 4 explicit orders
36
50
  // ────────────────────────────────────────────────────────────────────────────
37
51
  {
38
- id: generateOrderId(2, 45),
39
- productId: "product-dark-magician-lob-1st",
40
- productTitle: "Dark Magician LOB 1st Edition",
52
+ id: generateOrderId(2, 45, "yugi-dranzer-pegasus"),
53
+ productId: "product-beyblade-original-dranzer-s",
54
+ productTitle: "Beyblade Original Dranzer S",
41
55
  userId: "user-yugi-muto",
42
- userName: "Yugi Muto",
43
- userEmail: "yugi@duelkingdom.in",
44
- storeId: "store-kaiba-corp-cards",
56
+ userName: "Mock User 3",
57
+ userEmail: "rehan.sheikh@gmail.com",
58
+ storeId: "store-beyblade-arena",
45
59
  items: [
46
60
  {
47
- productId: "product-dark-magician-lob-1st",
48
- productTitle: "Dark Magician LOB 1st Edition",
61
+ productId: "product-beyblade-original-dranzer-s",
62
+ productTitle: "Beyblade Original Dranzer S",
49
63
  listingType: "standard",
50
64
  quantity: 1,
51
- unitPrice: 4999,
52
- totalPrice: 4999,
65
+ unitPrice: 1799,
66
+ totalPrice: 1799,
53
67
  },
54
68
  {
55
- productId: "sublisting-dark-magician-lob-unlimited",
56
- productTitle: "Dark Magician LOB Unlimited (NM)",
69
+ productId: "product-beyblade-metal-storm-pegasus",
70
+ productTitle: "Beyblade Metal Storm Pegasus",
57
71
  listingType: "standard",
58
72
  quantity: 1,
59
- unitPrice: 2999,
60
- totalPrice: 2999,
73
+ unitPrice: 2499,
74
+ totalPrice: 2499,
61
75
  },
62
76
  ],
63
77
  quantity: 2,
64
- unitPrice: 4999,
65
- totalPrice: 7998,
78
+ unitPrice: 1799,
79
+ totalPrice: 4298,
66
80
  currency: "INR",
67
81
  status: "delivered",
68
82
  paymentStatus: "paid",
69
83
  paymentMethod: "cash",
70
84
  paymentId: "pay-yugi-kaiba-001",
71
85
  shippingAddress: "addr-yugi-home",
72
- trackingNumber: "JP-0001-KAIBA-DELIVERED",
73
- shippingCarrier: "Japan Post",
86
+ trackingNumber: "IN-0001-ARENA-DELIVERED",
87
+ shippingCarrier: "India Post",
74
88
  shippingDate: daysAgo(30),
75
89
  deliveryDate: daysAgo(20),
76
90
  orderDate: daysAgo(45),
@@ -78,40 +92,40 @@ const _rawOrdersSeedData = [
78
92
  updatedAt: daysAgo(20),
79
93
  },
80
94
  {
81
- id: generateOrderId(1, 40),
82
- productId: "sublisting-blue-eyes-lob-1st-nm",
83
- productTitle: "Blue-Eyes White Dragon — LOB 1st Edition (NM)",
95
+ id: generateOrderId(1, 40, "yugi-metal-flame-sagittario"),
96
+ productId: "product-beyblade-metal-flame-sagittario",
97
+ productTitle: "Beyblade Metal Flame Sagittario",
84
98
  userId: "user-yugi-muto",
85
- userName: "Yugi Muto",
86
- userEmail: "yugi@duelkingdom.in",
87
- storeId: "store-kaiba-corp-cards",
99
+ userName: "Mock User 3",
100
+ userEmail: "rehan.sheikh@gmail.com",
101
+ storeId: "store-beyblade-arena",
88
102
  quantity: 1,
89
- unitPrice: 7999,
90
- totalPrice: 7999,
103
+ unitPrice: 2299,
104
+ totalPrice: 2299,
91
105
  currency: "INR",
92
106
  status: "shipped",
93
107
  paymentStatus: "paid",
94
108
  paymentMethod: "cash",
95
109
  paymentId: "pay-yugi-kaiba-002",
96
110
  shippingAddress: "addr-yugi-home",
97
- trackingNumber: "JP-0002-KAIBA-SHIPPED",
98
- shippingCarrier: "Japan Post",
111
+ trackingNumber: "IN-0002-ARENA-SHIPPED",
112
+ shippingCarrier: "India Post",
99
113
  shippingDate: daysAgo(8),
100
114
  orderDate: daysAgo(40),
101
115
  createdAt: daysAgo(40),
102
116
  updatedAt: daysAgo(8),
103
117
  },
104
118
  {
105
- id: generateOrderId(3, 35),
106
- productId: "product-lob-booster-pack",
107
- productTitle: "LOB Booster Pack",
119
+ id: generateOrderId(3, 35, "yugi-x-bx08-wave"),
120
+ productId: "preorder-beyblade-x-bx-08-wave",
121
+ productTitle: "Beyblade X BX-08 Wave",
108
122
  userId: "user-yugi-muto",
109
- userName: "Yugi Muto",
110
- userEmail: "yugi@duelkingdom.in",
111
- storeId: "store-kaiba-corp-cards",
123
+ userName: "Mock User 3",
124
+ userEmail: "rehan.sheikh@gmail.com",
125
+ storeId: "store-beyblade-arena",
112
126
  quantity: 3,
113
- unitPrice: 1499,
114
- totalPrice: 4497,
127
+ unitPrice: 899,
128
+ totalPrice: 2697,
115
129
  currency: "INR",
116
130
  status: "processing",
117
131
  paymentStatus: "paid",
@@ -123,16 +137,16 @@ const _rawOrdersSeedData = [
123
137
  updatedAt: daysAgo(2),
124
138
  },
125
139
  {
126
- id: generateOrderId(1, 30),
127
- productId: "sublisting-pot-of-greed-lob-1st",
128
- productTitle: "Pot of Greed — LOB 1st Edition (NM)",
140
+ id: generateOrderId(1, 30, "yugi-burst-valkyrie"),
141
+ productId: "product-beyblade-burst-valkyrie",
142
+ productTitle: "Beyblade Burst Valkyrie",
129
143
  userId: "user-yugi-muto",
130
- userName: "Yugi Muto",
131
- userEmail: "yugi@duelkingdom.in",
132
- storeId: "store-kaiba-corp-cards",
144
+ userName: "Mock User 3",
145
+ userEmail: "rehan.sheikh@gmail.com",
146
+ storeId: "store-beyblade-arena",
133
147
  quantity: 1,
134
- unitPrice: 14999,
135
- totalPrice: 14999,
148
+ unitPrice: 1899,
149
+ totalPrice: 1899,
136
150
  currency: "INR",
137
151
  status: "pending",
138
152
  paymentStatus: "pending",
@@ -144,19 +158,19 @@ const _rawOrdersSeedData = [
144
158
  updatedAt: daysAgo(30),
145
159
  },
146
160
  // ────────────────────────────────────────────────────────────────────────────
147
- // Yugi buying from LetItRip Official
161
+ // Rehan buying from LetItRip Official
148
162
  // ────────────────────────────────────────────────────────────────────────────
149
163
  {
150
- id: generateOrderId(1, 28),
151
- productId: "product-duelist-kingdom-playmat",
152
- productTitle: "Duelist Kingdom Playmat",
164
+ id: generateOrderId(1, 28, "yugi-mystery-box"),
165
+ productId: "prizedraw-beyblade-mystery-box",
166
+ productTitle: "Beyblade Mystery Box",
153
167
  userId: "user-yugi-muto",
154
- userName: "Yugi Muto",
155
- userEmail: "yugi@duelkingdom.in",
168
+ userName: "Mock User 3",
169
+ userEmail: "rehan.sheikh@gmail.com",
156
170
  storeId: "store-letitrip-official",
157
171
  quantity: 1,
158
- unitPrice: 1299,
159
- totalPrice: 1299,
172
+ unitPrice: 499,
173
+ totalPrice: 499,
160
174
  currency: "INR",
161
175
  status: "delivered",
162
176
  paymentStatus: "paid",
@@ -172,27 +186,27 @@ const _rawOrdersSeedData = [
172
186
  updatedAt: daysAgo(8),
173
187
  },
174
188
  // ────────────────────────────────────────────────────────────────────────────
175
- // Admin buying from Kaiba
189
+ // Admin buying from Beyblade Arena
176
190
  // ────────────────────────────────────────────────────────────────────────────
177
191
  {
178
- id: generateOrderId(1, 50),
179
- productId: "product-kaiba-starter-deck",
180
- productTitle: "Starter Deck: Kaiba",
192
+ id: generateOrderId(1, 50, "admin-x-knife-shinobi"),
193
+ productId: "product-beyblade-x-knife-shinobi",
194
+ productTitle: "Beyblade X Knife Shinobi",
181
195
  userId: "user-admin-letitrip",
182
- userName: "LetItRip Admin",
196
+ userName: "Mock User 1",
183
197
  userEmail: "admin@letitrip.in",
184
- storeId: "store-kaiba-corp-cards",
198
+ storeId: "store-beyblade-arena",
185
199
  quantity: 1,
186
- unitPrice: 1999,
187
- totalPrice: 1999,
200
+ unitPrice: 2999,
201
+ totalPrice: 2999,
188
202
  currency: "INR",
189
203
  status: "delivered",
190
204
  paymentStatus: "paid",
191
205
  paymentMethod: "cash",
192
206
  paymentId: "pay-admin-kaiba-001",
193
207
  shippingAddress: "addr-letitrip-hq",
194
- trackingNumber: "JP-0010-KAIBA-DELIVERED",
195
- shippingCarrier: "DHL International",
208
+ trackingNumber: "IN-0010-ARENA-DELIVERED",
209
+ shippingCarrier: "DHL India",
196
210
  shippingDate: daysAgo(40),
197
211
  deliveryDate: daysAgo(30),
198
212
  orderDate: daysAgo(50),
@@ -200,26 +214,26 @@ const _rawOrdersSeedData = [
200
214
  updatedAt: daysAgo(30),
201
215
  },
202
216
  // ────────────────────────────────────────────────────────────────────────────
203
- // Kaiba buying from LetItRip Official
217
+ // Vivaan buying from Beyblade Arena
204
218
  // ────────────────────────────────────────────────────────────────────────────
205
219
  {
206
- id: generateOrderId(1, 55),
207
- productId: "product-millennium-puzzle-model",
208
- productTitle: "Millennium Puzzle Model Kit",
220
+ id: generateOrderId(1, 55, "kaiba-driger-v"),
221
+ productId: "product-beyblade-original-driger-v",
222
+ productTitle: "Beyblade Original Driger V",
209
223
  userId: "user-seto-kaiba",
210
- userName: "Seto Kaiba",
211
- userEmail: "kaiba@kaibalandmark.in",
212
- storeId: "store-letitrip-official",
224
+ userName: "Mock User 2",
225
+ userEmail: "vivaan.kapoor@gmail.com",
226
+ storeId: "store-beyblade-arena",
213
227
  quantity: 1,
214
- unitPrice: 3299,
215
- totalPrice: 3299,
228
+ unitPrice: 1999,
229
+ totalPrice: 1999,
216
230
  currency: "INR",
217
231
  status: "delivered",
218
232
  paymentStatus: "paid",
219
233
  paymentMethod: "cash",
220
234
  paymentId: "pay-kaiba-admin-001",
221
235
  shippingAddress: "addr-kaiba-mansion",
222
- trackingNumber: "IN-0005-ADMIN-DELIVERED",
236
+ trackingNumber: "IN-0005-ARENA-DELIVERED",
223
237
  shippingCarrier: "India Post",
224
238
  shippingDate: daysAgo(12),
225
239
  deliveryDate: daysAgo(5),
@@ -229,13 +243,14 @@ const _rawOrdersSeedData = [
229
243
  },
230
244
  ];
231
245
  const productPool = [
232
- { productId: "product-dark-magician-lob-1st", productTitle: "Dark Magician LOB 1st Edition", unitPrice: 4999 },
233
- { productId: "sublisting-blue-eyes-lob-1st-nm", productTitle: "Blue-Eyes White Dragon — LOB 1st Edition (NM)", unitPrice: 7999 },
234
- { productId: "product-lob-booster-pack", productTitle: "LOB Booster Pack", unitPrice: 1499 },
235
- { productId: "product-kaiba-starter-deck", productTitle: "Starter Deck: Kaiba", unitPrice: 1999 },
236
- { productId: "product-duelist-kingdom-playmat", productTitle: "Duelist Kingdom Playmat", unitPrice: 1299 },
237
- { productId: "sublisting-pot-of-greed-lob-1st", productTitle: "Pot of Greed — LOB 1st Edition (NM)", unitPrice: 14999 },
238
- { productId: "product-millennium-puzzle-model", productTitle: "Millennium Puzzle Model Kit", unitPrice: 3299 },
246
+ { productId: "product-beyblade-original-dranzer-s", productTitle: "Beyblade Original Dranzer S", unitPrice: 1799 },
247
+ { productId: "product-beyblade-original-driger-v", productTitle: "Beyblade Original Driger V", unitPrice: 1999 },
248
+ { productId: "product-beyblade-metal-storm-pegasus", productTitle: "Beyblade Metal Storm Pegasus", unitPrice: 2499 },
249
+ { productId: "product-beyblade-metal-flame-sagittario", productTitle: "Beyblade Metal Flame Sagittario", unitPrice: 2299 },
250
+ { productId: "product-beyblade-burst-valkyrie", productTitle: "Beyblade Burst Valkyrie", unitPrice: 1899 },
251
+ { productId: "product-beyblade-burst-regalia-genesis", productTitle: "Beyblade Burst Regalia Genesis", unitPrice: 3499 },
252
+ { productId: "product-beyblade-x-wizard-arrow", productTitle: "Beyblade X Wizard Arrow", unitPrice: 1699 },
253
+ { productId: "product-beyblade-x-knife-shinobi", productTitle: "Beyblade X Knife Shinobi", unitPrice: 2999 },
239
254
  ];
240
255
  const statuses = [
241
256
  "pending",
@@ -260,10 +275,10 @@ const paymentStatuses = {
260
275
  returned: "refunded",
261
276
  };
262
277
  const buyerStoreMatrix = [
263
- { userId: "user-yugi-muto", storeId: "store-kaiba-corp-cards", addressId: "addr-yugi-home" },
278
+ { userId: "user-yugi-muto", storeId: "store-beyblade-arena", addressId: "addr-yugi-home" },
264
279
  { userId: "user-yugi-muto", storeId: "store-letitrip-official", addressId: "addr-yugi-home" },
265
- { userId: "user-admin-letitrip", storeId: "store-kaiba-corp-cards", addressId: "addr-letitrip-hq" },
266
- { userId: "user-seto-kaiba", storeId: "store-letitrip-official", addressId: "addr-kaiba-mansion" },
280
+ { userId: "user-admin-letitrip", storeId: "store-beyblade-arena", addressId: "addr-letitrip-hq" },
281
+ { userId: "user-seto-kaiba", storeId: "store-beyblade-arena", addressId: "addr-kaiba-mansion" },
267
282
  ];
268
283
  const expandedOrders = [];
269
284
  for (let i = _rawOrdersSeedData.length; i < 50; i++) {
@@ -273,7 +288,7 @@ for (let i = _rawOrdersSeedData.length; i < 50; i++) {
273
288
  const daysBack = 70 - i;
274
289
  const qty = (i % 3) + 1;
275
290
  expandedOrders.push({
276
- id: generateOrderId(qty, daysBack),
291
+ id: generateOrderId(qty, daysBack, `${combo.userId}-${product.productId}-${i}`),
277
292
  productId: product.productId,
278
293
  productTitle: product.productTitle,
279
294
  userId: combo.userId,
@@ -299,15 +314,15 @@ for (let i = _rawOrdersSeedData.length; i < 50; i++) {
299
314
  // cashOrderPendingProof: buyer submitted proof, admin has NOT yet verified.
300
315
  const cashOrderPendingProof = {
301
316
  id: "order-1-20260729-cash01",
302
- productId: "product-dark-magician-lob-1st",
303
- productTitle: "Dark Magician LOB 1st Edition",
317
+ productId: "product-beyblade-original-dranzer-s",
318
+ productTitle: "Beyblade Original Dranzer S",
304
319
  userId: "user-yugi-muto",
305
- userName: "Yugi Muto",
306
- userEmail: "yugi@duelkingdom.in",
307
- storeId: "store-kaiba-corp-cards",
320
+ userName: "Mock User 3",
321
+ userEmail: "rehan.sheikh@gmail.com",
322
+ storeId: "store-beyblade-arena",
308
323
  quantity: 1,
309
- unitPrice: 4999,
310
- totalPrice: 4999,
324
+ unitPrice: 1799,
325
+ totalPrice: 1799,
311
326
  currency: "INR",
312
327
  status: "pending",
313
328
  paymentStatus: "pending",
@@ -323,15 +338,15 @@ const cashOrderPendingProof = {
323
338
  };
324
339
  const cashOrderVerified = {
325
340
  id: "order-1-20260729-cash02",
326
- productId: "product-hot-wheels-redline-vintage",
327
- productTitle: "Hot Wheels Redline — Vintage",
341
+ productId: "product-beyblade-metal-storm-pegasus",
342
+ productTitle: "Beyblade Metal Storm Pegasus",
328
343
  userId: "user-yugi-muto",
329
- userName: "Yugi Muto",
330
- userEmail: "yugi@duelkingdom.in",
331
- storeId: "store-diecast-depot",
344
+ userName: "Mock User 3",
345
+ userEmail: "rehan.sheikh@gmail.com",
346
+ storeId: "store-beyblade-arena",
332
347
  quantity: 1,
333
- unitPrice: 1299,
334
- totalPrice: 1299,
348
+ unitPrice: 2499,
349
+ totalPrice: 2499,
335
350
  currency: "INR",
336
351
  status: "processing",
337
352
  paymentStatus: "paid",
@@ -1,5 +1,5 @@
1
1
  /*
2
- * WHY: Seeds payouts for YGO marketplace — 2 stores, all status states.
2
+ * WHY: Seeds payouts for the Beyblade marketplace — 2 stores, all status states.
3
3
  * WHAT: 10 payouts: COMPLETED (5), PROCESSING (1), PENDING (2 — one with refund deduction), FAILED (2).
4
4
  *
5
5
  * EXPORTS:
@@ -29,24 +29,24 @@ function seedDeduction(orderId, refundId, refundedAmount, reason, daysAgoN) {
29
29
  }
30
30
  export const payoutsSeedData = [
31
31
  // ── COMPLETED (×5) ──────────────────────────────────────────────────────
32
- // 1. Kaiba Corp — Jan 2026
32
+ // 1. Beyblade Arena — Jan 2026
33
33
  {
34
- id: "payout-kaiba-corp-jan-2026-completed",
35
- storeId: "store-kaiba-corp-cards",
36
- sellerName: "Kaiba Corp Card Vault",
37
- sellerEmail: "seto.kaiba@letitrip.in",
34
+ id: "payout-beyblade-arena-jan-2026-completed",
35
+ storeId: "store-beyblade-arena",
36
+ sellerName: "Beyblade Arena",
37
+ sellerEmail: "tyson@beybladearena.in",
38
38
  ...payoutAmounts(15000),
39
39
  platformFeeRate: DEFAULT_PLATFORM_FEE_RATE,
40
40
  currency: _CURRENCY,
41
41
  status: PAYOUT_FIELDS.STATUS_VALUES.PAID,
42
42
  paymentMethod: "bank_transfer",
43
43
  bankAccount: {
44
- accountHolderName: "Seto Kaiba",
44
+ accountHolderName: "Mock User 6",
45
45
  accountNumberMasked: "****3724",
46
46
  ifscCode: "HDFC0001122",
47
47
  bankName: "HDFC Bank",
48
48
  },
49
- notes: "January 2026 payout — Blue-Eyes LOB singles + Dark Magician lot delivered",
49
+ notes: "January 2026 payout — Original series singles + Metal Fight lot delivered",
50
50
  adminNote: "Bank transfer successful. Ref: TXN-2026-01-4521",
51
51
  orderIds: ["order-1-20260115-a1b2c3"],
52
52
  requestedAt: daysAgo(95),
@@ -66,7 +66,7 @@ export const payoutsSeedData = [
66
66
  status: PAYOUT_FIELDS.STATUS_VALUES.PAID,
67
67
  paymentMethod: "upi",
68
68
  upiId: "letitrip@upi",
69
- notes: "January 2026 payout — Exodia set + sealed LOB booster box orders",
69
+ notes: "January 2026 payout — Mystery box + pre-order deposit orders",
70
70
  adminNote: "UPI credited. Ref: UPI-2026-01-9983",
71
71
  orderIds: ["order-2-20260120-d4e5f6"],
72
72
  requestedAt: daysAgo(90),
@@ -74,24 +74,24 @@ export const payoutsSeedData = [
74
74
  createdAt: daysAgo(90),
75
75
  updatedAt: daysAgo(88),
76
76
  },
77
- // 3. Kaiba Corp — Mar 2026
77
+ // 3. Beyblade Arena — Mar 2026
78
78
  {
79
- id: "payout-kaiba-corp-mar-2026-completed",
80
- storeId: "store-kaiba-corp-cards",
81
- sellerName: "Kaiba Corp Card Vault",
82
- sellerEmail: "seto.kaiba@letitrip.in",
79
+ id: "payout-beyblade-arena-mar-2026-completed",
80
+ storeId: "store-beyblade-arena",
81
+ sellerName: "Beyblade Arena",
82
+ sellerEmail: "tyson@beybladearena.in",
83
83
  ...payoutAmounts(22000),
84
84
  platformFeeRate: DEFAULT_PLATFORM_FEE_RATE,
85
85
  currency: _CURRENCY,
86
86
  status: PAYOUT_FIELDS.STATUS_VALUES.PAID,
87
87
  paymentMethod: "bank_transfer",
88
88
  bankAccount: {
89
- accountHolderName: "Seto Kaiba",
89
+ accountHolderName: "Mock User 6",
90
90
  accountNumberMasked: "****3724",
91
91
  ifscCode: "HDFC0001122",
92
92
  bankName: "HDFC Bank",
93
93
  },
94
- notes: "March 2026 payout — PSA 10 Blue-Eyes auction settlement + Chaos Emperor Dragon",
94
+ notes: "March 2026 payout — Metal Lightning L-Drago auction settlement + Burst lot",
95
95
  adminNote: "Bank transfer successful. Ref: TXN-2026-03-8874",
96
96
  orderIds: ["order-3-20260310-g7h8i9"],
97
97
  requestedAt: daysAgo(50),
@@ -111,7 +111,7 @@ export const payoutsSeedData = [
111
111
  status: PAYOUT_FIELDS.STATUS_VALUES.PAID,
112
112
  paymentMethod: "upi",
113
113
  upiId: "letitrip@upi",
114
- notes: "March 2026 payout — Structure deck + accessory orders",
114
+ notes: "March 2026 payout — Accessory orders",
115
115
  adminNote: "UPI credited. Ref: UPI-2026-03-7765",
116
116
  orderIds: ["order-4-20260315-j1k2l3"],
117
117
  requestedAt: daysAgo(40),
@@ -119,19 +119,19 @@ export const payoutsSeedData = [
119
119
  createdAt: daysAgo(40),
120
120
  updatedAt: daysAgo(38),
121
121
  },
122
- // 5. Kaiba Corp — Apr 2026
122
+ // 5. Beyblade Arena — Apr 2026
123
123
  {
124
- id: "payout-kaiba-corp-apr-2026-completed",
125
- storeId: "store-kaiba-corp-cards",
126
- sellerName: "Kaiba Corp Card Vault",
127
- sellerEmail: "seto.kaiba@letitrip.in",
124
+ id: "payout-beyblade-arena-apr-2026-completed",
125
+ storeId: "store-beyblade-arena",
126
+ sellerName: "Beyblade Arena",
127
+ sellerEmail: "tyson@beybladearena.in",
128
128
  ...payoutAmounts(9800),
129
129
  platformFeeRate: DEFAULT_PLATFORM_FEE_RATE,
130
130
  currency: _CURRENCY,
131
131
  status: PAYOUT_FIELDS.STATUS_VALUES.PAID,
132
132
  paymentMethod: "upi",
133
- upiId: "kaibacorp@upi",
134
- notes: "April 2026 payout — Mirror Force MRD lot + Pot of Greed singles batch",
133
+ upiId: "beybladearena@upi",
134
+ notes: "April 2026 payout — X-series wave lot + starter singles batch",
135
135
  adminNote: "UPI credited. Ref: UPI-2026-04-3341",
136
136
  orderIds: ["order-5-20260420-m4n5o6"],
137
137
  requestedAt: daysAgo(20),
@@ -152,7 +152,7 @@ export const payoutsSeedData = [
152
152
  status: PAYOUT_FIELDS.STATUS_VALUES.PROCESSING,
153
153
  paymentMethod: "upi",
154
154
  upiId: "letitrip@upi",
155
- notes: "May 2026 payout — Starter Deck Yugi sealed + accessories batch",
155
+ notes: "May 2026 payout — Mystery box sealed batch + accessories batch",
156
156
  adminNote: "UPI transfer queued. Processing batch run.",
157
157
  orderIds: ["order-6-20260510-p7q8r9"],
158
158
  requestedAt: daysAgo(3),
@@ -161,27 +161,27 @@ export const payoutsSeedData = [
161
161
  updatedAt: daysAgo(1),
162
162
  },
163
163
  // ── PENDING (×2) ────────────────────────────────────────────────────────
164
- // 7. Kaiba Corp — May 2026 — with partial refund deduction
164
+ // 7. Beyblade Arena — May 2026 — with partial refund deduction
165
165
  {
166
- id: "payout-kaiba-corp-may-2026-pending",
167
- storeId: "store-kaiba-corp-cards",
168
- sellerName: "Kaiba Corp Card Vault",
169
- sellerEmail: "seto.kaiba@letitrip.in",
166
+ id: "payout-beyblade-arena-may-2026-pending",
167
+ storeId: "store-beyblade-arena",
168
+ sellerName: "Beyblade Arena",
169
+ sellerEmail: "tyson@beybladearena.in",
170
170
  ...payoutAmounts(12000),
171
171
  platformFeeRate: DEFAULT_PLATFORM_FEE_RATE,
172
172
  currency: _CURRENCY,
173
173
  status: PAYOUT_FIELDS.STATUS_VALUES.PENDING,
174
174
  paymentMethod: "bank_transfer",
175
175
  bankAccount: {
176
- accountHolderName: "Seto Kaiba",
176
+ accountHolderName: "Mock User 6",
177
177
  accountNumberMasked: "****3724",
178
178
  ifscCode: "HDFC0001122",
179
179
  bankName: "HDFC Bank",
180
180
  },
181
- notes: "May 2026 payout — Dark Magician Girl IOC + Raigeki LOB batch",
181
+ notes: "May 2026 payout — Burst Valkyrie + Metal Storm Pegasus batch",
182
182
  orderIds: ["order-7-20260515-s1t2u3"],
183
183
  refundDeductions: [
184
- seedDeduction("order-7-20260515-s1t2u3", "refund-order-7-partial-001", 500, "Card arrived with damaged top-loader — buyer requested partial refund", 1),
184
+ seedDeduction("order-7-20260515-s1t2u3", "refund-order-7-partial-001", 500, "Piece arrived with a chipped bit — buyer requested partial refund", 1),
185
185
  ],
186
186
  netAmount: payoutAmounts(12000).amount - 475,
187
187
  requestedAt: daysAgo(1),
@@ -200,7 +200,7 @@ export const payoutsSeedData = [
200
200
  status: PAYOUT_FIELDS.STATUS_VALUES.PENDING,
201
201
  paymentMethod: "upi",
202
202
  upiId: "letitrip@upi",
203
- notes: "May 2026 payout — Pre-order deposits + deck box accessories",
203
+ notes: "May 2026 payout — Pre-order deposits + accessories",
204
204
  orderIds: ["order-8-20260518-v4w5x6"],
205
205
  requestedAt: daysAgo(1),
206
206
  createdAt: daysAgo(1),
@@ -219,7 +219,7 @@ export const payoutsSeedData = [
219
219
  status: PAYOUT_FIELDS.STATUS_VALUES.FAILED,
220
220
  paymentMethod: "bank_transfer",
221
221
  bankAccount: {
222
- accountHolderName: "LetItRip Admin",
222
+ accountHolderName: "Mock User 1",
223
223
  accountNumberMasked: "****1234",
224
224
  ifscCode: "SBIN0001234",
225
225
  bankName: "State Bank of India",
@@ -232,19 +232,19 @@ export const payoutsSeedData = [
232
232
  createdAt: daysAgo(155),
233
233
  updatedAt: daysAgo(153),
234
234
  },
235
- // 10. Kaiba Corp — Jan 2026 — UPI limit exceeded
235
+ // 10. Beyblade Arena — Jan 2026 — UPI limit exceeded
236
236
  {
237
- id: "payout-kaiba-corp-jan-2026-failed",
238
- storeId: "store-kaiba-corp-cards",
239
- sellerName: "Kaiba Corp Card Vault",
240
- sellerEmail: "seto.kaiba@letitrip.in",
237
+ id: "payout-beyblade-arena-jan-2026-failed",
238
+ storeId: "store-beyblade-arena",
239
+ sellerName: "Beyblade Arena",
240
+ sellerEmail: "tyson@beybladearena.in",
241
241
  ...payoutAmounts(14499),
242
242
  platformFeeRate: DEFAULT_PLATFORM_FEE_RATE,
243
243
  currency: _CURRENCY,
244
244
  status: PAYOUT_FIELDS.STATUS_VALUES.FAILED,
245
245
  paymentMethod: "upi",
246
- upiId: "kaibacorp@upi",
247
- notes: "January 2026 payout — PSA 10 Blue-Eyes Ultimate Dragon auction settlement",
246
+ upiId: "beybladearena@upi",
247
+ notes: "January 2026 payout — Original Dragoon Storm auction settlement",
248
248
  adminNote: "UPI transaction failed — daily limit of ₹1,00,000 exceeded. Switched to bank transfer for resubmission.",
249
249
  orderIds: ["order-10-20260125-b1c2d3"],
250
250
  requestedAt: daysAgo(110),
@@ -46,7 +46,11 @@ const _rawProductsAuctionsSeedData = [
46
46
  bidsHaveStarted: true,
47
47
  isSold: false,
48
48
  mainImage: seedExtMedia("https://picsum.photos/seed/auction-image-beyblade-original-dragoon-storm-1-20260101/900/900"),
49
- images: [seedExtMedia("https://picsum.photos/seed/auction-image-beyblade-original-dragoon-storm-1-20260101/900/900")],
49
+ images: [
50
+ seedExtMedia("https://picsum.photos/seed/auction-image-beyblade-original-dragoon-storm-1-20260101/900/900"),
51
+ seedExtMedia("https://picsum.photos/seed/auction-image-beyblade-original-dragoon-storm-2-20260101/900/900"),
52
+ seedExtMedia("https://picsum.photos/seed/auction-image-beyblade-original-dragoon-storm-3-20260101/900/900"),
53
+ ],
50
54
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
51
55
  condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
52
56
  storeId: "store-beyblade-arena",
@@ -72,7 +76,11 @@ const _rawProductsAuctionsSeedData = [
72
76
  bidsHaveStarted: true,
73
77
  isSold: false,
74
78
  mainImage: seedExtMedia("https://picsum.photos/seed/auction-image-beyblade-metal-lightning-l-drago-1-20260101/900/900"),
75
- images: [seedExtMedia("https://picsum.photos/seed/auction-image-beyblade-metal-lightning-l-drago-1-20260101/900/900")],
79
+ images: [
80
+ seedExtMedia("https://picsum.photos/seed/auction-image-beyblade-metal-lightning-l-drago-1-20260101/900/900"),
81
+ seedExtMedia("https://picsum.photos/seed/auction-image-beyblade-metal-lightning-l-drago-2-20260101/900/900"),
82
+ seedExtMedia("https://picsum.photos/seed/auction-image-beyblade-metal-lightning-l-drago-3-20260101/900/900"),
83
+ ],
76
84
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
77
85
  condition: PRODUCT_FIELDS.CONDITION_VALUES.GOOD,
78
86
  storeId: "store-beyblade-arena",