@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
@@ -45,7 +45,6 @@ export { usersSeedData } from "./users-seed-data";
45
45
  export { sessionsSeedData, SESSION_COLLECTION } from "./sessions-seed-data";
46
46
  export { addressesSeedData } from "./addresses-seed-data";
47
47
  export { storesSeedData } from "./stores-seed-data";
48
- export { pokemonStoresSeedData } from "./pokemon-stores-seed-data";
49
48
  export { storeAddressesSeedData } from "./store-addresses-seed-data";
50
49
  export { categoriesSeedData } from "./categories-seed-data";
51
50
  export { productsSeedData } from "./products-seed-data";
@@ -66,8 +65,14 @@ export { wishlistsSeedData } from "./wishlists-seed-data";
66
65
  export { pokemonUsersSeedData } from "./pokemon-users-seed-data";
67
66
  export { pokemonCategoriesSeedData } from "./pokemon-categories-seed-data";
68
67
  export { pokemonProductsSeedData } from "./pokemon-products-seed-data";
68
+ export { hotWheelsProductsSeedData } from "./hot-wheels-seed-data";
69
+ export { beybladeProductsSeedData } from "./beyblade-seed-data";
70
+ export { transformersProductsSeedData } from "./transformers-seed-data";
71
+ export { allProductsSeedData } from "./pokemon-seed-bundle";
72
+ export { pokemonStoresSeedData } from "./pokemon-stores-seed-data";
69
73
  export { pokemonCarouselSlidesSeedData } from "./pokemon-carousel-slides-seed-data";
70
74
  export { pokemonHomepageSectionsSeedData } from "./pokemon-homepage-sections-seed-data";
75
+ export { pokemonCouponsSeedData } from "./pokemon-coupons-seed-data";
71
76
  export type { FirestoreIndexConfig } from "./firestore-indexes";
72
77
  export { mergeFirestoreIndices, generateMergedFirestoreIndexFile, } from "./firestore-indexes";
73
78
  export { assertPiiRoundTrip, seedForTest } from "./test-utils";
@@ -27,7 +27,6 @@ export { usersSeedData } from "./users-seed-data";
27
27
  export { sessionsSeedData, SESSION_COLLECTION } from "./sessions-seed-data";
28
28
  export { addressesSeedData } from "./addresses-seed-data";
29
29
  export { storesSeedData } from "./stores-seed-data";
30
- export { pokemonStoresSeedData } from "./pokemon-stores-seed-data";
31
30
  export { storeAddressesSeedData } from "./store-addresses-seed-data";
32
31
  export { categoriesSeedData } from "./categories-seed-data";
33
32
  export { productsSeedData } from "./products-seed-data";
@@ -49,8 +48,14 @@ export { wishlistsSeedData } from "./wishlists-seed-data";
49
48
  export { pokemonUsersSeedData } from "./pokemon-users-seed-data";
50
49
  export { pokemonCategoriesSeedData } from "./pokemon-categories-seed-data";
51
50
  export { pokemonProductsSeedData } from "./pokemon-products-seed-data";
51
+ export { hotWheelsProductsSeedData } from "./hot-wheels-seed-data";
52
+ export { beybladeProductsSeedData } from "./beyblade-seed-data";
53
+ export { transformersProductsSeedData } from "./transformers-seed-data";
54
+ export { allProductsSeedData } from "./pokemon-seed-bundle";
55
+ export { pokemonStoresSeedData } from "./pokemon-stores-seed-data";
52
56
  export { pokemonCarouselSlidesSeedData } from "./pokemon-carousel-slides-seed-data";
53
57
  export { pokemonHomepageSectionsSeedData } from "./pokemon-homepage-sections-seed-data";
58
+ export { pokemonCouponsSeedData } from "./pokemon-coupons-seed-data";
54
59
  export { mergeFirestoreIndices, generateMergedFirestoreIndexFile, } from "./firestore-indexes";
