@mohasinac/appkit 2.6.2 → 2.6.4

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 (607) hide show
  1. package/dist/_internal/server/features/account/data.js +2 -2
  2. package/dist/_internal/server/features/bundles/data.d.ts +26 -6
  3. package/dist/_internal/server/features/bundles/data.js +41 -6
  4. package/dist/_internal/server/features/bundles/index.d.ts +3 -2
  5. package/dist/_internal/server/features/bundles/index.js +4 -2
  6. package/dist/_internal/server/features/bundles/metadata.d.ts +20 -0
  7. package/dist/_internal/server/features/bundles/metadata.js +46 -0
  8. package/dist/_internal/server/features/bundles/og.d.ts +38 -0
  9. package/dist/_internal/server/features/bundles/og.js +122 -0
  10. package/dist/_internal/server/features/checkout/actions.js +192 -133
  11. package/dist/_internal/server/features/checkout/bundle-expansion.d.ts +57 -0
  12. package/dist/_internal/server/features/checkout/bundle-expansion.js +70 -0
  13. package/dist/_internal/server/features/checkout/prize-bundle-gates.d.ts +5 -15
  14. package/dist/_internal/server/features/checkout/prize-bundle-gates.js +5 -21
  15. package/dist/_internal/server/features/media/contextGuards.js +15 -1
  16. package/dist/_internal/server/features/payouts/actions.d.ts +19 -0
  17. package/dist/_internal/server/features/payouts/actions.js +38 -0
  18. package/dist/_internal/server/features/products/data.js +1 -2
  19. package/dist/_internal/server/features/raffle/actions.d.ts +11 -0
  20. package/dist/_internal/server/features/raffle/actions.js +31 -0
  21. package/dist/_internal/server/features/refunds/actions.d.ts +31 -0
  22. package/dist/_internal/server/features/refunds/actions.js +77 -0
  23. package/dist/_internal/server/jobs/core/adminAnalytics.d.ts +28 -0
  24. package/dist/_internal/server/jobs/core/adminAnalytics.js +98 -0
  25. package/dist/_internal/server/jobs/core/assignSpinPrize.d.ts +19 -0
  26. package/dist/_internal/server/jobs/core/assignSpinPrize.js +81 -0
  27. package/dist/_internal/server/jobs/core/auctionSettlement.d.ts +2 -0
  28. package/dist/_internal/server/jobs/core/auctionSettlement.js +70 -0
  29. package/dist/_internal/server/jobs/core/autoPayoutEligibility.d.ts +2 -0
  30. package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +109 -0
  31. package/dist/_internal/server/jobs/core/bundleStockSync.d.ts +10 -0
  32. package/dist/_internal/server/jobs/core/bundleStockSync.js +71 -0
  33. package/dist/_internal/server/jobs/core/cartPrune.d.ts +2 -0
  34. package/dist/_internal/server/jobs/core/cartPrune.js +13 -0
  35. package/dist/_internal/server/jobs/core/cleanupRtdbEvents.d.ts +2 -0
  36. package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +45 -0
  37. package/dist/_internal/server/jobs/core/countersReconcile.d.ts +2 -0
  38. package/dist/_internal/server/jobs/core/countersReconcile.js +107 -0
  39. package/dist/_internal/server/jobs/core/couponExpiry.d.ts +2 -0
  40. package/dist/_internal/server/jobs/core/couponExpiry.js +13 -0
  41. package/dist/_internal/server/jobs/core/dailyDataCleanup.d.ts +2 -0
  42. package/dist/_internal/server/jobs/core/dailyDataCleanup.js +20 -0
  43. package/dist/_internal/server/jobs/core/index.d.ts +44 -0
  44. package/dist/_internal/server/jobs/core/index.js +47 -0
  45. package/dist/_internal/server/jobs/core/listingProcessor.d.ts +30 -0
  46. package/dist/_internal/server/jobs/core/listingProcessor.js +138 -0
  47. package/dist/_internal/server/jobs/core/mediaTmpCleanup.d.ts +14 -0
  48. package/dist/_internal/server/jobs/core/mediaTmpCleanup.js +68 -0
  49. package/dist/_internal/server/jobs/core/notificationPrune.d.ts +2 -0
  50. package/dist/_internal/server/jobs/core/notificationPrune.js +13 -0
  51. package/dist/_internal/server/jobs/core/offerExpiry.d.ts +2 -0
  52. package/dist/_internal/server/jobs/core/offerExpiry.js +50 -0
  53. package/dist/_internal/server/jobs/core/onBidPlaced.d.ts +15 -0
  54. package/dist/_internal/server/jobs/core/onBidPlaced.js +59 -0
  55. package/dist/_internal/server/jobs/core/onCategoryWrite.d.ts +14 -0
  56. package/dist/_internal/server/jobs/core/onCategoryWrite.js +134 -0
  57. package/dist/_internal/server/jobs/core/onOrderCreate.d.ts +18 -0
  58. package/dist/_internal/server/jobs/core/onOrderCreate.js +78 -0
  59. package/dist/_internal/server/jobs/core/onOrderStatusChange.d.ts +19 -0
  60. package/dist/_internal/server/jobs/core/onOrderStatusChange.js +139 -0
  61. package/dist/_internal/server/jobs/core/onProductStockChange.d.ts +23 -0
  62. package/dist/_internal/server/jobs/core/onProductStockChange.js +130 -0
  63. package/dist/_internal/server/jobs/core/onProductWrite.d.ts +12 -0
  64. package/dist/_internal/server/jobs/core/onProductWrite.js +94 -0
  65. package/dist/_internal/server/jobs/core/onReviewWrite.d.ts +7 -0
  66. package/dist/_internal/server/jobs/core/onReviewWrite.js +49 -0
  67. package/dist/_internal/server/jobs/core/onStoreWrite.d.ts +12 -0
  68. package/dist/_internal/server/jobs/core/onStoreWrite.js +7 -0
  69. package/dist/_internal/server/jobs/core/payoutBatch.d.ts +8 -0
  70. package/dist/_internal/server/jobs/core/payoutBatch.js +102 -0
  71. package/dist/_internal/server/jobs/core/pendingOrderTimeout.d.ts +2 -0
  72. package/dist/_internal/server/jobs/core/pendingOrderTimeout.js +27 -0
  73. package/dist/_internal/server/jobs/core/positionsReconcile.d.ts +7 -0
  74. package/dist/_internal/server/jobs/core/positionsReconcile.js +87 -0
  75. package/dist/_internal/server/jobs/core/prizeRevealClose.d.ts +2 -0
  76. package/dist/_internal/server/jobs/core/prizeRevealClose.js +22 -0
  77. package/dist/_internal/server/jobs/core/prizeRevealExpiry.d.ts +2 -0
  78. package/dist/_internal/server/jobs/core/prizeRevealExpiry.js +50 -0
  79. package/dist/_internal/server/jobs/core/prizeRevealOpen.d.ts +2 -0
  80. package/dist/_internal/server/jobs/core/prizeRevealOpen.js +56 -0
  81. package/dist/_internal/server/jobs/core/prizeRevealReminder.d.ts +2 -0
  82. package/dist/_internal/server/jobs/core/prizeRevealReminder.js +38 -0
  83. package/dist/_internal/server/jobs/core/productStatsSync.d.ts +8 -0
  84. package/dist/_internal/server/jobs/core/productStatsSync.js +36 -0
  85. package/dist/_internal/server/jobs/core/promotions.d.ts +12 -0
  86. package/dist/_internal/server/jobs/core/promotions.js +43 -0
  87. package/dist/_internal/server/jobs/core/storeAnalytics.d.ts +30 -0
  88. package/dist/_internal/server/jobs/core/storeAnalytics.js +109 -0
  89. package/dist/_internal/server/jobs/core/triggerEventRaffle.d.ts +19 -0
  90. package/dist/_internal/server/jobs/core/triggerEventRaffle.js +86 -0
  91. package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.d.ts +6 -0
  92. package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +85 -0
  93. package/dist/_internal/server/jobs/handlers/adminAnalytics.d.ts +2 -26
  94. package/dist/_internal/server/jobs/handlers/adminAnalytics.js +2 -98
  95. package/dist/_internal/server/jobs/handlers/assignSpinPrize.d.ts +1 -22
  96. package/dist/_internal/server/jobs/handlers/assignSpinPrize.js +2 -86
  97. package/dist/_internal/server/jobs/handlers/auctionSettlement.js +2 -70
  98. package/dist/_internal/server/jobs/handlers/autoPayoutEligibility.js +2 -110
  99. package/dist/_internal/server/jobs/handlers/bundleStockSync.d.ts +0 -16
  100. package/dist/_internal/server/jobs/handlers/bundleStockSync.js +2 -80
  101. package/dist/_internal/server/jobs/handlers/cartPrune.js +2 -13
  102. package/dist/_internal/server/jobs/handlers/cleanupRtdbEvents.js +2 -45
  103. package/dist/_internal/server/jobs/handlers/countersReconcile.js +2 -109
  104. package/dist/_internal/server/jobs/handlers/couponExpiry.js +2 -13
  105. package/dist/_internal/server/jobs/handlers/dailyDataCleanup.js +2 -20
  106. package/dist/_internal/server/jobs/handlers/listingProcessor.d.ts +3 -28
  107. package/dist/_internal/server/jobs/handlers/listingProcessor.js +3 -138
  108. package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.d.ts +0 -12
  109. package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.js +2 -69
  110. package/dist/_internal/server/jobs/handlers/notificationPrune.js +2 -13
  111. package/dist/_internal/server/jobs/handlers/offerExpiry.js +2 -50
  112. package/dist/_internal/server/jobs/handlers/onBidPlaced.d.ts +1 -10
  113. package/dist/_internal/server/jobs/handlers/onBidPlaced.js +2 -56
  114. package/dist/_internal/server/jobs/handlers/onCategoryWrite.d.ts +1 -8
  115. package/dist/_internal/server/jobs/handlers/onCategoryWrite.js +6 -134
  116. package/dist/_internal/server/jobs/handlers/onOrderCreate.d.ts +1 -12
  117. package/dist/_internal/server/jobs/handlers/onOrderCreate.js +2 -76
  118. package/dist/_internal/server/jobs/handlers/onOrderStatusChange.d.ts +1 -12
  119. package/dist/_internal/server/jobs/handlers/onOrderStatusChange.js +2 -139
  120. package/dist/_internal/server/jobs/handlers/onProductStockChange.d.ts +0 -13
  121. package/dist/_internal/server/jobs/handlers/onProductStockChange.js +7 -134
  122. package/dist/_internal/server/jobs/handlers/onProductWrite.d.ts +1 -6
  123. package/dist/_internal/server/jobs/handlers/onProductWrite.js +6 -106
  124. package/dist/_internal/server/jobs/handlers/onReviewWrite.js +2 -49
  125. package/dist/_internal/server/jobs/handlers/onStoreWrite.d.ts +1 -8
  126. package/dist/_internal/server/jobs/handlers/onStoreWrite.js +7 -8
  127. package/dist/_internal/server/jobs/handlers/payoutBatch.d.ts +0 -9
  128. package/dist/_internal/server/jobs/handlers/payoutBatch.js +2 -104
  129. package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.d.ts +0 -6
  130. package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.js +2 -33
  131. package/dist/_internal/server/jobs/handlers/positionsReconcile.d.ts +0 -5
  132. package/dist/_internal/server/jobs/handlers/positionsReconcile.js +2 -87
  133. package/dist/_internal/server/jobs/handlers/prizeRevealClose.d.ts +0 -7
  134. package/dist/_internal/server/jobs/handlers/prizeRevealClose.js +2 -29
  135. package/dist/_internal/server/jobs/handlers/prizeRevealExpiry.d.ts +0 -8
  136. package/dist/_internal/server/jobs/handlers/prizeRevealExpiry.js +2 -58
  137. package/dist/_internal/server/jobs/handlers/prizeRevealOpen.d.ts +0 -8
  138. package/dist/_internal/server/jobs/handlers/prizeRevealOpen.js +2 -65
  139. package/dist/_internal/server/jobs/handlers/prizeRevealReminder.d.ts +0 -7
  140. package/dist/_internal/server/jobs/handlers/prizeRevealReminder.js +2 -45
  141. package/dist/_internal/server/jobs/handlers/productStatsSync.d.ts +0 -6
  142. package/dist/_internal/server/jobs/handlers/productStatsSync.js +2 -36
  143. package/dist/_internal/server/jobs/handlers/promotions.d.ts +2 -10
  144. package/dist/_internal/server/jobs/handlers/promotions.js +2 -43
  145. package/dist/_internal/server/jobs/handlers/storeAnalytics.d.ts +2 -28
  146. package/dist/_internal/server/jobs/handlers/storeAnalytics.js +2 -109
  147. package/dist/_internal/server/jobs/handlers/triggerEventRaffle.d.ts +1 -28
  148. package/dist/_internal/server/jobs/handlers/triggerEventRaffle.js +2 -94
  149. package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.d.ts +0 -6
  150. package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.js +2 -87
  151. package/dist/_internal/server/jobs/index.d.ts +1 -0
  152. package/dist/_internal/server/jobs/index.js +1 -0
  153. package/dist/_internal/server/jobs/runtime/adapters/firebase.js +21 -0
  154. package/dist/_internal/shared/actions/action-registry.d.ts +84 -0
  155. package/dist/_internal/shared/actions/action-registry.js +160 -0
  156. package/dist/_internal/shared/checkout/rules/_defaults.d.ts +3 -0
  157. package/dist/_internal/shared/checkout/rules/_defaults.js +22 -0
  158. package/dist/_internal/shared/checkout/rules/_limits.d.ts +19 -0
  159. package/dist/_internal/shared/checkout/rules/_limits.js +19 -0
  160. package/dist/_internal/shared/checkout/rules/_registry.d.ts +44 -0
  161. package/dist/_internal/shared/checkout/rules/_registry.js +87 -0
  162. package/dist/_internal/shared/checkout/rules/auction.rule.d.ts +2 -0
  163. package/dist/_internal/shared/checkout/rules/auction.rule.js +10 -0
  164. package/dist/_internal/shared/checkout/rules/bundle.rule.d.ts +11 -0
  165. package/dist/_internal/shared/checkout/rules/bundle.rule.js +6 -0
  166. package/dist/_internal/shared/checkout/rules/classified.rule.d.ts +9 -0
  167. package/dist/_internal/shared/checkout/rules/classified.rule.js +9 -0
  168. package/dist/_internal/shared/checkout/rules/digital-code.rule.d.ts +8 -0
  169. package/dist/_internal/shared/checkout/rules/digital-code.rule.js +6 -0
  170. package/dist/_internal/shared/checkout/rules/index.d.ts +12 -0
  171. package/dist/_internal/shared/checkout/rules/index.js +12 -0
  172. package/dist/_internal/shared/checkout/rules/live.rule.d.ts +10 -0
  173. package/dist/_internal/shared/checkout/rules/live.rule.js +6 -0
  174. package/dist/_internal/shared/checkout/rules/offer.rule.d.ts +2 -0
  175. package/dist/_internal/shared/checkout/rules/offer.rule.js +9 -0
  176. package/dist/_internal/shared/checkout/rules/preorder.rule.d.ts +2 -0
  177. package/dist/_internal/shared/checkout/rules/preorder.rule.js +28 -0
  178. package/dist/_internal/shared/checkout/rules/prize-draw.rule.d.ts +2 -0
  179. package/dist/_internal/shared/checkout/rules/prize-draw.rule.js +65 -0
  180. package/dist/_internal/shared/checkout/rules/standard.rule.d.ts +2 -0
  181. package/dist/_internal/shared/checkout/rules/standard.rule.js +5 -0
  182. package/dist/_internal/shared/checkout/rules/types.d.ts +125 -0
  183. package/dist/_internal/shared/checkout/rules/types.js +13 -0
  184. package/dist/_internal/shared/features/cart/schema.d.ts +6 -6
  185. package/dist/_internal/shared/features/categories/bundle-copy.d.ts +123 -0
  186. package/dist/_internal/shared/features/categories/bundle-copy.js +134 -0
  187. package/dist/_internal/shared/features/categories/bundle-schemas.d.ts +318 -0
  188. package/dist/_internal/shared/features/categories/bundle-schemas.js +55 -0
  189. package/dist/_internal/shared/features/orders/refund-copy.d.ts +36 -0
  190. package/dist/_internal/shared/features/orders/refund-copy.js +40 -0
  191. package/dist/_internal/shared/features/orders/schema.d.ts +4 -4
  192. package/dist/_internal/shared/features/products/schema.d.ts +8 -8
  193. package/dist/_internal/shared/listing-types/_registry.d.ts +27 -0
  194. package/dist/_internal/shared/listing-types/_registry.js +8 -0
  195. package/dist/_internal/shared/listing-types/action-tracker.d.ts +41 -0
  196. package/dist/_internal/shared/listing-types/action-tracker.js +70 -0
  197. package/dist/_internal/shared/listing-types/capabilities.js +25 -0
  198. package/dist/_internal/shared/listing-types/cart-shipping.d.ts +37 -0
  199. package/dist/_internal/shared/listing-types/cart-shipping.js +46 -0
  200. package/dist/_internal/shared/listing-types/classified/config.d.ts +7 -0
  201. package/dist/_internal/shared/listing-types/classified/config.js +8 -0
  202. package/dist/_internal/shared/listing-types/classified/ctas.d.ts +1 -0
  203. package/dist/_internal/shared/listing-types/classified/ctas.js +3 -0
  204. package/dist/_internal/shared/listing-types/classified/og.d.ts +1 -0
  205. package/dist/_internal/shared/listing-types/classified/og.js +1 -0
  206. package/dist/_internal/shared/listing-types/classified/schema.d.ts +1 -0
  207. package/dist/_internal/shared/listing-types/classified/schema.js +1 -0
  208. package/dist/_internal/shared/listing-types/classified/seed-factory.d.ts +1 -0
  209. package/dist/_internal/shared/listing-types/classified/seed-factory.js +1 -0
  210. package/dist/_internal/shared/listing-types/digital-code/config.d.ts +7 -0
  211. package/dist/_internal/shared/listing-types/digital-code/config.js +8 -0
  212. package/dist/_internal/shared/listing-types/digital-code/ctas.d.ts +1 -0
  213. package/dist/_internal/shared/listing-types/digital-code/ctas.js +3 -0
  214. package/dist/_internal/shared/listing-types/digital-code/og.d.ts +1 -0
  215. package/dist/_internal/shared/listing-types/digital-code/og.js +1 -0
  216. package/dist/_internal/shared/listing-types/digital-code/schema.d.ts +1 -0
  217. package/dist/_internal/shared/listing-types/digital-code/schema.js +1 -0
  218. package/dist/_internal/shared/listing-types/digital-code/seed-factory.d.ts +1 -0
  219. package/dist/_internal/shared/listing-types/digital-code/seed-factory.js +1 -0
  220. package/dist/_internal/shared/listing-types/feature-flags.d.ts +34 -0
  221. package/dist/_internal/shared/listing-types/feature-flags.js +45 -0
  222. package/dist/_internal/shared/listing-types/live/config.d.ts +7 -0
  223. package/dist/_internal/shared/listing-types/live/config.js +8 -0
  224. package/dist/_internal/shared/listing-types/live/ctas.d.ts +1 -0
  225. package/dist/_internal/shared/listing-types/live/ctas.js +3 -0
  226. package/dist/_internal/shared/listing-types/live/og.d.ts +1 -0
  227. package/dist/_internal/shared/listing-types/live/og.js +1 -0
  228. package/dist/_internal/shared/listing-types/live/schema.d.ts +1 -0
  229. package/dist/_internal/shared/listing-types/live/schema.js +1 -0
  230. package/dist/_internal/shared/listing-types/live/seed-factory.d.ts +1 -0
  231. package/dist/_internal/shared/listing-types/live/seed-factory.js +1 -0
  232. package/dist/_internal/shared/media/limits.js +8 -0
  233. package/dist/client.d.ts +6 -1
  234. package/dist/client.js +14 -1
  235. package/dist/configs/next.js +7 -0
  236. package/dist/constants/api-endpoints.d.ts +6 -0
  237. package/dist/constants/api-endpoints.js +4 -0
  238. package/dist/core/hooks/useSyncManager.js +13 -1
  239. package/dist/core/unit-of-work.d.ts +1 -1
  240. package/dist/core/unit-of-work.js +2 -2
  241. package/dist/features/account/actions/address-actions.d.ts +1 -1
  242. package/dist/features/account/actions/address-actions.js +15 -7
  243. package/dist/features/account/schemas/firestore.d.ts +8 -43
  244. package/dist/features/account/schemas/firestore.js +8 -54
  245. package/dist/features/account/schemas/index.d.ts +6 -6
  246. package/dist/features/account/server.d.ts +1 -1
  247. package/dist/features/account/server.js +3 -1
  248. package/dist/features/addresses/index.d.ts +2 -0
  249. package/dist/features/addresses/index.js +2 -0
  250. package/dist/features/addresses/repository/addresses.repository.d.ts +29 -0
  251. package/dist/features/addresses/repository/addresses.repository.js +157 -0
  252. package/dist/features/addresses/schemas/firestore.d.ts +53 -0
  253. package/dist/features/addresses/schemas/firestore.js +68 -0
  254. package/dist/features/{bundles → addresses}/schemas/index.d.ts +0 -1
  255. package/dist/features/{bundles → addresses}/schemas/index.js +0 -1
  256. package/dist/features/addresses/server.d.ts +2 -0
  257. package/dist/features/addresses/server.js +2 -0
  258. package/dist/features/admin/components/AdminAllEventEntriesView.js +4 -3
  259. package/dist/features/admin/components/AdminBidsView.js +4 -3
  260. package/dist/features/admin/components/AdminBlogView.js +8 -3
  261. package/dist/features/admin/components/AdminBundleEditorView.d.ts +9 -0
  262. package/dist/features/admin/components/AdminBundleEditorView.js +209 -0
  263. package/dist/features/admin/components/AdminBundlesView.d.ts +9 -0
  264. package/dist/features/admin/components/AdminBundlesView.js +59 -0
  265. package/dist/features/admin/components/AdminCartsView.js +13 -3
  266. package/dist/features/admin/components/AdminContactView.js +4 -3
  267. package/dist/features/admin/components/AdminCouponsView.js +32 -13
  268. package/dist/features/admin/components/AdminNewsletterView.js +4 -3
  269. package/dist/features/admin/components/AdminOrdersView.js +15 -7
  270. package/dist/features/admin/components/AdminPayoutsView.js +4 -3
  271. package/dist/features/admin/components/AdminProductsView.js +6 -5
  272. package/dist/features/admin/components/AdminReviewsView.js +5 -4
  273. package/dist/features/admin/components/AdminStoresView.js +4 -3
  274. package/dist/features/admin/components/AdminUsersView.js +15 -5
  275. package/dist/features/admin/components/AdminWishlistsView.js +10 -1
  276. package/dist/features/admin/components/DataTable.d.ts +5 -1
  277. package/dist/features/admin/components/DataTable.js +24 -20
  278. package/dist/features/admin/components/index.d.ts +4 -0
  279. package/dist/features/admin/components/index.js +3 -0
  280. package/dist/features/admin/constants/filter-tabs.d.ts +401 -0
  281. package/dist/features/admin/constants/filter-tabs.js +200 -0
  282. package/dist/features/admin/hooks/useAdminListingData.d.ts +1 -0
  283. package/dist/features/admin/hooks/useAdminListingData.js +1 -0
  284. package/dist/features/admin/schemas/firestore.d.ts +15 -0
  285. package/dist/features/admin/schemas/firestore.js +18 -0
  286. package/dist/features/admin/types/product.types.d.ts +2 -2
  287. package/dist/features/auctions/components/AuctionCard.d.ts +4 -1
  288. package/dist/features/auctions/components/AuctionCard.js +5 -3
  289. package/dist/features/auctions/components/AuctionDetailPageView.js +1 -1
  290. package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +2 -2
  291. package/dist/features/auctions/components/PlaceBidFormClient.js +12 -2
  292. package/dist/features/auctions/schemas/index.d.ts +2 -2
  293. package/dist/features/auth/index.d.ts +1 -0
  294. package/dist/features/auth/index.js +1 -0
  295. package/dist/features/auth/role-predicates.d.ts +16 -0
  296. package/dist/features/auth/role-predicates.js +15 -0
  297. package/dist/features/blog/components/BlogFeaturedCard.d.ts +4 -1
  298. package/dist/features/blog/components/BlogFeaturedCard.js +5 -3
  299. package/dist/features/cart/actions/cart-actions.d.ts +1 -0
  300. package/dist/features/cart/actions/cart-actions.js +16 -0
  301. package/dist/features/cart/components/CartView.d.ts +19 -1
  302. package/dist/features/cart/components/CartView.js +2 -2
  303. package/dist/features/cart/components/ShippingPicker.d.ts +13 -0
  304. package/dist/features/cart/components/ShippingPicker.js +48 -0
  305. package/dist/features/cart/components/index.d.ts +3 -1
  306. package/dist/features/cart/components/index.js +1 -0
  307. package/dist/features/cart/hooks/useCartCount.js +7 -1
  308. package/dist/features/cart/repository/cart.repository.d.ts +1 -0
  309. package/dist/features/cart/repository/cart.repository.js +35 -0
  310. package/dist/features/cart/schemas/firestore.d.ts +27 -2
  311. package/dist/features/categories/components/BundleAddToCartCta.d.ts +16 -0
  312. package/dist/features/categories/components/BundleAddToCartCta.js +54 -0
  313. package/dist/features/categories/components/BundleBuyNowCta.d.ts +8 -0
  314. package/dist/features/categories/components/BundleBuyNowCta.js +37 -0
  315. package/dist/features/categories/components/BundleDetailView.d.ts +22 -0
  316. package/dist/features/categories/components/BundleDetailView.js +31 -0
  317. package/dist/features/categories/components/BundleDynamicRuleEditor.d.ts +18 -0
  318. package/dist/features/categories/components/BundleDynamicRuleEditor.js +60 -0
  319. package/dist/features/categories/components/BundleItemsPicker.d.ts +26 -0
  320. package/dist/features/categories/components/BundleItemsPicker.js +135 -0
  321. package/dist/features/categories/components/BundlesListView.d.ts +13 -0
  322. package/dist/features/categories/components/BundlesListView.js +27 -0
  323. package/dist/features/categories/components/index.d.ts +12 -0
  324. package/dist/features/categories/components/index.js +9 -0
  325. package/dist/features/checkout/actions/checkout-actions.js +10 -3
  326. package/dist/features/events/components/AdminEventEditorView.js +108 -2
  327. package/dist/features/events/components/AdminEventsView.js +16 -4
  328. package/dist/features/events/components/EventCard.d.ts +4 -1
  329. package/dist/features/events/components/EventCard.js +7 -3
  330. package/dist/features/events/components/EventRaffleWinnerView.d.ts +21 -0
  331. package/dist/features/events/components/EventRaffleWinnerView.js +18 -0
  332. package/dist/features/events/components/SpinWheelView.d.ts +27 -0
  333. package/dist/features/events/components/SpinWheelView.js +64 -0
  334. package/dist/features/events/components/index.d.ts +4 -0
  335. package/dist/features/events/components/index.js +2 -0
  336. package/dist/features/events/schemas/firestore.d.ts +27 -1
  337. package/dist/features/events/schemas/firestore.js +7 -0
  338. package/dist/features/events/types/index.d.ts +27 -1
  339. package/dist/features/homepage/components/FeaturedBundlesSection.d.ts +16 -0
  340. package/dist/features/homepage/components/FeaturedBundlesSection.js +24 -0
  341. package/dist/features/homepage/components/MarketplaceHomepageView.js +4 -1
  342. package/dist/features/homepage/components/WhatsAppCommunitySection.js +2 -2
  343. package/dist/features/homepage/lib/section-renderer.d.ts +2 -0
  344. package/dist/features/homepage/lib/section-renderer.js +5 -5
  345. package/dist/features/layout/NavbarLayout.d.ts +3 -1
  346. package/dist/features/layout/NavbarLayout.js +32 -3
  347. package/dist/features/layout/TitleBarLayout.d.ts +6 -3
  348. package/dist/features/layout/TitleBarLayout.js +22 -7
  349. package/dist/features/media/upload/MediaUploadField.d.ts +15 -1
  350. package/dist/features/media/upload/MediaUploadField.js +22 -1
  351. package/dist/features/orders/components/MarketplaceOrderCard.js +4 -2
  352. package/dist/features/orders/components/OrderSiblingPayments.d.ts +8 -0
  353. package/dist/features/orders/components/OrderSiblingPayments.js +16 -0
  354. package/dist/features/orders/components/RefundHistoryTable.d.ts +6 -0
  355. package/dist/features/orders/components/RefundHistoryTable.js +23 -0
  356. package/dist/features/orders/components/RefundRequestView.d.ts +8 -0
  357. package/dist/features/orders/components/RefundRequestView.js +42 -0
  358. package/dist/features/orders/components/index.d.ts +6 -0
  359. package/dist/features/orders/components/index.js +3 -0
  360. package/dist/features/orders/index.d.ts +1 -0
  361. package/dist/features/orders/index.js +2 -0
  362. package/dist/features/orders/repository/orders.repository.d.ts +20 -1
  363. package/dist/features/orders/repository/orders.repository.js +30 -1
  364. package/dist/features/orders/schemas/firestore.d.ts +63 -13
  365. package/dist/features/orders/schemas/firestore.js +5 -5
  366. package/dist/features/orders/schemas/index.d.ts +4 -4
  367. package/dist/features/orders/types/index.d.ts +12 -2
  368. package/dist/features/orders/utils/bundle-grouping.d.ts +48 -0
  369. package/dist/features/orders/utils/bundle-grouping.js +54 -0
  370. package/dist/features/orders/utils/order-splitter.d.ts +9 -10
  371. package/dist/features/orders/utils/order-splitter.js +24 -30
  372. package/dist/features/payments/repository/payout.repository.d.ts +17 -1
  373. package/dist/features/payments/repository/payout.repository.js +47 -0
  374. package/dist/features/payments/schemas/firestore.d.ts +26 -0
  375. package/dist/features/pre-orders/components/PreorderCard.d.ts +4 -1
  376. package/dist/features/pre-orders/components/PreorderCard.js +8 -6
  377. package/dist/features/products/actions/product-actions.d.ts +1 -1
  378. package/dist/features/products/actions/product-actions.js +1 -1
  379. package/dist/features/products/components/CompareOverlay.d.ts +2 -2
  380. package/dist/features/products/components/CompareOverlay.js +4 -4
  381. package/dist/features/products/components/InteractiveProductCard.js +7 -12
  382. package/dist/features/products/components/NonRefundableConsentModal.d.ts +1 -1
  383. package/dist/features/products/components/NonRefundableConsentModal.js +0 -10
  384. package/dist/features/products/components/ProductGrid.js +28 -12
  385. package/dist/features/products/components/ShowGroupSection.js +3 -3
  386. package/dist/features/products/components/SublistingCarouselSection.js +2 -2
  387. package/dist/features/products/components/index.d.ts +0 -4
  388. package/dist/features/products/components/index.js +5 -2
  389. package/dist/features/products/index.d.ts +1 -1
  390. package/dist/features/products/index.js +3 -1
  391. package/dist/features/products/repository/products.repository.js +4 -0
  392. package/dist/features/products/schemas/catalog-product.d.ts +70 -0
  393. package/dist/features/products/schemas/catalog-product.js +50 -0
  394. package/dist/features/products/schemas/firestore.d.ts +110 -2
  395. package/dist/features/products/schemas/firestore.js +30 -0
  396. package/dist/features/products/schemas/index.d.ts +8 -8
  397. package/dist/features/products/types/index.d.ts +1 -1
  398. package/dist/features/products/utils/listing-type.d.ts +9 -0
  399. package/dist/features/products/utils/listing-type.js +4 -0
  400. package/dist/features/promotions/actions/coupon-actions.d.ts +2 -2
  401. package/dist/features/promotions/actions/coupon-actions.js +1 -1
  402. package/dist/features/promotions/components/CouponCard.d.ts +28 -10
  403. package/dist/features/promotions/components/CouponCard.js +116 -14
  404. package/dist/features/promotions/hooks/useCouponValidate.d.ts +1 -1
  405. package/dist/features/promotions/repository/coupons.repository.d.ts +1 -1
  406. package/dist/features/reviews/schemas/index.d.ts +2 -2
  407. package/dist/features/search/schemas/index.d.ts +2 -2
  408. package/dist/features/search/types/index.d.ts +2 -2
  409. package/dist/features/seller/components/SellerAuctionsView.js +4 -5
  410. package/dist/features/seller/components/SellerBidsView.js +5 -13
  411. package/dist/features/seller/components/SellerCouponsView.js +31 -67
  412. package/dist/features/seller/components/SellerOffersView.js +4 -5
  413. package/dist/features/seller/components/SellerOrdersView.js +4 -5
  414. package/dist/features/seller/components/SellerPayoutsView.js +4 -5
  415. package/dist/features/seller/components/SellerProductsView.js +4 -8
  416. package/dist/features/seller/schemas/index.d.ts +2 -2
  417. package/dist/features/stores/actions/store-address-actions.d.ts +10 -6
  418. package/dist/features/stores/actions/store-address-actions.js +8 -7
  419. package/dist/features/stores/components/InteractiveStoreCard.js +3 -10
  420. package/dist/features/stores/components/StoreDetailLayoutView.js +20 -5
  421. package/dist/features/stores/schemas/firestore.d.ts +45 -38
  422. package/dist/features/stores/schemas/firestore.js +2 -49
  423. package/dist/features/stores/server.d.ts +0 -1
  424. package/dist/features/stores/server.js +2 -1
  425. package/dist/features/wishlist/hooks/useWishlistCount.d.ts +7 -9
  426. package/dist/features/wishlist/hooks/useWishlistCount.js +67 -86
  427. package/dist/features/wishlist/types/index.d.ts +1 -1
  428. package/dist/index.d.ts +50 -9
  429. package/dist/index.js +57 -11
  430. package/dist/next/routing/route-map.d.ts +6 -0
  431. package/dist/next/routing/route-map.js +4 -0
  432. package/dist/providers/db-firebase/admin-app-lite.js +21 -0
  433. package/dist/providers/db-firebase/admin.d.ts +6 -2
  434. package/dist/providers/db-firebase/admin.js +23 -0
  435. package/dist/repositories/index.d.ts +1 -2
  436. package/dist/repositories/index.js +5 -2
  437. package/dist/security/authorization.d.ts +2 -1
  438. package/dist/security/authorization.js +3 -2
  439. package/dist/seed/actions/demo-seed-actions.d.ts +1 -1
  440. package/dist/seed/bids-seed-data.d.ts +2 -2
  441. package/dist/seed/bids-seed-data.js +77 -2
  442. package/dist/seed/cart-seed-data.d.ts +10 -10
  443. package/dist/seed/cart-seed-data.js +15 -15
  444. package/dist/seed/events-seed-data.js +77 -0
  445. package/dist/seed/manifest.js +16 -8
  446. package/dist/seed/orders-seed-data.js +41 -2
  447. package/dist/seed/payouts-seed-data.js +18 -2
  448. package/dist/seed/stores-seed-data.js +55 -0
  449. package/dist/server-entry.d.ts +1 -0
  450. package/dist/server-entry.js +2 -0
  451. package/dist/server.d.ts +4 -0
  452. package/dist/server.js +8 -0
  453. package/dist/tailwind-utilities.css +1 -1
  454. package/dist/ui/components/FilterChipGroup.d.ts +39 -0
  455. package/dist/ui/components/FilterChipGroup.js +15 -0
  456. package/dist/ui/components/HorizontalScroller.js +32 -7
  457. package/dist/ui/components/HorizontalScroller.style.css +6 -0
  458. package/dist/ui/components/SiteLogo.js +1 -1
  459. package/dist/ui/index.d.ts +2 -0
  460. package/dist/ui/index.js +2 -0
  461. package/dist/utils/id-generators.d.ts +11 -0
  462. package/dist/utils/id-generators.js +16 -0
  463. package/package.json +1 -1
  464. package/dist/_internal/shared/features/bundles/config.d.ts +0 -6
  465. package/dist/_internal/shared/features/bundles/config.js +0 -6
  466. package/dist/_internal/shared/schema-versions.d.ts +0 -76
  467. package/dist/_internal/shared/schema-versions.js +0 -82
  468. package/dist/features/account/migrations.d.ts +0 -2
  469. package/dist/features/account/migrations.js +0 -10
  470. package/dist/features/admin/migrations.d.ts +0 -2
  471. package/dist/features/admin/migrations.js +0 -10
  472. package/dist/features/auctions/migrations.d.ts +0 -2
  473. package/dist/features/auctions/migrations.js +0 -10
  474. package/dist/features/auth/migrations.d.ts +0 -2
  475. package/dist/features/auth/migrations.js +0 -10
  476. package/dist/features/blog/migrations.d.ts +0 -2
  477. package/dist/features/blog/migrations.js +0 -10
  478. package/dist/features/brands/actions/brand-actions.d.ts +0 -2
  479. package/dist/features/brands/actions/brand-actions.js +0 -5
  480. package/dist/features/brands/index.d.ts +0 -3
  481. package/dist/features/brands/index.js +0 -3
  482. package/dist/features/brands/migrations.d.ts +0 -2
  483. package/dist/features/brands/migrations.js +0 -10
  484. package/dist/features/brands/repository/brands.repository.d.ts +0 -13
  485. package/dist/features/brands/repository/brands.repository.js +0 -60
  486. package/dist/features/brands/schemas/index.d.ts +0 -33
  487. package/dist/features/brands/schemas/index.js +0 -15
  488. package/dist/features/brands/server.d.ts +0 -7
  489. package/dist/features/brands/server.js +0 -7
  490. package/dist/features/bundles/components/AdminBundleEditorView.d.ts +0 -8
  491. package/dist/features/bundles/components/AdminBundleEditorView.js +0 -7
  492. package/dist/features/bundles/components/BundleDetailPageView.d.ts +0 -9
  493. package/dist/features/bundles/components/BundleDetailPageView.js +0 -45
  494. package/dist/features/bundles/components/BundleForm.d.ts +0 -12
  495. package/dist/features/bundles/components/BundleForm.js +0 -126
  496. package/dist/features/bundles/components/BundleItemsPicker.d.ts +0 -9
  497. package/dist/features/bundles/components/BundleItemsPicker.js +0 -77
  498. package/dist/features/bundles/components/BundlesByCategoryListing.d.ts +0 -6
  499. package/dist/features/bundles/components/BundlesByCategoryListing.js +0 -50
  500. package/dist/features/bundles/components/BundlesListingView.d.ts +0 -17
  501. package/dist/features/bundles/components/BundlesListingView.js +0 -50
  502. package/dist/features/bundles/components/FeaturedBundlesSection.d.ts +0 -5
  503. package/dist/features/bundles/components/FeaturedBundlesSection.js +0 -55
  504. package/dist/features/bundles/components/SellerBundleCreateView.d.ts +0 -8
  505. package/dist/features/bundles/components/SellerBundleCreateView.js +0 -7
  506. package/dist/features/bundles/components/SellerBundleEditView.d.ts +0 -9
  507. package/dist/features/bundles/components/SellerBundleEditView.js +0 -7
  508. package/dist/features/bundles/components/index.d.ts +0 -18
  509. package/dist/features/bundles/components/index.js +0 -9
  510. package/dist/features/bundles/constants/index.d.ts +0 -32
  511. package/dist/features/bundles/constants/index.js +0 -35
  512. package/dist/features/bundles/index.d.ts +0 -2
  513. package/dist/features/bundles/index.js +0 -2
  514. package/dist/features/bundles/migrations.d.ts +0 -2
  515. package/dist/features/bundles/migrations.js +0 -10
  516. package/dist/features/bundles/repository/bundles.repository.d.ts +0 -36
  517. package/dist/features/bundles/repository/bundles.repository.js +0 -148
  518. package/dist/features/bundles/repository/index.d.ts +0 -1
  519. package/dist/features/bundles/repository/index.js +0 -1
  520. package/dist/features/bundles/schemas/firestore.d.ts +0 -88
  521. package/dist/features/bundles/schemas/firestore.js +0 -29
  522. package/dist/features/bundles/schemas/zod.d.ts +0 -377
  523. package/dist/features/bundles/schemas/zod.js +0 -71
  524. package/dist/features/cart/migrations.d.ts +0 -2
  525. package/dist/features/cart/migrations.js +0 -10
  526. package/dist/features/categories/migrations.d.ts +0 -2
  527. package/dist/features/categories/migrations.js +0 -10
  528. package/dist/features/events/migrations.d.ts +0 -2
  529. package/dist/features/events/migrations.js +0 -10
  530. package/dist/features/faq/migrations.d.ts +0 -2
  531. package/dist/features/faq/migrations.js +0 -10
  532. package/dist/features/grouped/migrations.d.ts +0 -2
  533. package/dist/features/grouped/migrations.js +0 -10
  534. package/dist/features/history/migrations.d.ts +0 -2
  535. package/dist/features/history/migrations.js +0 -10
  536. package/dist/features/messages/migrations.d.ts +0 -2
  537. package/dist/features/messages/migrations.js +0 -10
  538. package/dist/features/orders/migrations.d.ts +0 -2
  539. package/dist/features/orders/migrations.js +0 -10
  540. package/dist/features/payments/migrations.d.ts +0 -2
  541. package/dist/features/payments/migrations.js +0 -10
  542. package/dist/features/products/migrations.d.ts +0 -2
  543. package/dist/features/products/migrations.js +0 -10
  544. package/dist/features/products/repository/sublisting-categories.repository.d.ts +0 -16
  545. package/dist/features/products/repository/sublisting-categories.repository.js +0 -126
  546. package/dist/features/products/schemas/sublisting-categories.d.ts +0 -45
  547. package/dist/features/products/schemas/sublisting-categories.js +0 -16
  548. package/dist/features/promotions/migrations.d.ts +0 -2
  549. package/dist/features/promotions/migrations.js +0 -10
  550. package/dist/features/reviews/migrations.d.ts +0 -2
  551. package/dist/features/reviews/migrations.js +0 -10
  552. package/dist/features/scams/migrations.d.ts +0 -2
  553. package/dist/features/scams/migrations.js +0 -10
  554. package/dist/features/seller/migrations.d.ts +0 -2
  555. package/dist/features/seller/migrations.js +0 -10
  556. package/dist/features/stores/migrations.d.ts +0 -2
  557. package/dist/features/stores/migrations.js +0 -10
  558. package/dist/features/sublisting/migrations.d.ts +0 -2
  559. package/dist/features/sublisting/migrations.js +0 -10
  560. package/dist/features/sublisting/schemas/firestore.d.ts +0 -32
  561. package/dist/features/sublisting/schemas/firestore.js +0 -19
  562. package/dist/features/support/migrations.d.ts +0 -2
  563. package/dist/features/support/migrations.js +0 -10
  564. package/dist/features/wishlist/migrations.d.ts +0 -2
  565. package/dist/features/wishlist/migrations.js +0 -10
  566. package/dist/seed/_bundle-constants.d.ts +0 -14
  567. package/dist/seed/_bundle-constants.js +0 -14
  568. package/dist/seed/anime-figures-seed-data.d.ts +0 -8
  569. package/dist/seed/anime-figures-seed-data.js +0 -1033
  570. package/dist/seed/beyblade-seed-data.d.ts +0 -7
  571. package/dist/seed/beyblade-seed-data.js +0 -1129
  572. package/dist/seed/brands-seed-data.d.ts +0 -7
  573. package/dist/seed/brands-seed-data.js +0 -410
  574. package/dist/seed/bundles-seed-data.d.ts +0 -13
  575. package/dist/seed/bundles-seed-data.js +0 -229
  576. package/dist/seed/cosplay-accessories-seed-data.d.ts +0 -8
  577. package/dist/seed/cosplay-accessories-seed-data.js +0 -647
  578. package/dist/seed/hot-wheels-seed-data.d.ts +0 -7
  579. package/dist/seed/hot-wheels-seed-data.js +0 -1612
  580. package/dist/seed/letitrip-official-seed-data.d.ts +0 -8
  581. package/dist/seed/letitrip-official-seed-data.js +0 -399
  582. package/dist/seed/pokemon-carousel-slides-seed-data.d.ts +0 -8
  583. package/dist/seed/pokemon-carousel-slides-seed-data.js +0 -322
  584. package/dist/seed/pokemon-categories-seed-data.d.ts +0 -24
  585. package/dist/seed/pokemon-categories-seed-data.js +0 -547
  586. package/dist/seed/pokemon-coupons-seed-data.d.ts +0 -6
  587. package/dist/seed/pokemon-coupons-seed-data.js +0 -465
  588. package/dist/seed/pokemon-homepage-sections-seed-data.d.ts +0 -7
  589. package/dist/seed/pokemon-homepage-sections-seed-data.js +0 -241
  590. package/dist/seed/pokemon-products-seed-data.d.ts +0 -9
  591. package/dist/seed/pokemon-products-seed-data.js +0 -1791
  592. package/dist/seed/pokemon-seed-bundle.d.ts +0 -47
  593. package/dist/seed/pokemon-seed-bundle.js +0 -71
  594. package/dist/seed/pokemon-stores-seed-data.d.ts +0 -6
  595. package/dist/seed/pokemon-stores-seed-data.js +0 -179
  596. package/dist/seed/pokemon-users-seed-data.d.ts +0 -6
  597. package/dist/seed/pokemon-users-seed-data.js +0 -521
  598. package/dist/seed/products-seed-data.d.ts +0 -6
  599. package/dist/seed/products-seed-data.js +0 -2530
  600. package/dist/seed/retro-gaming-seed-data.d.ts +0 -8
  601. package/dist/seed/retro-gaming-seed-data.js +0 -801
  602. package/dist/seed/server.d.ts +0 -2
  603. package/dist/seed/server.js +0 -7
  604. package/dist/seed/sublisting-categories-seed-data.d.ts +0 -7
  605. package/dist/seed/sublisting-categories-seed-data.js +0 -159
  606. package/dist/seed/transformers-seed-data.d.ts +0 -7
  607. package/dist/seed/transformers-seed-data.js +0 -530
