@mohasinac/appkit 2.3.1 → 2.3.2

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 (253) hide show
  1. package/dist/client.d.ts +12 -8
  2. package/dist/client.js +7 -4
  3. package/dist/constants/api-endpoints.d.ts +4 -0
  4. package/dist/constants/api-endpoints.js +2 -0
  5. package/dist/core/contact-submissions.repository.d.ts +32 -0
  6. package/dist/core/contact-submissions.repository.js +49 -0
  7. package/dist/core/index.d.ts +2 -0
  8. package/dist/core/index.js +1 -0
  9. package/dist/features/about/components/HowPayoutsWorkView.js +1 -1
  10. package/dist/features/account/components/AddressFilters.d.ts +5 -0
  11. package/dist/features/account/components/AddressFilters.js +20 -0
  12. package/dist/features/account/components/AddressesIndexListing.d.ts +6 -0
  13. package/dist/features/account/components/AddressesIndexListing.js +51 -0
  14. package/dist/features/account/components/UserSidebar.d.ts +7 -3
  15. package/dist/features/account/components/UserSidebar.js +55 -7
  16. package/dist/features/account/hooks/useAddresses.d.ts +7 -0
  17. package/dist/features/account/hooks/useAddresses.js +12 -1
  18. package/dist/features/admin/actions/admin-read-actions.d.ts +12 -0
  19. package/dist/features/admin/actions/admin-read-actions.js +18 -0
  20. package/dist/features/admin/components/AdminBlogView.js +26 -2
  21. package/dist/features/admin/components/AdminCarouselView.js +18 -2
  22. package/dist/features/admin/components/AdminCategoriesView.js +27 -2
  23. package/dist/features/admin/components/AdminContactView.d.ts +4 -0
  24. package/dist/features/admin/components/AdminContactView.js +50 -0
  25. package/dist/features/admin/components/AdminFaqsView.js +19 -2
  26. package/dist/features/admin/components/AdminListingScaffold.d.ts +11 -2
  27. package/dist/features/admin/components/AdminListingScaffold.js +14 -3
  28. package/dist/features/admin/components/AdminNewsletterView.d.ts +4 -0
  29. package/dist/features/admin/components/AdminNewsletterView.js +50 -0
  30. package/dist/features/admin/components/AdminProductsView.js +30 -2
  31. package/dist/features/admin/components/AdminReviewsView.js +26 -2
  32. package/dist/features/admin/components/AdminStoresView.js +17 -2
  33. package/dist/features/admin/components/AdminUsersView.js +27 -2
  34. package/dist/features/admin/components/DataTable.d.ts +2 -1
  35. package/dist/features/admin/components/DataTable.js +18 -4
  36. package/dist/features/admin/components/index.d.ts +6 -0
  37. package/dist/features/admin/components/index.js +3 -0
  38. package/dist/features/admin/hooks/useAdminListingData.d.ts +3 -1
  39. package/dist/features/admin/hooks/useAdminListingData.js +12 -7
  40. package/dist/features/admin/server.d.ts +3 -0
  41. package/dist/features/admin/server.js +2 -0
  42. package/dist/features/auctions/components/AuctionDetailPageView.js +93 -47
  43. package/dist/features/auctions/components/AuctionFilters.d.ts +8 -0
  44. package/dist/features/auctions/components/AuctionFilters.js +12 -0
  45. package/dist/features/auctions/components/AuctionsListView.d.ts +6 -1
  46. package/dist/features/auctions/components/AuctionsListView.js +37 -5
  47. package/dist/features/auctions/schemas/index.d.ts +4 -4
  48. package/dist/features/blog/components/BlogFeaturedCard.d.ts +1 -7
  49. package/dist/features/blog/components/BlogFeaturedCard.js +4 -5
  50. package/dist/features/blog/components/BlogFilters.js +2 -1
  51. package/dist/features/blog/components/BlogIndexListing.js +14 -9
  52. package/dist/features/blog/components/BlogIndexPageView.d.ts +6 -1
  53. package/dist/features/blog/components/BlogIndexPageView.js +10 -2
  54. package/dist/features/blog/components/BlogListView.d.ts +2 -1
  55. package/dist/features/blog/components/BlogListView.js +10 -3
  56. package/dist/features/categories/components/CategoriesIndexListing.d.ts +1 -1
  57. package/dist/features/categories/components/CategoriesIndexListing.js +41 -38
  58. package/dist/features/categories/components/CategoriesIndexPageView.d.ts +6 -1
  59. package/dist/features/categories/components/CategoriesIndexPageView.js +41 -2
  60. package/dist/features/categories/components/CategoryDetailPageView.js +13 -6
  61. package/dist/features/categories/components/CategoryDetailTabs.d.ts +5 -0
  62. package/dist/features/categories/components/CategoryDetailTabs.js +17 -0
  63. package/dist/features/categories/components/CategoryFilters.js +2 -1
  64. package/dist/features/categories/components/CategoryGrid.d.ts +2 -1
  65. package/dist/features/categories/components/CategoryGrid.js +8 -6
  66. package/dist/features/categories/components/CategoryProductsListing.js +22 -11
  67. package/dist/features/categories/components/index.d.ts +2 -0
  68. package/dist/features/categories/components/index.js +1 -0
  69. package/dist/features/categories/hooks/useCategories.d.ts +20 -0
  70. package/dist/features/categories/hooks/useCategories.js +50 -1
  71. package/dist/features/categories/hooks/useCategoryTree.d.ts +17 -0
  72. package/dist/features/categories/hooks/useCategoryTree.js +65 -0
  73. package/dist/features/events/components/AdminEventEditorView.d.ts +6 -0
  74. package/dist/features/events/components/AdminEventEditorView.js +203 -0
  75. package/dist/features/events/components/AdminEventsView.js +28 -2
  76. package/dist/features/events/components/EventCard.js +4 -2
  77. package/dist/features/events/components/EventFilters.js +2 -1
  78. package/dist/features/events/components/EventsIndexListing.js +40 -10
  79. package/dist/features/events/components/EventsListPageView.d.ts +6 -1
  80. package/dist/features/events/components/EventsListPageView.js +40 -7
  81. package/dist/features/events/components/index.d.ts +2 -0
  82. package/dist/features/events/components/index.js +1 -0
  83. package/dist/features/events/hooks/useEvents.js +2 -0
  84. package/dist/features/events/types/index.d.ts +1 -0
  85. package/dist/features/homepage/components/BlogArticlesSection.js +1 -1
  86. package/dist/features/homepage/components/EventsSection.js +1 -1
  87. package/dist/features/homepage/components/FeaturedAuctionsSection.js +1 -1
  88. package/dist/features/homepage/components/FeaturedPreOrdersSection.js +1 -1
  89. package/dist/features/homepage/components/FeaturedProductsSection.js +1 -1
  90. package/dist/features/homepage/components/FeaturedStoresSection.js +1 -1
  91. package/dist/features/homepage/components/HeroCarousel.js +1 -1
  92. package/dist/features/homepage/components/MarketplaceHomepageView.js +27 -17
  93. package/dist/features/homepage/components/SectionCarousel.js +4 -4
  94. package/dist/features/homepage/components/ShopByCategorySection.js +2 -2
  95. package/dist/features/homepage/schemas/firestore.d.ts +1 -1
  96. package/dist/features/homepage/schemas/firestore.js +2 -1
  97. package/dist/features/layout/AppLayoutShell.d.ts +6 -2
  98. package/dist/features/layout/AppLayoutShell.js +7 -3
  99. package/dist/features/pre-orders/components/MarketplacePreorderCard.d.ts +3 -1
  100. package/dist/features/pre-orders/components/MarketplacePreorderCard.js +6 -2
  101. package/dist/features/pre-orders/components/PreOrderDetailPageView.js +80 -12
  102. package/dist/features/pre-orders/components/PreOrderFilters.d.ts +8 -0
  103. package/dist/features/pre-orders/components/PreOrderFilters.js +21 -0
  104. package/dist/features/pre-orders/components/PreOrdersIndexListing.d.ts +2 -1
  105. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +69 -10
  106. package/dist/features/pre-orders/components/PreOrdersListView.d.ts +6 -1
  107. package/dist/features/pre-orders/components/PreOrdersListView.js +26 -7
  108. package/dist/features/pre-orders/components/index.d.ts +2 -0
  109. package/dist/features/pre-orders/components/index.js +1 -0
  110. package/dist/features/products/components/AuctionsIndexListing.d.ts +2 -1
  111. package/dist/features/products/components/AuctionsIndexListing.js +61 -9
  112. package/dist/features/products/components/InteractiveProductCard.d.ts +2 -4
  113. package/dist/features/products/components/InteractiveProductCard.js +2 -2
  114. package/dist/features/products/components/ProductDetailPageView.d.ts +1 -1
  115. package/dist/features/products/components/ProductDetailPageView.js +116 -25
  116. package/dist/features/products/components/ProductFilters.d.ts +6 -11
  117. package/dist/features/products/components/ProductFilters.js +5 -3
  118. package/dist/features/products/components/ProductGrid.d.ts +8 -2
  119. package/dist/features/products/components/ProductGrid.js +20 -5
  120. package/dist/features/products/components/ProductTabsShell.d.ts +3 -11
  121. package/dist/features/products/components/ProductTabsShell.js +14 -14
  122. package/dist/features/products/components/ProductsIndexListing.js +73 -9
  123. package/dist/features/products/components/ProductsIndexPageView.d.ts +6 -1
  124. package/dist/features/products/components/ProductsIndexPageView.js +39 -6
  125. package/dist/features/products/components/RelatedProductsCarousel.d.ts +7 -0
  126. package/dist/features/products/components/RelatedProductsCarousel.js +11 -0
  127. package/dist/features/products/components/index.d.ts +1 -0
  128. package/dist/features/products/components/index.js +1 -0
  129. package/dist/features/products/hooks/useProducts.js +16 -0
  130. package/dist/features/products/repository/products.repository.d.ts +8 -0
  131. package/dist/features/products/repository/products.repository.js +2 -0
  132. package/dist/features/products/schemas/index.d.ts +8 -8
  133. package/dist/features/products/types/index.d.ts +12 -0
  134. package/dist/features/promotions/components/CouponsIndexListing.d.ts +9 -0
  135. package/dist/features/promotions/components/CouponsIndexListing.js +86 -0
  136. package/dist/features/promotions/components/PromotionsView.d.ts +11 -5
  137. package/dist/features/promotions/components/PromotionsView.js +6 -1
  138. package/dist/features/promotions/components/index.d.ts +4 -2
  139. package/dist/features/promotions/components/index.js +2 -1
  140. package/dist/features/reviews/components/ReviewDetailPageView.d.ts +4 -0
  141. package/dist/features/reviews/components/ReviewDetailPageView.js +20 -0
  142. package/dist/features/reviews/components/ReviewDetailShell.d.ts +7 -0
  143. package/dist/features/reviews/components/ReviewDetailShell.js +80 -0
  144. package/dist/features/reviews/components/ReviewFilters.d.ts +3 -3
  145. package/dist/features/reviews/components/ReviewFilters.js +5 -4
  146. package/dist/features/reviews/components/ReviewsIndexListing.d.ts +4 -3
  147. package/dist/features/reviews/components/ReviewsIndexListing.js +35 -51
  148. package/dist/features/reviews/components/ReviewsIndexPageView.d.ts +6 -1
  149. package/dist/features/reviews/components/ReviewsIndexPageView.js +49 -3
  150. package/dist/features/reviews/components/ReviewsList.js +9 -1
  151. package/dist/features/reviews/components/index.d.ts +1 -0
  152. package/dist/features/reviews/hooks/useReviews.js +15 -1
  153. package/dist/features/reviews/types/index.d.ts +6 -1
  154. package/dist/features/seller/components/SellerSidebar.d.ts +8 -4
  155. package/dist/features/seller/components/SellerSidebar.js +6 -4
  156. package/dist/features/seller/components/index.d.ts +30 -0
  157. package/dist/features/seller/components/index.js +17 -0
  158. package/dist/features/seller/hooks/useSellerStore.d.ts +2 -0
  159. package/dist/features/seller/hooks/useSellerStore.js +2 -0
  160. package/dist/features/seller/permission-map.d.ts +4 -2
  161. package/dist/features/seller/permission-map.js +16 -14
  162. package/dist/features/seller/schemas/index.d.ts +2 -2
  163. package/dist/features/stores/api/[storeSlug]/reviews/route.d.ts +1 -1
  164. package/dist/features/stores/api/[storeSlug]/reviews/route.js +24 -19
  165. package/dist/features/stores/components/InteractiveStoreCard.d.ts +0 -5
  166. package/dist/features/stores/components/InteractiveStoreCard.js +9 -9
  167. package/dist/features/stores/components/StoreAuctionsListing.js +27 -9
  168. package/dist/features/stores/components/StoreDetailLayoutView.js +2 -0
  169. package/dist/features/stores/components/StoreFilters.d.ts +5 -0
  170. package/dist/features/stores/components/StoreFilters.js +20 -0
  171. package/dist/features/stores/components/StoreHeader.js +2 -2
  172. package/dist/features/stores/components/StorePreOrdersListing.d.ts +5 -0
  173. package/dist/features/stores/components/StorePreOrdersListing.js +40 -0
  174. package/dist/features/stores/components/StorePreOrdersPageView.d.ts +4 -0
  175. package/dist/features/stores/components/StorePreOrdersPageView.js +21 -0
  176. package/dist/features/stores/components/StoreProductsListing.js +21 -11
  177. package/dist/features/stores/components/StoreReviewsListing.js +2 -7
  178. package/dist/features/stores/components/StoresIndexListing.js +42 -8
  179. package/dist/features/stores/components/StoresIndexPageView.d.ts +6 -1
  180. package/dist/features/stores/components/StoresIndexPageView.js +9 -2
  181. package/dist/features/stores/components/index.d.ts +3 -0
  182. package/dist/features/stores/components/index.js +1 -0
  183. package/dist/features/stores/hooks/useStores.d.ts +7 -1
  184. package/dist/features/stores/hooks/useStores.js +16 -3
  185. package/dist/features/stores/schemas/index.d.ts +2 -2
  186. package/dist/features/stores/types/index.d.ts +3 -0
  187. package/dist/features/wishlist/hooks/useGuestWishlist.d.ts +20 -0
  188. package/dist/features/wishlist/hooks/useGuestWishlist.js +49 -0
  189. package/dist/features/wishlist/hooks/useWishlistCount.d.ts +7 -0
  190. package/dist/features/wishlist/hooks/useWishlistCount.js +31 -0
  191. package/dist/features/wishlist/hooks/useWishlistWithGuest.d.ts +56 -0
  192. package/dist/features/wishlist/hooks/useWishlistWithGuest.js +57 -0
  193. package/dist/features/wishlist/index.d.ts +3 -0
  194. package/dist/features/wishlist/index.js +3 -0
  195. package/dist/features/wishlist/utils/guest-wishlist.d.ts +22 -0
  196. package/dist/features/wishlist/utils/guest-wishlist.js +70 -0
  197. package/dist/index.d.ts +50 -1
  198. package/dist/index.js +63 -1
  199. package/dist/next/routing/route-map.d.ts +70 -36
  200. package/dist/next/routing/route-map.js +30 -22
  201. package/dist/seed/addresses-seed-data.js +62 -261
  202. package/dist/seed/beyblade-seed-data.d.ts +7 -0
  203. package/dist/seed/beyblade-seed-data.js +947 -0
  204. package/dist/seed/bids-seed-data.d.ts +10 -2
  205. package/dist/seed/bids-seed-data.js +220 -1071
  206. package/dist/seed/blog-posts-seed-data.d.ts +2 -2
  207. package/dist/seed/blog-posts-seed-data.js +455 -117
  208. package/dist/seed/cart-seed-data.d.ts +9 -9
  209. package/dist/seed/cart-seed-data.js +73 -74
  210. package/dist/seed/coupons-seed-data.d.ts +3 -4
  211. package/dist/seed/coupons-seed-data.js +3 -509
  212. package/dist/seed/events-seed-data.d.ts +2 -2
  213. package/dist/seed/events-seed-data.js +315 -476
  214. package/dist/seed/faq-seed-data.d.ts +18 -41
  215. package/dist/seed/faq-seed-data.js +1059 -1172
  216. package/dist/seed/hot-wheels-seed-data.d.ts +7 -0
  217. package/dist/seed/hot-wheels-seed-data.js +1365 -0
  218. package/dist/seed/index.d.ts +6 -1
  219. package/dist/seed/index.js +6 -1
  220. package/dist/seed/pokemon-carousel-slides-seed-data.d.ts +4 -2
  221. package/dist/seed/pokemon-carousel-slides-seed-data.js +152 -268
  222. package/dist/seed/pokemon-categories-seed-data.d.ts +18 -21
  223. package/dist/seed/pokemon-categories-seed-data.js +424 -1004
  224. package/dist/seed/pokemon-coupons-seed-data.d.ts +6 -0
  225. package/dist/seed/pokemon-coupons-seed-data.js +465 -0
  226. package/dist/seed/pokemon-homepage-sections-seed-data.d.ts +3 -2
  227. package/dist/seed/pokemon-homepage-sections-seed-data.js +67 -289
  228. package/dist/seed/pokemon-products-seed-data.js +662 -0
  229. package/dist/seed/pokemon-seed-bundle.d.ts +32 -11
  230. package/dist/seed/pokemon-seed-bundle.js +41 -11
  231. package/dist/seed/pokemon-stores-seed-data.d.ts +2 -3
  232. package/dist/seed/pokemon-stores-seed-data.js +56 -31
  233. package/dist/seed/pokemon-users-seed-data.d.ts +2 -2
  234. package/dist/seed/pokemon-users-seed-data.js +245 -261
  235. package/dist/seed/reviews-seed-data.d.ts +17 -2
  236. package/dist/seed/reviews-seed-data.js +519 -483
  237. package/dist/seed/site-settings-seed-data.js +14 -14
  238. package/dist/seed/store-addresses-seed-data.js +68 -50
  239. package/dist/seed/transformers-seed-data.d.ts +7 -0
  240. package/dist/seed/transformers-seed-data.js +510 -0
  241. package/dist/seed/wishlists-seed-data.d.ts +5 -1
  242. package/dist/seed/wishlists-seed-data.js +82 -4
  243. package/dist/server.d.ts +1 -0
  244. package/dist/server.js +2 -0
  245. package/dist/tokens/index.d.ts +6 -0
  246. package/dist/tokens/index.js +2 -0
  247. package/dist/ui/components/BaseListingCard.js +24 -26
  248. package/dist/ui/components/BaseListingCard.style.css +5 -5
  249. package/dist/ui/components/HorizontalScroller.d.ts +1 -1
  250. package/dist/ui/components/HorizontalScroller.js +19 -5
  251. package/dist/ui/components/SideDrawer.style.css +3 -11
  252. package/dist/ui/rich-text/RichText.js +19 -1
  253. package/package.json +1 -1