55
60
  // Test utilities (Firestore emulator + PII assertion)
56
61
  export { assertPiiRoundTrip, seedForTest } from "./test-utils";
@@ -1,6 +1,8 @@
1
1
  /**
2
- * Pokemon Base Set 151 — Carousel Slides Seed Data
3
- * Hero slides for the LetItRip homepage using real pokemontcg.io card images
2
+ * Multi-Franchise Collectibles — Carousel Slides Seed Data
3
+ *
4
+ * 3 active + 2 disabled slides. Each slide has at most 2 cards with buttons.
5
+ * Covers Pokémon TCG · Hot Wheels · Beyblade Burst · Transformers
4
6
  */
5
7
  import type { CarouselSlideDocument } from "../features/homepage/schemas";
6
8
  export declare const pokemonCarouselSlidesSeedData: Partial<CarouselSlideDocument>[];
@@ -1,17 +1,20 @@
1
1
  /**
2
- * Pokemon Base Set 151 — Carousel Slides Seed Data
3
- * Hero slides for the LetItRip homepage using real pokemontcg.io card images
2
+ * Multi-Franchise Collectibles — Carousel Slides Seed Data
3
+ *
4
+ * 3 active + 2 disabled slides. Each slide has at most 2 cards with buttons.
5
+ * Covers Pokémon TCG · Hot Wheels · Beyblade Burst · Transformers
4
6
  */
5
7
  const NOW = new Date();
6
8
  const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
7
9
  const daysAhead = (n) => new Date(NOW.getTime() + n * 86400000);
8
10
  const ADMIN = "user-admin-user-admin";
9
11
  const cardImg = (num) => `https://images.pokemontcg.io/base1/${num}_hires.png`;
