@mohasinac/appkit 2.3.1 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (771) hide show
  1. package/dist/client.d.ts +54 -18
  2. package/dist/client.js +29 -10
  3. package/dist/constants/api-endpoints.d.ts +384 -22
  4. package/dist/constants/api-endpoints.js +68 -13
  5. package/dist/constants/index.d.ts +1 -1
  6. package/dist/constants/index.js +1 -1
  7. package/dist/core/contact-submissions.repository.d.ts +32 -0
  8. package/dist/core/contact-submissions.repository.js +49 -0
  9. package/dist/core/hooks/useSyncManager.d.ts +1 -0
  10. package/dist/core/hooks/useSyncManager.js +83 -0
  11. package/dist/core/index.d.ts +2 -0
  12. package/dist/core/index.js +1 -0
  13. package/dist/core/integration-keys.d.ts +4 -0
  14. package/dist/core/integration-keys.js +8 -0
  15. package/dist/features/about/components/FAQPageView.js +9 -11
  16. package/dist/features/about/components/HowPayoutsWorkView.js +1 -1
  17. package/dist/features/about/components/PolicyPageView.js +32 -11
  18. package/dist/features/about/components/PublicProfileView.js +77 -11
  19. package/dist/features/account/components/AddressFilters.d.ts +5 -0
  20. package/dist/features/account/components/AddressFilters.js +20 -0
  21. package/dist/features/account/components/AddressesIndexListing.d.ts +6 -0
  22. package/dist/features/account/components/AddressesIndexListing.js +76 -0
  23. package/dist/features/account/components/UserOffersPanel.d.ts +8 -0
  24. package/dist/features/account/components/UserOffersPanel.js +81 -0
  25. package/dist/features/account/components/UserSettingsView.d.ts +2 -1
  26. package/dist/features/account/components/UserSettingsView.js +2 -1
  27. package/dist/features/account/components/UserSidebar.d.ts +12 -3
  28. package/dist/features/account/components/UserSidebar.js +64 -10
  29. package/dist/features/account/components/index.d.ts +2 -0
  30. package/dist/features/account/components/index.js +1 -0
  31. package/dist/features/account/hooks/useAddresses.d.ts +7 -0
  32. package/dist/features/account/hooks/useAddresses.js +12 -1
  33. package/dist/features/admin/actions/admin-actions.d.ts +1 -1
  34. package/dist/features/admin/actions/admin-actions.js +13 -3
  35. package/dist/features/admin/actions/admin-read-actions.d.ts +12 -0
  36. package/dist/features/admin/actions/admin-read-actions.js +18 -0
  37. package/dist/features/admin/components/AdminAdEditorView.js +6 -7
  38. package/dist/features/admin/components/AdminAllEventEntriesView.d.ts +4 -0
  39. package/dist/features/admin/components/AdminAllEventEntriesView.js +102 -0
  40. package/dist/features/admin/components/AdminBidsView.js +94 -8
  41. package/dist/features/admin/components/AdminBlogEditorView.d.ts +7 -0
  42. package/dist/features/admin/components/AdminBlogEditorView.js +162 -0
  43. package/dist/features/admin/components/AdminBlogView.d.ts +4 -1
  44. package/dist/features/admin/components/AdminBlogView.js +64 -10
  45. package/dist/features/admin/components/AdminBrandEditorView.d.ts +7 -0
  46. package/dist/features/admin/components/AdminBrandEditorView.js +104 -0
  47. package/dist/features/admin/components/AdminBrandsView.d.ts +4 -0
  48. package/dist/features/admin/components/AdminBrandsView.js +76 -0
  49. package/dist/features/admin/components/AdminCarouselEditorView.d.ts +8 -0
  50. package/dist/features/admin/components/AdminCarouselEditorView.js +204 -0
  51. package/dist/features/admin/components/AdminCarouselView.js +155 -20
  52. package/dist/features/admin/components/AdminCartsView.d.ts +4 -0
  53. package/dist/features/admin/components/AdminCartsView.js +82 -0
  54. package/dist/features/admin/components/AdminCategoriesView.d.ts +4 -1
  55. package/dist/features/admin/components/AdminCategoriesView.js +69 -26
  56. package/dist/features/admin/components/AdminCategoryEditorView.d.ts +7 -0
  57. package/dist/features/admin/components/AdminCategoryEditorView.js +115 -0
  58. package/dist/features/admin/components/AdminContactEditorView.d.ts +11 -0
  59. package/dist/features/admin/components/AdminContactEditorView.js +32 -0
  60. package/dist/features/admin/components/AdminContactView.d.ts +4 -0
  61. package/dist/features/admin/components/AdminContactView.js +141 -0
  62. package/dist/features/admin/components/AdminCouponEditorView.d.ts +7 -0
  63. package/dist/features/admin/components/AdminCouponEditorView.js +179 -0
  64. package/dist/features/admin/components/AdminCouponsView.d.ts +4 -1
  65. package/dist/features/admin/components/AdminCouponsView.js +57 -9
  66. package/dist/features/admin/components/AdminDashboardView.js +3 -0
  67. package/dist/features/admin/components/AdminFaqEditorView.d.ts +7 -0
  68. package/dist/features/admin/components/AdminFaqEditorView.js +128 -0
  69. package/dist/features/admin/components/AdminFaqsView.d.ts +4 -1
  70. package/dist/features/admin/components/AdminFaqsView.js +55 -6
  71. package/dist/features/admin/components/AdminFeatureFlagsView.js +33 -24
  72. package/dist/features/admin/components/AdminListingScaffold.d.ts +17 -2
  73. package/dist/features/admin/components/AdminListingScaffold.js +14 -3
  74. package/dist/features/admin/components/AdminMediaView.js +18 -8
  75. package/dist/features/admin/components/AdminNavEditorView.d.ts +20 -0
  76. package/dist/features/admin/components/AdminNavEditorView.js +84 -0
  77. package/dist/features/admin/components/AdminNavigationView.d.ts +1 -7
  78. package/dist/features/admin/components/AdminNavigationView.js +84 -72
  79. package/dist/features/admin/components/AdminNewsletterView.d.ts +4 -0
  80. package/dist/features/admin/components/AdminNewsletterView.js +132 -0
  81. package/dist/features/admin/components/AdminNotificationsView.d.ts +4 -0
  82. package/dist/features/admin/components/AdminNotificationsView.js +119 -0
  83. package/dist/features/admin/components/AdminOrderEditorView.d.ts +8 -0
  84. package/dist/features/admin/components/AdminOrderEditorView.js +74 -0
  85. package/dist/features/admin/components/AdminOrdersView.js +64 -8
  86. package/dist/features/admin/components/AdminPayoutsView.js +122 -13
  87. package/dist/features/admin/components/AdminProductEditorView.d.ts +7 -0
  88. package/dist/features/admin/components/AdminProductEditorView.js +143 -0
  89. package/dist/features/admin/components/AdminProductsView.d.ts +4 -1
  90. package/dist/features/admin/components/AdminProductsView.js +124 -7
  91. package/dist/features/admin/components/AdminReturnRequestsView.d.ts +5 -0
  92. package/dist/features/admin/components/AdminReturnRequestsView.js +101 -0
  93. package/dist/features/admin/components/AdminReviewsView.js +140 -6
  94. package/dist/features/admin/components/AdminSectionsView.js +361 -472
  95. package/dist/features/admin/components/AdminSessionsView.d.ts +4 -0
  96. package/dist/features/admin/components/AdminSessionsView.js +119 -0
  97. package/dist/features/admin/components/AdminSidebar.d.ts +18 -3
  98. package/dist/features/admin/components/AdminSidebar.js +51 -4
  99. package/dist/features/admin/components/AdminSiteSettingsView.d.ts +7 -0
  100. package/dist/features/admin/components/AdminSiteSettingsView.js +319 -0
  101. package/dist/features/admin/components/AdminStoreAddressesView.d.ts +5 -0
  102. package/dist/features/admin/components/AdminStoreAddressesView.js +52 -0
  103. package/dist/features/admin/components/AdminStoreEditorView.d.ts +9 -0
  104. package/dist/features/admin/components/AdminStoreEditorView.js +55 -0
  105. package/dist/features/admin/components/AdminStoresView.js +62 -5
  106. package/dist/features/admin/components/AdminUserEditorView.d.ts +10 -0
  107. package/dist/features/admin/components/AdminUserEditorView.js +72 -0
  108. package/dist/features/admin/components/AdminUsersView.js +73 -14
  109. package/dist/features/admin/components/AdminWishlistsView.d.ts +4 -0
  110. package/dist/features/admin/components/AdminWishlistsView.js +53 -0
  111. package/dist/features/admin/components/BrandQuickCreateForm.d.ts +5 -0
  112. package/dist/features/admin/components/BrandQuickCreateForm.js +36 -0
  113. package/dist/features/admin/components/CategoryQuickCreateForm.d.ts +5 -0
  114. package/dist/features/admin/components/CategoryQuickCreateForm.js +35 -0
  115. package/dist/features/admin/components/DataTable.d.ts +5 -2
  116. package/dist/features/admin/components/DataTable.js +38 -4
  117. package/dist/features/admin/components/index.d.ts +53 -1
  118. package/dist/features/admin/components/index.js +26 -0
  119. package/dist/features/admin/components/sections/adminSectionsBuildParse.d.ts +48 -0
  120. package/dist/features/admin/components/sections/adminSectionsBuildParse.js +653 -0
  121. package/dist/features/admin/components/sections/adminSectionsTypes.d.ts +298 -0
  122. package/dist/features/admin/components/sections/adminSectionsTypes.js +278 -0
  123. package/dist/features/admin/hooks/useAdminListingData.d.ts +3 -1
  124. package/dist/features/admin/hooks/useAdminListingData.js +12 -7
  125. package/dist/features/admin/schemas/firestore.d.ts +26 -0
  126. package/dist/features/admin/schemas/firestore.js +1 -0
  127. package/dist/features/admin/server.d.ts +3 -0
  128. package/dist/features/admin/server.js +2 -0
  129. package/dist/features/admin/types/product.types.d.ts +2 -3
  130. package/dist/features/auctions/actions/bid-actions.js +6 -2
  131. package/dist/features/auctions/components/AuctionDetailPageView.d.ts +3 -1
  132. package/dist/features/auctions/components/AuctionDetailPageView.js +125 -53
  133. package/dist/features/auctions/components/AuctionFilters.d.ts +10 -0
  134. package/dist/features/auctions/components/AuctionFilters.js +16 -0
  135. package/dist/features/auctions/components/AuctionsListView.d.ts +6 -1
  136. package/dist/features/auctions/components/AuctionsListView.js +37 -5
  137. package/dist/features/auctions/components/CollapsibleBidHistory.d.ts +7 -0
  138. package/dist/features/auctions/components/CollapsibleBidHistory.js +8 -0
  139. package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +4 -0
  140. package/dist/features/auctions/components/MarketplaceAuctionCard.js +43 -9
  141. package/dist/features/auctions/components/MarketplaceAuctionGrid.js +1 -0
  142. package/dist/features/auctions/components/PlaceBidFormClient.d.ts +18 -0
  143. package/dist/features/auctions/components/PlaceBidFormClient.js +33 -0
  144. package/dist/features/auctions/hooks/useAuctions.d.ts +1 -0
  145. package/dist/features/auctions/hooks/useAuctions.js +1 -0
  146. package/dist/features/auctions/schemas/index.d.ts +18 -8
  147. package/dist/features/auth/actions/profile-actions.d.ts +5 -3
  148. package/dist/features/auth/actions/profile-actions.js +30 -11
  149. package/dist/features/auth/auth-helpers.js +1 -0
  150. package/dist/features/auth/components/LoginForm.js +2 -1
  151. package/dist/features/auth/hooks/useAuth.js +16 -4
  152. package/dist/features/auth/permissions/constants.d.ts +63 -0
  153. package/dist/features/auth/permissions/constants.js +323 -0
  154. package/dist/features/auth/schemas/firestore.d.ts +20 -0
  155. package/dist/features/auth/schemas/index.d.ts +4 -4
  156. package/dist/features/auth/schemas/index.js +3 -2
  157. package/dist/features/auth/types/index.d.ts +1 -1
  158. package/dist/features/before-after/schemas/index.d.ts +2 -2
  159. package/dist/features/blog/actions/blog-actions.d.ts +15 -15
  160. package/dist/features/blog/components/BlogFeaturedCard.d.ts +1 -7
  161. package/dist/features/blog/components/BlogFeaturedCard.js +4 -5
  162. package/dist/features/blog/components/BlogFilters.js +2 -1
  163. package/dist/features/blog/components/BlogIndexListing.js +66 -9
  164. package/dist/features/blog/components/BlogIndexPageView.d.ts +6 -1
  165. package/dist/features/blog/components/BlogIndexPageView.js +24 -4
  166. package/dist/features/blog/components/BlogListView.d.ts +2 -1
  167. package/dist/features/blog/components/BlogListView.js +10 -3
  168. package/dist/features/blog/components/BlogPostForm.js +6 -2
  169. package/dist/features/blog/components/BlogPostView.js +2 -1
  170. package/dist/features/blog/hooks/useBlog.d.ts +2 -0
  171. package/dist/features/blog/hooks/useBlog.js +2 -0
  172. package/dist/features/blog/schemas/index.d.ts +46 -12
  173. package/dist/features/brands/actions/brand-actions.d.ts +2 -0
  174. package/dist/features/brands/actions/brand-actions.js +5 -0
  175. package/dist/features/brands/index.d.ts +3 -0
  176. package/dist/features/brands/index.js +3 -0
  177. package/dist/features/brands/repository/brands.repository.d.ts +13 -0
  178. package/dist/features/brands/repository/brands.repository.js +60 -0
  179. package/dist/features/brands/schemas/index.d.ts +33 -0
  180. package/dist/features/brands/schemas/index.js +15 -0
  181. package/dist/features/brands/server.d.ts +7 -0
  182. package/dist/features/brands/server.js +7 -0
  183. package/dist/features/cart/actions/cart-actions.js +2 -2
  184. package/dist/features/cart/components/CartDrawer.d.ts +5 -1
  185. package/dist/features/cart/components/CartDrawer.js +3 -3
  186. package/dist/features/cart/hooks/useCartCount.d.ts +3 -2
  187. package/dist/features/cart/hooks/useCartCount.js +4 -2
  188. package/dist/features/cart/hooks/useGuestCartMerge.js +1 -1
  189. package/dist/features/cart/index.d.ts +1 -0
  190. package/dist/features/cart/index.js +1 -0
  191. package/dist/features/cart/repository/cart.repository.d.ts +5 -1
  192. package/dist/features/cart/repository/cart.repository.js +36 -5
  193. package/dist/features/cart/schemas/firestore.d.ts +25 -6
  194. package/dist/features/cart/schemas/firestore.js +2 -2
  195. package/dist/features/cart/schemas/index.d.ts +9 -9
  196. package/dist/features/cart/schemas/index.js +1 -1
  197. package/dist/features/cart/types/index.d.ts +1 -1
  198. package/dist/features/cart/utils/pending-ops.d.ts +33 -0
  199. package/dist/features/cart/utils/pending-ops.js +102 -0
  200. package/dist/features/categories/components/BrandDetailPageView.d.ts +4 -0
  201. package/dist/features/categories/components/BrandDetailPageView.js +54 -0
  202. package/dist/features/categories/components/BrandDetailTabs.d.ts +10 -0
  203. package/dist/features/categories/components/BrandDetailTabs.js +22 -0
  204. package/dist/features/categories/components/CategoriesIndexListing.d.ts +3 -1
  205. package/dist/features/categories/components/CategoriesIndexListing.js +117 -38
  206. package/dist/features/categories/components/CategoriesIndexPageView.d.ts +6 -1
  207. package/dist/features/categories/components/CategoriesIndexPageView.js +41 -2
  208. package/dist/features/categories/components/CategoryDetailPageView.js +47 -19
  209. package/dist/features/categories/components/CategoryDetailTabs.d.ts +11 -0
  210. package/dist/features/categories/components/CategoryDetailTabs.js +22 -0
  211. package/dist/features/categories/components/CategoryFilters.js +2 -1
  212. package/dist/features/categories/components/CategoryForm.js +10 -4
  213. package/dist/features/categories/components/CategoryGrid.d.ts +2 -1
  214. package/dist/features/categories/components/CategoryGrid.js +8 -6
  215. package/dist/features/categories/components/CategoryProductsListing.d.ts +4 -1
  216. package/dist/features/categories/components/CategoryProductsListing.js +53 -13
  217. package/dist/features/categories/components/ConcernCard.js +1 -1
  218. package/dist/features/categories/components/index.d.ts +2 -0
  219. package/dist/features/categories/components/index.js +1 -0
  220. package/dist/features/categories/hooks/useCategories.d.ts +20 -0
  221. package/dist/features/categories/hooks/useCategories.js +52 -1
  222. package/dist/features/categories/hooks/useCategoryTree.d.ts +17 -0
  223. package/dist/features/categories/hooks/useCategoryTree.js +65 -0
  224. package/dist/features/categories/repository/categories.repository.js +2 -3
  225. package/dist/features/categories/schemas/firestore.d.ts +23 -2
  226. package/dist/features/categories/schemas/firestore.js +8 -0
  227. package/dist/features/categories/schemas/index.d.ts +8 -8
  228. package/dist/features/categories/types/index.d.ts +1 -0
  229. package/dist/features/collections/schemas/index.d.ts +2 -2
  230. package/dist/features/events/components/AdminEventEditorView.d.ts +6 -0
  231. package/dist/features/events/components/AdminEventEditorView.js +203 -0
  232. package/dist/features/events/components/AdminEventsView.d.ts +4 -1
  233. package/dist/features/events/components/AdminEventsView.js +66 -14
  234. package/dist/features/events/components/EventCard.js +4 -2
  235. package/dist/features/events/components/EventFilters.js +2 -1
  236. package/dist/features/events/components/EventPollWidget.d.ts +12 -0
  237. package/dist/features/events/components/EventPollWidget.js +62 -0
  238. package/dist/features/events/components/EventsIndexListing.js +92 -10
  239. package/dist/features/events/components/EventsListPageView.d.ts +6 -1
  240. package/dist/features/events/components/EventsListPageView.js +40 -7
  241. package/dist/features/events/components/index.d.ts +4 -0
  242. package/dist/features/events/components/index.js +2 -0
  243. package/dist/features/events/hooks/useEvents.d.ts +1 -0
  244. package/dist/features/events/hooks/useEvents.js +3 -0
  245. package/dist/features/events/repository/events.repository.js +3 -0
  246. package/dist/features/events/schemas/firestore.d.ts +1 -0
  247. package/dist/features/events/schemas/index.d.ts +44 -0
  248. package/dist/features/events/types/index.d.ts +3 -0
  249. package/dist/features/faq/actions/faq-actions.d.ts +16 -16
  250. package/dist/features/faq/hooks/useFaqList.js +1 -1
  251. package/dist/features/faq/schemas/firestore.d.ts +2 -2
  252. package/dist/features/faq/schemas/firestore.js +2 -1
  253. package/dist/features/faq/schemas/index.d.ts +4 -4
  254. package/dist/features/filters/FilterFacetSection.d.ts +1 -0
  255. package/dist/features/filters/FilterFacetSection.js +13 -1
  256. package/dist/features/filters/SwitchFilter.js +1 -1
  257. package/dist/features/grouped/schemas/firestore.d.ts +32 -0
  258. package/dist/features/grouped/schemas/firestore.js +19 -0
  259. package/dist/features/homepage/components/AdSlot.d.ts +1 -3
  260. package/dist/features/homepage/components/AdSlot.js +15 -14
  261. package/dist/features/homepage/components/BlogArticlesSection.d.ts +3 -1
  262. package/dist/features/homepage/components/BlogArticlesSection.js +3 -3
  263. package/dist/features/homepage/components/BrandsSection.d.ts +3 -1
  264. package/dist/features/homepage/components/BrandsSection.js +4 -3
  265. package/dist/features/homepage/components/CustomCardsSection.d.ts +3 -0
  266. package/dist/features/homepage/components/CustomCardsSection.js +76 -0
  267. package/dist/features/homepage/components/EventsSection.d.ts +3 -1
  268. package/dist/features/homepage/components/EventsSection.js +3 -3
  269. package/dist/features/homepage/components/FeaturedAuctionsSection.d.ts +4 -1
  270. package/dist/features/homepage/components/FeaturedAuctionsSection.js +3 -3
  271. package/dist/features/homepage/components/FeaturedPreOrdersSection.d.ts +4 -1
  272. package/dist/features/homepage/components/FeaturedPreOrdersSection.js +3 -3
  273. package/dist/features/homepage/components/FeaturedProductsSection.d.ts +4 -1
  274. package/dist/features/homepage/components/FeaturedProductsSection.js +8 -3
  275. package/dist/features/homepage/components/FeaturedStoresSection.d.ts +3 -1
  276. package/dist/features/homepage/components/FeaturedStoresSection.js +3 -3
  277. package/dist/features/homepage/components/GoogleReviewsSection.d.ts +3 -0
  278. package/dist/features/homepage/components/GoogleReviewsSection.js +65 -0
  279. package/dist/features/homepage/components/HeroCarousel.js +129 -85
  280. package/dist/features/homepage/components/MarketplaceHomepageView.d.ts +2 -20
  281. package/dist/features/homepage/components/MarketplaceHomepageView.js +73 -220
  282. package/dist/features/homepage/components/SectionCarousel.d.ts +1 -1
  283. package/dist/features/homepage/components/SectionCarousel.js +6 -4
  284. package/dist/features/homepage/components/ShopByCategorySection.d.ts +3 -1
  285. package/dist/features/homepage/components/ShopByCategorySection.js +8 -4
  286. package/dist/features/homepage/components/SocialFeedSection.d.ts +3 -0
  287. package/dist/features/homepage/components/SocialFeedSection.js +86 -0
  288. package/dist/features/homepage/components/SocialPostCard.d.ts +7 -0
  289. package/dist/features/homepage/components/SocialPostCard.js +39 -0
  290. package/dist/features/homepage/components/StatsCounterSection.js +1 -1
  291. package/dist/features/homepage/components/WelcomeSection.js +1 -1
  292. package/dist/features/homepage/components/WhatsAppCommunitySection.js +1 -1
  293. package/dist/features/homepage/hooks/useActiveAd.d.ts +23 -0
  294. package/dist/features/homepage/hooks/useActiveAd.js +20 -0
  295. package/dist/features/homepage/hooks/useBlogArticles.d.ts +1 -0
  296. package/dist/features/homepage/hooks/useBlogArticles.js +10 -0
  297. package/dist/features/homepage/hooks/useFeaturedAuctions.d.ts +4 -1
  298. package/dist/features/homepage/hooks/useFeaturedAuctions.js +8 -4
  299. package/dist/features/homepage/hooks/useFeaturedPreOrders.d.ts +4 -1
  300. package/dist/features/homepage/hooks/useFeaturedPreOrders.js +8 -4
  301. package/dist/features/homepage/hooks/useFeaturedProducts.d.ts +1 -0
  302. package/dist/features/homepage/hooks/useFeaturedProducts.js +6 -3
  303. package/dist/features/homepage/hooks/useFeaturedStores.d.ts +3 -1
  304. package/dist/features/homepage/hooks/useFeaturedStores.js +2 -1
  305. package/dist/features/homepage/hooks/useHomepageEvents.d.ts +3 -1
  306. package/dist/features/homepage/hooks/useHomepageEvents.js +2 -1
  307. package/dist/features/homepage/hooks/useTopBrands.d.ts +3 -1
  308. package/dist/features/homepage/hooks/useTopBrands.js +2 -1
  309. package/dist/features/homepage/index.d.ts +2 -0
  310. package/dist/features/homepage/index.js +1 -0
  311. package/dist/features/homepage/lib/google-reviews-fetcher.d.ts +14 -0
  312. package/dist/features/homepage/lib/google-reviews-fetcher.js +27 -0
  313. package/dist/features/homepage/lib/live-stats.d.ts +14 -0
  314. package/dist/features/homepage/lib/live-stats.js +62 -0
  315. package/dist/features/homepage/lib/section-defaults.d.ts +11 -0
  316. package/dist/features/homepage/lib/section-defaults.js +45 -0
  317. package/dist/features/homepage/lib/section-helpers.d.ts +5 -0
  318. package/dist/features/homepage/lib/section-helpers.js +25 -0
  319. package/dist/features/homepage/lib/section-renderer.d.ts +33 -0
  320. package/dist/features/homepage/lib/section-renderer.js +164 -0
  321. package/dist/features/homepage/lib/social-feed-fetcher.d.ts +5 -0
  322. package/dist/features/homepage/lib/social-feed-fetcher.js +193 -0
  323. package/dist/features/homepage/schemas/firestore.d.ts +180 -29
  324. package/dist/features/homepage/schemas/firestore.js +7 -1
  325. package/dist/features/homepage/types/index.d.ts +48 -19
  326. package/dist/features/layout/AppLayoutShell.d.ts +11 -2
  327. package/dist/features/layout/AppLayoutShell.js +30 -10
  328. package/dist/features/layout/BottomActions.js +1 -1
  329. package/dist/features/layout/BottomNavbar.d.ts +15 -1
  330. package/dist/features/layout/BottomNavbar.js +8 -2
  331. package/dist/features/layout/FooterLayout.d.ts +7 -1
  332. package/dist/features/layout/FooterLayout.js +3 -3
  333. package/dist/features/layout/ListingLayout.js +2 -2
  334. package/dist/features/layout/MainNavbar.d.ts +6 -14
  335. package/dist/features/layout/MainNavbar.js +4 -16
  336. package/dist/features/layout/NavItem.js +1 -1
  337. package/dist/features/layout/NavbarLayout.d.ts +3 -1
  338. package/dist/features/layout/NavbarLayout.js +5 -5
  339. package/dist/features/layout/TitleBar.d.ts +4 -2
  340. package/dist/features/layout/TitleBar.js +5 -3
  341. package/dist/features/layout/TitleBarLayout.d.ts +3 -1
  342. package/dist/features/layout/TitleBarLayout.js +2 -2
  343. package/dist/features/layout/index.d.ts +1 -1
  344. package/dist/features/media/MediaPickerModal.d.ts +30 -0
  345. package/dist/features/media/MediaPickerModal.js +72 -0
  346. package/dist/features/media/index.d.ts +3 -1
  347. package/dist/features/media/index.js +1 -0
  348. package/dist/features/media/types/index.d.ts +12 -0
  349. package/dist/features/media/types/index.js +4 -2
  350. package/dist/features/media/upload/MediaUploadField.d.ts +5 -1
  351. package/dist/features/media/upload/MediaUploadField.js +56 -3
  352. package/dist/features/messages/schemas/firestore.d.ts +36 -0
  353. package/dist/features/messages/schemas/firestore.js +16 -0
  354. package/dist/features/orders/repository/orders.repository.d.ts +2 -2
  355. package/dist/features/orders/repository/orders.repository.js +2 -2
  356. package/dist/features/orders/schemas/firestore.d.ts +17 -4
  357. package/dist/features/orders/schemas/firestore.js +2 -2
  358. package/dist/features/orders/schemas/index.d.ts +18 -18
  359. package/dist/features/orders/schemas/index.js +3 -3
  360. package/dist/features/orders/types/index.d.ts +1 -1
  361. package/dist/features/orders/utils/order-splitter.d.ts +1 -1
  362. package/dist/features/orders/utils/order-splitter.js +2 -2
  363. package/dist/features/payments/repository/payout.repository.d.ts +4 -4
  364. package/dist/features/payments/repository/payout.repository.js +7 -7
  365. package/dist/features/payments/schemas/firestore.d.ts +6 -6
  366. package/dist/features/payments/schemas/firestore.js +6 -6
  367. package/dist/features/pre-orders/components/MarketplacePreorderCard.d.ts +3 -1
  368. package/dist/features/pre-orders/components/MarketplacePreorderCard.js +13 -8
  369. package/dist/features/pre-orders/components/PreOrderActionsClient.d.ts +11 -0
  370. package/dist/features/pre-orders/components/PreOrderActionsClient.js +28 -0
  371. package/dist/features/pre-orders/components/PreOrderDetailPageView.d.ts +2 -1
  372. package/dist/features/pre-orders/components/PreOrderDetailPageView.js +100 -14
  373. package/dist/features/pre-orders/components/PreOrderFilters.d.ts +10 -0
  374. package/dist/features/pre-orders/components/PreOrderFilters.js +24 -0
  375. package/dist/features/pre-orders/components/PreOrdersIndexListing.d.ts +4 -1
  376. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +166 -11
  377. package/dist/features/pre-orders/components/PreOrdersListView.d.ts +6 -1
  378. package/dist/features/pre-orders/components/PreOrdersListView.js +26 -7
  379. package/dist/features/pre-orders/components/PreorderCard.js +1 -1
  380. package/dist/features/pre-orders/components/index.d.ts +2 -0
  381. package/dist/features/pre-orders/components/index.js +1 -0
  382. package/dist/features/pre-orders/schemas/index.d.ts +10 -0
  383. package/dist/features/products/actions/product-actions.d.ts +2 -2
  384. package/dist/features/products/actions/product-actions.js +5 -5
  385. package/dist/features/products/api/[id]/route.js +5 -2
  386. package/dist/features/products/api/route.js +10 -14
  387. package/dist/features/products/columns/productTableColumns.js +2 -2
  388. package/dist/features/products/components/AuctionDetailView.d.ts +2 -1
  389. package/dist/features/products/components/AuctionDetailView.js +2 -2
  390. package/dist/features/products/components/AuctionsIndexListing.d.ts +4 -1
  391. package/dist/features/products/components/AuctionsIndexListing.js +124 -10
  392. package/dist/features/products/components/BidHistory.d.ts +2 -1
  393. package/dist/features/products/components/BidHistory.js +18 -2
  394. package/dist/features/products/components/InteractiveProductCard.d.ts +2 -4
  395. package/dist/features/products/components/InteractiveProductCard.js +2 -2
  396. package/dist/features/products/components/MakeOfferButton.d.ts +10 -0
  397. package/dist/features/products/components/MakeOfferButton.js +68 -0
  398. package/dist/features/products/components/ProductDetailPageView.d.ts +11 -1
  399. package/dist/features/products/components/ProductDetailPageView.js +136 -26
  400. package/dist/features/products/components/ProductFilters.d.ts +13 -12
  401. package/dist/features/products/components/ProductFilters.js +8 -4
  402. package/dist/features/products/components/ProductForm.d.ts +19 -1
  403. package/dist/features/products/components/ProductForm.js +24 -6
  404. package/dist/features/products/components/ProductGrid.d.ts +16 -2
  405. package/dist/features/products/components/ProductGrid.js +80 -18
  406. package/dist/features/products/components/ProductTabsShell.d.ts +3 -11
  407. package/dist/features/products/components/ProductTabsShell.js +14 -14
  408. package/dist/features/products/components/ProductsIndexListing.js +160 -10
  409. package/dist/features/products/components/ProductsIndexPageView.d.ts +6 -1
  410. package/dist/features/products/components/ProductsIndexPageView.js +39 -6
  411. package/dist/features/products/components/RelatedProductsCarousel.d.ts +7 -0
  412. package/dist/features/products/components/RelatedProductsCarousel.js +11 -0
  413. package/dist/features/products/components/ShareButton.d.ts +7 -0
  414. package/dist/features/products/components/ShareButton.js +22 -0
  415. package/dist/features/products/components/index.d.ts +3 -0
  416. package/dist/features/products/components/index.js +2 -0
  417. package/dist/features/products/hooks/useProducts.d.ts +7 -0
  418. package/dist/features/products/hooks/useProducts.js +20 -2
  419. package/dist/features/products/repository/products.repository.d.ts +9 -5
  420. package/dist/features/products/repository/products.repository.js +19 -50
  421. package/dist/features/products/schemas/firestore.d.ts +11 -9
  422. package/dist/features/products/schemas/firestore.js +11 -3
  423. package/dist/features/products/schemas/index.d.ts +43 -42
  424. package/dist/features/products/schemas/index.js +2 -5
  425. package/dist/features/products/types/index.d.ts +24 -4
  426. package/dist/features/promotions/actions/coupon-actions.d.ts +2 -2
  427. package/dist/features/promotions/actions/coupon-actions.js +1 -1
  428. package/dist/features/promotions/actions/seller-coupon-actions.js +11 -6
  429. package/dist/features/promotions/api/route.js +3 -3
  430. package/dist/features/promotions/components/CouponCard.js +16 -7
  431. package/dist/features/promotions/components/CouponsIndexListing.d.ts +9 -0
  432. package/dist/features/promotions/components/CouponsIndexListing.js +80 -0
  433. package/dist/features/promotions/components/PromotionsView.d.ts +11 -5
  434. package/dist/features/promotions/components/PromotionsView.js +6 -1
  435. package/dist/features/promotions/components/index.d.ts +4 -2
  436. package/dist/features/promotions/components/index.js +2 -1
  437. package/dist/features/promotions/hooks/useCouponValidate.d.ts +1 -1
  438. package/dist/features/promotions/hooks/usePromotions.js +2 -2
  439. package/dist/features/promotions/repository/coupons.repository.d.ts +21 -15
  440. package/dist/features/promotions/repository/coupons.repository.js +97 -125
  441. package/dist/features/promotions/schemas/firestore.d.ts +31 -2
  442. package/dist/features/promotions/schemas/firestore.js +29 -0
  443. package/dist/features/promotions/schemas/index.d.ts +9 -12
  444. package/dist/features/promotions/schemas/index.js +1 -2
  445. package/dist/features/promotions/types/index.d.ts +1 -2
  446. package/dist/features/reviews/actions/review-actions.js +3 -2
  447. package/dist/features/reviews/components/ReviewDetailPageView.d.ts +4 -0
  448. package/dist/features/reviews/components/ReviewDetailPageView.js +16 -0
  449. package/dist/features/reviews/components/ReviewDetailShell.d.ts +7 -0
  450. package/dist/features/reviews/components/ReviewDetailShell.js +80 -0
  451. package/dist/features/reviews/components/ReviewFilters.d.ts +3 -3
  452. package/dist/features/reviews/components/ReviewFilters.js +5 -4
  453. package/dist/features/reviews/components/ReviewsIndexListing.d.ts +4 -3
  454. package/dist/features/reviews/components/ReviewsIndexListing.js +86 -51
  455. package/dist/features/reviews/components/ReviewsIndexPageView.d.ts +6 -1
  456. package/dist/features/reviews/components/ReviewsIndexPageView.js +49 -3
  457. package/dist/features/reviews/components/ReviewsList.js +9 -1
  458. package/dist/features/reviews/components/index.d.ts +1 -0
  459. package/dist/features/reviews/hooks/useReviews.d.ts +1 -0
  460. package/dist/features/reviews/hooks/useReviews.js +16 -1
  461. package/dist/features/reviews/repository/reviews.repository.d.ts +9 -4
  462. package/dist/features/reviews/repository/reviews.repository.js +18 -7
  463. package/dist/features/reviews/schemas/firestore.d.ts +5 -2
  464. package/dist/features/reviews/schemas/firestore.js +1 -0
  465. package/dist/features/reviews/schemas/index.d.ts +19 -16
  466. package/dist/features/reviews/schemas/index.js +3 -2
  467. package/dist/features/reviews/types/index.d.ts +9 -3
  468. package/dist/features/scams/actions/scam-actions.d.ts +29 -0
  469. package/dist/features/scams/actions/scam-actions.js +62 -0
  470. package/dist/features/scams/components/ScamProfileView.d.ts +7 -0
  471. package/dist/features/scams/components/ScamProfileView.js +49 -0
  472. package/dist/features/scams/components/ScamRegistryView.d.ts +6 -0
  473. package/dist/features/scams/components/ScamRegistryView.js +41 -0
  474. package/dist/features/scams/components/index.d.ts +4 -0
  475. package/dist/features/scams/components/index.js +2 -0
  476. package/dist/features/scams/constants/scam-types.d.ts +38 -0
  477. package/dist/features/scams/constants/scam-types.js +443 -0
  478. package/dist/features/scams/repository/scammer.repository.d.ts +67 -0
  479. package/dist/features/scams/repository/scammer.repository.js +160 -0
  480. package/dist/features/scams/schemas/firestore.d.ts +362 -0
  481. package/dist/features/scams/schemas/firestore.js +233 -0
  482. package/dist/features/search/components/Search.d.ts +12 -2
  483. package/dist/features/search/components/Search.js +26 -7
  484. package/dist/features/search/components/index.d.ts +1 -1
  485. package/dist/features/search/hooks/useNavSuggestions.d.ts +1 -1
  486. package/dist/features/search/hooks/useNavSuggestions.js +2 -2
  487. package/dist/features/search/schemas/index.d.ts +7 -7
  488. package/dist/features/seller/actions/offer-actions.js +52 -36
  489. package/dist/features/seller/actions/seller-actions.js +19 -13
  490. package/dist/features/seller/api/products/route.js +9 -4
  491. package/dist/features/seller/components/SellerAddressesView.d.ts +3 -12
  492. package/dist/features/seller/components/SellerAddressesView.js +144 -4
  493. package/dist/features/seller/components/SellerAuctionsView.js +58 -5
  494. package/dist/features/seller/components/SellerBidsView.d.ts +4 -0
  495. package/dist/features/seller/components/SellerBidsView.js +131 -0
  496. package/dist/features/seller/components/SellerCouponEditorView.d.ts +19 -0
  497. package/dist/features/seller/components/SellerCouponEditorView.js +67 -0
  498. package/dist/features/seller/components/SellerCouponsView.d.ts +5 -3
  499. package/dist/features/seller/components/SellerCouponsView.js +135 -13
  500. package/dist/features/seller/components/SellerCreateProductView.d.ts +4 -10
  501. package/dist/features/seller/components/SellerCreateProductView.js +4 -3
  502. package/dist/features/seller/components/SellerEditProductView.d.ts +4 -10
  503. package/dist/features/seller/components/SellerEditProductView.js +4 -3
  504. package/dist/features/seller/components/SellerOffersPanel.d.ts +20 -0
  505. package/dist/features/seller/components/SellerOffersPanel.js +138 -0
  506. package/dist/features/seller/components/SellerOffersView.js +56 -5
  507. package/dist/features/seller/components/SellerOrdersView.d.ts +2 -1
  508. package/dist/features/seller/components/SellerOrdersView.js +185 -16
  509. package/dist/features/seller/components/SellerPayoutRequestView.d.ts +7 -0
  510. package/dist/features/seller/components/SellerPayoutRequestView.js +63 -0
  511. package/dist/features/seller/components/SellerPayoutSettingsView.d.ts +3 -10
  512. package/dist/features/seller/components/SellerPayoutSettingsView.js +89 -3
  513. package/dist/features/seller/components/SellerPayoutsView.js +56 -5
  514. package/dist/features/seller/components/SellerProductShell.d.ts +68 -0
  515. package/dist/features/seller/components/SellerProductShell.js +179 -0
  516. package/dist/features/seller/components/SellerProductsView.d.ts +2 -3
  517. package/dist/features/seller/components/SellerProductsView.js +194 -18
  518. package/dist/features/seller/components/SellerReviewsView.d.ts +5 -0
  519. package/dist/features/seller/components/SellerReviewsView.js +100 -0
  520. package/dist/features/seller/components/SellerShippingView.d.ts +3 -11
  521. package/dist/features/seller/components/SellerShippingView.js +87 -3
  522. package/dist/features/seller/components/SellerSidebar.d.ts +18 -6
  523. package/dist/features/seller/components/SellerSidebar.js +54 -8
  524. package/dist/features/seller/components/SellerStorefrontView.d.ts +26 -11
  525. package/dist/features/seller/components/SellerStorefrontView.js +45 -7
  526. package/dist/features/seller/components/index.d.ts +45 -1
  527. package/dist/features/seller/components/index.js +24 -0
  528. package/dist/features/seller/hooks/useSellerListingData.d.ts +3 -1
  529. package/dist/features/seller/hooks/useSellerListingData.js +6 -4
  530. package/dist/features/seller/hooks/useSellerStore.d.ts +2 -0
  531. package/dist/features/seller/hooks/useSellerStore.js +2 -0
  532. package/dist/features/seller/permission-map.d.ts +4 -2
  533. package/dist/features/seller/permission-map.js +16 -14
  534. package/dist/features/seller/repository/offer.repository.d.ts +3 -3
  535. package/dist/features/seller/repository/offer.repository.js +6 -6
  536. package/dist/features/seller/schemas/firestore.d.ts +7 -7
  537. package/dist/features/seller/schemas/firestore.js +4 -4
  538. package/dist/features/seller/schemas/index.d.ts +18 -18
  539. package/dist/features/shell/FormShell.d.ts +29 -0
  540. package/dist/features/shell/FormShell.js +103 -0
  541. package/dist/features/shell/QuickFormDrawer.d.ts +29 -0
  542. package/dist/features/shell/QuickFormDrawer.js +117 -0
  543. package/dist/features/shell/StepForm.d.ts +44 -0
  544. package/dist/features/shell/StepForm.js +81 -0
  545. package/dist/features/shell/index.d.ts +6 -0
  546. package/dist/features/shell/index.js +3 -0
  547. package/dist/features/stores/actions/store-query-actions.js +3 -3
  548. package/dist/features/stores/api/[storeSlug]/auctions/route.js +1 -1
  549. package/dist/features/stores/api/[storeSlug]/products/route.js +1 -1
  550. package/dist/features/stores/api/[storeSlug]/reviews/route.d.ts +1 -1
  551. package/dist/features/stores/api/[storeSlug]/reviews/route.js +25 -20
  552. package/dist/features/stores/components/InteractiveStoreCard.d.ts +2 -7
  553. package/dist/features/stores/components/InteractiveStoreCard.js +24 -10
  554. package/dist/features/stores/components/StoreAboutView.js +1 -1
  555. package/dist/features/stores/components/StoreAuctionsListing.d.ts +5 -2
  556. package/dist/features/stores/components/StoreAuctionsListing.js +103 -12
  557. package/dist/features/stores/components/StoreAuctionsPageView.js +8 -7
  558. package/dist/features/stores/components/StoreDetailLayoutView.d.ts +1 -0
  559. package/dist/features/stores/components/StoreDetailLayoutView.js +30 -4
  560. package/dist/features/stores/components/StoreFilters.d.ts +5 -0
  561. package/dist/features/stores/components/StoreFilters.js +20 -0
  562. package/dist/features/stores/components/StoreHeader.js +3 -2
  563. package/dist/features/stores/components/StorePreOrdersListing.d.ts +7 -0
  564. package/dist/features/stores/components/StorePreOrdersListing.js +92 -0
  565. package/dist/features/stores/components/StorePreOrdersPageView.d.ts +4 -0
  566. package/dist/features/stores/components/StorePreOrdersPageView.js +22 -0
  567. package/dist/features/stores/components/StoreProductsListing.d.ts +5 -2
  568. package/dist/features/stores/components/StoreProductsListing.js +113 -14
  569. package/dist/features/stores/components/StoreProductsPageView.js +8 -7
  570. package/dist/features/stores/components/StoreReviewsListing.js +4 -9
  571. package/dist/features/stores/components/StoresIndexListing.js +106 -9
  572. package/dist/features/stores/components/StoresIndexPageView.d.ts +6 -1
  573. package/dist/features/stores/components/StoresIndexPageView.js +9 -2
  574. package/dist/features/stores/components/StoresListView.js +1 -1
  575. package/dist/features/stores/components/index.d.ts +3 -0
  576. package/dist/features/stores/components/index.js +1 -0
  577. package/dist/features/stores/hooks/useStores.d.ts +8 -1
  578. package/dist/features/stores/hooks/useStores.js +17 -3
  579. package/dist/features/stores/schemas/firestore.d.ts +34 -0
  580. package/dist/features/stores/schemas/index.d.ts +10 -10
  581. package/dist/features/stores/types/index.d.ts +3 -0
  582. package/dist/features/sublisting/schemas/firestore.d.ts +30 -0
  583. package/dist/features/sublisting/schemas/firestore.js +19 -0
  584. package/dist/features/support/schemas/firestore.d.ts +113 -0
  585. package/dist/features/support/schemas/firestore.js +95 -0
  586. package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.d.ts +5 -0
  587. package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +143 -0
  588. package/dist/features/whatsapp-bot/components/index.d.ts +2 -0
  589. package/dist/features/whatsapp-bot/components/index.js +1 -0
  590. package/dist/features/whatsapp-bot/helpers/whatsapp.d.ts +23 -1
  591. package/dist/features/whatsapp-bot/helpers/whatsapp.js +104 -0
  592. package/dist/features/whatsapp-bot/server.d.ts +1 -0
  593. package/dist/features/whatsapp-bot/server.js +1 -0
  594. package/dist/features/whatsapp-bot/types/index.d.ts +49 -0
  595. package/dist/features/wishlist/components/WishlistView.d.ts +0 -10
  596. package/dist/features/wishlist/components/WishlistView.js +13 -6
  597. package/dist/features/wishlist/hooks/useGuestWishlist.d.ts +20 -0
  598. package/dist/features/wishlist/hooks/useGuestWishlist.js +49 -0
  599. package/dist/features/wishlist/hooks/useWishlist.js +2 -0
  600. package/dist/features/wishlist/hooks/useWishlistCount.d.ts +15 -0
  601. package/dist/features/wishlist/hooks/useWishlistCount.js +95 -0
  602. package/dist/features/wishlist/hooks/useWishlistWithGuest.d.ts +56 -0
  603. package/dist/features/wishlist/hooks/useWishlistWithGuest.js +57 -0
  604. package/dist/features/wishlist/index.d.ts +3 -0
  605. package/dist/features/wishlist/index.js +3 -0
  606. package/dist/features/wishlist/schemas/index.d.ts +2 -2
  607. package/dist/features/wishlist/types/index.d.ts +16 -0
  608. package/dist/features/wishlist/utils/guest-wishlist.d.ts +22 -0
  609. package/dist/features/wishlist/utils/guest-wishlist.js +70 -0
  610. package/dist/http/api-handler.js +8 -1
  611. package/dist/index.d.ts +158 -13
  612. package/dist/index.js +188 -21
  613. package/dist/monitoring/server-logger.js +9 -3
  614. package/dist/next/routing/route-map.d.ts +184 -36
  615. package/dist/next/routing/route-map.js +81 -22
  616. package/dist/providers/db-firebase/realtime.d.ts +1 -1
  617. package/dist/react/contexts/SessionContext.js +17 -26
  618. package/dist/react/hooks/useBulkSelection.d.ts +7 -24
  619. package/dist/react/hooks/useBulkSelection.js +27 -34
  620. package/dist/react/hooks/useLongPress.d.ts +3 -16
  621. package/dist/react/hooks/useLongPress.js +6 -25
  622. package/dist/react/index.d.ts +1 -0
  623. package/dist/react/index.js +2 -0
  624. package/dist/repositories/index.d.ts +3 -0
  625. package/dist/repositories/index.js +2 -0
  626. package/dist/seed/actions/demo-seed-actions.d.ts +2 -2
  627. package/dist/seed/actions/demo-seed-actions.js +1 -1
  628. package/dist/seed/addresses-seed-data.js +62 -261
  629. package/dist/seed/anime-figures-seed-data.d.ts +8 -0
  630. package/dist/seed/anime-figures-seed-data.js +1033 -0
  631. package/dist/seed/beyblade-seed-data.d.ts +7 -0
  632. package/dist/seed/beyblade-seed-data.js +1129 -0
  633. package/dist/seed/bids-seed-data.d.ts +4 -2
  634. package/dist/seed/bids-seed-data.js +343 -1067
  635. package/dist/seed/blog-posts-seed-data.d.ts +3 -2
  636. package/dist/seed/blog-posts-seed-data.js +258 -181
  637. package/dist/seed/brands-seed-data.d.ts +7 -0
  638. package/dist/seed/brands-seed-data.js +410 -0
  639. package/dist/seed/carousel-slides-seed-data.d.ts +3 -2
  640. package/dist/seed/carousel-slides-seed-data.js +177 -216
  641. package/dist/seed/cart-seed-data.d.ts +8 -8
  642. package/dist/seed/cart-seed-data.js +73 -74
  643. package/dist/seed/categories-seed-data.d.ts +4 -2
  644. package/dist/seed/categories-seed-data.js +720 -879
  645. package/dist/seed/conversations-seed-data.d.ts +8 -0
  646. package/dist/seed/conversations-seed-data.js +388 -0
  647. package/dist/seed/cosplay-accessories-seed-data.d.ts +8 -0
  648. package/dist/seed/cosplay-accessories-seed-data.js +647 -0
  649. package/dist/seed/coupon-usage-seed-data.d.ts +25 -0
  650. package/dist/seed/coupon-usage-seed-data.js +69 -0
  651. package/dist/seed/coupons-seed-data.d.ts +4 -2
  652. package/dist/seed/coupons-seed-data.js +204 -338
  653. package/dist/seed/events-seed-data.d.ts +4 -2
  654. package/dist/seed/events-seed-data.js +125 -588
  655. package/dist/seed/factories/cart.factory.d.ts +0 -1
  656. package/dist/seed/factories/cart.factory.js +2 -2
  657. package/dist/seed/faq-seed-data.d.ts +11 -41
  658. package/dist/seed/faq-seed-data.js +833 -1977
  659. package/dist/seed/grouped-listings-seed-data.d.ts +8 -0
  660. package/dist/seed/grouped-listings-seed-data.js +201 -0
  661. package/dist/seed/homepage-sections-seed-data.d.ts +3 -13
  662. package/dist/seed/homepage-sections-seed-data.js +228 -252
  663. package/dist/seed/hot-wheels-seed-data.d.ts +7 -0
  664. package/dist/seed/hot-wheels-seed-data.js +1612 -0
  665. package/dist/seed/index.d.ts +12 -6
  666. package/dist/seed/index.js +10 -7
  667. package/dist/seed/letitrip-official-seed-data.d.ts +8 -0
  668. package/dist/seed/letitrip-official-seed-data.js +399 -0
  669. package/dist/seed/manifest.d.ts +15 -0
  670. package/dist/seed/manifest.js +140 -0
  671. package/dist/seed/notifications-seed-data.d.ts +4 -2
  672. package/dist/seed/notifications-seed-data.js +117 -440
  673. package/dist/seed/orders-seed-data.d.ts +4 -2
  674. package/dist/seed/orders-seed-data.js +1090 -521
  675. package/dist/seed/payouts-seed-data.d.ts +4 -2
  676. package/dist/seed/payouts-seed-data.js +522 -145
  677. package/dist/seed/pokemon-carousel-slides-seed-data.d.ts +4 -2
  678. package/dist/seed/pokemon-carousel-slides-seed-data.js +157 -268
  679. package/dist/seed/pokemon-categories-seed-data.d.ts +18 -21
  680. package/dist/seed/pokemon-categories-seed-data.js +445 -1025
  681. package/dist/seed/pokemon-coupons-seed-data.d.ts +6 -0
  682. package/dist/seed/pokemon-coupons-seed-data.js +465 -0
  683. package/dist/seed/pokemon-homepage-sections-seed-data.d.ts +3 -2
  684. package/dist/seed/pokemon-homepage-sections-seed-data.js +120 -249
  685. package/dist/seed/pokemon-products-seed-data.d.ts +1 -1
  686. package/dist/seed/pokemon-products-seed-data.js +720 -48
  687. package/dist/seed/pokemon-seed-bundle.d.ts +36 -11
  688. package/dist/seed/pokemon-seed-bundle.js +60 -11
  689. package/dist/seed/pokemon-stores-seed-data.d.ts +2 -3
  690. package/dist/seed/pokemon-stores-seed-data.js +135 -34
  691. package/dist/seed/pokemon-users-seed-data.d.ts +2 -2
  692. package/dist/seed/pokemon-users-seed-data.js +344 -261
  693. package/dist/seed/products-auctions-seed-data.d.ts +10 -0
  694. package/dist/seed/products-auctions-seed-data.js +689 -0
  695. package/dist/seed/products-preorders-seed-data.d.ts +9 -0
  696. package/dist/seed/products-preorders-seed-data.js +483 -0
  697. package/dist/seed/products-seed-data.js +34 -13
  698. package/dist/seed/products-standard-seed-data.d.ts +8 -0
  699. package/dist/seed/products-standard-seed-data.js +4179 -0
  700. package/dist/seed/retro-gaming-seed-data.d.ts +8 -0
  701. package/dist/seed/retro-gaming-seed-data.js +801 -0
  702. package/dist/seed/reviews-seed-data.d.ts +4 -2
  703. package/dist/seed/reviews-seed-data.js +1005 -441
  704. package/dist/seed/scammers-seed-data.d.ts +17 -0
  705. package/dist/seed/scammers-seed-data.js +118 -0
  706. package/dist/seed/site-settings-seed-data.js +39 -16
  707. package/dist/seed/store-addresses-seed-data.js +187 -65
  708. package/dist/seed/stores-seed-data.d.ts +3 -9
  709. package/dist/seed/stores-seed-data.js +212 -102
  710. package/dist/seed/sublisting-categories-seed-data.d.ts +7 -0
  711. package/dist/seed/sublisting-categories-seed-data.js +315 -0
  712. package/dist/seed/transformers-seed-data.d.ts +7 -0
  713. package/dist/seed/transformers-seed-data.js +530 -0
  714. package/dist/seed/users-seed-data.d.ts +3 -2
  715. package/dist/seed/users-seed-data.js +531 -440
  716. package/dist/seed/wishlists-seed-data.d.ts +5 -1
  717. package/dist/seed/wishlists-seed-data.js +84 -6
  718. package/dist/server.d.ts +10 -2
  719. package/dist/server.js +14 -4
  720. package/dist/tokens/index.d.ts +6 -0
  721. package/dist/tokens/index.js +2 -0
  722. package/dist/tokens/tokens.css +76 -31
  723. package/dist/ui/components/Avatar.style.css +10 -12
  724. package/dist/ui/components/BaseListingCard.d.ts +8 -3
  725. package/dist/ui/components/BaseListingCard.js +39 -30
  726. package/dist/ui/components/BaseListingCard.style.css +8 -6
  727. package/dist/ui/components/BulkActionsBar.d.ts +16 -0
  728. package/dist/ui/components/BulkActionsBar.js +22 -0
  729. package/dist/ui/components/Button.style.css +23 -23
  730. package/dist/ui/components/Card.style.css +60 -62
  731. package/dist/ui/components/Checkbox.style.css +19 -21
  732. package/dist/ui/components/DashboardStatsCard.style.css +12 -14
  733. package/dist/ui/components/Drawer.style.css +18 -14
  734. package/dist/ui/components/Dropdown.style.css +25 -27
  735. package/dist/ui/components/EmptyState.style.css +2 -4
  736. package/dist/ui/components/HorizontalScroller.d.ts +3 -1
  737. package/dist/ui/components/HorizontalScroller.js +130 -21
  738. package/dist/ui/components/HorizontalScroller.style.css +2 -2
  739. package/dist/ui/components/ImageLightbox.d.ts +0 -9
  740. package/dist/ui/components/ImageLightbox.js +43 -9
  741. package/dist/ui/components/InlineCreateSelect.d.ts +38 -0
  742. package/dist/ui/components/InlineCreateSelect.js +70 -0
  743. package/dist/ui/components/ListingLayout.style.css +41 -77
  744. package/dist/ui/components/ListingToolbar.d.ts +54 -0
  745. package/dist/ui/components/ListingToolbar.js +34 -0
  746. package/dist/ui/components/Modal.style.css +14 -10
  747. package/dist/ui/components/PageLoader.d.ts +11 -0
  748. package/dist/ui/components/PageLoader.js +21 -0
  749. package/dist/ui/components/Radio.style.css +34 -36
  750. package/dist/ui/components/RichTextEditor.js +1 -1
  751. package/dist/ui/components/RowActionMenu.d.ts +1 -0
  752. package/dist/ui/components/RowActionMenu.js +4 -2
  753. package/dist/ui/components/SectionTabs.js +1 -1
  754. package/dist/ui/components/SectionTabs.style.css +1 -0
  755. package/dist/ui/components/SideDrawer.style.css +3 -11
  756. package/dist/ui/components/SideModal.style.css +4 -8
  757. package/dist/ui/components/Slider.style.css +2 -4
  758. package/dist/ui/components/Tabs.style.css +8 -10
  759. package/dist/ui/components/Toast.style.css +22 -24
  760. package/dist/ui/components/Toggle.style.css +11 -13
  761. package/dist/ui/index.d.ts +9 -0
  762. package/dist/ui/index.js +5 -0
  763. package/dist/ui/rich-text/RichText.js +21 -2
  764. package/dist/ui/rich-text/RichText.style.css +292 -5
  765. package/dist/ui/rich-text/RichTextRenderer.d.ts +15 -0
  766. package/dist/ui/rich-text/RichTextRenderer.js +15 -0
  767. package/dist/utils/id-generators.d.ts +10 -0
  768. package/dist/utils/id-generators.js +12 -0
  769. package/dist/validation/schemas.d.ts +9 -9
  770. package/package.json +5 -1
  771. package/README.md +0 -116