@@ -0,0 +1,947 @@
1
+ /**
2
+ * Beyblade Burst — Products Seed Data
3
+ * 20 general · 2 auctions · 2 pre-orders = 24 total
4
+ * Seller: Bladers Paradise (store-bladers-paradise)
5
+ */
6
+ import { getDefaultCurrency } from "./seed-market-config";
7
+ const _CURRENCY = getDefaultCurrency();
8
+ const NOW = new Date();
9
+ const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
10
+ const daysAhead = (n) => new Date(NOW.getTime() + n * 86400000);
11
+ const BP = {
12
+ sellerId: "user-bladers-paradise",
13
+ storeId: "store-bladers-paradise",
14
+ sellerName: "Bladers Paradise",
15
+ sellerEmail: "bladers@letitrip.in",
16
+ };
17
+ const img = (seed) => `https://picsum.photos/seed/${seed}/600/600`;
18
+ export const beybladeProductsSeedData = [
19
+ // ── ATTACK TYPE (6) ──────────────────────────────────────────────────────
20
+ {
21
+ id: "product-bb-valtryek-v5-attack-bp-1",
22
+ title: "Beyblade Burst — Valtryek V5 Attack Type (Rise)",
23
+ description: "<p>Valtryek V5 is one of the most powerful attack-type Beyblades in the Burst Rise series. The five-bladed layer delivers devastating attacks with high burst resistance. Includes launcher and ripcord.</p>",
24
+ slug: "bb-valtryek-v5-attack-rise",
25
+ category: "category-bb-attack-type",
26
+ subcategory: "Burst Rise",
27
+ brand: "Beyblade Burst",
28
+ price: 1299,
29
+ currency: _CURRENCY,
30
+ stockQuantity: 20,
31
+ availableQuantity: 17,
32
+ mainImage: img("bb-valtryek-v5"),
33
+ images: [img("bb-valtryek-v5"), img("bb-valtryek-v5-2")],
34
+ status: "published",
35
+ ...BP,
36
+ featured: true,
37
+ tags: ["beyblade", "burst", "valtryek", "v5", "attack", "rise"],
38
+ specifications: [
39
+ { name: "Series", value: "Beyblade Burst Rise" },
40
+ { name: "Type", value: "Attack" },
41
+ { name: "Layer", value: "Victory Valtryek V5" },
42
+ { name: "Forge Disc", value: "10 Glaive" },
43
+ { name: "Performance Tip", value: "Volcanic" },
44
+ ],
45
+ features: ["High burst resistance", "Five-blade attack layer", "Includes launcher + ripcord"],
46
+ shippingInfo: "Padded box. Nationwide delivery.",
47
+ returnPolicy: "7-day returns for unopened items.",
48
+ condition: "new",
49
+ insurance: false,
50
+ shippingPaidBy: "seller",
51
+ isAuction: false,
52
+ isPreOrder: false,
53
+ isPromoted: true,
54
+ promotionEndDate: daysAhead(30),
55
+ avgRating: 4.7,
56
+ reviewCount: 28,
57
+ createdAt: daysAgo(60),
58
+ updatedAt: daysAgo(3),
59
+ },
60
+ {
61
+ id: "product-bb-spriggan-requiem-attack-bp-2",
62
+ title: "Beyblade Burst — Spriggan Requiem Attack/Stamina (Turbo)",
63
+ description: "<p>Spriggan Requiem from Beyblade Burst Turbo — the mythical dual-spin top that dominated every competition in its era. Spin right for Attack, left for Stamina. Legendary performance.</p>",
64
+ slug: "bb-spriggan-requiem-turbo-attack-stamina",
65
+ category: "category-bb-attack-type",
66
+ subcategory: "Burst Turbo",
67
+ brand: "Beyblade Burst",
68
+ price: 2499,
69
+ currency: _CURRENCY,
70
+ stockQuantity: 8,
71
+ availableQuantity: 6,
72
+ mainImage: img("bb-spriggan-requiem"),
73
+ images: [img("bb-spriggan-requiem")],
74
+ status: "published",
75
+ ...BP,
76
+ featured: true,
77
+ tags: ["beyblade", "burst", "spriggan", "requiem", "turbo", "dual spin", "legendary"],
78
+ specifications: [
79
+ { name: "Series", value: "Beyblade Burst Turbo" },
80
+ { name: "Type", value: "Attack / Stamina (Dual Spin)" },
81
+ { name: "Layer", value: "Spriggan Requiem" },
82
+ { name: "Special Feature", value: "Dual-spin (right/left)" },
83
+ ],
84
+ features: ["Dual spin capability", "Attack + Stamina modes", "Legendary series bey"],
85
+ shippingInfo: "Premium padded box.",
86
+ returnPolicy: "7-day returns unopened.",
87
+ condition: "new",
88
+ insurance: false,
89
+ shippingPaidBy: "seller",
90
+ isAuction: false,
91
+ isPreOrder: false,
92
+ isPromoted: true,
93
+ promotionEndDate: daysAhead(20),
94
+ avgRating: 4.9,
95
+ reviewCount: 52,
96
+ createdAt: daysAgo(55),
97
+ updatedAt: daysAgo(2),
98
+ },
99
+ {
100
+ id: "product-bb-cho-z-achilles-attack-bp-3",
101
+ title: "Beyblade Burst — Cho-Z Achilles 00 Dimension Attack",
102
+ description: "<p>Cho-Z Achilles 00 Dimension — the most powerful attack-type in Burst Cho-Z series. Metal-reinforced armor for devastating strikes. Used by Aiger Akabane in the anime.</p>",
103
+ slug: "bb-cho-z-achilles-00-dimension-attack",
104
+ category: "category-bb-attack-type",
105
+ subcategory: "Burst Cho-Z",
106
+ brand: "Beyblade Burst",
107
+ price: 1899,
108
+ currency: _CURRENCY,
109
+ stockQuantity: 12,
110
+ availableQuantity: 10,
111
+ mainImage: img("bb-achilles-cho-z"),
112
+ images: [img("bb-achilles-cho-z")],
113
+ status: "published",
114
+ ...BP,
115
+ featured: false,
116
+ tags: ["beyblade", "burst", "achilles", "cho-z", "attack", "aiger"],
117
+ specifications: [
118
+ { name: "Series", value: "Beyblade Burst Cho-Z" },
119
+ { name: "Type", value: "Attack" },
120
+ { name: "Layer", value: "Cho-Z Achilles" },
121
+ { name: "Chassis", value: "00 Dimension" },
122
+ ],
123
+ features: ["Metal Cho-Z armor", "High power attack", "Anime protagonist bey"],
124
+ shippingInfo: "Padded nationwide delivery.",
125
+ returnPolicy: "7-day returns.",
126
+ condition: "new",
127
+ insurance: false,
128
+ shippingPaidBy: "seller",
129
+ isAuction: false,
130
+ isPreOrder: false,
131
+ avgRating: 4.8,
132
+ reviewCount: 34,
133
+ createdAt: daysAgo(50),
134
+ updatedAt: daysAgo(5),
135
+ },
136
+ {
137
+ id: "product-bb-world-spriggan-attack-bp-4",
138
+ title: "Beyblade Burst — World Spriggan Unison' Sword Drift Attack",
139
+ description: "<p>World Spriggan features the unique Unison Driver that switches between Attack and Stamina modes dynamically during battle. A top competitive choice in GT series.</p>",
140
+ slug: "bb-world-spriggan-unison-sword-drift",
141
+ category: "category-bb-attack-type",
142
+ subcategory: "Burst GT",
143
+ brand: "Beyblade Burst",
144
+ price: 2199,
145
+ currency: _CURRENCY,
146
+ stockQuantity: 10,
147
+ availableQuantity: 8,
148
+ mainImage: img("bb-world-spriggan"),
149
+ images: [img("bb-world-spriggan")],
150
+ status: "published",
151
+ ...BP,
152
+ featured: true,
153
+ tags: ["beyblade", "burst", "world spriggan", "gt", "attack", "unison"],
154
+ specifications: [
155
+ { name: "Series", value: "Beyblade Burst GT" },
156
+ { name: "Type", value: "Attack / Stamina (Dynamic)" },
157
+ { name: "Driver", value: "Unison Sword Drift" },
158
+ ],
159
+ features: ["Dynamic mode switch", "Unison driver technology", "GT series champion"],
160
+ shippingInfo: "Padded box.",
161
+ returnPolicy: "7-day returns.",
162
+ condition: "new",
163
+ insurance: false,
164
+ shippingPaidBy: "seller",
165
+ isAuction: false,
166
+ isPreOrder: false,
167
+ avgRating: 4.8,
168
+ reviewCount: 22,
169
+ createdAt: daysAgo(45),
170
+ updatedAt: daysAgo(4),
171
+ },
172
+ {
173
+ id: "product-bb-turbo-spryzen-s4-attack-bp-5",
174
+ title: "Beyblade Burst — Turbo Spryzen S4 Tornado Strike Attack",
175
+ description: "<p>Turbo Spryzen S4 — the iconic balance-to-attack Beyblade from Burst Turbo. The tornado-generating performance tip creates spiraling attack patterns that confuse opponents.</p>",
176
+ slug: "bb-turbo-spryzen-s4-tornado-strike",
177
+ category: "category-bb-attack-type",
178
+ subcategory: "Burst Turbo",
179
+ brand: "Beyblade Burst",
180
+ price: 1599,
181
+ currency: _CURRENCY,
182
+ stockQuantity: 14,
183
+ availableQuantity: 12,
184
+ mainImage: img("bb-turbo-spryzen"),
185
+ images: [img("bb-turbo-spryzen")],
186
+ status: "published",
187
+ ...BP,
188
+ featured: false,
189
+ tags: ["beyblade", "burst", "spryzen", "turbo", "tornado", "attack"],
190
+ specifications: [
191
+ { name: "Series", value: "Beyblade Burst Turbo" },
192
+ { name: "Type", value: "Attack" },
193
+ ],
194
+ features: ["Tornado Strike performance tip", "Spiral attack pattern"],
195
+ shippingInfo: "Nationwide padded delivery.",
196
+ returnPolicy: "7-day returns.",
197
+ condition: "new",
198
+ insurance: false,
199
+ shippingPaidBy: "seller",
200
+ isAuction: false,
201
+ isPreOrder: false,
202
+ avgRating: 4.5,
203
+ reviewCount: 19,
204
+ createdAt: daysAgo(40),
205
+ updatedAt: daysAgo(6),
206
+ },
207
+ {
208
+ id: "product-bb-ultimate-valtryek-v6-attack-bp-6",
209
+ title: "Beyblade Burst — Ultimate Valtryek V6 Volcanic' Attack",
210
+ description: "<p>The ultimate evolution of Valtryek. V6 features enhanced burst resistance and the Volcanic' driver for aggressive close-range attacks. Limited restock — get yours now.</p>",
211
+ slug: "bb-ultimate-valtryek-v6-volcanic-attack",
212
+ category: "category-bb-attack-type",
213
+ subcategory: "Burst Superking",
214
+ brand: "Beyblade Burst",
215
+ price: 1799,
216
+ currency: _CURRENCY,
217
+ stockQuantity: 9,
218
+ availableQuantity: 7,
219
+ mainImage: img("bb-valtryek-v6"),
220
+ images: [img("bb-valtryek-v6")],
221
+ status: "published",
222
+ ...BP,
223
+ featured: false,
224
+ tags: ["beyblade", "burst", "valtryek", "v6", "ultimate", "attack"],
225
+ specifications: [
226
+ { name: "Series", value: "Beyblade Burst Superking" },
227
+ { name: "Type", value: "Attack" },
228
+ { name: "Generation", value: "V6 — 6th evolution" },
229
+ ],
230
+ features: ["Enhanced burst resistance", "Volcanic' driver", "6th-gen Valtryek evolution"],
231
+ shippingInfo: "Nationwide delivery.",
232
+ returnPolicy: "7-day returns.",
233
+ condition: "new",
234
+ insurance: false,
235
+ shippingPaidBy: "seller",
236
+ isAuction: false,
237
+ isPreOrder: false,
238
+ avgRating: 4.6,
239
+ reviewCount: 15,
240
+ createdAt: daysAgo(35),
241
+ updatedAt: daysAgo(7),
242
+ },
243
+ // ── DEFENSE TYPE (4) ──────────────────────────────────────────────────────
244
+ {
245
+ id: "product-bb-maximum-garuda-g6-defense-bp-7",
246
+ title: "Beyblade Burst — Maximum Garuda G6 Defense",
247
+ description: "<p>Maximum Garuda G6 is a wide, heavy defense-type Beyblade from Burst Rise. The six-wing layer absorbs attacks efficiently, and the heavy disc adds stability under pressure.</p>",
248
+ slug: "bb-maximum-garuda-g6-defense",
249
+ category: "category-bb-defense-type",
250
+ subcategory: "Burst Rise",
251
+ brand: "Beyblade Burst",
252
+ price: 1399,
253
+ currency: _CURRENCY,
254
+ stockQuantity: 15,
255
+ availableQuantity: 13,
256
+ mainImage: img("bb-garuda-g6"),
257
+ images: [img("bb-garuda-g6")],
258
+ status: "published",
259
+ ...BP,
260
+ featured: false,
261
+ tags: ["beyblade", "burst", "garuda", "g6", "defense", "rise"],
262
+ specifications: [
263
+ { name: "Series", value: "Beyblade Burst Rise" },
264
+ { name: "Type", value: "Defense" },
265
+ { name: "Layer", value: "Maximum Garuda G6" },
266
+ ],
267
+ features: ["6-wing defense layer", "Heavy metal disc", "High resistance to bursting"],
268
+ shippingInfo: "Padded nationwide delivery.",
269
+ returnPolicy: "7-day returns.",
270
+ condition: "new",
271
+ insurance: false,
272
+ shippingPaidBy: "seller",
273
+ isAuction: false,
274
+ isPreOrder: false,
275
+ avgRating: 4.5,
276
+ reviewCount: 20,
277
+ createdAt: daysAgo(55),
278
+ updatedAt: daysAgo(4),
279
+ },
280
+ {
281
+ id: "product-bb-tempest-dragon-defense-bp-8",
282
+ title: "Beyblade Burst — Tempest Dragon Defense (QuadDrive)",
283
+ description: "<p>Tempest Dragon from QuadDrive — the toughest defense bey in the series. The dragon-themed layer has reinforced ridges that deflect attack-type hits and maintain spin momentum.</p>",
284
+ slug: "bb-tempest-dragon-defense-quaddrive",
285
+ category: "category-bb-defense-type",
286
+ subcategory: "Burst QuadDrive",
287
+ brand: "Beyblade Burst",
288
+ price: 1899,
289
+ currency: _CURRENCY,
290
+ stockQuantity: 10,
291
+ availableQuantity: 9,
292
+ mainImage: img("bb-tempest-dragon"),
293
+ images: [img("bb-tempest-dragon")],
294
+ status: "published",
295
+ ...BP,
296
+ featured: true,
297
+ tags: ["beyblade", "burst", "tempest dragon", "defense", "quaddrive"],
298
+ specifications: [
299
+ { name: "Series", value: "Beyblade Burst QuadDrive" },
300
+ { name: "Type", value: "Defense" },
301
+ ],
302
+ features: ["Reinforced dragon ridges", "Deflection-optimised shape", "QuadDrive chassis"],
303
+ shippingInfo: "Padded nationwide delivery.",
304
+ returnPolicy: "7-day returns.",
305
+ condition: "new",
306
+ insurance: false,
307
+ shippingPaidBy: "seller",
308
+ isAuction: false,
309
+ isPreOrder: false,
310
+ avgRating: 4.6,
311
+ reviewCount: 16,
312
+ createdAt: daysAgo(48),
313
+ updatedAt: daysAgo(5),
314
+ },
315
+ {
316
+ id: "product-bb-balkesh-b3-defense-bp-9",
317
+ title: "Beyblade Burst — Balkesh B3 Iron Defense",
318
+ description: "<p>Balkesh B3 Iron Defense from original Burst series. The bull-horned layer provides excellent self-righting behaviour and burst resistance. A foundational defense-type bey.</p>",
319
+ slug: "bb-balkesh-b3-iron-defense",
320
+ category: "category-bb-defense-type",
321
+ subcategory: "Burst Original",
322
+ brand: "Beyblade Burst",
323
+ price: 999,
324
+ currency: _CURRENCY,
325
+ stockQuantity: 18,
326
+ availableQuantity: 16,
327
+ mainImage: img("bb-balkesh-b3"),
328
+ images: [img("bb-balkesh-b3")],
329
+ status: "published",
330
+ ...BP,
331
+ featured: false,
332
+ tags: ["beyblade", "burst", "balkesh", "b3", "defense"],
333
+ specifications: [
334
+ { name: "Series", value: "Beyblade Burst Original" },
335
+ { name: "Type", value: "Defense" },
336
+ ],
337
+ features: ["Bull horn shape", "Burst resistance", "Solid defense profile"],
338
+ shippingInfo: "Nationwide delivery.",
339
+ returnPolicy: "7-day returns.",
340
+ condition: "new",
341
+ insurance: false,
342
+ shippingPaidBy: "seller",
343
+ isAuction: false,
344
+ isPreOrder: false,
345
+ avgRating: 4.3,
346
+ reviewCount: 11,
347
+ createdAt: daysAgo(40),
348
+ updatedAt: daysAgo(8),
349
+ },
350
+ {
351
+ id: "product-bb-king-helios-defense-bp-10",
352
+ title: "Beyblade Burst — King Helios Zn Dimension Defense",
353
+ description: "<p>King Helios Zn Dimension from Burst QuadDrive — heavy defense chassis with the King Helios sun-themed layer. Exceptional stability under relentless attack combinations.</p>",
354
+ slug: "bb-king-helios-zn-dimension-defense",
355
+ category: "category-bb-defense-type",
356
+ subcategory: "Burst QuadDrive",
357
+ brand: "Beyblade Burst",
358
+ price: 1699,
359
+ currency: _CURRENCY,
360
+ stockQuantity: 11,
361
+ availableQuantity: 9,
362
+ mainImage: img("bb-king-helios"),
363
+ images: [img("bb-king-helios")],
364
+ status: "published",
365
+ ...BP,
366
+ featured: false,
367
+ tags: ["beyblade", "burst", "king helios", "zn", "defense", "quaddrive"],
368
+ specifications: [
369
+ { name: "Series", value: "Beyblade Burst QuadDrive" },
370
+ { name: "Type", value: "Defense" },
371
+ { name: "Chassis", value: "Zn Dimension" },
372
+ ],
373
+ features: ["Sun-themed layer", "High stability chassis", "Heavy defense build"],
374
+ shippingInfo: "Padded nationwide.",
375
+ returnPolicy: "7-day returns.",
376
+ condition: "new",
377
+ insurance: false,
378
+ shippingPaidBy: "seller",
379
+ isAuction: false,
380
+ isPreOrder: false,
381
+ avgRating: 4.5,
382
+ reviewCount: 13,
383
+ createdAt: daysAgo(32),
384
+ updatedAt: daysAgo(6),
385
+ },
386
+ // ── STAMINA TYPE (5) ──────────────────────────────────────────────────────
387
+ {
388
+ id: "product-bb-nepstrius-n4-stamina-bp-11",
389
+ title: "Beyblade Burst — Nepstrius N4 Octo' Yard' Stamina",
390
+ description: "<p>Nepstrius N4 is the definitive stamina-type Beyblade from Burst Rise. Low-friction tip and aerodynamic layer allow it to outlast almost any opponent. Tournament pick for stamina bladers.</p>",
391
+ slug: "bb-nepstrius-n4-octo-yard-stamina",
392
+ category: "category-bb-stamina-type",
393
+ subcategory: "Burst Rise",
394
+ brand: "Beyblade Burst",
395
+ price: 1299,
396
+ currency: _CURRENCY,
397
+ stockQuantity: 16,
398
+ availableQuantity: 14,
399
+ mainImage: img("bb-nepstrius-n4"),
400
+ images: [img("bb-nepstrius-n4")],
401
+ status: "published",
402
+ ...BP,
403
+ featured: true,
404
+ tags: ["beyblade", "burst", "nepstrius", "n4", "stamina", "rise", "tournament"],
405
+ specifications: [
406
+ { name: "Series", value: "Beyblade Burst Rise" },
407
+ { name: "Type", value: "Stamina" },
408
+ { name: "Performance Tip", value: "Yard' (low friction)" },
409
+ ],
410
+ features: ["Ultra-low friction Yard' tip", "Aerodynamic layer", "Tournament-grade stamina"],
411
+ shippingInfo: "Padded nationwide.",
412
+ returnPolicy: "7-day returns.",
413
+ condition: "new",
414
+ insurance: false,
415
+ shippingPaidBy: "seller",
416
+ isAuction: false,
417
+ isPreOrder: false,
418
+ isPromoted: true,
419
+ promotionEndDate: daysAhead(25),
420
+ avgRating: 4.8,
421
+ reviewCount: 41,
422
+ createdAt: daysAgo(65),
423
+ updatedAt: daysAgo(3),
424
+ },
425
+ {
426
+ id: "product-bb-chaos-hyperion-stamina-bp-12",
427
+ title: "Beyblade Burst — Chaos Hyperion Stamina (Superking)",
428
+ description: "<p>Hyperion Burn from Burst Superking — a fearsome stamina type with the Hyperion sun layer and Burn performance tip. Lights up the stadium with its signature glow effect during battle.</p>",
429
+ slug: "bb-chaos-hyperion-burn-stamina-superking",
430
+ category: "category-bb-stamina-type",
431
+ subcategory: "Burst Superking",
432
+ brand: "Beyblade Burst",
433
+ price: 1799,
434
+ currency: _CURRENCY,
435
+ stockQuantity: 10,
436
+ availableQuantity: 8,
437
+ mainImage: img("bb-hyperion"),
438
+ images: [img("bb-hyperion")],
439
+ status: "published",
440
+ ...BP,
441
+ featured: false,
442
+ tags: ["beyblade", "burst", "hyperion", "stamina", "superking", "glow"],
443
+ specifications: [
444
+ { name: "Series", value: "Beyblade Burst Superking" },
445
+ { name: "Type", value: "Stamina" },
446
+ { name: "Special Feature", value: "LED glow effect" },
447
+ ],
448
+ features: ["LED glow effect during spin", "Aerodynamic Hyperion layer", "Burn tip stamina"],
449
+ shippingInfo: "Padded box nationwide.",
450
+ returnPolicy: "7-day returns.",
451
+ condition: "new",
452
+ insurance: false,
453
+ shippingPaidBy: "seller",
454
+ isAuction: false,
455
+ isPreOrder: false,
456
+ avgRating: 4.7,
457
+ reviewCount: 24,
458
+ createdAt: daysAgo(50),
459
+ updatedAt: daysAgo(4),
460
+ },
461
+ {
462
+ id: "product-bb-revive-phoenix-stamina-bp-13",
463
+ title: "Beyblade Burst — Revive Phoenix 10Fr Survive Stamina",
464
+ description: "<p>Revive Phoenix — the legendary stamina-type with the unique 'Survive' performance tip that self-rights when tilted. Near impossible to knock out. A collector icon.</p>",
465
+ slug: "bb-revive-phoenix-10fr-survive-stamina",
466
+ category: "category-bb-stamina-type",
467
+ subcategory: "Burst Evolution",
468
+ brand: "Beyblade Burst",
469
+ price: 2499,
470
+ currency: _CURRENCY,
471
+ stockQuantity: 7,
472
+ availableQuantity: 5,
473
+ mainImage: img("bb-revive-phoenix"),
474
+ images: [img("bb-revive-phoenix")],
475
+ status: "published",
476
+ ...BP,
477
+ featured: true,
478
+ tags: ["beyblade", "burst", "revive phoenix", "stamina", "survive", "legendary"],
479
+ specifications: [
480
+ { name: "Series", value: "Beyblade Burst Evolution" },
481
+ { name: "Type", value: "Stamina" },
482
+ { name: "Performance Tip", value: "Survive (self-righting)" },
483
+ ],
484
+ features: ["Self-righting Survive tip", "Phoenix rebirth mechanic", "Legendary tournament bey"],
485
+ shippingInfo: "Premium padded box.",
486
+ returnPolicy: "7-day returns.",
487
+ condition: "new",
488
+ insurance: false,
489
+ shippingPaidBy: "seller",
490
+ isAuction: false,
491
+ isPreOrder: false,
492
+ isPromoted: true,
493
+ promotionEndDate: daysAhead(20),
494
+ avgRating: 4.9,
495
+ reviewCount: 67,
496
+ createdAt: daysAgo(75),
497
+ updatedAt: daysAgo(2),
498
+ },
499
+ {
500
+ id: "product-bb-air-knight-a5-stamina-bp-14",
501
+ title: "Beyblade Burst — Air Knight A5 Hurricane Hold' Stamina",
502
+ description: "<p>Air Knight A5 from Burst Rise — aerodynamic wing design that channels air flow for maximum spin time. The Hurricane Hold' tip creates a centre-gravity vortex that outlasts all competition.</p>",
503
+ slug: "bb-air-knight-a5-hurricane-hold-stamina",
504
+ category: "category-bb-stamina-type",
505
+ subcategory: "Burst Rise",
506
+ brand: "Beyblade Burst",
507
+ price: 1399,
508
+ currency: _CURRENCY,
509
+ stockQuantity: 13,
510
+ availableQuantity: 11,
511
+ mainImage: img("bb-air-knight"),
512
+ images: [img("bb-air-knight")],
513
+ status: "published",
514
+ ...BP,
515
+ featured: false,
516
+ tags: ["beyblade", "burst", "air knight", "a5", "stamina", "rise"],
517
+ specifications: [
518
+ { name: "Series", value: "Beyblade Burst Rise" },
519
+ { name: "Type", value: "Stamina" },
520
+ { name: "Performance Tip", value: "Hurricane Hold'" },
521
+ ],
522
+ features: ["Aerodynamic wing layer", "Hurricane tip for long spin", "Air channel design"],
523
+ shippingInfo: "Nationwide padded delivery.",
524
+ returnPolicy: "7-day returns.",
525
+ condition: "new",
526
+ insurance: false,
527
+ shippingPaidBy: "seller",
528
+ isAuction: false,
529
+ isPreOrder: false,
530
+ avgRating: 4.6,
531
+ reviewCount: 18,
532
+ createdAt: daysAgo(42),
533
+ updatedAt: daysAgo(5),
534
+ },
535
+ {
536
+ id: "product-bb-longinus-5-stamina-bp-15",
537
+ title: "Beyblade Burst — Longinus 5 Hell Scythe Stamina",
538
+ description: "<p>Hell Longinus 5 from Burst Cho-Z — a stamina-type with a dual-scythe attack layer that shreds opponents while maintaining extraordinary spin time. The go-to bey of countless champions.</p>",
539
+ slug: "bb-longinus-5-hell-scythe-stamina",
540
+ category: "category-bb-stamina-type",
541
+ subcategory: "Burst Cho-Z",
542
+ brand: "Beyblade Burst",
543
+ price: 1799,
544
+ currency: _CURRENCY,
545
+ stockQuantity: 11,
546
+ availableQuantity: 9,
547
+ mainImage: img("bb-longinus-5"),
548
+ images: [img("bb-longinus-5")],
549
+ status: "published",
550
+ ...BP,
551
+ featured: false,
552
+ tags: ["beyblade", "burst", "longinus", "l5", "stamina", "cho-z"],
553
+ specifications: [
554
+ { name: "Series", value: "Beyblade Burst Cho-Z" },
555
+ { name: "Type", value: "Stamina" },
556
+ { name: "Layer", value: "Hell Longinus" },
557
+ ],
558
+ features: ["Dual scythe attack edges", "Stamina-optimised disc", "Cho-Z metal armour"],
559
+ shippingInfo: "Padded nationwide.",
560
+ returnPolicy: "7-day returns.",
561
+ condition: "new",
562
+ insurance: false,
563
+ shippingPaidBy: "seller",
564
+ isAuction: false,
565
+ isPreOrder: false,
566
+ avgRating: 4.7,
567
+ reviewCount: 30,
568
+ createdAt: daysAgo(38),
569
+ updatedAt: daysAgo(6),
570
+ },
571
+ // ── BALANCE TYPE (3) ──────────────────────────────────────────────────────
572
+ {
573
+ id: "product-bb-genesis-drago-balance-bp-16",
574
+ title: "Beyblade Burst — Genesis Drago 10*B Assault Balance",
575
+ description: "<p>Genesis Drago from original Burst — the dragon-themed balance-type Beyblade. Versatile performance tip allows aggressive and defensive strategies. Iconic bey of Valt Aoi in the anime.</p>",
576
+ slug: "bb-genesis-drago-10b-assault-balance",
577
+ category: "category-bb-balance-type",
578
+ subcategory: "Burst Original",
579
+ brand: "Beyblade Burst",
580
+ price: 1499,
581
+ currency: _CURRENCY,
582
+ stockQuantity: 15,
583
+ availableQuantity: 13,
584
+ mainImage: img("bb-genesis-drago"),
585
+ images: [img("bb-genesis-drago")],
586
+ status: "published",
587
+ ...BP,
588
+ featured: true,
589
+ tags: ["beyblade", "burst", "drago", "genesis", "balance", "valt"],
590
+ specifications: [
591
+ { name: "Series", value: "Beyblade Burst Original" },
592
+ { name: "Type", value: "Balance" },
593
+ { name: "Protagonist", value: "Valt Aoi" },
594
+ ],
595
+ features: ["Versatile balance performance", "Dragon theme", "Iconic anime protagonist bey"],
596
+ shippingInfo: "Nationwide padded delivery.",
597
+ returnPolicy: "7-day returns.",
598
+ condition: "new",
599
+ insurance: false,
600
+ shippingPaidBy: "seller",
601
+ isAuction: false,
602
+ isPreOrder: false,
603
+ isPromoted: true,
604
+ promotionEndDate: daysAhead(30),
605
+ avgRating: 4.7,
606
+ reviewCount: 45,
607
+ createdAt: daysAgo(80),
608
+ updatedAt: daysAgo(3),
609
+ },
610
+ {
611
+ id: "product-bb-turbo-achilles-balance-bp-17",
612
+ title: "Beyblade Burst — Turbo Achilles A4 Xtreme' Revolve' Balance",
613
+ description: "<p>Turbo Achilles A4 from Burst Turbo — a high-performance balance-type with aggressive attack potential and solid stamina. The Xtreme' driver enables burst attacks while Revolve' base sustains spin.</p>",
614
+ slug: "bb-turbo-achilles-a4-xtreme-revolve-balance",
615
+ category: "category-bb-balance-type",
616
+ subcategory: "Burst Turbo",
617
+ brand: "Beyblade Burst",
618
+ price: 1999,
619
+ currency: _CURRENCY,
620
+ stockQuantity: 10,
621
+ availableQuantity: 8,
622
+ mainImage: img("bb-turbo-achilles"),
623
+ images: [img("bb-turbo-achilles")],
624
+ status: "published",
625
+ ...BP,
626
+ featured: false,
627
+ tags: ["beyblade", "burst", "achilles", "turbo", "balance", "a4"],
628
+ specifications: [
629
+ { name: "Series", value: "Beyblade Burst Turbo" },
630
+ { name: "Type", value: "Balance" },
631
+ { name: "Driver", value: "Xtreme' Revolve'" },
632
+ ],
633
+ features: ["Dual-mode Xtreme' Revolve' tip", "Balance-type versatility", "Attack + Stamina modes"],
634
+ shippingInfo: "Padded box.",
635
+ returnPolicy: "7-day returns.",
636
+ condition: "new",
637
+ insurance: false,
638
+ shippingPaidBy: "seller",
639
+ isAuction: false,
640
+ isPreOrder: false,
641
+ avgRating: 4.8,
642
+ reviewCount: 27,
643
+ createdAt: daysAgo(60),
644
+ updatedAt: daysAgo(4),
645
+ },
646
+ {
647
+ id: "product-bb-dead-hades-balance-bp-18",
648
+ title: "Beyblade Burst — Dead Hades 7 Iron Revolve' Balance",
649
+ description: "<p>Dead Hades — the dark balance-type from Burst Evolution. The Iron Disc adds defensive mass while the Revolve' driver enables exceptional stamina. One of the most complete balance beys ever made.</p>",
650
+ slug: "bb-dead-hades-7-iron-revolve-balance",
651
+ category: "category-bb-balance-type",
652
+ subcategory: "Burst Evolution",
653
+ brand: "Beyblade Burst",
654
+ price: 2199,
655
+ currency: _CURRENCY,
656
+ stockQuantity: 8,
657
+ availableQuantity: 6,
658
+ mainImage: img("bb-dead-hades"),
659
+ images: [img("bb-dead-hades")],
660
+ status: "published",
661
+ ...BP,
662
+ featured: true,
663
+ tags: ["beyblade", "burst", "dead hades", "balance", "evolution", "iron"],
664
+ specifications: [
665
+ { name: "Series", value: "Beyblade Burst Evolution" },
666
+ { name: "Type", value: "Balance" },
667
+ { name: "Forge Disc", value: "7 Iron" },
668
+ ],
669
+ features: ["7 Iron heavy disc", "Revolve' stamina driver", "Dark Hades theme"],
670
+ shippingInfo: "Premium padded box.",
671
+ returnPolicy: "7-day returns.",
672
+ condition: "new",
673
+ insurance: false,
674
+ shippingPaidBy: "seller",
675
+ isAuction: false,
676
+ isPreOrder: false,
677
+ avgRating: 4.9,
678
+ reviewCount: 32,
679
+ createdAt: daysAgo(55),
680
+ updatedAt: daysAgo(5),
681
+ },
682
+ // ── STADIUM & ACCESSORIES (2) ─────────────────────────────────────────────
683
+ {
684
+ id: "product-bb-attack-type-stadium-bp-19",
685
+ title: "Beyblade Burst BeyStadium — Attack Type Stadium",
686
+ description: "<p>The official Burst Attack Type stadium — designed for aggressive attack-type battles. Deep pockets and steep walls amplify bursts and send losers flying. Recommended for competitive play.</p>",
687
+ slug: "bb-burst-beystadium-attack-type",
688
+ category: "category-bb-stadium",
689
+ subcategory: "Stadiums",
690
+ brand: "Beyblade Burst",
691
+ price: 1499,
692
+ currency: _CURRENCY,
693
+ stockQuantity: 20,
694
+ availableQuantity: 17,
695
+ mainImage: img("bb-attack-stadium"),
696
+ images: [img("bb-attack-stadium"), img("bb-attack-stadium-2")],
697
+ status: "published",
698
+ ...BP,
699
+ featured: true,
700
+ tags: ["beyblade", "stadium", "attack type", "beystadium", "accessories"],
701
+ specifications: [
702
+ { name: "Type", value: "Attack Type Stadium" },
703
+ { name: "Series", value: "Beyblade Burst" },
704
+ { name: "Diameter", value: "~48 cm" },
705
+ { name: "Compatible", value: "All Burst series Beyblades" },
706
+ ],
707
+ features: ["Attack-optimised pocket design", "Steep walls for burst activation", "Non-slip base"],
708
+ shippingInfo: "Large flat-pack box. Nationwide delivery.",
709
+ returnPolicy: "7-day returns for damaged/defective items.",
710
+ condition: "new",
711
+ insurance: false,
712
+ shippingPaidBy: "seller",
713
+ isAuction: false,
714
+ isPreOrder: false,
715
+ isPromoted: true,
716
+ promotionEndDate: daysAhead(30),
717
+ avgRating: 4.6,
718
+ reviewCount: 38,
719
+ createdAt: daysAgo(90),
720
+ updatedAt: daysAgo(2),
721
+ },
722
+ {
723
+ id: "product-bb-gt-stamina-stadium-bp-20",
724
+ title: "Beyblade Burst GT Stamina BeyStadium — Pro Tournament",
725
+ description: "<p>Pro-grade Burst GT Stamina stadium used in official tournaments. Smooth, low-friction surface maximises stamina battles. Extra-deep walls keep beys in play longer. Comes with mesh scoring track.</p>",
726
+ slug: "bb-burst-gt-stamina-stadium-pro-tournament",
727
+ category: "category-bb-stadium",
728
+ subcategory: "Stadiums",
729
+ brand: "Beyblade Burst",
730
+ price: 2299,
731
+ currency: _CURRENCY,
732
+ stockQuantity: 12,
733
+ availableQuantity: 10,
734
+ mainImage: img("bb-stamina-stadium"),
735
+ images: [img("bb-stamina-stadium")],
736
+ status: "published",
737
+ ...BP,
738
+ featured: false,
739
+ tags: ["beyblade", "stadium", "stamina", "gt", "tournament", "pro"],
740
+ specifications: [
741
+ { name: "Type", value: "Stamina Type Stadium" },
742
+ { name: "Series", value: "Beyblade Burst GT" },
743
+ { name: "Diameter", value: "~56 cm" },
744
+ { name: "Level", value: "Tournament grade" },
745
+ ],
746
+ features: ["Tournament-grade surface", "Low friction base", "Mesh scoring track"],
747
+ shippingInfo: "Large padded box.",
748
+ returnPolicy: "7-day returns.",
749
+ condition: "new",
750
+ insurance: false,
751
+ shippingPaidBy: "seller",
752
+ isAuction: false,
753
+ isPreOrder: false,
754
+ avgRating: 4.8,
755
+ reviewCount: 25,
756
+ createdAt: daysAgo(70),
757
+ updatedAt: daysAgo(3),
758
+ },
759
+ // ── AUCTIONS (2) ─────────────────────────────────────────────────────────
760
+ {
761
+ id: "auction-bb-astral-spriggan-rare-bp-1",
762
+ title: "AUCTION — Beyblade Burst QuadDrive Astral Spriggan Rare",
763
+ description: "<p>Astral Spriggan from QuadDrive — the rarest attack-type Beyblade of the series. Limited international release, never made available in India officially. The Giga Driver delivers extreme power bursts. This is a Japan import in original packaging.</p>",
764
+ slug: "auction-bb-astral-spriggan-quaddrive-rare",
765
+ category: "category-bb-attack-type",
766
+ subcategory: "Burst QuadDrive",
767
+ brand: "Beyblade Burst",
768
+ price: 0,
769
+ currency: _CURRENCY,
770
+ stockQuantity: 1,
771
+ availableQuantity: 1,
772
+ mainImage: img("bb-astral-spriggan"),
773
+ images: [img("bb-astral-spriggan")],
774
+ status: "published",
775
+ ...BP,
776
+ featured: true,
777
+ tags: ["beyblade", "burst", "astral spriggan", "quaddrive", "rare", "japan import", "auction"],
778
+ specifications: [
779
+ { name: "Series", value: "Beyblade Burst QuadDrive" },
780
+ { name: "Type", value: "Attack" },
781
+ { name: "Origin", value: "Japan import" },
782
+ { name: "Driver", value: "Giga Driver" },
783
+ { name: "Condition", value: "Sealed box" },
784
+ ],
785
+ features: ["Japan exclusive import", "Giga Driver — extreme power", "Sealed original packaging", "Never released in India"],
786
+ shippingInfo: "Insured courier. Padded hard case.",
787
+ returnPolicy: "No returns on auction wins.",
788
+ condition: "new",
789
+ insurance: true,
790
+ insuranceCost: 149,
791
+ shippingPaidBy: "buyer",
792
+ isAuction: true,
793
+ auctionEndDate: daysAhead(6),
794
+ startingBid: 2999,
795
+ currentBid: 3700,
796
+ bidCount: 9,
797
+ reservePrice: 4000,
798
+ buyNowPrice: 7999,
799
+ minBidIncrement: 250,
800
+ autoExtendable: true,
801
+ auctionExtensionMinutes: 5,
802
+ auctionOriginalEndDate: daysAhead(6),
803
+ auctionShippingPaidBy: "winner",
804
+ isPreOrder: false,
805
+ isPromoted: true,
806
+ promotionEndDate: daysAhead(6),
807
+ avgRating: 0,
808
+ reviewCount: 0,
809
+ createdAt: daysAgo(1),
810
+ updatedAt: daysAgo(0),
811
+ },
812
+ {
813
+ id: "auction-bb-dead-phoenix-limited-bp-2",
814
+ title: "AUCTION — Beyblade Burst Evolution Dead Phoenix Hasbro Limited",
815
+ description: "<p>Dead Phoenix Limited Edition from Hasbro — the alternate Hasbro version of the Revive Phoenix with unique colour scheme and chrome disc. Only 500 units released in India. Original Hasbro packaging, never opened.</p>",
816
+ slug: "auction-bb-dead-phoenix-hasbro-limited",
817
+ category: "category-bb-stamina-type",
818
+ subcategory: "Burst Evolution",
819
+ brand: "Beyblade Burst",
820
+ price: 0,
821
+ currency: _CURRENCY,
822
+ stockQuantity: 1,
823
+ availableQuantity: 1,
824
+ mainImage: img("bb-dead-phoenix"),
825
+ images: [img("bb-dead-phoenix")],
826
+ status: "published",
827
+ ...BP,
828
+ featured: true,
829
+ tags: ["beyblade", "burst", "dead phoenix", "limited", "hasbro", "stamina", "auction"],
830
+ specifications: [
831
+ { name: "Series", value: "Beyblade Burst Evolution" },
832
+ { name: "Type", value: "Stamina" },
833
+ { name: "Edition", value: "Hasbro Limited — 500 units" },
834
+ { name: "Disc", value: "Chrome Disc" },
835
+ { name: "Condition", value: "Sealed" },
836
+ ],
837
+ features: ["Limited to 500 India units", "Chrome chrome disc variant", "Hasbro exclusive colour", "Original sealed packaging"],
838
+ shippingInfo: "Insured padded courier.",
839
+ returnPolicy: "No returns on auction wins.",
840
+ condition: "new",
841
+ insurance: true,
842
+ insuranceCost: 99,
843
+ shippingPaidBy: "buyer",
844
+ isAuction: true,
845
+ auctionEndDate: daysAhead(4),
846
+ startingBid: 3499,
847
+ currentBid: 4200,
848
+ bidCount: 12,
849
+ reservePrice: 5000,
850
+ buyNowPrice: 8999,
851
+ minBidIncrement: 250,
852
+ autoExtendable: true,
853
+ auctionExtensionMinutes: 5,
854
+ auctionOriginalEndDate: daysAhead(4),
855
+ auctionShippingPaidBy: "winner",
856
+ isPreOrder: false,
857
+ isPromoted: true,
858
+ promotionEndDate: daysAhead(4),
859
+ avgRating: 0,
860
+ reviewCount: 0,
861
+ createdAt: daysAgo(2),
862
+ updatedAt: daysAgo(0),
863
+ },
864
+ // ── PRE-ORDERS (2) ───────────────────────────────────────────────────────
865
+ {
866
+ id: "preorder-bb-quaddrive-wave3-2026-bp-1",
867
+ title: "PRE-ORDER — Beyblade Burst QuadDrive Wave 3 2026 (Starter Set)",
868
+ description: "<p>Reserve the upcoming Beyblade Burst QuadDrive Wave 3 2026 Starter Set featuring the new Valtryek and Longinus evolution models. Includes bey, launcher, and exclusive stadium piece. Pre-order for guaranteed day-1 delivery.</p>",
869
+ slug: "preorder-bb-quaddrive-wave3-starter-2026",
870
+ category: "category-bb-attack-type",
871
+ subcategory: "Burst QuadDrive",
872
+ brand: "Beyblade Burst",
873
+ price: 2499,
874
+ currency: _CURRENCY,
875
+ stockQuantity: 100,
876
+ availableQuantity: 78,
877
+ mainImage: img("bb-quaddrive-wave3"),
878
+ images: [img("bb-quaddrive-wave3")],
879
+ status: "published",
880
+ ...BP,
881
+ featured: true,
882
+ tags: ["beyblade", "burst", "quaddrive", "wave 3", "pre-order", "2026"],
883
+ specifications: [
884
+ { name: "Series", value: "Beyblade Burst QuadDrive" },
885
+ { name: "Wave", value: "Wave 3 2026" },
886
+ { name: "Includes", value: "Bey + Launcher + Stadium Piece" },
887
+ { name: "Expected Delivery", value: "Q2 2026" },
888
+ ],
889
+ features: ["Day-1 delivery guarantee", "Exclusive stadium piece", "New Valtryek evolution"],
890
+ shippingInfo: "Dispatched on release. Nationwide tracking.",
891
+ returnPolicy: "Pre-orders: cancel anytime before dispatch.",
892
+ condition: "new",
893
+ insurance: false,
894
+ shippingPaidBy: "seller",
895
+ isAuction: false,
896
+ isPreOrder: true,
897
+ preOrderDeliveryDate: daysAhead(90),
898
+ preOrderProductionStatus: "upcoming",
899
+ isPromoted: true,
900
+ promotionEndDate: daysAhead(45),
901
+ avgRating: 0,
902
+ reviewCount: 0,
903
+ createdAt: daysAgo(10),
904
+ updatedAt: daysAgo(2),
905
+ },
906
+ {
907
+ id: "preorder-bb-ultimate-championship-set-2026-bp-2",
908
+ title: "PRE-ORDER — Beyblade Burst Ultimate Championship Set 2026",
909
+ description: "<p>The official 2026 Beyblade Burst Ultimate Championship Set — everything you need to compete. Includes 3 championship-grade beys (Attack/Defense/Stamina), 2 string launchers, metal handle, and pro-grade Attack Type stadium. Pre-order at launch price.</p>",
910
+ slug: "preorder-bb-ultimate-championship-set-2026",
911
+ category: "category-bb-stadium",
912
+ subcategory: "Championship Sets",
913
+ brand: "Beyblade Burst",
914
+ price: 5999,
915
+ currency: _CURRENCY,
916
+ stockQuantity: 50,
917
+ availableQuantity: 41,
918
+ mainImage: img("bb-championship-set"),
919
+ images: [img("bb-championship-set")],
920
+ status: "published",
921
+ ...BP,
922
+ featured: true,
923
+ tags: ["beyblade", "burst", "championship", "set", "pre-order", "2026", "tournament"],
924
+ specifications: [
925
+ { name: "Contents", value: "3 Beyblades + 2 Launchers + Stadium" },
926
+ { name: "Launcher Type", value: "String Launcher with Metal Handle" },
927
+ { name: "Stadium", value: "Attack Type (Pro Grade)" },
928
+ { name: "Expected Delivery", value: "Q3 2026" },
929
+ ],
930
+ features: ["3 championship-grade beys", "2 string launchers", "Metal handle included", "Pro Attack stadium"],
931
+ shippingInfo: "Special championship packaging. Nationwide delivery.",
932
+ returnPolicy: "Pre-orders: cancel before dispatch.",
933
+ condition: "new",
934
+ insurance: false,
935
+ shippingPaidBy: "seller",
936
+ isAuction: false,
937
+ isPreOrder: true,
938
+ preOrderDeliveryDate: daysAhead(150),
939
+ preOrderProductionStatus: "upcoming",
940
+ isPromoted: true,
941
+ promotionEndDate: daysAhead(90),
942
+ avgRating: 0,
943
+ reviewCount: 0,
944
+ createdAt: daysAgo(7),
945
+ updatedAt: daysAgo(1),
946
+ },
947
+ ];