@mohasinac/appkit 2.3.2 → 2.4.1
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.
- package/dist/client.d.ts +48 -12
- package/dist/client.js +25 -6
- package/dist/constants/api-endpoints.d.ts +380 -22
- package/dist/constants/api-endpoints.js +66 -13
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/index.js +1 -1
- package/dist/core/hooks/useSyncManager.d.ts +1 -0
- package/dist/core/hooks/useSyncManager.js +83 -0
- package/dist/core/integration-keys.d.ts +4 -0
- package/dist/core/integration-keys.js +8 -0
- package/dist/features/about/components/FAQPageView.js +9 -11
- package/dist/features/about/components/PolicyPageView.js +32 -11
- package/dist/features/about/components/PublicProfileView.js +77 -11
- package/dist/features/account/components/AddressesIndexListing.js +63 -38
- package/dist/features/account/components/UserOffersPanel.d.ts +8 -0
- package/dist/features/account/components/UserOffersPanel.js +81 -0
- package/dist/features/account/components/UserSettingsView.d.ts +2 -1
- package/dist/features/account/components/UserSettingsView.js +2 -1
- package/dist/features/account/components/UserSidebar.d.ts +6 -1
- package/dist/features/account/components/UserSidebar.js +48 -42
- package/dist/features/account/components/index.d.ts +2 -0
- package/dist/features/account/components/index.js +1 -0
- package/dist/features/admin/actions/admin-actions.d.ts +1 -1
- package/dist/features/admin/actions/admin-actions.js +13 -3
- package/dist/features/admin/components/AdminAdEditorView.js +6 -7
- package/dist/features/admin/components/AdminAllEventEntriesView.d.ts +4 -0
- package/dist/features/admin/components/AdminAllEventEntriesView.js +102 -0
- package/dist/features/admin/components/AdminBidsView.js +94 -8
- package/dist/features/admin/components/AdminBlogEditorView.d.ts +7 -0
- package/dist/features/admin/components/AdminBlogEditorView.js +162 -0
- package/dist/features/admin/components/AdminBlogView.d.ts +4 -1
- package/dist/features/admin/components/AdminBlogView.js +61 -31
- package/dist/features/admin/components/AdminBrandEditorView.d.ts +7 -0
- package/dist/features/admin/components/AdminBrandEditorView.js +104 -0
- package/dist/features/admin/components/AdminBrandsView.d.ts +4 -0
- package/dist/features/admin/components/AdminBrandsView.js +76 -0
- package/dist/features/admin/components/AdminCarouselEditorView.d.ts +8 -0
- package/dist/features/admin/components/AdminCarouselEditorView.js +204 -0
- package/dist/features/admin/components/AdminCarouselView.js +153 -34
- package/dist/features/admin/components/AdminCartsView.d.ts +4 -0
- package/dist/features/admin/components/AdminCartsView.js +82 -0
- package/dist/features/admin/components/AdminCategoriesView.d.ts +4 -1
- package/dist/features/admin/components/AdminCategoriesView.js +66 -48
- package/dist/features/admin/components/AdminCategoryEditorView.d.ts +7 -0
- package/dist/features/admin/components/AdminCategoryEditorView.js +115 -0
- package/dist/features/admin/components/AdminContactEditorView.d.ts +11 -0
- package/dist/features/admin/components/AdminContactEditorView.js +32 -0
- package/dist/features/admin/components/AdminContactView.js +111 -20
- package/dist/features/admin/components/AdminCouponEditorView.d.ts +7 -0
- package/dist/features/admin/components/AdminCouponEditorView.js +179 -0
- package/dist/features/admin/components/AdminCouponsView.d.ts +4 -1
- package/dist/features/admin/components/AdminCouponsView.js +57 -9
- package/dist/features/admin/components/AdminDashboardView.js +3 -0
- package/dist/features/admin/components/AdminFaqEditorView.d.ts +7 -0
- package/dist/features/admin/components/AdminFaqEditorView.js +128 -0
- package/dist/features/admin/components/AdminFaqsView.d.ts +4 -1
- package/dist/features/admin/components/AdminFaqsView.js +55 -23
- package/dist/features/admin/components/AdminFeatureFlagsView.js +33 -24
- package/dist/features/admin/components/AdminListingScaffold.d.ts +7 -1
- package/dist/features/admin/components/AdminListingScaffold.js +2 -2
- package/dist/features/admin/components/AdminMediaView.js +18 -8
- package/dist/features/admin/components/AdminNavEditorView.d.ts +20 -0
- package/dist/features/admin/components/AdminNavEditorView.js +84 -0
- package/dist/features/admin/components/AdminNavigationView.d.ts +1 -7
- package/dist/features/admin/components/AdminNavigationView.js +84 -72
- package/dist/features/admin/components/AdminNewsletterView.js +102 -20
- package/dist/features/admin/components/AdminNotificationsView.d.ts +4 -0
- package/dist/features/admin/components/AdminNotificationsView.js +119 -0
- package/dist/features/admin/components/AdminOrderEditorView.d.ts +8 -0
- package/dist/features/admin/components/AdminOrderEditorView.js +74 -0
- package/dist/features/admin/components/AdminOrdersView.js +64 -8
- package/dist/features/admin/components/AdminPayoutsView.js +122 -13
- package/dist/features/admin/components/AdminProductEditorView.d.ts +7 -0
- package/dist/features/admin/components/AdminProductEditorView.js +143 -0
- package/dist/features/admin/components/AdminProductsView.d.ts +4 -1
- package/dist/features/admin/components/AdminProductsView.js +119 -30
- package/dist/features/admin/components/AdminReturnRequestsView.d.ts +5 -0
- package/dist/features/admin/components/AdminReturnRequestsView.js +101 -0
- package/dist/features/admin/components/AdminReviewsView.js +138 -28
- package/dist/features/admin/components/AdminSectionsView.js +361 -472
- package/dist/features/admin/components/AdminSessionsView.d.ts +4 -0
- package/dist/features/admin/components/AdminSessionsView.js +119 -0
- package/dist/features/admin/components/AdminSidebar.d.ts +18 -3
- package/dist/features/admin/components/AdminSidebar.js +51 -4
- package/dist/features/admin/components/AdminSiteSettingsView.d.ts +7 -0
- package/dist/features/admin/components/AdminSiteSettingsView.js +319 -0
- package/dist/features/admin/components/AdminStoreAddressesView.d.ts +5 -0
- package/dist/features/admin/components/AdminStoreAddressesView.js +52 -0
- package/dist/features/admin/components/AdminStoreEditorView.d.ts +9 -0
- package/dist/features/admin/components/AdminStoreEditorView.js +55 -0
- package/dist/features/admin/components/AdminStoresView.js +62 -20
- package/dist/features/admin/components/AdminUserEditorView.d.ts +10 -0
- package/dist/features/admin/components/AdminUserEditorView.js +72 -0
- package/dist/features/admin/components/AdminUsersView.js +70 -36
- package/dist/features/admin/components/AdminWishlistsView.d.ts +4 -0
- package/dist/features/admin/components/AdminWishlistsView.js +53 -0
- package/dist/features/admin/components/BrandQuickCreateForm.d.ts +5 -0
- package/dist/features/admin/components/BrandQuickCreateForm.js +36 -0
- package/dist/features/admin/components/CategoryQuickCreateForm.d.ts +5 -0
- package/dist/features/admin/components/CategoryQuickCreateForm.js +35 -0
- package/dist/features/admin/components/DataTable.d.ts +4 -2
- package/dist/features/admin/components/DataTable.js +26 -6
- package/dist/features/admin/components/index.d.ts +47 -1
- package/dist/features/admin/components/index.js +23 -0
- package/dist/features/admin/components/sections/adminSectionsBuildParse.d.ts +48 -0
- package/dist/features/admin/components/sections/adminSectionsBuildParse.js +653 -0
- package/dist/features/admin/components/sections/adminSectionsTypes.d.ts +298 -0
- package/dist/features/admin/components/sections/adminSectionsTypes.js +278 -0
- package/dist/features/admin/schemas/firestore.d.ts +26 -0
- package/dist/features/admin/schemas/firestore.js +1 -0
- package/dist/features/admin/types/product.types.d.ts +2 -3
- package/dist/features/auctions/actions/bid-actions.js +6 -2
- package/dist/features/auctions/components/AuctionDetailPageView.d.ts +3 -1
- package/dist/features/auctions/components/AuctionDetailPageView.js +38 -12
- package/dist/features/auctions/components/AuctionFilters.d.ts +3 -1
- package/dist/features/auctions/components/AuctionFilters.js +6 -2
- package/dist/features/auctions/components/CollapsibleBidHistory.d.ts +7 -0
- package/dist/features/auctions/components/CollapsibleBidHistory.js +8 -0
- package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +4 -0
- package/dist/features/auctions/components/MarketplaceAuctionCard.js +43 -9
- package/dist/features/auctions/components/MarketplaceAuctionGrid.js +1 -0
- package/dist/features/auctions/components/PlaceBidFormClient.d.ts +18 -0
- package/dist/features/auctions/components/PlaceBidFormClient.js +33 -0
- package/dist/features/auctions/hooks/useAuctions.d.ts +1 -0
- package/dist/features/auctions/hooks/useAuctions.js +1 -0
- package/dist/features/auctions/schemas/index.d.ts +22 -12
- package/dist/features/auth/actions/profile-actions.d.ts +5 -3
- package/dist/features/auth/actions/profile-actions.js +30 -11
- package/dist/features/auth/auth-helpers.js +1 -0
- package/dist/features/auth/components/LoginForm.js +2 -1
- package/dist/features/auth/hooks/useAuth.js +16 -4
- package/dist/features/auth/permissions/constants.d.ts +63 -0
- package/dist/features/auth/permissions/constants.js +323 -0
- package/dist/features/auth/schemas/firestore.d.ts +20 -0
- package/dist/features/auth/schemas/index.d.ts +4 -4
- package/dist/features/auth/schemas/index.js +3 -2
- package/dist/features/auth/types/index.d.ts +1 -1
- package/dist/features/before-after/schemas/index.d.ts +2 -2
- package/dist/features/blog/actions/blog-actions.d.ts +15 -15
- package/dist/features/blog/components/BlogFilters.js +1 -1
- package/dist/features/blog/components/BlogIndexListing.js +57 -5
- package/dist/features/blog/components/BlogIndexPageView.js +14 -2
- package/dist/features/blog/components/BlogPostForm.js +6 -2
- package/dist/features/blog/components/BlogPostView.js +2 -1
- package/dist/features/blog/hooks/useBlog.d.ts +2 -0
- package/dist/features/blog/hooks/useBlog.js +2 -0
- package/dist/features/blog/schemas/index.d.ts +46 -12
- package/dist/features/brands/actions/brand-actions.d.ts +2 -0
- package/dist/features/brands/actions/brand-actions.js +5 -0
- package/dist/features/brands/index.d.ts +3 -0
- package/dist/features/brands/index.js +3 -0
- package/dist/features/brands/repository/brands.repository.d.ts +13 -0
- package/dist/features/brands/repository/brands.repository.js +60 -0
- package/dist/features/brands/schemas/index.d.ts +33 -0
- package/dist/features/brands/schemas/index.js +15 -0
- package/dist/features/brands/server.d.ts +7 -0
- package/dist/features/brands/server.js +7 -0
- package/dist/features/cart/actions/cart-actions.js +2 -2
- package/dist/features/cart/components/CartDrawer.d.ts +5 -1
- package/dist/features/cart/components/CartDrawer.js +3 -3
- package/dist/features/cart/hooks/useCartCount.d.ts +3 -2
- package/dist/features/cart/hooks/useCartCount.js +4 -2
- package/dist/features/cart/hooks/useGuestCartMerge.js +1 -1
- package/dist/features/cart/index.d.ts +1 -0
- package/dist/features/cart/index.js +1 -0
- package/dist/features/cart/repository/cart.repository.d.ts +5 -1
- package/dist/features/cart/repository/cart.repository.js +36 -5
- package/dist/features/cart/schemas/firestore.d.ts +25 -6
- package/dist/features/cart/schemas/firestore.js +2 -2
- package/dist/features/cart/schemas/index.d.ts +9 -9
- package/dist/features/cart/schemas/index.js +1 -1
- package/dist/features/cart/types/index.d.ts +1 -1
- package/dist/features/cart/utils/pending-ops.d.ts +33 -0
- package/dist/features/cart/utils/pending-ops.js +102 -0
- package/dist/features/categories/components/BrandDetailPageView.d.ts +4 -0
- package/dist/features/categories/components/BrandDetailPageView.js +54 -0
- package/dist/features/categories/components/BrandDetailTabs.d.ts +10 -0
- package/dist/features/categories/components/BrandDetailTabs.js +22 -0
- package/dist/features/categories/components/CategoriesIndexListing.d.ts +3 -1
- package/dist/features/categories/components/CategoriesIndexListing.js +83 -7
- package/dist/features/categories/components/CategoryDetailPageView.js +42 -21
- package/dist/features/categories/components/CategoryDetailTabs.d.ts +7 -1
- package/dist/features/categories/components/CategoryDetailTabs.js +12 -7
- package/dist/features/categories/components/CategoryFilters.js +1 -1
- package/dist/features/categories/components/CategoryForm.js +10 -4
- package/dist/features/categories/components/CategoryProductsListing.d.ts +4 -1
- package/dist/features/categories/components/CategoryProductsListing.js +34 -5
- package/dist/features/categories/components/ConcernCard.js +1 -1
- package/dist/features/categories/hooks/useCategories.js +2 -0
- package/dist/features/categories/repository/categories.repository.js +2 -3
- package/dist/features/categories/schemas/firestore.d.ts +23 -2
- package/dist/features/categories/schemas/firestore.js +8 -0
- package/dist/features/categories/schemas/index.d.ts +8 -8
- package/dist/features/categories/types/index.d.ts +1 -0
- package/dist/features/collections/schemas/index.d.ts +2 -2
- package/dist/features/events/components/AdminEventEditorView.js +2 -2
- package/dist/features/events/components/AdminEventsView.d.ts +4 -1
- package/dist/features/events/components/AdminEventsView.js +64 -38
- package/dist/features/events/components/EventCard.js +1 -1
- package/dist/features/events/components/EventFilters.js +1 -1
- package/dist/features/events/components/EventPollWidget.d.ts +12 -0
- package/dist/features/events/components/EventPollWidget.js +62 -0
- package/dist/features/events/components/EventsIndexListing.js +57 -5
- package/dist/features/events/components/EventsListPageView.js +1 -1
- package/dist/features/events/components/index.d.ts +2 -0
- package/dist/features/events/components/index.js +1 -0
- package/dist/features/events/hooks/useEvents.d.ts +1 -0
- package/dist/features/events/hooks/useEvents.js +1 -0
- package/dist/features/events/repository/events.repository.js +3 -0
- package/dist/features/events/schemas/firestore.d.ts +1 -0
- package/dist/features/events/schemas/index.d.ts +44 -0
- package/dist/features/events/types/index.d.ts +2 -0
- package/dist/features/faq/actions/faq-actions.d.ts +16 -16
- package/dist/features/faq/hooks/useFaqList.js +1 -1
- package/dist/features/faq/schemas/firestore.d.ts +2 -2
- package/dist/features/faq/schemas/firestore.js +2 -1
- package/dist/features/faq/schemas/index.d.ts +4 -4
- package/dist/features/filters/FilterFacetSection.d.ts +1 -0
- package/dist/features/filters/FilterFacetSection.js +13 -1
- package/dist/features/filters/SwitchFilter.js +1 -1
- package/dist/features/grouped/schemas/firestore.d.ts +32 -0
- package/dist/features/grouped/schemas/firestore.js +19 -0
- package/dist/features/homepage/components/AdSlot.d.ts +1 -3
- package/dist/features/homepage/components/AdSlot.js +15 -14
- package/dist/features/homepage/components/BlogArticlesSection.d.ts +3 -1
- package/dist/features/homepage/components/BlogArticlesSection.js +2 -2
- package/dist/features/homepage/components/BrandsSection.d.ts +3 -1
- package/dist/features/homepage/components/BrandsSection.js +4 -3
- package/dist/features/homepage/components/CustomCardsSection.d.ts +3 -0
- package/dist/features/homepage/components/CustomCardsSection.js +76 -0
- package/dist/features/homepage/components/EventsSection.d.ts +3 -1
- package/dist/features/homepage/components/EventsSection.js +2 -2
- package/dist/features/homepage/components/FeaturedAuctionsSection.d.ts +4 -1
- package/dist/features/homepage/components/FeaturedAuctionsSection.js +2 -2
- package/dist/features/homepage/components/FeaturedPreOrdersSection.d.ts +4 -1
- package/dist/features/homepage/components/FeaturedPreOrdersSection.js +2 -2
- package/dist/features/homepage/components/FeaturedProductsSection.d.ts +4 -1
- package/dist/features/homepage/components/FeaturedProductsSection.js +8 -3
- package/dist/features/homepage/components/FeaturedStoresSection.d.ts +3 -1
- package/dist/features/homepage/components/FeaturedStoresSection.js +2 -2
- package/dist/features/homepage/components/GoogleReviewsSection.d.ts +3 -0
- package/dist/features/homepage/components/GoogleReviewsSection.js +65 -0
- package/dist/features/homepage/components/HeroCarousel.js +128 -84
- package/dist/features/homepage/components/MarketplaceHomepageView.d.ts +2 -20
- package/dist/features/homepage/components/MarketplaceHomepageView.js +73 -230
- package/dist/features/homepage/components/SectionCarousel.d.ts +1 -1
- package/dist/features/homepage/components/SectionCarousel.js +2 -0
- package/dist/features/homepage/components/ShopByCategorySection.d.ts +3 -1
- package/dist/features/homepage/components/ShopByCategorySection.js +8 -4
- package/dist/features/homepage/components/SocialFeedSection.d.ts +3 -0
- package/dist/features/homepage/components/SocialFeedSection.js +86 -0
- package/dist/features/homepage/components/SocialPostCard.d.ts +7 -0
- package/dist/features/homepage/components/SocialPostCard.js +39 -0
- package/dist/features/homepage/components/StatsCounterSection.js +1 -1
- package/dist/features/homepage/components/WelcomeSection.js +1 -1
- package/dist/features/homepage/components/WhatsAppCommunitySection.js +1 -1
- package/dist/features/homepage/hooks/useActiveAd.d.ts +23 -0
- package/dist/features/homepage/hooks/useActiveAd.js +20 -0
- package/dist/features/homepage/hooks/useBlogArticles.d.ts +1 -0
- package/dist/features/homepage/hooks/useBlogArticles.js +10 -0
- package/dist/features/homepage/hooks/useFeaturedAuctions.d.ts +4 -1
- package/dist/features/homepage/hooks/useFeaturedAuctions.js +8 -4
- package/dist/features/homepage/hooks/useFeaturedPreOrders.d.ts +4 -1
- package/dist/features/homepage/hooks/useFeaturedPreOrders.js +8 -4
- package/dist/features/homepage/hooks/useFeaturedProducts.d.ts +1 -0
- package/dist/features/homepage/hooks/useFeaturedProducts.js +6 -3
- package/dist/features/homepage/hooks/useFeaturedStores.d.ts +3 -1
- package/dist/features/homepage/hooks/useFeaturedStores.js +2 -1
- package/dist/features/homepage/hooks/useHomepageEvents.d.ts +3 -1
- package/dist/features/homepage/hooks/useHomepageEvents.js +2 -1
- package/dist/features/homepage/hooks/useTopBrands.d.ts +3 -1
- package/dist/features/homepage/hooks/useTopBrands.js +2 -1
- package/dist/features/homepage/index.d.ts +2 -0
- package/dist/features/homepage/index.js +1 -0
- package/dist/features/homepage/lib/google-reviews-fetcher.d.ts +14 -0
- package/dist/features/homepage/lib/google-reviews-fetcher.js +27 -0
- package/dist/features/homepage/lib/live-stats.d.ts +14 -0
- package/dist/features/homepage/lib/live-stats.js +62 -0
- package/dist/features/homepage/lib/section-defaults.d.ts +11 -0
- package/dist/features/homepage/lib/section-defaults.js +45 -0
- package/dist/features/homepage/lib/section-helpers.d.ts +5 -0
- package/dist/features/homepage/lib/section-helpers.js +25 -0
- package/dist/features/homepage/lib/section-renderer.d.ts +33 -0
- package/dist/features/homepage/lib/section-renderer.js +164 -0
- package/dist/features/homepage/lib/social-feed-fetcher.d.ts +5 -0
- package/dist/features/homepage/lib/social-feed-fetcher.js +193 -0
- package/dist/features/homepage/schemas/firestore.d.ts +180 -29
- package/dist/features/homepage/schemas/firestore.js +5 -0
- package/dist/features/homepage/types/index.d.ts +48 -19
- package/dist/features/layout/AppLayoutShell.d.ts +6 -1
- package/dist/features/layout/AppLayoutShell.js +25 -9
- package/dist/features/layout/BottomActions.js +1 -1
- package/dist/features/layout/BottomNavbar.d.ts +15 -1
- package/dist/features/layout/BottomNavbar.js +8 -2
- package/dist/features/layout/FooterLayout.d.ts +7 -1
- package/dist/features/layout/FooterLayout.js +3 -3
- package/dist/features/layout/ListingLayout.js +2 -2
- package/dist/features/layout/MainNavbar.d.ts +6 -14
- package/dist/features/layout/MainNavbar.js +4 -16
- package/dist/features/layout/NavItem.js +1 -1
- package/dist/features/layout/NavbarLayout.d.ts +3 -1
- package/dist/features/layout/NavbarLayout.js +5 -5
- package/dist/features/layout/TitleBar.d.ts +4 -2
- package/dist/features/layout/TitleBar.js +5 -3
- package/dist/features/layout/TitleBarLayout.d.ts +3 -1
- package/dist/features/layout/TitleBarLayout.js +2 -2
- package/dist/features/layout/index.d.ts +1 -1
- package/dist/features/media/MediaPickerModal.d.ts +30 -0
- package/dist/features/media/MediaPickerModal.js +72 -0
- package/dist/features/media/index.d.ts +3 -1
- package/dist/features/media/index.js +1 -0
- package/dist/features/media/types/index.d.ts +12 -0
- package/dist/features/media/types/index.js +4 -2
- package/dist/features/media/upload/MediaUploadField.d.ts +5 -1
- package/dist/features/media/upload/MediaUploadField.js +56 -3
- package/dist/features/messages/schemas/firestore.d.ts +36 -0
- package/dist/features/messages/schemas/firestore.js +16 -0
- package/dist/features/orders/repository/orders.repository.d.ts +2 -2
- package/dist/features/orders/repository/orders.repository.js +2 -2
- package/dist/features/orders/schemas/firestore.d.ts +17 -4
- package/dist/features/orders/schemas/firestore.js +2 -2
- package/dist/features/orders/schemas/index.d.ts +18 -18
- package/dist/features/orders/schemas/index.js +3 -3
- package/dist/features/orders/types/index.d.ts +1 -1
- package/dist/features/orders/utils/order-splitter.d.ts +1 -1
- package/dist/features/orders/utils/order-splitter.js +2 -2
- package/dist/features/payments/repository/payout.repository.d.ts +4 -4
- package/dist/features/payments/repository/payout.repository.js +7 -7
- package/dist/features/payments/schemas/firestore.d.ts +6 -6
- package/dist/features/payments/schemas/firestore.js +6 -6
- package/dist/features/pre-orders/components/MarketplacePreorderCard.js +11 -10
- package/dist/features/pre-orders/components/PreOrderActionsClient.d.ts +11 -0
- package/dist/features/pre-orders/components/PreOrderActionsClient.js +28 -0
- package/dist/features/pre-orders/components/PreOrderDetailPageView.d.ts +2 -1
- package/dist/features/pre-orders/components/PreOrderDetailPageView.js +27 -9
- package/dist/features/pre-orders/components/PreOrderFilters.d.ts +3 -1
- package/dist/features/pre-orders/components/PreOrderFilters.js +9 -6
- package/dist/features/pre-orders/components/PreOrdersIndexListing.d.ts +3 -1
- package/dist/features/pre-orders/components/PreOrdersIndexListing.js +132 -36
- package/dist/features/pre-orders/components/PreOrdersListView.js +3 -3
- package/dist/features/pre-orders/components/PreorderCard.js +1 -1
- package/dist/features/pre-orders/schemas/index.d.ts +10 -0
- package/dist/features/products/actions/product-actions.d.ts +2 -2
- package/dist/features/products/actions/product-actions.js +5 -5
- package/dist/features/products/api/[id]/route.js +5 -2
- package/dist/features/products/api/route.js +10 -14
- package/dist/features/products/columns/productTableColumns.js +2 -2
- package/dist/features/products/components/AuctionDetailView.d.ts +2 -1
- package/dist/features/products/components/AuctionDetailView.js +2 -2
- package/dist/features/products/components/AuctionsIndexListing.d.ts +3 -1
- package/dist/features/products/components/AuctionsIndexListing.js +93 -31
- package/dist/features/products/components/BidHistory.d.ts +2 -1
- package/dist/features/products/components/BidHistory.js +18 -2
- package/dist/features/products/components/MakeOfferButton.d.ts +10 -0
- package/dist/features/products/components/MakeOfferButton.js +68 -0
- package/dist/features/products/components/ProductDetailPageView.d.ts +11 -1
- package/dist/features/products/components/ProductDetailPageView.js +27 -8
- package/dist/features/products/components/ProductFilters.d.ts +7 -1
- package/dist/features/products/components/ProductFilters.js +4 -2
- package/dist/features/products/components/ProductForm.d.ts +19 -1
- package/dist/features/products/components/ProductForm.js +24 -6
- package/dist/features/products/components/ProductGrid.d.ts +10 -2
- package/dist/features/products/components/ProductGrid.js +76 -29
- package/dist/features/products/components/ProductsIndexListing.js +131 -45
- package/dist/features/products/components/RelatedProductsCarousel.js +1 -1
- package/dist/features/products/components/ShareButton.d.ts +7 -0
- package/dist/features/products/components/ShareButton.js +22 -0
- package/dist/features/products/components/index.d.ts +2 -0
- package/dist/features/products/components/index.js +1 -0
- package/dist/features/products/hooks/useProducts.d.ts +7 -0
- package/dist/features/products/hooks/useProducts.js +6 -4
- package/dist/features/products/repository/products.repository.d.ts +4 -8
- package/dist/features/products/repository/products.repository.js +17 -50
- package/dist/features/products/schemas/firestore.d.ts +11 -9
- package/dist/features/products/schemas/firestore.js +11 -3
- package/dist/features/products/schemas/index.d.ts +51 -50
- package/dist/features/products/schemas/index.js +2 -5
- package/dist/features/products/types/index.d.ts +13 -5
- package/dist/features/promotions/actions/coupon-actions.d.ts +2 -2
- package/dist/features/promotions/actions/coupon-actions.js +1 -1
- package/dist/features/promotions/actions/seller-coupon-actions.js +11 -6
- package/dist/features/promotions/api/route.js +3 -3
- package/dist/features/promotions/components/CouponCard.js +16 -7
- package/dist/features/promotions/components/CouponsIndexListing.js +3 -9
- package/dist/features/promotions/hooks/useCouponValidate.d.ts +1 -1
- package/dist/features/promotions/hooks/usePromotions.js +2 -2
- package/dist/features/promotions/repository/coupons.repository.d.ts +21 -15
- package/dist/features/promotions/repository/coupons.repository.js +97 -125
- package/dist/features/promotions/schemas/firestore.d.ts +31 -2
- package/dist/features/promotions/schemas/firestore.js +29 -0
- package/dist/features/promotions/schemas/index.d.ts +9 -12
- package/dist/features/promotions/schemas/index.js +1 -2
- package/dist/features/promotions/types/index.d.ts +1 -2
- package/dist/features/reviews/actions/review-actions.js +3 -2
- package/dist/features/reviews/components/ReviewDetailPageView.js +5 -9
- package/dist/features/reviews/components/ReviewFilters.js +1 -1
- package/dist/features/reviews/components/ReviewsIndexListing.js +58 -7
- package/dist/features/reviews/components/ReviewsList.js +2 -2
- package/dist/features/reviews/hooks/useReviews.d.ts +1 -0
- package/dist/features/reviews/hooks/useReviews.js +2 -1
- package/dist/features/reviews/repository/reviews.repository.d.ts +9 -4
- package/dist/features/reviews/repository/reviews.repository.js +18 -7
- package/dist/features/reviews/schemas/firestore.d.ts +5 -2
- package/dist/features/reviews/schemas/firestore.js +1 -0
- package/dist/features/reviews/schemas/index.d.ts +19 -16
- package/dist/features/reviews/schemas/index.js +3 -2
- package/dist/features/reviews/types/index.d.ts +3 -2
- package/dist/features/scams/actions/scam-actions.d.ts +29 -0
- package/dist/features/scams/actions/scam-actions.js +62 -0
- package/dist/features/scams/components/ScamProfileView.d.ts +10 -0
- package/dist/features/scams/components/ScamProfileView.js +51 -0
- package/dist/features/scams/components/ScamRegistryView.d.ts +6 -0
- package/dist/features/scams/components/ScamRegistryView.js +41 -0
- package/dist/features/scams/components/index.d.ts +4 -0
- package/dist/features/scams/components/index.js +2 -0
- package/dist/features/scams/constants/scam-types.d.ts +38 -0
- package/dist/features/scams/constants/scam-types.js +443 -0
- package/dist/features/scams/repository/scammer.repository.d.ts +67 -0
- package/dist/features/scams/repository/scammer.repository.js +160 -0
- package/dist/features/scams/schemas/firestore.d.ts +362 -0
- package/dist/features/scams/schemas/firestore.js +233 -0
- package/dist/features/search/components/Search.d.ts +12 -2
- package/dist/features/search/components/Search.js +26 -7
- package/dist/features/search/components/index.d.ts +1 -1
- package/dist/features/search/hooks/useNavSuggestions.d.ts +1 -1
- package/dist/features/search/hooks/useNavSuggestions.js +2 -2
- package/dist/features/search/schemas/index.d.ts +7 -7
- package/dist/features/seller/actions/offer-actions.js +52 -36
- package/dist/features/seller/actions/seller-actions.js +19 -13
- package/dist/features/seller/api/products/route.js +9 -4
- package/dist/features/seller/components/SellerAddressesView.d.ts +3 -12
- package/dist/features/seller/components/SellerAddressesView.js +144 -4
- package/dist/features/seller/components/SellerAuctionsView.js +58 -5
- package/dist/features/seller/components/SellerBidsView.d.ts +4 -0
- package/dist/features/seller/components/SellerBidsView.js +131 -0
- package/dist/features/seller/components/SellerCouponEditorView.d.ts +19 -0
- package/dist/features/seller/components/SellerCouponEditorView.js +67 -0
- package/dist/features/seller/components/SellerCouponsView.d.ts +5 -3
- package/dist/features/seller/components/SellerCouponsView.js +135 -13
- package/dist/features/seller/components/SellerCreateProductView.d.ts +4 -10
- package/dist/features/seller/components/SellerCreateProductView.js +4 -3
- package/dist/features/seller/components/SellerEditProductView.d.ts +4 -10
- package/dist/features/seller/components/SellerEditProductView.js +4 -3
- package/dist/features/seller/components/SellerOffersPanel.d.ts +20 -0
- package/dist/features/seller/components/SellerOffersPanel.js +138 -0
- package/dist/features/seller/components/SellerOffersView.js +56 -5
- package/dist/features/seller/components/SellerOrdersView.d.ts +2 -1
- package/dist/features/seller/components/SellerOrdersView.js +185 -16
- package/dist/features/seller/components/SellerPayoutRequestView.d.ts +7 -0
- package/dist/features/seller/components/SellerPayoutRequestView.js +63 -0
- package/dist/features/seller/components/SellerPayoutSettingsView.d.ts +3 -10
- package/dist/features/seller/components/SellerPayoutSettingsView.js +89 -3
- package/dist/features/seller/components/SellerPayoutsView.js +56 -5
- package/dist/features/seller/components/SellerProductShell.d.ts +68 -0
- package/dist/features/seller/components/SellerProductShell.js +179 -0
- package/dist/features/seller/components/SellerProductsView.d.ts +2 -3
- package/dist/features/seller/components/SellerProductsView.js +194 -18
- package/dist/features/seller/components/SellerReviewsView.d.ts +5 -0
- package/dist/features/seller/components/SellerReviewsView.js +100 -0
- package/dist/features/seller/components/SellerShippingView.d.ts +3 -11
- package/dist/features/seller/components/SellerShippingView.js +87 -3
- package/dist/features/seller/components/SellerSidebar.d.ts +11 -3
- package/dist/features/seller/components/SellerSidebar.js +52 -8
- package/dist/features/seller/components/SellerStorefrontView.d.ts +26 -11
- package/dist/features/seller/components/SellerStorefrontView.js +45 -7
- package/dist/features/seller/components/index.d.ts +16 -2
- package/dist/features/seller/components/index.js +7 -0
- package/dist/features/seller/hooks/useSellerListingData.d.ts +3 -1
- package/dist/features/seller/hooks/useSellerListingData.js +6 -4
- package/dist/features/seller/repository/offer.repository.d.ts +3 -3
- package/dist/features/seller/repository/offer.repository.js +6 -6
- package/dist/features/seller/schemas/firestore.d.ts +7 -7
- package/dist/features/seller/schemas/firestore.js +4 -4
- package/dist/features/seller/schemas/index.d.ts +16 -16
- package/dist/features/shell/FormShell.d.ts +29 -0
- package/dist/features/shell/FormShell.js +103 -0
- package/dist/features/shell/QuickFormDrawer.d.ts +29 -0
- package/dist/features/shell/QuickFormDrawer.js +117 -0
- package/dist/features/shell/StepForm.d.ts +44 -0
- package/dist/features/shell/StepForm.js +81 -0
- package/dist/features/shell/index.d.ts +6 -0
- package/dist/features/shell/index.js +3 -0
- package/dist/features/stores/actions/store-query-actions.js +3 -3
- package/dist/features/stores/api/[storeSlug]/auctions/route.js +1 -1
- package/dist/features/stores/api/[storeSlug]/products/route.js +1 -1
- package/dist/features/stores/api/[storeSlug]/reviews/route.js +1 -1
- package/dist/features/stores/components/InteractiveStoreCard.d.ts +2 -2
- package/dist/features/stores/components/InteractiveStoreCard.js +21 -7
- package/dist/features/stores/components/StoreAboutView.js +1 -1
- package/dist/features/stores/components/StoreAuctionsListing.d.ts +5 -2
- package/dist/features/stores/components/StoreAuctionsListing.js +81 -8
- package/dist/features/stores/components/StoreAuctionsPageView.js +8 -7
- package/dist/features/stores/components/StoreDetailLayoutView.d.ts +1 -0
- package/dist/features/stores/components/StoreDetailLayoutView.js +29 -5
- package/dist/features/stores/components/StoreHeader.js +2 -1
- package/dist/features/stores/components/StorePreOrdersListing.d.ts +4 -2
- package/dist/features/stores/components/StorePreOrdersListing.js +59 -7
- package/dist/features/stores/components/StorePreOrdersPageView.js +8 -7
- package/dist/features/stores/components/StoreProductsListing.d.ts +5 -2
- package/dist/features/stores/components/StoreProductsListing.js +97 -8
- package/dist/features/stores/components/StoreProductsPageView.js +8 -7
- package/dist/features/stores/components/StoreReviewsListing.js +2 -2
- package/dist/features/stores/components/StoresIndexListing.js +74 -11
- package/dist/features/stores/components/StoresListView.js +1 -1
- package/dist/features/stores/hooks/useStores.d.ts +1 -0
- package/dist/features/stores/hooks/useStores.js +1 -0
- package/dist/features/stores/schemas/firestore.d.ts +34 -0
- package/dist/features/stores/schemas/index.d.ts +8 -8
- package/dist/features/sublisting/schemas/firestore.d.ts +30 -0
- package/dist/features/sublisting/schemas/firestore.js +19 -0
- package/dist/features/support/schemas/firestore.d.ts +113 -0
- package/dist/features/support/schemas/firestore.js +95 -0
- package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.d.ts +5 -0
- package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +143 -0
- package/dist/features/whatsapp-bot/components/index.d.ts +2 -0
- package/dist/features/whatsapp-bot/components/index.js +1 -0
- package/dist/features/whatsapp-bot/helpers/whatsapp.d.ts +23 -1
- package/dist/features/whatsapp-bot/helpers/whatsapp.js +104 -0
- package/dist/features/whatsapp-bot/server.d.ts +1 -0
- package/dist/features/whatsapp-bot/server.js +1 -0
- package/dist/features/whatsapp-bot/types/index.d.ts +49 -0
- package/dist/features/wishlist/components/WishlistView.d.ts +0 -10
- package/dist/features/wishlist/components/WishlistView.js +13 -6
- package/dist/features/wishlist/hooks/useWishlist.js +2 -0
- package/dist/features/wishlist/hooks/useWishlistCount.d.ts +11 -3
- package/dist/features/wishlist/hooks/useWishlistCount.js +89 -25
- package/dist/features/wishlist/hooks/useWishlistWithGuest.d.ts +1 -1
- package/dist/features/wishlist/schemas/index.d.ts +2 -2
- package/dist/features/wishlist/types/index.d.ts +16 -0
- package/dist/http/api-handler.js +8 -1
- package/dist/index.d.ts +114 -16
- package/dist/index.js +136 -28
- package/dist/monitoring/server-logger.js +9 -3
- package/dist/next/routing/route-map.d.ts +120 -6
- package/dist/next/routing/route-map.js +53 -2
- package/dist/providers/db-firebase/realtime.d.ts +1 -1
- package/dist/react/contexts/SessionContext.js +17 -26
- package/dist/react/hooks/useBulkSelection.d.ts +7 -24
- package/dist/react/hooks/useBulkSelection.js +27 -34
- package/dist/react/hooks/useLongPress.d.ts +3 -16
- package/dist/react/hooks/useLongPress.js +6 -25
- package/dist/react/index.d.ts +1 -0
- package/dist/react/index.js +2 -0
- package/dist/repositories/index.d.ts +3 -0
- package/dist/repositories/index.js +2 -0
- package/dist/seed/actions/demo-seed-actions.d.ts +2 -2
- package/dist/seed/actions/demo-seed-actions.js +1 -1
- package/dist/seed/anime-figures-seed-data.d.ts +8 -0
- package/dist/seed/anime-figures-seed-data.js +1033 -0
- package/dist/seed/beyblade-seed-data.js +206 -24
- package/dist/seed/bids-seed-data.d.ts +4 -10
- package/dist/seed/bids-seed-data.js +365 -238
- package/dist/seed/blog-posts-seed-data.d.ts +3 -2
- package/dist/seed/blog-posts-seed-data.js +250 -511
- package/dist/seed/brands-seed-data.d.ts +7 -0
- package/dist/seed/brands-seed-data.js +410 -0
- package/dist/seed/carousel-slides-seed-data.d.ts +3 -2
- package/dist/seed/carousel-slides-seed-data.js +177 -216
- package/dist/seed/cart-seed-data.d.ts +9 -9
- package/dist/seed/cart-seed-data.js +73 -73
- package/dist/seed/categories-seed-data.d.ts +4 -2
- package/dist/seed/categories-seed-data.js +720 -879
- package/dist/seed/conversations-seed-data.d.ts +8 -0
- package/dist/seed/conversations-seed-data.js +388 -0
- package/dist/seed/cosplay-accessories-seed-data.d.ts +8 -0
- package/dist/seed/cosplay-accessories-seed-data.js +647 -0
- package/dist/seed/coupon-usage-seed-data.d.ts +25 -0
- package/dist/seed/coupon-usage-seed-data.js +69 -0
- package/dist/seed/coupons-seed-data.d.ts +6 -3
- package/dist/seed/coupons-seed-data.js +375 -3
- package/dist/seed/events-seed-data.d.ts +4 -2
- package/dist/seed/events-seed-data.js +128 -430
- package/dist/seed/factories/cart.factory.d.ts +0 -1
- package/dist/seed/factories/cart.factory.js +2 -2
- package/dist/seed/faq-seed-data.d.ts +11 -18
- package/dist/seed/faq-seed-data.js +786 -1817
- package/dist/seed/grouped-listings-seed-data.d.ts +8 -0
- package/dist/seed/grouped-listings-seed-data.js +201 -0
- package/dist/seed/homepage-sections-seed-data.d.ts +3 -13
- package/dist/seed/homepage-sections-seed-data.js +228 -252
- package/dist/seed/hot-wheels-seed-data.js +285 -38
- package/dist/seed/index.d.ts +12 -11
- package/dist/seed/index.js +10 -12
- package/dist/seed/letitrip-official-seed-data.d.ts +8 -0
- package/dist/seed/letitrip-official-seed-data.js +399 -0
- package/dist/seed/manifest.d.ts +15 -0
- package/dist/seed/manifest.js +140 -0
- package/dist/seed/notifications-seed-data.d.ts +4 -2
- package/dist/seed/notifications-seed-data.js +117 -440
- package/dist/seed/orders-seed-data.d.ts +4 -2
- package/dist/seed/orders-seed-data.js +1090 -521
- package/dist/seed/payouts-seed-data.d.ts +4 -2
- package/dist/seed/payouts-seed-data.js +522 -145
- package/dist/seed/pokemon-carousel-slides-seed-data.js +6 -1
- package/dist/seed/pokemon-categories-seed-data.js +81 -81
- package/dist/seed/pokemon-homepage-sections-seed-data.d.ts +1 -1
- package/dist/seed/pokemon-homepage-sections-seed-data.js +116 -23
- package/dist/seed/pokemon-products-seed-data.d.ts +1 -1
- package/dist/seed/pokemon-products-seed-data.js +83 -73
- package/dist/seed/pokemon-seed-bundle.d.ts +5 -1
- package/dist/seed/pokemon-seed-bundle.js +21 -2
- package/dist/seed/pokemon-stores-seed-data.js +85 -9
- package/dist/seed/pokemon-users-seed-data.js +107 -8
- package/dist/seed/products-auctions-seed-data.d.ts +10 -0
- package/dist/seed/products-auctions-seed-data.js +689 -0
- package/dist/seed/products-preorders-seed-data.d.ts +9 -0
- package/dist/seed/products-preorders-seed-data.js +483 -0
- package/dist/seed/products-seed-data.js +34 -13
- package/dist/seed/products-standard-seed-data.d.ts +8 -0
- package/dist/seed/products-standard-seed-data.js +4179 -0
- package/dist/seed/retro-gaming-seed-data.d.ts +8 -0
- package/dist/seed/retro-gaming-seed-data.js +801 -0
- package/dist/seed/reviews-seed-data.d.ts +4 -17
- package/dist/seed/reviews-seed-data.js +1043 -515
- package/dist/seed/scammers-seed-data.d.ts +17 -0
- package/dist/seed/scammers-seed-data.js +118 -0
- package/dist/seed/site-settings-seed-data.js +25 -2
- package/dist/seed/store-addresses-seed-data.js +188 -84
- package/dist/seed/stores-seed-data.d.ts +3 -9
- package/dist/seed/stores-seed-data.js +212 -102
- package/dist/seed/sublisting-categories-seed-data.d.ts +7 -0
- package/dist/seed/sublisting-categories-seed-data.js +315 -0
- package/dist/seed/transformers-seed-data.js +34 -14
- package/dist/seed/users-seed-data.d.ts +3 -2
- package/dist/seed/users-seed-data.js +531 -440
- package/dist/seed/wishlists-seed-data.js +13 -13
- package/dist/server.d.ts +9 -2
- package/dist/server.js +12 -4
- package/dist/tokens/tokens.css +76 -31
- package/dist/ui/components/Avatar.style.css +10 -12
- package/dist/ui/components/BaseListingCard.d.ts +8 -3
- package/dist/ui/components/BaseListingCard.js +17 -6
- package/dist/ui/components/BaseListingCard.style.css +3 -1
- package/dist/ui/components/BulkActionsBar.d.ts +16 -0
- package/dist/ui/components/BulkActionsBar.js +22 -0
- package/dist/ui/components/Button.style.css +23 -23
- package/dist/ui/components/Card.style.css +60 -62
- package/dist/ui/components/Checkbox.style.css +19 -21
- package/dist/ui/components/DashboardStatsCard.style.css +12 -14
- package/dist/ui/components/Drawer.style.css +18 -14
- package/dist/ui/components/Dropdown.style.css +25 -27
- package/dist/ui/components/EmptyState.style.css +2 -4
- package/dist/ui/components/HorizontalScroller.d.ts +3 -1
- package/dist/ui/components/HorizontalScroller.js +116 -21
- package/dist/ui/components/HorizontalScroller.style.css +2 -2
- package/dist/ui/components/ImageLightbox.d.ts +0 -9
- package/dist/ui/components/ImageLightbox.js +43 -9
- package/dist/ui/components/InlineCreateSelect.d.ts +38 -0
- package/dist/ui/components/InlineCreateSelect.js +70 -0
- package/dist/ui/components/ListingLayout.style.css +41 -77
- package/dist/ui/components/ListingToolbar.d.ts +54 -0
- package/dist/ui/components/ListingToolbar.js +34 -0
- package/dist/ui/components/Modal.style.css +14 -10
- package/dist/ui/components/PageLoader.d.ts +11 -0
- package/dist/ui/components/PageLoader.js +21 -0
- package/dist/ui/components/Radio.style.css +34 -36
- package/dist/ui/components/RichTextEditor.js +1 -1
- package/dist/ui/components/RowActionMenu.d.ts +1 -0
- package/dist/ui/components/RowActionMenu.js +4 -2
- package/dist/ui/components/SectionTabs.js +1 -1
- package/dist/ui/components/SectionTabs.style.css +1 -0
- package/dist/ui/components/SideModal.style.css +4 -8
- package/dist/ui/components/Slider.style.css +2 -4
- package/dist/ui/components/Tabs.style.css +8 -10
- package/dist/ui/components/Toast.style.css +22 -24
- package/dist/ui/components/Toggle.style.css +11 -13
- package/dist/ui/index.d.ts +9 -0
- package/dist/ui/index.js +5 -0
- package/dist/ui/rich-text/RichText.js +2 -1
- package/dist/ui/rich-text/RichText.style.css +292 -5
- package/dist/ui/rich-text/RichTextRenderer.d.ts +15 -0
- package/dist/ui/rich-text/RichTextRenderer.js +15 -0
- package/dist/utils/id-generators.d.ts +10 -0
- package/dist/utils/id-generators.js +12 -0
- package/dist/validation/schemas.d.ts +9 -9
- package/package.json +5 -1
- package/README.md +0 -116
|
@@ -1,52 +1,57 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Categories Seed Data
|
|
3
|
-
*
|
|
2
|
+
* Categories Seed Data — Collectibles Edition
|
|
3
|
+
* 22 categories in 3-tier hierarchy covering 5 collectibles verticals.
|
|
4
|
+
* Verticals: action figures, trading cards, diecast, spinning tops, model kits + vintage/rare.
|
|
5
|
+
* id === slug convention enforced throughout.
|
|
4
6
|
*/
|
|
5
|
-
// Dynamic date helpers
|
|
6
7
|
const NOW = new Date();
|
|
7
8
|
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
const emptyMetrics = {
|
|
10
|
+
productCount: 0,
|
|
11
|
+
productIds: [],
|
|
12
|
+
auctionCount: 0,
|
|
13
|
+
auctionIds: [],
|
|
14
|
+
totalProductCount: 0,
|
|
15
|
+
totalAuctionCount: 0,
|
|
16
|
+
totalItemCount: 0,
|
|
17
|
+
lastUpdated: daysAgo(1),
|
|
18
|
+
};
|
|
19
|
+
const rawCategories = [
|
|
20
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
21
|
+
// ROOT 1: Action Figures & Statues (tier 0)
|
|
22
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
11
23
|
{
|
|
12
|
-
id: "category-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
description: "Premium
|
|
16
|
-
rootId: "category-
|
|
24
|
+
id: "category-action-figures",
|
|
25
|
+
slug: "category-action-figures",
|
|
26
|
+
name: "Action Figures & Statues",
|
|
27
|
+
description: "Premium anime figures, scale statues, Nendoroids, figma, and poseable action figures from top Japanese manufacturers.",
|
|
28
|
+
rootId: "category-action-figures",
|
|
17
29
|
parentIds: [],
|
|
18
30
|
childrenIds: [
|
|
19
|
-
"category-
|
|
20
|
-
"category-
|
|
21
|
-
"category-
|
|
22
|
-
"category-cameras-photography-electronics",
|
|
31
|
+
"category-nendoroids-chibis",
|
|
32
|
+
"category-scale-figures",
|
|
33
|
+
"category-poseable-figures",
|
|
23
34
|
],
|
|
24
35
|
tier: 0,
|
|
25
|
-
path: "
|
|
36
|
+
path: "action-figures",
|
|
26
37
|
order: 1,
|
|
27
38
|
isLeaf: false,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
auctionCount: 1,
|
|
32
|
-
auctionIds: ["auction-ps5-slim-gaming-console-techhub-1"],
|
|
33
|
-
totalProductCount: 10,
|
|
34
|
-
totalAuctionCount: 10,
|
|
35
|
-
totalItemCount: 20,
|
|
36
|
-
lastUpdated: daysAgo(4),
|
|
37
|
-
},
|
|
39
|
+
position: 0,
|
|
40
|
+
subtreeSize: 4,
|
|
41
|
+
metrics: emptyMetrics,
|
|
38
42
|
isFeatured: true,
|
|
39
|
-
isBrand: false,
|
|
40
43
|
featuredPriority: 1,
|
|
44
|
+
isBrand: false,
|
|
41
45
|
seo: {
|
|
42
|
-
title: "
|
|
43
|
-
description: "Shop premium
|
|
46
|
+
title: "Action Figures & Anime Statues | LetItRip",
|
|
47
|
+
description: "Shop premium anime figures, scale statues, Nendoroids, figma, and poseable action figures from Bandai, Good Smile Company, and more.",
|
|
44
48
|
keywords: [
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
49
|
+
"anime figures",
|
|
50
|
+
"nendoroid",
|
|
51
|
+
"figma",
|
|
52
|
+
"scale figure",
|
|
53
|
+
"action figure",
|
|
54
|
+
"collectibles india",
|
|
50
55
|
],
|
|
51
56
|
ogImage: "https://images.unsplash.com/photo-1578632767115-351597cf2477?w=1200&h=630&fit=crop",
|
|
52
57
|
},
|
|
@@ -59,50 +64,34 @@ export const categoriesSeedData = [
|
|
|
59
64
|
},
|
|
60
65
|
isActive: true,
|
|
61
66
|
isSearchable: true,
|
|
62
|
-
showOnHomepage:
|
|
63
|
-
createdBy: "user-admin-
|
|
64
|
-
createdAt: daysAgo(
|
|
65
|
-
updatedAt: daysAgo(
|
|
67
|
+
showOnHomepage: true,
|
|
68
|
+
createdBy: "user-admin-letitrip",
|
|
69
|
+
createdAt: daysAgo(400),
|
|
70
|
+
updatedAt: daysAgo(30),
|
|
66
71
|
ancestors: [],
|
|
67
72
|
},
|
|
68
|
-
//
|
|
73
|
+
// Action Figures > Nendoroids & Chibis (tier 1)
|
|
69
74
|
{
|
|
70
|
-
id: "category-
|
|
75
|
+
id: "category-nendoroids-chibis",
|
|
76
|
+
slug: "category-nendoroids-chibis",
|
|
71
77
|
name: "Nendoroids & Chibis",
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
childrenIds: [
|
|
77
|
-
"category-smartphones-mobiles-accessories",
|
|
78
|
-
"category-mobile-accessories-mobiles-accessories",
|
|
79
|
-
],
|
|
78
|
+
description: "Good Smile Company Nendoroids, Nendoroid Dolls, chibi-style figures, and gashapon mini collectibles.",
|
|
79
|
+
rootId: "category-action-figures",
|
|
80
|
+
parentIds: ["category-action-figures"],
|
|
81
|
+
childrenIds: [],
|
|
80
82
|
tier: 1,
|
|
81
|
-
path: "
|
|
83
|
+
path: "action-figures/nendoroids-chibis",
|
|
82
84
|
order: 1,
|
|
83
|
-
isLeaf:
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
auctionCount: 1,
|
|
88
|
-
auctionIds: ["auction-gunpla-pg-wing-zero-techhub-1"],
|
|
89
|
-
totalProductCount: 5,
|
|
90
|
-
totalAuctionCount: 1,
|
|
91
|
-
totalItemCount: 6,
|
|
92
|
-
lastUpdated: daysAhead(4),
|
|
93
|
-
},
|
|
85
|
+
isLeaf: true,
|
|
86
|
+
position: 0,
|
|
87
|
+
subtreeSize: 1,
|
|
88
|
+
metrics: emptyMetrics,
|
|
94
89
|
isFeatured: false,
|
|
95
90
|
isBrand: false,
|
|
96
91
|
seo: {
|
|
97
|
-
title: "Nendoroids &
|
|
98
|
-
description: "Browse Nendoroids, chibi figurines, and
|
|
99
|
-
keywords: [
|
|
100
|
-
"nendoroid",
|
|
101
|
-
"chibi",
|
|
102
|
-
"good smile company",
|
|
103
|
-
"mini figurine",
|
|
104
|
-
"beyblade",
|
|
105
|
-
],
|
|
92
|
+
title: "Nendoroids & Chibi Figures | LetItRip",
|
|
93
|
+
description: "Browse GSC Nendoroids, Nendoroid Dolls, chibi figurines, and gashapon mini collectibles.",
|
|
94
|
+
keywords: ["nendoroid", "chibi figure", "good smile", "gsc", "gashapon"],
|
|
106
95
|
},
|
|
107
96
|
display: {
|
|
108
97
|
icon: "🫧",
|
|
@@ -112,1112 +101,964 @@ export const categoriesSeedData = [
|
|
|
112
101
|
},
|
|
113
102
|
isActive: true,
|
|
114
103
|
isSearchable: true,
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
ancestors: [{ id: "category-electronics", name: "Scale Figures", tier: 0 }],
|
|
104
|
+
createdBy: "user-priya-singh",
|
|
105
|
+
createdAt: daysAgo(400),
|
|
106
|
+
updatedAt: daysAgo(30),
|
|
107
|
+
ancestors: [{ id: "category-action-figures", name: "Action Figures & Statues", tier: 0 }],
|
|
120
108
|
},
|
|
121
|
-
//
|
|
109
|
+
// Action Figures > Scale Figures (tier 1)
|
|
122
110
|
{
|
|
123
|
-
id: "category-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
description: "
|
|
127
|
-
rootId: "category-
|
|
128
|
-
parentIds: [
|
|
129
|
-
"category-electronics",
|
|
130
|
-
"category-mobiles-accessories-electronics",
|
|
131
|
-
],
|
|
111
|
+
id: "category-scale-figures",
|
|
112
|
+
slug: "category-scale-figures",
|
|
113
|
+
name: "Scale Figures",
|
|
114
|
+
description: "High-end 1/4, 1/6, 1/7, and 1/8 scale PVC anime statues from Alter, Kotobukiya, Max Factory, and Aniplex.",
|
|
115
|
+
rootId: "category-action-figures",
|
|
116
|
+
parentIds: ["category-action-figures"],
|
|
132
117
|
childrenIds: [],
|
|
133
|
-
tier:
|
|
134
|
-
path: "
|
|
135
|
-
order:
|
|
118
|
+
tier: 1,
|
|
119
|
+
path: "action-figures/scale-figures",
|
|
120
|
+
order: 2,
|
|
136
121
|
isLeaf: true,
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
"product-iphone-15-pro-max-smartphones-new-techhub-electronics-1",
|
|
141
|
-
"product-samsung-galaxy-s24-ultra-smartphones-new-techhub-electronics-1",
|
|
142
|
-
"product-google-pixel-8-pro-smartphones-new-techhub-electronics-1",
|
|
143
|
-
],
|
|
144
|
-
auctionCount: 0,
|
|
145
|
-
auctionIds: [],
|
|
146
|
-
totalProductCount: 3,
|
|
147
|
-
totalAuctionCount: 0,
|
|
148
|
-
totalItemCount: 3,
|
|
149
|
-
lastUpdated: daysAhead(4),
|
|
150
|
-
},
|
|
122
|
+
position: 0,
|
|
123
|
+
subtreeSize: 1,
|
|
124
|
+
metrics: emptyMetrics,
|
|
151
125
|
isFeatured: true,
|
|
152
|
-
isBrand: false,
|
|
153
126
|
featuredPriority: 2,
|
|
127
|
+
isBrand: false,
|
|
154
128
|
seo: {
|
|
155
|
-
title: "
|
|
156
|
-
description: "Shop
|
|
157
|
-
keywords: [
|
|
158
|
-
"beyblade",
|
|
159
|
-
"dran-sword",
|
|
160
|
-
"valkyrie",
|
|
161
|
-
"takara-tomy",
|
|
162
|
-
"scale figure",
|
|
163
|
-
],
|
|
129
|
+
title: "Scale Figures — 1/6, 1/7, 1/8 Anime PVC | LetItRip",
|
|
130
|
+
description: "Shop 1/4–1/8 scale anime PVC figures by Alter, Kotobukiya, Max Factory, and more.",
|
|
131
|
+
keywords: ["scale figure", "1/7 scale", "pvc figure", "alter", "kotobukiya", "anime statue"],
|
|
164
132
|
},
|
|
165
133
|
display: {
|
|
166
|
-
icon: "
|
|
134
|
+
icon: "🏆",
|
|
167
135
|
coverImage: "https://images.unsplash.com/photo-1608889825271-9696283b84bd?w=800&h=800&fit=crop",
|
|
168
136
|
showInMenu: true,
|
|
169
|
-
showInFooter:
|
|
137
|
+
showInFooter: true,
|
|
170
138
|
},
|
|
171
139
|
isActive: true,
|
|
172
140
|
isSearchable: true,
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
ancestors: [
|
|
178
|
-
{ id: "category-electronics", name: "Scale Figures", tier: 0 },
|
|
179
|
-
{
|
|
180
|
-
id: "category-mobiles-accessories-electronics",
|
|
181
|
-
name: "Nendoroids & Chibis",
|
|
182
|
-
tier: 1,
|
|
183
|
-
},
|
|
184
|
-
],
|
|
141
|
+
createdBy: "user-admin-letitrip",
|
|
142
|
+
createdAt: daysAgo(400),
|
|
143
|
+
updatedAt: daysAgo(30),
|
|
144
|
+
ancestors: [{ id: "category-action-figures", name: "Action Figures & Statues", tier: 0 }],
|
|
185
145
|
},
|
|
186
|
-
//
|
|
146
|
+
// Action Figures > Poseable Figures (tier 1)
|
|
187
147
|
{
|
|
188
|
-
id: "category-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
description: "
|
|
192
|
-
rootId: "category-
|
|
193
|
-
parentIds: [
|
|
194
|
-
"category-electronics",
|
|
195
|
-
"category-mobiles-accessories-electronics",
|
|
196
|
-
],
|
|
148
|
+
id: "category-poseable-figures",
|
|
149
|
+
slug: "category-poseable-figures",
|
|
150
|
+
name: "Poseable Action Figures",
|
|
151
|
+
description: "Fully articulated poseable action figures — figma, S.H.Figuarts, MAFEX, and Marvel Legends. Multiple points of articulation and interchangeable parts.",
|
|
152
|
+
rootId: "category-action-figures",
|
|
153
|
+
parentIds: ["category-action-figures"],
|
|
197
154
|
childrenIds: [],
|
|
198
|
-
tier:
|
|
199
|
-
path: "
|
|
200
|
-
order:
|
|
155
|
+
tier: 1,
|
|
156
|
+
path: "action-figures/poseable-figures",
|
|
157
|
+
order: 3,
|
|
201
158
|
isLeaf: true,
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
auctionCount: 0,
|
|
206
|
-
auctionIds: [],
|
|
207
|
-
totalProductCount: 1,
|
|
208
|
-
totalAuctionCount: 0,
|
|
209
|
-
totalItemCount: 1,
|
|
210
|
-
lastUpdated: daysAhead(4),
|
|
211
|
-
},
|
|
159
|
+
position: 0,
|
|
160
|
+
subtreeSize: 1,
|
|
161
|
+
metrics: emptyMetrics,
|
|
212
162
|
isFeatured: false,
|
|
213
163
|
isBrand: false,
|
|
214
164
|
seo: {
|
|
215
|
-
title: "
|
|
216
|
-
description: "Shop
|
|
217
|
-
keywords: [
|
|
218
|
-
"chibi",
|
|
219
|
-
"mini figurine",
|
|
220
|
-
"gashapon",
|
|
221
|
-
"spirited away",
|
|
222
|
-
"studio ghibli",
|
|
223
|
-
],
|
|
165
|
+
title: "Poseable Action Figures — figma, S.H.Figuarts | LetItRip",
|
|
166
|
+
description: "Shop fully articulated figma, S.H.Figuarts, MAFEX, and Revoltech poseable anime figures.",
|
|
167
|
+
keywords: ["figma", "sh figuarts", "mafex", "revoltech", "poseable figure", "articulated"],
|
|
224
168
|
},
|
|
225
169
|
display: {
|
|
226
|
-
icon: "
|
|
170
|
+
icon: "🦾",
|
|
227
171
|
coverImage: "https://images.unsplash.com/photo-1560762484-813fc97650a0?w=800&h=800&fit=crop",
|
|
228
172
|
showInMenu: true,
|
|
229
173
|
showInFooter: false,
|
|
230
174
|
},
|
|
231
175
|
isActive: true,
|
|
232
176
|
isSearchable: true,
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
177
|
+
createdBy: "user-admin-letitrip",
|
|
178
|
+
createdAt: daysAgo(400),
|
|
179
|
+
updatedAt: daysAgo(30),
|
|
180
|
+
ancestors: [{ id: "category-action-figures", name: "Action Figures & Statues", tier: 0 }],
|
|
181
|
+
},
|
|
182
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
183
|
+
// ROOT 2: Trading Cards (tier 0)
|
|
184
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
185
|
+
{
|
|
186
|
+
id: "category-trading-cards",
|
|
187
|
+
slug: "category-trading-cards",
|
|
188
|
+
name: "Trading Cards",
|
|
189
|
+
description: "Pokémon TCG, Yu-Gi-Oh!, and other trading card games. Singles, booster packs, sealed boxes, ETBs, and graded slabs.",
|
|
190
|
+
rootId: "category-trading-cards",
|
|
191
|
+
parentIds: [],
|
|
192
|
+
childrenIds: [
|
|
193
|
+
"category-pokemon-tcg",
|
|
194
|
+
"category-yugioh-tcg",
|
|
195
|
+
"category-sealed-product",
|
|
244
196
|
],
|
|
197
|
+
tier: 0,
|
|
198
|
+
path: "trading-cards",
|
|
199
|
+
order: 2,
|
|
200
|
+
isLeaf: false,
|
|
201
|
+
position: 0,
|
|
202
|
+
subtreeSize: 4,
|
|
203
|
+
metrics: emptyMetrics,
|
|
204
|
+
isFeatured: true,
|
|
205
|
+
featuredPriority: 3,
|
|
206
|
+
isBrand: false,
|
|
207
|
+
seo: {
|
|
208
|
+
title: "Trading Cards — Pokémon TCG, Yu-Gi-Oh! | LetItRip",
|
|
209
|
+
description: "Shop Pokémon TCG singles, booster packs, sealed boxes, and Yu-Gi-Oh! cards. Graded slabs, ETBs, and more.",
|
|
210
|
+
keywords: [
|
|
211
|
+
"pokemon tcg",
|
|
212
|
+
"yugioh cards",
|
|
213
|
+
"trading cards india",
|
|
214
|
+
"booster pack",
|
|
215
|
+
"sealed box",
|
|
216
|
+
"graded cards",
|
|
217
|
+
],
|
|
218
|
+
ogImage: "https://images.unsplash.com/photo-1607604276583-eef5d076aa5f?w=1200&h=630&fit=crop",
|
|
219
|
+
},
|
|
220
|
+
display: {
|
|
221
|
+
icon: "🃏",
|
|
222
|
+
coverImage: "https://images.unsplash.com/photo-1607604276583-eef5d076aa5f?w=800&h=800&fit=crop",
|
|
223
|
+
color: "#f59e0b",
|
|
224
|
+
showInMenu: true,
|
|
225
|
+
showInFooter: true,
|
|
226
|
+
},
|
|
227
|
+
isActive: true,
|
|
228
|
+
isSearchable: true,
|
|
229
|
+
showOnHomepage: true,
|
|
230
|
+
createdBy: "user-admin-letitrip",
|
|
231
|
+
createdAt: daysAgo(400),
|
|
232
|
+
updatedAt: daysAgo(30),
|
|
233
|
+
ancestors: [],
|
|
245
234
|
},
|
|
246
|
-
//
|
|
235
|
+
// Trading Cards > Pokémon TCG (tier 1)
|
|
247
236
|
{
|
|
248
|
-
id: "category-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
description: "
|
|
252
|
-
rootId: "category-
|
|
253
|
-
parentIds: ["category-
|
|
237
|
+
id: "category-pokemon-tcg",
|
|
238
|
+
slug: "category-pokemon-tcg",
|
|
239
|
+
name: "Pokémon TCG",
|
|
240
|
+
description: "Official Pokémon Trading Card Game product. Booster packs, Elite Trainer Boxes (ETBs), sealed booster boxes, singles, and graded PSA/BGS slabs.",
|
|
241
|
+
rootId: "category-trading-cards",
|
|
242
|
+
parentIds: ["category-trading-cards"],
|
|
254
243
|
childrenIds: [],
|
|
255
244
|
tier: 1,
|
|
256
|
-
path: "
|
|
257
|
-
order:
|
|
245
|
+
path: "trading-cards/pokemon-tcg",
|
|
246
|
+
order: 1,
|
|
258
247
|
isLeaf: true,
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
"product-macbook-pro-16-m3-max-laptops-computers-new-techhub-electronics-1",
|
|
263
|
-
"product-dell-xps-15-laptops-computers-new-techhub-electronics-1",
|
|
264
|
-
"product-apple-ipad-pro-electronics-new-techhub-1",
|
|
265
|
-
],
|
|
266
|
-
auctionCount: 1,
|
|
267
|
-
auctionIds: ["product-macbook-pro-m3-auction-electronics-techhub-1"],
|
|
268
|
-
totalProductCount: 3,
|
|
269
|
-
totalAuctionCount: 1,
|
|
270
|
-
totalItemCount: 4,
|
|
271
|
-
lastUpdated: daysAhead(4),
|
|
272
|
-
},
|
|
248
|
+
position: 0,
|
|
249
|
+
subtreeSize: 1,
|
|
250
|
+
metrics: emptyMetrics,
|
|
273
251
|
isFeatured: true,
|
|
252
|
+
featuredPriority: 4,
|
|
274
253
|
isBrand: false,
|
|
275
|
-
featuredPriority: 3,
|
|
276
254
|
seo: {
|
|
277
|
-
title: "
|
|
278
|
-
description: "
|
|
255
|
+
title: "Pokémon TCG — Cards, Booster Packs & ETBs | LetItRip",
|
|
256
|
+
description: "Shop Pokémon TCG booster packs, Elite Trainer Boxes, sealed boxes, and singles. Charizard ex, Pikachu VMAX, and more.",
|
|
279
257
|
keywords: [
|
|
280
|
-
"
|
|
281
|
-
"
|
|
282
|
-
"
|
|
283
|
-
"
|
|
284
|
-
"
|
|
258
|
+
"pokemon tcg",
|
|
259
|
+
"pokemon cards",
|
|
260
|
+
"booster pack",
|
|
261
|
+
"etb",
|
|
262
|
+
"charizard",
|
|
263
|
+
"pikachu vmax",
|
|
264
|
+
"psa graded",
|
|
285
265
|
],
|
|
286
266
|
},
|
|
287
267
|
display: {
|
|
288
|
-
icon: "
|
|
289
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
268
|
+
icon: "⚡",
|
|
269
|
+
coverImage: "https://images.unsplash.com/photo-1613771404784-3a5686aa2be3?w=800&h=800&fit=crop",
|
|
270
|
+
color: "#fbbf24",
|
|
290
271
|
showInMenu: true,
|
|
291
272
|
showInFooter: true,
|
|
292
273
|
},
|
|
293
274
|
isActive: true,
|
|
294
275
|
isSearchable: true,
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
ancestors: [{ id: "category-electronics", name: "Scale Figures", tier: 0 }],
|
|
276
|
+
createdBy: "user-aryan-kapoor",
|
|
277
|
+
createdAt: daysAgo(400),
|
|
278
|
+
updatedAt: daysAgo(30),
|
|
279
|
+
ancestors: [{ id: "category-trading-cards", name: "Trading Cards", tier: 0 }],
|
|
300
280
|
},
|
|
301
|
-
//
|
|
281
|
+
// Trading Cards > Yu-Gi-Oh! TCG (tier 1)
|
|
302
282
|
{
|
|
303
|
-
id: "category-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
description: "
|
|
307
|
-
rootId: "category-
|
|
308
|
-
parentIds: ["category-
|
|
283
|
+
id: "category-yugioh-tcg",
|
|
284
|
+
slug: "category-yugioh-tcg",
|
|
285
|
+
name: "Yu-Gi-Oh! TCG",
|
|
286
|
+
description: "Konami's Yu-Gi-Oh! Trading Card Game. Booster packs, structure decks, collector tins, secret rare singles, and tournament staples.",
|
|
287
|
+
rootId: "category-trading-cards",
|
|
288
|
+
parentIds: ["category-trading-cards"],
|
|
309
289
|
childrenIds: [],
|
|
310
290
|
tier: 1,
|
|
311
|
-
path: "
|
|
312
|
-
order:
|
|
291
|
+
path: "trading-cards/yugioh-tcg",
|
|
292
|
+
order: 2,
|
|
313
293
|
isLeaf: true,
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
"preorder-chainsaw-man-makima-gsc-techhub-1",
|
|
318
|
-
"preorder-frieren-1-7-alter-techhub-1",
|
|
319
|
-
],
|
|
320
|
-
auctionCount: 4,
|
|
321
|
-
auctionIds: [
|
|
322
|
-
"auction-chainsaw-man-makima-figure-fashion-1",
|
|
323
|
-
"auction-jjk-cobalt-drake-figure-homeessentials-1",
|
|
324
|
-
"auction-fate-saber-alter-figure-techhub-1",
|
|
325
|
-
"auction-rezero-rem-wedding-figure-techhub-1",
|
|
326
|
-
],
|
|
327
|
-
totalProductCount: 2,
|
|
328
|
-
totalAuctionCount: 4,
|
|
329
|
-
totalItemCount: 6,
|
|
330
|
-
lastUpdated: daysAhead(4),
|
|
331
|
-
},
|
|
294
|
+
position: 0,
|
|
295
|
+
subtreeSize: 1,
|
|
296
|
+
metrics: emptyMetrics,
|
|
332
297
|
isFeatured: false,
|
|
333
298
|
isBrand: false,
|
|
334
299
|
seo: {
|
|
335
|
-
title: "
|
|
336
|
-
description: "Shop
|
|
300
|
+
title: "Yu-Gi-Oh! TCG — Cards, Booster Packs & Decks | LetItRip",
|
|
301
|
+
description: "Shop Yu-Gi-Oh! booster packs, structure decks, collector tins, and secret rare singles by Konami.",
|
|
337
302
|
keywords: [
|
|
338
|
-
"
|
|
339
|
-
"
|
|
340
|
-
"
|
|
341
|
-
"
|
|
342
|
-
"rare
|
|
303
|
+
"yugioh",
|
|
304
|
+
"yu-gi-oh cards",
|
|
305
|
+
"konami tcg",
|
|
306
|
+
"structure deck",
|
|
307
|
+
"secret rare",
|
|
308
|
+
"tournament cards",
|
|
343
309
|
],
|
|
344
310
|
},
|
|
345
311
|
display: {
|
|
346
|
-
icon: "
|
|
347
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
312
|
+
icon: "🐉",
|
|
313
|
+
coverImage: "https://images.unsplash.com/photo-1612036782180-6f0b6cd846fe?w=800&h=800&fit=crop",
|
|
348
314
|
showInMenu: true,
|
|
349
315
|
showInFooter: false,
|
|
350
316
|
},
|
|
351
317
|
isActive: true,
|
|
352
318
|
isSearchable: true,
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
ancestors: [{ id: "category-electronics", name: "Scale Figures", tier: 0 }],
|
|
319
|
+
createdBy: "user-nisha-reddy",
|
|
320
|
+
createdAt: daysAgo(400),
|
|
321
|
+
updatedAt: daysAgo(30),
|
|
322
|
+
ancestors: [{ id: "category-trading-cards", name: "Trading Cards", tier: 0 }],
|
|
358
323
|
},
|
|
359
|
-
//
|
|
324
|
+
// Trading Cards > Sealed Product (tier 1)
|
|
360
325
|
{
|
|
361
|
-
id: "category-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
description: "
|
|
365
|
-
rootId: "category-
|
|
366
|
-
parentIds: ["category-
|
|
326
|
+
id: "category-sealed-product",
|
|
327
|
+
slug: "category-sealed-product",
|
|
328
|
+
name: "Sealed Product",
|
|
329
|
+
description: "Sealed booster boxes, collector's tins, Premium Collections, and first-edition sealed sets from all TCG brands. Investment-grade sealed collectibles.",
|
|
330
|
+
rootId: "category-trading-cards",
|
|
331
|
+
parentIds: ["category-trading-cards"],
|
|
367
332
|
childrenIds: [],
|
|
368
333
|
tier: 1,
|
|
369
|
-
path: "
|
|
370
|
-
order:
|
|
334
|
+
path: "trading-cards/sealed-product",
|
|
335
|
+
order: 3,
|
|
371
336
|
isLeaf: true,
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
auctionCount: 5,
|
|
376
|
-
auctionIds: [
|
|
377
|
-
"auction-vintage-canon-ae-1-film-camera-cameras-photography-used-techhub-electronics-1",
|
|
378
|
-
"product-vintage-leica-camera-auction-artisan-1",
|
|
379
|
-
"auction-pokemon-charizard-1st-ed-fashion-1",
|
|
380
|
-
"auction-spirited-away-cel-homeessentials-1",
|
|
381
|
-
"auction-one-piece-signed-artbook-techhub-1",
|
|
382
|
-
],
|
|
383
|
-
totalProductCount: 0,
|
|
384
|
-
totalAuctionCount: 5,
|
|
385
|
-
totalItemCount: 5,
|
|
386
|
-
lastUpdated: daysAhead(4),
|
|
387
|
-
},
|
|
337
|
+
position: 0,
|
|
338
|
+
subtreeSize: 1,
|
|
339
|
+
metrics: emptyMetrics,
|
|
388
340
|
isFeatured: false,
|
|
389
341
|
isBrand: false,
|
|
390
342
|
seo: {
|
|
391
|
-
title: "
|
|
392
|
-
description: "
|
|
343
|
+
title: "Sealed TCG Product — Boxes, Tins & Collections | LetItRip",
|
|
344
|
+
description: "Investment-grade sealed TCG product. Booster boxes, collector tins, and premium collections for Pokémon and Yu-Gi-Oh!.",
|
|
393
345
|
keywords: [
|
|
394
|
-
"
|
|
395
|
-
"
|
|
396
|
-
"
|
|
397
|
-
"
|
|
398
|
-
"
|
|
346
|
+
"sealed booster box",
|
|
347
|
+
"tcg investment",
|
|
348
|
+
"pokemon booster box",
|
|
349
|
+
"collector tin",
|
|
350
|
+
"first edition",
|
|
351
|
+
"sealed set",
|
|
399
352
|
],
|
|
400
353
|
},
|
|
401
354
|
display: {
|
|
402
|
-
icon: "
|
|
403
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
355
|
+
icon: "📦",
|
|
356
|
+
coverImage: "https://images.unsplash.com/photo-1607604276583-eef5d076aa5f?w=800&h=800&fit=crop",
|
|
404
357
|
showInMenu: true,
|
|
405
358
|
showInFooter: false,
|
|
406
359
|
},
|
|
407
360
|
isActive: true,
|
|
408
361
|
isSearchable: true,
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
ancestors: [{ id: "category-electronics", name: "Scale Figures", tier: 0 }],
|
|
362
|
+
createdBy: "user-admin-letitrip",
|
|
363
|
+
createdAt: daysAgo(400),
|
|
364
|
+
updatedAt: daysAgo(30),
|
|
365
|
+
ancestors: [{ id: "category-trading-cards", name: "Trading Cards", tier: 0 }],
|
|
414
366
|
},
|
|
415
|
-
//
|
|
367
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
368
|
+
// ROOT 3: Diecast & Vehicles (tier 0)
|
|
369
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
416
370
|
{
|
|
417
|
-
id: "category-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
description: "
|
|
421
|
-
rootId: "category-
|
|
371
|
+
id: "category-diecast-vehicles",
|
|
372
|
+
slug: "category-diecast-vehicles",
|
|
373
|
+
name: "Diecast & Vehicles",
|
|
374
|
+
description: "Die-cast collectible vehicles — Hot Wheels 1:64 scale cars, Tomica Japanese vehicles, Treasure Hunts, Car Culture sets, and premium diecast.",
|
|
375
|
+
rootId: "category-diecast-vehicles",
|
|
422
376
|
parentIds: [],
|
|
423
377
|
childrenIds: [
|
|
424
|
-
"category-
|
|
425
|
-
"category-
|
|
378
|
+
"category-hot-wheels",
|
|
379
|
+
"category-tomica",
|
|
380
|
+
"category-premium-diecast",
|
|
426
381
|
],
|
|
427
382
|
tier: 0,
|
|
428
|
-
path: "
|
|
429
|
-
order:
|
|
383
|
+
path: "diecast-vehicles",
|
|
384
|
+
order: 3,
|
|
430
385
|
isLeaf: false,
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
auctionCount: 0,
|
|
435
|
-
auctionIds: [],
|
|
436
|
-
totalProductCount: 8,
|
|
437
|
-
totalAuctionCount: 0,
|
|
438
|
-
totalItemCount: 8,
|
|
439
|
-
lastUpdated: daysAhead(4),
|
|
440
|
-
},
|
|
386
|
+
position: 0,
|
|
387
|
+
subtreeSize: 4,
|
|
388
|
+
metrics: emptyMetrics,
|
|
441
389
|
isFeatured: true,
|
|
390
|
+
featuredPriority: 5,
|
|
442
391
|
isBrand: false,
|
|
443
|
-
featuredPriority: 4,
|
|
444
392
|
seo: {
|
|
445
|
-
title: "
|
|
446
|
-
description: "Shop
|
|
393
|
+
title: "Diecast Vehicles — Hot Wheels, Tomica | LetItRip",
|
|
394
|
+
description: "Shop Hot Wheels Treasure Hunts, Car Culture sets, Tomica diecast, and premium 1:18 scale cars.",
|
|
447
395
|
keywords: [
|
|
448
|
-
"
|
|
449
|
-
"
|
|
450
|
-
"
|
|
451
|
-
"
|
|
452
|
-
"
|
|
396
|
+
"hot wheels india",
|
|
397
|
+
"diecast cars",
|
|
398
|
+
"tomica",
|
|
399
|
+
"treasure hunt",
|
|
400
|
+
"car culture",
|
|
401
|
+
"1:64 scale",
|
|
453
402
|
],
|
|
403
|
+
ogImage: "https://images.unsplash.com/photo-1581235720704-06d3acfcb36f?w=1200&h=630&fit=crop",
|
|
454
404
|
},
|
|
455
405
|
display: {
|
|
456
|
-
icon: "
|
|
457
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
458
|
-
color: "#
|
|
406
|
+
icon: "🚗",
|
|
407
|
+
coverImage: "https://images.unsplash.com/photo-1581235720704-06d3acfcb36f?w=800&h=800&fit=crop",
|
|
408
|
+
color: "#ef4444",
|
|
459
409
|
showInMenu: true,
|
|
460
410
|
showInFooter: true,
|
|
461
411
|
},
|
|
462
412
|
isActive: true,
|
|
463
413
|
isSearchable: true,
|
|
464
|
-
showOnHomepage:
|
|
465
|
-
createdBy: "user-admin-
|
|
466
|
-
createdAt: daysAgo(
|
|
467
|
-
updatedAt: daysAgo(
|
|
414
|
+
showOnHomepage: true,
|
|
415
|
+
createdBy: "user-admin-letitrip",
|
|
416
|
+
createdAt: daysAgo(400),
|
|
417
|
+
updatedAt: daysAgo(30),
|
|
468
418
|
ancestors: [],
|
|
469
419
|
},
|
|
470
|
-
//
|
|
420
|
+
// Diecast > Hot Wheels (tier 1)
|
|
471
421
|
{
|
|
472
|
-
id: "category-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
description: "
|
|
476
|
-
rootId: "category-
|
|
477
|
-
parentIds: ["category-
|
|
422
|
+
id: "category-hot-wheels",
|
|
423
|
+
slug: "category-hot-wheels",
|
|
424
|
+
name: "Hot Wheels",
|
|
425
|
+
description: "Mattel Hot Wheels 1:64 scale diecast cars. Mainline, Treasure Hunt (TH), Super Treasure Hunt (STH), Car Culture, Team Transport, and RLC exclusives.",
|
|
426
|
+
rootId: "category-diecast-vehicles",
|
|
427
|
+
parentIds: ["category-diecast-vehicles"],
|
|
478
428
|
childrenIds: [],
|
|
479
429
|
tier: 1,
|
|
480
|
-
path: "
|
|
430
|
+
path: "diecast-vehicles/hot-wheels",
|
|
481
431
|
order: 1,
|
|
482
432
|
isLeaf: true,
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
"product-mens-cotton-casual-shirt-mens-fashion-new-fashion-boutique-1",
|
|
487
|
-
"product-mens-oxford-shirt-fashion-new-fashionboutique-1",
|
|
488
|
-
"product-mens-slim-chinos-fashion-new-fashionboutique-1",
|
|
489
|
-
"product-mens-leather-derby-shoes-fashion-new-fashionboutique-1",
|
|
490
|
-
],
|
|
491
|
-
auctionCount: 0,
|
|
492
|
-
auctionIds: [],
|
|
493
|
-
totalProductCount: 4,
|
|
494
|
-
totalAuctionCount: 0,
|
|
495
|
-
totalItemCount: 4,
|
|
496
|
-
lastUpdated: daysAhead(4),
|
|
497
|
-
},
|
|
433
|
+
position: 0,
|
|
434
|
+
subtreeSize: 1,
|
|
435
|
+
metrics: emptyMetrics,
|
|
498
436
|
isFeatured: true,
|
|
437
|
+
featuredPriority: 6,
|
|
499
438
|
isBrand: false,
|
|
500
|
-
featuredPriority: 5,
|
|
501
439
|
seo: {
|
|
502
|
-
title: "
|
|
503
|
-
description: "Shop
|
|
440
|
+
title: "Hot Wheels — Treasure Hunt, Car Culture, RLC | LetItRip",
|
|
441
|
+
description: "Shop Hot Wheels Mainline, Treasure Hunt, Super Treasure Hunt, Car Culture, and exclusive RLC sets.",
|
|
504
442
|
keywords: [
|
|
505
|
-
"
|
|
506
|
-
"
|
|
507
|
-
"
|
|
508
|
-
"
|
|
509
|
-
"
|
|
443
|
+
"hot wheels",
|
|
444
|
+
"treasure hunt",
|
|
445
|
+
"super treasure hunt",
|
|
446
|
+
"car culture",
|
|
447
|
+
"hot wheels india",
|
|
448
|
+
"rlc",
|
|
510
449
|
],
|
|
511
450
|
},
|
|
512
451
|
display: {
|
|
513
|
-
icon: "
|
|
514
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
452
|
+
icon: "🔥",
|
|
453
|
+
coverImage: "https://images.unsplash.com/photo-1581235720704-06d3acfcb36f?w=800&h=800&fit=crop",
|
|
454
|
+
color: "#ef4444",
|
|
515
455
|
showInMenu: true,
|
|
516
456
|
showInFooter: true,
|
|
517
457
|
},
|
|
518
458
|
isActive: true,
|
|
519
459
|
isSearchable: true,
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
ancestors: [{ id: "category-fashion", name: "Cosplay & Apparel", tier: 0 }],
|
|
460
|
+
createdBy: "user-vikram-mehta",
|
|
461
|
+
createdAt: daysAgo(400),
|
|
462
|
+
updatedAt: daysAgo(30),
|
|
463
|
+
ancestors: [{ id: "category-diecast-vehicles", name: "Diecast & Vehicles", tier: 0 }],
|
|
525
464
|
},
|
|
526
|
-
//
|
|
465
|
+
// Diecast > Tomica (tier 1)
|
|
527
466
|
{
|
|
528
|
-
id: "category-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
description: "
|
|
532
|
-
rootId: "category-
|
|
533
|
-
parentIds: ["category-
|
|
467
|
+
id: "category-tomica",
|
|
468
|
+
slug: "category-tomica",
|
|
469
|
+
name: "Tomica",
|
|
470
|
+
description: "Takara Tomy's Tomica 1:64 Japanese diecast cars. Standard Tomica, Tomica Premium, Tomica Limited Vintage, and Disney collaboration sets.",
|
|
471
|
+
rootId: "category-diecast-vehicles",
|
|
472
|
+
parentIds: ["category-diecast-vehicles"],
|
|
534
473
|
childrenIds: [],
|
|
535
474
|
tier: 1,
|
|
536
|
-
path: "
|
|
475
|
+
path: "diecast-vehicles/tomica",
|
|
537
476
|
order: 2,
|
|
538
477
|
isLeaf: true,
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
"product-womens-anarkali-kurta-fashion-new-fashionboutique-1",
|
|
544
|
-
"product-womens-casual-midi-dress-fashion-new-fashionboutique-1",
|
|
545
|
-
"product-womens-structured-tote-bag-fashion-new-fashionboutique-1",
|
|
546
|
-
],
|
|
547
|
-
auctionCount: 0,
|
|
548
|
-
auctionIds: [],
|
|
549
|
-
totalProductCount: 4,
|
|
550
|
-
totalAuctionCount: 0,
|
|
551
|
-
totalItemCount: 4,
|
|
552
|
-
lastUpdated: daysAhead(4),
|
|
553
|
-
},
|
|
554
|
-
isFeatured: true,
|
|
478
|
+
position: 0,
|
|
479
|
+
subtreeSize: 1,
|
|
480
|
+
metrics: emptyMetrics,
|
|
481
|
+
isFeatured: false,
|
|
555
482
|
isBrand: false,
|
|
556
|
-
featuredPriority: 6,
|
|
557
483
|
seo: {
|
|
558
|
-
title: "
|
|
559
|
-
description: "Shop
|
|
484
|
+
title: "Tomica Diecast — Tomica Premium & Limited Vintage | LetItRip",
|
|
485
|
+
description: "Shop Tomica Standard, Tomica Premium, and Tomica Limited Vintage diecast cars by Takara Tomy.",
|
|
560
486
|
keywords: [
|
|
561
|
-
"
|
|
562
|
-
"
|
|
563
|
-
"
|
|
564
|
-
"
|
|
565
|
-
"
|
|
487
|
+
"tomica",
|
|
488
|
+
"tomica premium",
|
|
489
|
+
"tomica limited vintage",
|
|
490
|
+
"takara tomy",
|
|
491
|
+
"japanese diecast",
|
|
566
492
|
],
|
|
567
493
|
},
|
|
568
494
|
display: {
|
|
569
|
-
icon: "
|
|
570
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
495
|
+
icon: "🚕",
|
|
496
|
+
coverImage: "https://images.unsplash.com/photo-1566576912321-d58ddd7a6088?w=800&h=800&fit=crop",
|
|
571
497
|
showInMenu: true,
|
|
572
|
-
showInFooter:
|
|
498
|
+
showInFooter: false,
|
|
573
499
|
},
|
|
574
500
|
isActive: true,
|
|
575
501
|
isSearchable: true,
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
ancestors: [{ id: "category-fashion", name: "Cosplay & Apparel", tier: 0 }],
|
|
502
|
+
createdBy: "user-admin-letitrip",
|
|
503
|
+
createdAt: daysAgo(400),
|
|
504
|
+
updatedAt: daysAgo(30),
|
|
505
|
+
ancestors: [{ id: "category-diecast-vehicles", name: "Diecast & Vehicles", tier: 0 }],
|
|
581
506
|
},
|
|
582
|
-
//
|
|
507
|
+
// Diecast > Premium Diecast (tier 1)
|
|
583
508
|
{
|
|
584
|
-
id: "category-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
description: "
|
|
588
|
-
rootId: "category-
|
|
589
|
-
parentIds: [],
|
|
509
|
+
id: "category-premium-diecast",
|
|
510
|
+
slug: "category-premium-diecast",
|
|
511
|
+
name: "Premium Diecast",
|
|
512
|
+
description: "Premium 1:18 and 1:43 scale diecast from Maisto, Bburago, Kyosho, and AutoArt. Museum-quality replica cars including F1 and supercars.",
|
|
513
|
+
rootId: "category-diecast-vehicles",
|
|
514
|
+
parentIds: ["category-diecast-vehicles"],
|
|
590
515
|
childrenIds: [],
|
|
591
|
-
tier:
|
|
592
|
-
path: "
|
|
516
|
+
tier: 1,
|
|
517
|
+
path: "diecast-vehicles/premium-diecast",
|
|
593
518
|
order: 3,
|
|
594
519
|
isLeaf: true,
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
"product-prestige-pressure-cooker-home-new-homeessentials-1",
|
|
600
|
-
"product-nonstick-cookware-set-home-new-homeessentials-1",
|
|
601
|
-
"product-smart-air-purifier-home-new-homeessentials-1",
|
|
602
|
-
"product-solid-wood-coffee-table-home-new-homeessentials-1",
|
|
603
|
-
],
|
|
604
|
-
auctionCount: 0,
|
|
605
|
-
auctionIds: [],
|
|
606
|
-
totalProductCount: 5,
|
|
607
|
-
totalAuctionCount: 0,
|
|
608
|
-
totalItemCount: 5,
|
|
609
|
-
lastUpdated: daysAhead(4),
|
|
610
|
-
},
|
|
611
|
-
isFeatured: true,
|
|
520
|
+
position: 0,
|
|
521
|
+
subtreeSize: 1,
|
|
522
|
+
metrics: emptyMetrics,
|
|
523
|
+
isFeatured: false,
|
|
612
524
|
isBrand: false,
|
|
613
|
-
featuredPriority: 7,
|
|
614
525
|
seo: {
|
|
615
|
-
title: "
|
|
616
|
-
description: "Shop
|
|
617
|
-
keywords: [
|
|
618
|
-
"nendoroid",
|
|
619
|
-
"garage kit",
|
|
620
|
-
"collectible",
|
|
621
|
-
"display set",
|
|
622
|
-
"ghibli",
|
|
623
|
-
],
|
|
526
|
+
title: "Premium 1:18 Diecast Cars | LetItRip",
|
|
527
|
+
description: "Shop 1:18 and 1:43 scale premium diecast cars from Maisto, Kyosho, and AutoArt. F1 and supercar replicas.",
|
|
528
|
+
keywords: ["1:18 diecast", "premium diecast", "maisto", "kyosho", "autoart", "f1 car"],
|
|
624
529
|
},
|
|
625
530
|
display: {
|
|
626
|
-
icon: "
|
|
627
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
628
|
-
color: "#10b981",
|
|
531
|
+
icon: "🏎️",
|
|
532
|
+
coverImage: "https://images.unsplash.com/photo-1555680202-c86f0e12f086?w=800&h=800&fit=crop",
|
|
629
533
|
showInMenu: true,
|
|
630
|
-
showInFooter:
|
|
534
|
+
showInFooter: false,
|
|
631
535
|
},
|
|
632
536
|
isActive: true,
|
|
633
537
|
isSearchable: true,
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
ancestors: [],
|
|
538
|
+
createdBy: "user-admin-letitrip",
|
|
539
|
+
createdAt: daysAgo(400),
|
|
540
|
+
updatedAt: daysAgo(30),
|
|
541
|
+
ancestors: [{ id: "category-diecast-vehicles", name: "Diecast & Vehicles", tier: 0 }],
|
|
639
542
|
},
|
|
640
|
-
//
|
|
543
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
544
|
+
// ROOT 4: Spinning Tops (tier 0)
|
|
545
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
641
546
|
{
|
|
642
|
-
id: "category-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
description: "
|
|
646
|
-
rootId: "category-
|
|
547
|
+
id: "category-spinning-tops",
|
|
548
|
+
slug: "category-spinning-tops",
|
|
549
|
+
name: "Spinning Tops",
|
|
550
|
+
description: "Competitive Beyblade spinning tops — Beyblade Burst, Beyblade X, Metal Fight Classic. Official Takara Tomy and Hasbro product including launchers and stadiums.",
|
|
551
|
+
rootId: "category-spinning-tops",
|
|
647
552
|
parentIds: [],
|
|
648
|
-
childrenIds: [
|
|
553
|
+
childrenIds: [
|
|
554
|
+
"category-beyblade-burst",
|
|
555
|
+
"category-beyblade-x",
|
|
556
|
+
"category-beyblade-classic",
|
|
557
|
+
],
|
|
649
558
|
tier: 0,
|
|
650
|
-
path: "
|
|
559
|
+
path: "spinning-tops",
|
|
651
560
|
order: 4,
|
|
652
|
-
isLeaf:
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
"product-yoga-mat-with-carrying-bag-sports-outdoors-new-home-essentials-1",
|
|
657
|
-
"product-premium-yoga-mat-sports-new-sportszone-1",
|
|
658
|
-
"product-adjustable-dumbbell-set-sports-new-sportszone-1",
|
|
659
|
-
"product-cricket-bat-mrf-sports-new-sportszone-1",
|
|
660
|
-
"product-running-shoes-adidas-sports-new-sportszone-1",
|
|
661
|
-
],
|
|
662
|
-
auctionCount: 0,
|
|
663
|
-
auctionIds: [],
|
|
664
|
-
totalProductCount: 5,
|
|
665
|
-
totalAuctionCount: 0,
|
|
666
|
-
totalItemCount: 5,
|
|
667
|
-
lastUpdated: daysAhead(4),
|
|
668
|
-
},
|
|
561
|
+
isLeaf: false,
|
|
562
|
+
position: 0,
|
|
563
|
+
subtreeSize: 4,
|
|
564
|
+
metrics: emptyMetrics,
|
|
669
565
|
isFeatured: true,
|
|
566
|
+
featuredPriority: 7,
|
|
670
567
|
isBrand: false,
|
|
671
|
-
featuredPriority: 8,
|
|
672
568
|
seo: {
|
|
673
|
-
title: "
|
|
674
|
-
description: "Shop
|
|
569
|
+
title: "Beyblade — Burst, X & Metal Fight | LetItRip",
|
|
570
|
+
description: "Shop Beyblade Burst, Beyblade X, and Metal Fight Classic tops, launchers, and stadiums. Official Takara Tomy and Hasbro.",
|
|
675
571
|
keywords: [
|
|
676
|
-
"
|
|
677
|
-
"
|
|
678
|
-
"
|
|
679
|
-
"
|
|
680
|
-
"
|
|
572
|
+
"beyblade india",
|
|
573
|
+
"beyblade burst",
|
|
574
|
+
"beyblade x",
|
|
575
|
+
"metal fight",
|
|
576
|
+
"spinning top",
|
|
577
|
+
"takara tomy beyblade",
|
|
681
578
|
],
|
|
579
|
+
ogImage: "https://images.unsplash.com/photo-1555680202-c86f0e12f086?w=1200&h=630&fit=crop",
|
|
682
580
|
},
|
|
683
581
|
display: {
|
|
684
|
-
icon: "
|
|
685
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
686
|
-
color: "#
|
|
582
|
+
icon: "🌀",
|
|
583
|
+
coverImage: "https://images.unsplash.com/photo-1555680202-c86f0e12f086?w=800&h=800&fit=crop",
|
|
584
|
+
color: "#8b5cf6",
|
|
687
585
|
showInMenu: true,
|
|
688
586
|
showInFooter: true,
|
|
689
587
|
},
|
|
690
588
|
isActive: true,
|
|
691
589
|
isSearchable: true,
|
|
692
|
-
showOnHomepage:
|
|
693
|
-
createdBy: "user-admin-
|
|
694
|
-
createdAt: daysAgo(
|
|
695
|
-
updatedAt: daysAgo(
|
|
590
|
+
showOnHomepage: true,
|
|
591
|
+
createdBy: "user-admin-letitrip",
|
|
592
|
+
createdAt: daysAgo(400),
|
|
593
|
+
updatedAt: daysAgo(30),
|
|
696
594
|
ancestors: [],
|
|
697
595
|
},
|
|
698
|
-
//
|
|
596
|
+
// Spinning Tops > Beyblade Burst (tier 1)
|
|
699
597
|
{
|
|
700
|
-
id: "category-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
description: "
|
|
704
|
-
rootId: "category-
|
|
705
|
-
parentIds: [],
|
|
598
|
+
id: "category-beyblade-burst",
|
|
599
|
+
slug: "category-beyblade-burst",
|
|
600
|
+
name: "Beyblade Burst",
|
|
601
|
+
description: "Beyblade Burst series — Burst, Burst GT, Burst Rise, Burst Sparking, Burst QuadStrike. Layers, discs, drivers, launchers, and combo sets.",
|
|
602
|
+
rootId: "category-spinning-tops",
|
|
603
|
+
parentIds: ["category-spinning-tops"],
|
|
706
604
|
childrenIds: [],
|
|
707
|
-
tier:
|
|
708
|
-
path: "
|
|
709
|
-
order:
|
|
605
|
+
tier: 1,
|
|
606
|
+
path: "spinning-tops/beyblade-burst",
|
|
607
|
+
order: 1,
|
|
710
608
|
isLeaf: true,
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
auctionCount: 0,
|
|
715
|
-
auctionIds: [],
|
|
716
|
-
totalProductCount: 0,
|
|
717
|
-
totalAuctionCount: 0,
|
|
718
|
-
totalItemCount: 0,
|
|
719
|
-
lastUpdated: daysAgo(29),
|
|
720
|
-
},
|
|
609
|
+
position: 0,
|
|
610
|
+
subtreeSize: 1,
|
|
611
|
+
metrics: emptyMetrics,
|
|
721
612
|
isFeatured: true,
|
|
613
|
+
featuredPriority: 8,
|
|
722
614
|
isBrand: false,
|
|
723
|
-
featuredPriority: 9,
|
|
724
615
|
seo: {
|
|
725
|
-
title: "
|
|
726
|
-
description: "Shop
|
|
727
|
-
keywords: [
|
|
616
|
+
title: "Beyblade Burst — All Series | LetItRip",
|
|
617
|
+
description: "Shop Beyblade Burst series tops, launchers, and stadiums. GT, Rise, Sparking, and QuadStrike lines.",
|
|
618
|
+
keywords: [
|
|
619
|
+
"beyblade burst",
|
|
620
|
+
"burst gt",
|
|
621
|
+
"burst rise",
|
|
622
|
+
"burst sparking",
|
|
623
|
+
"quadstrike",
|
|
624
|
+
"beyblade combo",
|
|
625
|
+
],
|
|
728
626
|
},
|
|
729
627
|
display: {
|
|
730
|
-
icon: "
|
|
731
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
732
|
-
color: "#
|
|
628
|
+
icon: "💥",
|
|
629
|
+
coverImage: "https://images.unsplash.com/photo-1555680202-c86f0e12f086?w=800&h=800&fit=crop",
|
|
630
|
+
color: "#8b5cf6",
|
|
733
631
|
showInMenu: true,
|
|
734
632
|
showInFooter: true,
|
|
735
633
|
},
|
|
736
634
|
isActive: true,
|
|
737
635
|
isSearchable: true,
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
ancestors: [],
|
|
636
|
+
createdBy: "user-admin-letitrip",
|
|
637
|
+
createdAt: daysAgo(400),
|
|
638
|
+
updatedAt: daysAgo(30),
|
|
639
|
+
ancestors: [{ id: "category-spinning-tops", name: "Spinning Tops", tier: 0 }],
|
|
743
640
|
},
|
|
744
|
-
//
|
|
641
|
+
// Spinning Tops > Beyblade X (tier 1)
|
|
745
642
|
{
|
|
746
|
-
id: "category-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
description: "
|
|
750
|
-
rootId: "category-
|
|
751
|
-
parentIds: [],
|
|
643
|
+
id: "category-beyblade-x",
|
|
644
|
+
slug: "category-beyblade-x",
|
|
645
|
+
name: "Beyblade X",
|
|
646
|
+
description: "The latest generation of Beyblade — Beyblade X. Features the X-Line rail and Extreme Dash mechanic. Official Takara Tomy starter sets, booster packs, and XStadium.",
|
|
647
|
+
rootId: "category-spinning-tops",
|
|
648
|
+
parentIds: ["category-spinning-tops"],
|
|
752
649
|
childrenIds: [],
|
|
753
|
-
tier:
|
|
754
|
-
path: "
|
|
755
|
-
order:
|
|
650
|
+
tier: 1,
|
|
651
|
+
path: "spinning-tops/beyblade-x",
|
|
652
|
+
order: 2,
|
|
756
653
|
isLeaf: true,
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
auctionCount: 0,
|
|
761
|
-
auctionIds: [],
|
|
762
|
-
totalProductCount: 0,
|
|
763
|
-
totalAuctionCount: 0,
|
|
764
|
-
totalItemCount: 0,
|
|
765
|
-
lastUpdated: daysAgo(29),
|
|
766
|
-
},
|
|
654
|
+
position: 0,
|
|
655
|
+
subtreeSize: 1,
|
|
656
|
+
metrics: emptyMetrics,
|
|
767
657
|
isFeatured: true,
|
|
658
|
+
featuredPriority: 9,
|
|
768
659
|
isBrand: false,
|
|
769
|
-
featuredPriority: 10,
|
|
770
660
|
seo: {
|
|
771
|
-
title: "
|
|
772
|
-
description: "Shop
|
|
773
|
-
keywords: [
|
|
661
|
+
title: "Beyblade X — Latest Gen Tops & Launchers | LetItRip",
|
|
662
|
+
description: "Shop Beyblade X generation tops, X-Line launchers, XStadium, and booster packs by Takara Tomy.",
|
|
663
|
+
keywords: [
|
|
664
|
+
"beyblade x",
|
|
665
|
+
"bx",
|
|
666
|
+
"extreme dash",
|
|
667
|
+
"xstadium",
|
|
668
|
+
"dran sword",
|
|
669
|
+
"takara tomy bx",
|
|
670
|
+
],
|
|
774
671
|
},
|
|
775
672
|
display: {
|
|
776
|
-
icon: "
|
|
777
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
778
|
-
color: "#
|
|
673
|
+
icon: "⚔️",
|
|
674
|
+
coverImage: "https://images.unsplash.com/photo-1612287230202-1ff1d85d1bdf?w=800&h=800&fit=crop",
|
|
675
|
+
color: "#e11d48",
|
|
779
676
|
showInMenu: true,
|
|
780
|
-
showInFooter:
|
|
677
|
+
showInFooter: false,
|
|
781
678
|
},
|
|
782
679
|
isActive: true,
|
|
783
680
|
isSearchable: true,
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
ancestors: [],
|
|
681
|
+
createdBy: "user-rohit-joshi",
|
|
682
|
+
createdAt: daysAgo(400),
|
|
683
|
+
updatedAt: daysAgo(30),
|
|
684
|
+
ancestors: [{ id: "category-spinning-tops", name: "Spinning Tops", tier: 0 }],
|
|
789
685
|
},
|
|
790
|
-
//
|
|
686
|
+
// Spinning Tops > Metal Fight Classic (tier 1)
|
|
791
687
|
{
|
|
792
|
-
id: "category-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
description: "
|
|
796
|
-
rootId: "category-
|
|
797
|
-
parentIds: [],
|
|
688
|
+
id: "category-beyblade-classic",
|
|
689
|
+
slug: "category-beyblade-classic",
|
|
690
|
+
name: "Metal Fight Classic",
|
|
691
|
+
description: "Original Beyblade and Metal Fight Beyblade series. Collector and tournament condition tops — Pegasis, Leone, Libra. Rare Japanese editions and vintage MFB.",
|
|
692
|
+
rootId: "category-spinning-tops",
|
|
693
|
+
parentIds: ["category-spinning-tops"],
|
|
798
694
|
childrenIds: [],
|
|
799
|
-
tier:
|
|
800
|
-
path: "
|
|
801
|
-
order:
|
|
695
|
+
tier: 1,
|
|
696
|
+
path: "spinning-tops/beyblade-classic",
|
|
697
|
+
order: 3,
|
|
802
698
|
isLeaf: true,
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
auctionIds: [],
|
|
808
|
-
totalProductCount: 0,
|
|
809
|
-
totalAuctionCount: 0,
|
|
810
|
-
totalItemCount: 0,
|
|
811
|
-
lastUpdated: daysAgo(29),
|
|
812
|
-
},
|
|
813
|
-
isFeatured: true,
|
|
699
|
+
position: 0,
|
|
700
|
+
subtreeSize: 1,
|
|
701
|
+
metrics: emptyMetrics,
|
|
702
|
+
isFeatured: false,
|
|
814
703
|
isBrand: false,
|
|
815
|
-
featuredPriority: 11,
|
|
816
704
|
seo: {
|
|
817
|
-
title: "
|
|
818
|
-
description: "Shop
|
|
819
|
-
keywords: [
|
|
705
|
+
title: "Metal Fight Beyblade & Classic Series | LetItRip",
|
|
706
|
+
description: "Shop Metal Fight Beyblade and original plastic-gen tops. Pegasis, Leone, Libra, and rare Japanese editions.",
|
|
707
|
+
keywords: [
|
|
708
|
+
"metal fight beyblade",
|
|
709
|
+
"mfb",
|
|
710
|
+
"classic beyblade",
|
|
711
|
+
"pegasis",
|
|
712
|
+
"leone",
|
|
713
|
+
"vintage beyblade",
|
|
714
|
+
],
|
|
820
715
|
},
|
|
821
716
|
display: {
|
|
822
|
-
icon: "
|
|
823
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
824
|
-
color: "#6b7280",
|
|
717
|
+
icon: "🌟",
|
|
718
|
+
coverImage: "https://images.unsplash.com/photo-1555680202-c86f0e12f086?w=800&h=800&fit=crop",
|
|
825
719
|
showInMenu: true,
|
|
826
720
|
showInFooter: false,
|
|
827
721
|
},
|
|
828
722
|
isActive: true,
|
|
829
723
|
isSearchable: true,
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
ancestors: [],
|
|
724
|
+
createdBy: "user-admin-letitrip",
|
|
725
|
+
createdAt: daysAgo(400),
|
|
726
|
+
updatedAt: daysAgo(30),
|
|
727
|
+
ancestors: [{ id: "category-spinning-tops", name: "Spinning Tops", tier: 0 }],
|
|
835
728
|
},
|
|
836
|
-
//
|
|
729
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
730
|
+
// ROOT 5: Model Kits & Gunpla (tier 0)
|
|
731
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
837
732
|
{
|
|
838
|
-
id: "category-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
description: "
|
|
842
|
-
rootId: "category-
|
|
733
|
+
id: "category-model-kits",
|
|
734
|
+
slug: "category-model-kits",
|
|
735
|
+
name: "Model Kits & Gunpla",
|
|
736
|
+
description: "Gundam plastic model kits (Gunpla) — High Grade (HG), Master Grade (MG), Real Grade (RG), and Perfect Grade (PG). Non-Gundam kits from Kotobukiya, Bandai, and Hasegawa.",
|
|
737
|
+
rootId: "category-model-kits",
|
|
843
738
|
parentIds: [],
|
|
844
|
-
childrenIds: [
|
|
739
|
+
childrenIds: [
|
|
740
|
+
"category-gunpla",
|
|
741
|
+
"category-non-gundam-kits",
|
|
742
|
+
],
|
|
845
743
|
tier: 0,
|
|
846
|
-
path: "
|
|
847
|
-
order:
|
|
848
|
-
isLeaf:
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
auctionCount: 0,
|
|
853
|
-
auctionIds: [],
|
|
854
|
-
totalProductCount: 0,
|
|
855
|
-
totalAuctionCount: 0,
|
|
856
|
-
totalItemCount: 0,
|
|
857
|
-
lastUpdated: daysAgo(29),
|
|
858
|
-
},
|
|
744
|
+
path: "model-kits",
|
|
745
|
+
order: 5,
|
|
746
|
+
isLeaf: false,
|
|
747
|
+
position: 0,
|
|
748
|
+
subtreeSize: 3,
|
|
749
|
+
metrics: emptyMetrics,
|
|
859
750
|
isFeatured: true,
|
|
751
|
+
featuredPriority: 10,
|
|
860
752
|
isBrand: false,
|
|
861
|
-
featuredPriority: 12,
|
|
862
753
|
seo: {
|
|
863
|
-
title: "
|
|
864
|
-
description: "Shop
|
|
865
|
-
keywords: [
|
|
754
|
+
title: "Model Kits & Gunpla | LetItRip",
|
|
755
|
+
description: "Shop Gunpla HG, MG, RG, and PG model kits. Non-Gundam kits from Kotobukiya and Hasegawa. Build-and-display collectibles.",
|
|
756
|
+
keywords: [
|
|
757
|
+
"gunpla",
|
|
758
|
+
"gundam model kit",
|
|
759
|
+
"high grade",
|
|
760
|
+
"master grade",
|
|
761
|
+
"perfect grade",
|
|
762
|
+
"model kit india",
|
|
763
|
+
],
|
|
764
|
+
ogImage: "https://images.unsplash.com/photo-1657664072470-99b02c2143f2?w=1200&h=630&fit=crop",
|
|
866
765
|
},
|
|
867
766
|
display: {
|
|
868
|
-
icon: "
|
|
869
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
870
|
-
color: "#
|
|
767
|
+
icon: "🤖",
|
|
768
|
+
coverImage: "https://images.unsplash.com/photo-1657664072470-99b02c2143f2?w=800&h=800&fit=crop",
|
|
769
|
+
color: "#10b981",
|
|
871
770
|
showInMenu: true,
|
|
872
771
|
showInFooter: true,
|
|
873
772
|
},
|
|
874
773
|
isActive: true,
|
|
875
774
|
isSearchable: true,
|
|
876
|
-
showOnHomepage:
|
|
877
|
-
createdBy: "user-admin-
|
|
878
|
-
createdAt: daysAgo(
|
|
879
|
-
updatedAt: daysAgo(
|
|
775
|
+
showOnHomepage: true,
|
|
776
|
+
createdBy: "user-admin-letitrip",
|
|
777
|
+
createdAt: daysAgo(400),
|
|
778
|
+
updatedAt: daysAgo(30),
|
|
880
779
|
ancestors: [],
|
|
881
780
|
},
|
|
882
|
-
//
|
|
781
|
+
// Model Kits > Gunpla (tier 1)
|
|
883
782
|
{
|
|
884
|
-
id: "category-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
description: "
|
|
888
|
-
rootId: "category-
|
|
889
|
-
parentIds: [],
|
|
783
|
+
id: "category-gunpla",
|
|
784
|
+
slug: "category-gunpla",
|
|
785
|
+
name: "Gunpla",
|
|
786
|
+
description: "Official Bandai Gundam Plastic Model Kits. HG (High Grade), RG (Real Grade), MG (Master Grade), PG (Perfect Grade), and SD Gundam kits. Entry-grade and panel-lined pre-built options available.",
|
|
787
|
+
rootId: "category-model-kits",
|
|
788
|
+
parentIds: ["category-model-kits"],
|
|
890
789
|
childrenIds: [],
|
|
891
|
-
tier:
|
|
892
|
-
path: "
|
|
893
|
-
order:
|
|
790
|
+
tier: 1,
|
|
791
|
+
path: "model-kits/gunpla",
|
|
792
|
+
order: 1,
|
|
894
793
|
isLeaf: true,
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
auctionCount: 0,
|
|
899
|
-
auctionIds: [],
|
|
900
|
-
totalProductCount: 0,
|
|
901
|
-
totalAuctionCount: 0,
|
|
902
|
-
totalItemCount: 0,
|
|
903
|
-
lastUpdated: daysAgo(29),
|
|
904
|
-
},
|
|
794
|
+
position: 0,
|
|
795
|
+
subtreeSize: 1,
|
|
796
|
+
metrics: emptyMetrics,
|
|
905
797
|
isFeatured: true,
|
|
798
|
+
featuredPriority: 11,
|
|
906
799
|
isBrand: false,
|
|
907
|
-
featuredPriority: 13,
|
|
908
800
|
seo: {
|
|
909
|
-
title: "
|
|
910
|
-
description: "Shop
|
|
911
|
-
keywords: [
|
|
801
|
+
title: "Gunpla — HG, MG, RG, PG Gundam Model Kits | LetItRip",
|
|
802
|
+
description: "Shop Gunpla High Grade, Real Grade, Master Grade, and Perfect Grade kits. Wing Zero, RX-78-2, Strike Freedom, and more.",
|
|
803
|
+
keywords: [
|
|
804
|
+
"gunpla",
|
|
805
|
+
"high grade",
|
|
806
|
+
"master grade",
|
|
807
|
+
"real grade",
|
|
808
|
+
"perfect grade",
|
|
809
|
+
"wing zero",
|
|
810
|
+
"rx-78-2",
|
|
811
|
+
],
|
|
912
812
|
},
|
|
913
813
|
display: {
|
|
914
|
-
icon: "
|
|
915
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
916
|
-
color: "#
|
|
814
|
+
icon: "⚙️",
|
|
815
|
+
coverImage: "https://images.unsplash.com/photo-1657664072470-99b02c2143f2?w=800&h=800&fit=crop",
|
|
816
|
+
color: "#10b981",
|
|
917
817
|
showInMenu: true,
|
|
918
|
-
showInFooter:
|
|
818
|
+
showInFooter: true,
|
|
919
819
|
},
|
|
920
820
|
isActive: true,
|
|
921
821
|
isSearchable: true,
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
ancestors: [],
|
|
822
|
+
createdBy: "user-amit-sharma",
|
|
823
|
+
createdAt: daysAgo(400),
|
|
824
|
+
updatedAt: daysAgo(30),
|
|
825
|
+
ancestors: [{ id: "category-model-kits", name: "Model Kits & Gunpla", tier: 0 }],
|
|
927
826
|
},
|
|
928
|
-
//
|
|
827
|
+
// Model Kits > Non-Gundam Kits (tier 1)
|
|
929
828
|
{
|
|
930
|
-
id: "category-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
description: "
|
|
934
|
-
rootId: "category-
|
|
935
|
-
parentIds: [],
|
|
829
|
+
id: "category-non-gundam-kits",
|
|
830
|
+
slug: "category-non-gundam-kits",
|
|
831
|
+
name: "Non-Gundam Kits",
|
|
832
|
+
description: "Non-Gundam plastic model kits — Kotobukiya Frame Arms and Megami Device, Bandai Star Wars and Ultraman kits, Hasegawa sci-fi and aircraft models.",
|
|
833
|
+
rootId: "category-model-kits",
|
|
834
|
+
parentIds: ["category-model-kits"],
|
|
936
835
|
childrenIds: [],
|
|
937
|
-
tier:
|
|
938
|
-
path: "
|
|
939
|
-
order:
|
|
836
|
+
tier: 1,
|
|
837
|
+
path: "model-kits/non-gundam-kits",
|
|
838
|
+
order: 2,
|
|
940
839
|
isLeaf: true,
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
auctionIds: [],
|
|
946
|
-
totalProductCount: 0,
|
|
947
|
-
totalAuctionCount: 0,
|
|
948
|
-
totalItemCount: 0,
|
|
949
|
-
lastUpdated: daysAgo(29),
|
|
950
|
-
},
|
|
951
|
-
isFeatured: true,
|
|
840
|
+
position: 0,
|
|
841
|
+
subtreeSize: 1,
|
|
842
|
+
metrics: emptyMetrics,
|
|
843
|
+
isFeatured: false,
|
|
952
844
|
isBrand: false,
|
|
953
|
-
featuredPriority: 14,
|
|
954
845
|
seo: {
|
|
955
|
-
title: "
|
|
956
|
-
description: "Shop
|
|
957
|
-
keywords: [
|
|
846
|
+
title: "Non-Gundam Model Kits — Frame Arms, Star Wars | LetItRip",
|
|
847
|
+
description: "Shop Kotobukiya Frame Arms, Megami Device, Bandai Star Wars model kits, and Hasegawa aircraft.",
|
|
848
|
+
keywords: [
|
|
849
|
+
"frame arms",
|
|
850
|
+
"megami device",
|
|
851
|
+
"kotobukiya kit",
|
|
852
|
+
"star wars model kit",
|
|
853
|
+
"hasegawa",
|
|
854
|
+
"non-gundam",
|
|
855
|
+
],
|
|
958
856
|
},
|
|
959
857
|
display: {
|
|
960
|
-
icon: "
|
|
961
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
962
|
-
color: "#059669",
|
|
858
|
+
icon: "🔩",
|
|
859
|
+
coverImage: "https://images.unsplash.com/photo-1599409636295-e3cf3538f212?w=800&h=800&fit=crop",
|
|
963
860
|
showInMenu: true,
|
|
964
861
|
showInFooter: false,
|
|
965
862
|
},
|
|
966
863
|
isActive: true,
|
|
967
864
|
isSearchable: true,
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
ancestors: [],
|
|
865
|
+
createdBy: "user-admin-letitrip",
|
|
866
|
+
createdAt: daysAgo(400),
|
|
867
|
+
updatedAt: daysAgo(30),
|
|
868
|
+
ancestors: [{ id: "category-model-kits", name: "Model Kits & Gunpla", tier: 0 }],
|
|
973
869
|
},
|
|
974
|
-
//
|
|
870
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
871
|
+
// ROOT 6: Vintage & Rare (tier 0)
|
|
872
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
975
873
|
{
|
|
976
|
-
id: "category-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
description: "
|
|
980
|
-
rootId: "category-
|
|
874
|
+
id: "category-vintage-rare",
|
|
875
|
+
slug: "category-vintage-rare",
|
|
876
|
+
name: "Vintage & Rare",
|
|
877
|
+
description: "Rare, vintage, and limited-edition collectibles. 1st-edition Pokémon cards, original-run Beyblade tops, production cels, signed merchandise, and graded slabs.",
|
|
878
|
+
rootId: "category-vintage-rare",
|
|
981
879
|
parentIds: [],
|
|
982
|
-
childrenIds: [
|
|
880
|
+
childrenIds: [
|
|
881
|
+
"category-vintage-tcg",
|
|
882
|
+
"category-vintage-figures",
|
|
883
|
+
"category-limited-exclusives",
|
|
884
|
+
],
|
|
983
885
|
tier: 0,
|
|
984
|
-
path: "
|
|
985
|
-
order:
|
|
986
|
-
isLeaf:
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
"product-iphone-15-pro-max-smartphones-new-techhub-electronics-1",
|
|
991
|
-
"product-macbook-pro-16-m3-max-laptops-computers-new-techhub-electronics-1",
|
|
992
|
-
"product-sony-wh-1000xm5-headphones-audio-new-techhub-electronics-1",
|
|
993
|
-
],
|
|
994
|
-
auctionCount: 2,
|
|
995
|
-
auctionIds: [
|
|
996
|
-
"auction-iphone15-sealed-bundle-techhub-1",
|
|
997
|
-
"product-macbook-pro-m3-auction-electronics-techhub-1",
|
|
998
|
-
],
|
|
999
|
-
totalProductCount: 3,
|
|
1000
|
-
totalAuctionCount: 2,
|
|
1001
|
-
totalItemCount: 5,
|
|
1002
|
-
lastUpdated: daysAgo(3),
|
|
1003
|
-
},
|
|
886
|
+
path: "vintage-rare",
|
|
887
|
+
order: 6,
|
|
888
|
+
isLeaf: false,
|
|
889
|
+
position: 0,
|
|
890
|
+
subtreeSize: 4,
|
|
891
|
+
metrics: emptyMetrics,
|
|
1004
892
|
isFeatured: false,
|
|
1005
|
-
isBrand:
|
|
893
|
+
isBrand: false,
|
|
1006
894
|
seo: {
|
|
1007
|
-
title: "
|
|
1008
|
-
description: "Shop
|
|
1009
|
-
keywords: [
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
showInMenu: false,
|
|
1017
|
-
showInFooter: false,
|
|
1018
|
-
},
|
|
1019
|
-
isActive: true,
|
|
1020
|
-
isSearchable: true,
|
|
1021
|
-
showOnHomepage: false,
|
|
1022
|
-
createdBy: "user-admin-user-admin",
|
|
1023
|
-
createdAt: daysAgo(799),
|
|
1024
|
-
updatedAt: daysAgo(3),
|
|
1025
|
-
ancestors: [],
|
|
1026
|
-
},
|
|
1027
|
-
// BRAND: Samsung
|
|
1028
|
-
{
|
|
1029
|
-
id: "category-brand-samsung",
|
|
1030
|
-
name: "Samsung",
|
|
1031
|
-
slug: "samsung",
|
|
1032
|
-
description: "Samsung electronics including smartphones, TVs, and home appliances",
|
|
1033
|
-
rootId: "category-brand-samsung",
|
|
1034
|
-
parentIds: [],
|
|
1035
|
-
childrenIds: [],
|
|
1036
|
-
tier: 0,
|
|
1037
|
-
path: "brand/samsung",
|
|
1038
|
-
order: 2,
|
|
1039
|
-
isLeaf: true,
|
|
1040
|
-
metrics: {
|
|
1041
|
-
productCount: 2,
|
|
1042
|
-
productIds: [
|
|
1043
|
-
"product-samsung-galaxy-s24-ultra-smartphones-new-techhub-electronics-1",
|
|
1044
|
-
"product-google-pixel-8-pro-smartphones-new-techhub-electronics-1",
|
|
895
|
+
title: "Vintage & Rare Collectibles | LetItRip",
|
|
896
|
+
description: "Shop rare vintage collectibles — 1st edition Pokémon cards, graded slabs, original anime cels, and limited exclusives.",
|
|
897
|
+
keywords: [
|
|
898
|
+
"vintage collectibles",
|
|
899
|
+
"rare collectibles",
|
|
900
|
+
"1st edition pokemon",
|
|
901
|
+
"graded slab",
|
|
902
|
+
"anime cel",
|
|
903
|
+
"limited edition",
|
|
1045
904
|
],
|
|
1046
|
-
|
|
1047
|
-
auctionIds: [],
|
|
1048
|
-
totalProductCount: 2,
|
|
1049
|
-
totalAuctionCount: 0,
|
|
1050
|
-
totalItemCount: 2,
|
|
1051
|
-
lastUpdated: daysAgo(3),
|
|
1052
|
-
},
|
|
1053
|
-
isFeatured: false,
|
|
1054
|
-
isBrand: true,
|
|
1055
|
-
seo: {
|
|
1056
|
-
title: "Samsung Products | LetItRip",
|
|
1057
|
-
description: "Shop Samsung smartphones, TVs, and home appliances",
|
|
1058
|
-
keywords: ["samsung", "galaxy", "samsung tv", "samsung phone"],
|
|
1059
|
-
ogImage: "https://images.unsplash.com/photo-1610945264803-c22b62831028?w=1200&h=630&fit=crop",
|
|
905
|
+
ogImage: "https://images.unsplash.com/photo-1578301978162-7aae4d755744?w=1200&h=630&fit=crop",
|
|
1060
906
|
},
|
|
1061
907
|
display: {
|
|
1062
|
-
icon: "
|
|
1063
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
1064
|
-
color: "#
|
|
1065
|
-
showInMenu:
|
|
1066
|
-
showInFooter:
|
|
908
|
+
icon: "💎",
|
|
909
|
+
coverImage: "https://images.unsplash.com/photo-1578301978162-7aae4d755744?w=800&h=800&fit=crop",
|
|
910
|
+
color: "#d97706",
|
|
911
|
+
showInMenu: true,
|
|
912
|
+
showInFooter: true,
|
|
1067
913
|
},
|
|
1068
914
|
isActive: true,
|
|
1069
915
|
isSearchable: true,
|
|
1070
916
|
showOnHomepage: false,
|
|
1071
|
-
createdBy: "user-admin-
|
|
1072
|
-
createdAt: daysAgo(
|
|
1073
|
-
updatedAt: daysAgo(
|
|
917
|
+
createdBy: "user-admin-letitrip",
|
|
918
|
+
createdAt: daysAgo(400),
|
|
919
|
+
updatedAt: daysAgo(30),
|
|
1074
920
|
ancestors: [],
|
|
1075
921
|
},
|
|
1076
|
-
//
|
|
922
|
+
// Vintage & Rare > Vintage TCG (tier 1)
|
|
1077
923
|
{
|
|
1078
|
-
id: "category-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
description: "
|
|
1082
|
-
rootId: "category-
|
|
1083
|
-
parentIds: [],
|
|
924
|
+
id: "category-vintage-tcg",
|
|
925
|
+
slug: "category-vintage-tcg",
|
|
926
|
+
name: "Vintage TCG",
|
|
927
|
+
description: "Vintage and 1st-edition trading cards. PSA/BGS graded Pokémon Base Set, Jungle, Fossil, and Team Rocket. First-edition Yu-Gi-Oh! Blue-Eyes and LOB.",
|
|
928
|
+
rootId: "category-vintage-rare",
|
|
929
|
+
parentIds: ["category-vintage-rare"],
|
|
1084
930
|
childrenIds: [],
|
|
1085
|
-
tier:
|
|
1086
|
-
path: "
|
|
1087
|
-
order:
|
|
931
|
+
tier: 1,
|
|
932
|
+
path: "vintage-rare/vintage-tcg",
|
|
933
|
+
order: 1,
|
|
1088
934
|
isLeaf: true,
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
"product-sony-wh-1000xm5-headphones-audio-new-techhub-electronics-1",
|
|
1093
|
-
],
|
|
1094
|
-
auctionCount: 2,
|
|
1095
|
-
auctionIds: [
|
|
1096
|
-
"auction-ps5-slim-gaming-console-techhub-1",
|
|
1097
|
-
"auction-sony-alpha-7iv-camera-techhub-1",
|
|
1098
|
-
],
|
|
1099
|
-
totalProductCount: 1,
|
|
1100
|
-
totalAuctionCount: 2,
|
|
1101
|
-
totalItemCount: 3,
|
|
1102
|
-
lastUpdated: daysAgo(3),
|
|
1103
|
-
},
|
|
935
|
+
position: 0,
|
|
936
|
+
subtreeSize: 1,
|
|
937
|
+
metrics: emptyMetrics,
|
|
1104
938
|
isFeatured: false,
|
|
1105
|
-
isBrand:
|
|
939
|
+
isBrand: false,
|
|
1106
940
|
seo: {
|
|
1107
|
-
title: "
|
|
1108
|
-
description: "Shop
|
|
1109
|
-
keywords: [
|
|
1110
|
-
|
|
941
|
+
title: "Vintage TCG — 1st Edition Pokémon & Yu-Gi-Oh! | LetItRip",
|
|
942
|
+
description: "Shop 1st edition and vintage trading cards. PSA/BGS graded Pokémon Base Set and Yu-Gi-Oh! LOB.",
|
|
943
|
+
keywords: [
|
|
944
|
+
"1st edition pokemon",
|
|
945
|
+
"base set charizard",
|
|
946
|
+
"psa graded",
|
|
947
|
+
"bgs graded",
|
|
948
|
+
"vintage tcg",
|
|
949
|
+
"lob yugioh",
|
|
950
|
+
],
|
|
1111
951
|
},
|
|
1112
952
|
display: {
|
|
1113
|
-
icon: "
|
|
1114
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
1115
|
-
color: "#
|
|
1116
|
-
showInMenu:
|
|
953
|
+
icon: "🃏",
|
|
954
|
+
coverImage: "https://images.unsplash.com/photo-1607604276583-eef5d076aa5f?w=800&h=800&fit=crop",
|
|
955
|
+
color: "#d97706",
|
|
956
|
+
showInMenu: true,
|
|
1117
957
|
showInFooter: false,
|
|
1118
958
|
},
|
|
1119
959
|
isActive: true,
|
|
1120
960
|
isSearchable: true,
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
ancestors: [],
|
|
961
|
+
createdBy: "user-admin-letitrip",
|
|
962
|
+
createdAt: daysAgo(400),
|
|
963
|
+
updatedAt: daysAgo(30),
|
|
964
|
+
ancestors: [{ id: "category-vintage-rare", name: "Vintage & Rare", tier: 0 }],
|
|
1126
965
|
},
|
|
1127
|
-
//
|
|
966
|
+
// Vintage & Rare > Vintage Figures (tier 1)
|
|
1128
967
|
{
|
|
1129
|
-
id: "category-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
description: "
|
|
1133
|
-
rootId: "category-
|
|
1134
|
-
parentIds: [],
|
|
968
|
+
id: "category-vintage-figures",
|
|
969
|
+
slug: "category-vintage-figures",
|
|
970
|
+
name: "Vintage Figures",
|
|
971
|
+
description: "Vintage and rare anime figures — early-run garage kits, discontinued GSC, vintage SH Figuarts, original Revoltech, and original Beyblade tops from 1999–2009.",
|
|
972
|
+
rootId: "category-vintage-rare",
|
|
973
|
+
parentIds: ["category-vintage-rare"],
|
|
1135
974
|
childrenIds: [],
|
|
1136
|
-
tier:
|
|
1137
|
-
path: "
|
|
1138
|
-
order:
|
|
975
|
+
tier: 1,
|
|
976
|
+
path: "vintage-rare/vintage-figures",
|
|
977
|
+
order: 2,
|
|
1139
978
|
isLeaf: true,
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
"product-mens-cotton-casual-shirt-mens-fashion-new-fashion-boutique-1",
|
|
1144
|
-
],
|
|
1145
|
-
auctionCount: 1,
|
|
1146
|
-
auctionIds: ["product-limited-air-jordan-sneakers-auction-artisan-1"],
|
|
1147
|
-
totalProductCount: 1,
|
|
1148
|
-
totalAuctionCount: 1,
|
|
1149
|
-
totalItemCount: 2,
|
|
1150
|
-
lastUpdated: daysAgo(3),
|
|
1151
|
-
},
|
|
979
|
+
position: 0,
|
|
980
|
+
subtreeSize: 1,
|
|
981
|
+
metrics: emptyMetrics,
|
|
1152
982
|
isFeatured: false,
|
|
1153
|
-
isBrand:
|
|
983
|
+
isBrand: false,
|
|
1154
984
|
seo: {
|
|
1155
|
-
title: "
|
|
1156
|
-
description: "Shop
|
|
1157
|
-
keywords: [
|
|
1158
|
-
|
|
985
|
+
title: "Vintage Anime Figures & Rare Collectibles | LetItRip",
|
|
986
|
+
description: "Shop rare vintage anime figures, discontinued Nendoroids, original Revoltech, and early-run Beyblade tops.",
|
|
987
|
+
keywords: [
|
|
988
|
+
"vintage figure",
|
|
989
|
+
"discontinued nendoroid",
|
|
990
|
+
"rare anime figure",
|
|
991
|
+
"original beyblade",
|
|
992
|
+
"garage kit",
|
|
993
|
+
],
|
|
1159
994
|
},
|
|
1160
995
|
display: {
|
|
1161
|
-
icon: "
|
|
1162
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
1163
|
-
|
|
1164
|
-
showInMenu: false,
|
|
996
|
+
icon: "🏺",
|
|
997
|
+
coverImage: "https://images.unsplash.com/photo-1578632767115-351597cf2477?w=800&h=800&fit=crop",
|
|
998
|
+
showInMenu: true,
|
|
1165
999
|
showInFooter: false,
|
|
1166
1000
|
},
|
|
1167
1001
|
isActive: true,
|
|
1168
1002
|
isSearchable: true,
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
ancestors: [],
|
|
1003
|
+
createdBy: "user-admin-letitrip",
|
|
1004
|
+
createdAt: daysAgo(400),
|
|
1005
|
+
updatedAt: daysAgo(30),
|
|
1006
|
+
ancestors: [{ id: "category-vintage-rare", name: "Vintage & Rare", tier: 0 }],
|
|
1174
1007
|
},
|
|
1175
|
-
//
|
|
1008
|
+
// Vintage & Rare > Limited Exclusives (tier 1)
|
|
1176
1009
|
{
|
|
1177
|
-
id: "category-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
description: "
|
|
1181
|
-
rootId: "category-
|
|
1182
|
-
parentIds: [],
|
|
1010
|
+
id: "category-limited-exclusives",
|
|
1011
|
+
slug: "category-limited-exclusives",
|
|
1012
|
+
name: "Limited & Exclusives",
|
|
1013
|
+
description: "Event-exclusive, convention-only, and limited-run collectibles. Wonder Festival exclusive figures, Pokémon Center exclusives, Takara Tomy convention tops, and signed merchandise.",
|
|
1014
|
+
rootId: "category-vintage-rare",
|
|
1015
|
+
parentIds: ["category-vintage-rare"],
|
|
1183
1016
|
childrenIds: [],
|
|
1184
|
-
tier:
|
|
1185
|
-
path: "
|
|
1186
|
-
order:
|
|
1017
|
+
tier: 1,
|
|
1018
|
+
path: "vintage-rare/limited-exclusives",
|
|
1019
|
+
order: 3,
|
|
1187
1020
|
isLeaf: true,
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
"product-yoga-mat-with-carrying-bag-sports-outdoors-new-home-essentials-1",
|
|
1192
|
-
],
|
|
1193
|
-
auctionCount: 0,
|
|
1194
|
-
auctionIds: [],
|
|
1195
|
-
totalProductCount: 1,
|
|
1196
|
-
totalAuctionCount: 0,
|
|
1197
|
-
totalItemCount: 1,
|
|
1198
|
-
lastUpdated: daysAgo(3),
|
|
1199
|
-
},
|
|
1021
|
+
position: 0,
|
|
1022
|
+
subtreeSize: 1,
|
|
1023
|
+
metrics: emptyMetrics,
|
|
1200
1024
|
isFeatured: false,
|
|
1201
|
-
isBrand:
|
|
1025
|
+
isBrand: false,
|
|
1202
1026
|
seo: {
|
|
1203
|
-
title: "
|
|
1204
|
-
description: "Shop
|
|
1205
|
-
keywords: [
|
|
1206
|
-
|
|
1027
|
+
title: "Limited Edition & Convention Exclusives | LetItRip",
|
|
1028
|
+
description: "Shop Wonder Festival, Pokémon Center, and event-exclusive limited collectibles. Convention-only figures and signed merchandise.",
|
|
1029
|
+
keywords: [
|
|
1030
|
+
"wonder festival exclusive",
|
|
1031
|
+
"pokemon center exclusive",
|
|
1032
|
+
"limited edition figure",
|
|
1033
|
+
"convention exclusive",
|
|
1034
|
+
"signed collectible",
|
|
1035
|
+
],
|
|
1207
1036
|
},
|
|
1208
1037
|
display: {
|
|
1209
|
-
icon: "
|
|
1210
|
-
coverImage: "https://images.unsplash.com/photo-
|
|
1211
|
-
|
|
1212
|
-
showInMenu: false,
|
|
1038
|
+
icon: "✨",
|
|
1039
|
+
coverImage: "https://images.unsplash.com/photo-1614108831137-558fffac9ead?w=800&h=800&fit=crop",
|
|
1040
|
+
showInMenu: true,
|
|
1213
1041
|
showInFooter: false,
|
|
1214
1042
|
},
|
|
1215
1043
|
isActive: true,
|
|
1216
1044
|
isSearchable: true,
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
ancestors: [],
|
|
1045
|
+
createdBy: "user-admin-letitrip",
|
|
1046
|
+
createdAt: daysAgo(400),
|
|
1047
|
+
updatedAt: daysAgo(30),
|
|
1048
|
+
ancestors: [{ id: "category-vintage-rare", name: "Vintage & Rare", tier: 0 }],
|
|
1222
1049
|
},
|
|
1223
1050
|
];
|
|
1051
|
+
const STORE_CREATOR = {
|
|
1052
|
+
"user-aryan-kapoor": { createdByType: "store", createdByStoreId: "store-pokemon-palace", createdByStoreName: "Pokémon Palace" },
|
|
1053
|
+
"user-nisha-reddy": { createdByType: "store", createdByStoreId: "store-cardgame-hub", createdByStoreName: "CardGame Hub" },
|
|
1054
|
+
"user-vikram-mehta": { createdByType: "store", createdByStoreId: "store-diecast-depot", createdByStoreName: "Diecast Depot" },
|
|
1055
|
+
"user-rohit-joshi": { createdByType: "store", createdByStoreId: "store-beyblade-arena", createdByStoreName: "Beyblade Arena" },
|
|
1056
|
+
"user-amit-sharma": { createdByType: "store", createdByStoreId: "store-gundam-galaxy", createdByStoreName: "Gundam Galaxy" },
|
|
1057
|
+
"user-priya-singh": { createdByType: "store", createdByStoreId: "store-tokyo-toys-india", createdByStoreName: "Tokyo Toys India" },
|
|
1058
|
+
};
|
|
1059
|
+
export const categoriesSeedData = rawCategories.map((c) => ({
|
|
1060
|
+
...c,
|
|
1061
|
+
...(c.createdBy && STORE_CREATOR[c.createdBy]
|
|
1062
|
+
? STORE_CREATOR[c.createdBy]
|
|
1063
|
+
: { createdByType: "admin" }),
|
|
1064
|
+
}));
|