12
+ const picsumImg = (seed, w = 1200, h = 500) => `https://picsum.photos/seed/${seed}/${w}/${h}`;
10
13
  export const pokemonCarouselSlidesSeedData = [
11
- // -- Slide 1: Welcome Hero Charizard --------------------------------------
14
+ // ── Slide 1 — Multi-Franchise Welcome Hero (ACTIVE) ──────────────────────
12
15
  {
13
- id: "carousel-pokemon-welcome-hero-1707300000001",
14
- title: "Welcome — Charizard Hero",
16
+ id: "carousel-welcome-hero-multifranchise-1",
17
+ title: "Welcome — Multi-Franchise Collectibles",
15
18
  order: 1,
16
19
  active: true,
17
20
  media: {
@@ -24,147 +27,108 @@ export const pokemonCarouselSlidesSeedData = [
24
27
  url: cardImg(4),
25
28
  alt: "Charizard — Pokémon Base Set #4 Holo Rare",
26
29
  },
27
- cards: [],
28
- overlay: {
29
- enabled: true,
30
- color: "#000000",
31
- opacity: 0.45,
32
- subtitle: "Pokémon Base Set 151",
33
- title: "Own a Piece of History",
34
- description: "Browse authentic Base Set singles, sealed packs, and graded gems — from Pikachu to Charizard.",
35
- button: {
36
- id: "hero-cta-shop",
37
- text: "Start Collecting",
38
- link: "/products",
39
- variant: "primary",
40
- openInNewTab: false,
41
- },
42
- },
43
- analytics: { views: 0 },
44
- createdAt: daysAgo(30),
45
- updatedAt: daysAgo(1),
46
- createdBy: ADMIN,
47
- },
48
- // -- Slide 2: Holo Rare Sale ------------------------------------------------
49
- {
50
- id: "carousel-pokemon-holo-rare-sale-1707300000002",
51
- title: "Holo Rare Showcase",
52
- order: 2,
53
- active: true,
54
- media: {
55
- type: "image",
56
- url: cardImg(10), // Mewtwo
57
- alt: "Mewtwo — Pokémon Base Set #10 Holo Rare",
58
- },
59
30
  cards: [
60
31
  {
61
- id: "card-holo-rare-charizard",
62
- gridRow: 1,
63
- gridCol: 1,
64
- background: { type: "image", value: cardImg(4) },
65
- content: {
66
- title: "Charizard #4",
67
- subtitle: "Holo Rare",
68
- description: "From ₹89,999",
32
+ id: "card-welcome-cta",
33
+ gridRow: 2,
34
+ gridCol: 3,
35
+ background: {
36
+ type: "gradient",
37
+ value: "linear-gradient(135deg, #1E40AF 0%, #7C3AED 100%)",
69
38
  },
70
- buttons: [
71
- {
72
- id: "btn-charizard",
73
- text: "View",
74
- link: "/products/charizard-base1-4-holo-rare",
75
- variant: "primary",
76
- openInNewTab: false,
77
- },
78
- ],
79
- isButtonOnly: false,
80
- },
81
- {
82
- id: "card-holo-rare-blastoise",
83
- gridRow: 1,
84
- gridCol: 2,
85
- background: { type: "image", value: cardImg(2) },
86
39
  content: {
87
- title: "Blastoise #2",
88
- subtitle: "Holo Rare",
89
- description: "From ₹34,999",
40
+ title: "India's #1 Collectibles Marketplace",
41
+ subtitle: "Pokémon · Hot Wheels · Beyblade · Transformers",
42
+ description: "Authentic products from verified sellers. Graded slabs, sealed packs, rare singles & more.",
90
43
  },
91
44
  buttons: [
92
45
  {
93
- id: "btn-blastoise",
94
- text: "View",
95
- link: "/products/blastoise-base1-2-holo-rare",
46
+ id: "btn-welcome-shop",
47
+ text: "Shop Now",
48
+ link: "/products",
96
49
  variant: "primary",
97
50
  openInNewTab: false,
98
51
  },
99
- ],
100
- isButtonOnly: false,
101
- },
102
- {
103
- id: "card-holo-rare-zapdos",
104
- gridRow: 1,
105
- gridCol: 3,
106
- background: { type: "image", value: cardImg(16) },
107
- content: {
108
- title: "Zapdos #16",
109
- subtitle: "Holo Rare",
110
- description: "From ₹12,999",
111
- },
112
- buttons: [
113
52
  {
114
- id: "btn-zapdos",
115
- text: "View",
116
- link: "/products/zapdos-base1-16-holo-rare",
117
- variant: "primary",
53
+ id: "btn-welcome-auctions",
54
+ text: "Live Auctions",
55
+ link: "/auctions",
56
+ variant: "secondary",
118
57
  openInNewTab: false,
119
58
  },
120
59
  ],
121
60
  isButtonOnly: false,
122
61
  },
123
62
  ],
63
+ overlay: {
64
+ enabled: true,
65
+ color: "#000000",
66
+ opacity: 0.4,
67
+ title: "Own a Piece of History",
68
+ subtitle: "Collectibles for Every Fan",
69
+ description: "From 1st Edition Charizard to G1 Optimus Prime — browse, bid, and collect.",
70
+ },
124
71
  analytics: { views: 0 },
125
- createdAt: daysAgo(28),
72
+ createdAt: daysAgo(30),
126
73
  updatedAt: daysAgo(1),
127
74
  createdBy: ADMIN,
128
75
  },
129
- // -- Slide 3: Auctions 1st Edition Grail ---------------------------------
76
+ // ── Slide 2Live Auctions Spotlight (ACTIVE) ───────────────────────────
130
77
  {
131
- id: "carousel-pokemon-auction-grail-1707300000003",
132
- title: "Live Auction — 1st Edition Grail",
133
- order: 3,
78
+ id: "carousel-live-auctions-spotlight-2",
79
+ title: "Live Auctions Spotlight",
80
+ order: 2,
134
81
  active: true,
135
82
  media: {
136
83
  type: "image",
137
- url: cardImg(4),
138
- alt: "1st Edition Charizard Auction",
84
+ url: cardImg(10),
85
+ alt: "Mewtwo Live Auction spotlight",
139
86
  },
140
87
  link: { url: "/auctions", openInNewTab: false },
141
88
  cards: [
142
89
  {
143
- id: "card-auction-banner",
90
+ id: "card-auction-charizard",
144
91
  gridRow: 2,
145
- gridCol: 3,
92
+ gridCol: 2,
146
93
  background: {
147
94
  type: "gradient",
148
- value: "linear-gradient(135deg, #FF6B35 0%, #F7C59F 100%)",
95
+ value: "linear-gradient(135deg, #FF6B35 0%, #FFCB05 100%)",
149
96
  },
150
97
  content: {
151
- title: "🔥 Live Auction",
152
- subtitle: "1st Edition Charizard PSA 7",
153
- description: "Current bid: ₹3,49,999 ends in 7 days",
98
+ title: "🔥 1st Ed. Charizard PSA 7",
99
+ subtitle: "Current Bid: ₹3,49,999",
100
+ description: "Ends in 7 days · Buy Now at ₹6,99,999",
154
101
  },
155
102
  buttons: [
156
103
  {
157
- id: "btn-bid-now",
104
+ id: "btn-bid-charizard",
158
105
  text: "Bid Now",
159
106
  link: "/auctions",
160
107
  variant: "primary",
161
108
  openInNewTab: false,
162
109
  },
110
+ ],
111
+ isButtonOnly: false,
112
+ },
113
+ {
114
+ id: "card-auction-optimus",
115
+ gridRow: 2,
116
+ gridCol: 3,
117
+ background: {
118
+ type: "gradient",
119
+ value: "linear-gradient(135deg, #1D4ED8 0%, #64748B 100%)",
120
+ },
121
+ content: {
122
+ title: "🤖 G1 Optimus Prime MISB",
123
+ subtitle: "Starting Bid: ₹99,999",
124
+ description: "Factory sealed · 1984 vintage",
125
+ },
126
+ buttons: [
163
127
  {
164
- id: "btn-view-all-auctions",
165
- text: "All Auctions",
128
+ id: "btn-bid-optimus",
129
+ text: "Place Bid",
166
130
  link: "/auctions",
167
- variant: "secondary",
131
+ variant: "primary",
168
132
  openInNewTab: false,
169
133
  },
170
134
  ],
@@ -176,72 +140,36 @@ export const pokemonCarouselSlidesSeedData = [
176
140
  updatedAt: daysAgo(0),
177
141
  createdBy: ADMIN,
178
142
  },
179
- // -- Slide 4: Element Types Showcase ---------------------------------------
143
+ // ── Slide 3 Hot Wheels & Beyblade (ACTIVE) ─────────────────────────────
180
144
  {
181
- id: "carousel-pokemon-element-types-1707300000004",
182
- title: "Element Types Showcase",
183
- order: 4,
145
+ id: "carousel-hw-beyblade-featured-3",
146
+ title: "Hot Wheels & Beyblade Featured",
147
+ order: 3,
184
148
  active: true,
185
149
  media: {
186
150
  type: "image",
187
- url: cardImg(16), // Zapdos
188
- alt: "Zapdos Electric Type",
151
+ url: picsumImg("hotwheels-hero", 1200, 500),
152
+ alt: "Hot Wheels and Beyblade Burst collectibles",
189
153
  },
190
154
  cards: [
191
155
  {
192
- id: "card-water-type",
193
- gridRow: 1,
194
- gridCol: 1,
195
- background: { type: "color", value: "#6DB6D4" },
196
- content: {
197
- title: "💧 Water",
198
- subtitle: "Blastoise · Lapras · Starmie",
199
- },
200
- buttons: [
201
- {
202
- id: "btn-water",
203
- text: "Browse Water",
204
- link: "/categories/water",
205
- variant: "primary",
206
- openInNewTab: false,
207
- },
208
- ],
209
- isButtonOnly: false,
210
- },
211
- {
212
- id: "card-fire-type",
213
- gridRow: 1,
156
+ id: "card-hot-wheels-th",
157
+ gridRow: 2,
214
158
  gridCol: 2,
215
- background: { type: "color", value: "#EE8130" },
216
- content: {
217
- title: "🔥 Fire",
218
- subtitle: "Charizard · Arcanine · Ninetales",
159
+ background: {
160
+ type: "gradient",
161
+ value: "linear-gradient(135deg, #DC2626 0%, #F59E0B 100%)",
219
162
  },
220
- buttons: [
221
- {
222
- id: "btn-fire",
223
- text: "Browse Fire",
224
- link: "/categories/fire",
225
- variant: "primary",
226
- openInNewTab: false,
227
- },
228
- ],
229
- isButtonOnly: false,
230
- },
231
- {
232
- id: "card-electric-type",
233
- gridRow: 1,
234
- gridCol: 3,
235
- background: { type: "color", value: "#F7D02C" },
236
163
  content: {
237
- title: " Electric",
238
- subtitle: "Pikachu · Raichu · Zapdos",
164
+ title: "🚗 Treasure Hunts",
165
+ subtitle: "Hot Wheels TH & Super TH",
166
+ description: "India's largest Hot Wheels collector store. Premium, Car Culture & STHs.",
239
167
  },
240
168
  buttons: [
241
169
  {
242
- id: "btn-electric",
243
- text: "Browse Electric",
244
- link: "/categories/electric",
170
+ id: "btn-hw-shop",
171
+ text: "Browse Hot Wheels",
172
+ link: "/products?category=hot-wheels",
245
173
  variant: "primary",
246
174
  openInNewTab: false,
247
175
  },
@@ -249,50 +177,23 @@ export const pokemonCarouselSlidesSeedData = [
249
177
  isButtonOnly: false,
250
178
  },
251
179
  {
252
- id: "card-psychic-type",
253
- gridRow: 2,
254
- gridCol: 1,
255
- background: { type: "color", value: "#F95587" },
256
- content: { title: "🔮 Psychic", subtitle: "Mewtwo · Gengar · Jynx" },
257
- buttons: [
258
- {
259
- id: "btn-psychic",
260
- text: "Browse Psychic",
261
- link: "/categories/psychic",
262
- variant: "primary",
263
- openInNewTab: false,
264
- },
265
- ],
266
- isButtonOnly: false,
267
- },
268
- {
269
- id: "card-grass-type",
270
- gridRow: 2,
271
- gridCol: 2,
272
- background: { type: "color", value: "#7AC74C" },
273
- content: { title: "🌿 Grass", subtitle: "Venusaur · Scyther · Pinsir" },
274
- buttons: [
275
- {
276
- id: "btn-grass",
277
- text: "Browse Grass",
278
- link: "/categories/grass",
279
- variant: "primary",
280
- openInNewTab: false,
281
- },
282
- ],
283
- isButtonOnly: false,
284
- },
285
- {
286
- id: "card-fighting-type",
180
+ id: "card-beyblade-launch",
287
181
  gridRow: 2,
288
182
  gridCol: 3,
289
- background: { type: "color", value: "#C22E28" },
290
- content: { title: "🥊 Fighting", subtitle: "Machamp · Hitmonchan" },
183
+ background: {
184
+ type: "gradient",
185
+ value: "linear-gradient(135deg, #7C3AED 0%, #06B6D4 100%)",
186
+ },
187
+ content: {
188
+ title: "🌀 Let It Rip!",
189
+ subtitle: "Beyblade Burst — All Series",
190
+ description: "Attack · Defense · Stamina · Balance · Stadiums",
191
+ },
291
192
  buttons: [
292
193
  {
293
- id: "btn-fighting",
294
- text: "Browse Fighting",
295
- link: "/categories/fighting",
194
+ id: "btn-bb-shop",
195
+ text: "Browse Beyblade",
196
+ link: "/products?category=beyblade-burst",
296
197
  variant: "primary",
297
198
  openInNewTab: false,
298
199
  },
@@ -305,102 +206,102 @@ export const pokemonCarouselSlidesSeedData = [
305
206
  updatedAt: daysAgo(2),
306
207
  createdBy: ADMIN,
307
208
  },
308
- // -- Slide 5: Pikachu Fan Favourite ----------------------------------------
209
+ // ── Slide 4 Pre-Orders (DISABLED) ──────────────────────────────────────
309
210
  {
310
- id: "carousel-pokemon-pikachu-fan-fav-1707300000005",
311
- title: "Pikachu Fan Favourite",
312
- order: 5,
313
- active: true,
211
+ id: "carousel-pre-orders-incoming-4",
212
+ title: "Pre-Orders Incoming Sets",
213
+ order: 4,
214
+ active: false,
314
215
  media: {
315
216
  type: "image",
316
- url: cardImg(58), // Pikachu
317
- alt: "Pikachu — Pokémon Base Set #58 Common",
217
+ url: cardImg(58),
218
+ alt: "Pre-Orderupcoming Pokémon TCG sets",
318
219
  },
319
220
  cards: [
320
221
  {
321
- id: "card-pikachu-promo",
222
+ id: "card-preorder-151",
322
223
  gridRow: 2,
323
- gridCol: 3,
224
+ gridCol: 2,
324
225
  background: {
325
226
  type: "gradient",
326
- value: "linear-gradient(135deg, #FFCB05 0%, #FFB300 100%)",
227
+ value: "linear-gradient(135deg, #059669 0%, #10B981 100%)",
327
228
  },
328
229
  content: {
329
- title: " Pikachu #58",
330
- subtitle: "Base Set Common",
331
- description: "Yellow Cheeks variant from ₹1,999",
230
+ title: "📦 SV: 151 Booster Box",
231
+ subtitle: "Pre-Order Now — ₹14,999",
232
+ description: "All 151 original Pokémon · Ships in 60 days",
332
233
  },
333
234
  buttons: [
334
235
  {
335
- id: "btn-pikachu-shop",
336
- text: "Get Yours",
337
- link: "/products/pikachu-base1-58-common",
236
+ id: "btn-preorder-151",
237
+ text: "Pre-Order",
238
+ link: "/pre-orders",
338
239
  variant: "primary",
339
240
  openInNewTab: false,
340
241
  },
341
242
  ],
342
243
  isButtonOnly: false,
343
244
  },
344
- ],
345
- analytics: { views: 0 },
346
- createdAt: daysAgo(15),
347
- updatedAt: daysAgo(1),
348
- createdBy: ADMIN,
349
- },
350
- // -- Slide 6: Sealed Products ----------------------------------------------
351
- {
352
- id: "carousel-pokemon-sealed-products-1707300000006",
353
- title: "Sealed Products",
354
- order: 6,
355
- active: true,
356
- media: {
357
- type: "image",
358
- url: "https://images.pokemontcg.io/base1/logo.png",
359
- alt: "Pokémon Base Set sealed products",
360
- },
361
- cards: [
362
245
  {
363
- id: "card-booster-pack",
364
- gridRow: 1,
365
- gridCol: 1,
246
+ id: "card-preorder-hw",
247
+ gridRow: 2,
248
+ gridCol: 3,
366
249
  background: {
367
250
  type: "gradient",
368
- value: "linear-gradient(135deg, #1E40AF 0%, #3B82F6 100%)",
251
+ value: "linear-gradient(135deg, #0369A1 0%, #38BDF8 100%)",
369
252
  },
370
253
  content: {
371
- title: "📦 Booster Pack",
372
- subtitle: "Factory Sealed",
373
- description: "11 cards · 1 guaranteed Rare · ₹12,999",
254
+ title: "🚗 HW 2025 Mainline Cases",
255
+ subtitle: "Pre-Order · ₹2,499",
256
+ description: "72-car assortment case · Ships when available",
374
257
  },
375
258
  buttons: [
376
259
  {
377
- id: "btn-booster",
378
- text: "Buy Sealed Pack",
379
- link: "/products/base-set-booster-pack-sealed",
260
+ id: "btn-preorder-hw",
261
+ text: "Pre-Order",
262
+ link: "/pre-orders",
380
263
  variant: "primary",
381
264
  openInNewTab: false,
382
265
  },
383
266
  ],
384
267
  isButtonOnly: false,
385
268
  },
269
+ ],
270
+ analytics: { views: 0 },
271
+ createdAt: daysAhead(1),
272
+ updatedAt: daysAhead(1),
273
+ createdBy: ADMIN,
274
+ },
275
+ // ── Slide 5 — Seasonal Promo (DISABLED) ──────────────────────────────────
276
+ {
277
+ id: "carousel-seasonal-promo-5",
278
+ title: "Seasonal Promo — Summer Sale",
279
+ order: 5,
280
+ active: false,
281
+ media: {
282
+ type: "image",
283
+ url: picsumImg("summer-sale-banner", 1200, 500),
284
+ alt: "Summer Sale — up to 20% off select collectibles",
285
+ },
286
+ cards: [
386
287
  {
387
- id: "card-theme-deck",
388
- gridRow: 1,
389
- gridCol: 2,
288
+ id: "card-summer-sale-cta",
289
+ gridRow: 2,
290
+ gridCol: 3,
390
291
  background: {
391
292
  type: "gradient",
392
- value: "linear-gradient(135deg, #6B21A8 0%, #A855F7 100%)",
293
+ value: "linear-gradient(135deg, #F59E0B 0%, #EF4444 100%)",
393
294
  },
394
295
  content: {
395
- title: "🗲 Zap! Theme Deck",
396
- subtitle: "Sealed",
397
- description: "Electric starter deck · ₹18,999",
296
+ title: "☀️ Summer Sale",
297
+ subtitle: "Up to 20% off select items",
298
+ description: "Pokémon · Hot Wheels · Beyblade · Transformers — limited time",
398
299
  },
399
300
  buttons: [
400
301
  {
401
- id: "btn-zap-deck",
402
- text: "Buy Zap! Deck",
403
- link: "/products/zap-theme-deck-sealed",
302
+ id: "btn-summer-sale",
303
+ text: "Shop the Sale",
304
+ link: "/products?promoted=true",
404
305
  variant: "primary",
405
306
  openInNewTab: false,
406
307
  },
@@ -409,25 +310,8 @@ export const pokemonCarouselSlidesSeedData = [
409
310
  },
410
311
  ],
411
312
  analytics: { views: 0 },
412
- createdAt: daysAgo(10),
413
- updatedAt: daysAgo(1),
414
- createdBy: ADMIN,
415
- },
416
- // -- Slide 7: Inactive placeholder -----------------------------------------
417
- {
418
- id: "carousel-pokemon-inactive-test-1707300000007",
419
- title: "Inactive Test Slide",
420
- order: 7,
421
- active: false,
422
- media: {
423
- type: "image",
424
- url: cardImg(1),
425
- alt: "Alakazam — inactive slide",
426
- },
427
- cards: [],
428
- analytics: { views: 0 },
429
- createdAt: daysAgo(5),
430
- updatedAt: daysAgo(5),
313
+ createdAt: daysAhead(30),
314
+ updatedAt: daysAhead(30),
431
315
  createdBy: ADMIN,
432
316
  },
433
317
  ];