@@ -1,547 +0,0 @@
1
- /**
2
- * Multi-Franchise Collectibles — Categories Seed Data (35 categories)
3
- *
4
- * Franchises: Pokémon TCG · Hot Wheels · Beyblade Burst · Transformers
5
- *
6
- * Hierarchy:
7
- * Pokémon Cards (root) — tier 0
8
- * Card Type — tier 1
9
- * Pokémon / Trainer / Energy — tier 2 leaf
10
- * Element Type — tier 1
11
- * Water / Electric / Fire / Grass / Psychic / Fighting / Colorless — leaf
12
- * Rarity — tier 1
13
- * Holo Rare / Non-Holo / Uncommon / Common — leaf
14
- * Hot Wheels (root) — tier 0
15
- * Basic Cars / Premium / Treasure Hunt / Track Sets — tier 1 leaf
16
- * Beyblade Burst (root) — tier 0
17
- * Attack / Defense / Stamina / Balance / Stadium — tier 1 leaf
18
- * Transformers (root) — tier 0
19
- * Autobots / Decepticons / Combiners — tier 1 leaf
20
- * Sealed Products (root leaf)
21
- * Accessories (root leaf)
22
- */
23
- const NOW = new Date();
24
- const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
25
- const ADMIN = "user-admin-user-admin";
26
- function mkCat(partial) {
27
- return {
28
- isActive: true,
29
- isSearchable: true,
30
- isFeatured: false,
31
- isBrand: false,
32
- showOnHomepage: false,
33
- createdBy: ADMIN,
34
- createdAt: daysAgo(30),
35
- updatedAt: daysAgo(1),
36
- ...partial,
37
- };
38
- }
39
- export const pokemonCategoriesSeedData = [
40
- // ═══════════════════════════════════════════════════
41
- // POKÉMON TCG
42
- // ═══════════════════════════════════════════════════
43
- mkCat({
44
- id: "category-pokemon-cards",
45
- name: "Pokémon Cards",
46
- slug: "category-pokemon-cards",
47
- description: "Original Pokémon Base Set 151 cards — singles, lots, graded, and sealed",
48
- rootId: "category-pokemon-cards",
49
- parentIds: [],
50
- childrenIds: [
51
- "category-card-type-pokemon-cards",
52
- "category-element-type-pokemon-cards",
53
- "category-rarity-pokemon-cards",
54
- ],
55
- tier: 0,
56
- path: "pokemon-cards",
57
- order: 1,
58
- isLeaf: false,
59
- isFeatured: true,
60
- featuredPriority: 1,
61
- showOnHomepage: true,
62
- metrics: {
63
- productCount: 0, productIds: [], auctionCount: 0, auctionIds: [],
64
- totalProductCount: 80, totalAuctionCount: 6, totalItemCount: 86, lastUpdated: daysAgo(1),
65
- },
66
- seo: {
67
- title: "Pokémon Cards — Base Set 151 | LetItRip",
68
- description: "Buy and sell original Pokémon Base Set 151 singles, holos, and sealed packs.",
69
- keywords: ["pokemon cards", "base set", "151", "charizard", "pikachu"],
70
- },
71
- display: { showInFooter: true, icon: "🃏", coverImage: "https://images.pokemontcg.io/base1/logo.png", color: "#FFCB05", showInMenu: true },
72
- ancestors: [],
73
- }),
74
- mkCat({
75
- id: "category-card-type-pokemon-cards",
76
- name: "Card Type",
77
- slug: "category-card-type-pokemon-cards",
78
- description: "Filter by Pokémon, Trainer, or Energy card",
79
- rootId: "category-pokemon-cards",
80
- parentIds: ["category-pokemon-cards"],
81
- childrenIds: ["category-pokemon-type-card-type", "category-trainer-type-card-type", "category-energy-type-card-type"],
82
- tier: 1, path: "pokemon-cards/card-type", order: 1, isLeaf: false,
83
- metrics: { productCount: 0, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 45, totalAuctionCount: 4, totalItemCount: 49, lastUpdated: daysAgo(1) },
84
- seo: { title: "Card Type — Pokémon TCG", description: "Shop by card type.", keywords: ["pokemon card type"] },
85
- display: { showInFooter: false, icon: "🎴", showInMenu: true },
86
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }],
87
- }),
88
- mkCat({
89
- id: "category-pokemon-type-card-type",
90
- name: "Pokémon Cards",
91
- slug: "category-pokemon-type-card-type",
92
- description: "Individual creature cards — the core of the Base Set",
93
- rootId: "category-pokemon-cards",
94
- parentIds: ["category-card-type-pokemon-cards"],
95
- childrenIds: [], tier: 2, path: "pokemon-cards/card-type/pokemon-type", order: 1, isLeaf: true,
96
- isFeatured: true, featuredPriority: 2, showOnHomepage: true,
97
- metrics: { productCount: 35, productIds: [], auctionCount: 4, auctionIds: [], totalProductCount: 35, totalAuctionCount: 4, totalItemCount: 39, lastUpdated: daysAgo(1) },
98
- seo: { title: "Pokémon Cards — Base Set Singles", description: "Shop all Base Set creature singles.", keywords: ["pokemon singles", "charizard", "blastoise"] },
99
- display: { showInFooter: false, icon: "âš¡", coverImage: "https://images.pokemontcg.io/base1/4_hires.png", showInMenu: true },
100
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }, { id: "category-card-type-pokemon-cards", name: "Card Type", tier: 1 }],
101
- }),
102
- mkCat({
103
- id: "category-trainer-type-card-type",
104
- name: "Trainer Cards",
105
- slug: "category-trainer-type-card-type",
106
- description: "Supporter, Item, and Stadium trainer cards from Base Set",
107
- rootId: "category-pokemon-cards",
108
- parentIds: ["category-card-type-pokemon-cards"],
109
- childrenIds: [], tier: 2, path: "pokemon-cards/card-type/trainer-type", order: 2, isLeaf: true,
110
- metrics: { productCount: 8, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 8, totalAuctionCount: 0, totalItemCount: 8, lastUpdated: daysAgo(1) },
111
- seo: { title: "Trainer Cards — Pokémon Base Set", description: "Professor Oak, Bill, Energy Removal and more.", keywords: ["trainer cards", "professor oak", "item cards"] },
112
- display: { showInFooter: false, icon: "🧑‍🏫", showInMenu: true },
113
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }, { id: "category-card-type-pokemon-cards", name: "Card Type", tier: 1 }],
114
- }),
115
- mkCat({
116
- id: "category-energy-type-card-type",
117
- name: "Energy Cards",
118
- slug: "category-energy-type-card-type",
119
- description: "Basic and Special Energy cards to power your Pokémon",
120
- rootId: "category-pokemon-cards",
121
- parentIds: ["category-card-type-pokemon-cards"],
122
- childrenIds: [], tier: 2, path: "pokemon-cards/card-type/energy-type", order: 3, isLeaf: true,
123
- metrics: { productCount: 5, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 5, totalAuctionCount: 0, totalItemCount: 5, lastUpdated: daysAgo(1) },
124
- seo: { title: "Energy Cards — Pokémon Base Set", description: "Basic Energy sets from the original print runs.", keywords: ["energy cards", "fire energy", "water energy"] },
125
- display: { showInFooter: false, icon: "⚪", showInMenu: true },
126
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }, { id: "category-card-type-pokemon-cards", name: "Card Type", tier: 1 }],
127
- }),
128
- mkCat({
129
- id: "category-element-type-pokemon-cards",
130
- name: "Element Type",
131
- slug: "category-element-type-pokemon-cards",
132
- description: "Shop by Pokémon energy type",
133
- rootId: "category-pokemon-cards",
134
- parentIds: ["category-pokemon-cards"],
135
- childrenIds: ["category-water-element", "category-electric-element", "category-fire-element", "category-grass-element", "category-psychic-element", "category-fighting-element", "category-colorless-element"],
136
- tier: 1, path: "pokemon-cards/element-type", order: 2, isLeaf: false,
137
- metrics: { productCount: 0, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 35, totalAuctionCount: 4, totalItemCount: 39, lastUpdated: daysAgo(1) },
138
- seo: { title: "Element Types — Pokémon TCG", description: "Water, Fire, Electric, Grass, Psychic, Fighting, and Colorless types.", keywords: ["pokemon elements", "fire type", "water type"] },
139
- display: { showInFooter: false, icon: "🌊", showInMenu: true },
140
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }],
141
- }),
142
- mkCat({
143
- id: "category-water-element",
144
- name: "Water",
145
- slug: "category-water-element",
146
- description: "Water-type Pokémon cards — Blastoise, Lapras, Starmie, Gyarados",
147
- rootId: "category-pokemon-cards",
148
- parentIds: ["category-element-type-pokemon-cards"],
149
- childrenIds: [], tier: 2, path: "pokemon-cards/element-type/water", order: 1, isLeaf: true,
150
- metrics: { productCount: 6, productIds: [], auctionCount: 1, auctionIds: [], totalProductCount: 6, totalAuctionCount: 1, totalItemCount: 7, lastUpdated: daysAgo(1) },
151
- seo: { title: "Water-Type Pokémon Cards", description: "Blastoise, Lapras, Starmie and more.", keywords: ["water pokemon", "blastoise"] },
152
- display: { showInFooter: false, icon: "💧", color: "#6DB6D4", showInMenu: true },
153
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }, { id: "category-element-type-pokemon-cards", name: "Element Type", tier: 1 }],
154
- }),
155
- mkCat({
156
- id: "category-electric-element",
157
- name: "Electric",
158
- slug: "category-electric-element",
159
- description: "Electric-type Pokémon cards — Pikachu, Raichu, Zapdos, Electabuzz",
160
- rootId: "category-pokemon-cards",
161
- parentIds: ["category-element-type-pokemon-cards"],
162
- childrenIds: [], tier: 2, path: "pokemon-cards/element-type/electric", order: 2, isLeaf: true,
163
- metrics: { productCount: 5, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 5, totalAuctionCount: 0, totalItemCount: 5, lastUpdated: daysAgo(1) },
164
- seo: { title: "Electric-Type Pokémon Cards", description: "Pikachu, Zapdos, Raichu and more.", keywords: ["electric pokemon", "pikachu", "zapdos"] },
165
- display: { showInFooter: false, icon: "âš¡", color: "#F7D02C", showInMenu: true },
166
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }, { id: "category-element-type-pokemon-cards", name: "Element Type", tier: 1 }],
167
- }),
168
- mkCat({
169
- id: "category-fire-element",
170
- name: "Fire",
171
- slug: "category-fire-element",
172
- description: "Fire-type Pokémon cards — Charizard, Arcanine, Ninetales, Moltres",
173
- rootId: "category-pokemon-cards",
174
- parentIds: ["category-element-type-pokemon-cards"],
175
- childrenIds: [], tier: 2, path: "pokemon-cards/element-type/fire", order: 3, isLeaf: true,
176
- isFeatured: true, featuredPriority: 3, showOnHomepage: true,
177
- metrics: { productCount: 6, productIds: [], auctionCount: 2, auctionIds: [], totalProductCount: 6, totalAuctionCount: 2, totalItemCount: 8, lastUpdated: daysAgo(1) },
178
- seo: { title: "Fire-Type Pokémon Cards", description: "Charizard, Arcanine, Ninetales and more.", keywords: ["fire pokemon", "charizard"] },
179
- display: { showInFooter: false, icon: "🔥", color: "#EE8130", coverImage: "https://images.pokemontcg.io/base1/4_hires.png", showInMenu: true },
180
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }, { id: "category-element-type-pokemon-cards", name: "Element Type", tier: 1 }],
181
- }),
182
- mkCat({
183
- id: "category-grass-element",
184
- name: "Grass",
185
- slug: "category-grass-element",
186
- description: "Grass-type Pokémon cards — Venusaur, Scyther, Pinsir, Clefairy",
187
- rootId: "category-pokemon-cards",
188
- parentIds: ["category-element-type-pokemon-cards"],
189
- childrenIds: [], tier: 2, path: "pokemon-cards/element-type/grass", order: 4, isLeaf: true,
190
- metrics: { productCount: 4, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 4, totalAuctionCount: 0, totalItemCount: 4, lastUpdated: daysAgo(1) },
191
- seo: { title: "Grass-Type Pokémon Cards", description: "Venusaur, Scyther, Pinsir and more.", keywords: ["grass pokemon", "venusaur"] },
192
- display: { showInFooter: false, icon: "🌿", color: "#7AC74C", showInMenu: true },
193
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }, { id: "category-element-type-pokemon-cards", name: "Element Type", tier: 1 }],
194
- }),
195
- mkCat({
196
- id: "category-psychic-element",
197
- name: "Psychic",
198
- slug: "category-psychic-element",
199
- description: "Psychic-type Pokémon cards — Mewtwo, Gengar, Jynx, Alakazam",
200
- rootId: "category-pokemon-cards",
201
- parentIds: ["category-element-type-pokemon-cards"],
202
- childrenIds: [], tier: 2, path: "pokemon-cards/element-type/psychic", order: 5, isLeaf: true,
203
- isFeatured: true, featuredPriority: 4,
204
- metrics: { productCount: 5, productIds: [], auctionCount: 1, auctionIds: [], totalProductCount: 5, totalAuctionCount: 1, totalItemCount: 6, lastUpdated: daysAgo(1) },
205
- seo: { title: "Psychic-Type Pokémon Cards", description: "Mewtwo, Gengar, Alakazam and more.", keywords: ["psychic pokemon", "mewtwo", "gengar"] },
206
- display: { showInFooter: false, icon: "🔮", color: "#F95587", coverImage: "https://images.pokemontcg.io/base1/10_hires.png", showInMenu: true },
207
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }, { id: "category-element-type-pokemon-cards", name: "Element Type", tier: 1 }],
208
- }),
209
- mkCat({
210
- id: "category-fighting-element",
211
- name: "Fighting",
212
- slug: "category-fighting-element",
213
- description: "Fighting-type Pokémon cards — Machamp, Hitmonchan, Primeape, Onix",
214
- rootId: "category-pokemon-cards",
215
- parentIds: ["category-element-type-pokemon-cards"],
216
- childrenIds: [], tier: 2, path: "pokemon-cards/element-type/fighting", order: 6, isLeaf: true,
217
- metrics: { productCount: 3, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 3, totalAuctionCount: 0, totalItemCount: 3, lastUpdated: daysAgo(1) },
218
- seo: { title: "Fighting-Type Pokémon Cards", description: "Machamp, Hitmonchan and more.", keywords: ["fighting pokemon", "machamp"] },
219
- display: { showInFooter: false, icon: "🥊", color: "#C22E28", showInMenu: true },
220
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }, { id: "category-element-type-pokemon-cards", name: "Element Type", tier: 1 }],
221
- }),
222
- mkCat({
223
- id: "category-colorless-element",
224
- name: "Colorless",
225
- slug: "category-colorless-element",
226
- description: "Colorless-type Pokémon cards — Chansey, Snorlax, Dragonite, Kangaskhan",
227
- rootId: "category-pokemon-cards",
228
- parentIds: ["category-element-type-pokemon-cards"],
229
- childrenIds: [], tier: 2, path: "pokemon-cards/element-type/colorless", order: 7, isLeaf: true,
230
- metrics: { productCount: 4, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 4, totalAuctionCount: 0, totalItemCount: 4, lastUpdated: daysAgo(1) },
231
- seo: { title: "Colorless-Type Pokémon Cards", description: "Chansey, Snorlax, Dragonite and more.", keywords: ["colorless pokemon", "chansey", "snorlax"] },
232
- display: { showInFooter: false, icon: "⚪", color: "#A8A77A", showInMenu: true },
233
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }, { id: "category-element-type-pokemon-cards", name: "Element Type", tier: 1 }],
234
- }),
235
- mkCat({
236
- id: "category-rarity-pokemon-cards",
237
- name: "Rarity",
238
- slug: "category-rarity-pokemon-cards",
239
- description: "Shop by card rarity level",
240
- rootId: "category-pokemon-cards",
241
- parentIds: ["category-pokemon-cards"],
242
- childrenIds: ["category-holo-rare-rarity", "category-non-holo-rare-rarity", "category-uncommon-rarity", "category-common-rarity"],
243
- tier: 1, path: "pokemon-cards/rarity", order: 3, isLeaf: false,
244
- metrics: { productCount: 0, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 35, totalAuctionCount: 4, totalItemCount: 39, lastUpdated: daysAgo(1) },
245
- seo: { title: "Rarity — Pokémon TCG", description: "Browse Holo Rare, Uncommon, and Common Pokémon cards.", keywords: ["pokemon rarity", "holo rare", "uncommon"] },
246
- display: { showInFooter: false, icon: "⭐", showInMenu: true },
247
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }],
248
- }),
249
- mkCat({
250
- id: "category-holo-rare-rarity",
251
- name: "Holo Rare",
252
- slug: "category-holo-rare-rarity",
253
- description: "Holographic Rare cards — the crown jewels of any Base Set collection",
254
- rootId: "category-pokemon-cards",
255
- parentIds: ["category-rarity-pokemon-cards"],
256
- childrenIds: [], tier: 2, path: "pokemon-cards/rarity/holo-rare", order: 1, isLeaf: true,
257
- isFeatured: true, featuredPriority: 1, showOnHomepage: true,
258
- metrics: { productCount: 16, productIds: [], auctionCount: 4, auctionIds: [], totalProductCount: 16, totalAuctionCount: 4, totalItemCount: 20, lastUpdated: daysAgo(1) },
259
- seo: { title: "Holo Rare Pokémon Cards — Base Set", description: "All 16 Holo Rares from the original Pokémon Base Set.", keywords: ["holo rare", "holographic", "charizard", "mewtwo"] },
260
- display: { showInFooter: true, icon: "✨", coverImage: "https://images.pokemontcg.io/base1/4_hires.png", color: "#B8860B", showInMenu: true },
261
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }, { id: "category-rarity-pokemon-cards", name: "Rarity", tier: 1 }],
262
- }),
263
- mkCat({
264
- id: "category-non-holo-rare-rarity",
265
- name: "Non-Holo Rare",
266
- slug: "category-non-holo-rare-rarity",
267
- description: "Rare cards without holo foiling — often overlooked, great value",
268
- rootId: "category-pokemon-cards",
269
- parentIds: ["category-rarity-pokemon-cards"],
270
- childrenIds: [], tier: 2, path: "pokemon-cards/rarity/non-holo-rare", order: 2, isLeaf: true,
271
- metrics: { productCount: 10, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 10, totalAuctionCount: 0, totalItemCount: 10, lastUpdated: daysAgo(1) },
272
- seo: { title: "Non-Holo Rare Pokémon Cards", description: "Rare cards without holo foil from Base Set.", keywords: ["non holo rare", "rare pokemon cards"] },
273
- display: { showInFooter: false, icon: "🌟", showInMenu: true },
274
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }, { id: "category-rarity-pokemon-cards", name: "Rarity", tier: 1 }],
275
- }),
276
- mkCat({
277
- id: "category-uncommon-rarity",
278
- name: "Uncommon",
279
- slug: "category-uncommon-rarity",
280
- description: "Uncommon cards — playable staples at accessible prices",
281
- rootId: "category-pokemon-cards",
282
- parentIds: ["category-rarity-pokemon-cards"],
283
- childrenIds: [], tier: 2, path: "pokemon-cards/rarity/uncommon", order: 3, isLeaf: true,
284
- metrics: { productCount: 6, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 6, totalAuctionCount: 0, totalItemCount: 6, lastUpdated: daysAgo(1) },
285
- seo: { title: "Uncommon Pokémon Cards — Base Set", description: "Budget-friendly uncommon singles from the original print run.", keywords: ["uncommon pokemon cards", "base set uncommon"] },
286
- display: { showInFooter: false, icon: "💎", showInMenu: true },
287
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }, { id: "category-rarity-pokemon-cards", name: "Rarity", tier: 1 }],
288
- }),
289
- mkCat({
290
- id: "category-common-rarity",
291
- name: "Common",
292
- slug: "category-common-rarity",
293
- description: "Common cards — great for play sets and completing your collection",
294
- rootId: "category-pokemon-cards",
295
- parentIds: ["category-rarity-pokemon-cards"],
296
- childrenIds: [], tier: 2, path: "pokemon-cards/rarity/common", order: 4, isLeaf: true,
297
- metrics: { productCount: 6, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 6, totalAuctionCount: 0, totalItemCount: 6, lastUpdated: daysAgo(1) },
298
- seo: { title: "Common Pokémon Cards — Base Set", description: "Affordable common singles from the original Base Set.", keywords: ["common pokemon cards", "base set common"] },
299
- display: { showInFooter: false, icon: "🃏", showInMenu: true },
300
- ancestors: [{ id: "category-pokemon-cards", name: "Pokémon Cards", tier: 0 }, { id: "category-rarity-pokemon-cards", name: "Rarity", tier: 1 }],
301
- }),
302
- // ═══════════════════════════════════════════════════
303
- // HOT WHEELS
304
- // ═══════════════════════════════════════════════════
305
- mkCat({
306
- id: "category-hot-wheels",
307
- name: "Hot Wheels",
308
- slug: "category-hot-wheels",
309
- description: "Die-cast Hot Wheels cars — basic, premium, Treasure Hunt, and track sets",
310
- rootId: "category-hot-wheels",
311
- parentIds: [],
312
- childrenIds: ["category-hw-basic-cars", "category-hw-premium", "category-hw-treasure-hunt", "category-hw-track-sets"],
313
- tier: 0, path: "hot-wheels", order: 2, isLeaf: false,
314
- isFeatured: true, featuredPriority: 2, showOnHomepage: true,
315
- metrics: { productCount: 0, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 35, totalAuctionCount: 3, totalItemCount: 38, lastUpdated: daysAgo(1) },
316
- seo: { title: "Hot Wheels Die-Cast Cars | LetItRip", description: "Shop Hot Wheels basic, premium, Treasure Hunt, and collector cars.", keywords: ["hot wheels", "die cast", "toy cars", "treasure hunt"] },
317
- display: { showInFooter: true, icon: "🚗", color: "#e74c3c", coverImage: "https://picsum.photos/seed/hw-root/600/400", showInMenu: true },
318
- ancestors: [],
319
- }),
320
- mkCat({
321
- id: "category-hw-basic-cars",
322
- name: "Basic Die-Cast Cars",
323
- slug: "category-hw-basic-cars",
324
- description: "Everyday Hot Wheels cars — from movie vehicles to original designs",
325
- rootId: "category-hot-wheels",
326
- parentIds: ["category-hot-wheels"],
327
- childrenIds: [], tier: 1, path: "hot-wheels/basic-cars", order: 1, isLeaf: true,
328
- isFeatured: true, featuredPriority: 5,
329
- metrics: { productCount: 15, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 15, totalAuctionCount: 0, totalItemCount: 15, lastUpdated: daysAgo(1) },
330
- seo: { title: "Hot Wheels Basic Cars", description: "Everyday mainline Hot Wheels die-cast cars.", keywords: ["hot wheels basic", "mainline", "die cast cars"] },
331
- display: { showInFooter: false, icon: "🚙", color: "#e74c3c", showInMenu: true },
332
- ancestors: [{ id: "category-hot-wheels", name: "Hot Wheels", tier: 0 }],
333
- }),
334
- mkCat({
335
- id: "category-hw-premium",
336
- name: "Premium Cars",
337
- slug: "category-hw-premium",
338
- description: "Hot Wheels premium lines — Car Culture, Boulevard, Real Riders with rubber tyres",
339
- rootId: "category-hot-wheels",
340
- parentIds: ["category-hot-wheels"],
341
- childrenIds: [], tier: 1, path: "hot-wheels/premium", order: 2, isLeaf: true,
342
- isFeatured: true, featuredPriority: 6,
343
- metrics: { productCount: 10, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 10, totalAuctionCount: 0, totalItemCount: 10, lastUpdated: daysAgo(1) },
344
- seo: { title: "Hot Wheels Premium Cars — Car Culture, Boulevard", description: "Premium Hot Wheels with real rubber tyres and premium packaging.", keywords: ["hot wheels premium", "car culture", "boulevard", "real riders"] },
345
- display: { showInFooter: false, icon: "🏎️", color: "#c0392b", showInMenu: true },
346
- ancestors: [{ id: "category-hot-wheels", name: "Hot Wheels", tier: 0 }],
347
- }),
348
- mkCat({
349
- id: "category-hw-treasure-hunt",
350
- name: "Treasure Hunt",
351
- slug: "category-hw-treasure-hunt",
352
- description: "Super Treasure Hunt (STH) and regular Treasure Hunt — the most sought-after Hot Wheels",
353
- rootId: "category-hot-wheels",
354
- parentIds: ["category-hot-wheels"],
355
- childrenIds: [], tier: 1, path: "hot-wheels/treasure-hunt", order: 3, isLeaf: true,
356
- isFeatured: true, featuredPriority: 7,
357
- metrics: { productCount: 5, productIds: [], auctionCount: 3, auctionIds: [], totalProductCount: 5, totalAuctionCount: 3, totalItemCount: 8, lastUpdated: daysAgo(1) },
358
- seo: { title: "Hot Wheels Treasure Hunt & Super Treasure Hunt", description: "Rare and super-rare Treasure Hunt Hot Wheels cars.", keywords: ["super treasure hunt", "STH", "hot wheels rare"] },
359
- display: { showInFooter: false, icon: "🏆", color: "#d4ac0d", showInMenu: true },
360
- ancestors: [{ id: "category-hot-wheels", name: "Hot Wheels", tier: 0 }],
361
- }),
362
- mkCat({
363
- id: "category-hw-track-sets",
364
- name: "Track Sets & Playsets",
365
- slug: "category-hw-track-sets",
366
- description: "Hot Wheels track sets, loop launchers, garages, and city playsets",
367
- rootId: "category-hot-wheels",
368
- parentIds: ["category-hot-wheels"],
369
- childrenIds: [], tier: 1, path: "hot-wheels/track-sets", order: 4, isLeaf: true,
370
- metrics: { productCount: 5, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 5, totalAuctionCount: 0, totalItemCount: 5, lastUpdated: daysAgo(1) },
371
- seo: { title: "Hot Wheels Track Sets and Playsets", description: "Loops, launchers, garages, and city sets from Hot Wheels.", keywords: ["hot wheels track", "loop set", "playset", "garage"] },
372
- display: { showInFooter: false, icon: "🛤️", showInMenu: true },
373
- ancestors: [{ id: "category-hot-wheels", name: "Hot Wheels", tier: 0 }],
374
- }),
375
- // ═══════════════════════════════════════════════════
376
- // BEYBLADE BURST
377
- // ═══════════════════════════════════════════════════
378
- mkCat({
379
- id: "category-beyblade-burst",
380
- name: "Beyblade Burst",
381
- slug: "category-beyblade-burst",
382
- description: "Beyblade Burst spinning tops — Attack, Defense, Stamina, and Balance types",
383
- rootId: "category-beyblade-burst",
384
- parentIds: [],
385
- childrenIds: ["category-bb-attack-type", "category-bb-defense-type", "category-bb-stamina-type", "category-bb-balance-type", "category-bb-stadium"],
386
- tier: 0, path: "beyblade-burst", order: 3, isLeaf: false,
387
- isFeatured: true, featuredPriority: 3, showOnHomepage: true,
388
- metrics: { productCount: 0, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 24, totalAuctionCount: 2, totalItemCount: 26, lastUpdated: daysAgo(1) },
389
- seo: { title: "Beyblade Burst Tops | LetItRip", description: "Shop Beyblade Burst spinning tops — all types and series.", keywords: ["beyblade burst", "spinning top", "beyblade", "valtryek", "spriggan"] },
390
- display: { showInFooter: true, icon: "🌀", color: "#2980b9", coverImage: "https://picsum.photos/seed/bb-root/600/400", showInMenu: true },
391
- ancestors: [],
392
- }),
393
- mkCat({
394
- id: "category-bb-attack-type",
395
- name: "Attack Type",
396
- slug: "category-bb-attack-type",
397
- description: "Aggressive attack-type Beyblade Burst tops — built for raw power and KOs",
398
- rootId: "category-beyblade-burst",
399
- parentIds: ["category-beyblade-burst"],
400
- childrenIds: [], tier: 1, path: "beyblade-burst/attack-type", order: 1, isLeaf: true,
401
- isFeatured: true, featuredPriority: 8,
402
- metrics: { productCount: 6, productIds: [], auctionCount: 1, auctionIds: [], totalProductCount: 6, totalAuctionCount: 1, totalItemCount: 7, lastUpdated: daysAgo(1) },
403
- seo: { title: "Attack Type Beyblades — Burst", description: "Valtryek, Spriggan, Achilles and top attack-type Beyblade Burst tops.", keywords: ["attack type beyblade", "valtryek", "achilles"] },
404
- display: { showInFooter: false, icon: "⚔️", color: "#e74c3c", showInMenu: true },
405
- ancestors: [{ id: "category-beyblade-burst", name: "Beyblade Burst", tier: 0 }],
406
- }),
407
- mkCat({
408
- id: "category-bb-defense-type",
409
- name: "Defense Type",
410
- slug: "category-bb-defense-type",
411
- description: "Defense-type Beyblade Burst tops — wide, heavy layers that resist attacks",
412
- rootId: "category-beyblade-burst",
413
- parentIds: ["category-beyblade-burst"],
414
- childrenIds: [], tier: 1, path: "beyblade-burst/defense-type", order: 2, isLeaf: true,
415
- metrics: { productCount: 4, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 4, totalAuctionCount: 0, totalItemCount: 4, lastUpdated: daysAgo(1) },
416
- seo: { title: "Defense Type Beyblades — Burst", description: "Garuda, Balkesh, and top defense-type Beyblades.", keywords: ["defense type beyblade", "garuda"] },
417
- display: { showInFooter: false, icon: "🛡️", color: "#2c3e50", showInMenu: true },
418
- ancestors: [{ id: "category-beyblade-burst", name: "Beyblade Burst", tier: 0 }],
419
- }),
420
- mkCat({
421
- id: "category-bb-stamina-type",
422
- name: "Stamina Type",
423
- slug: "category-bb-stamina-type",
424
- description: "Stamina-type tops — long-spinning, outlast opponents in the stadium",
425
- rootId: "category-beyblade-burst",
426
- parentIds: ["category-beyblade-burst"],
427
- childrenIds: [], tier: 1, path: "beyblade-burst/stamina-type", order: 3, isLeaf: true,
428
- metrics: { productCount: 5, productIds: [], auctionCount: 1, auctionIds: [], totalProductCount: 5, totalAuctionCount: 1, totalItemCount: 6, lastUpdated: daysAgo(1) },
429
- seo: { title: "Stamina Type Beyblades — Burst", description: "Nepstrius, Phoenix, and top stamina-type Beyblades.", keywords: ["stamina type beyblade", "nepstrius", "phoenix"] },
430
- display: { showInFooter: false, icon: "🌀", color: "#27ae60", showInMenu: true },
431
- ancestors: [{ id: "category-beyblade-burst", name: "Beyblade Burst", tier: 0 }],
432
- }),
433
- mkCat({
434
- id: "category-bb-balance-type",
435
- name: "Balance Type",
436
- slug: "category-bb-balance-type",
437
- description: "Balance-type tops — versatile performance across attack, defense, and stamina",
438
- rootId: "category-beyblade-burst",
439
- parentIds: ["category-beyblade-burst"],
440
- childrenIds: [], tier: 1, path: "beyblade-burst/balance-type", order: 4, isLeaf: true,
441
- metrics: { productCount: 3, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 3, totalAuctionCount: 0, totalItemCount: 3, lastUpdated: daysAgo(1) },
442
- seo: { title: "Balance Type Beyblades — Burst", description: "Genesis Drago, Achilles, Dead Hades — all-round balance tops.", keywords: ["balance type beyblade", "genesis drago"] },
443
- display: { showInFooter: false, icon: "⚖️", color: "#8e44ad", showInMenu: true },
444
- ancestors: [{ id: "category-beyblade-burst", name: "Beyblade Burst", tier: 0 }],
445
- }),
446
- mkCat({
447
- id: "category-bb-stadium",
448
- name: "Stadiums & Accessories",
449
- slug: "category-bb-stadium",
450
- description: "Beyblade Burst stadiums, launchers, string tops, and customisation parts",
451
- rootId: "category-beyblade-burst",
452
- parentIds: ["category-beyblade-burst"],
453
- childrenIds: [], tier: 1, path: "beyblade-burst/stadium", order: 5, isLeaf: true,
454
- metrics: { productCount: 4, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 4, totalAuctionCount: 0, totalItemCount: 4, lastUpdated: daysAgo(1) },
455
- seo: { title: "Beyblade Burst Stadiums & Accessories", description: "Official Beyblade stadiums, launchers, and custom parts.", keywords: ["beyblade stadium", "beystadium", "launcher"] },
456
- display: { showInFooter: false, icon: "🏟️", showInMenu: true },
457
- ancestors: [{ id: "category-beyblade-burst", name: "Beyblade Burst", tier: 0 }],
458
- }),
459
- // ═══════════════════════════════════════════════════
460
- // TRANSFORMERS
461
- // ═══════════════════════════════════════════════════
462
- mkCat({
463
- id: "category-transformers",
464
- name: "Transformers",
465
- slug: "category-transformers",
466
- description: "Transformers action figures — Autobots, Decepticons, Combiners, G1 and modern",
467
- rootId: "category-transformers",
468
- parentIds: [],
469
- childrenIds: ["category-tf-autobots", "category-tf-decepticons", "category-tf-combiners"],
470
- tier: 0, path: "transformers", order: 4, isLeaf: false,
471
- isFeatured: true, featuredPriority: 4, showOnHomepage: true,
472
- metrics: { productCount: 0, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 12, totalAuctionCount: 1, totalItemCount: 13, lastUpdated: daysAgo(1) },
473
- seo: { title: "Transformers Action Figures | LetItRip", description: "Shop Transformers figures — Autobots, Decepticons, and Combiners.", keywords: ["transformers", "optimus prime", "megatron", "autobots"] },
474
- display: { showInFooter: true, icon: "🤖", color: "#e67e22", coverImage: "https://picsum.photos/seed/tf-root/600/400", showInMenu: true },
475
- ancestors: [],
476
- }),
477
- mkCat({
478
- id: "category-tf-autobots",
479
- name: "Autobots",
480
- slug: "category-tf-autobots",
481
- description: "Autobot Transformers — Optimus Prime, Bumblebee, Jazz, Ironhide and more",
482
- rootId: "category-transformers",
483
- parentIds: ["category-transformers"],
484
- childrenIds: [], tier: 1, path: "transformers/autobots", order: 1, isLeaf: true,
485
- isFeatured: true, featuredPriority: 9,
486
- metrics: { productCount: 6, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 6, totalAuctionCount: 0, totalItemCount: 6, lastUpdated: daysAgo(1) },
487
- seo: { title: "Autobot Transformers Figures", description: "Optimus Prime, Bumblebee, Jazz, and all Autobot figures.", keywords: ["autobots", "optimus prime", "bumblebee", "transformers"] },
488
- display: { showInFooter: false, icon: "🔵", color: "#2980b9", showInMenu: true },
489
- ancestors: [{ id: "category-transformers", name: "Transformers", tier: 0 }],
490
- }),
491
- mkCat({
492
- id: "category-tf-decepticons",
493
- name: "Decepticons",
494
- slug: "category-tf-decepticons",
495
- description: "Decepticon Transformers — Megatron, Starscream, Soundwave, Shockwave",
496
- rootId: "category-transformers",
497
- parentIds: ["category-transformers"],
498
- childrenIds: [], tier: 1, path: "transformers/decepticons", order: 2, isLeaf: true,
499
- metrics: { productCount: 4, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 4, totalAuctionCount: 0, totalItemCount: 4, lastUpdated: daysAgo(1) },
500
- seo: { title: "Decepticon Transformers Figures", description: "Megatron, Starscream, Soundwave, and all Decepticon figures.", keywords: ["decepticons", "megatron", "starscream", "soundwave"] },
501
- display: { showInFooter: false, icon: "🔴", color: "#922b21", showInMenu: true },
502
- ancestors: [{ id: "category-transformers", name: "Transformers", tier: 0 }],
503
- }),
504
- mkCat({
505
- id: "category-tf-combiners",
506
- name: "Combiners & Special Teams",
507
- slug: "category-tf-combiners",
508
- description: "Combiner Wars, Siege, and Legacy combiner sets — Devastator, Superion and more",
509
- rootId: "category-transformers",
510
- parentIds: ["category-transformers"],
511
- childrenIds: [], tier: 1, path: "transformers/combiners", order: 3, isLeaf: true,
512
- metrics: { productCount: 2, productIds: [], auctionCount: 1, auctionIds: [], totalProductCount: 2, totalAuctionCount: 1, totalItemCount: 3, lastUpdated: daysAgo(1) },
513
- seo: { title: "Transformers Combiner Sets", description: "Devastator, Superion, Menasor — all Transformers combiner sets.", keywords: ["combiners", "devastator", "superion", "combiner wars"] },
514
- display: { showInFooter: false, icon: "🦾", color: "#641e16", showInMenu: true },
515
- ancestors: [{ id: "category-transformers", name: "Transformers", tier: 0 }],
516
- }),
517
- // ═══════════════════════════════════════════════════
518
- // CROSS-FRANCHISE
519
- // ═══════════════════════════════════════════════════
520
- mkCat({
521
- id: "category-sealed-products",
522
- name: "Sealed Products",
523
- slug: "category-sealed-products",
524
- description: "Factory-sealed booster boxes, packs, starter sets, and collector bundles",
525
- rootId: "category-sealed-products",
526
- parentIds: [],
527
- childrenIds: [], tier: 0, path: "sealed-products", order: 5, isLeaf: true,
528
- isFeatured: true, featuredPriority: 10, showOnHomepage: true,
529
- metrics: { productCount: 8, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 8, totalAuctionCount: 0, totalItemCount: 8, lastUpdated: daysAgo(1) },
530
- seo: { title: "Sealed Products — Pokémon, Hot Wheels & More | LetItRip", description: "Factory-sealed collectibles — Pokémon packs, Hot Wheels cases, Beyblade sets.", keywords: ["sealed products", "booster box", "factory sealed"] },
531
- display: { showInFooter: true, icon: "📦", showInMenu: true },
532
- ancestors: [],
533
- }),
534
- mkCat({
535
- id: "category-accessories",
536
- name: "Accessories & Display",
537
- slug: "category-accessories",
538
- description: "Card sleeves, top-loaders, binders, display stands, and storage solutions",
539
- rootId: "category-accessories",
540
- parentIds: [],
541
- childrenIds: [], tier: 0, path: "accessories", order: 6, isLeaf: true,
542
- metrics: { productCount: 6, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 6, totalAuctionCount: 0, totalItemCount: 6, lastUpdated: daysAgo(1) },
543
- seo: { title: "Accessories & Display Products | LetItRip", description: "Card sleeves, binders, top-loaders, display cases, and storage.", keywords: ["card sleeves", "top loader", "binder", "display case"] },
544
- display: { showInFooter: true, icon: "🗂️", showInMenu: true },
545
- ancestors: [],
546
- }),
547
- ];
@@ -1,6 +0,0 @@
1
- /**
2
- * Pokemon TCG — Coupons Seed Data
3
- * Platform-wide and event-linked discount coupons themed around the Pokemon Base Set.
4
- */
5
- import type { CouponDocument } from "../features/promotions/schemas";
6
- export declare const pokemonCouponsSeedData: Partial<CouponDocument>[];