@mohasinac/appkit 2.4.10 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_internal/client/features/products/index.d.ts +1 -0
- package/dist/_internal/client/features/products/index.js +3 -0
- package/dist/_internal/client/i18n/LabelsProvider.d.ts +13 -0
- package/dist/_internal/client/i18n/LabelsProvider.js +38 -0
- package/dist/_internal/client/index.d.ts +0 -0
- package/dist/_internal/client/index.js +4 -0
- package/dist/_internal/client/scaffolds/AppShell.d.ts +39 -0
- package/dist/_internal/client/scaffolds/AppShell.js +9 -0
- package/dist/_internal/client/scaffolds/DashboardScaffold.d.ts +34 -0
- package/dist/_internal/client/scaffolds/DashboardScaffold.js +23 -0
- package/dist/_internal/client/scaffolds/index.d.ts +4 -0
- package/dist/_internal/client/scaffolds/index.js +2 -0
- package/dist/_internal/server/features/account/actions.d.ts +7 -0
- package/dist/_internal/server/features/account/actions.js +7 -0
- package/dist/_internal/server/features/account/data.d.ts +17 -0
- package/dist/_internal/server/features/account/data.js +25 -0
- package/dist/_internal/server/features/account/index.d.ts +2 -0
- package/dist/_internal/server/features/account/index.js +2 -0
- package/dist/_internal/server/features/auctions/actions.d.ts +1 -0
- package/dist/_internal/server/features/auctions/actions.js +44 -0
- package/dist/_internal/server/features/auctions/data.d.ts +4 -0
- package/dist/_internal/server/features/auctions/data.js +9 -0
- package/dist/_internal/server/features/auctions/index.d.ts +5 -0
- package/dist/_internal/server/features/auctions/index.js +5 -0
- package/dist/_internal/server/features/auctions/og.d.ts +19 -0
- package/dist/_internal/server/features/auctions/og.js +51 -0
- package/dist/_internal/server/features/auctions/service.d.ts +13 -0
- package/dist/_internal/server/features/auctions/service.js +57 -0
- package/dist/_internal/server/features/auth/actions.d.ts +8 -0
- package/dist/_internal/server/features/auth/actions.js +8 -0
- package/dist/_internal/server/features/auth/index.d.ts +1 -0
- package/dist/_internal/server/features/auth/index.js +1 -0
- package/dist/_internal/server/features/blog/actions.d.ts +5 -0
- package/dist/_internal/server/features/blog/actions.js +51 -0
- package/dist/_internal/server/features/blog/data.d.ts +2 -0
- package/dist/_internal/server/features/blog/data.js +8 -0
- package/dist/_internal/server/features/blog/index.d.ts +5 -0
- package/dist/_internal/server/features/blog/index.js +5 -0
- package/dist/_internal/server/features/blog/og.d.ts +23 -0
- package/dist/_internal/server/features/blog/og.js +64 -0
- package/dist/_internal/server/features/blog/service.d.ts +3 -0
- package/dist/_internal/server/features/blog/service.js +18 -0
- package/dist/_internal/server/features/brands/actions.d.ts +4 -0
- package/dist/_internal/server/features/brands/actions.js +32 -0
- package/dist/_internal/server/features/brands/data.d.ts +12 -0
- package/dist/_internal/server/features/brands/data.js +16 -0
- package/dist/_internal/server/features/brands/index.d.ts +5 -0
- package/dist/_internal/server/features/brands/index.js +5 -0
- package/dist/_internal/server/features/brands/og.d.ts +17 -0
- package/dist/_internal/server/features/brands/og.js +37 -0
- package/dist/_internal/server/features/brands/service.d.ts +3 -0
- package/dist/_internal/server/features/brands/service.js +14 -0
- package/dist/_internal/server/features/bundles/data.d.ts +9 -0
- package/dist/_internal/server/features/bundles/data.js +9 -0
- package/dist/_internal/server/features/bundles/index.d.ts +2 -0
- package/dist/_internal/server/features/bundles/index.js +2 -0
- package/dist/_internal/server/features/cart/actions.d.ts +12 -0
- package/dist/_internal/server/features/cart/actions.js +35 -0
- package/dist/_internal/server/features/cart/data.d.ts +1 -0
- package/dist/_internal/server/features/cart/data.js +5 -0
- package/dist/_internal/server/features/cart/index.d.ts +4 -0
- package/dist/_internal/server/features/cart/index.js +4 -0
- package/dist/_internal/server/features/cart/service.d.ts +8 -0
- package/dist/_internal/server/features/cart/service.js +25 -0
- package/dist/_internal/server/features/categories/data.d.ts +13 -0
- package/dist/_internal/server/features/categories/data.js +40 -0
- package/dist/_internal/server/features/categories/index.d.ts +2 -0
- package/dist/_internal/server/features/categories/index.js +2 -0
- package/dist/_internal/server/features/checkout/actions.d.ts +35 -0
- package/dist/_internal/server/features/checkout/actions.js +327 -0
- package/dist/_internal/server/features/checkout/data.d.ts +13 -0
- package/dist/_internal/server/features/checkout/data.js +13 -0
- package/dist/_internal/server/features/checkout/index.d.ts +3 -0
- package/dist/_internal/server/features/checkout/index.js +3 -0
- package/dist/_internal/server/features/events/actions.d.ts +4 -0
- package/dist/_internal/server/features/events/actions.js +60 -0
- package/dist/_internal/server/features/events/data.d.ts +1 -0
- package/dist/_internal/server/features/events/data.js +5 -0
- package/dist/_internal/server/features/events/index.d.ts +5 -0
- package/dist/_internal/server/features/events/index.js +5 -0
- package/dist/_internal/server/features/events/og.d.ts +26 -0
- package/dist/_internal/server/features/events/og.js +87 -0
- package/dist/_internal/server/features/events/service.d.ts +2 -0
- package/dist/_internal/server/features/events/service.js +27 -0
- package/dist/_internal/server/features/grouped/data.d.ts +25 -0
- package/dist/_internal/server/features/grouped/data.js +116 -0
- package/dist/_internal/server/features/grouped/index.d.ts +2 -0
- package/dist/_internal/server/features/grouped/index.js +2 -0
- package/dist/_internal/server/features/history/actions.d.ts +8 -0
- package/dist/_internal/server/features/history/actions.js +15 -0
- package/dist/_internal/server/features/history/data.d.ts +7 -0
- package/dist/_internal/server/features/history/data.js +6 -0
- package/dist/_internal/server/features/history/index.d.ts +3 -0
- package/dist/_internal/server/features/history/index.js +3 -0
- package/dist/_internal/server/features/homepage/data.d.ts +18 -0
- package/dist/_internal/server/features/homepage/data.js +39 -0
- package/dist/_internal/server/features/homepage/index.d.ts +2 -0
- package/dist/_internal/server/features/homepage/index.js +2 -0
- package/dist/_internal/server/features/messages/actions.d.ts +6 -0
- package/dist/_internal/server/features/messages/actions.js +6 -0
- package/dist/_internal/server/features/messages/data.d.ts +10 -0
- package/dist/_internal/server/features/messages/data.js +24 -0
- package/dist/_internal/server/features/messages/index.d.ts +2 -0
- package/dist/_internal/server/features/messages/index.js +2 -0
- package/dist/_internal/server/features/orders/actions.d.ts +4 -0
- package/dist/_internal/server/features/orders/actions.js +50 -0
- package/dist/_internal/server/features/orders/adapters.d.ts +3 -0
- package/dist/_internal/server/features/orders/adapters.js +56 -0
- package/dist/_internal/server/features/orders/data.d.ts +10 -0
- package/dist/_internal/server/features/orders/data.js +18 -0
- package/dist/_internal/server/features/orders/index.d.ts +5 -0
- package/dist/_internal/server/features/orders/index.js +5 -0
- package/dist/_internal/server/features/orders/service.d.ts +4 -0
- package/dist/_internal/server/features/orders/service.js +30 -0
- package/dist/_internal/server/features/payments/actions.d.ts +30 -0
- package/dist/_internal/server/features/payments/actions.js +45 -0
- package/dist/_internal/server/features/payments/data.d.ts +11 -0
- package/dist/_internal/server/features/payments/data.js +14 -0
- package/dist/_internal/server/features/payments/index.d.ts +3 -0
- package/dist/_internal/server/features/payments/index.js +3 -0
- package/dist/_internal/server/features/pre-orders/actions.d.ts +7 -0
- package/dist/_internal/server/features/pre-orders/actions.js +26 -0
- package/dist/_internal/server/features/pre-orders/data.d.ts +4 -0
- package/dist/_internal/server/features/pre-orders/data.js +9 -0
- package/dist/_internal/server/features/pre-orders/index.d.ts +5 -0
- package/dist/_internal/server/features/pre-orders/index.js +5 -0
- package/dist/_internal/server/features/pre-orders/og.d.ts +19 -0
- package/dist/_internal/server/features/pre-orders/og.js +49 -0
- package/dist/_internal/server/features/pre-orders/service.d.ts +7 -0
- package/dist/_internal/server/features/pre-orders/service.js +30 -0
- package/dist/_internal/server/features/products/actions.d.ts +7 -0
- package/dist/_internal/server/features/products/actions.js +74 -0
- package/dist/_internal/server/features/products/data.d.ts +14 -0
- package/dist/_internal/server/features/products/data.js +48 -0
- package/dist/_internal/server/features/products/index.d.ts +5 -0
- package/dist/_internal/server/features/products/index.js +5 -0
- package/dist/_internal/server/features/products/og.d.ts +19 -0
- package/dist/_internal/server/features/products/og.js +43 -0
- package/dist/_internal/server/features/products/service.d.ts +11 -0
- package/dist/_internal/server/features/products/service.js +55 -0
- package/dist/_internal/server/features/profile/index.d.ts +1 -0
- package/dist/_internal/server/features/profile/index.js +1 -0
- package/dist/_internal/server/features/profile/og.d.ts +26 -0
- package/dist/_internal/server/features/profile/og.js +91 -0
- package/dist/_internal/server/features/promotions/actions.d.ts +9 -0
- package/dist/_internal/server/features/promotions/actions.js +38 -0
- package/dist/_internal/server/features/promotions/data.d.ts +1 -0
- package/dist/_internal/server/features/promotions/data.js +5 -0
- package/dist/_internal/server/features/promotions/index.d.ts +4 -0
- package/dist/_internal/server/features/promotions/index.js +4 -0
- package/dist/_internal/server/features/promotions/service.d.ts +3 -0
- package/dist/_internal/server/features/promotions/service.js +47 -0
- package/dist/_internal/server/features/reviews/actions.d.ts +4 -0
- package/dist/_internal/server/features/reviews/actions.js +66 -0
- package/dist/_internal/server/features/reviews/data.d.ts +10 -0
- package/dist/_internal/server/features/reviews/data.js +18 -0
- package/dist/_internal/server/features/reviews/index.d.ts +3 -0
- package/dist/_internal/server/features/reviews/index.js +3 -0
- package/dist/_internal/server/features/reviews/service.d.ts +5 -0
- package/dist/_internal/server/features/reviews/service.js +27 -0
- package/dist/_internal/server/features/scams/data.d.ts +10 -0
- package/dist/_internal/server/features/scams/data.js +22 -0
- package/dist/_internal/server/features/scams/index.d.ts +1 -0
- package/dist/_internal/server/features/scams/index.js +1 -0
- package/dist/_internal/server/features/search/actions.d.ts +15 -0
- package/dist/_internal/server/features/search/actions.js +18 -0
- package/dist/_internal/server/features/search/data.d.ts +15 -0
- package/dist/_internal/server/features/search/data.js +18 -0
- package/dist/_internal/server/features/search/index.d.ts +3 -0
- package/dist/_internal/server/features/search/index.js +2 -0
- package/dist/_internal/server/features/stores/data.d.ts +31 -0
- package/dist/_internal/server/features/stores/data.js +58 -0
- package/dist/_internal/server/features/stores/index.d.ts +3 -0
- package/dist/_internal/server/features/stores/index.js +3 -0
- package/dist/_internal/server/features/stores/og.d.ts +19 -0
- package/dist/_internal/server/features/stores/og.js +52 -0
- package/dist/_internal/server/features/sublisting-categories/data.d.ts +1 -0
- package/dist/_internal/server/features/sublisting-categories/data.js +5 -0
- package/dist/_internal/server/features/sublisting-categories/index.d.ts +2 -0
- package/dist/_internal/server/features/sublisting-categories/index.js +2 -0
- package/dist/_internal/server/features/sublisting-categories/og.d.ts +20 -0
- package/dist/_internal/server/features/sublisting-categories/og.js +56 -0
- package/dist/_internal/server/features/wishlist/actions.d.ts +13 -0
- package/dist/_internal/server/features/wishlist/actions.js +40 -0
- package/dist/_internal/server/features/wishlist/data.d.ts +8 -0
- package/dist/_internal/server/features/wishlist/data.js +9 -0
- package/dist/_internal/server/features/wishlist/index.d.ts +4 -0
- package/dist/_internal/server/features/wishlist/index.js +4 -0
- package/dist/_internal/server/index.d.ts +0 -0
- package/dist/_internal/server/index.js +4 -0
- package/dist/_internal/server/jobs/handlers/_helpers.d.ts +8 -0
- package/dist/_internal/server/jobs/handlers/_helpers.js +19 -0
- package/dist/_internal/server/jobs/handlers/adminAnalytics.d.ts +28 -0
- package/dist/_internal/server/jobs/handlers/adminAnalytics.js +98 -0
- package/dist/_internal/server/jobs/handlers/auctionSettlement.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/auctionSettlement.js +70 -0
- package/dist/_internal/server/jobs/handlers/autoPayoutEligibility.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/autoPayoutEligibility.js +110 -0
- package/dist/_internal/server/jobs/handlers/cartPrune.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/cartPrune.js +13 -0
- package/dist/_internal/server/jobs/handlers/cleanupRtdbEvents.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/cleanupRtdbEvents.js +45 -0
- package/dist/_internal/server/jobs/handlers/countersReconcile.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/countersReconcile.js +109 -0
- package/dist/_internal/server/jobs/handlers/couponExpiry.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/couponExpiry.js +13 -0
- package/dist/_internal/server/jobs/handlers/dailyDataCleanup.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/dailyDataCleanup.js +20 -0
- package/dist/_internal/server/jobs/handlers/index.d.ts +35 -0
- package/dist/_internal/server/jobs/handlers/index.js +35 -0
- package/dist/_internal/server/jobs/handlers/listingProcessor.d.ts +30 -0
- package/dist/_internal/server/jobs/handlers/listingProcessor.js +128 -0
- package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.d.ts +14 -0
- package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.js +69 -0
- package/dist/_internal/server/jobs/handlers/messages.d.ts +45 -0
- package/dist/_internal/server/jobs/handlers/messages.js +45 -0
- package/dist/_internal/server/jobs/handlers/notificationPrune.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/notificationPrune.js +13 -0
- package/dist/_internal/server/jobs/handlers/offerExpiry.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/offerExpiry.js +50 -0
- package/dist/_internal/server/jobs/handlers/onBidPlaced.d.ts +12 -0
- package/dist/_internal/server/jobs/handlers/onBidPlaced.js +63 -0
- package/dist/_internal/server/jobs/handlers/onCategoryWrite.d.ts +10 -0
- package/dist/_internal/server/jobs/handlers/onCategoryWrite.js +136 -0
- package/dist/_internal/server/jobs/handlers/onOrderCreate.d.ts +14 -0
- package/dist/_internal/server/jobs/handlers/onOrderCreate.js +83 -0
- package/dist/_internal/server/jobs/handlers/onOrderStatusChange.d.ts +14 -0
- package/dist/_internal/server/jobs/handlers/onOrderStatusChange.js +141 -0
- package/dist/_internal/server/jobs/handlers/onProductWrite.d.ts +8 -0
- package/dist/_internal/server/jobs/handlers/onProductWrite.js +92 -0
- package/dist/_internal/server/jobs/handlers/onReviewWrite.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/onReviewWrite.js +51 -0
- package/dist/_internal/server/jobs/handlers/onStoreWrite.d.ts +10 -0
- package/dist/_internal/server/jobs/handlers/onStoreWrite.js +9 -0
- package/dist/_internal/server/jobs/handlers/payoutBatch.d.ts +11 -0
- package/dist/_internal/server/jobs/handlers/payoutBatch.js +104 -0
- package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.d.ts +8 -0
- package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.js +33 -0
- package/dist/_internal/server/jobs/handlers/positionsReconcile.d.ts +7 -0
- package/dist/_internal/server/jobs/handlers/positionsReconcile.js +87 -0
- package/dist/_internal/server/jobs/handlers/productStatsSync.d.ts +8 -0
- package/dist/_internal/server/jobs/handlers/productStatsSync.js +36 -0
- package/dist/_internal/server/jobs/handlers/promotions.d.ts +12 -0
- package/dist/_internal/server/jobs/handlers/promotions.js +43 -0
- package/dist/_internal/server/jobs/handlers/storeAnalytics.d.ts +30 -0
- package/dist/_internal/server/jobs/handlers/storeAnalytics.js +109 -0
- package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.d.ts +8 -0
- package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.js +87 -0
- package/dist/_internal/server/jobs/index.d.ts +4 -0
- package/dist/_internal/server/jobs/index.js +3 -0
- package/dist/_internal/server/jobs/runtime/adapters/firebase.d.ts +50 -0
- package/dist/_internal/server/jobs/runtime/adapters/firebase.js +156 -0
- package/dist/_internal/server/jobs/runtime/types.d.ts +52 -0
- package/dist/_internal/server/jobs/runtime/types.js +13 -0
- package/dist/_internal/shared/config/index.d.ts +1 -0
- package/dist/_internal/shared/config/index.js +1 -0
- package/dist/_internal/shared/config/schema.d.ts +82 -0
- package/dist/_internal/shared/config/schema.js +1 -0
- package/dist/_internal/shared/constants/index.d.ts +1 -0
- package/dist/_internal/shared/constants/index.js +1 -0
- package/dist/_internal/shared/errors/index.d.ts +24 -0
- package/dist/_internal/shared/errors/index.js +46 -0
- package/dist/_internal/shared/features/auctions/config.d.ts +6 -0
- package/dist/_internal/shared/features/auctions/config.js +6 -0
- package/dist/_internal/shared/features/auctions/errors.d.ts +16 -0
- package/dist/_internal/shared/features/auctions/errors.js +31 -0
- package/dist/_internal/shared/features/auctions/schema.d.ts +30 -0
- package/dist/_internal/shared/features/auctions/schema.js +12 -0
- package/dist/_internal/shared/features/blog/config.d.ts +6 -0
- package/dist/_internal/shared/features/blog/config.js +6 -0
- package/dist/_internal/shared/features/blog/errors.d.ts +10 -0
- package/dist/_internal/shared/features/blog/errors.js +19 -0
- package/dist/_internal/shared/features/blog/schema.d.ts +81 -0
- package/dist/_internal/shared/features/blog/schema.js +17 -0
- package/dist/_internal/shared/features/brands/config.d.ts +4 -0
- package/dist/_internal/shared/features/brands/config.js +4 -0
- package/dist/_internal/shared/features/brands/errors.d.ts +7 -0
- package/dist/_internal/shared/features/brands/errors.js +13 -0
- package/dist/_internal/shared/features/brands/schema.d.ts +69 -0
- package/dist/_internal/shared/features/brands/schema.js +15 -0
- package/dist/_internal/shared/features/bundles/config.d.ts +6 -0
- package/dist/_internal/shared/features/bundles/config.js +6 -0
- package/dist/_internal/shared/features/cart/config.d.ts +3 -0
- package/dist/_internal/shared/features/cart/config.js +3 -0
- package/dist/_internal/shared/features/cart/errors.d.ts +10 -0
- package/dist/_internal/shared/features/cart/errors.js +19 -0
- package/dist/_internal/shared/features/cart/schema.d.ts +132 -0
- package/dist/_internal/shared/features/cart/schema.js +33 -0
- package/dist/_internal/shared/features/categories/config.d.ts +6 -0
- package/dist/_internal/shared/features/categories/config.js +6 -0
- package/dist/_internal/shared/features/checkout/config.d.ts +8 -0
- package/dist/_internal/shared/features/checkout/config.js +7 -0
- package/dist/_internal/shared/features/events/config.d.ts +5 -0
- package/dist/_internal/shared/features/events/config.js +5 -0
- package/dist/_internal/shared/features/events/errors.d.ts +16 -0
- package/dist/_internal/shared/features/events/errors.js +31 -0
- package/dist/_internal/shared/features/events/schema.d.ts +91 -0
- package/dist/_internal/shared/features/events/schema.js +21 -0
- package/dist/_internal/shared/features/grouped/config.d.ts +3 -0
- package/dist/_internal/shared/features/grouped/config.js +3 -0
- package/dist/_internal/shared/features/history/config.d.ts +2 -0
- package/dist/_internal/shared/features/history/config.js +2 -0
- package/dist/_internal/shared/features/homepage/config.d.ts +3 -0
- package/dist/_internal/shared/features/homepage/config.js +3 -0
- package/dist/_internal/shared/features/orders/config.d.ts +8 -0
- package/dist/_internal/shared/features/orders/config.js +8 -0
- package/dist/_internal/shared/features/orders/errors.d.ts +13 -0
- package/dist/_internal/shared/features/orders/errors.js +25 -0
- package/dist/_internal/shared/features/orders/schema.d.ts +114 -0
- package/dist/_internal/shared/features/orders/schema.js +33 -0
- package/dist/_internal/shared/features/payments/config.d.ts +2 -0
- package/dist/_internal/shared/features/payments/config.js +2 -0
- package/dist/_internal/shared/features/pre-orders/config.d.ts +4 -0
- package/dist/_internal/shared/features/pre-orders/config.js +4 -0
- package/dist/_internal/shared/features/pre-orders/errors.d.ts +13 -0
- package/dist/_internal/shared/features/pre-orders/errors.js +25 -0
- package/dist/_internal/shared/features/pre-orders/schema.d.ts +25 -0
- package/dist/_internal/shared/features/pre-orders/schema.js +10 -0
- package/dist/_internal/shared/features/products/config.d.ts +5 -0
- package/dist/_internal/shared/features/products/config.js +5 -0
- package/dist/_internal/shared/features/products/errors.d.ts +16 -0
- package/dist/_internal/shared/features/products/errors.js +31 -0
- package/dist/_internal/shared/features/products/schema.d.ts +364 -0
- package/dist/_internal/shared/features/products/schema.js +58 -0
- package/dist/_internal/shared/features/products/types.d.ts +46 -0
- package/dist/_internal/shared/features/products/types.js +1 -0
- package/dist/_internal/shared/features/promotions/config.d.ts +3 -0
- package/dist/_internal/shared/features/promotions/config.js +3 -0
- package/dist/_internal/shared/features/promotions/errors.d.ts +19 -0
- package/dist/_internal/shared/features/promotions/errors.js +37 -0
- package/dist/_internal/shared/features/promotions/schema.d.ts +242 -0
- package/dist/_internal/shared/features/promotions/schema.js +37 -0
- package/dist/_internal/shared/features/reviews/config.d.ts +8 -0
- package/dist/_internal/shared/features/reviews/config.js +8 -0
- package/dist/_internal/shared/features/reviews/errors.d.ts +13 -0
- package/dist/_internal/shared/features/reviews/errors.js +25 -0
- package/dist/_internal/shared/features/reviews/schema.d.ts +44 -0
- package/dist/_internal/shared/features/reviews/schema.js +18 -0
- package/dist/_internal/shared/features/stores/config.d.ts +4 -0
- package/dist/_internal/shared/features/stores/config.js +4 -0
- package/dist/_internal/shared/features/wishlist/config.d.ts +2 -0
- package/dist/_internal/shared/features/wishlist/config.js +2 -0
- package/dist/_internal/shared/features/wishlist/errors.d.ts +4 -0
- package/dist/_internal/shared/features/wishlist/errors.js +7 -0
- package/dist/_internal/shared/index.d.ts +2 -0
- package/dist/_internal/shared/index.js +4 -0
- package/dist/_internal/shared/serialization/index.d.ts +17 -0
- package/dist/_internal/shared/serialization/index.js +42 -0
- package/dist/_internal/shared/tokens/index.d.ts +137 -0
- package/dist/_internal/shared/tokens/index.js +159 -0
- package/dist/client-entry.d.ts +23 -0
- package/dist/client-entry.js +27 -0
- package/dist/client.d.ts +47 -5
- package/dist/client.js +68 -33
- package/dist/configs/eslint.d.ts +29 -0
- package/dist/configs/eslint.js +38 -0
- package/dist/configs/index.d.ts +14 -0
- package/dist/configs/index.js +14 -0
- package/dist/configs/next.d.ts +38 -0
- package/dist/configs/next.js +116 -0
- package/dist/configs/postcss.d.ts +22 -0
- package/dist/configs/postcss.js +22 -0
- package/dist/configs/tailwind.d.ts +59 -0
- package/dist/configs/tailwind.js +62 -0
- package/dist/constants/api-endpoints.d.ts +24 -0
- package/dist/constants/api-endpoints.js +8 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.js +1 -0
- package/dist/constants/limits.d.ts +15 -0
- package/dist/constants/limits.js +15 -0
- package/dist/contracts/client-auth.d.ts +2 -0
- package/dist/errors/messages.d.ts +23 -0
- package/dist/errors/messages.js +25 -0
- package/dist/features/about/components/PublicProfileView.js +16 -9
- package/dist/features/account/components/AddressBook.d.ts +2 -1
- package/dist/features/account/components/AddressBook.js +2 -2
- package/dist/features/account/components/UserReturnsView.d.ts +10 -0
- package/dist/features/account/components/UserReturnsView.js +5 -0
- package/dist/features/account/components/index.d.ts +2 -0
- package/dist/features/account/components/index.js +1 -0
- package/dist/features/account/hooks/useProfile.d.ts +2 -0
- package/dist/features/account/schemas/index.d.ts +18 -18
- package/dist/features/admin/actions/chat-actions.d.ts +1 -1
- package/dist/features/admin/actions/chat-actions.js +10 -10
- package/dist/features/admin/components/AdminBlogEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminBlogEditorView.js +16 -14
- package/dist/features/admin/components/AdminBlogView.js +6 -3
- package/dist/features/admin/components/AdminBrandEditorView.d.ts +3 -1
- package/dist/features/admin/components/AdminBrandEditorView.js +16 -14
- package/dist/features/admin/components/AdminBrandsView.js +6 -3
- package/dist/features/admin/components/AdminCategoriesView.js +6 -3
- package/dist/features/admin/components/AdminCategoryEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminCategoryEditorView.js +16 -14
- package/dist/features/admin/components/AdminCouponEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminCouponEditorView.js +16 -14
- package/dist/features/admin/components/AdminCouponsView.js +6 -3
- package/dist/features/admin/components/AdminFaqEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminFaqEditorView.js +16 -14
- package/dist/features/admin/components/AdminFaqsView.js +6 -3
- package/dist/features/admin/components/AdminFeatureEditorView.d.ts +19 -0
- package/dist/features/admin/components/AdminFeatureEditorView.js +150 -0
- package/dist/features/admin/components/AdminFeaturesView.d.ts +4 -0
- package/dist/features/admin/components/AdminFeaturesView.js +95 -0
- package/dist/features/admin/components/AdminHistoryView.d.ts +4 -0
- package/dist/features/admin/components/AdminHistoryView.js +57 -0
- package/dist/features/admin/components/AdminMediaView.js +64 -2
- package/dist/features/admin/components/AdminOrdersView.js +31 -4
- package/dist/features/admin/components/AdminProductEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminProductEditorView.js +30 -19
- package/dist/features/admin/components/AdminProductsView.js +40 -3
- package/dist/features/admin/components/AdminSectionsView.js +138 -2
- package/dist/features/admin/components/AdminSiteSettingsView.js +22 -2
- package/dist/features/admin/components/AdminStoresView.js +5 -4
- package/dist/features/admin/components/AdminUserEditorView.d.ts +4 -1
- package/dist/features/admin/components/AdminUserEditorView.js +2 -2
- package/dist/features/admin/components/AdminUsersView.js +1 -1
- package/dist/features/admin/components/AdminWishlistsView.js +17 -15
- package/dist/features/admin/components/DataTable.d.ts +2 -1
- package/dist/features/admin/components/DataTable.js +14 -12
- package/dist/features/admin/components/DrawerFormFooter.d.ts +9 -21
- package/dist/features/admin/components/DrawerFormFooter.js +10 -2
- package/dist/features/admin/components/QuickEditMenu.d.ts +20 -0
- package/dist/features/admin/components/QuickEditMenu.js +31 -0
- package/dist/features/admin/components/analytics/AdminAnalyticsCharts.js +11 -23
- package/dist/features/admin/components/index.d.ts +8 -0
- package/dist/features/admin/components/index.js +4 -0
- package/dist/features/admin/components/sections/adminSectionsBuildParse.d.ts +9 -1
- package/dist/features/admin/components/sections/adminSectionsBuildParse.js +169 -9
- package/dist/features/admin/components/sections/adminSectionsTypes.d.ts +62 -1
- package/dist/features/admin/components/sections/adminSectionsTypes.js +57 -4
- package/dist/features/admin/hooks/useChat.d.ts +1 -1
- package/dist/features/admin/repository/chat.repository.d.ts +2 -2
- package/dist/features/admin/repository/chat.repository.js +7 -7
- package/dist/features/admin/schemas/firestore.d.ts +42 -7
- package/dist/features/admin/schemas/firestore.js +7 -7
- package/dist/features/admin/types/product.types.d.ts +2 -2
- package/dist/features/auctions/actions/bid-actions.js +3 -2
- package/dist/features/auctions/components/AuctionDetailPageView.d.ts +11 -1
- package/dist/features/auctions/components/AuctionDetailPageView.js +80 -68
- package/dist/features/auctions/components/AuctionsListView.js +11 -6
- package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +2 -1
- package/dist/features/auctions/hooks/useAuctions.js +2 -1
- package/dist/features/auctions/repository/auctions.repository.js +4 -4
- package/dist/features/auctions/schemas/index.d.ts +24 -24
- package/dist/features/auctions/types/index.d.ts +2 -1
- package/dist/features/auth/hooks/useAuth.d.ts +8 -0
- package/dist/features/auth/hooks/useAuth.js +9 -0
- package/dist/features/auth/schemas/index.d.ts +2 -2
- package/dist/features/before-after/schemas/index.d.ts +2 -2
- package/dist/features/blog/actions/blog-actions.d.ts +63 -63
- package/dist/features/blog/components/BlogPostView.d.ts +3 -1
- package/dist/features/blog/components/BlogPostView.js +3 -2
- package/dist/features/blog/schemas/index.d.ts +41 -41
- package/dist/features/bundles/components/AdminBundleEditorView.d.ts +8 -0
- package/dist/features/bundles/components/AdminBundleEditorView.js +7 -0
- package/dist/features/bundles/components/BundleDetailPageView.d.ts +9 -0
- package/dist/features/bundles/components/BundleDetailPageView.js +45 -0
- package/dist/features/bundles/components/BundleForm.d.ts +12 -0
- package/dist/features/bundles/components/BundleForm.js +126 -0
- package/dist/features/bundles/components/BundleItemsPicker.d.ts +9 -0
- package/dist/features/bundles/components/BundleItemsPicker.js +77 -0
- package/dist/features/bundles/components/BundlesListingView.d.ts +17 -0
- package/dist/features/bundles/components/BundlesListingView.js +50 -0
- package/dist/features/bundles/components/FeaturedBundlesSection.d.ts +5 -0
- package/dist/features/bundles/components/FeaturedBundlesSection.js +55 -0
- package/dist/features/bundles/components/SellerBundleCreateView.d.ts +8 -0
- package/dist/features/bundles/components/SellerBundleCreateView.js +7 -0
- package/dist/features/bundles/components/SellerBundleEditView.d.ts +9 -0
- package/dist/features/bundles/components/SellerBundleEditView.js +7 -0
- package/dist/features/bundles/components/index.d.ts +16 -0
- package/dist/features/bundles/components/index.js +8 -0
- package/dist/features/bundles/constants/index.d.ts +32 -0
- package/dist/features/bundles/constants/index.js +35 -0
- package/dist/features/bundles/index.d.ts +2 -0
- package/dist/features/bundles/index.js +2 -0
- package/dist/features/bundles/repository/bundles.repository.d.ts +36 -0
- package/dist/features/bundles/repository/bundles.repository.js +148 -0
- package/dist/features/bundles/repository/index.d.ts +1 -0
- package/dist/features/bundles/repository/index.js +1 -0
- package/dist/features/bundles/schemas/firestore.d.ts +88 -0
- package/dist/features/bundles/schemas/firestore.js +29 -0
- package/dist/features/bundles/schemas/index.d.ts +1 -0
- package/dist/features/bundles/schemas/index.js +1 -0
- package/dist/features/cart/actions/cart-actions.js +2 -1
- package/dist/features/cart/repository/cart.repository.js +1 -2
- package/dist/features/cart/schemas/firestore.d.ts +9 -6
- package/dist/features/cart/schemas/firestore.js +1 -2
- package/dist/features/cart/schemas/index.d.ts +7 -7
- package/dist/features/cart/utils/guest-cart.d.ts +6 -0
- package/dist/features/cart/utils/guest-cart.js +14 -0
- package/dist/features/categories/components/BrandDetailPageView.d.ts +3 -1
- package/dist/features/categories/components/BrandDetailPageView.js +6 -6
- package/dist/features/categories/components/CategoryDetailPageView.js +3 -3
- package/dist/features/categories/components/CategoryProductsListing.js +1 -1
- package/dist/features/categories/schemas/index.d.ts +24 -24
- package/dist/features/collections/schemas/index.d.ts +3 -3
- package/dist/features/consultation/schemas/index.d.ts +7 -7
- package/dist/features/corporate/schemas/index.d.ts +1 -1
- package/dist/features/events/components/AdminEventEditorView.d.ts +2 -1
- package/dist/features/events/components/AdminEventEditorView.js +10 -8
- package/dist/features/events/components/AdminEventsView.js +6 -3
- package/dist/features/events/components/EventDetailView.d.ts +7 -1
- package/dist/features/events/components/EventDetailView.js +4 -1
- package/dist/features/events/components/EventRafflesSection.d.ts +12 -0
- package/dist/features/events/components/EventRafflesSection.js +17 -0
- package/dist/features/events/components/index.d.ts +2 -0
- package/dist/features/events/components/index.js +1 -0
- package/dist/features/events/schemas/index.d.ts +41 -41
- package/dist/features/faq/actions/faq-actions.d.ts +16 -16
- package/dist/features/faq/schemas/index.d.ts +12 -12
- package/dist/features/history/actions/history-actions.d.ts +24 -0
- package/dist/features/history/actions/history-actions.js +43 -0
- package/dist/features/history/actions/index.d.ts +1 -0
- package/dist/features/history/actions/index.js +1 -0
- package/dist/features/history/components/HistoryTracker.d.ts +8 -0
- package/dist/features/history/components/HistoryTracker.js +18 -0
- package/dist/features/history/hooks/useHistory.d.ts +16 -0
- package/dist/features/history/hooks/useHistory.js +148 -0
- package/dist/features/history/hooks/useHistoryMergeOnLogin.d.ts +1 -0
- package/dist/features/history/hooks/useHistoryMergeOnLogin.js +41 -0
- package/dist/features/history/index.d.ts +5 -0
- package/dist/features/history/index.js +4 -0
- package/dist/features/history/repository/user-history.repository.d.ts +59 -0
- package/dist/features/history/repository/user-history.repository.js +203 -0
- package/dist/features/history/server.d.ts +6 -0
- package/dist/features/history/server.js +6 -0
- package/dist/features/history/utils/guest-history.d.ts +24 -0
- package/dist/features/history/utils/guest-history.js +66 -0
- package/dist/features/homepage/actions/homepage-section-actions.d.ts +4 -4
- package/dist/features/homepage/components/BrandsSection.d.ts +7 -1
- package/dist/features/homepage/components/BrandsSection.js +26 -4
- package/dist/features/homepage/components/CollectionCardsSection.d.ts +13 -0
- package/dist/features/homepage/components/CollectionCardsSection.js +41 -0
- package/dist/features/homepage/components/FAQSection.d.ts +14 -4
- package/dist/features/homepage/components/FAQSection.js +63 -13
- package/dist/features/homepage/components/FeaturedProductsSection.d.ts +8 -1
- package/dist/features/homepage/components/FeaturedProductsSection.js +42 -2
- package/dist/features/homepage/components/MarketplaceHomepageView.js +17 -8
- package/dist/features/homepage/components/ShopByCategorySection.d.ts +8 -1
- package/dist/features/homepage/components/ShopByCategorySection.js +44 -4
- package/dist/features/homepage/components/SocialFeedSection.js +22 -2
- package/dist/features/homepage/components/SocialPostCard.js +20 -5
- package/dist/features/homepage/components/WelcomeSection.js +2 -2
- package/dist/features/homepage/components/WhatsAppCommunitySection.d.ts +0 -1
- package/dist/features/homepage/components/WhatsAppCommunitySection.js +4 -4
- package/dist/features/homepage/lib/live-stats.d.ts +18 -5
- package/dist/features/homepage/lib/live-stats.js +60 -29
- package/dist/features/homepage/lib/section-renderer.d.ts +2 -1
- package/dist/features/homepage/lib/section-renderer.js +50 -11
- package/dist/features/homepage/repository/carousels.repository.d.ts +38 -0
- package/dist/features/homepage/repository/carousels.repository.js +142 -0
- package/dist/features/homepage/schemas/firestore.d.ts +177 -21
- package/dist/features/homepage/schemas/firestore.js +24 -0
- package/dist/features/layout/AppLayoutShell.d.ts +3 -1
- package/dist/features/layout/AppLayoutShell.js +2 -2
- package/dist/features/layout/TitleBarLayout.d.ts +3 -1
- package/dist/features/layout/TitleBarLayout.js +5 -4
- package/dist/features/layout/index.d.ts +1 -1
- package/dist/features/media/MediaPickerModal.js +67 -3
- package/dist/features/media/types/index.d.ts +2 -2
- package/dist/features/media/upload/MediaUploadField.js +21 -5
- package/dist/features/messages/actions/index.d.ts +2 -0
- package/dist/features/messages/actions/index.js +2 -0
- package/dist/features/messages/actions/messages-actions.d.ts +15 -0
- package/dist/features/messages/actions/messages-actions.js +33 -0
- package/dist/features/messages/actions/ping-rtdb.d.ts +2 -0
- package/dist/features/messages/actions/ping-rtdb.js +24 -0
- package/dist/features/messages/hooks/useConversation.d.ts +22 -0
- package/dist/features/messages/hooks/useConversation.js +125 -0
- package/dist/features/messages/hooks/useConversations.d.ts +9 -0
- package/dist/features/messages/hooks/useConversations.js +62 -0
- package/dist/features/messages/index.d.ts +6 -0
- package/dist/features/messages/index.js +4 -0
- package/dist/features/messages/realtime.d.ts +32 -0
- package/dist/features/messages/realtime.js +39 -0
- package/dist/features/messages/repository/conversations.repository.d.ts +35 -0
- package/dist/features/messages/repository/conversations.repository.js +180 -0
- package/dist/features/messages/server.d.ts +6 -0
- package/dist/features/messages/server.js +6 -0
- package/dist/features/orders/schemas/firestore.d.ts +21 -0
- package/dist/features/orders/schemas/index.d.ts +28 -28
- package/dist/features/orders/utils/order-splitter.d.ts +12 -2
- package/dist/features/orders/utils/order-splitter.js +13 -2
- package/dist/features/payments/schemas/index.d.ts +6 -6
- package/dist/features/pre-orders/api/route.js +10 -11
- package/dist/features/pre-orders/components/PreOrderDetailPageView.d.ts +11 -1
- package/dist/features/pre-orders/components/PreOrderDetailPageView.js +45 -35
- package/dist/features/pre-orders/components/PreOrdersIndexListing.js +24 -7
- package/dist/features/pre-orders/components/PreOrdersListView.js +10 -5
- package/dist/features/pre-orders/schemas/index.d.ts +6 -6
- package/dist/features/products/actions/product-actions.d.ts +2 -2
- package/dist/features/products/actions/product-actions.js +21 -16
- package/dist/features/products/api/[id]/route.js +4 -4
- package/dist/features/products/api/route.js +21 -6
- package/dist/features/products/components/AuctionsIndexListing.js +1 -1
- package/dist/features/products/components/CompareOverlay.d.ts +51 -0
- package/dist/features/products/components/CompareOverlay.js +154 -0
- package/dist/features/products/components/FeatureBadge.d.ts +28 -0
- package/dist/features/products/components/FeatureBadge.js +63 -0
- package/dist/features/products/components/GroupSettingsPanel.js +1 -1
- package/dist/features/products/components/NonRefundableConsentModal.d.ts +23 -0
- package/dist/features/products/components/NonRefundableConsentModal.js +55 -0
- package/dist/features/products/components/PrizeDrawsSection.d.ts +12 -0
- package/dist/features/products/components/PrizeDrawsSection.js +17 -0
- package/dist/features/products/components/ProductDetailPageView.d.ts +16 -1
- package/dist/features/products/components/ProductDetailPageView.js +65 -60
- package/dist/features/products/components/ProductFeaturesContext.d.ts +9 -0
- package/dist/features/products/components/ProductFeaturesContext.js +11 -0
- package/dist/features/products/components/ProductFeaturesSelector.d.ts +12 -0
- package/dist/features/products/components/ProductFeaturesSelector.js +72 -0
- package/dist/features/products/components/ProductForm.js +9 -3
- package/dist/features/products/components/ProductGrid.js +9 -3
- package/dist/features/products/components/ProductsIndexListing.js +24 -8
- package/dist/features/products/components/ProductsIndexPageView.js +12 -7
- package/dist/features/products/components/ShowGroupSection.js +2 -1
- package/dist/features/products/components/SublistingCarouselSection.js +3 -2
- package/dist/features/products/components/index.d.ts +12 -0
- package/dist/features/products/components/index.js +6 -0
- package/dist/features/products/constants/action-defs.d.ts +209 -0
- package/dist/features/products/constants/action-defs.js +270 -0
- package/dist/features/products/constants/product-features.constants.d.ts +23 -0
- package/dist/features/products/constants/product-features.constants.js +50 -0
- package/dist/features/products/hooks/useProducts.d.ts +1 -0
- package/dist/features/products/hooks/useProducts.js +15 -6
- package/dist/features/products/hooks/useRelatedProducts.d.ts +5 -0
- package/dist/features/products/hooks/useRelatedProducts.js +9 -1
- package/dist/features/products/index.d.ts +3 -1
- package/dist/features/products/index.js +3 -1
- package/dist/features/products/repository/loadProductFeatures.d.ts +2 -0
- package/dist/features/products/repository/loadProductFeatures.js +23 -0
- package/dist/features/products/repository/product-features.repository.d.ts +27 -0
- package/dist/features/products/repository/product-features.repository.js +141 -0
- package/dist/features/products/repository/product-templates.repository.d.ts +12 -0
- package/dist/features/products/repository/product-templates.repository.js +61 -0
- package/dist/features/products/repository/products.repository.d.ts +16 -1
- package/dist/features/products/repository/products.repository.js +126 -6
- package/dist/features/products/schemas/firestore.d.ts +43 -5
- package/dist/features/products/schemas/firestore.js +6 -7
- package/dist/features/products/schemas/index.d.ts +147 -51
- package/dist/features/products/schemas/index.js +32 -3
- package/dist/features/products/schemas/product-features.d.ts +84 -0
- package/dist/features/products/schemas/product-features.js +33 -0
- package/dist/features/products/schemas/product-features.validators.d.ts +107 -0
- package/dist/features/products/schemas/product-features.validators.js +64 -0
- package/dist/features/products/schemas/product-templates.d.ts +28 -0
- package/dist/features/products/schemas/product-templates.js +6 -0
- package/dist/features/products/types/index.d.ts +13 -5
- package/dist/features/products/utils/listing-type.d.ts +23 -2
- package/dist/features/products/utils/listing-type.js +14 -7
- package/dist/features/products/utils/sanitize.d.ts +2 -0
- package/dist/features/products/utils/sanitize.js +25 -0
- package/dist/features/promotions/actions/coupon-actions.d.ts +2 -2
- package/dist/features/promotions/components/CouponsIndexListing.d.ts +4 -4
- package/dist/features/promotions/components/CouponsIndexListing.js +3 -3
- package/dist/features/promotions/hooks/useCouponValidate.d.ts +2 -2
- package/dist/features/promotions/repository/coupons.repository.d.ts +2 -2
- package/dist/features/promotions/repository/coupons.repository.js +5 -5
- package/dist/features/promotions/schemas/index.d.ts +18 -18
- package/dist/features/reviews/schemas/index.d.ts +16 -16
- package/dist/features/search/actions/search-actions.js +4 -5
- package/dist/features/search/api/route.js +13 -10
- package/dist/features/search/columns/index.d.ts +1 -1
- package/dist/features/search/columns/index.js +4 -4
- package/dist/features/search/repository/search.repository.js +4 -6
- package/dist/features/search/schemas/index.d.ts +5 -5
- package/dist/features/search/types/index.d.ts +4 -3
- package/dist/features/seller/actions/offer-actions.js +1 -2
- package/dist/features/seller/components/BrandInlineSelect.d.ts +9 -0
- package/dist/features/seller/components/BrandInlineSelect.js +26 -0
- package/dist/features/seller/components/CategoryInlineSelect.d.ts +9 -0
- package/dist/features/seller/components/CategoryInlineSelect.js +26 -0
- package/dist/features/seller/components/SellerFeaturesView.d.ts +1 -0
- package/dist/features/seller/components/SellerFeaturesView.js +61 -0
- package/dist/features/seller/components/SellerProductShell.d.ts +15 -1
- package/dist/features/seller/components/SellerProductShell.js +7 -7
- package/dist/features/seller/components/SellerProductsView.js +17 -17
- package/dist/features/seller/components/SellerStorefrontView.d.ts +7 -0
- package/dist/features/seller/components/SellerStorefrontView.js +12 -2
- package/dist/features/seller/components/analytics/SellerRevenueChart.js +9 -17
- package/dist/features/seller/components/index.d.ts +6 -0
- package/dist/features/seller/components/index.js +4 -0
- package/dist/features/seller/schemas/index.d.ts +26 -26
- package/dist/features/shell/FormShell.d.ts +9 -1
- package/dist/features/shell/FormShell.js +5 -3
- package/dist/features/stores/actions/store-query-actions.js +2 -2
- package/dist/features/stores/api/[storeSlug]/auctions/route.js +11 -15
- package/dist/features/stores/api/[storeSlug]/products/route.js +11 -15
- package/dist/features/stores/api/route.js +12 -14
- package/dist/features/stores/components/StoreAuctionsListing.d.ts +2 -4
- package/dist/features/stores/components/StoreAuctionsListing.js +3 -4
- package/dist/features/stores/components/StoreAuctionsPageView.js +1 -1
- package/dist/features/stores/components/StoreDetailLayoutView.js +3 -3
- package/dist/features/stores/components/StorePreOrdersListing.d.ts +1 -3
- package/dist/features/stores/components/StorePreOrdersListing.js +2 -3
- package/dist/features/stores/components/StorePreOrdersPageView.js +1 -1
- package/dist/features/stores/components/StoreProductsListing.d.ts +2 -4
- package/dist/features/stores/components/StoreProductsListing.js +2 -3
- package/dist/features/stores/components/StoreProductsPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreProductsPageView.js +17 -11
- package/dist/features/stores/repository/store.repository.d.ts +10 -0
- package/dist/features/stores/repository/store.repository.js +39 -0
- package/dist/features/stores/schemas/firestore.d.ts +7 -0
- package/dist/features/stores/schemas/index.d.ts +8 -8
- package/dist/features/stores/types/index.d.ts +4 -3
- package/dist/features/wishlist/actions/wishlist-actions.d.ts +8 -6
- package/dist/features/wishlist/actions/wishlist-actions.js +9 -7
- package/dist/features/wishlist/components/WishlistCapWatcher.d.ts +1 -0
- package/dist/features/wishlist/components/WishlistCapWatcher.js +24 -0
- package/dist/features/wishlist/components/index.d.ts +1 -0
- package/dist/features/wishlist/components/index.js +1 -0
- package/dist/features/wishlist/hooks/useWishlistCount.d.ts +17 -0
- package/dist/features/wishlist/hooks/useWishlistCount.js +36 -1
- package/dist/features/wishlist/index.d.ts +2 -0
- package/dist/features/wishlist/index.js +1 -0
- package/dist/features/wishlist/repository/user-wishlist.repository.d.ts +52 -7
- package/dist/features/wishlist/repository/user-wishlist.repository.js +154 -44
- package/dist/features/wishlist/schemas/index.d.ts +2 -2
- package/dist/features/wishlist/server.d.ts +1 -1
- package/dist/features/wishlist/server.js +1 -1
- package/dist/features/wishlist/types/index.d.ts +2 -2
- package/dist/index.d.ts +87 -5
- package/dist/index.js +101 -12
- package/dist/next/api/routeHandler.d.ts +7 -0
- package/dist/next/api/routeHandler.js +8 -0
- package/dist/next/routing/route-map.d.ts +68 -0
- package/dist/next/routing/route-map.js +32 -0
- package/dist/providers/db-firebase/filter-aliases.d.ts +20 -0
- package/dist/providers/db-firebase/filter-aliases.js +29 -0
- package/dist/providers/db-firebase/index.d.ts +2 -2
- package/dist/providers/db-firebase/index.js +1 -1
- package/dist/providers/db-firebase/sieve.d.ts +9 -0
- package/dist/providers/db-firebase/sieve.js +24 -6
- package/dist/providers/firebase-client/auth.d.ts +1 -0
- package/dist/providers/firebase-client/auth.js +9 -1
- package/dist/providers/shipping-shiprocket/index.d.ts +9 -0
- package/dist/providers/shipping-shiprocket/index.js +11 -0
- package/dist/react/hooks/use-action-dispatch.d.ts +25 -0
- package/dist/react/hooks/use-action-dispatch.js +30 -0
- package/dist/react/hooks/use-panel-url-sync.d.ts +15 -0
- package/dist/react/hooks/use-panel-url-sync.js +46 -0
- package/dist/react/hooks/useInfiniteScroll.d.ts +52 -0
- package/dist/react/hooks/useInfiniteScroll.js +45 -0
- package/dist/repositories/index.d.ts +9 -1
- package/dist/repositories/index.js +8 -1
- package/dist/seed/_bundle-constants.d.ts +14 -0
- package/dist/seed/_bundle-constants.js +14 -0
- package/dist/seed/actions/demo-seed-actions.d.ts +1 -1
- package/dist/seed/bids-seed-data.js +165 -0
- package/dist/seed/blog-posts-seed-data.js +393 -0
- package/dist/seed/bundles-seed-data.d.ts +13 -0
- package/dist/seed/bundles-seed-data.js +229 -0
- package/dist/seed/carousels-seed-data.d.ts +2 -0
- package/dist/seed/carousels-seed-data.js +16 -0
- package/dist/seed/cart-seed-data.js +161 -16
- package/dist/seed/categories-seed-data.js +168 -0
- package/dist/seed/coupons-seed-data.js +174 -0
- package/dist/seed/events-seed-data.js +161 -0
- package/dist/seed/history-seed-data.d.ts +19 -0
- package/dist/seed/history-seed-data.js +61 -0
- package/dist/seed/homepage-sections-seed-data.js +97 -1
- package/dist/seed/index.d.ts +4 -3
- package/dist/seed/index.js +9 -3
- package/dist/seed/manifest.js +23 -1
- package/dist/seed/notifications-seed-data.js +60 -0
- package/dist/seed/orders-seed-data.js +2 -2
- package/dist/seed/product-features-seed-data.d.ts +10 -0
- package/dist/seed/product-features-seed-data.js +162 -0
- package/dist/seed/products-auctions-seed-data.d.ts +6 -1
- package/dist/seed/products-auctions-seed-data.js +495 -24
- package/dist/seed/products-preorders-seed-data.d.ts +6 -1
- package/dist/seed/products-preorders-seed-data.js +27 -18
- package/dist/seed/products-standard-seed-data.d.ts +5 -0
- package/dist/seed/products-standard-seed-data.js +208 -297
- package/dist/seed/runner.js +95 -16
- package/dist/seed/server.d.ts +2 -0
- package/dist/seed/server.js +7 -0
- package/dist/seed/site-settings-seed-data.js +11 -1
- package/dist/seed/types.d.ts +58 -1
- package/dist/seed/types.js +14 -1
- package/dist/seed/wishlists-seed-data.d.ts +14 -7
- package/dist/seed/wishlists-seed-data.js +52 -109
- package/dist/seo/json-ld.d.ts +2 -1
- package/dist/server-entry.d.ts +60 -0
- package/dist/server-entry.js +93 -0
- package/dist/server.d.ts +26 -3
- package/dist/server.js +39 -7
- package/dist/stores/panel-store.d.ts +9 -0
- package/dist/stores/panel-store.js +8 -0
- package/dist/tailwind-utilities.css +1 -1
- package/dist/tokens/tokens.css +182 -12
- package/dist/ui/DataTable.style.css +192 -190
- package/dist/ui/components/Accordion.style.css +82 -82
- package/dist/ui/components/ActiveFilterChips.style.css +12 -12
- package/dist/ui/components/Alert.style.css +187 -187
- package/dist/ui/components/Avatar.style.css +71 -71
- package/dist/ui/components/AvatarDisplay.style.css +3 -3
- package/dist/ui/components/Badge.style.css +114 -114
- package/dist/ui/components/BaseListingCard.style.css +86 -86
- package/dist/ui/components/Breadcrumb.style.css +10 -10
- package/dist/ui/components/BulkActionBar.style.css +196 -196
- package/dist/ui/components/BulkActionsBar.d.ts +2 -0
- package/dist/ui/components/BulkActionsBar.js +5 -2
- package/dist/ui/components/Button.d.ts +3 -1
- package/dist/ui/components/Button.js +12 -2
- package/dist/ui/components/Button.style.css +160 -160
- package/dist/ui/components/Card.style.css +190 -190
- package/dist/ui/components/Checkbox.style.css +111 -111
- package/dist/ui/components/ConfirmDeleteModal.style.css +89 -89
- package/dist/ui/components/DashboardStatsCard.style.css +68 -68
- package/dist/ui/components/DescriptionField.style.css +36 -36
- package/dist/ui/components/DetailViewShell.js +1 -2
- package/dist/ui/components/Divider.style.css +39 -39
- package/dist/ui/components/Drawer.style.css +150 -150
- package/dist/ui/components/Dropdown.style.css +110 -110
- package/dist/ui/components/DynamicSelect.style.css +101 -101
- package/dist/ui/components/EmptyState.style.css +2 -2
- package/dist/ui/components/FilterDrawer.style.css +61 -61
- package/dist/ui/components/FlowDiagram.style.css +3 -3
- package/dist/ui/components/Form.style.css +27 -27
- package/dist/ui/components/FormActionBar.d.ts +22 -0
- package/dist/ui/components/FormActionBar.js +8 -0
- package/dist/ui/components/FormActionBar.style.css +77 -0
- package/dist/ui/components/FormField.style.css +30 -30
- package/dist/ui/components/HorizontalScroller.style.css +10 -10
- package/dist/ui/components/IconButton.style.css +103 -103
- package/dist/ui/components/ImageGallery.style.css +4 -4
- package/dist/ui/components/InlineCreateSelect.d.ts +13 -3
- package/dist/ui/components/InlineCreateSelect.js +9 -4
- package/dist/ui/components/Input.style.css +28 -28
- package/dist/ui/components/Layout.d.ts +2 -0
- package/dist/ui/components/Layout.js +2 -0
- package/dist/ui/components/Layout.style.css +22 -5
- package/dist/ui/components/ListingLayout.style.css +491 -491
- package/dist/ui/components/Modal.style.css +106 -106
- package/dist/ui/components/Pagination.style.css +76 -76
- package/dist/ui/components/PasswordStrengthIndicator.style.css +56 -56
- package/dist/ui/components/PriceDisplay.style.css +47 -47
- package/dist/ui/components/Progress.style.css +81 -81
- package/dist/ui/components/Radio.style.css +153 -153
- package/dist/ui/components/RatingDisplay.style.css +50 -50
- package/dist/ui/components/RowActionMenu.style.css +91 -91
- package/dist/ui/components/SectionTabs.style.css +18 -18
- package/dist/ui/components/Select.style.css +177 -177
- package/dist/ui/components/SideDrawer.style.css +206 -206
- package/dist/ui/components/SideModal.style.css +73 -73
- package/dist/ui/components/SiteLogo.d.ts +26 -0
- package/dist/ui/components/SiteLogo.js +18 -0
- package/dist/ui/components/Skeleton.style.css +55 -55
- package/dist/ui/components/SkipToMain.style.css +3 -3
- package/dist/ui/components/Slider.style.css +15 -15
- package/dist/ui/components/Spinner.style.css +84 -84
- package/dist/ui/components/StarRating.style.css +44 -44
- package/dist/ui/components/StatsGrid.style.css +96 -96
- package/dist/ui/components/StepperNav.style.css +110 -110
- package/dist/ui/components/SummaryCard.style.css +80 -82
- package/dist/ui/components/TabStrip.style.css +97 -97
- package/dist/ui/components/TablePagination.style.css +89 -89
- package/dist/ui/components/Tabs.style.css +44 -44
- package/dist/ui/components/TagInput.style.css +121 -121
- package/dist/ui/components/TextLink.style.css +94 -94
- package/dist/ui/components/Textarea.style.css +30 -30
- package/dist/ui/components/Toast.style.css +112 -112
- package/dist/ui/components/Toggle.style.css +105 -105
- package/dist/ui/components/Tooltip.style.css +114 -114
- package/dist/ui/components/Typography.style.css +178 -178
- package/dist/ui/components/UnsavedChangesModal.style.css +1 -1
- package/dist/ui/components/ViewToggle.style.css +8 -8
- package/dist/ui/components/index.style.css +1 -0
- package/dist/ui/index.d.ts +4 -0
- package/dist/ui/index.js +2 -0
- package/dist/ui/rich-text/RichText.style.css +40 -40
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/listing-params.d.ts +86 -0
- package/dist/utils/listing-params.js +121 -0
- package/dist/validation/schemas.d.ts +22 -22
- package/package.json +62 -10
- package/scripts/audit-violations.mjs +77 -0
- package/scripts/init-config.mjs +76 -0
- package/scripts/labels-extract.mjs +64 -0
- package/scripts/seed-cli-loader.mjs +37 -0
- package/scripts/seed-cli.mjs +660 -0
- package/scripts/sieve-audit.mjs +475 -0
- package/scripts/smoke-bundle.mjs +60 -0
- package/scripts/smoke-ssr.mjs +81 -0
- package/scripts/smoke-theme.mjs +105 -0
- package/scripts/verify-css-build.mjs +49 -0
- package/scripts/verify-entries.mjs +55 -0
- package/tsconfig.base.json +16 -0
|
@@ -292,4 +292,397 @@ export const blogPostsSeedData = [
|
|
|
292
292
|
createdAt: daysAgo(6),
|
|
293
293
|
updatedAt: daysAgo(4),
|
|
294
294
|
},
|
|
295
|
+
// ── 9. Pokémon TCG SV Era Set Review ─────────────────────────────────────
|
|
296
|
+
{
|
|
297
|
+
id: "blog-pokemon-scarlet-violet-era-set-review",
|
|
298
|
+
slug: "blog-pokemon-scarlet-violet-era-set-review",
|
|
299
|
+
title: "Pokémon TCG Scarlet & Violet Era — Best Sets to Invest In",
|
|
300
|
+
excerpt: "The SV block has produced some of the most printed Pokémon sets ever — but a few releases stand out as long-term investment plays. Here is our 18-month outlook.",
|
|
301
|
+
content: `<h2>SV Era — Context</h2>
|
|
302
|
+
<p>Scarlet & Violet kicked off in March 2023 with a base set that printed at unprecedented volumes. The era has seen 9 main sets so far, plus special expansions and Pokémon Center exclusives.</p>
|
|
303
|
+
<h2>Sets Worth Holding Sealed</h2>
|
|
304
|
+
<p><strong>Paldea Evolved</strong> — Iono Special Illustration Rare drove secondary prices on character art chases. Booster boxes still trade near MSRP. Long-term sealed potential: moderate.</p>
|
|
305
|
+
<p><strong>151</strong> — The nostalgia-driven Kanto reprint set is the strongest SV-era performer. Booster boxes have appreciated 40% since release. Hold sealed.</p>
|
|
306
|
+
<p><strong>Shrouded Fable</strong> — Pecharunt mini-set with strong art rares. Limited print compared to mainline sets. Speculative hold.</p>
|
|
307
|
+
<h2>Cards to Watch in Singles</h2>
|
|
308
|
+
<ol>
|
|
309
|
+
<li>Iono SIR (Paldea Evolved) — character art chase, female trainer demand.</li>
|
|
310
|
+
<li>Charizard ex Obsidian Flames Hyper Rare — flagship card of the era.</li>
|
|
311
|
+
<li>Mew ex 151 — nostalgia chase, low alt-art print run.</li>
|
|
312
|
+
<li>Pikachu ex Surging Sparks — Special Illustration Rare with strong eye-appeal.</li>
|
|
313
|
+
</ol>
|
|
314
|
+
<p>Buy what you like, hold long-term, and never YOLO an entire investment thesis on one set.</p>`,
|
|
315
|
+
coverImage: "https://images.unsplash.com/photo-1607604276583-eef5d076aa5f?w=1200&h=630&fit=crop",
|
|
316
|
+
category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
|
|
317
|
+
tags: ["pokemon", "tcg", "investment", "sv-era", "set-review"],
|
|
318
|
+
isFeatured: true,
|
|
319
|
+
status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
320
|
+
publishedAt: daysAgo(50),
|
|
321
|
+
authorId: "user-admin-letitrip",
|
|
322
|
+
authorName: "LetItRip Admin",
|
|
323
|
+
readTimeMinutes: 6,
|
|
324
|
+
views: 3210,
|
|
325
|
+
metaTitle: "Pokémon SV Era Set Review — Best Sets to Invest | LetItRip",
|
|
326
|
+
metaDescription: "Detailed review of Scarlet & Violet Pokémon TCG sets — which to hold sealed, which singles to chase, and 18-month outlook.",
|
|
327
|
+
createdAt: daysAgo(52),
|
|
328
|
+
updatedAt: daysAgo(50),
|
|
329
|
+
},
|
|
330
|
+
// ── 10. Hot Wheels Treasure Hunt Pulls Strategy ──────────────────────────
|
|
331
|
+
{
|
|
332
|
+
id: "blog-hot-wheels-treasure-hunt-pulls-strategy",
|
|
333
|
+
slug: "blog-hot-wheels-treasure-hunt-pulls-strategy",
|
|
334
|
+
title: "Hot Wheels Treasure Hunt Pulls — Maximising Your Hunt",
|
|
335
|
+
excerpt: "Treasure Hunts and Super Treasure Hunts are the holy grail for HW collectors. Here is how to actually find them at retail in India.",
|
|
336
|
+
content: `<h2>TH vs STH</h2>
|
|
337
|
+
<p>Treasure Hunts have a flame logo on the card and standard wheel-and-tyre combo. Super Treasure Hunts have Real Riders rubber tyres, Spectraflame paint, and a TH logo hidden inside the artwork. STH cards trade 5–20× retail; TH cards 2–4×.</p>
|
|
338
|
+
<h2>Case-Hit Ratios</h2>
|
|
339
|
+
<p>An A/B/C/D case mix has roughly 1 STH per 72 cars and 1 TH per 72 cars. That means a single case yields one of each. Knowing the case codes printed on the cardback (J24, K24, L24, etc.) is what separates hunters from random shoppers.</p>
|
|
340
|
+
<h2>Where to Hunt in India</h2>
|
|
341
|
+
<ol>
|
|
342
|
+
<li><strong>Hamleys, Reliance Smart, and Hypercity</strong> — restock Wednesdays in metro cities.</li>
|
|
343
|
+
<li><strong>Mall toy stores</strong> — Crossword, Funskool boutiques — restock weekly.</li>
|
|
344
|
+
<li><strong>Toy section in Big Bazaar / Star Bazaar</strong> — sometimes carries STH overlooked.</li>
|
|
345
|
+
<li><strong>Online: Flipkart, Amazon</strong> — pricing inflated; better for verified STH.</li>
|
|
346
|
+
</ol>
|
|
347
|
+
<h2>Identifying STH at a Glance</h2>
|
|
348
|
+
<p>Flip the car and look at the wheels. Real Riders (rubber, separate wheel + tyre piece) = STH. Standard 5-spoke or HW basic wheels = regular release. The Spectraflame paint flashes blue/green/purple under store fluorescent light. Practice in front of a mirror with a known STH so your eye gets calibrated.</p>`,
|
|
349
|
+
coverImage: "https://images.unsplash.com/photo-1566576912321-d58ddd7a6088?w=1200&h=630&fit=crop",
|
|
350
|
+
category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
|
|
351
|
+
tags: ["hot-wheels", "treasure-hunt", "super-th", "hunting", "diecast"],
|
|
352
|
+
isFeatured: false,
|
|
353
|
+
status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
354
|
+
publishedAt: daysAgo(45),
|
|
355
|
+
authorId: "user-admin-letitrip",
|
|
356
|
+
authorName: "LetItRip Admin",
|
|
357
|
+
readTimeMinutes: 5,
|
|
358
|
+
views: 2890,
|
|
359
|
+
metaTitle: "Hot Wheels Treasure Hunt Hunting Strategy India | LetItRip",
|
|
360
|
+
metaDescription: "How to find Hot Wheels Treasure Hunts and Super Treasure Hunts at retail in India — case-hit ratios, restock days, and identification tips.",
|
|
361
|
+
createdAt: daysAgo(47),
|
|
362
|
+
updatedAt: daysAgo(45),
|
|
363
|
+
},
|
|
364
|
+
// ── 11. Selling Tips for First-Time Sellers ──────────────────────────────
|
|
365
|
+
{
|
|
366
|
+
id: "blog-first-time-seller-tips-photography-shipping",
|
|
367
|
+
slug: "blog-first-time-seller-tips-photography-shipping",
|
|
368
|
+
title: "First-Time Seller's Guide — Photography, Pricing, and Shipping",
|
|
369
|
+
excerpt: "About to list your first collectibles on LetItRip? This guide covers the three biggest mistakes new sellers make and how to avoid them.",
|
|
370
|
+
content: `<h2>Photography</h2>
|
|
371
|
+
<p>Bad photos lose 70% of potential buyers in the first three seconds. Use natural light from a north-facing window. Shoot the front, back, and any defects honestly. Show the slab cert number for graded cards. Six photos minimum per listing.</p>
|
|
372
|
+
<h2>Pricing</h2>
|
|
373
|
+
<p>Check completed sales (not active listings) on three or more platforms for comps. Underprice slightly for first sales to build reviews — a 4.9-star seller commands a 10–15% premium across the board.</p>
|
|
374
|
+
<h2>Shipping</h2>
|
|
375
|
+
<p>Use rigid mailers for cards. Foam-lined boxes for figures and diecast. Always include tracking. India Post Speed Post is reliable for under ₹5,000 items; Blue Dart or DTDC Plus for higher value. Insure anything over ₹3,000.</p>
|
|
376
|
+
<h2>Common Mistakes</h2>
|
|
377
|
+
<ol>
|
|
378
|
+
<li>Generic stock photos instead of actual item — buyers will dispute.</li>
|
|
379
|
+
<li>No defect disclosure — leads to refunds and bad reviews.</li>
|
|
380
|
+
<li>Ignoring offers and messages — kills repeat business.</li>
|
|
381
|
+
<li>Soft-packing fragile items — broken in transit means losing both shipping and item cost.</li>
|
|
382
|
+
</ol>
|
|
383
|
+
<p>Start small, build a track record, then scale your store inventory.</p>`,
|
|
384
|
+
coverImage: "https://images.unsplash.com/photo-1607604276583-eef5d076aa5f?w=1200&h=630&fit=crop",
|
|
385
|
+
category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
|
|
386
|
+
tags: ["selling", "seller-tips", "photography", "shipping", "pricing"],
|
|
387
|
+
isFeatured: false,
|
|
388
|
+
status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
389
|
+
publishedAt: daysAgo(38),
|
|
390
|
+
authorId: "user-admin-letitrip",
|
|
391
|
+
authorName: "LetItRip Admin",
|
|
392
|
+
readTimeMinutes: 4,
|
|
393
|
+
views: 1640,
|
|
394
|
+
metaTitle: "First-Time Seller Guide — Photos, Pricing, Shipping | LetItRip",
|
|
395
|
+
metaDescription: "Three biggest mistakes new collectibles sellers make and how to avoid them. Photography, pricing, and shipping basics.",
|
|
396
|
+
createdAt: daysAgo(40),
|
|
397
|
+
updatedAt: daysAgo(38),
|
|
398
|
+
},
|
|
399
|
+
// ── 12. Anime Figure Bootleg Detection ───────────────────────────────────
|
|
400
|
+
{
|
|
401
|
+
id: "blog-anime-figure-bootleg-detection-guide",
|
|
402
|
+
slug: "blog-anime-figure-bootleg-detection-guide",
|
|
403
|
+
title: "How to Spot a Bootleg Anime Figure",
|
|
404
|
+
excerpt: "The Chinese bootleg figure market is sophisticated enough that even seasoned collectors get fooled. Here are the tells that separate authentic from KO.",
|
|
405
|
+
content: `<h2>Box Tells</h2>
|
|
406
|
+
<p>Authentic Good Smile, Bandai, and Alter boxes have crisp four-colour printing with consistent registration. Bootleg boxes often show slight misalignment on dark colours, lower-resolution character art, and Japanese text that's clearly photocopied.</p>
|
|
407
|
+
<h2>Sculpt Tells</h2>
|
|
408
|
+
<p>Compare the production figure against the official prototype photos. Eye paint is the #1 bootleg giveaway — bootlegs have crooked, asymmetric, or smudged eyes. Hair flow lines that should be sharp will be soft or blobby on a bootleg.</p>
|
|
409
|
+
<h2>Paint Tells</h2>
|
|
410
|
+
<p>Look at gradient skin tones. Authentic figures use 3–4 layer airbrushed paint. Bootlegs are usually a single flat tone or have visible brush strokes. Hair highlights look painted-on, not airbrushed.</p>
|
|
411
|
+
<h2>Base + Accessories</h2>
|
|
412
|
+
<p>Authentic bases are heavy plastic with smooth molding. Bootleg bases warp and have visible mold-line seams. Accessories like swords or magic effects come in separate compartments in authentic packaging; bootlegs often dump them all together.</p>
|
|
413
|
+
<h2>Where to Buy Safely</h2>
|
|
414
|
+
<p>AmiAmi, HobbyLink Japan, BBTS, and Solaris Japan are authorised. On LetItRip we verify every figure seller's box photos and run cross-checks against official prototype images before approval. Avoid any "deal too good to be true" — bootleg pricing is usually 30–50% below MSRP.</p>`,
|
|
415
|
+
coverImage: "https://images.unsplash.com/photo-1578632767115-351597cf2477?w=1200&h=630&fit=crop",
|
|
416
|
+
category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
|
|
417
|
+
tags: ["anime-figures", "bootleg-detection", "authentication", "buying-guide"],
|
|
418
|
+
isFeatured: true,
|
|
419
|
+
status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
420
|
+
publishedAt: daysAgo(32),
|
|
421
|
+
authorId: "user-admin-letitrip",
|
|
422
|
+
authorName: "LetItRip Admin",
|
|
423
|
+
readTimeMinutes: 6,
|
|
424
|
+
views: 2450,
|
|
425
|
+
metaTitle: "How to Spot a Bootleg Anime Figure | LetItRip",
|
|
426
|
+
metaDescription: "Detailed guide to spotting bootleg anime figures — box, sculpt, paint, and base tells. Stay safe buying figures online.",
|
|
427
|
+
createdAt: daysAgo(34),
|
|
428
|
+
updatedAt: daysAgo(32),
|
|
429
|
+
},
|
|
430
|
+
// ── 13. Gunpla Build Tips for Beginners ──────────────────────────────────
|
|
431
|
+
{
|
|
432
|
+
id: "blog-gunpla-beginner-build-tips-essential-tools",
|
|
433
|
+
slug: "blog-gunpla-beginner-build-tips-essential-tools",
|
|
434
|
+
title: "Gunpla for Beginners — Essential Tools and First Build Tips",
|
|
435
|
+
excerpt: "Starting your first Gunpla can be intimidating with 200+ parts. Here is exactly what tools you need and which kits to start with.",
|
|
436
|
+
content: `<h2>Tools You Actually Need</h2>
|
|
437
|
+
<ol>
|
|
438
|
+
<li><strong>God Hand SPN-120 nippers</strong> (₹3,500) — single-edge cutters for clean cuts. Worth every rupee.</li>
|
|
439
|
+
<li><strong>Hobby knife with replacement blades</strong> — for cleaning nub marks.</li>
|
|
440
|
+
<li><strong>Sanding sticks 400/600/800 grit</strong> — smooth nub remnants.</li>
|
|
441
|
+
<li><strong>Gundam markers</strong> — panel lining without ink bleed.</li>
|
|
442
|
+
<li><strong>Top coat spray</strong> — matte or gloss finish protects paint and decals.</li>
|
|
443
|
+
</ol>
|
|
444
|
+
<h2>Kits to Start With</h2>
|
|
445
|
+
<p><strong>HG RX-78-2 Revive</strong> (₹2,500) — modern engineering, snap-fit, no glue. 90 minutes to build. Perfect first kit.</p>
|
|
446
|
+
<p><strong>HG Barbatos</strong> (₹2,800) — Iron-Blooded Orphans series, popular silhouette, articulated frame.</p>
|
|
447
|
+
<p><strong>RG Zaku II</strong> (₹4,200) — Real Grade engineering with internal frame and runners. Step up from HG.</p>
|
|
448
|
+
<h2>Build Process</h2>
|
|
449
|
+
<p>Read the instruction book front-to-back before cutting any plastic. Cut twice — first cut leaves a nub on the part, second cut trims close, then sand smooth. Test-fit major sections before final assembly. Panel-line in stages so the ink doesn't dry on your hands.</p>`,
|
|
450
|
+
coverImage: "https://images.unsplash.com/photo-1657664072470-99b02c2143f2?w=1200&h=630&fit=crop",
|
|
451
|
+
category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
|
|
452
|
+
tags: ["gunpla", "gundam", "model-kits", "beginner", "tools"],
|
|
453
|
+
isFeatured: false,
|
|
454
|
+
status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
455
|
+
publishedAt: daysAgo(28),
|
|
456
|
+
authorId: "user-admin-letitrip",
|
|
457
|
+
authorName: "LetItRip Admin",
|
|
458
|
+
readTimeMinutes: 5,
|
|
459
|
+
views: 1980,
|
|
460
|
+
metaTitle: "Gunpla for Beginners — Tools and First Build | LetItRip",
|
|
461
|
+
metaDescription: "Essential tools for your first Gunpla build, recommended starter kits, and a step-by-step process. Beginner-friendly guide.",
|
|
462
|
+
createdAt: daysAgo(30),
|
|
463
|
+
updatedAt: daysAgo(28),
|
|
464
|
+
},
|
|
465
|
+
// ── 14. Yu-Gi-Oh! Investment Cards ───────────────────────────────────────
|
|
466
|
+
{
|
|
467
|
+
id: "blog-yugioh-investment-cards-2026",
|
|
468
|
+
slug: "blog-yugioh-investment-cards-2026",
|
|
469
|
+
title: "Yu-Gi-Oh! Investment Cards to Watch in 2026",
|
|
470
|
+
excerpt: "Yu-Gi-Oh! singles market has matured into a serious investment space. Five cards we expect to outperform over the next 12 months.",
|
|
471
|
+
content: `<h2>Why Yu-Gi-Oh! Now</h2>
|
|
472
|
+
<p>The 25th Anniversary Quarter Century Secret Rares have shifted price floors permanently higher. PSA-graded vintage 1st Edition LOB has appreciated 280% over five years. The market is real.</p>
|
|
473
|
+
<h2>Cards to Watch</h2>
|
|
474
|
+
<ol>
|
|
475
|
+
<li><strong>LOB-001 Blue-Eyes White Dragon 1st Edition PSA 9</strong> — flagship vintage card; appreciation track record is the strongest in the game.</li>
|
|
476
|
+
<li><strong>LOB-000 Exodia the Forbidden One 1st Edition</strong> — pop-culture iconic, low PSA 9+ population.</li>
|
|
477
|
+
<li><strong>Magician of Black Chaos LC01 25th Quarter Century</strong> — Yugi's anime ace, sub-200 PSA 10 globally.</li>
|
|
478
|
+
<li><strong>Dark Magician Girl 1st Edition Magician's Force</strong> — strong female-character demand.</li>
|
|
479
|
+
<li><strong>Tournament Black-Eyes prize cards</strong> — limited distribution, ultra-low supply.</li>
|
|
480
|
+
</ol>
|
|
481
|
+
<p>Always buy graded slabs from PSA/BGS — Yu-Gi-Oh! has a higher bootleg/reprint rate than Pokémon.</p>`,
|
|
482
|
+
coverImage: "https://images.unsplash.com/photo-1612036782180-6f0b6cd846fe?w=1200&h=630&fit=crop",
|
|
483
|
+
category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
|
|
484
|
+
tags: ["yugioh", "investment", "vintage", "psa", "1st-edition"],
|
|
485
|
+
isFeatured: false,
|
|
486
|
+
status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
487
|
+
publishedAt: daysAgo(22),
|
|
488
|
+
authorId: "user-admin-letitrip",
|
|
489
|
+
authorName: "LetItRip Admin",
|
|
490
|
+
readTimeMinutes: 4,
|
|
491
|
+
views: 1320,
|
|
492
|
+
metaTitle: "Yu-Gi-Oh! Investment Cards 2026 | LetItRip",
|
|
493
|
+
metaDescription: "Five Yu-Gi-Oh! cards expected to outperform in 2026 — vintage LOB classics, 25th anniversary Quarter Century, tournament prize cards.",
|
|
494
|
+
createdAt: daysAgo(24),
|
|
495
|
+
updatedAt: daysAgo(22),
|
|
496
|
+
},
|
|
497
|
+
// ── 15. Funko Pop Vaulting Strategy ──────────────────────────────────────
|
|
498
|
+
{
|
|
499
|
+
id: "blog-funko-pop-vaulting-strategy-collectors",
|
|
500
|
+
slug: "blog-funko-pop-vaulting-strategy-collectors",
|
|
501
|
+
title: "Understanding Funko Pop Vaulting — Buy or Wait?",
|
|
502
|
+
excerpt: "Funko 'vaults' over 100 pops per year — making yesterday's $10 figure tomorrow's $80 chase. Should you stockpile or play the secondary market?",
|
|
503
|
+
content: `<h2>What Vaulting Means</h2>
|
|
504
|
+
<p>When Funko vaults a Pop, they stop production permanently. Existing units become the only supply. Demand-driven appreciation follows for 12–36 months until the market saturates with secondary listings.</p>
|
|
505
|
+
<h2>Top Recent Vaultings</h2>
|
|
506
|
+
<ol>
|
|
507
|
+
<li>Stan Lee Glow Chase (vaulted 2023) — now ₹8,000 from ₹1,200 MSRP.</li>
|
|
508
|
+
<li>Marvel Mech Strike Iron Man Translucent — vaulted 2024, tripled secondary.</li>
|
|
509
|
+
<li>Demon Slayer Nezuko in Box (vaulted 2024) — anime category continues to outperform.</li>
|
|
510
|
+
</ol>
|
|
511
|
+
<h2>How to Play It</h2>
|
|
512
|
+
<p><strong>Stockpile strategy:</strong> Buy 2–3 of any pop you genuinely like at MSRP. One for display, one sealed, one to sell when vaulted. Works long-term; ties up capital.</p>
|
|
513
|
+
<p><strong>Secondary-market strategy:</strong> Wait 18–24 months after a vault is announced, then buy mint-in-box from established sellers. Pricing usually peaks around 24–30 months then plateaus.</p>
|
|
514
|
+
<h2>Pop Protectors</h2>
|
|
515
|
+
<p>Use UV-rated rigid acrylic protectors (₹250 each) — sun-faded box artwork can lose 50% of value. Storage in original outer cardboard helps.</p>`,
|
|
516
|
+
coverImage: "https://images.unsplash.com/photo-1608889825271-9696283b84bd?w=1200&h=630&fit=crop",
|
|
517
|
+
category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
|
|
518
|
+
tags: ["funko-pop", "vaulting", "investment", "secondary-market", "stan-lee"],
|
|
519
|
+
isFeatured: false,
|
|
520
|
+
status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
521
|
+
publishedAt: daysAgo(18),
|
|
522
|
+
authorId: "user-admin-letitrip",
|
|
523
|
+
authorName: "LetItRip Admin",
|
|
524
|
+
readTimeMinutes: 4,
|
|
525
|
+
views: 970,
|
|
526
|
+
metaTitle: "Funko Pop Vaulting Strategy — Buy or Wait | LetItRip",
|
|
527
|
+
metaDescription: "How Funko vaulting drives secondary-market appreciation. Stockpile vs wait-and-buy strategies and recent vaulted hits.",
|
|
528
|
+
createdAt: daysAgo(20),
|
|
529
|
+
updatedAt: daysAgo(18),
|
|
530
|
+
},
|
|
531
|
+
// ── 16. Beyblade X Tournament Format ─────────────────────────────────────
|
|
532
|
+
{
|
|
533
|
+
id: "blog-beyblade-x-tournament-format-guide",
|
|
534
|
+
slug: "blog-beyblade-x-tournament-format-guide",
|
|
535
|
+
title: "Beyblade X Tournament Format — Sanctioned Rules Explained",
|
|
536
|
+
excerpt: "Beyblade X tournaments use a different ruleset from Burst. Here is everything you need to know before entering your first sanctioned event.",
|
|
537
|
+
content: `<h2>Match Format</h2>
|
|
538
|
+
<p>Best of 5 rounds. Each round awards 1 point for ring-out/burst, 2 points for extreme-finish (X-finish). First to 5 wins.</p>
|
|
539
|
+
<h2>Deck Building</h2>
|
|
540
|
+
<p>Each player brings a 3-Bey deck. Players choose 1 Bey before each round; opponent must choose simultaneously and reveal at the same time. No mid-match swaps.</p>
|
|
541
|
+
<h2>Banned Parts</h2>
|
|
542
|
+
<p>As of January 2026, Hells Hammer / Hells Reaper are banned in sanctioned play due to consistency exploits. Always check the WBO/Takara-Tomy official banned-parts list before competition.</p>
|
|
543
|
+
<h2>Match Etiquette</h2>
|
|
544
|
+
<p>Bow at start and end. Shake hands. No tampering with launchers or Beys during opponent's setup. Judges may inspect any Bey at any time.</p>
|
|
545
|
+
<h2>India Tournament Calendar</h2>
|
|
546
|
+
<p>Mumbai Open (Q1), Bangalore Beyblade League (Q2), Delhi WBO Regional (Q3), Hyderabad Championship (Q4). Prize support varies by region; usually merchandise + cash for top 4.</p>`,
|
|
547
|
+
coverImage: "https://images.unsplash.com/photo-1612287230202-1ff1d85d1bdf?w=1200&h=630&fit=crop",
|
|
548
|
+
category: BLOG_POST_FIELDS.CATEGORY_VALUES.NEWS,
|
|
549
|
+
tags: ["beyblade-x", "tournament", "rules", "competitive", "wbo"],
|
|
550
|
+
isFeatured: false,
|
|
551
|
+
status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
552
|
+
publishedAt: daysAgo(14),
|
|
553
|
+
authorId: "user-admin-letitrip",
|
|
554
|
+
authorName: "LetItRip Admin",
|
|
555
|
+
readTimeMinutes: 3,
|
|
556
|
+
views: 760,
|
|
557
|
+
metaTitle: "Beyblade X Tournament Format — Sanctioned Rules | LetItRip",
|
|
558
|
+
metaDescription: "Complete Beyblade X tournament format guide — match rules, deck building, banned parts, and India calendar.",
|
|
559
|
+
createdAt: daysAgo(16),
|
|
560
|
+
updatedAt: daysAgo(14),
|
|
561
|
+
},
|
|
562
|
+
// ── 17. Hot Wheels RLC Membership Worth It? ──────────────────────────────
|
|
563
|
+
{
|
|
564
|
+
id: "blog-hot-wheels-rlc-membership-worth-it-2026",
|
|
565
|
+
slug: "blog-hot-wheels-rlc-membership-worth-it-2026",
|
|
566
|
+
title: "Is Hot Wheels Red Line Club Membership Worth It in 2026?",
|
|
567
|
+
excerpt: "RLC membership costs $19.99/year and grants access to exclusive Spectraflame releases. Here is whether it actually pays off for an Indian collector.",
|
|
568
|
+
content: `<h2>What RLC Includes</h2>
|
|
569
|
+
<p>Annual membership grants: limited-edition exclusive Hot Wheels release (Real Riders, Spectraflame paint, individually numbered), 4–6 RLC-only catalogue car releases, access to RLC convention pre-orders, and discount on Mattel Creations drops.</p>
|
|
570
|
+
<h2>The Math for India</h2>
|
|
571
|
+
<p>Membership: $19.99 (~₹1,700). Exclusive arrives via FedEx (~₹1,200 international shipping). Total landed cost: ~₹2,900. Secondary-market value of past 5 years' RLC exclusives: ₹3,500–₹6,000 each. Net positive even if you flip immediately.</p>
|
|
572
|
+
<h2>Risks</h2>
|
|
573
|
+
<p>Membership opens January 1, sells out within 4 hours. If you miss the window, no resale of memberships allowed. Some years' exclusives are duds — 2022 Datsun 510 underperformed. Quality control: 5% of exclusives ship damaged.</p>
|
|
574
|
+
<h2>Should You Join?</h2>
|
|
575
|
+
<p>Yes, if: you collect Spectraflame, you can be online 1 January 9 AM IST, and you have a reliable US shipping forwarder. No, if: you only collect mainline, you can't justify ₹3,000 entry, or you don't want to track membership renewal dates.</p>`,
|
|
576
|
+
coverImage: "https://images.unsplash.com/photo-1581235720704-06d3acfcb36f?w=1200&h=630&fit=crop",
|
|
577
|
+
category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
|
|
578
|
+
tags: ["hot-wheels", "rlc", "membership", "spectraflame", "exclusive"],
|
|
579
|
+
isFeatured: false,
|
|
580
|
+
status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
581
|
+
publishedAt: daysAgo(10),
|
|
582
|
+
authorId: "user-admin-letitrip",
|
|
583
|
+
authorName: "LetItRip Admin",
|
|
584
|
+
readTimeMinutes: 4,
|
|
585
|
+
views: 510,
|
|
586
|
+
metaTitle: "Hot Wheels RLC Membership Worth It 2026 | LetItRip",
|
|
587
|
+
metaDescription: "Detailed cost-benefit analysis of Hot Wheels Red Line Club membership for Indian collectors in 2026.",
|
|
588
|
+
createdAt: daysAgo(12),
|
|
589
|
+
updatedAt: daysAgo(10),
|
|
590
|
+
},
|
|
591
|
+
// ── 18. Display & Storage for High-Value Collectibles ────────────────────
|
|
592
|
+
{
|
|
593
|
+
id: "blog-displaying-high-value-collectibles-tips",
|
|
594
|
+
slug: "blog-displaying-high-value-collectibles-tips",
|
|
595
|
+
title: "Displaying High-Value Collectibles — UV, Humidity, and Theft-Proofing",
|
|
596
|
+
excerpt: "Investing in collectibles is one thing — protecting them is another. Three environmental threats and how to mitigate each.",
|
|
597
|
+
content: `<h2>UV Damage</h2>
|
|
598
|
+
<p>Direct sunlight fades any printed cardboard, foil, or coloured plastic within months. Use UV-filtered acrylic display cases (₹2,000–₹8,000 depending on size). Keep display rooms east-facing or interior; avoid south-facing rooms in tropical India.</p>
|
|
599
|
+
<h2>Humidity</h2>
|
|
600
|
+
<p>India's monsoon humidity (60–85% RH) is a card collector's worst enemy. Cards warp, slab labels mildew, autograph signatures fade. Use silica gel packs in sealed display containers. Maintain 35–45% RH with a small dehumidifier in dedicated rooms (₹6,000–₹15,000).</p>
|
|
601
|
+
<h2>Theft-Proofing</h2>
|
|
602
|
+
<p>Don't post specific high-value items on public social media. If displaying at events, photograph items beforehand for insurance documentation. Home safe with bolt-down mount for ₹50k+ items; bank locker for ₹2L+ items. Renter's/homeowner's insurance with collectibles rider costs ~₹2,000/year and covers up to ₹5L in covered items.</p>
|
|
603
|
+
<h2>Cleaning</h2>
|
|
604
|
+
<p>Microfibre cloth only for figures. For cards in slabs, soft brush + can of compressed air. Never use solvents or sprays on direct paint. Dust acrylic cases monthly to prevent buildup that scratches when wiped.</p>`,
|
|
605
|
+
coverImage: "https://images.unsplash.com/photo-1614108831137-558fffac9ead?w=1200&h=630&fit=crop",
|
|
606
|
+
category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
|
|
607
|
+
tags: ["display", "storage", "uv-protection", "humidity", "insurance"],
|
|
608
|
+
isFeatured: true,
|
|
609
|
+
status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
610
|
+
publishedAt: daysAgo(5),
|
|
611
|
+
authorId: "user-admin-letitrip",
|
|
612
|
+
authorName: "LetItRip Admin",
|
|
613
|
+
readTimeMinutes: 5,
|
|
614
|
+
views: 380,
|
|
615
|
+
metaTitle: "Displaying High-Value Collectibles | LetItRip",
|
|
616
|
+
metaDescription: "Protect your collectibles from UV, humidity, and theft. Display case, dehumidifier, and insurance recommendations for India.",
|
|
617
|
+
createdAt: daysAgo(7),
|
|
618
|
+
updatedAt: daysAgo(5),
|
|
619
|
+
},
|
|
620
|
+
// ── 19. Pre-Order Anatomy: Pokémon Sets ──────────────────────────────────
|
|
621
|
+
{
|
|
622
|
+
id: "blog-pre-order-anatomy-pokemon-tcg-sets",
|
|
623
|
+
slug: "blog-pre-order-anatomy-pokemon-tcg-sets",
|
|
624
|
+
title: "Pre-Order Anatomy — How Pokémon TCG Sets Get to India",
|
|
625
|
+
excerpt: "Why do Pokémon pre-orders take 45–90 days from announcement to your hands? The supply chain explained.",
|
|
626
|
+
content: `<h2>Announcement → Production</h2>
|
|
627
|
+
<p>Pokémon Company International announces a set 6 months before street date. Production at Toppan/DNP Japan begins 3 months out. Print quantities are decided based on distributor pre-orders.</p>
|
|
628
|
+
<h2>Distribution → India</h2>
|
|
629
|
+
<p>Sets ship via sea freight from Japan/USA to Mumbai/Chennai ports — typically 4–6 weeks. Customs clearance adds 1–2 weeks. Distributors then ship to retailers across India.</p>
|
|
630
|
+
<h2>Why Pre-Orders Make Sense</h2>
|
|
631
|
+
<p>Allocation. Premium sets (Crown Zenith, 151, Hidden Fates) are produced in capped quantities. Distributors fulfil pre-orders first; remaining stock is unpredictable. Pre-ordering at LetItRip locks your unit and your price (no street-price markup).</p>
|
|
632
|
+
<h2>What Goes Wrong</h2>
|
|
633
|
+
<p>Production delays (Charizard ex shortage 2023 added 6 weeks). Customs hold-ups during Diwali season. Currency fluctuation (USD spike means seller may revise price). All these are reasons we offer cancellable pre-orders with full deposit refund.</p>
|
|
634
|
+
<h2>Tips</h2>
|
|
635
|
+
<p>Pre-order from sellers with multi-year track record. Check fulfilment ETAs against announced street date — if a seller promises faster than the official street date, be suspicious. Pay deposits via Razorpay/UPI only; never advance the full amount.</p>`,
|
|
636
|
+
coverImage: "https://images.unsplash.com/photo-1578301978162-7aae4d755744?w=1200&h=630&fit=crop",
|
|
637
|
+
category: BLOG_POST_FIELDS.CATEGORY_VALUES.GUIDES,
|
|
638
|
+
tags: ["pre-orders", "pokemon", "supply-chain", "distribution", "buying-guide"],
|
|
639
|
+
isFeatured: false,
|
|
640
|
+
status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
641
|
+
publishedAt: daysAgo(3),
|
|
642
|
+
authorId: "user-admin-letitrip",
|
|
643
|
+
authorName: "LetItRip Admin",
|
|
644
|
+
readTimeMinutes: 4,
|
|
645
|
+
views: 220,
|
|
646
|
+
metaTitle: "Pokémon TCG Pre-Order Anatomy — Supply Chain | LetItRip",
|
|
647
|
+
metaDescription: "Why Pokémon TCG pre-orders take 45–90 days and how the supply chain works. Pre-ordering tips for Indian collectors.",
|
|
648
|
+
createdAt: daysAgo(4),
|
|
649
|
+
updatedAt: daysAgo(3),
|
|
650
|
+
},
|
|
651
|
+
// ── 20. LetItRip Marketplace Year in Review ──────────────────────────────
|
|
652
|
+
{
|
|
653
|
+
id: "blog-letitrip-year-in-review-2026",
|
|
654
|
+
slug: "blog-letitrip-year-in-review-2026",
|
|
655
|
+
title: "LetItRip Year in Review — Highlights from 2026 So Far",
|
|
656
|
+
excerpt: "Our collectibles community has grown to 15,000+ active buyers and 50+ verified sellers. Here is what stood out in the first half of 2026.",
|
|
657
|
+
content: `<h2>Community Growth</h2>
|
|
658
|
+
<p>Active monthly users: 15,200 (up from 4,800 in 2025). Verified sellers: 52. Average listings per day: 340.</p>
|
|
659
|
+
<h2>Most-Searched Categories</h2>
|
|
660
|
+
<ol>
|
|
661
|
+
<li>Pokémon TCG singles (32% of searches)</li>
|
|
662
|
+
<li>Hot Wheels mainline + STH (18%)</li>
|
|
663
|
+
<li>Anime figures — S.H.Figuarts + Nendoroids (14%)</li>
|
|
664
|
+
<li>Beyblade X (9%)</li>
|
|
665
|
+
<li>Gunpla HG/RG (8%)</li>
|
|
666
|
+
</ol>
|
|
667
|
+
<h2>Auction Highlights</h2>
|
|
668
|
+
<p>Biggest auction sale: 1st Edition Base Set Charizard PSA 9 — ₹2,99,999. Most bids: Hot Wheels Spectraflame Pink Camaro Redline — 14 bids.</p>
|
|
669
|
+
<h2>Coming Soon</h2>
|
|
670
|
+
<p>Bundle listings (Q3), Prize Draw system (Q4), Live Streaming for sellers (early 2027). Stay tuned to our blog for the roadmap.</p>
|
|
671
|
+
<h2>Thank You</h2>
|
|
672
|
+
<p>To every seller, buyer, and lurker — thank you for trusting LetItRip with your collectibles journey. Keep ripping!</p>`,
|
|
673
|
+
coverImage: "https://images.unsplash.com/photo-1606107557195-0e29a4b5b4aa?w=1200&h=630&fit=crop",
|
|
674
|
+
category: BLOG_POST_FIELDS.CATEGORY_VALUES.NEWS,
|
|
675
|
+
tags: ["letitrip", "year-in-review", "community", "marketplace", "stats"],
|
|
676
|
+
isFeatured: true,
|
|
677
|
+
status: BLOG_POST_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
678
|
+
publishedAt: daysAgo(1),
|
|
679
|
+
authorId: "user-admin-letitrip",
|
|
680
|
+
authorName: "LetItRip Admin",
|
|
681
|
+
readTimeMinutes: 3,
|
|
682
|
+
views: 1820,
|
|
683
|
+
metaTitle: "LetItRip Year in Review 2026 | LetItRip",
|
|
684
|
+
metaDescription: "Highlights from the first half of 2026 on LetItRip — community stats, top categories, auction records, and coming features.",
|
|
685
|
+
createdAt: daysAgo(2),
|
|
686
|
+
updatedAt: daysAgo(1),
|
|
687
|
+
},
|
|
295
688
|
];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bundles Seed Data — Tier SB Bundle/Prize-Draw foundation (S21 2026-05-12).
|
|
3
|
+
*
|
|
4
|
+
* Bundles are the new homogeneous-listingType replacement for the legacy
|
|
5
|
+
* `groupedListings` collection. Each bundle holds 3–16 items of the SAME
|
|
6
|
+
* listing type (`standard` xor `pre-order`). Auctions and prize-draws are
|
|
7
|
+
* intentionally excluded — their price/quantity semantics don't compose.
|
|
8
|
+
*
|
|
9
|
+
* id === slug convention enforced; `bundle-` prefix.
|
|
10
|
+
* Stored at top-level `bundles/{bundle-slug}`.
|
|
11
|
+
*/
|
|
12
|
+
import type { BundleDocument } from "../features/bundles/schemas";
|
|
13
|
+
export declare const bundlesSeedData: BundleDocument[];
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bundles Seed Data — Tier SB Bundle/Prize-Draw foundation (S21 2026-05-12).
|
|
3
|
+
*
|
|
4
|
+
* Bundles are the new homogeneous-listingType replacement for the legacy
|
|
5
|
+
* `groupedListings` collection. Each bundle holds 3–16 items of the SAME
|
|
6
|
+
* listing type (`standard` xor `pre-order`). Auctions and prize-draws are
|
|
7
|
+
* intentionally excluded — their price/quantity semantics don't compose.
|
|
8
|
+
*
|
|
9
|
+
* id === slug convention enforced; `bundle-` prefix.
|
|
10
|
+
* Stored at top-level `bundles/{bundle-slug}`.
|
|
11
|
+
*/
|
|
12
|
+
import { BUNDLE_PREFIX } from "./_bundle-constants";
|
|
13
|
+
const NOW = new Date();
|
|
14
|
+
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
15
|
+
/** Standard-only sample bundle — Pokémon Palace starter pack. */
|
|
16
|
+
const pokemonStarterBundle = {
|
|
17
|
+
id: `${BUNDLE_PREFIX}pokemon-tcg-starter-pack-2026`,
|
|
18
|
+
slug: `${BUNDLE_PREFIX}pokemon-tcg-starter-pack-2026`,
|
|
19
|
+
title: "Pokémon TCG Starter Pack 2026",
|
|
20
|
+
description: "A curated 3-item bundle for new Pokémon TCG collectors — a Paldean Fates ETB, a tin of Stellar Crown boosters, and a deck box. Save ₹650 vs buying separately.",
|
|
21
|
+
storeId: "store-pokemon-palace",
|
|
22
|
+
storeName: "Pokémon Palace",
|
|
23
|
+
status: "published",
|
|
24
|
+
bundleItemType: "standard",
|
|
25
|
+
bundleItems: [
|
|
26
|
+
{
|
|
27
|
+
productId: "product-pokemon-sv-etb",
|
|
28
|
+
productSlug: "product-pokemon-sv-etb",
|
|
29
|
+
title: "Pokémon SV Elite Trainer Box",
|
|
30
|
+
listingType: "standard",
|
|
31
|
+
images: [
|
|
32
|
+
"/media/product-image-pokemon-sv-etb-1-20260101.jpg",
|
|
33
|
+
],
|
|
34
|
+
price: 349900,
|
|
35
|
+
quantity: 1,
|
|
36
|
+
isSold: false,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
productId: "product-pokemon-stellar-crown-tin",
|
|
40
|
+
productSlug: "product-pokemon-stellar-crown-tin",
|
|
41
|
+
title: "Pokémon Stellar Crown Booster Tin",
|
|
42
|
+
listingType: "standard",
|
|
43
|
+
images: [
|
|
44
|
+
"/media/product-image-pokemon-stellar-crown-tin-1-20260101.jpg",
|
|
45
|
+
],
|
|
46
|
+
price: 199900,
|
|
47
|
+
quantity: 1,
|
|
48
|
+
isSold: false,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
productId: "product-pokemon-deck-box-pikachu",
|
|
52
|
+
productSlug: "product-pokemon-deck-box-pikachu",
|
|
53
|
+
title: "Pokémon Pikachu Deck Box",
|
|
54
|
+
listingType: "standard",
|
|
55
|
+
images: [
|
|
56
|
+
"/media/product-image-pokemon-deck-box-pikachu-1-20260101.jpg",
|
|
57
|
+
],
|
|
58
|
+
price: 99900,
|
|
59
|
+
quantity: 1,
|
|
60
|
+
isSold: false,
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
bundlePrice: 649900,
|
|
64
|
+
bundleOriginalTotal: 649700,
|
|
65
|
+
currency: "INR",
|
|
66
|
+
category: "Trading Cards",
|
|
67
|
+
categorySlug: "category-pokemon-tcg",
|
|
68
|
+
brandSlug: "brand-pokemon-company",
|
|
69
|
+
tags: ["pokemon", "tcg", "bundle", "starter", "sv-era"],
|
|
70
|
+
images: [
|
|
71
|
+
"/media/bundle-image-pokemon-tcg-starter-pack-2026-1-20260101.jpg",
|
|
72
|
+
],
|
|
73
|
+
isFeatured: true,
|
|
74
|
+
isPromoted: false,
|
|
75
|
+
maxPerUser: 3,
|
|
76
|
+
partOfBundleProductIds: [
|
|
77
|
+
"product-pokemon-sv-etb",
|
|
78
|
+
"product-pokemon-stellar-crown-tin",
|
|
79
|
+
"product-pokemon-deck-box-pikachu",
|
|
80
|
+
],
|
|
81
|
+
createdBy: "user-aryan-kapoor",
|
|
82
|
+
createdAt: daysAgo(15),
|
|
83
|
+
updatedAt: daysAgo(2),
|
|
84
|
+
};
|
|
85
|
+
/** Pre-order-only sample bundle — Gundam Galaxy upcoming PG combo. */
|
|
86
|
+
const gunplaPgPreorderBundle = {
|
|
87
|
+
id: `${BUNDLE_PREFIX}gunpla-pg-arrivals-2026`,
|
|
88
|
+
slug: `${BUNDLE_PREFIX}gunpla-pg-arrivals-2026`,
|
|
89
|
+
title: "Gunpla PG Arrivals — Pre-Order Bundle 2026",
|
|
90
|
+
description: "Three Perfect Grade Gunpla pre-orders shipping in the next 4 months. 12% deposit secures all three units. Save ₹1,200 vs individual pre-orders.",
|
|
91
|
+
storeId: "store-gundam-galaxy",
|
|
92
|
+
storeName: "Gundam Galaxy",
|
|
93
|
+
status: "published",
|
|
94
|
+
bundleItemType: "pre-order",
|
|
95
|
+
bundleItems: [
|
|
96
|
+
{
|
|
97
|
+
productId: "preorder-gundam-pg-unicorn-ver15",
|
|
98
|
+
productSlug: "preorder-gundam-pg-unicorn-ver15",
|
|
99
|
+
title: "PG Unicorn Gundam Ver 1.5",
|
|
100
|
+
listingType: "pre-order",
|
|
101
|
+
images: [
|
|
102
|
+
"/media/preorder-image-gundam-pg-unicorn-ver15-1-20260101.jpg",
|
|
103
|
+
],
|
|
104
|
+
price: 999900,
|
|
105
|
+
quantity: 1,
|
|
106
|
+
isSold: false,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
productId: "preorder-gundam-rg-hi-nu-verka",
|
|
110
|
+
productSlug: "preorder-gundam-rg-hi-nu-verka",
|
|
111
|
+
title: "RG Hi-Nu Gundam VerKa",
|
|
112
|
+
listingType: "pre-order",
|
|
113
|
+
images: [
|
|
114
|
+
"/media/preorder-image-gundam-rg-hi-nu-verka-1-20260101.jpg",
|
|
115
|
+
],
|
|
116
|
+
price: 499900,
|
|
117
|
+
quantity: 1,
|
|
118
|
+
isSold: false,
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
productId: "preorder-shf-broly-super-hero",
|
|
122
|
+
productSlug: "preorder-shf-broly-super-hero",
|
|
123
|
+
title: "S.H.Figuarts Broly Super Hero",
|
|
124
|
+
listingType: "pre-order",
|
|
125
|
+
images: [
|
|
126
|
+
"/media/preorder-image-shf-broly-super-hero-1-20260101.jpg",
|
|
127
|
+
],
|
|
128
|
+
price: 299900,
|
|
129
|
+
quantity: 1,
|
|
130
|
+
isSold: false,
|
|
131
|
+
},
|
|
132
|
+
],
|
|
133
|
+
bundlePrice: 1679700,
|
|
134
|
+
bundleOriginalTotal: 1799700,
|
|
135
|
+
currency: "INR",
|
|
136
|
+
category: "Model Kits",
|
|
137
|
+
categorySlug: "category-gundam-perfect-grade",
|
|
138
|
+
brandSlug: "brand-bandai",
|
|
139
|
+
tags: ["gunpla", "pg", "pre-order", "bundle", "bandai"],
|
|
140
|
+
images: [
|
|
141
|
+
"/media/bundle-image-gunpla-pg-arrivals-2026-1-20260101.jpg",
|
|
142
|
+
],
|
|
143
|
+
isFeatured: false,
|
|
144
|
+
isPromoted: true,
|
|
145
|
+
maxPerUser: 1,
|
|
146
|
+
partOfBundleProductIds: [
|
|
147
|
+
"preorder-gundam-pg-unicorn-ver15",
|
|
148
|
+
"preorder-gundam-rg-hi-nu-verka",
|
|
149
|
+
"preorder-shf-broly-super-hero",
|
|
150
|
+
],
|
|
151
|
+
createdBy: "user-amit-sharma",
|
|
152
|
+
createdAt: daysAgo(20),
|
|
153
|
+
updatedAt: daysAgo(4),
|
|
154
|
+
};
|
|
155
|
+
/** Standard-only OOS sample — tests `out_of_stock` UI surface. */
|
|
156
|
+
const beybladeOosBundle = {
|
|
157
|
+
id: `${BUNDLE_PREFIX}beyblade-x-launch-pack-2025`,
|
|
158
|
+
slug: `${BUNDLE_PREFIX}beyblade-x-launch-pack-2025`,
|
|
159
|
+
title: "Beyblade X Launch Pack 2025 (SOLD OUT)",
|
|
160
|
+
description: "Four-item Beyblade X launch pack — original 2025 release. One of the four items has sold; bundle marked OOS until restock.",
|
|
161
|
+
storeId: "store-beyblade-arena",
|
|
162
|
+
storeName: "Beyblade Arena",
|
|
163
|
+
status: "out_of_stock",
|
|
164
|
+
bundleItemType: "standard",
|
|
165
|
+
bundleItems: [
|
|
166
|
+
{
|
|
167
|
+
productId: "product-beyblade-x-bx18-leon-crest",
|
|
168
|
+
productSlug: "product-beyblade-x-bx18-leon-crest",
|
|
169
|
+
title: "Beyblade X BX-18 Leon Crest Booster",
|
|
170
|
+
listingType: "standard",
|
|
171
|
+
images: [
|
|
172
|
+
"/media/product-image-beyblade-x-bx18-leon-crest-1-20260101.jpg",
|
|
173
|
+
],
|
|
174
|
+
price: 199900,
|
|
175
|
+
quantity: 1,
|
|
176
|
+
isSold: false,
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
productId: "product-beyblade-x-bx10-dran-dagger",
|
|
180
|
+
productSlug: "product-beyblade-x-bx10-dran-dagger",
|
|
181
|
+
title: "Beyblade X BX-10 Dran Dagger",
|
|
182
|
+
listingType: "standard",
|
|
183
|
+
images: [
|
|
184
|
+
"/media/product-image-beyblade-x-bx10-dran-dagger-1-20260101.jpg",
|
|
185
|
+
],
|
|
186
|
+
price: 199900,
|
|
187
|
+
quantity: 1,
|
|
188
|
+
isSold: true,
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
productId: "product-beyblade-x-launcher-grip",
|
|
192
|
+
productSlug: "product-beyblade-x-launcher-grip",
|
|
193
|
+
title: "Beyblade X String Launcher + Grip",
|
|
194
|
+
listingType: "standard",
|
|
195
|
+
images: [
|
|
196
|
+
"/media/product-image-beyblade-x-launcher-grip-1-20260101.jpg",
|
|
197
|
+
],
|
|
198
|
+
price: 149900,
|
|
199
|
+
quantity: 1,
|
|
200
|
+
isSold: false,
|
|
201
|
+
},
|
|
202
|
+
],
|
|
203
|
+
bundlePrice: 499900,
|
|
204
|
+
bundleOriginalTotal: 549700,
|
|
205
|
+
currency: "INR",
|
|
206
|
+
category: "Spinning Tops",
|
|
207
|
+
categorySlug: "category-beyblade-x",
|
|
208
|
+
brandSlug: "brand-takara-tomy",
|
|
209
|
+
tags: ["beyblade-x", "bundle", "launch-pack", "oos"],
|
|
210
|
+
images: [
|
|
211
|
+
"/media/bundle-image-beyblade-x-launch-pack-2025-1-20260101.jpg",
|
|
212
|
+
],
|
|
213
|
+
isFeatured: false,
|
|
214
|
+
isPromoted: false,
|
|
215
|
+
maxPerUser: 2,
|
|
216
|
+
partOfBundleProductIds: [
|
|
217
|
+
"product-beyblade-x-bx18-leon-crest",
|
|
218
|
+
"product-beyblade-x-bx10-dran-dagger",
|
|
219
|
+
"product-beyblade-x-launcher-grip",
|
|
220
|
+
],
|
|
221
|
+
createdBy: "user-rohit-joshi",
|
|
222
|
+
createdAt: daysAgo(45),
|
|
223
|
+
updatedAt: daysAgo(10),
|
|
224
|
+
};
|
|
225
|
+
export const bundlesSeedData = [
|
|
226
|
+
pokemonStarterBundle,
|
|
227
|
+
gunplaPgPreorderBundle,
|
|
228
|
+
beybladeOosBundle,
|
|
229
|
+
];
|