@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
@@ -1,34 +1,75 @@
1
1
  /**
2
- * Reviews Seed Data
3
- * Sample product reviews with various ratings and statuses
2
+ * Reviews Seed Data — Pokémon Base Set 151 Theme
3
+ *
4
+ * 22 reviews written by Pokémon trainers (buyers) for Base Set TCG singles,
5
+ * sealed products, and accessories sold by Misty, Lt. Surge, and Blaine.
6
+ *
7
+ * Seller IDs:
8
+ * Misty → user-misty-water-gym-misty / store-mistys-water-cards
9
+ * Surge → user-lt-surge-electric-surge / store-surges-electric-emporium
10
+ * Blaine → user-blaine-fire-gym-blaine / store-blaines-fire-shoppe
11
+ *
12
+ * Buyer IDs:
13
+ * ash → user-ash-ketchum-pallet-ash
14
+ * gary → user-gary-oak-pallet-gary
15
+ * brock → user-brock-pewter-brock
16
+ * oak → user-prof-oak-pallet-oak
17
+ * sabrina → user-sabrina-saffron-sabrina
18
+ * erika → user-erika-celadon-erika
4
19
  */
5
- // Dynamic date helpers
6
20
  const NOW = new Date();
7
21
  const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
22
+ // Card image helper (mirrors pokemon-products-seed-data.ts)
23
+ const cardImg = (num) => `https://images.pokemontcg.io/base1/${num}_hires.png`;
8
24
  export const reviewsSeedData = [
9
- // Approved reviews
25
+ // ══════════════════════════════════════════════════════════════
26
+ // APPROVED — FEATURED (highest helpfulCount)
27
+ // ══════════════════════════════════════════════════════════════
28
+ // 1. Ash reviews the 1st-Ed Charizard auction win
10
29
  {
11
- id: "review-iphone-15-pro-max-john-20260120",
12
- productId: "product-iphone-15-pro-max-smartphones-new-techhub-electronics-1",
13
- sellerId: "user-techhub-electronics-electron",
14
- productTitle: "Dragon Ball Super Saiyan Blue Goku 1/4 Scale Figure",
15
- userId: "user-john-doe-johndoe",
16
- userName: "John Doe",
17
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=john-doe",
30
+ id: "review-charizard-base1-4-ash-20260310",
31
+ productId: "product-charizard-base1-4-holo-rare-fire-blaine-1",
32
+ productTitle: "Charizard — Base Set #4 Holo Rare (Near Mint)",
33
+ sellerId: "user-blaine-fire-gym-blaine",
34
+ userId: "user-ash-ketchum-pallet-ash",
35
+ userName: "Ash Ketchum",
36
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/25.png",
18
37
  rating: 5,
19
- title: "Absolutely Amazing!",
20
- comment: "Exceeded expectations. Camera and battery are outstanding. Worth it!",
21
- images: [
22
- "https://picsum.photos/seed/iphone15/800/800",
23
- "https://picsum.photos/seed/apple-phone/800/800",
24
- ],
25
- video: {
26
- url: "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4",
27
- thumbnailUrl: "https://picsum.photos/seed/iphone15/800/450",
28
- duration: 15,
29
- },
38
+ title: "The crown jewel of my collection — absolutely perfect!",
39
+ comment: "I've been searching for a Near Mint Charizard for years and Blaine's Fire Shoppe delivered beyond my expectations. " +
40
+ "The card arrived in a rigid top-loader inside a bubble mailer with tracking — zero movement during transit. " +
41
+ "Centering is near-perfect, holo surface is pristine with that iconic shimmer, and corners are sharp. " +
42
+ "Blaine even included a thank-you note handwritten on a Pokémon postcard. " +
43
+ "This is THE card that started it all and I finally have one worthy of my collection. Five stars without hesitation!",
44
+ images: [cardImg(4)],
30
45
  status: "approved",
31
- helpfulCount: 24,
46
+ helpfulCount: 87,
47
+ reportCount: 0,
48
+ verified: true,
49
+ featured: true,
50
+ createdAt: daysAgo(52),
51
+ updatedAt: daysAgo(52),
52
+ approvedAt: daysAgo(52),
53
+ },
54
+ // 2. Professor Oak reviews Mewtwo Holo — surge
55
+ {
56
+ id: "review-mewtwo-base1-10-oak-20260312",
57
+ productId: "product-mewtwo-base1-10-holo-rare-psychic-surge-1",
58
+ productTitle: "Mewtwo — Base Set #10 Holo Rare (Near Mint)",
59
+ sellerId: "user-lt-surge-electric-surge",
60
+ userId: "user-prof-oak-pallet-oak",
61
+ userName: "Professor Oak",
62
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/143.png",
63
+ rating: 5,
64
+ title: "Scientifically the finest Mewtwo specimen I've catalogued",
65
+ comment: "As a Pokémon researcher I have handled hundreds of Base Set cards. This Mewtwo Holo Rare from Surge's Emporium is " +
66
+ "among the cleanest copies I have ever examined. Holo pattern is full and rich with no scratches, corners are NM+, " +
67
+ "and the card was shipped in a penny sleeve, top-loader, and team bag — triple protection. " +
68
+ "Surge responded to my pre-purchase grading questions within the hour. " +
69
+ "For Psychic-type collectors: this is the one to own. The Genetic Pokémon belongs in every serious Pokédex binder.",
70
+ images: [cardImg(10)],
71
+ status: "approved",
72
+ helpfulCount: 63,
32
73
  reportCount: 0,
33
74
  verified: true,
34
75
  featured: true,
@@ -36,586 +77,581 @@ export const reviewsSeedData = [
36
77
  updatedAt: daysAgo(48),
37
78
  approvedAt: daysAgo(48),
38
79
  },
80
+ // 3. Gary Oak reviews Blastoise
39
81
  {
40
- id: "review-samsung-galaxy-s24-ultra-jane-20260125",
41
- productId: "product-samsung-galaxy-s24-ultra-smartphones-new-techhub-electronics-1",
42
- sellerId: "user-techhub-electronics-electron",
43
- productTitle: "Super Saiyan Vegeta Final Flash 1/4 Scale Statue",
44
- userId: "user-jane-smith-janes",
45
- userName: "Jane Smith",
46
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=jane-smith",
82
+ id: "review-blastoise-base1-2-gary-20260315",
83
+ productId: "product-blastoise-base1-2-holo-rare-water-misty-1",
84
+ productTitle: "Blastoise — Base Set #2 Holo Rare (Near Mint)",
85
+ sellerId: "user-misty-water-gym-misty",
86
+ userId: "user-gary-oak-pallet-gary",
87
+ userName: "Gary Oak",
88
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/132.png",
47
89
  rating: 5,
48
- title: "Best Android Phone Yet",
49
- comment: "S Pen is useful, camera is stunning, AI features are helpful. Great for power users.",
50
- images: [],
90
+ title: "Misty knows her Water cards — flawless Blastoise",
91
+ comment: "Look, I don't give five stars easily, but Misty's Water Cards has earned it. " +
92
+ "The Blastoise is everything described — near-mint centering, brilliant holo shimmer, and not a single whitened corner. " +
93
+ "It shipped tracked in 24 hours and arrived two days later perfectly protected. " +
94
+ "My collection is already better than Ash's and this card proves it. " +
95
+ "Ordering the Gyarados next.",
96
+ images: [cardImg(2)],
51
97
  status: "approved",
52
- helpfulCount: 18,
98
+ helpfulCount: 54,
53
99
  reportCount: 0,
54
100
  verified: true,
55
101
  featured: true,
56
- createdAt: daysAgo(43),
57
- updatedAt: daysAgo(43),
58
- approvedAt: daysAgo(43),
102
+ createdAt: daysAgo(44),
103
+ updatedAt: daysAgo(44),
104
+ approvedAt: daysAgo(44),
59
105
  },
106
+ // 4. Sabrina reviews the sealed booster pack (Blaine)
60
107
  {
61
- id: "review-google-pixel-8-pro-mike-20260131",
62
- productId: "product-google-pixel-8-pro-smartphones-new-techhub-electronics-1",
63
- sellerId: "user-techhub-electronics-electron",
64
- productTitle: "Ultra Instinct Goku Premium 1/6 Scale Figure",
65
- userId: "user-mike-johnson-mikejohn",
66
- userName: "Mike Johnson",
67
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=mike-johnson",
68
- rating: 4,
69
- title: "Great Camera, Pure Android",
70
- comment: "Love the camera and clean Android. Magic Eraser is fun. Battery could be better.",
108
+ id: "review-sealed-booster-sabrina-20260318",
109
+ productId: "product-base-set-booster-pack-sealed-blaine-1",
110
+ productTitle: "Pokémon Base Set Booster Pack (Sealed, Random Art)",
111
+ sellerId: "user-blaine-fire-gym-blaine",
112
+ userId: "user-sabrina-saffron-sabrina",
113
+ userName: "Sabrina",
114
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/65.png",
115
+ rating: 5,
116
+ title: "Authentic vintage sealed pack — psychically verified genuine!",
117
+ comment: "I can sense deception in sellers a mile away, and Blaine's aura is completely honest. " +
118
+ "The sealed booster pack arrived in immaculate condition — factory seal intact, pack fresh and firm, " +
119
+ "no signs of weighing or tampering. Blaine wrapped it in bubble wrap inside a rigid card box — " +
120
+ "the pack couldn't shift even a millimetre. " +
121
+ "I'm keeping it sealed as a long-term investment. Vintage sealed WOTC product at this quality is increasingly rare. " +
122
+ "Highly recommend for serious collectors. Will be ordering more.",
71
123
  images: [],
72
124
  status: "approved",
73
- helpfulCount: 12,
125
+ helpfulCount: 41,
74
126
  reportCount: 0,
75
- verified: false,
76
- createdAt: daysAgo(36),
77
- updatedAt: daysAgo(36),
78
- approvedAt: daysAgo(36),
127
+ verified: true,
128
+ featured: true,
129
+ createdAt: daysAgo(40),
130
+ updatedAt: daysAgo(40),
131
+ approvedAt: daysAgo(40),
79
132
  },
133
+ // 5. Ash reviews Pikachu common (Surge)
80
134
  {
81
- id: "review-macbook-pro-16-m3-max-john-20260126",
82
- productId: "product-macbook-pro-16-m3-max-laptops-computers-new-techhub-electronics-1",
83
- sellerId: "user-techhub-electronics-electron",
84
- productTitle: "Monkey D. Luffy Gear 5 Sun God 1/4 Scale Scene Figure",
85
- userId: "user-john-doe-johndoe",
86
- userName: "John Doe",
87
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=john-doe",
135
+ id: "review-pikachu-base1-58-ash-20260320",
136
+ productId: "product-pikachu-base1-58-common-electric-surge-1",
137
+ productTitle: "Pikachu — Base Set #58 Common (Near Mint)",
138
+ sellerId: "user-lt-surge-electric-surge",
139
+ userId: "user-ash-ketchum-pallet-ash",
140
+ userName: "Ash Ketchum",
141
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/25.png",
88
142
  rating: 5,
89
- title: "Perfect for Professionals",
90
- comment: "Handles 4K editing smoothly. Display is gorgeous, battery life incredible. Best laptop ever.",
91
- images: [
92
- "https://picsum.photos/seed/macbook-laptop/800/800",
93
- "https://picsum.photos/seed/laptop-apple/800/800",
94
- ],
143
+ title: "My best friend in card form — yellow cheeks and all!",
144
+ comment: "Obviously I had to own the Base Set Pikachu. The yellow-cheeks variant is the correct one " +
145
+ "Surge knows this and stocks only the best copy available. " +
146
+ "Near Mint condition, sharp corners, vivid yellow, and that iconic expression. " +
147
+ "Shipped in a penny sleeve inside a top-loader. Fast delivery. " +
148
+ "Pikachu, I choose you — and I choose Surge's Electric Emporium!",
149
+ images: [cardImg(58)],
150
+ video: {
151
+ url: "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerBlazes.mp4",
152
+ thumbnailUrl: cardImg(58),
153
+ duration: 18,
154
+ },
95
155
  status: "approved",
96
- helpfulCount: 31,
156
+ helpfulCount: 38,
97
157
  reportCount: 0,
98
- verified: false,
158
+ verified: true,
99
159
  featured: true,
100
- createdAt: daysAgo(30),
101
- updatedAt: daysAgo(30),
102
- approvedAt: daysAgo(30),
160
+ createdAt: daysAgo(37),
161
+ updatedAt: daysAgo(37),
162
+ approvedAt: daysAgo(37),
103
163
  },
164
+ // ══════════════════════════════════════════════════════════════
165
+ // APPROVED — NON-FEATURED
166
+ // ══════════════════════════════════════════════════════════════
167
+ // 6. Brock reviews Zapdos (Surge)
104
168
  {
105
- id: "review-dell-xps-15-jane-20260201",
106
- productId: "product-dell-xps-15-laptops-computers-new-techhub-electronics-1",
107
- sellerId: "user-techhub-electronics-electron",
108
- productTitle: "Roronoa Zoro Enma Slash Diorama 1/7 Scale",
109
- userId: "user-jane-smith-janes",
110
- userName: "Jane Smith",
111
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=jane-smith",
169
+ id: "review-zapdos-base1-16-brock-20260322",
170
+ productId: "product-zapdos-base1-16-holo-rare-electric-surge-1",
171
+ productTitle: "Zapdos — Base Set #16 Holo Rare (Near Mint)",
172
+ sellerId: "user-lt-surge-electric-surge",
173
+ userId: "user-brock-pewter-brock",
174
+ userName: "Brock",
175
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/74.png",
112
176
  rating: 4,
113
- title: "Powerful Windows Laptop",
114
- comment: "Excellent build and performance. RTX 4060 handles design work perfectly. Webcam could be better.",
177
+ title: "Rock-solid purchase — legendary bird delivered safely",
178
+ comment: "I'm a Rock-type guy at heart but every collector needs the legendary birds. " +
179
+ "Zapdos arrived in excellent NM condition — great centering, clean holo, minimal border wear. " +
180
+ "Surge shipped quickly with tracking. The only reason for 4 stars is I'd have liked a slightly heavier " +
181
+ "top-loader for a card at this price point, but honestly it arrived perfectly fine. " +
182
+ "Would buy from Surge's Emporium again — competitive prices and honest descriptions.",
115
183
  images: [],
116
184
  status: "approved",
117
- helpfulCount: 15,
185
+ helpfulCount: 22,
118
186
  reportCount: 0,
119
- verified: false,
120
- createdAt: daysAgo(34),
121
- updatedAt: daysAgo(34),
122
- approvedAt: daysAgo(34),
187
+ verified: true,
188
+ featured: false,
189
+ createdAt: daysAgo(35),
190
+ updatedAt: daysAgo(35),
191
+ approvedAt: daysAgo(35),
123
192
  },
193
+ // 7. Erika reviews Venusaur (Blaine — LP)
124
194
  {
125
- id: "review-mens-cotton-casual-shirt-mike-20260205",
126
- productId: "product-mens-cotton-casual-shirt-mens-fashion-new-fashion-boutique-1",
127
- sellerId: "user-fashion-boutique-fashionb",
128
- productTitle: "Demon Slayer Tanjiro Kamado Graphic T-Shirt",
129
- userId: "user-mike-johnson-mikejohn",
130
- userName: "Mike Johnson",
131
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=mike-johnson",
195
+ id: "review-venusaur-base1-15-erika-20260324",
196
+ productId: "product-venusaur-base1-15-holo-rare-grass-blaine-1",
197
+ productTitle: "Venusaur — Base Set #15 Holo Rare (Lightly Played)",
198
+ sellerId: "user-blaine-fire-gym-blaine",
199
+ userId: "user-erika-celadon-erika",
200
+ userName: "Erika",
201
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/45.png",
132
202
  rating: 4,
133
- title: "Good Quality, Comfortable Fit",
134
- comment: "Nice cotton shirt, breathable and true to size. Good value.",
135
- images: [],
203
+ title: "Grass-type glory condition exactly as described",
204
+ comment: "As a Grass-type Gym Leader, a Venusaur Holo is essential for my collection. " +
205
+ "The card is Lightly Played as listed — minor corner wear, but the holo face is absolutely gorgeous with no scratches. " +
206
+ "Blaine's description was accurate and honest, which I appreciate deeply. " +
207
+ "Shipped well protected. A lovely card at a fair price for LP condition. " +
208
+ "I'd give five stars if this were NM, but the LP grade is reflected in the price and the condition matches perfectly.",
209
+ images: [cardImg(15)],
136
210
  status: "approved",
137
- helpfulCount: 8,
211
+ helpfulCount: 19,
138
212
  reportCount: 0,
139
213
  verified: true,
140
- createdAt: daysAgo(38),
141
- updatedAt: daysAgo(38),
142
- approvedAt: daysAgo(38),
214
+ featured: false,
215
+ createdAt: daysAgo(32),
216
+ updatedAt: daysAgo(32),
217
+ approvedAt: daysAgo(32),
143
218
  },
219
+ // 8. Gary reviews Professor Oak Trainer (Surge)
144
220
  {
145
- id: "review-womens-ethnic-kurti-jane-20260207",
146
- productId: "product-womens-ethnic-kurti-womens-fashion-new-fashion-boutique-1",
147
- sellerId: "user-fashion-boutique-fashionb",
148
- productTitle: "Nezuko Kamado Pink Kimono Hoodie Dress",
149
- userId: "user-jane-smith-janes",
150
- userName: "Jane Smith",
151
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=jane-smith",
221
+ id: "review-professor-oak-trainer-gary-20260325",
222
+ productId: "product-professor-oak-base1-88-uncommon-trainer-surge-1",
223
+ productTitle: "Professor Oak — Base Set #88 Trainer (Near Mint)",
224
+ sellerId: "user-lt-surge-electric-surge",
225
+ userId: "user-gary-oak-pallet-gary",
226
+ userName: "Gary Oak",
227
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/132.png",
152
228
  rating: 5,
153
- title: "Beautiful Design and Quality",
154
- comment: "Love this kurti! Beautiful print, excellent quality, perfect fit. Will buy more.",
155
- images: ["https://picsum.photos/seed/ethnic-kurti/800/800"],
156
- status: "approved",
157
- helpfulCount: 14,
158
- reportCount: 0,
159
- verified: false,
160
- createdAt: daysAgo(29),
161
- updatedAt: daysAgo(29),
162
- approvedAt: daysAgo(29),
163
- },
164
- {
165
- id: "review-non-stick-cookware-set-john-20260208",
166
- productId: "product-non-stick-cookware-set-home-kitchen-new-home-essentials-1",
167
- sellerId: "user-home-essentials-homeesse",
168
- productTitle: "My Neighbour Totoro Nendoroid No.1234 Deluxe Set",
169
- userId: "user-john-doe-johndoe",
170
- userName: "John Doe",
171
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=john-doe",
172
- rating: 4,
173
- title: "Good Value Cookware Set",
174
- comment: "Good set for the price. Non-stick works well, heats evenly. Handles could be better.",
229
+ title: "Draw 7 the greatest trainer card, sold by a great seller",
230
+ comment: "The irony of Gary Oak buying a Professor Oak card is not lost on me. " +
231
+ "But sentiment aside, this NM copy from Surge is excellent — crisp edges, vibrant artwork, and " +
232
+ "not a single bend or crease. For competitive players and collectors alike, Professor Oak is non-negotiable. " +
233
+ "Surge had the lowest price I found for a properly graded NM copy. Shipped fast, tracked. " +
234
+ "Staple card in every era — pick one up while they're available.",
175
235
  images: [],
176
236
  status: "approved",
177
- helpfulCount: 9,
237
+ helpfulCount: 17,
178
238
  reportCount: 0,
179
239
  verified: false,
180
- createdAt: daysAgo(32),
181
- updatedAt: daysAgo(32),
182
- approvedAt: daysAgo(32),
240
+ featured: false,
241
+ createdAt: daysAgo(30),
242
+ updatedAt: daysAgo(30),
243
+ approvedAt: daysAgo(30),
183
244
  },
245
+ // 9. Sabrina reviews Haunter Non-Holo (Surge)
184
246
  {
185
- id: "review-yoga-mat-with-carrying-bag-jane-20260209",
186
- productId: "product-yoga-mat-with-carrying-bag-sports-outdoors-new-home-essentials-1",
187
- sellerId: "user-home-essentials-homeesse",
188
- productTitle: "Gundam RX-78-2 Perfect Grade 1/60 Model Kit",
189
- userId: "user-jane-smith-janes",
190
- userName: "Jane Smith",
191
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=jane-smith",
247
+ id: "review-haunter-base1-24-sabrina-20260327",
248
+ productId: "product-haunter-base1-24-non-holo-rare-psychic-surge-1",
249
+ productTitle: "Haunter — Base Set #24 Non-Holo Rare (Near Mint)",
250
+ sellerId: "user-lt-surge-electric-surge",
251
+ userId: "user-sabrina-saffron-sabrina",
252
+ userName: "Sabrina",
253
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/65.png",
192
254
  rating: 5,
193
- title: "Perfect for Daily Practice",
194
- comment: "Great mat with excellent grip and cushioning. No slip during intense sessions. Carrying bag is convenient.",
255
+ title: "Psychic perfection Haunter's mischievous grin in NM condition",
256
+ comment: "I adore Haunter. That tongue-out artwork from Ken Sugimori is timeless. " +
257
+ "Surge's copy arrived in genuine Near Mint — the card feels fresh, no whitening on corners, " +
258
+ "and the classic Lick attack text is perfectly legible with no print defects. " +
259
+ "Penny sleeved and shipped in a tracked bubble mailer. Fast shipping from Vermilion City. " +
260
+ "A must-have Psychic-type for any serious Base Set collection.",
195
261
  images: [],
196
262
  status: "approved",
197
- helpfulCount: 11,
263
+ helpfulCount: 15,
198
264
  reportCount: 0,
199
265
  verified: true,
200
- createdAt: daysAgo(31),
201
- updatedAt: daysAgo(31),
202
- approvedAt: daysAgo(31),
203
- },
204
- // Medium rating reviews
205
- {
206
- id: "review-vintage-canon-ae-1-film-camera-mike-20260203",
207
- productId: "auction-vintage-canon-ae-1-film-camera-cameras-photography-used-techhub-electronics-1",
208
- sellerId: "user-techhub-electronics-electron",
209
- productTitle: "Gainax Evangelion Unit-01 Original Production Art",
210
- userId: "user-mike-johnson-mikejohn",
211
- userName: "Mike Johnson",
212
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=mike-johnson",
213
- rating: 4,
214
- title: "Classic Beauty",
215
- comment: "Authentic vintage camera in excellent condition. Film photography at its finest.",
216
- images: ["https://picsum.photos/seed/film-camera/800/800"],
217
- status: "approved",
218
- helpfulCount: 7,
219
- reportCount: 0,
220
- verified: false,
221
- featured: true,
222
- createdAt: daysAgo(35),
223
- updatedAt: daysAgo(35),
224
- approvedAt: daysAgo(35),
266
+ featured: false,
267
+ createdAt: daysAgo(28),
268
+ updatedAt: daysAgo(28),
269
+ approvedAt: daysAgo(28),
225
270
  },
271
+ // 10. Oak reviews Water Energy lot (Misty)
226
272
  {
227
- id: "review-iphone-15-pro-max-jane-20260204",
228
- productId: "product-iphone-15-pro-max-smartphones-new-techhub-electronics-1",
229
- sellerId: "user-techhub-electronics-electron",
230
- productTitle: "Dragon Ball Super Saiyan Blue Goku 1/4 Scale Figure",
231
- userId: "user-jane-smith-janes",
232
- userName: "Jane Smith",
233
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=jane-smith",
234
- rating: 4,
235
- title: "Impressive Performance",
236
- comment: "Camera quality is outstanding. Battery life is solid. Slightly heavy but worth it.",
273
+ id: "review-water-energy-lot-oak-20260328",
274
+ productId: "product-water-energy-base1-99-common-energy-misty-lot",
275
+ productTitle: "Water Energy — Base Set #99 x10 Lot (Near Mint)",
276
+ sellerId: "user-misty-water-gym-misty",
277
+ userId: "user-prof-oak-pallet-oak",
278
+ userName: "Professor Oak",
279
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/143.png",
280
+ rating: 5,
281
+ title: "Perfect lot for research-grade deck documentation",
282
+ comment: "I ordered three sets of 10 for my Blastoise research deck. Every single card from Misty arrived in " +
283
+ "Near Mint condition — consistent print quality, clean artwork, and no duplicates with bent corners. " +
284
+ "They were shipped in a team bag inside a bubble mailer — the correct way to ship bulk energy lots. " +
285
+ "At this price per card the value is outstanding. Misty clearly understands both Water-type Pokémon and proper card care.",
237
286
  images: [],
238
287
  status: "approved",
239
- helpfulCount: 5,
288
+ helpfulCount: 14,
240
289
  reportCount: 0,
241
290
  verified: true,
242
- createdAt: daysAgo(46),
243
- updatedAt: daysAgo(46),
244
- approvedAt: daysAgo(46),
291
+ featured: false,
292
+ createdAt: daysAgo(26),
293
+ updatedAt: daysAgo(26),
294
+ approvedAt: daysAgo(26),
245
295
  },
246
- // Pending reviews (awaiting moderation)
296
+ // 11. Brock reviews Charizard 9-Pocket Binder (Misty)
247
297
  {
248
- id: "review-samsung-galaxy-s24-ultra-mike-20260206",
249
- productId: "product-samsung-galaxy-s24-ultra-smartphones-new-techhub-electronics-1",
250
- sellerId: "user-techhub-electronics-electron",
251
- productTitle: "Super Saiyan Vegeta Final Flash 1/4 Scale Statue",
252
- userId: "user-mike-johnson-mikejohn",
253
- userName: "Mike Johnson",
254
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=mike-johnson",
255
- rating: 4,
256
- title: "Solid Upgrade",
257
- comment: "Upgraded from S22 Ultra. Camera improvements are noticeable, AI is cool. Wish it had charger.",
298
+ id: "review-charizard-binder-brock-20260329",
299
+ productId: "product-pokemon-9-pocket-binder-misty-1",
300
+ productTitle: "Pokémon 9-Pocket Binder (360 cards, Charizard Cover)",
301
+ sellerId: "user-misty-water-gym-misty",
302
+ userId: "user-brock-pewter-brock",
303
+ userName: "Brock",
304
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/74.png",
305
+ rating: 5,
306
+ title: "Rock-solid binder — Charizard on the cover, perfection inside",
307
+ comment: "Finally a binder worthy of my Base Set collection. 360-card capacity means my entire set fits comfortably " +
308
+ "with room for extras. The side-loading pockets are excellent — cards slide in easily and stay secure. " +
309
+ "The lay-flat design means I can view two pages simultaneously without straining the spine. " +
310
+ "And the Charizard cover art? Chef's kiss. Shipped in a proper box so the binder arrived undamaged. " +
311
+ "Misty ships card accessories as well as she ships Water singles. Highly recommended.",
258
312
  images: [],
259
- status: "pending",
260
- helpfulCount: 0,
313
+ status: "approved",
314
+ helpfulCount: 12,
261
315
  reportCount: 0,
262
316
  verified: false,
263
- createdAt: daysAgo(29),
264
- updatedAt: daysAgo(29),
317
+ featured: false,
318
+ createdAt: daysAgo(24),
319
+ updatedAt: daysAgo(24),
320
+ approvedAt: daysAgo(24),
265
321
  },
322
+ // 12. Erika reviews Fire Energy lot (Blaine)
266
323
  {
267
- id: "review-google-pixel-8-pro-jane-20260207",
268
- productId: "product-google-pixel-8-pro-smartphones-new-techhub-electronics-1",
269
- sellerId: "user-techhub-electronics-electron",
270
- productTitle: "Ultra Instinct Goku Premium 1/6 Scale Figure",
271
- userId: "user-jane-smith-janes",
272
- userName: "Jane Smith",
273
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=jane-smith",
324
+ id: "review-fire-energy-lot-erika-20260330",
325
+ productId: "product-fire-energy-base1-100-common-energy-blaine-lot",
326
+ productTitle: "Fire Energy — Base Set #100 x10 Lot (Near Mint)",
327
+ sellerId: "user-blaine-fire-gym-blaine",
328
+ userId: "user-erika-celadon-erika",
329
+ userName: "Erika",
330
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/45.png",
274
331
  rating: 4,
275
- title: "Great Camera and Software",
276
- comment: "Pure Android experience is refreshing. AI features are useful. Battery is decent.",
332
+ title: "Good value fire energy lot — perfect for trading away",
333
+ comment: "I bought these to trade with Blaine's buyers at local meetups — everyone needs Fire Energy for Charizard decks. " +
334
+ "Cards are Near Mint as described, arrived in a team bag, no bent corners. " +
335
+ "Took 3 days to arrive from Cinnabar Island which is fair given the distance. " +
336
+ "One star off only because the bubble mailer had slight external scuffing though the cards inside were fine. " +
337
+ "Blaine's descriptions are honest and the price is right for bulk lots.",
277
338
  images: [],
278
- status: "pending",
279
- helpfulCount: 0,
339
+ status: "approved",
340
+ helpfulCount: 10,
280
341
  reportCount: 0,
281
342
  verified: true,
282
- createdAt: daysAgo(29),
283
- updatedAt: daysAgo(29),
343
+ featured: false,
344
+ createdAt: daysAgo(22),
345
+ updatedAt: daysAgo(22),
346
+ approvedAt: daysAgo(22),
284
347
  },
285
- // Rejected review (spam/inappropriate)
348
+ // 13. Gary reviews Chansey Holo (Misty)
286
349
  {
287
- id: "review-macbook-pro-16-m3-max-mike-20260207",
288
- productId: "product-macbook-pro-16-m3-max-laptops-computers-new-techhub-electronics-1",
289
- sellerId: "user-techhub-electronics-electron",
290
- productTitle: "Monkey D. Luffy Gear 5 Sun God 1/4 Scale Scene Figure",
291
- userId: "user-mike-johnson-mikejohn",
292
- userName: "Mike Johnson",
293
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=mike-johnson",
294
- rating: 1,
295
- title: "Fake Product",
296
- comment: "This is a scam! Check out my website for real deals. [SPAM URL]",
350
+ id: "review-chansey-base1-3-gary-20260401",
351
+ productId: "product-chansey-base1-3-holo-rare-colorless-misty-1",
352
+ productTitle: "Chansey — Base Set #3 Holo Rare (Near Mint)",
353
+ sellerId: "user-misty-water-gym-misty",
354
+ userId: "user-gary-oak-pallet-gary",
355
+ userName: "Gary Oak",
356
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/132.png",
357
+ rating: 4,
358
+ title: "120 HP tank card — great condition, great price",
359
+ comment: "Chansey is the tankiest card in Base Set and this NM copy does it justice. " +
360
+ "Holo shimmer is vivid, centering is slightly left-heavy but well within NM range, " +
361
+ "corners are sharp. Misty ships Water Gym quality even for Colorless cards — " +
362
+ "tracked, top-loaded, fast. I'd prefer 5★ centering at this price but it's a solid purchase. " +
363
+ "Recommended for completionists and healing-deck enthusiasts.",
297
364
  images: [],
298
- status: "rejected",
299
- moderatorId: "user-admin-user-admin",
300
- moderatorNote: "Spam content with promotional links",
301
- rejectionReason: "Contains spam and inappropriate promotional content",
302
- helpfulCount: 0,
303
- reportCount: 3,
304
- verified: false,
305
- createdAt: daysAgo(33),
306
- updatedAt: daysAgo(33),
307
- rejectedAt: daysAgo(33),
308
- },
309
- // Review with multiple helpful votes
310
- {
311
- id: "review-dell-xps-15-john-20260208",
312
- productId: "product-dell-xps-15-laptops-computers-new-techhub-electronics-1",
313
- sellerId: "user-techhub-electronics-electron",
314
- productTitle: "Roronoa Zoro Enma Slash Diorama 1/7 Scale",
315
- userId: "user-john-doe-johndoe",
316
- userName: "John Doe",
317
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=john-doe",
318
- rating: 5,
319
- title: "Powerful Windows Laptop",
320
- comment: "Excellent build quality and performance. Display is stunning. Perfect for development work.",
321
- images: ["https://picsum.photos/seed/dell-xps/800/800"],
322
365
  status: "approved",
323
- helpfulCount: 42,
366
+ helpfulCount: 9,
324
367
  reportCount: 0,
325
368
  verified: false,
326
- featured: true,
327
- createdAt: daysAgo(29),
328
- updatedAt: daysAgo(29),
329
- approvedAt: daysAgo(29),
369
+ featured: false,
370
+ createdAt: daysAgo(20),
371
+ updatedAt: daysAgo(20),
372
+ approvedAt: daysAgo(20),
330
373
  },
331
- // --- Reviews for new products ----------------------------------------------
374
+ // 14. Ash reviews Pikachu sleeves (Blaine)
332
375
  {
333
- id: "review-oxford-shirt-priya-20260205",
334
- productId: "product-mens-oxford-shirt-fashion-new-fashionboutique-1",
335
- sellerId: "user-fashion-boutique-fashionb",
336
- productTitle: "Attack on Titan Scout Regiment Cosplay Jacket",
337
- userId: "user-priya-sharma-priya",
338
- userName: "Priya Sharma",
339
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=priya-sharma",
376
+ id: "review-pikachu-sleeves-ash-20260402",
377
+ productId: "product-pokemon-card-sleeves-standard-blaine-1",
378
+ productTitle: "Pokémon-Art Card Sleeves (100-pack, Pikachu)",
379
+ sellerId: "user-blaine-fire-gym-blaine",
380
+ userId: "user-ash-ketchum-pallet-ash",
381
+ userName: "Ash Ketchum",
382
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/25.png",
340
383
  rating: 5,
341
- title: "Bought for my husband \u2014 perfect fit!",
342
- comment: "Ordered the medium and it fits perfectly. The fabric is thick but breathable. The colour is exactly as shown in pictures. Will definitely order more colours.",
343
- images: ["https://picsum.photos/seed/oxford-shirt/800/800"],
344
- status: "approved",
345
- helpfulCount: 18,
346
- reportCount: 0,
347
- verified: true,
348
- createdAt: daysAgo(32),
349
- updatedAt: daysAgo(32),
350
- approvedAt: daysAgo(32),
351
- },
352
- {
353
- id: "review-oxford-shirt-raj-20260207",
354
- productId: "product-mens-oxford-shirt-fashion-new-fashionboutique-1",
355
- sellerId: "user-fashion-boutique-fashionb",
356
- productTitle: "Attack on Titan Scout Regiment Cosplay Jacket",
357
- userId: "user-raj-patel-rajpatel",
358
- userName: "Raj Patel",
359
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=raj-patel",
360
- rating: 4,
361
- title: "Good quality, runs slightly large",
362
- comment: "Nice shirt for the price. I usually wear M but ordered M and it was a bit loose \u2014 would suggest sizing down for a fitted look.",
384
+ title: "Pikachu sleeves for my Pikachu card perfect symmetry!",
385
+ comment: "I sleeve all my cards in Pikachu sleeves. Obviously. These Ultra PRO standard-size sleeves fit " +
386
+ "Base Set cards perfectly — snug, not tight, easy to insert and remove. " +
387
+ "100 sleeves in the pack, all came intact with no tears or pre-bent edges. " +
388
+ "Archival quality means I can trust them for long-term storage of my NM cards. " +
389
+ "Blaine had the best price I found for genuine Ultra PRO. Quick shipping. 10/10.",
363
390
  images: [],
364
391
  status: "approved",
365
- helpfulCount: 11,
392
+ helpfulCount: 7,
366
393
  reportCount: 0,
367
394
  verified: true,
368
- createdAt: daysAgo(30),
369
- updatedAt: daysAgo(30),
370
- approvedAt: daysAgo(30),
395
+ featured: false,
396
+ createdAt: daysAgo(18),
397
+ updatedAt: daysAgo(18),
398
+ approvedAt: daysAgo(18),
371
399
  },
400
+ // 15. Brock reviews Magneton Holo LP (Surge)
372
401
  {
373
- id: "review-anarkali-meera-20260210",
374
- productId: "product-womens-anarkali-kurta-fashion-new-fashionboutique-1",
375
- sellerId: "user-fashion-boutique-fashionb",
376
- productTitle: "Sailor Moon Neo Queen Serenity Cosplay Dress Set",
377
- userId: "user-vikram-nair-vikram",
378
- userName: "Vikram Nair",
379
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=vikram-nair",
380
- rating: 5,
381
- title: "Absolutely stunning \u2014 worth every rupee",
382
- comment: "The embroidery is detailed and the georgette is of premium quality. I wore this to a wedding and got so many compliments. Stitching is clean and the dupatta is beautiful. Deliverd in 3 days!",
383
- images: [
384
- "https://picsum.photos/seed/anarkali-kurta/800/800",
385
- "https://picsum.photos/seed/anarkali-detail/800/800",
386
- ],
402
+ id: "review-magneton-base1-9-brock-20260403",
403
+ productId: "product-magneton-base1-9-holo-rare-electric-surge-1",
404
+ productTitle: "Magneton — Base Set #9 Holo Rare (Lightly Played)",
405
+ sellerId: "user-lt-surge-electric-surge",
406
+ userId: "user-brock-pewter-brock",
407
+ userName: "Brock",
408
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/74.png",
409
+ rating: 3,
410
+ title: "Holo is clean but corners are more worn than I expected",
411
+ comment: "I was hoping for a Lightly Played card closer to NM range. The holo face is genuinely clean " +
412
+ "no scratches and a nice pattern — but the corner whitening is more pronounced than the photos suggested, " +
413
+ "putting this closer to Moderately Played in my assessment. " +
414
+ "Surge's shipping was excellent and response time was fast. " +
415
+ "The price reflects LP so it's fair, but I'd recommend asking for additional photos before ordering a Lightly Played holo at this price. " +
416
+ "Not a bad purchase — just calibrate expectations on the LP condition grading.",
417
+ images: [cardImg(9)],
387
418
  status: "approved",
388
- helpfulCount: 34,
419
+ helpfulCount: 8,
389
420
  reportCount: 0,
390
421
  verified: true,
391
- featured: true,
392
- createdAt: daysAgo(27),
393
- updatedAt: daysAgo(27),
394
- approvedAt: daysAgo(27),
422
+ featured: false,
423
+ createdAt: daysAgo(16),
424
+ updatedAt: daysAgo(16),
425
+ approvedAt: daysAgo(16),
395
426
  },
427
+ // 16. Erika reviews Clefairy uncommon (Misty)
396
428
  {
397
- id: "review-pressure-cooker-jane-20260115",
398
- productId: "product-prestige-pressure-cooker-home-new-homeessentials-1",
399
- sellerId: "user-home-essentials-homeesse",
400
- productTitle: "Rem & Ram Re:Zero Nendoroid Duo Set",
401
- userId: "user-jane-smith-janes",
402
- userName: "Jane Smith",
403
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=jane-smith",
429
+ id: "review-clefairy-base1-35-erika-20260405",
430
+ productId: "product-clefairy-base1-35-uncommon-colorless-misty-1",
431
+ productTitle: "Clefairy — Base Set #35 Uncommon (Near Mint)",
432
+ sellerId: "user-misty-water-gym-misty",
433
+ userId: "user-erika-celadon-erika",
434
+ userName: "Erika",
435
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/45.png",
404
436
  rating: 5,
405
- title: "Best pressure cooker I've owned",
406
- comment: "The clip-on system makes it so much safer than my old one. Works perfectly on my glass-top induction as well. Cooks dal in 8 minutes flat. Great value for money.",
407
- images: ["https://picsum.photos/seed/pressure-cooker/800/800"],
408
- status: "approved",
409
- helpfulCount: 27,
410
- reportCount: 0,
411
- verified: true,
412
- featured: true,
413
- createdAt: daysAgo(53),
414
- updatedAt: daysAgo(53),
415
- approvedAt: daysAgo(53),
416
- },
417
- {
418
- id: "review-pressure-cooker-john-20260120",
419
- productId: "product-prestige-pressure-cooker-home-new-homeessentials-1",
420
- sellerId: "user-home-essentials-homeesse",
421
- productTitle: "Rem & Ram Re:Zero Nendoroid Duo Set",
422
- userId: "user-john-doe-johndoe",
423
- userName: "John Doe",
424
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=john-doe",
425
- rating: 4,
426
- title: "Solid product, delivery was fast",
427
- comment: "Great cooker. The only reason for 4 stars is the whistle is a bit loud. Everything else \u2014 build quality, weight, handles \u2014 is excellent.",
437
+ title: "Metronome magic in Near Mint — cute card, great seller",
438
+ comment: "Clefairy's Metronome is one of the most charming moves in the entire Base Set. " +
439
+ "Misty's copy is excellent — Near Mint with tight corners and clean text. " +
440
+ "At this price for an uncommon, the quality is impressive. Shipped in a penny sleeve. " +
441
+ "Delivery was fast. Misty's attention to card condition even on lower-value uncommons says a lot " +
442
+ "about her shop's standards. Will buy my remaining Celadon Pokédex cards here.",
428
443
  images: [],
429
444
  status: "approved",
430
- helpfulCount: 9,
445
+ helpfulCount: 5,
431
446
  reportCount: 0,
432
- verified: true,
433
- createdAt: daysAgo(48),
434
- updatedAt: daysAgo(48),
435
- approvedAt: daysAgo(48),
447
+ verified: false,
448
+ featured: false,
449
+ createdAt: daysAgo(14),
450
+ updatedAt: daysAgo(14),
451
+ approvedAt: daysAgo(14),
436
452
  },
453
+ // 17. Oak reviews Gyarados Holo (Misty)
437
454
  {
438
- id: "review-yoga-mat-priya-20260212",
439
- productId: "product-premium-yoga-mat-sports-new-sportszone-1",
440
- sellerId: "user-home-essentials-homeesse",
441
- productTitle: "Naruto Sage Mode Toad Sage 1/7 Scale PVC Figure",
442
- userId: "user-priya-sharma-priya",
443
- userName: "Priya Sharma",
444
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=priya-sharma",
455
+ id: "review-gyarados-base1-6-oak-20260407",
456
+ productId: "product-gyarados-base1-6-holo-rare-water-misty-1",
457
+ productTitle: "Gyarados — Base Set #6 Holo Rare (Near Mint)",
458
+ sellerId: "user-misty-water-gym-misty",
459
+ userId: "user-prof-oak-pallet-oak",
460
+ userName: "Professor Oak",
461
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/143.png",
445
462
  rating: 5,
446
- title: "The alignment lines are a game changer",
447
- comment: "I've used 4 yoga mats over the years and this is by far the best. The grip is excellent even during hot yoga. The alignment marks helped me fix my Warrior II pose. Not cheap but absolutely worth it.",
448
- images: [
449
- "https://picsum.photos/seed/yoga-fitness/800/800",
450
- "https://picsum.photos/seed/yoga-practice/800/800",
451
- ],
463
+ title: "A fearsome sea-serpent in pristine scholarly condition",
464
+ comment: "The Gyarados Holo Rare is a fascinating specimen a Dragon-type Pokémon on a Water energy card, " +
465
+ "reflecting the original design era before Dragon became its own type. " +
466
+ "Misty's copy is genuinely Near Mint: deep holo shimmer, tight centering, not a blemish on it. " +
467
+ "She shipped it tracked with a rigid top-loader and it arrived within two days. " +
468
+ "I've now ordered Blastoise, Gyarados, Lapras, and Starmie from Misty — she is my go-to Water specialist.",
469
+ images: [],
452
470
  status: "approved",
453
- helpfulCount: 45,
471
+ helpfulCount: 11,
454
472
  reportCount: 0,
455
473
  verified: true,
456
- createdAt: daysAgo(25),
457
- updatedAt: daysAgo(25),
458
- approvedAt: daysAgo(25),
474
+ featured: false,
475
+ createdAt: daysAgo(12),
476
+ updatedAt: daysAgo(12),
477
+ approvedAt: daysAgo(12),
459
478
  },
479
+ // 18. Sabrina reviews Zap! Theme Deck (Surge)
460
480
  {
461
- id: "review-yoga-mat-meera-20260214",
462
- productId: "product-premium-yoga-mat-sports-new-sportszone-1",
463
- sellerId: "user-home-essentials-homeesse",
464
- productTitle: "Naruto Sage Mode Toad Sage 1/7 Scale PVC Figure",
465
- userId: "user-vikram-nair-vikram",
466
- userName: "Vikram Nair",
467
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=vikram-nair",
481
+ id: "review-zap-theme-deck-sabrina-20260408",
482
+ productId: "product-zap-theme-deck-sealed-surge-1",
483
+ productTitle: "Pokémon Base Set 'Zap!' Theme Deck (Sealed)",
484
+ sellerId: "user-lt-surge-electric-surge",
485
+ userId: "user-sabrina-saffron-sabrina",
486
+ userName: "Sabrina",
487
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/65.png",
468
488
  rating: 4,
469
- title: "Premium quality, slightly heavy",
470
- comment: "Love the mat \u2014 grip is outstanding and it doesn't slip at all. The only con is it's heavier than other mats so carrying to class is a bit of a workout itself. But for home use it's perfect.",
489
+ title: "Genuine sealed WOTC deck — Electric chaos in a box",
490
+ comment: "I purchased this as a sealed collectible for display. The factory seal is original and uncompromised " +
491
+ "I psychically verified no one has opened it. Surge packaged it excellently: rigid box, bubble wrap, " +
492
+ "outer box for shipping. Arrived in perfect shape. " +
493
+ "Four stars because the outer box had minor corner denting from transit, but the sealed deck inside is flawless. " +
494
+ "For sealed vintage WOTC product this is excellent value. Surge is a trustworthy source.",
471
495
  images: [],
472
496
  status: "approved",
473
- helpfulCount: 16,
474
- reportCount: 0,
475
- verified: false,
476
- createdAt: daysAgo(23),
477
- updatedAt: daysAgo(23),
478
- approvedAt: daysAgo(23),
479
- },
480
- {
481
- id: "review-ipad-pro-mike-20260118",
482
- productId: "product-apple-ipad-pro-electronics-new-techhub-1",
483
- sellerId: "user-techhub-electronics-electron",
484
- productTitle: "Bleach Ichigo Bankai Tensa Zangetsu 1/6 Scale Figure",
485
- userId: "user-mike-johnson-mikejohn",
486
- userName: "Mike Johnson",
487
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=mike-johnson",
488
- rating: 5,
489
- title: "Best tablet for creative work",
490
- comment: "Paired with the Apple Pencil, this is an absolute dream for digital illustration. The ProMotion display is silky smooth. Battery lasts all day. Fast delivery and came well packaged.",
491
- images: ["https://picsum.photos/seed/ipad-tablet/800/800"],
492
- status: "approved",
493
- helpfulCount: 52,
497
+ helpfulCount: 6,
494
498
  reportCount: 0,
495
499
  verified: true,
496
- createdAt: daysAgo(50),
497
- updatedAt: daysAgo(50),
498
- approvedAt: daysAgo(50),
500
+ featured: false,
501
+ createdAt: daysAgo(10),
502
+ updatedAt: daysAgo(10),
503
+ approvedAt: daysAgo(10),
499
504
  },
505
+ // 19. Gary reviews Growlithe uncommon (Blaine)
500
506
  {
501
- id: "review-galaxy-watch6-john-20260208",
502
- productId: "product-samsung-galaxy-watch6-electronics-new-techhub-1",
503
- sellerId: "user-techhub-electronics-electron",
504
- productTitle: "Samsung Galaxy Watch 6 Classic 47mm",
505
- userId: "user-john-doe-johndoe",
506
- userName: "John Doe",
507
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=john-doe",
508
- rating: 5,
509
- title: "Best Android smartwatch period",
510
- comment: "Switched from Apple Watch and couldn't be happier. The rotating bezel is genius \u2014 much easier than swiping. Health tracking is accurate, sleep analysis is detailed. Battery lasts 2 days.",
511
- images: ["https://picsum.photos/seed/classic-watch/800/800"],
507
+ id: "review-growlithe-base1-40-gary-20260409",
508
+ productId: "product-growlithe-base1-40-uncommon-fire-blaine-1",
509
+ productTitle: "Growlithe — Base Set #40 Uncommon (Near Mint)",
510
+ sellerId: "user-blaine-fire-gym-blaine",
511
+ userId: "user-gary-oak-pallet-gary",
512
+ userName: "Gary Oak",
513
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/132.png",
514
+ rating: 4,
515
+ title: "Cheap filler done right — NM condition, fast PWE delivery",
516
+ comment: "I ordered 5 Growlithe for a casual Fire deck. All 5 arrived NM crisp, clean, and no damage. " +
517
+ "Blaine ships uncommons via PWE which is fine for low-value cards; I'd prefer tracking for higher-stakes cards " +
518
+ "but for ₹699 uncommons the PWE is completely appropriate. " +
519
+ "Good honest seller with accurate condition descriptions. Quick to answer questions. " +
520
+ "Solid choice for deck-playable Fire-type singles.",
521
+ images: [],
512
522
  status: "approved",
513
- helpfulCount: 38,
523
+ helpfulCount: 4,
514
524
  reportCount: 0,
515
525
  verified: true,
516
- createdAt: daysAgo(29),
517
- updatedAt: daysAgo(29),
518
- approvedAt: daysAgo(29),
526
+ featured: false,
527
+ createdAt: daysAgo(8),
528
+ updatedAt: daysAgo(8),
529
+ approvedAt: daysAgo(8),
519
530
  },
531
+ // ══════════════════════════════════════════════════════════════
532
+ // PENDING (awaiting moderation)
533
+ // ══════════════════════════════════════════════════════════════
534
+ // 20. Ash — pending review of Lightning Energy lot (Surge)
520
535
  {
521
- id: "review-anker-charger-raj-20260205",
522
- productId: "product-anker-usbc-charger-electronics-new-techhub-1",
523
- sellerId: "user-techhub-electronics-electron",
524
- productTitle: "Anker 65W USB-C GaN II Charger",
525
- userId: "user-raj-patel-rajpatel",
526
- userName: "Raj Patel",
527
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=raj-patel",
536
+ id: "review-lightning-energy-ash-20260428",
537
+ productId: "product-lightning-energy-base1-101-common-energy-surge-lot",
538
+ productTitle: "Lightning Energy — Base Set #101 x10 Lot (Near Mint)",
539
+ sellerId: "user-lt-surge-electric-surge",
540
+ userId: "user-ash-ketchum-pallet-ash",
541
+ userName: "Ash Ketchum",
542
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/25.png",
528
543
  rating: 5,
529
- title: "Charges everything I own",
530
- comment: "Charges my laptop, phone, and earbuds simultaneously. The 65W output means my MacBook charges at full speed. The foldable plug is great for travel. Compact and well built.",
531
- images: ["https://picsum.photos/seed/usb-charger/800/800"],
532
- status: "approved",
533
- helpfulCount: 29,
544
+ title: "Shocked by the quality — Surge delivers again!",
545
+ comment: "Ordered two lots of 10 Lightning Energy for my Pikachu-themed deck build. All 20 cards arrived NM " +
546
+ "perfect for powering up Thunderbolt. Surge shipped them in a team bag in a bubble mailer. " +
547
+ "Honestly these are the nicest Base Set commons I've received. " +
548
+ "Fast delivery, great condition, fair price. Pika pika approved!",
549
+ images: [],
550
+ status: "pending",
551
+ helpfulCount: 0,
534
552
  reportCount: 0,
535
553
  verified: true,
536
- createdAt: daysAgo(32),
537
- updatedAt: daysAgo(32),
538
- approvedAt: daysAgo(32),
554
+ createdAt: daysAgo(5),
555
+ updatedAt: daysAgo(5),
539
556
  },
540
- // -- New buyer reviews (Ananya, Pooja, Ravi, Sneha) ------------------------
557
+ // 21. Brock pending review of Beedrill non-holo (Blaine)
541
558
  {
542
- id: "review-iphone15-ananya-20260228",
543
- productId: "product-iphone-15-pro-max-smartphones-new-techhub-electronics-1",
544
- sellerId: "user-techhub-electronics-electron",
545
- productTitle: "Dragon Ball Super Saiyan Blue Goku 1/4 Scale Figure",
546
- userId: "user-ananya-bose-ananya",
547
- userName: "Ananya Bose",
548
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=ananya-bose",
549
- rating: 5,
550
- title: "Switched from Android \u2014 no regrets!",
551
- comment: "Finally made the switch and this phone is simply stunning. The titanium frame feels premium, the Action Button is super handy, and the USB-C connection is a lifesaver. The camera does incredible things in low light. Super happy with this purchase.",
552
- images: ["https://picsum.photos/seed/iphone15/800/800"],
553
- status: "approved",
554
- helpfulCount: 21,
559
+ id: "review-beedrill-base1-17-brock-20260429",
560
+ productId: "product-beedrill-base1-17-non-holo-rare-grass-blaine-1",
561
+ productTitle: "Beedrill — Base Set #17 Non-Holo Rare (Near Mint)",
562
+ sellerId: "user-blaine-fire-gym-blaine",
563
+ userId: "user-brock-pewter-brock",
564
+ userName: "Brock",
565
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/74.png",
566
+ rating: 3,
567
+ title: "NM as listed, but Beedrill deserves a Grass-type seller",
568
+ comment: "The card itself is fine Near Mint, clean print, arrived safely in a penny sleeve. " +
569
+ "My slight hesitation is philosophical: Beedrill is a Grass-type and Blaine runs a Fire-type shop. " +
570
+ "Nothing wrong with the sale, just a curious choice. If you need a NM Beedrill quickly, " +
571
+ "Blaine has it and ships fast. Three stars because the card is technically correct but I'm still thinking about it.",
572
+ images: [],
573
+ status: "pending",
574
+ helpfulCount: 0,
555
575
  reportCount: 0,
556
- verified: true,
557
- createdAt: daysAgo(9),
558
- updatedAt: daysAgo(9),
559
- approvedAt: daysAgo(9),
576
+ verified: false,
577
+ createdAt: daysAgo(4),
578
+ updatedAt: daysAgo(4),
560
579
  },
580
+ // 22. Erika — pending review of Energy Retrieval trainer (Misty)
561
581
  {
562
- id: "review-kurti-pooja-20260301",
563
- productId: "product-womens-ethnic-kurti-womens-fashion-new-fashion-boutique-1",
564
- sellerId: "user-fashion-boutique-fashionb",
565
- productTitle: "Nezuko Kamado Pink Kimono Hoodie Dress",
566
- userId: "user-pooja-mehta-pooja",
567
- userName: "Pooja Mehta",
568
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=pooja-mehta",
582
+ id: "review-energy-retrieval-erika-20260430",
583
+ productId: "product-energy-retrieval-base1-91-common-trainer-misty-1",
584
+ productTitle: "Energy Retrieval — Base Set #91 Trainer (Near Mint)",
585
+ sellerId: "user-misty-water-gym-misty",
586
+ userId: "user-erika-celadon-erika",
587
+ userName: "Erika",
588
+ userAvatar: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/45.png",
569
589
  rating: 5,
570
- title: "Gorgeous \u2014 wore it to my cousin's engagement!",
571
- comment: "Ordered this for a family function and it was the perfect choice. The print is vibrant, the fabric is soft and doesn't crease easily. Sizing was spot on. Got loads of compliments. Will order again!",
590
+ title: "Deck staple in mint condition Misty's Water selection impresses",
591
+ comment: "I needed four Energy Retrieval for my Venusaur-Vileplume combo deck and Misty had them all in NM. " +
592
+ "Cards are crisp and clean, no sleeve marks. Shipped together in a PWE which is totally fine for ₹599 cards. " +
593
+ "Misty stocks trainer cards that synergise with her Water lineup — smart curation. " +
594
+ "Will be ordering more trainer staples from here.",
572
595
  images: [],
573
- status: "approved",
574
- helpfulCount: 19,
596
+ status: "pending",
597
+ helpfulCount: 0,
575
598
  reportCount: 0,
576
599
  verified: true,
577
- createdAt: daysAgo(8),
578
- updatedAt: daysAgo(8),
579
- approvedAt: daysAgo(8),
600
+ createdAt: daysAgo(3),
601
+ updatedAt: daysAgo(3),
580
602
  },
603
+ // ══════════════════════════════════════════════════════════════
604
+ // REJECTED (spam / inappropriate)
605
+ // ══════════════════════════════════════════════════════════════
606
+ // 23. Fake review — spam link on Dugtrio (Misty)
581
607
  {
582
- id: "review-macbook-ravi-20260302",
583
- productId: "product-macbook-pro-16-m3-max-laptops-computers-new-techhub-electronics-1",
584
- sellerId: "user-techhub-electronics-electron",
585
- productTitle: "Monkey D. Luffy Gear 5 Sun God 1/4 Scale Scene Figure",
586
- userId: "user-ravi-kumar-ravi",
587
- userName: "Ravi Kumar",
588
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=ravi-kumar",
589
- rating: 5,
590
- title: "Monster performance for developers",
591
- comment: "I run Docker, multiple JetBrains IDEs, and local LLM models simultaneously \u2014 this machine handles it all without breaking a sweat. The fan barely spins under normal load. Battery life is insane for a 16-inch. Best developer laptop I've ever owned.",
592
- images: ["https://picsum.photos/seed/macbook-laptop/800/800"],
593
- status: "approved",
594
- helpfulCount: 14,
595
- reportCount: 0,
596
- verified: true,
597
- createdAt: daysAgo(7),
598
- updatedAt: daysAgo(7),
599
- approvedAt: daysAgo(7),
608
+ id: "review-dugtrio-base1-19-spam-20260415",
609
+ productId: "product-dugtrio-base1-19-non-holo-rare-fighting-misty-1",
610
+ productTitle: "Dugtrio — Base Set #19 Non-Holo Rare (Near Mint)",
611
+ sellerId: "user-misty-water-gym-misty",
612
+ userId: "user-unverified-new-user",
613
+ userName: "New Trainer",
614
+ userAvatar: undefined,
615
+ rating: 1,
616
+ title: "Fake card!! Buy real cards at cheapcardz.biz",
617
+ comment: "This card is counterfeit!!! I can prove it. Visit cheapcardz.biz for AUTHENTIC Base Set cards at 90% off. " +
618
+ "Don't trust this seller — click my link for the real deal. Promo code PIKA50 saves 50%!!!",
619
+ images: [],
620
+ status: "rejected",
621
+ moderatorId: "user-moderator-mod-user",
622
+ moderatorNote: "Spam comment with external promotional link and promo code",
623
+ rejectionReason: "Contains spam links and promotional content",
624
+ helpfulCount: 0,
625
+ reportCount: 5,
626
+ verified: false,
627
+ createdAt: daysAgo(15),
628
+ updatedAt: daysAgo(14),
629
+ rejectedAt: daysAgo(14),
600
630
  },
631
+ // 24. Hostile/off-topic review on Blastoise (Misty)
601
632
  {
602
- id: "review-cookware-sneha-20260303",
603
- productId: "product-non-stick-cookware-set-home-kitchen-new-home-essentials-1",
604
- sellerId: "user-home-essentials-homeesse",
605
- productTitle: "My Neighbour Totoro Nendoroid No.1234 Deluxe Set",
606
- userId: "user-sneha-gupta-sneha",
607
- userName: "Sneha Gupta",
608
- userAvatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=sneha-gupta",
609
- rating: 4,
610
- title: "Great everyday cookware set",
611
- comment: "Really happy with this set \u2014 the non-stick coating is genuinely good and the pans heat very evenly. I deducted one star only because the handles get warm after extended cooking. For the price, this is outstanding value. Using it daily for 3 weeks and no issues.",
633
+ id: "review-blastoise-base1-2-hostile-20260418",
634
+ productId: "product-blastoise-base1-2-holo-rare-water-misty-1",
635
+ productTitle: "Blastoise — Base Set #2 Holo Rare (Near Mint)",
636
+ sellerId: "user-misty-water-gym-misty",
637
+ userId: "user-unverified-new-user",
638
+ userName: "New Trainer",
639
+ userAvatar: undefined,
640
+ rating: 2,
641
+ title: "Water types are WEAK — why does anyone collect these",
642
+ comment: "Fire types beat Water types. Charizard destroys Blastoise. " +
643
+ "This shop is a waste of time. Misty is the worst Gym Leader. " +
644
+ "Nobody should buy Water cards when Fire exists. Grow up collectors.",
612
645
  images: [],
613
- status: "approved",
614
- helpfulCount: 8,
615
- reportCount: 0,
616
- verified: true,
617
- createdAt: daysAgo(6),
618
- updatedAt: daysAgo(6),
619
- approvedAt: daysAgo(6),
646
+ status: "rejected",
647
+ moderatorId: "user-moderator-mod-user",
648
+ moderatorNote: "Hostile, off-topic, and does not review the product",
649
+ rejectionReason: "Abusive and off-topic content unrelated to the product",
650
+ helpfulCount: 0,
651
+ reportCount: 4,
652
+ verified: false,
653
+ createdAt: daysAgo(12),
654
+ updatedAt: daysAgo(11),
655
+ rejectedAt: daysAgo(11),
620
656
  },
621
657
  ];