@@ -1,6 +1,7 @@
1
1
  /**
2
- * Blog Posts Seed Data — Anime / Otaku Marketplace
3
- * Sample blog posts across all categories for development and testing
2
+ * Blog Posts Seed Data — LetItRip Collectibles Platform
3
+ * 8 posts covering Pokémon TCG, Hot Wheels, Beyblade X, Yu-Gi-Oh!, Gundam,
4
+ * Funko Pop, Tomica, and authentication. blog- prefix, id === slug.
4
5
  */
5
6
  import type { BlogPostDocument } from "../features/blog/schemas";
6
7
  export declare const blogPostsSeedData: Partial<BlogPostDocument>[];
@@ -1,218 +1,295 @@
1
1
  /**
2
- * Blog Posts Seed Data — Anime / Otaku Marketplace
3
- * Sample blog posts across all categories for development and testing
2
+ * Blog Posts Seed Data — LetItRip Collectibles Platform
3
+ * 8 posts covering Pokémon TCG, Hot Wheels, Beyblade X, Yu-Gi-Oh!, Gundam,
4
+ * Funko Pop, Tomica, and authentication. blog- prefix, id === slug.
4
5
  */
5
6
  import { BLOG_POST_FIELDS } from "../features/blog/schemas";
6
- // Dynamic date helpers
7
7
  const NOW = new Date();
