@mohasinac/appkit 2.4.11 → 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 +61 -9
- 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
|
@@ -23,6 +23,12 @@ export declare const DEFAULT_ROUTE_MAP: {
|
|
|
23
23
|
readonly AUCTION_DETAIL: (id: string) => string;
|
|
24
24
|
readonly PRE_ORDERS: "/pre-orders";
|
|
25
25
|
readonly PRE_ORDER_DETAIL: (id: string) => string;
|
|
26
|
+
readonly BUNDLES: "/bundles";
|
|
27
|
+
readonly BUNDLE_DETAIL: (slug: string) => string;
|
|
28
|
+
readonly PRIZE_DRAWS: "/prize-draws";
|
|
29
|
+
readonly PRIZE_DRAW_DETAIL: (slug: string) => string;
|
|
30
|
+
readonly SELLER_GUIDE_BUNDLES: "/seller-guide/bundles";
|
|
31
|
+
readonly SELLER_GUIDE_PRIZE_DRAWS: "/seller-guide/prize-draws";
|
|
26
32
|
readonly SELLERS: "/sellers";
|
|
27
33
|
readonly SELLER_DETAIL: (id: string) => string;
|
|
28
34
|
readonly STORES: "/stores";
|
|
@@ -89,12 +95,14 @@ export declare const DEFAULT_ROUTE_MAP: {
|
|
|
89
95
|
readonly SETTINGS: "/user/settings";
|
|
90
96
|
readonly ORDERS: "/user/orders";
|
|
91
97
|
readonly WISHLIST: "/wishlist";
|
|
98
|
+
readonly HISTORY: "/user/history";
|
|
92
99
|
readonly ADDRESSES: "/user/addresses";
|
|
93
100
|
readonly ADDRESSES_ADD: "/user/addresses/add";
|
|
94
101
|
readonly ADDRESSES_EDIT: (id: string) => string;
|
|
95
102
|
readonly ORDER_DETAIL: (id: string) => string;
|
|
96
103
|
readonly ORDER_CANCEL: (id: string) => string;
|
|
97
104
|
readonly ORDER_TRACK: (id: string) => string;
|
|
105
|
+
readonly ORDER_INVOICE: (id: string) => string;
|
|
98
106
|
readonly NOTIFICATIONS: "/user/notifications";
|
|
99
107
|
readonly MESSAGES: "/user/messages";
|
|
100
108
|
readonly BECOME_SELLER: "/user/become-seller";
|
|
@@ -104,6 +112,7 @@ export declare const DEFAULT_ROUTE_MAP: {
|
|
|
104
112
|
readonly OFFERS: "/user/offers";
|
|
105
113
|
readonly REVIEWS: "/user/reviews";
|
|
106
114
|
readonly BIDS: "/user/bids";
|
|
115
|
+
readonly RETURNS: "/user/returns";
|
|
107
116
|
};
|
|
108
117
|
readonly STORE: {
|
|
109
118
|
readonly DASHBOARD: "/store";
|
|
@@ -137,6 +146,16 @@ export declare const DEFAULT_ROUTE_MAP: {
|
|
|
137
146
|
readonly SUBLISTING_CATEGORIES: "/store/sublisting-categories";
|
|
138
147
|
readonly SUBLISTING_CATEGORIES_NEW: "/store/sublisting-categories/new";
|
|
139
148
|
readonly SUBLISTING_CATEGORIES_EDIT: (id: string) => string;
|
|
149
|
+
readonly FEATURES: "/store/features";
|
|
150
|
+
readonly FEATURES_NEW: "/store/features/new";
|
|
151
|
+
readonly FEATURES_EDIT: (id: string) => string;
|
|
152
|
+
readonly SLUG: "/store/slug";
|
|
153
|
+
readonly BUNDLES: "/store/bundles";
|
|
154
|
+
readonly BUNDLES_NEW: "/store/bundles/new";
|
|
155
|
+
readonly BUNDLES_EDIT: (id: string) => string;
|
|
156
|
+
readonly PRIZE_DRAWS: "/store/prize-draws";
|
|
157
|
+
readonly PRIZE_DRAWS_NEW: "/store/prize-draws/new";
|
|
158
|
+
readonly PRIZE_DRAWS_EDIT: (id: string) => string;
|
|
140
159
|
};
|
|
141
160
|
readonly ADMIN: {
|
|
142
161
|
readonly DASHBOARD: "/admin/dashboard";
|
|
@@ -145,6 +164,8 @@ export declare const DEFAULT_ROUTE_MAP: {
|
|
|
145
164
|
readonly CAROUSEL: "/admin/carousel";
|
|
146
165
|
readonly CAROUSEL_NEW: "/admin/carousel/new";
|
|
147
166
|
readonly CAROUSEL_EDIT: (id: string) => string;
|
|
167
|
+
readonly CAROUSELS: "/admin/carousels";
|
|
168
|
+
readonly CAROUSEL_DETAIL: (id: string) => string;
|
|
148
169
|
readonly SECTIONS: "/admin/sections";
|
|
149
170
|
readonly NAVIGATION: "/admin/navigation";
|
|
150
171
|
readonly CATEGORIES: "/admin/categories";
|
|
@@ -191,11 +212,19 @@ export declare const DEFAULT_ROUTE_MAP: {
|
|
|
191
212
|
readonly NOTIFICATIONS: "/admin/notifications";
|
|
192
213
|
readonly CARTS: "/admin/carts";
|
|
193
214
|
readonly WISHLISTS: "/admin/wishlists";
|
|
215
|
+
readonly HISTORY: "/admin/history";
|
|
194
216
|
readonly RETURN_REQUESTS: "/admin/return-requests";
|
|
195
217
|
readonly STORE_ADDRESSES: "/admin/store-addresses";
|
|
196
218
|
readonly SUBLISTING_CATEGORIES: "/admin/sublisting-categories";
|
|
197
219
|
readonly SUBLISTING_CATEGORIES_NEW: "/admin/sublisting-categories/new";
|
|
198
220
|
readonly SUBLISTING_CATEGORIES_EDIT: (id: string) => string;
|
|
221
|
+
readonly FEATURES: "/admin/features";
|
|
222
|
+
readonly FEATURES_NEW: "/admin/features/new";
|
|
223
|
+
readonly FEATURES_EDIT: (id: string) => string;
|
|
224
|
+
readonly BUNDLES: "/admin/bundles";
|
|
225
|
+
readonly BUNDLES_EDIT: (id: string) => string;
|
|
226
|
+
readonly PRIZE_DRAWS: "/admin/prize-draws";
|
|
227
|
+
readonly PRIZE_DRAWS_EDIT: (id: string) => string;
|
|
199
228
|
};
|
|
200
229
|
readonly DEMO: {
|
|
201
230
|
readonly SEED: "/demo/seed";
|
|
@@ -218,6 +247,12 @@ export declare const ROUTES: {
|
|
|
218
247
|
readonly AUCTION_DETAIL: (id: string) => string;
|
|
219
248
|
readonly PRE_ORDERS: "/pre-orders";
|
|
220
249
|
readonly PRE_ORDER_DETAIL: (id: string) => string;
|
|
250
|
+
readonly BUNDLES: "/bundles";
|
|
251
|
+
readonly BUNDLE_DETAIL: (slug: string) => string;
|
|
252
|
+
readonly PRIZE_DRAWS: "/prize-draws";
|
|
253
|
+
readonly PRIZE_DRAW_DETAIL: (slug: string) => string;
|
|
254
|
+
readonly SELLER_GUIDE_BUNDLES: "/seller-guide/bundles";
|
|
255
|
+
readonly SELLER_GUIDE_PRIZE_DRAWS: "/seller-guide/prize-draws";
|
|
221
256
|
readonly SELLERS: "/sellers";
|
|
222
257
|
readonly SELLER_DETAIL: (id: string) => string;
|
|
223
258
|
readonly STORES: "/stores";
|
|
@@ -284,12 +319,14 @@ export declare const ROUTES: {
|
|
|
284
319
|
readonly SETTINGS: "/user/settings";
|
|
285
320
|
readonly ORDERS: "/user/orders";
|
|
286
321
|
readonly WISHLIST: "/wishlist";
|
|
322
|
+
readonly HISTORY: "/user/history";
|
|
287
323
|
readonly ADDRESSES: "/user/addresses";
|
|
288
324
|
readonly ADDRESSES_ADD: "/user/addresses/add";
|
|
289
325
|
readonly ADDRESSES_EDIT: (id: string) => string;
|
|
290
326
|
readonly ORDER_DETAIL: (id: string) => string;
|
|
291
327
|
readonly ORDER_CANCEL: (id: string) => string;
|
|
292
328
|
readonly ORDER_TRACK: (id: string) => string;
|
|
329
|
+
readonly ORDER_INVOICE: (id: string) => string;
|
|
293
330
|
readonly NOTIFICATIONS: "/user/notifications";
|
|
294
331
|
readonly MESSAGES: "/user/messages";
|
|
295
332
|
readonly BECOME_SELLER: "/user/become-seller";
|
|
@@ -299,6 +336,7 @@ export declare const ROUTES: {
|
|
|
299
336
|
readonly OFFERS: "/user/offers";
|
|
300
337
|
readonly REVIEWS: "/user/reviews";
|
|
301
338
|
readonly BIDS: "/user/bids";
|
|
339
|
+
readonly RETURNS: "/user/returns";
|
|
302
340
|
};
|
|
303
341
|
readonly STORE: {
|
|
304
342
|
readonly DASHBOARD: "/store";
|
|
@@ -332,6 +370,16 @@ export declare const ROUTES: {
|
|
|
332
370
|
readonly SUBLISTING_CATEGORIES: "/store/sublisting-categories";
|
|
333
371
|
readonly SUBLISTING_CATEGORIES_NEW: "/store/sublisting-categories/new";
|
|
334
372
|
readonly SUBLISTING_CATEGORIES_EDIT: (id: string) => string;
|
|
373
|
+
readonly FEATURES: "/store/features";
|
|
374
|
+
readonly FEATURES_NEW: "/store/features/new";
|
|
375
|
+
readonly FEATURES_EDIT: (id: string) => string;
|
|
376
|
+
readonly SLUG: "/store/slug";
|
|
377
|
+
readonly BUNDLES: "/store/bundles";
|
|
378
|
+
readonly BUNDLES_NEW: "/store/bundles/new";
|
|
379
|
+
readonly BUNDLES_EDIT: (id: string) => string;
|
|
380
|
+
readonly PRIZE_DRAWS: "/store/prize-draws";
|
|
381
|
+
readonly PRIZE_DRAWS_NEW: "/store/prize-draws/new";
|
|
382
|
+
readonly PRIZE_DRAWS_EDIT: (id: string) => string;
|
|
335
383
|
};
|
|
336
384
|
readonly ADMIN: {
|
|
337
385
|
readonly DASHBOARD: "/admin/dashboard";
|
|
@@ -340,6 +388,8 @@ export declare const ROUTES: {
|
|
|
340
388
|
readonly CAROUSEL: "/admin/carousel";
|
|
341
389
|
readonly CAROUSEL_NEW: "/admin/carousel/new";
|
|
342
390
|
readonly CAROUSEL_EDIT: (id: string) => string;
|
|
391
|
+
readonly CAROUSELS: "/admin/carousels";
|
|
392
|
+
readonly CAROUSEL_DETAIL: (id: string) => string;
|
|
343
393
|
readonly SECTIONS: "/admin/sections";
|
|
344
394
|
readonly NAVIGATION: "/admin/navigation";
|
|
345
395
|
readonly CATEGORIES: "/admin/categories";
|
|
@@ -386,11 +436,19 @@ export declare const ROUTES: {
|
|
|
386
436
|
readonly NOTIFICATIONS: "/admin/notifications";
|
|
387
437
|
readonly CARTS: "/admin/carts";
|
|
388
438
|
readonly WISHLISTS: "/admin/wishlists";
|
|
439
|
+
readonly HISTORY: "/admin/history";
|
|
389
440
|
readonly RETURN_REQUESTS: "/admin/return-requests";
|
|
390
441
|
readonly STORE_ADDRESSES: "/admin/store-addresses";
|
|
391
442
|
readonly SUBLISTING_CATEGORIES: "/admin/sublisting-categories";
|
|
392
443
|
readonly SUBLISTING_CATEGORIES_NEW: "/admin/sublisting-categories/new";
|
|
393
444
|
readonly SUBLISTING_CATEGORIES_EDIT: (id: string) => string;
|
|
445
|
+
readonly FEATURES: "/admin/features";
|
|
446
|
+
readonly FEATURES_NEW: "/admin/features/new";
|
|
447
|
+
readonly FEATURES_EDIT: (id: string) => string;
|
|
448
|
+
readonly BUNDLES: "/admin/bundles";
|
|
449
|
+
readonly BUNDLES_EDIT: (id: string) => string;
|
|
450
|
+
readonly PRIZE_DRAWS: "/admin/prize-draws";
|
|
451
|
+
readonly PRIZE_DRAWS_EDIT: (id: string) => string;
|
|
394
452
|
};
|
|
395
453
|
readonly DEMO: {
|
|
396
454
|
readonly SEED: "/demo/seed";
|
|
@@ -433,6 +491,16 @@ export declare const SELLER_ROUTES: {
|
|
|
433
491
|
readonly SUBLISTING_CATEGORIES: "/store/sublisting-categories";
|
|
434
492
|
readonly SUBLISTING_CATEGORIES_NEW: "/store/sublisting-categories/new";
|
|
435
493
|
readonly SUBLISTING_CATEGORIES_EDIT: (id: string) => string;
|
|
494
|
+
readonly FEATURES: "/store/features";
|
|
495
|
+
readonly FEATURES_NEW: "/store/features/new";
|
|
496
|
+
readonly FEATURES_EDIT: (id: string) => string;
|
|
497
|
+
readonly SLUG: "/store/slug";
|
|
498
|
+
readonly BUNDLES: "/store/bundles";
|
|
499
|
+
readonly BUNDLES_NEW: "/store/bundles/new";
|
|
500
|
+
readonly BUNDLES_EDIT: (id: string) => string;
|
|
501
|
+
readonly PRIZE_DRAWS: "/store/prize-draws";
|
|
502
|
+
readonly PRIZE_DRAWS_NEW: "/store/prize-draws/new";
|
|
503
|
+
readonly PRIZE_DRAWS_EDIT: (id: string) => string;
|
|
436
504
|
};
|
|
437
505
|
export declare const PUBLIC_ROUTES: readonly ["/", string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, "/unauthorized", "/auth/login", "/auth/register", "/auth/forgot-password", "/auth/reset-password", "/auth/verify-email"];
|
|
438
506
|
export declare const PROTECTED_ROUTES: readonly [string, string, string, string, string, string, string];
|
|
@@ -10,6 +10,13 @@ export const DEFAULT_ROUTE_MAP = {
|
|
|
10
10
|
AUCTION_DETAIL: (id) => `/auctions/${id}`,
|
|
11
11
|
PRE_ORDERS: "/pre-orders",
|
|
12
12
|
PRE_ORDER_DETAIL: (id) => `/pre-orders/${id}`,
|
|
13
|
+
// SB1-J — bundles + prize draws (additive, pages not yet built)
|
|
14
|
+
BUNDLES: "/bundles",
|
|
15
|
+
BUNDLE_DETAIL: (slug) => `/bundles/${slug}`,
|
|
16
|
+
PRIZE_DRAWS: "/prize-draws",
|
|
17
|
+
PRIZE_DRAW_DETAIL: (slug) => `/prize-draws/${slug}`,
|
|
18
|
+
SELLER_GUIDE_BUNDLES: "/seller-guide/bundles",
|
|
19
|
+
SELLER_GUIDE_PRIZE_DRAWS: "/seller-guide/prize-draws",
|
|
13
20
|
SELLERS: "/sellers",
|
|
14
21
|
SELLER_DETAIL: (id) => `/sellers/${id}`,
|
|
15
22
|
STORES: "/stores",
|
|
@@ -76,12 +83,14 @@ export const DEFAULT_ROUTE_MAP = {
|
|
|
76
83
|
SETTINGS: "/user/settings",
|
|
77
84
|
ORDERS: "/user/orders",
|
|
78
85
|
WISHLIST: "/wishlist",
|
|
86
|
+
HISTORY: "/user/history",
|
|
79
87
|
ADDRESSES: "/user/addresses",
|
|
80
88
|
ADDRESSES_ADD: "/user/addresses/add",
|
|
81
89
|
ADDRESSES_EDIT: (id) => `/user/addresses/edit/${id}`,
|
|
82
90
|
ORDER_DETAIL: (id) => `/user/orders/view/${id}`,
|
|
83
91
|
ORDER_CANCEL: (id) => `/user/orders/${id}/cancel`,
|
|
84
92
|
ORDER_TRACK: (id) => `/user/orders/${id}/track`,
|
|
93
|
+
ORDER_INVOICE: (id) => `/user/orders/${id}/invoice`,
|
|
85
94
|
NOTIFICATIONS: "/user/notifications",
|
|
86
95
|
MESSAGES: "/user/messages",
|
|
87
96
|
BECOME_SELLER: "/user/become-seller",
|
|
@@ -91,6 +100,7 @@ export const DEFAULT_ROUTE_MAP = {
|
|
|
91
100
|
OFFERS: "/user/offers",
|
|
92
101
|
REVIEWS: "/user/reviews",
|
|
93
102
|
BIDS: "/user/bids",
|
|
103
|
+
RETURNS: "/user/returns",
|
|
94
104
|
},
|
|
95
105
|
STORE: {
|
|
96
106
|
DASHBOARD: "/store",
|
|
@@ -124,6 +134,17 @@ export const DEFAULT_ROUTE_MAP = {
|
|
|
124
134
|
SUBLISTING_CATEGORIES: "/store/sublisting-categories",
|
|
125
135
|
SUBLISTING_CATEGORIES_NEW: "/store/sublisting-categories/new",
|
|
126
136
|
SUBLISTING_CATEGORIES_EDIT: (id) => `/store/sublisting-categories/${id}/edit`,
|
|
137
|
+
FEATURES: "/store/features",
|
|
138
|
+
FEATURES_NEW: "/store/features/new",
|
|
139
|
+
FEATURES_EDIT: (id) => `/store/features/${id}/edit`,
|
|
140
|
+
SLUG: "/store/slug",
|
|
141
|
+
// SB1-J — bundles + prize draws
|
|
142
|
+
BUNDLES: "/store/bundles",
|
|
143
|
+
BUNDLES_NEW: "/store/bundles/new",
|
|
144
|
+
BUNDLES_EDIT: (id) => `/store/bundles/${id}/edit`,
|
|
145
|
+
PRIZE_DRAWS: "/store/prize-draws",
|
|
146
|
+
PRIZE_DRAWS_NEW: "/store/prize-draws/new",
|
|
147
|
+
PRIZE_DRAWS_EDIT: (id) => `/store/prize-draws/${id}/edit`,
|
|
127
148
|
},
|
|
128
149
|
ADMIN: {
|
|
129
150
|
DASHBOARD: "/admin/dashboard",
|
|
@@ -132,6 +153,8 @@ export const DEFAULT_ROUTE_MAP = {
|
|
|
132
153
|
CAROUSEL: "/admin/carousel",
|
|
133
154
|
CAROUSEL_NEW: "/admin/carousel/new",
|
|
134
155
|
CAROUSEL_EDIT: (id) => `/admin/carousel/${id}/edit`,
|
|
156
|
+
CAROUSELS: "/admin/carousels",
|
|
157
|
+
CAROUSEL_DETAIL: (id) => `/admin/carousels/${id}`,
|
|
135
158
|
SECTIONS: "/admin/sections",
|
|
136
159
|
NAVIGATION: "/admin/navigation",
|
|
137
160
|
CATEGORIES: "/admin/categories",
|
|
@@ -178,11 +201,20 @@ export const DEFAULT_ROUTE_MAP = {
|
|
|
178
201
|
NOTIFICATIONS: "/admin/notifications",
|
|
179
202
|
CARTS: "/admin/carts",
|
|
180
203
|
WISHLISTS: "/admin/wishlists",
|
|
204
|
+
HISTORY: "/admin/history",
|
|
181
205
|
RETURN_REQUESTS: "/admin/return-requests",
|
|
182
206
|
STORE_ADDRESSES: "/admin/store-addresses",
|
|
183
207
|
SUBLISTING_CATEGORIES: "/admin/sublisting-categories",
|
|
184
208
|
SUBLISTING_CATEGORIES_NEW: "/admin/sublisting-categories/new",
|
|
185
209
|
SUBLISTING_CATEGORIES_EDIT: (id) => `/admin/sublisting-categories/${id}/edit`,
|
|
210
|
+
FEATURES: "/admin/features",
|
|
211
|
+
FEATURES_NEW: "/admin/features/new",
|
|
212
|
+
FEATURES_EDIT: (id) => `/admin/features/${id}/edit`,
|
|
213
|
+
// SB1-J — bundles + prize draws (admin moderation)
|
|
214
|
+
BUNDLES: "/admin/bundles",
|
|
215
|
+
BUNDLES_EDIT: (id) => `/admin/bundles/${id}/edit`,
|
|
216
|
+
PRIZE_DRAWS: "/admin/prize-draws",
|
|
217
|
+
PRIZE_DRAWS_EDIT: (id) => `/admin/prize-draws/${id}/edit`,
|
|
186
218
|
},
|
|
187
219
|
DEMO: {
|
|
188
220
|
SEED: "/demo/seed",
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Virtual filter aliases — a clause like `listingType==auction` is expanded
|
|
3
|
+
* into one or more real Sieve clauses (`isAuction==true,isPreOrder==false`)
|
|
4
|
+
* before the model reaches the underlying Sieve processor.
|
|
5
|
+
*
|
|
6
|
+
* Pure (no firebase-admin or runtime deps) so this module is safe to import
|
|
7
|
+
* from client code. The Firebase-aware Sieve adapter in `./sieve.ts` re-exports
|
|
8
|
+
* these for backwards-compat with consumers that already imported from there.
|
|
9
|
+
*
|
|
10
|
+
* The expander receives the raw operator + value the caller used (e.g. `==`,
|
|
11
|
+
* `!=`) and the value string. Return a comma-separated Sieve clause string,
|
|
12
|
+
* or empty string to drop the clause silently.
|
|
13
|
+
*/
|
|
14
|
+
export type SieveFilterAlias = (value: string, operator: string) => string;
|
|
15
|
+
export type SieveFilterAliases = Record<string, SieveFilterAlias>;
|
|
16
|
+
/**
|
|
17
|
+
* Expand virtual filter clauses into real Sieve clauses.
|
|
18
|
+
* Pure function — exported for direct use in route helpers + unit testing.
|
|
19
|
+
*/
|
|
20
|
+
export declare function expandFilterAliases(filters: string | undefined, aliases: SieveFilterAliases | undefined): string | undefined;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Expand virtual filter clauses into real Sieve clauses.
|
|
3
|
+
* Pure function — exported for direct use in route helpers + unit testing.
|
|
4
|
+
*/
|
|
5
|
+
export function expandFilterAliases(filters, aliases) {
|
|
6
|
+
if (!filters || !aliases)
|
|
7
|
+
return filters;
|
|
8
|
+
const aliasKeys = Object.keys(aliases);
|
|
9
|
+
if (aliasKeys.length === 0)
|
|
10
|
+
return filters;
|
|
11
|
+
return filters
|
|
12
|
+
.split(",")
|
|
13
|
+
.map((clause) => clause.trim())
|
|
14
|
+
.filter(Boolean)
|
|
15
|
+
.map((clause) => {
|
|
16
|
+
// Match field, operator (==, !=, <=, >=, <, >, @=*, @=, _=), value.
|
|
17
|
+
const m = clause.match(/^([A-Za-z_][\w.]*)\s*(==|!=|<=|>=|<|>|@=\*?|_=)\s*(.*)$/);
|
|
18
|
+
if (!m)
|
|
19
|
+
return clause;
|
|
20
|
+
const [, field, op, value] = m;
|
|
21
|
+
const alias = aliases[field];
|
|
22
|
+
if (!alias)
|
|
23
|
+
return clause;
|
|
24
|
+
const expanded = alias(value, op);
|
|
25
|
+
return expanded || "";
|
|
26
|
+
})
|
|
27
|
+
.filter(Boolean)
|
|
28
|
+
.join(",");
|
|
29
|
+
}
|
|
@@ -26,5 +26,5 @@ import type { IDbProvider } from "../../contracts";
|
|
|
26
26
|
export declare const firebaseDbProvider: IDbProvider;
|
|
27
27
|
export { buildFirebaseClientConfig, normalizeFirebaseConfigValue, } from "./client-config";
|
|
28
28
|
export type { FirebaseClientConfig } from "./client-config";
|
|
29
|
-
export type { SieveModel, SieveFields, SieveFieldConfig, SieveOptions, SieveResult, FirebaseSieveFieldConfig, FirebaseSieveFields, FirebaseSieveOptions, FirebaseSieveResult, } from "./sieve";
|
|
30
|
-
export { applySieveToFirestore } from "./sieve";
|
|
29
|
+
export type { SieveModel, SieveFields, SieveFieldConfig, SieveOptions, SieveResult, SieveFilterAlias, SieveFilterAliases, FirebaseSieveFieldConfig, FirebaseSieveFields, FirebaseSieveOptions, FirebaseSieveResult, } from "./sieve";
|
|
30
|
+
export { applySieveToFirestore, expandFilterAliases } from "./sieve";
|
|
@@ -38,4 +38,4 @@ export const firebaseDbProvider = {
|
|
|
38
38
|
};
|
|
39
39
|
// Firebase client config builder (for consumer app bundles)
|
|
40
40
|
export { buildFirebaseClientConfig, normalizeFirebaseConfigValue, } from "./client-config";
|
|
41
|
-
export { applySieveToFirestore } from "./sieve";
|
|
41
|
+
export { applySieveToFirestore, expandFilterAliases } from "./sieve";
|
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
*/
|
|
20
20
|
import type { CollectionReference, DocumentData, Query } from "firebase-admin/firestore";
|
|
21
21
|
import { FirebaseRepository } from "./base";
|
|
22
|
+
import { expandFilterAliases as _expandFilterAliases, type SieveFilterAlias, type SieveFilterAliases } from "./filter-aliases";
|
|
23
|
+
export { _expandFilterAliases as expandFilterAliases, type SieveFilterAlias, type SieveFilterAliases, };
|
|
22
24
|
export type SieveFieldConfig = {
|
|
23
25
|
/** Override the Firestore document field name. Defaults to the key name. */
|
|
24
26
|
path?: string;
|
|
@@ -39,6 +41,13 @@ export interface SieveOptions {
|
|
|
39
41
|
defaultPageSize?: number;
|
|
40
42
|
maxPageSize?: number;
|
|
41
43
|
throwExceptions?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Optional virtual-field expansions applied to `model.filters` before the
|
|
46
|
+
* Sieve processor sees the string. Each entry maps an alias key to a
|
|
47
|
+
* function that returns the real Sieve clauses for that key. See
|
|
48
|
+
* `expandFilterAliases` for the parser contract.
|
|
49
|
+
*/
|
|
50
|
+
aliases?: SieveFilterAliases;
|
|
42
51
|
}
|
|
43
52
|
export interface SieveResult<T> {
|
|
44
53
|
items: T[];
|
|
@@ -21,29 +21,46 @@ import { SieveProcessorBase } from "@mohasinac/sievejs/services";
|
|
|
21
21
|
import { createFirebaseAdapter } from "@mohasinac/sievejs/adapters/firebase";
|
|
22
22
|
import { FirebaseRepository } from "./base";
|
|
23
23
|
import { deserializeTimestamps, getFirestoreCount } from "./helpers";
|
|
24
|
+
import { expandFilterAliases as _expandFilterAliases, } from "./filter-aliases";
|
|
25
|
+
// Re-export the pure alias helper + types so consumers that already imported
|
|
26
|
+
// from `./sieve` keep working. Anyone who only needs the alias machinery
|
|
27
|
+
// should prefer importing from `./filter-aliases` directly — that path has
|
|
28
|
+
// zero runtime deps and is client-safe.
|
|
29
|
+
export { _expandFilterAliases as expandFilterAliases, };
|
|
24
30
|
const SIEVE_DEFAULTS = {
|
|
25
31
|
caseSensitive: false,
|
|
26
32
|
defaultPageSize: 20,
|
|
27
33
|
maxPageSize: 100,
|
|
28
34
|
throwExceptions: false,
|
|
29
35
|
};
|
|
36
|
+
/** Apply alias expansion to a model in-place-safe (returns a new model). */
|
|
37
|
+
function withAliasesExpanded(model, aliases) {
|
|
38
|
+
if (!aliases)
|
|
39
|
+
return model;
|
|
40
|
+
const expanded = _expandFilterAliases(model.filters, aliases);
|
|
41
|
+
if (expanded === model.filters)
|
|
42
|
+
return model;
|
|
43
|
+
return { ...model, filters: expanded };
|
|
44
|
+
}
|
|
30
45
|
/**
|
|
31
46
|
* Apply Sieve DSL to a CollectionReference/Query without requiring repository subclassing.
|
|
32
47
|
*/
|
|
33
48
|
export async function applySieveToFirestore(params) {
|
|
34
49
|
const { baseQuery, model, fields, options } = params;
|
|
35
|
-
const
|
|
50
|
+
const { aliases, ...rest } = options ?? {};
|
|
51
|
+
const merged = { ...SIEVE_DEFAULTS, ...rest };
|
|
52
|
+
const effective = withAliasesExpanded(model, aliases);
|
|
36
53
|
const processor = new SieveProcessorBase({
|
|
37
54
|
adapter: createFirebaseAdapter(),
|
|
38
55
|
autoLoadConfig: false,
|
|
39
56
|
options: merged,
|
|
40
57
|
fields,
|
|
41
58
|
});
|
|
42
|
-
const filteredQ = processor.apply(
|
|
59
|
+
const filteredQ = processor.apply(effective, baseQuery, {
|
|
43
60
|
applyPagination: false,
|
|
44
61
|
});
|
|
45
62
|
const total = await getFirestoreCount(filteredQ);
|
|
46
|
-
const pagedQ = processor.apply(
|
|
63
|
+
const pagedQ = processor.apply(effective, baseQuery);
|
|
47
64
|
const snap = await pagedQ.get();
|
|
48
65
|
const items = snap.docs.map((d) => deserializeTimestamps({ id: d.id, ...d.data() }));
|
|
49
66
|
const page = Math.max(1, Number(model.page ?? 1));
|
|
@@ -68,9 +85,10 @@ export class FirebaseSieveRepository extends FirebaseRepository {
|
|
|
68
85
|
* @param options Override defaults or supply a pre-filtered `baseQuery`.
|
|
69
86
|
*/
|
|
70
87
|
async sieveQuery(model, fields, options) {
|
|
71
|
-
const { baseQuery, ...sieveOptions } = options ?? {};
|
|
88
|
+
const { baseQuery, aliases, ...sieveOptions } = options ?? {};
|
|
72
89
|
const merged = { ...SIEVE_DEFAULTS, ...sieveOptions };
|
|
73
90
|
const base = baseQuery ?? this.getCollection();
|
|
91
|
+
const effective = withAliasesExpanded(model, aliases);
|
|
74
92
|
const processor = new SieveProcessorBase({
|
|
75
93
|
adapter: createFirebaseAdapter(),
|
|
76
94
|
autoLoadConfig: false,
|
|
@@ -78,12 +96,12 @@ export class FirebaseSieveRepository extends FirebaseRepository {
|
|
|
78
96
|
fields,
|
|
79
97
|
});
|
|
80
98
|
// Count (no docs fetched)
|
|
81
|
-
const filteredQ = processor.apply(
|
|
99
|
+
const filteredQ = processor.apply(effective, base, {
|
|
82
100
|
applyPagination: false,
|
|
83
101
|
});
|
|
84
102
|
const total = await getFirestoreCount(filteredQ);
|
|
85
103
|
// Paginated result
|
|
86
|
-
const pagedQ = processor.apply(
|
|
104
|
+
const pagedQ = processor.apply(effective, base);
|
|
87
105
|
const snap = await pagedQ.get();
|
|
88
106
|
const items = snap.docs.map((d) => deserializeTimestamps({ id: d.id, ...d.data() }));
|
|
89
107
|
const page = Math.max(1, Number(model.page ?? 1));
|
|
@@ -8,5 +8,6 @@ export declare class FirebaseClientAuthProvider implements IClientAuthProvider {
|
|
|
8
8
|
sendPasswordResetEmail(email: string): Promise<void>;
|
|
9
9
|
confirmPasswordReset(code: string, newPassword: string): Promise<void>;
|
|
10
10
|
reauthenticateAndChangePassword(currentPassword: string, newPassword: string): Promise<void>;
|
|
11
|
+
reauthenticateAndSendEmailUpdateVerification(currentPassword: string, newEmail: string): Promise<void>;
|
|
11
12
|
reloadCurrentUser(): Promise<void>;
|
|
12
13
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { applyActionCode as fbApplyActionCode, confirmPasswordReset as fbConfirmPasswordReset, EmailAuthProvider, getAuth, reauthenticateWithCredential, sendPasswordResetEmail as fbSendPasswordResetEmail, signInWithEmailAndPassword as fbSignInWithEmailAndPassword, updatePassword, } from "firebase/auth";
|
|
1
|
+
import { applyActionCode as fbApplyActionCode, confirmPasswordReset as fbConfirmPasswordReset, EmailAuthProvider, getAuth, reauthenticateWithCredential, sendPasswordResetEmail as fbSendPasswordResetEmail, signInWithEmailAndPassword as fbSignInWithEmailAndPassword, updatePassword, verifyBeforeUpdateEmail, } from "firebase/auth";
|
|
2
2
|
/**
|
|
3
3
|
* Firebase Auth client SDK implementation of IClientAuthProvider.
|
|
4
4
|
*/
|
|
@@ -23,6 +23,14 @@ export class FirebaseClientAuthProvider {
|
|
|
23
23
|
await reauthenticateWithCredential(user, credential);
|
|
24
24
|
await updatePassword(user, newPassword);
|
|
25
25
|
}
|
|
26
|
+
async reauthenticateAndSendEmailUpdateVerification(currentPassword, newEmail) {
|
|
27
|
+
const user = getAuth().currentUser;
|
|
28
|
+
if (!user?.email)
|
|
29
|
+
throw new Error("No authenticated user.");
|
|
30
|
+
const credential = EmailAuthProvider.credential(user.email, currentPassword);
|
|
31
|
+
await reauthenticateWithCredential(user, credential);
|
|
32
|
+
await verifyBeforeUpdateEmail(user, newEmail);
|
|
33
|
+
}
|
|
26
34
|
async reloadCurrentUser() {
|
|
27
35
|
await getAuth().currentUser?.reload();
|
|
28
36
|
}
|
|
@@ -307,3 +307,12 @@ export declare function shiprocketPrintLabel(token: string, shipmentIds: number[
|
|
|
307
307
|
/** Shiprocket tokens are valid for approx. 10 days */
|
|
308
308
|
export declare const SHIPROCKET_TOKEN_TTL_MS: number;
|
|
309
309
|
export declare function isShiprocketTokenExpired(expiry: Date | undefined): boolean;
|
|
310
|
+
/**
|
|
311
|
+
* Public tracking URL Shiprocket exposes for every AWB. All consumers that
|
|
312
|
+
* record `trackingUrl` on an order should build it via this helper so the
|
|
313
|
+
* base URL stays single-source-of-truth.
|
|
314
|
+
*/
|
|
315
|
+
export declare const SHIPROCKET_TRACKING_URL_BASE = "https://shiprocket.co/tracking";
|
|
316
|
+
export declare function buildShiprocketTrackingUrl(awb: string): string;
|
|
317
|
+
/** Status saved on an order immediately after pickup is generated. */
|
|
318
|
+
export declare const SHIPROCKET_STATUS_PICKUP_SCHEDULED = "Pickup Scheduled";
|
|
@@ -179,3 +179,14 @@ export function isShiprocketTokenExpired(expiry) {
|
|
|
179
179
|
return true;
|
|
180
180
|
return new Date() >= new Date(expiry);
|
|
181
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Public tracking URL Shiprocket exposes for every AWB. All consumers that
|
|
184
|
+
* record `trackingUrl` on an order should build it via this helper so the
|
|
185
|
+
* base URL stays single-source-of-truth.
|
|
186
|
+
*/
|
|
187
|
+
export const SHIPROCKET_TRACKING_URL_BASE = "https://shiprocket.co/tracking";
|
|
188
|
+
export function buildShiprocketTrackingUrl(awb) {
|
|
189
|
+
return `${SHIPROCKET_TRACKING_URL_BASE}/${encodeURIComponent(awb)}`;
|
|
190
|
+
}
|
|
191
|
+
/** Status saved on an order immediately after pickup is generated. */
|
|
192
|
+
export const SHIPROCKET_STATUS_PICKUP_SCHEDULED = "Pickup Scheduled";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type ToastVariant } from "../../ui";
|
|
2
|
+
export type DispatchAction = {
|
|
3
|
+
type: "NAVIGATE";
|
|
4
|
+
href: string;
|
|
5
|
+
} | {
|
|
6
|
+
type: "OPEN_PANEL";
|
|
7
|
+
panelId: string;
|
|
8
|
+
data?: Record<string, unknown>;
|
|
9
|
+
} | {
|
|
10
|
+
type: "TOAST";
|
|
11
|
+
message: string;
|
|
12
|
+
variant?: ToastVariant;
|
|
13
|
+
} | {
|
|
14
|
+
type: "BULK";
|
|
15
|
+
actionId: string;
|
|
16
|
+
ids: string[];
|
|
17
|
+
} | {
|
|
18
|
+
type: "COPY";
|
|
19
|
+
text: string;
|
|
20
|
+
successMessage?: string;
|
|
21
|
+
};
|
|
22
|
+
export interface UseActionDispatchOptions {
|
|
23
|
+
onBulk?: (actionId: string, ids: string[]) => void;
|
|
24
|
+
}
|
|
25
|
+
export declare function useActionDispatch(options?: UseActionDispatchOptions): (action: DispatchAction) => Promise<void>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { useRouter } from "next/navigation";
|
|
4
|
+
import { useToast } from "../../ui";
|
|
5
|
+
import { usePanelStore } from "../../stores/panel-store";
|
|
6
|
+
export function useActionDispatch(options) {
|
|
7
|
+
const router = useRouter();
|
|
8
|
+
const { showToast } = useToast();
|
|
9
|
+
const { openPanel } = usePanelStore();
|
|
10
|
+
return useCallback(async (action) => {
|
|
11
|
+
switch (action.type) {
|
|
12
|
+
case "NAVIGATE":
|
|
13
|
+
router.push(action.href);
|
|
14
|
+
break;
|
|
15
|
+
case "OPEN_PANEL":
|
|
16
|
+
openPanel(action.panelId, action.data);
|
|
17
|
+
break;
|
|
18
|
+
case "TOAST":
|
|
19
|
+
showToast(action.message, action.variant ?? "info");
|
|
20
|
+
break;
|
|
21
|
+
case "BULK":
|
|
22
|
+
options?.onBulk?.(action.actionId, action.ids);
|
|
23
|
+
break;
|
|
24
|
+
case "COPY":
|
|
25
|
+
await navigator.clipboard.writeText(action.text);
|
|
26
|
+
showToast(action.successMessage ?? "Copied!", "success");
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
}, [router, showToast, openPanel, options]);
|
|
30
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface PanelUrlSync {
|
|
2
|
+
openCreatePanel: () => void;
|
|
3
|
+
openEditPanel: (id: string) => void;
|
|
4
|
+
closePanel: () => void;
|
|
5
|
+
isCreateOpen: boolean;
|
|
6
|
+
isEditOpen: boolean;
|
|
7
|
+
editId: string | null;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Syncs create/edit panel state with URL search params.
|
|
11
|
+
* ?panel=create → isCreateOpen=true
|
|
12
|
+
* ?panel=edit&id=xxx → isEditOpen=true, editId="xxx"
|
|
13
|
+
* Closing removes both params via router.replace (no history entry).
|
|
14
|
+
*/
|
|
15
|
+
export declare function usePanelUrlSync(): PanelUrlSync;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { useSearchParams, useRouter, usePathname } from "next/navigation";
|
|
4
|
+
/**
|
|
5
|
+
* Syncs create/edit panel state with URL search params.
|
|
6
|
+
* ?panel=create → isCreateOpen=true
|
|
7
|
+
* ?panel=edit&id=xxx → isEditOpen=true, editId="xxx"
|
|
8
|
+
* Closing removes both params via router.replace (no history entry).
|
|
9
|
+
*/
|
|
10
|
+
export function usePanelUrlSync() {
|
|
11
|
+
const searchParams = useSearchParams();
|
|
12
|
+
const router = useRouter();
|
|
13
|
+
const pathname = usePathname();
|
|
14
|
+
const panelParam = searchParams.get("panel");
|
|
15
|
+
const idParam = searchParams.get("id");
|
|
16
|
+
const isCreateOpen = panelParam === "create";
|
|
17
|
+
const isEditOpen = panelParam === "edit" && !!idParam;
|
|
18
|
+
const editId = isEditOpen ? idParam : null;
|
|
19
|
+
const openCreatePanel = useCallback(() => {
|
|
20
|
+
const sp = new URLSearchParams(searchParams.toString());
|
|
21
|
+
sp.set("panel", "create");
|
|
22
|
+
sp.delete("id");
|
|
23
|
+
router.push(`${pathname}?${sp.toString()}`);
|
|
24
|
+
}, [searchParams, pathname, router]);
|
|
25
|
+
const openEditPanel = useCallback((id) => {
|
|
26
|
+
const sp = new URLSearchParams(searchParams.toString());
|
|
27
|
+
sp.set("panel", "edit");
|
|
28
|
+
sp.set("id", id);
|
|
29
|
+
router.push(`${pathname}?${sp.toString()}`);
|
|
30
|
+
}, [searchParams, pathname, router]);
|
|
31
|
+
const closePanel = useCallback(() => {
|
|
32
|
+
const sp = new URLSearchParams(searchParams.toString());
|
|
33
|
+
sp.delete("panel");
|
|
34
|
+
sp.delete("id");
|
|
35
|
+
const qs = sp.toString();
|
|
36
|
+
router.replace(qs ? `${pathname}?${qs}` : pathname);
|
|
37
|
+
}, [searchParams, pathname, router]);
|
|
38
|
+
return {
|
|
39
|
+
openCreatePanel,
|
|
40
|
+
openEditPanel,
|
|
41
|
+
closePanel,
|
|
42
|
+
isCreateOpen,
|
|
43
|
+
isEditOpen,
|
|
44
|
+
editId,
|
|
45
|
+
};
|
|
46
|
+
}
|