8
8
  const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
9
9
  export const blogPostsSeedData = [
10
- // -- Featured / Published ----------------------------------------------
10
+ // ── 1. Grading Guide (featured) ──────────────────────────────────────────
11
11
  {
12
- id: "blog-top-10-rarest-anime-figures-2026-guides",
13
- title: "Top 10 Rarest Anime Figures You Can Actually Buy in 2026",
14
- slug: "top-10-rarest-anime-figures-2026",
15
- excerpt: "From limited-run Kotobukiya ARTFX statues to out-of-print Good Smile Company Nendoroids we rank the 10 most coveted figures that still occasionally surface on the secondary market.",
16
- content: `<h2>1. Evangelion Unit-01 Ver. Ka — MegaHouse Master Grade</h2><p>Originally released in 2012 as a convention exclusive, this 1/60-scale articulated statue regularly commands ₹50,000+ at auction. Its translucent AT-Field base and hand-painted panel lines make it the crown jewel of any Eva collection.</p><h2>2. Good Smile Company — Rem Wedding Dress 1/7 Scale</h2><p>First sold exclusively at Wonder Festival 2019, Rem's wedding version shipped only to Japan-based buyers and sold out in minutes. Secondary market prices hover around ₹25,000–35,000 worldwide.</p><h2>3. Kotobukiya ARTFX J — Makima 1/7 (Chainsaw Man)</h2><p>Released in early 2025, this figure sold out globally in 48 hours. Sculpted by Takashi Tanaka, its flowing coat and hypnotic eye detail set a new bar for Chainsaw Man merchandise.</p><h2>4. Alter — Frieren 1/7 Scale (Beyond Journey's End)</h2><p>Alter's 2025 announcement caused the internet to collectively lose its mind. Pre-orders sold out in under two hours, and secondary listings are already appearing at 2× retail.</p><h2>5. Max Factory — Saber Alter Wedding Dress (Fate/Stay Night)</h2><p>A Wonder Festival exclusive from 2017, this 1/7-scale figure features hand-applied gold leaf details on the gown trim and is considered one of the finest Fate figures ever produced.</p><h2>6–10: The Rest of Our List</h2><p>Spots 6 through 10 include the Neon Genesis Evangelion Production Models by Gainax (hand-autographed by Anno), a sealed 1st-edition Pokémon Charizard PSA-10, the Spirited Away No-Face resin limited run, and more. <a href="/products">Browse our current listings</a> — some of these have just appeared on LetItRip.</p>`,
17
- coverImage: "https://picsum.photos/seed/anime-figures-top10/1200/630",
12
+ id: "blog-how-to-grade-pokemon-cards-psa-bgs-guide",
13
+ slug: "blog-how-to-grade-pokemon-cards-psa-bgs-guide",
14
+ title: "How to Grade Your Pokémon Cards — PSA vs. BGS Complete Guide",
15
+ excerpt: "Sending a card to PSA or BGS can turn a raw Near Mint copy into a certified slab worth 3–10× more. Here is everything you need to know before your first submission.",
16
+ content: `<h2>Why Grade?</h2>
17
+ <p>A PSA 10 Gem Mint 1st Edition Charizard can fetch ₹80 lakh at auction while a raw NM copy of the same card trades around ₹1.2 lakh. Grading is authentication, preservation, and valuation in one step.</p>
18
+ <h2>PSA vs. BGS — Which to Choose?</h2>
19
+ <p><strong>PSA (Professional Sports Authenticator)</strong> is the gold standard for vintage Pokémon. PSA 10s command the highest premiums on the secondary market. PSA grades on a 1–10 scale with a single composite grade. Turnaround: 45–90 days for economy tier.</p>
20
+ <p><strong>BGS (Beckett Grading Services)</strong> gives four sub-grades: Centering, Corners, Edges, and Surface. A BGS 9.5 Pristine or 10 Black Label is considered superior to a PSA 10 by many collectors. BGS grades are easier to dispute visually since sub-grades are listed.</p>
21
+ <h2>How to Prepare Your Cards</h2>
22
+ <ol>
23
+ <li>Handle only by edges — never touch the face or back.</li>
24
+ <li>Inspect under bright LED light at 45° angle for print lines, scratches, and whitening on corners.</li>
25
+ <li>Sleeve immediately in a penny sleeve, then a perfect-fit sleeve, then a toploader.</li>
26
+ <li>Pack cards in card saver I holders for submission (PSA requires these).</li>
27
+ </ol>
28
+ <h2>Grading Tiers and Costs</h2>
29
+ <p>PSA Economy (₹4,500/card, 45 days), PSA Regular (₹8,200/card, 20 days), BGS Regular (₹5,000/card, 20 days). Always insure high-value submissions. Cards valued over ₹50,000 should go Regular tier for faster return and better customer service if lost.</p>
30
+ <h2>What Grade Can I Expect?</h2>
31
+ <p>Modern cards printed after 2016 (Sun & Moon onwards) grade well — print quality improved significantly. Base Set and Jungle cards have machine crimps on edges that commonly result in PSA 8 or 9. A PSA 9 vintage card is excellent; a PSA 10 vintage is exceptional and rare.</p>
32
+ <h2>Submitting from India</h2>
33
+ <p>Use PSA's authorised Indian submitter or a collector group submission. Declare value accurately on customs forms. Expect 2–4 weeks additional transit time on top of grading turnaround. Returns are insured by the grader up to declared value.</p>`,
34
+ coverImage: "https://images.unsplash.com/photo-1606107557195-0e29a4b5b4aa?w=1200&h=630&fit=crop",
18
35
  category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
19
- tags: [
20
- "figures",
21
- "rare",
22
- "collectibles",
23
- "gunpla",
24
- "nendoroid",
25
- "scale-figures",
26
- ],
36
+ tags: ["grading", "psa", "bgs", "pokemon-cards", "how-to"],
27
37
  isFeatured: true,
28
38
  status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
29
- publishedAt: daysAgo(58),
30
- authorId: "user-admin-user-admin",
31
- authorName: "Admin User",
39
+ publishedAt: daysAgo(62),
40
+ authorId: "user-admin-letitrip",
41
+ authorName: "LetItRip Admin",
32
42
  readTimeMinutes: 8,
33
- views: 4723,
34
- metaTitle: "Top 10 Rarest Anime Figures to Buy in 2026 | LetItRip",
35
- metaDescription: "Discover the 10 rarest anime figures still available on the secondary market in 2026 with prices, rarity scores, and buying tips.",
36
- createdAt: daysAgo(60),
37
- updatedAt: daysAgo(58),
43
+ views: 5420,
44
+ metaTitle: "How to Grade Pokémon Cards PSA vs BGS Guide | LetItRip",
45
+ metaDescription: "Complete guide to grading Pokémon cards with PSA and BGS costs, preparation, what grade to expect, and how to submit from India.",
46
+ createdAt: daysAgo(65),
47
+ updatedAt: daysAgo(62),
38
48
  },
49
+ // ── 2. Top 10 Hot Wheels Chase Cars ─────────────────────────────────────
39
50
  {
40
- id: "blog-how-to-start-your-gunpla-journey-tips",
41
- title: "How to Start Your Gunpla Journey: A Complete Beginner's Guide",
42
- slug: "how-to-start-gunpla-journey-beginners-guide",
43
- excerpt: "Overwhelmed by High Grade, Master Grade, and Perfect Grade? This guide walks you through every Gunpla grade, the tools you need, and how to pick your first kit without regret.",
44
- content: `<h2>What Is Gunpla?</h2><p>Gunpla (Gundam Plastic Models) are injection-moulded model kits produced by Bandai since 1980. They require no glue, snap together perfectly, and come in grades ranging from beginner-friendly to achingly complex.</p><h2>Understanding the Grades</h2><ul><li><strong>SD (Super Deformed)</strong> — Chibi-proportioned, ~50 pieces, great for kids and first-timers.</li><li><strong>HG (High Grade, 1/144)</strong> — The sweet spot for beginners. Affordable (₹800–₹2,500), articulated, and plentiful.</li><li><strong>RG (Real Grade, 1/144)</strong> — Advanced inner-frame detail in a small footprint. Not for absolute beginners.</li><li><strong>MG (Master Grade, 1/100)</strong> — Rich inner skeleton, panel lines, and accessories. 3–6 hours build time.</li><li><strong>PG (Perfect Grade, 1/60)</strong> — The mountain to climb. LED-lit options, 400+ pieces, 15–30 hours. Our Gundam Wing Zero Custom is an example.</li></ul><h2>Essential First-Time Tools</h2><p>You only need three things to start: a pair of Tamiya side-cutters (₹600), a hobby knife (₹300), and a grey panel-lining pen (₹350). Everything else is optional.</p><h2>Your First Kit Recommendation</h2><p>Start with an HG RX-78-2 or an HG Zaku II — both are ~₹900, have clean designs, and teach you the fundamentals without frustration.</p><h2>Where to Buy</h2><p>LetItRip lists both new and second-hand Gunpla, including rare PG builds like our <a href="/products">Wing Zero Custom</a>. Pre-orders are available for upcoming Bandai releases.</p>`,
45
- coverImage: "https://picsum.photos/seed/gunpla-beginner-guide/1200/630",
46
- category: BLOG_POST_FIELDS.CATEGORY_VALUES.TIPS,
47
- tags: ["gunpla", "beginners", "model-kits", "bandai", "how-to", "guide"],
51
+ id: "blog-top-10-hot-wheels-chase-cars-2025",
52
+ slug: "blog-top-10-hot-wheels-chase-cars-2025",
53
+ title: "Top 10 Hot Wheels Chase Cars of 2025 (Super Treasure Hunts)",
54
+ excerpt: "Super Treasure Hunts are the holy grail of Hot Wheels collecting. Here are the 10 most sought-after STHs of 2025 and what they're trading for in India.",
55
+ content: `<h2>What is a Super Treasure Hunt?</h2>
56
+ <p>Mattel seeds roughly 1 in every 10,000 Hot Wheels cards with a Super Treasure Hunt (STH) — identified by Spectraflame metallic paint, Real Rider rubber tyres, and a gold $$TH$$ logo on the blister. In India, a standard mainline car costs ₹100–130; an STH of the same casting can trade for ₹800–5,000 depending on the casting.</p>
57
+ <h2>2025's Most Valuable STHs</h2>
58
+ <ol>
59
+ <li><strong>Custom '69 Camaro STH</strong> — Spectraflame red, Real Riders, ₹3,200–4,800</li>
60
+ <li><strong>Bone Shaker STH</strong> — Spectraflame purple, ₹2,800–4,200</li>
61
+ <li><strong>Dodge Challenger Demon STH</strong> — Spectraflame orange, ₹2,200–3,500</li>
62
+ <li><strong>Twin Mill STH</strong> — Spectraflame blue, ₹2,000–3,200</li>
63
+ <li><strong>Corvette C8 STH</strong> — Spectraflame green, ₹1,800–2,800</li>
64
+ <li><strong>Ford GT Heritage STH</strong> — Spectraflame white, ₹1,600–2,500</li>
65
+ <li><strong>Nissan Skyline GT-R STH</strong> — Spectraflame silver, ₹1,400–2,200</li>
66
+ <li><strong>Hot Wheels Racing Circuit STH</strong> — Spectraflame yellow, ₹1,200–2,000</li>
67
+ <li><strong>Datsun 240Z STH</strong> — Spectraflame teal, ₹1,100–1,800</li>
68
+ <li><strong>McLaren Senna STH</strong> — Spectraflame copper, ₹1,000–1,600</li>
69
+ </ol>
70
+ <h2>How to Hunt for STHs in India</h2>
71
+ <p>Check the bottom of each card for the $$TH$$ symbol before purchasing. Most Indian retailers receive mixed cases — visit stores on restock day (usually Tuesday or Wednesday). Many collectors source directly from Japan via proxy services for Japanese-exclusive castings.</p>
72
+ <h2>Protecting Your STHs</h2>
73
+ <p>Store carded STHs in Premium Card Protectors (UV resistant, 6mm thick). Never remove from blister — a carded STH is worth 2–5× a loose one. Stack horizontally with acid-free foam separators.</p>`,
74
+ coverImage: "https://images.unsplash.com/photo-1581235720704-06d3acfcb36f?w=1200&h=630&fit=crop",
75
+ category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
76
+ tags: ["hot-wheels", "super-treasure-hunt", "sth", "diecast", "collecting"],
48
77
  isFeatured: true,
49
78
  status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
50
- publishedAt: daysAgo(50),
51
- authorId: "user-admin-user-admin",
52
- authorName: "Admin User",
53
- readTimeMinutes: 10,
54
- views: 6891,
55
- metaTitle: "Complete Beginner's Guide to Gunpla 2026 | LetItRip",
56
- metaDescription: "New to Gunpla? Learn every grade from SD to Perfect Grade, the tools you need, and which kit to buy first.",
57
- createdAt: daysAgo(52),
58
- updatedAt: daysAgo(50),
59
- },
60
- {
61
- id: "blog-letitrip-launches-auction-feature-news",
62
- title: "LetItRip Launches Live Auction Feature for Rare Anime Collectibles",
63
- slug: "letitrip-launches-live-auction-feature-anime-collectibles",
64
- excerpt: "Today we're thrilled to announce our live auction platform — the best way to score rare figures, TCG cards, and production art at prices set by the community.",
65
- content: `<h2>Introducing Live Auctions</h2><p>LetItRip's auction feature lets verified sellers list rare anime collectibles — from out-of-print Nendoroids to original Studio Ghibli production cels — and buyers bid in real time. Every listing is authenticated by our team before going live.</p><h2>How It Works</h2><ol><li>Browse open auctions on the <a href="/auctions">Auctions page</a>.</li><li>Place a bid — you'll be instantly notified by push notification if outbid.</li><li>Win the auction and check out securely within 24 hours.</li><li>Receive a Certificate of Authenticity with every winning lot.</li></ol><h2>What Can Be Auctioned?</h2><p>Scale figures, Nendoroids, Funko Pop vaulted editions, Pokemon TCG graded cards, original anime production art, autographed merchandise, limited-run apparel, and complete manga sets.</p><h2>Seller Benefits</h2><p>Sellers get competitive, market-driven prices without constantly dropping their asking price. Payouts are processed within 3–5 business days after buyer confirmation. Our Auction Escrow service protects both parties throughout.</p>`,
66
- coverImage: "https://picsum.photos/seed/auction-launch-anime/1200/630",
67
- category: BLOG_POST_FIELDS.CATEGORY_VALUES.NEWS,
68
- tags: ["auctions", "platform", "feature", "launch", "news", "collectibles"],
69
- isFeatured: false,
70
- status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
71
- publishedAt: daysAgo(43),
72
- authorId: "user-admin-user-admin",
73
- authorName: "Admin User",
74
- readTimeMinutes: 4,
75
- views: 3210,
76
- metaTitle: "LetItRip Launches Anime Collectible Auction Platform | News",
77
- metaDescription: "LetItRip announces its live auction feature for rare anime figures, TCG cards, and production art. Bid, win, and collect.",
78
- createdAt: daysAgo(44),
79
- updatedAt: daysAgo(43),
79
+ publishedAt: daysAgo(47),
80
+ authorId: "user-vikram-mehta",
81
+ authorName: "Vikram Mehta",
82
+ readTimeMinutes: 6,
83
+ views: 3180,
84
+ metaTitle: "Top 10 Hot Wheels Super Treasure Hunts 2025 | LetItRip",
85
+ metaDescription: "The 10 most valuable Hot Wheels Super Treasure Hunts of 2025 Spectraflame paint, Real Riders, and prices in India.",
86
+ createdAt: daysAgo(50),
87
+ updatedAt: daysAgo(47),
80
88
  },
89
+ // ── 3. Beyblade X Beginner's Guide ───────────────────────────────────────
81
90
  {
82
- id: "blog-buyer-seller-protection-policy-updates-updates",
83
- title: "Updated Buyer & Seller Protection Policies for Anime Merchandise",
84
- slug: "updated-buyer-seller-protection-policies-anime-2026",
85
- excerpt: "We've strengthened our protection policies for collectible merchandise here's a clear breakdown of what changed for figures, TCG cards, artbooks, and cosplay.",
86
- content: `<h2>Key Changes Effective 1 February 2026</h2><p><strong>Buyers:</strong> The return window for sealed collectibles is extended from 7 to 14 days. For opened figures, the window remains 7 days — but now includes a condition-based partial refund option if items arrive damaged.</p><p><strong>Authentication Guarantee:</strong> All auction lots now ship with a QR-coded Certificate of Authenticity, verified against our seller registry. If an item is found to be inauthentic, you receive a full refund plus ₹500 store credit.</p><p><strong>Sellers:</strong> We've introduced a dispute resolution SLA; all buyer claims are reviewed within 48 hours. Sellers maintaining a dispute rate below 0.5% automatically earn a 'Verified Otaku Seller' badge.</p><h2>Graded Card Policy</h2><p>PSA/BGS-graded cards must ship in rigid mailers inside bubble wrap. Any damage in transit is covered by our ₹5,000 Shipping Protection policy at no extra cost.</p><h2>Why We Made These Changes</h2><p>Over 2,400 survey responses from our anime collector community guided these updates. Faster refunds and clearer authentication processes topped the wishlist — and we delivered.</p>`,
87
- coverImage: "https://picsum.photos/seed/policy-update-anime/1200/630",
88
- category: BLOG_POST_FIELDS.CATEGORY_VALUES.UPDATES,
89
- tags: ["policy", "protection", "returns", "authentication", "collectibles"],
90
- isFeatured: false,
91
+ id: "blog-beyblade-x-beginners-guide-2026",
92
+ slug: "blog-beyblade-x-beginners-guide-2026",
93
+ title: "Ultimate Beyblade X Beginner's Guide — Parts, Combos & Tournaments",
94
+ excerpt: "Beyblade X launched in 2023 and has taken India by storm. Here is everything you need to know: the new XStadium, gear system, best starter combos, and how to enter your first tournament.",
95
+ content: `<h2>What is Beyblade X?</h2>
96
+ <p>Beyblade X (BX) is the fourth generation of the Beyblade franchise from Takara Tomy. The signature feature is the <strong>Xtreme Dash</strong> — a gear inside the blade that creates a sudden burst of speed when the bit clicks into a groove on the XStadium wall. Battles are faster, more explosive, and more skill-dependent than Burst.</p>
97
+ <h2>Understanding BX Parts</h2>
98
+ <ul>
99
+ <li><strong>Blade</strong> — the main top. Determines attack pattern and weight distribution.</li>
100
+ <li><strong>Ratchet</strong> — connects blade to bit. Numbers (3-60, 4-60, 5-60) indicate teeth count and height in mm.</li>
101
+ <li><strong>Bit</strong> — the tip that touches the stadium floor. FP (Flat Point) for attack, GP (Gear Point) for Xtreme Dash activation, HN (High Needle) for stamina.</li>
102
+ </ul>
103
+ <h2>Best Starter Combos in 2026</h2>
104
+ <p><strong>Attack</strong>: Dran Sword 4-60F (BX-01) — aggressive launch, targets the stadium groove repeatedly.<br>
105
+ <strong>Stamina</strong>: Wizard Arrow 4-80B — wide blade, low tip maintains long spin.<br>
106
+ <strong>Balance</strong>: Knight Shield 3-80N — defensive blade with good burst resistance.</p>
107
+ <h2>How to Enter an Indian Tournament</h2>
108
+ <p>Official Beyblade X tournaments are organised by Takara Tomy's Indian distributor through LetItRip and local hobby shops. Tournaments use the Standard Stadium format — 3-minute battle, best of 3. Register through the Events section on LetItRip. Bring your official BX tops — bootlegs are disqualified on inspection.</p>`,
109
+ coverImage: "https://images.unsplash.com/photo-1551698618-1dfe5d97d256?w=1200&h=630&fit=crop",
110
+ category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
111
+ tags: ["beyblade-x", "beyblade", "beginner-guide", "takara-tomy", "bx"],
112
+ isFeatured: true,
91
113
  status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
92
- publishedAt: daysAgo(36),
93
- authorId: "user-admin-user-admin",
94
- authorName: "Admin User",
95
- readTimeMinutes: 5,
96
- views: 1845,
97
- metaTitle: "Updated Collectibles Protection Policies Feb 2026 | LetItRip",
98
- metaDescription: "LetItRip updates buyer and seller protection policies for anime merchandise authentication guarantees, extended returns, and a Verified Otaku Seller programme.",
99
- createdAt: daysAgo(38),
100
- updatedAt: daysAgo(36),
114
+ publishedAt: daysAgo(38),
115
+ authorId: "user-rohit-joshi",
116
+ authorName: "Rohit Joshi",
117
+ readTimeMinutes: 7,
118
+ views: 4210,
119
+ metaTitle: "Beyblade X Beginner's Guide 2026 — Parts, Combos & Tournaments | LetItRip",
120
+ metaDescription: "Complete beginner's guide to Beyblade X XStadium, blade parts, Xtreme Dash, best starter combos, and how to enter Indian tournaments.",
121
+ createdAt: daysAgo(40),
122
+ updatedAt: daysAgo(38),
101
123
  },
124
+ // ── 4. Yu-Gi-Oh! Deck Building 101 ──────────────────────────────────────
102
125
  {
103
- id: "blog-figure-photography-tips-collection-tips",
104
- title: "Photography Tips for Showcasing Your Figure Collection Online",
105
- slug: "photography-tips-anime-figure-collection",
106
- excerpt: "Great photos move listings faster and command higher bids. Learn how to use natural light, dioramas, and your phone camera to make your figures look gallery-worthy.",
107
- content: `<h2>Tip 1 Use a Lightbox or North-Facing Window</h2><p>Hard shadows kill figure photos. A ₹500 collapsible lightbox from Amazon, or a north-facing window at midday, gives you the soft, even light that makes paint apps and sculpt details pop without blown-out highlights.</p><h2>Tip 2 — Match the Base to the Series</h2><p>Place a Dragon Ball figure on a rocky terrain texture sheet, or put a Ghibli figure on green moss. Context shots like these dramatically increase click-through rates on listings.</p><h2>Tip 3 — Shoot at Eye Level or Below</h2><p>Shooting at the figure's eye level (or up at it slightly) creates a heroic, dimensional look. Shooting down makes figures look like cheap toys — avoid it.</p><h2>Tip 4 — Document Every Flaw Clearly</h2><p>Pre-owned collectibles must have honest photos of every scuff, paint chip, and joint wear. Buyers who receive items matching the photos leave 5-star reviews. Surprises create disputes.</p><h2>Tip 5 — Include Scale Reference</h2><p>Place a coin, a ruler, or a known-size item beside the figure. Buyers need to understand size relative to their display shelf before committing to a ₹15,000 bid.</p><h2>Tip 6 — Edit Minimally</h2><p>Adjust brightness and contrast only — never change colours. The buyer should receive exactly what they see in your listing photos.</p>`,
108
- coverImage: "https://picsum.photos/seed/figure-photography-tips/1200/630",
109
- category: BLOG_POST_FIELDS.CATEGORY_VALUES.TIPS,
110
- tags: ["seller", "photography", "figures", "listing", "tips", "display"],
111
- isFeatured: false,
126
+ id: "blog-yugioh-deck-building-101-beginners",
127
+ slug: "blog-yugioh-deck-building-101-beginners",
128
+ title: "Yu-Gi-Oh! Deck Building 101 — From Core Rules to Competitive Play",
129
+ excerpt: "Building your first Yu-Gi-Oh! deck can be overwhelming. Here's a structured guide from choosing an archetype to making your first tournament-legal 40-card deck.",
130
+ content: `<h2>The Golden Rule: 40 Cards</h2>
131
+ <p>Every competitive Yu-Gi-Oh! deck runs exactly 40 cards. More cards means lower consistency — you draw key pieces less often. Exceptions exist (60-card Pile formats) but start at 40.</p>
132
+ <h2>Deck Structure</h2>
133
+ <ul>
134
+ <li><strong>Main Deck</strong>: 40–60 cards (start at 40)</li>
135
+ <li><strong>Extra Deck</strong>: 0–15 Fusion/Synchro/XYZ/Link monsters</li>
136
+ <li><strong>Side Deck</strong>: 0–15 cards (for post-game 2 adjustments in tournament play)</li>
137
+ </ul>
138
+ <h2>Choosing Your First Archetype</h2>
139
+ <p><strong>Blue-Eyes White Dragon</strong>: Classic, powerful, tons of support. Relatively affordable.<br>
140
+ <strong>Dark Magician</strong>: Spell-heavy, good for learning card interactions.<br>
141
+ <strong>Sky Striker</strong>: Modern, Spell-based, single monster strategy. Teaches resource management.<br>
142
+ <strong>Branded Despia</strong>: 2024's most popular. High ceiling, deep combo potential.</p>
143
+ <h2>Card Rarity and Budget</h2>
144
+ <p>Structure Decks (₹799–999) are the best starting point — 3 copies of key cards for a single archetype. One structure deck often includes most of the main engine. Buy 3 copies of the same structure deck for a complete playset of all common cards.</p>
145
+ <h2>Building a Competitive Hand Trap Package</h2>
146
+ <p>Every competitive deck runs 6–9 hand traps. Ash Blossom & Joyous Spring (₹800–1,200), Nibiru the Primal Being (₹500–800), and Effect Veiler (₹200–400) are the three must-haves regardless of archetype.</p>`,
147
+ coverImage: "https://images.unsplash.com/photo-1612036782180-6f0b6cd846fe?w=1200&h=630&fit=crop",
148
+ category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
149
+ tags: ["yugioh", "deck-building", "tcg", "konami", "trading-cards"],
150
+ isFeatured: true,
112
151
  status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
113
- publishedAt: daysAgo(32),
114
- authorId: "user-admin-user-admin",
115
- authorName: "Admin User",
152
+ publishedAt: daysAgo(30),
153
+ authorId: "user-nisha-reddy",
154
+ authorName: "Nisha Reddy",
116
155
  readTimeMinutes: 6,
117
- views: 2234,
118
- metaTitle: "Figure Photography Tips for Anime Sellers | LetItRip",
119
- metaDescription: "6 actionable tips for photographing anime figures and collectibles to create listings that sell faster and attract higher bids.",
120
- createdAt: daysAgo(34),
121
- updatedAt: daysAgo(32),
156
+ views: 2870,
157
+ metaTitle: "Yu-Gi-Oh! Deck Building 101 for Beginners | LetItRip",
158
+ metaDescription: "Learn how to build your first Yu-Gi-Oh! deck from scratch 40-card rule, archetypes, budget tips, and hand trap essentials.",
159
+ createdAt: daysAgo(32),
160
+ updatedAt: daysAgo(30),
122
161
  },
162
+ // ── 5. Gundam MG vs RG Guide ─────────────────────────────────────────────
123
163
  {
124
- id: "blog-community-spotlight-jan-2026-community",
125
- title: "Community Spotlight: January 2026 Top Collectors & Bidders",
126
- slug: "community-spotlight-january-2026-collectors",
127
- excerpt: "Meet the outstanding community members who made January 2026 a record month from our top-rated sellers to the most passionate collectors and highest bidders.",
128
- content: `<h2>Top Sellers of January</h2><p><strong>FigureVault JP</strong> — 47 orders fulfilled at a 4.9-star average. Their Dragon Ball and Evangelion auction listings consistently sell above estimate, thanks to meticulous authentication and same-day shipping.</p><p><strong>AnimeCraft Apparel</strong> — Specialising in licensed cosplay, they earned the 'Verified Otaku Seller' badge in January with a zero-dispute month. Their Charizard PSA-9 lot received 28 bids before close.</p><p><strong>OtakuShelf Co</strong> — January's hidden gem. Their Spirited Away production cel auction attracted 19 unique bidders and set a new platform record for production art.</p><h2>Top Bidders</h2><p><strong>Raj Patel</strong> — 6 winning bids in January alone. Raj is building an extraordinary Gundam collection and his attention to build quality details in bid notes helps sellers trust him.</p><p><strong>Vikram Nair</strong> — Won the Charizard 1st-Edition PSA-9 lot in our inaugural TCG auction. His detailed review of the item helped 31 community members understand graded card authentication.</p><h2>Growing Community</h2><p>412 new collectors joined LetItRip in January — a 34% month-on-month increase. The anime collectibles niche is the fastest-growing category on the platform. Welcome to every new member!</p>`,
129
- coverImage: "https://picsum.photos/seed/community-spotlight-jan2026/1200/630",
130
- category: BLOG_POST_FIELDS.CATEGORY_VALUES.COMMUNITY,
131
- tags: ["community", "spotlight", "collectors", "bidders", "january-2026"],
132
- isFeatured: false,
164
+ id: "blog-gundam-mg-vs-rg-which-grade-to-start",
165
+ slug: "blog-gundam-mg-vs-rg-which-grade-to-start",
166
+ title: "Gundam MG vs RG — Which Grade Should You Start With?",
167
+ excerpt: "Master Grade or Real Grade? Both look stunning on a shelf, but they build completely differently. Here's how to choose based on your skill level, budget, and how much time you want to invest.",
168
+ content: `<h2>Understanding Gunpla Grades</h2>
169
+ <p>Bandai's Gundam plastic model kits (Gunpla) come in grades: HG (High Grade, 1/144 scale), RG (Real Grade, 1/144 scale), MG (Master Grade, 1/100 scale), and PG (Perfect Grade, 1/60 scale). The grade indicates detail level, inner frame complexity, and build difficulty.</p>
170
+ <h2>Real Grade (RG) — 1/144 Scale</h2>
171
+ <p>RG kits pack MG-level detail into a small 1/144 frame. They feature an inner skeletal frame that pre-assembles before adding armour. The result is stunning — but the tiny parts are unforgiving. A misaligned snap can crack a piece that is 3mm wide. RG is recommended for builders who have completed 5+ HG kits and want to push skill limits. Price: ₹1,800–3,500.</p>
172
+ <h2>Master Grade (MG) — 1/100 Scale</h2>
173
+ <p>MG kits are larger, with parts that are easier to handle. The inner frame is built section-by-section (leg frame, arm frame, torso). MGs show off cockpit detail, hand articulation, and engineering that RGs can't match at their scale. MG is recommended for builders who have completed 2–3 HGs and want a flagship piece. Price: ₹2,800–6,500.</p>
174
+ <h2>Which to Buy First?</h2>
175
+ <p>If you're a beginner: start with HG RX-78-2 (₹800). If you've built a few HGs and want more detail at low cost: RG Unicorn Gundam (₹2,200). If you want a display piece and don't mind spending more time: MG Wing Zero EW (₹4,500). Both RG and MG benefit enormously from panel lining, top-coat spray, and decals — budget ₹500–800 for finishing supplies.</p>`,
176
+ coverImage: "https://images.unsplash.com/photo-1595241422400-04a3e1e2e0d5?w=1200&h=630&fit=crop",
177
+ category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
178
+ tags: ["gundam", "gunpla", "mg", "rg", "bandai", "model-kits"],
179
+ isFeatured: true,
133
180
  status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
134
- publishedAt: daysAgo(27),
135
- authorId: "user-admin-user-admin",
136
- authorName: "Admin User",
137
- readTimeMinutes: 5,
138
- views: 987,
139
- metaTitle: "Community Spotlight January 2026Top Collectors | LetItRip",
140
- metaDescription: "Celebrating LetItRip's top sellers, bidders, and collectors from January 2026 and welcoming hundreds of new anime enthusiasts to the platform.",
141
- createdAt: daysAgo(29),
142
- updatedAt: daysAgo(27),
181
+ publishedAt: daysAgo(22),
182
+ authorId: "user-admin-letitrip",
183
+ authorName: "LetItRip Admin",
184
+ readTimeMinutes: 7,
185
+ views: 1950,
186
+ metaTitle: "Gundam MG vs RGWhich Grade to Start With? | LetItRip",
187
+ metaDescription: "Choosing between Gundam Master Grade and Real Grade kits difficulty, scale, price, and which to buy as your first or second Gunpla build.",
188
+ createdAt: daysAgo(24),
189
+ updatedAt: daysAgo(22),
143
190
  },
144
- // -- Published March Auction Spotlight ------------------------------
191
+ // ── 6. How to Spot Fake Pokémon Cards ────────────────────────────────────
145
192
  {
146
- id: "blog-march-2026-auction-spotlight-news",
147
- title: "March Auction Spotlight: Rare Figures, TCG Cards & Production Art",
148
- slug: "march-2026-auction-spotlight-anime-collectibles",
149
- excerpt: "From a PSA-9 Charizard to a Good Smile Company Rem Wedding figure March 2026 brings our biggest and most diverse anime auction lineup yet. Everything live right now.",
150
- content: `<h2>Why March 2026 Is Special</h2><p>March marks the most diverse auction month in LetItRip's history. We have 10 active auctions spanning scale figures, Gunpla, TCG, and original production art — with competitive opening bids and items that simply can't be found at retail.</p><h2>Scale Figures — One for Every Fan</h2><p><strong>Chainsaw Man Makima 1/7 — Kotobukiya ARTFX J</strong> — 3 active bids, closing March 10. This soldout figure retails for ₹18,000 online when you can find one.</p><p><strong>Jujutsu Kaisen Sukuna 1/6 — MegaHouse</strong> — closing March 12 with competitive bidding from Gunpla collectors eyeing their shelf space wisely.</p><p><strong>Fate/Stay Night Saber Alter Wedding 1/7</strong> — closing March 13. A Wonder Festival exclusive rarely seen outside Japan dealers.</p><p><strong>Re:Zero Rem Wedding 1/7 — Good Smile Company</strong> — closing March 15. GSC's best Rem figure, bar none.</p><h2>TCG & Trading Cards</h2><p><strong>Pokémon 1st Edition Base Set Charizard Holo — PSA 9</strong> — closing March 14. Already 2 active bids above ₹30,000. This is the holy grail of Pokémon TCG.</p><h2>Production Art & Artbooks</h2><p><strong>Spirited Away 2001 Original Production Cel</strong> — a Studio Ghibli hand-inked cel from the film's production, with gallery COA. Closing March 14.</p><p><strong>One Piece 25th Anniversary Artbook — Signed by Eiichiro Oda</strong> — 2 bids already, closing March 16. Authenticated by publisher Shueisha.</p><h2>Gunpla Corner</h2><p><strong>PG Wing Zero Custom — Full Build & Paint</strong> — FigureVault JP's custom-built Perfect Grade kit, closing March 15. A gallery-quality display piece.</p><h2>How to Bid</h2><p>Visit the <a href="/auctions">Auctions page</a>, sign in, and place your bid. You'll be notified instantly by app push notification if you're outbid.</p>`,
151
- coverImage: "https://picsum.photos/seed/march2026-auction-anime/1200/630",
152
- category: BLOG_POST_FIELDS.CATEGORY_VALUES.NEWS,
153
- tags: [
154
- "auctions",
155
- "march-2026",
156
- "figures",
157
- "tcg",
158
- "production-art",
159
- "spotlight",
160
- ],
193
+ id: "blog-how-to-spot-fake-pokemon-cards-authentication",
194
+ slug: "blog-how-to-spot-fake-pokemon-cards-authentication",
195
+ title: "How to Spot Fake Pokémon Cards — 7 Authentication Tests",
196
+ excerpt: "Counterfeit Pokémon cards have become increasingly convincing. Here are 7 tests you can do at home to verify a card is authentic before spending thousands of rupees.",
197
+ content: `<h2>Why Fakes Are a Problem Now</h2>
198
+ <p>Chinese counterfeit Pokémon cards have improved dramatically since 2022. Basic fakes are easy to spot, but high-quality "proxies" can fool casual collectors. A fake PSA slab was reported in 2024. Always buy from verified sellers like those on LetItRip with review histories.</p>
199
+ <h2>Test 1: The Light Test</h2>
200
+ <p>Hold the card up to a bright light. Real Pokémon cards have a black core layer between the front and back. This shows as an unbroken dark line around all edges. Fakes often show a solid colour or uneven core.</p>
201
+ <h2>Test 2: The Rip Test (last resort)</h2>
202
+ <p>If you're willing to destroy a cheap suspected fake, rip it. Real cards tear to reveal a black core layer. Never do this on a card you want to keep — it's destructive.</p>
203
+ <h2>Test 3: Print Dot Pattern</h2>
204
+ <p>Under 60× jeweller's loupe, real cards show a regular CMYK dot-rosette pattern. Fakes often show a blurry smear, irregular dots, or an inkjet pattern of random dots.</p>
205
+ <h2>Test 4: Colour and Saturation</h2>
206
+ <p>Real Pokémon cards have specific Pantone-matched colours. Fakes are often washed out (desaturated) or too vivid. Compare the yellow Pokémon card border to a known-authentic card of the same era.</p>
207
+ <h2>Test 5: Font and Text</h2>
208
+ <p>Gill Sans is the Pokémon TCG font. Fakes often use a visually similar but incorrect font — inspect the numbers on HP and attack damage. Real cards have crisp, sharp edges on all text.</p>
209
+ <h2>Test 6: Card Feel (Flex Test)</h2>
210
+ <p>Real Pokémon cards have a specific stiffness — they flex slightly and snap back. Fakes are often too stiff (printed on thicker card stock) or too flexible. Develop a feel by handling known-authentic cards first.</p>
211
+ <h2>Test 7: UV Light Test</h2>
212
+ <p>Under 365nm UV light, real Pokémon cards show the holographic pattern glowing distinctly. Fakes often show a uniform glow or wrong colour fluorescence. A UV torch costs ₹200–400 and is worth having in every collector's kit.</p>`,
213
+ coverImage: "https://images.unsplash.com/photo-1613771404784-3a5686aa2be3?w=1200&h=630&fit=crop",
214
+ category: BLOG_POST_FIELDS.CATEGORY_VALUES.TIPS,
215
+ tags: ["pokemon-cards", "authentication", "fake-cards", "collecting-tips"],
161
216
  isFeatured: true,
162
217
  status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
163
- publishedAt: daysAgo(8),
164
- authorId: "user-moderator-mod-user",
165
- authorName: "Riya Sharma",
166
- readTimeMinutes: 5,
167
- views: 2104,
168
- metaTitle: "March 2026 Auction Spotlight Anime Figures & TCG Live Now | LetItRip",
169
- metaDescription: "Explore LetItRip's biggest anime auction month: rare figures, PSA-graded Pokémon cards, Ghibli production art, and more. Bid now.",
170
- createdAt: daysAgo(9),
171
- updatedAt: daysAgo(8),
218
+ publishedAt: daysAgo(15),
219
+ authorId: "user-aryan-kapoor",
220
+ authorName: "Aryan Kapoor",
221
+ readTimeMinutes: 7,
222
+ views: 3640,
223
+ metaTitle: "How to Spot Fake Pokémon Cards 7 Authentication Tests | LetItRip",
224
+ metaDescription: "7 at-home tests to authenticate Pokémon cards: light test, print dots, font check, UV test, and more. Protect yourself from counterfeits.",
225
+ createdAt: daysAgo(17),
226
+ updatedAt: daysAgo(15),
172
227
  },
173
- // -- Draft -------------------------------------------------------------
228
+ // ── 7. Funko Pop Storage & Display Tips ──────────────────────────────────
174
229
  {
175
- id: "blog-guide-authenticating-anime-merchandise-draft",
176
- title: "The Complete Guide to Authenticating Anime Merchandise",
177
- slug: "complete-guide-authenticating-anime-merchandise-2026",
178
- excerpt: "With bootleg figures and fake TCG cards flooding the secondary market, authentication is a must-have skill for any serious collector. This guide covers how to spot fakes for figures, Nendoroids, Gunpla, and graded cards.",
179
- content: `<h2>Why Authentication Matters</h2><p>The anime collectibles market loses an estimated ₹20 crore annually to counterfeit goods. Bootleg figures look convincing at thumbnail resolution — this guide gives you the tools to tell the difference before bidding.</p><h2>Scale Figures: What to Check</h2><ul><li><strong>Box Print Quality:</strong> Official releases have crisp, high-contrast printing. Bootlegs show banding, colour shift, and blurred kanji.</li><li><strong>Seam Lines:</strong> Authentic figures have nearly invisible seam lines. Bootlegs show gaps and misalignment of 1–3 mm.</li><li><strong>Paint Applications:</strong> Check the eyes under a macro lens — official eye decals are perfectly centered; bootlegs are usually off by 0.5–1 mm on at least one axis.</li><li><strong>Weight:</strong> Authentic figures use denser PVC. Bootlegs are noticeably lighter and feel hollow.</li></ul><h2>Nendoroid Specifics</h2><p>[Draft — Nendoroid section in progress]</p><h2>Graded TCG Cards</h2><p>PSA and BGS holders can be verified at psacard.com using the certification number on the label. Any holder not verifiable online is counterfeit.</p><h2>Gunpla: Official vs. Knockoff</h2><p>[Draft — Gunpla section in progress]</p>`,
180
- category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
181
- tags: [
182
- "authentication",
183
- "figures",
184
- "tcg",
185
- "gunpla",
186
- "guide",
187
- "anti-counterfeit",
188
- ],
230
+ id: "blog-funko-pop-storage-display-tips",
231
+ slug: "blog-funko-pop-storage-display-tips",
232
+ title: "Funko Pop Storage & Display Tips — Keep Your Collection Box-Fresh",
233
+ excerpt: "A Mint-in-Box Funko Pop can be worth 5–20× a loose one. Here's how to store, display, and protect your collection from UV, dust, moisture, and box damage.",
234
+ content: `<h2>Why Condition Matters for Value</h2>
235
+ <p>Funko Pop resell value is almost entirely driven by box condition. A Mint-in-Box (MIB) exclusive can fetch ₹2,000–15,000; the same Pop with a creased window or torn flap drops to ₹400–800. Protect the box from day one.</p>
236
+ <h2>Pop Protectors</h2>
237
+ <p>Hard plastic Pop Protectors (₹80–120 each) are essential for any Pop worth over ₹500. They prevent box dents, moisture contact, and UV yellowing. Stack-safe protectors allow vertical stacking without pressure on the top Pop's box. Buy in packs of 25–50 to reduce per-unit cost.</p>
238
+ <h2>Display Shelving</h2>
239
+ <p>IKEA KALLAX cubes (each cube fits 6–9 standard Pops) are the community standard. For premium display, acrylic risers (₹150–400) create a stadium effect. Keep shelves away from south-facing windows — UV light yellows clear window boxes within 12 months.</p>
240
+ <h2>Temperature and Humidity</h2>
241
+ <p>Store at 18–25°C and 40–50% relative humidity. Above 60% humidity, cardboard softens and moulds. Below 30%, card stock becomes brittle. A ₹500 hygrometer inside your display cabinet ensures you know the conditions.</p>
242
+ <h2>Moving and Shipping Pops</h2>
243
+ <p>Double-box every Pop for shipping — outer box 5–7cm larger than inner box, filled with bubble wrap. Newspaper is not sufficient padding. Mark "FRAGILE — COLLECTIBLE" on all sides. A ₹150 insurance add-on covers replacement if carrier damages the item.</p>`,
244
+ coverImage: "https://images.unsplash.com/photo-1618842676088-c4d48a6a7571?w=1200&h=630&fit=crop",
245
+ category: BLOG_POST_FIELDS.CATEGORY_VALUES.TIPS,
246
+ tags: ["funko-pop", "display", "storage", "collecting-tips", "protection"],
189
247
  isFeatured: false,
190
- status: BLOG_POST_FIELDS.STATUS_VALUES.DRAFT,
191
- authorId: "user-admin-user-admin",
192
- authorName: "Admin User",
193
- readTimeMinutes: 12,
194
- views: 0,
195
- createdAt: daysAgo(17),
196
- updatedAt: daysAgo(17),
248
+ status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
249
+ publishedAt: daysAgo(9),
250
+ authorId: "user-admin-letitrip",
251
+ authorName: "LetItRip Admin",
252
+ readTimeMinutes: 5,
253
+ views: 1230,
254
+ metaTitle: "Funko Pop Storage & Display Tips — Keep Boxes Mint | LetItRip",
255
+ metaDescription: "How to store and display Funko Pops: Pop Protectors, KALLAX shelving, UV protection, humidity control, and safe shipping tips.",
256
+ createdAt: daysAgo(11),
257
+ updatedAt: daysAgo(9),
197
258
  },
198
- // -- Archived ---------------------------------------------------------
259
+ // ── 8. Tomica Limited Vintage Collector's Guide ───────────────────────────
199
260
  {
200
- id: "blog-anicon-2025-haul-recap-community-archived",
201
- title: "AniCon 2025 Haul Recap — Community Picks of the Year",
202
- slug: "anicon-2025-haul-recap-community",
203
- excerpt: "December's AniCon online event was our biggest ever here's a look at the top picks, best-value lots, and the items the community loved most.",
204
- content: `<p>This post has been archived. For current deals and updates, visit our <a href="/blog">blog</a>.</p>`,
205
- coverImage: "https://picsum.photos/seed/anicon2025-recap/1200/630",
206
- category: BLOG_POST_FIELDS.CATEGORY_VALUES.COMMUNITY,
207
- tags: ["anicon", "december", "2025", "recap", "haul"],
261
+ id: "blog-tomica-limited-vintage-collectors-guide",
262
+ slug: "blog-tomica-limited-vintage-collectors-guide",
263
+ title: "Tomica Limited Vintage — The Complete Collector's Guide for India",
264
+ excerpt: "Tomica Limited Vintage (TLV) models are some of the finest 1:64 diecast cars ever made painted in period-correct colours, on die-cast metal bodies with opening doors and accurate interior details.",
265
+ content: `<h2>What is Tomica Limited Vintage?</h2>
266
+ <p>Tomica Limited Vintage is a premium Takara Tomy sub-brand producing highly detailed 1:64 scale Japanese classic cars from the 1960s–1980s. Unlike standard Tomica (₹300–500), TLV models retail at ₹1,800–4,000 and include rubber tyres, opening parts, and period livery options like police cars and taxis.</p>
267
+ <h2>TLV vs TLV-N (Neo)</h2>
268
+ <p>The original TLV line covers pre-1975 Japanese cars. TLV-N (Neo) extends to 1980s and some 1990s models. TLV-N models often have more opening parts and softer plastics. Both share the same 1:64 scale and are cross-compatible for display.</p>
269
+ <h2>Most Sought-After TLV Models in India</h2>
270
+ <ul>
271
+ <li><strong>TLV Datsun Bluebird 1600SSS (1969)</strong> — rally heritage livery, ₹3,500–5,000</li>
272
+ <li><strong>TLV-N Toyota Corolla Levin AE86 Sprinter</strong> — Initial D connection, ₹2,800–4,500</li>
273
+ <li><strong>TLV Nissan Skyline GT-R KPGC10</strong> — Hakosuka, ₹4,000–7,000</li>
274
+ <li><strong>TLV Honda N360 (1967)</strong> — kei car classic, ₹2,200–3,800</li>
275
+ </ul>
276
+ <h2>Where to Buy in India</h2>
277
+ <p>TLV models are not available at regular toy retailers. Source from importers, dedicated collector shops, and LetItRip's Diecast Depot store. New releases ship from Japan 2–3 months after the Japanese release date. Pre-orders sell out fast — register your interest on the LetItRip pre-order section.</p>
278
+ <h2>Storage and Display</h2>
279
+ <p>TLV models come in individual plastic display cases inside a cardboard outer box. Keep in original cases — the plastic yellows if left in direct sunlight. IKEA DETOLF glass cabinet with LED lighting is the community favourite for premium display.</p>`,
280
+ coverImage: "https://images.unsplash.com/photo-1563642421748-5047b6585a4a?w=1200&h=630&fit=crop",
281
+ category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
282
+ tags: ["tomica", "tomica-limited-vintage", "tlv", "diecast", "japanese-cars"],
208
283
  isFeatured: false,
209
- status: BLOG_POST_FIELDS.STATUS_VALUES.ARCHIVED,
210
- publishedAt: daysAgo(71),
211
- authorId: "user-admin-user-admin",
212
- authorName: "Admin User",
213
- readTimeMinutes: 3,
214
- views: 5602,
215
- createdAt: daysAgo(72),
216
- updatedAt: daysAgo(53),
284
+ status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
285
+ publishedAt: daysAgo(4),
286
+ authorId: "user-vikram-mehta",
287
+ authorName: "Vikram Mehta",
288
+ readTimeMinutes: 6,
289
+ views: 890,
290
+ metaTitle: "Tomica Limited Vintage Collector's Guide for India | LetItRip",
291
+ metaDescription: "Complete guide to collecting Tomica Limited Vintage — TLV vs TLV-N, top models, where to buy in India, and display tips.",
292
+ createdAt: daysAgo(6),
293
+ updatedAt: daysAgo(4),
217
294
  },
218
295
  ];
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Brands Seed Data — Collectibles Edition
3
+ * 13 real brands covering: action figures, trading cards, diecast, spinning tops, model kits.
4
+ * id === slug convention enforced throughout.
5
+ */
6
+ import type { BrandDocument } from "../features/brands/schemas";
7
+ export declare const brandsSeedData: BrandDocument[];