@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
|
@@ -38,6 +38,9 @@ export declare const ACCOUNT_ENDPOINTS: {
|
|
|
38
38
|
readonly ORDERS: "/api/user/orders";
|
|
39
39
|
readonly ORDER_BY_ID: (orderId: string) => string;
|
|
40
40
|
readonly WISHLIST: "/api/user/wishlist";
|
|
41
|
+
readonly HISTORY: "/api/user/history";
|
|
42
|
+
readonly HISTORY_ITEM: (productId: string) => string;
|
|
43
|
+
readonly HISTORY_MERGE: "/api/user/history/merge";
|
|
41
44
|
};
|
|
42
45
|
export declare const NOTIFICATIONS_ENDPOINTS: {
|
|
43
46
|
readonly LIST: "/api/notifications";
|
|
@@ -104,6 +107,7 @@ export declare const ADMIN_ENDPOINTS: {
|
|
|
104
107
|
readonly ADMIN_NOTIFICATION_RESEND: (id: string) => string;
|
|
105
108
|
readonly ADMIN_CARTS: "/api/admin/carts";
|
|
106
109
|
readonly ADMIN_WISHLISTS: "/api/admin/wishlists";
|
|
110
|
+
readonly ADMIN_HISTORY: "/api/admin/history";
|
|
107
111
|
readonly NEWSLETTER_EXPORT: "/api/admin/newsletter/export";
|
|
108
112
|
readonly FEATURE_FLAGS: "/api/admin/feature-flags";
|
|
109
113
|
readonly STORE_ADDRESSES: "/api/admin/store-addresses";
|
|
@@ -115,6 +119,8 @@ export declare const ADMIN_ENDPOINTS: {
|
|
|
115
119
|
readonly ADMIN_SITE: "/api/admin/site";
|
|
116
120
|
readonly SUBLISTING_CATEGORIES: "/api/admin/sublisting-categories";
|
|
117
121
|
readonly SUBLISTING_CATEGORY_BY_ID: (id: string) => string;
|
|
122
|
+
readonly PRODUCT_FEATURES: "/api/admin/features";
|
|
123
|
+
readonly PRODUCT_FEATURE_BY_ID: (id: string) => string;
|
|
118
124
|
};
|
|
119
125
|
export declare const CHAT_ENDPOINTS: {
|
|
120
126
|
readonly LIST: "/api/chat";
|
|
@@ -235,6 +241,8 @@ export declare const SELLER_ENDPOINTS: {
|
|
|
235
241
|
readonly BIDS: "/api/store/bids";
|
|
236
242
|
readonly DASHBOARD: "/api/store/dashboard";
|
|
237
243
|
readonly ANALYTICS: (period?: string) => string;
|
|
244
|
+
readonly FEATURES: "/api/store/features";
|
|
245
|
+
readonly FEATURE_BY_ID: (id: string) => string;
|
|
238
246
|
};
|
|
239
247
|
export declare const BLOG_ENDPOINTS: {
|
|
240
248
|
readonly LIST: "/api/blog";
|
|
@@ -302,6 +310,9 @@ export declare const API_ENDPOINTS: {
|
|
|
302
310
|
readonly ORDERS: "/api/user/orders";
|
|
303
311
|
readonly ORDER_BY_ID: (orderId: string) => string;
|
|
304
312
|
readonly WISHLIST: "/api/user/wishlist";
|
|
313
|
+
readonly HISTORY: "/api/user/history";
|
|
314
|
+
readonly HISTORY_ITEM: (productId: string) => string;
|
|
315
|
+
readonly HISTORY_MERGE: "/api/user/history/merge";
|
|
305
316
|
};
|
|
306
317
|
readonly NOTIFICATIONS: {
|
|
307
318
|
readonly LIST: "/api/notifications";
|
|
@@ -368,6 +379,7 @@ export declare const API_ENDPOINTS: {
|
|
|
368
379
|
readonly ADMIN_NOTIFICATION_RESEND: (id: string) => string;
|
|
369
380
|
readonly ADMIN_CARTS: "/api/admin/carts";
|
|
370
381
|
readonly ADMIN_WISHLISTS: "/api/admin/wishlists";
|
|
382
|
+
readonly ADMIN_HISTORY: "/api/admin/history";
|
|
371
383
|
readonly NEWSLETTER_EXPORT: "/api/admin/newsletter/export";
|
|
372
384
|
readonly FEATURE_FLAGS: "/api/admin/feature-flags";
|
|
373
385
|
readonly STORE_ADDRESSES: "/api/admin/store-addresses";
|
|
@@ -379,6 +391,8 @@ export declare const API_ENDPOINTS: {
|
|
|
379
391
|
readonly ADMIN_SITE: "/api/admin/site";
|
|
380
392
|
readonly SUBLISTING_CATEGORIES: "/api/admin/sublisting-categories";
|
|
381
393
|
readonly SUBLISTING_CATEGORY_BY_ID: (id: string) => string;
|
|
394
|
+
readonly PRODUCT_FEATURES: "/api/admin/features";
|
|
395
|
+
readonly PRODUCT_FEATURE_BY_ID: (id: string) => string;
|
|
382
396
|
};
|
|
383
397
|
readonly CHAT: {
|
|
384
398
|
readonly LIST: "/api/chat";
|
|
@@ -502,6 +516,8 @@ export declare const API_ENDPOINTS: {
|
|
|
502
516
|
readonly BIDS: "/api/store/bids";
|
|
503
517
|
readonly DASHBOARD: "/api/store/dashboard";
|
|
504
518
|
readonly ANALYTICS: (period?: string) => string;
|
|
519
|
+
readonly FEATURES: "/api/store/features";
|
|
520
|
+
readonly FEATURE_BY_ID: (id: string) => string;
|
|
505
521
|
};
|
|
506
522
|
readonly BLOG: {
|
|
507
523
|
readonly LIST: "/api/blog";
|
|
@@ -568,6 +584,9 @@ export declare const API_ROUTES: {
|
|
|
568
584
|
readonly ORDERS: "/api/user/orders";
|
|
569
585
|
readonly ORDER_BY_ID: (orderId: string) => string;
|
|
570
586
|
readonly WISHLIST: "/api/user/wishlist";
|
|
587
|
+
readonly HISTORY: "/api/user/history";
|
|
588
|
+
readonly HISTORY_ITEM: (productId: string) => string;
|
|
589
|
+
readonly HISTORY_MERGE: "/api/user/history/merge";
|
|
571
590
|
};
|
|
572
591
|
readonly NOTIFICATIONS: {
|
|
573
592
|
readonly LIST: "/api/notifications";
|
|
@@ -634,6 +653,7 @@ export declare const API_ROUTES: {
|
|
|
634
653
|
readonly ADMIN_NOTIFICATION_RESEND: (id: string) => string;
|
|
635
654
|
readonly ADMIN_CARTS: "/api/admin/carts";
|
|
636
655
|
readonly ADMIN_WISHLISTS: "/api/admin/wishlists";
|
|
656
|
+
readonly ADMIN_HISTORY: "/api/admin/history";
|
|
637
657
|
readonly NEWSLETTER_EXPORT: "/api/admin/newsletter/export";
|
|
638
658
|
readonly FEATURE_FLAGS: "/api/admin/feature-flags";
|
|
639
659
|
readonly STORE_ADDRESSES: "/api/admin/store-addresses";
|
|
@@ -645,6 +665,8 @@ export declare const API_ROUTES: {
|
|
|
645
665
|
readonly ADMIN_SITE: "/api/admin/site";
|
|
646
666
|
readonly SUBLISTING_CATEGORIES: "/api/admin/sublisting-categories";
|
|
647
667
|
readonly SUBLISTING_CATEGORY_BY_ID: (id: string) => string;
|
|
668
|
+
readonly PRODUCT_FEATURES: "/api/admin/features";
|
|
669
|
+
readonly PRODUCT_FEATURE_BY_ID: (id: string) => string;
|
|
648
670
|
};
|
|
649
671
|
readonly CHAT: {
|
|
650
672
|
readonly LIST: "/api/chat";
|
|
@@ -768,6 +790,8 @@ export declare const API_ROUTES: {
|
|
|
768
790
|
readonly BIDS: "/api/store/bids";
|
|
769
791
|
readonly DASHBOARD: "/api/store/dashboard";
|
|
770
792
|
readonly ANALYTICS: (period?: string) => string;
|
|
793
|
+
readonly FEATURES: "/api/store/features";
|
|
794
|
+
readonly FEATURE_BY_ID: (id: string) => string;
|
|
771
795
|
};
|
|
772
796
|
readonly BLOG: {
|
|
773
797
|
readonly LIST: "/api/blog";
|
|
@@ -47,6 +47,9 @@ export const ACCOUNT_ENDPOINTS = {
|
|
|
47
47
|
ORDERS: "/api/user/orders",
|
|
48
48
|
ORDER_BY_ID: (orderId) => `/api/user/orders/${orderId}`,
|
|
49
49
|
WISHLIST: "/api/user/wishlist",
|
|
50
|
+
HISTORY: "/api/user/history",
|
|
51
|
+
HISTORY_ITEM: (productId) => `/api/user/history/${encodeURIComponent(productId)}`,
|
|
52
|
+
HISTORY_MERGE: "/api/user/history/merge",
|
|
50
53
|
};
|
|
51
54
|
// ---------------------------------------------------------------------------
|
|
52
55
|
// Notifications
|
|
@@ -122,6 +125,7 @@ export const ADMIN_ENDPOINTS = {
|
|
|
122
125
|
ADMIN_NOTIFICATION_RESEND: (id) => `/api/admin/notifications/${id}/resend`,
|
|
123
126
|
ADMIN_CARTS: "/api/admin/carts",
|
|
124
127
|
ADMIN_WISHLISTS: "/api/admin/wishlists",
|
|
128
|
+
ADMIN_HISTORY: "/api/admin/history",
|
|
125
129
|
NEWSLETTER_EXPORT: "/api/admin/newsletter/export",
|
|
126
130
|
FEATURE_FLAGS: "/api/admin/feature-flags",
|
|
127
131
|
STORE_ADDRESSES: "/api/admin/store-addresses",
|
|
@@ -133,6 +137,8 @@ export const ADMIN_ENDPOINTS = {
|
|
|
133
137
|
ADMIN_SITE: "/api/admin/site",
|
|
134
138
|
SUBLISTING_CATEGORIES: "/api/admin/sublisting-categories",
|
|
135
139
|
SUBLISTING_CATEGORY_BY_ID: (id) => `/api/admin/sublisting-categories/${id}`,
|
|
140
|
+
PRODUCT_FEATURES: "/api/admin/features",
|
|
141
|
+
PRODUCT_FEATURE_BY_ID: (id) => `/api/admin/features/${id}`,
|
|
136
142
|
};
|
|
137
143
|
// ---------------------------------------------------------------------------
|
|
138
144
|
// Chat
|
|
@@ -322,6 +328,8 @@ export const SELLER_ENDPOINTS = {
|
|
|
322
328
|
BIDS: "/api/store/bids",
|
|
323
329
|
DASHBOARD: "/api/store/dashboard",
|
|
324
330
|
ANALYTICS: (period) => `/api/store/analytics${period ? `?period=${period}` : ""}`,
|
|
331
|
+
FEATURES: "/api/store/features",
|
|
332
|
+
FEATURE_BY_ID: (id) => `/api/store/features/${id}`,
|
|
325
333
|
};
|
|
326
334
|
// ---------------------------------------------------------------------------
|
|
327
335
|
// Blog
|
|
@@ -13,3 +13,4 @@ export { API_ENDPOINTS, API_ROUTES, LOGS_ENDPOINTS, AUTH_ENDPOINTS, ACCOUNT_ENDP
|
|
|
13
13
|
export { COLLECTION_CACHE_PATHS } from "./cache-invalidation";
|
|
14
14
|
export { resolveEndpoint, resolveEndpointFn } from "./api-endpoint-resolver";
|
|
15
15
|
export { ROUTES, PUBLIC_ROUTES, PROTECTED_ROUTES, AUTH_ROUTES } from "../next/routing/route-map";
|
|
16
|
+
export { WISHLIST_MAX, HISTORY_MAX, CART_MAX_ITEMS, WISHLIST_DOC_ID, HISTORY_DOC_ID, WISHLIST_COLLECTION, HISTORY_COLLECTION, } from "./limits";
|
package/dist/constants/index.js
CHANGED
|
@@ -13,3 +13,4 @@ export { API_ENDPOINTS, API_ROUTES, LOGS_ENDPOINTS, AUTH_ENDPOINTS, ACCOUNT_ENDP
|
|
|
13
13
|
export { COLLECTION_CACHE_PATHS } from "./cache-invalidation";
|
|
14
14
|
export { resolveEndpoint, resolveEndpointFn } from "./api-endpoint-resolver";
|
|
15
15
|
export { ROUTES, PUBLIC_ROUTES, PROTECTED_ROUTES, AUTH_ROUTES } from "../next/routing/route-map";
|
|
16
|
+
export { WISHLIST_MAX, HISTORY_MAX, CART_MAX_ITEMS, WISHLIST_DOC_ID, HISTORY_DOC_ID, WISHLIST_COLLECTION, HISTORY_COLLECTION, } from "./limits";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @mohasinac/appkit/constants/limits
|
|
3
|
+
*
|
|
4
|
+
* User-facing hard caps for wishlist, history, and cart.
|
|
5
|
+
* - WISHLIST_MAX: hard cap, block + warn (intentional saves; FIFO would discard user intent).
|
|
6
|
+
* - HISTORY_MAX: soft cap, silent FIFO evict (auto-tracking, not user intent).
|
|
7
|
+
* - CART_MAX_ITEMS: hard cap on distinct items, block + warn. Per-item qty is unrestricted.
|
|
8
|
+
*/
|
|
9
|
+
export declare const WISHLIST_MAX = 20;
|
|
10
|
+
export declare const HISTORY_MAX = 50;
|
|
11
|
+
export declare const CART_MAX_ITEMS = 50;
|
|
12
|
+
export declare const WISHLIST_DOC_ID: (userSlug: string) => string;
|
|
13
|
+
export declare const HISTORY_DOC_ID: (userSlug: string) => string;
|
|
14
|
+
export declare const WISHLIST_COLLECTION = "wishlists";
|
|
15
|
+
export declare const HISTORY_COLLECTION = "history";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @mohasinac/appkit/constants/limits
|
|
3
|
+
*
|
|
4
|
+
* User-facing hard caps for wishlist, history, and cart.
|
|
5
|
+
* - WISHLIST_MAX: hard cap, block + warn (intentional saves; FIFO would discard user intent).
|
|
6
|
+
* - HISTORY_MAX: soft cap, silent FIFO evict (auto-tracking, not user intent).
|
|
7
|
+
* - CART_MAX_ITEMS: hard cap on distinct items, block + warn. Per-item qty is unrestricted.
|
|
8
|
+
*/
|
|
9
|
+
export const WISHLIST_MAX = 20;
|
|
10
|
+
export const HISTORY_MAX = 50;
|
|
11
|
+
export const CART_MAX_ITEMS = 50;
|
|
12
|
+
export const WISHLIST_DOC_ID = (userSlug) => `wishlist-${userSlug}`;
|
|
13
|
+
export const HISTORY_DOC_ID = (userSlug) => `history-${userSlug}`;
|
|
14
|
+
export const WISHLIST_COLLECTION = "wishlists";
|
|
15
|
+
export const HISTORY_COLLECTION = "history";
|
|
@@ -15,6 +15,8 @@ export interface IClientAuthProvider {
|
|
|
15
15
|
confirmPasswordReset(code: string, newPassword: string): Promise<void>;
|
|
16
16
|
/** Re-authenticate with current password and change to new password */
|
|
17
17
|
reauthenticateAndChangePassword(currentPassword: string, newPassword: string): Promise<void>;
|
|
18
|
+
/** Re-authenticate and send a verification email to the new address; email updates after user clicks the link */
|
|
19
|
+
reauthenticateAndSendEmailUpdateVerification(currentPassword: string, newEmail: string): Promise<void>;
|
|
18
20
|
/** Reload the current user's profile */
|
|
19
21
|
reloadCurrentUser(): Promise<void>;
|
|
20
22
|
}
|
|
@@ -252,6 +252,8 @@ export declare const ERROR_MESSAGES: {
|
|
|
252
252
|
readonly TRIM_FAILED: "Failed to trim video";
|
|
253
253
|
readonly CROP_FAILED: "Failed to crop image";
|
|
254
254
|
readonly NO_FILE: "No file provided";
|
|
255
|
+
readonly NOT_FOUND: "Media not found";
|
|
256
|
+
readonly PROXY_FAILED: "Failed to serve media";
|
|
255
257
|
};
|
|
256
258
|
readonly ADDRESS: {
|
|
257
259
|
readonly FETCH_FAILED: "Failed to load addresses";
|
|
@@ -314,6 +316,27 @@ export declare const ERROR_MESSAGES: {
|
|
|
314
316
|
readonly ALREADY_EXISTS: "Item is already in your wishlist";
|
|
315
317
|
readonly NOT_FOUND: "Item not found in wishlist";
|
|
316
318
|
};
|
|
319
|
+
readonly PRODUCT_FEATURES: {
|
|
320
|
+
readonly FETCH_FAILED: "Failed to load product features";
|
|
321
|
+
readonly CREATE_FAILED: "Failed to create feature";
|
|
322
|
+
readonly UPDATE_FAILED: "Failed to update feature";
|
|
323
|
+
readonly DELETE_FAILED: "Failed to delete feature";
|
|
324
|
+
readonly NOT_FOUND: "Feature not found";
|
|
325
|
+
readonly SCOPE_STORE_REQUIRES_STORE_ID: "storeId is required for scope=store features";
|
|
326
|
+
readonly SCOPE_PLATFORM_DISALLOWS_STORE_ID: "storeId must not be set for scope=platform features";
|
|
327
|
+
readonly STORE_CAP_REACHED: "Store has reached the maximum number of custom features";
|
|
328
|
+
readonly DELETE_REFERENCED: "This feature is still referenced by at least one product";
|
|
329
|
+
readonly NOT_OWNED_BY_STORE: "This feature is not owned by your store";
|
|
330
|
+
readonly NO_STORE: "No store found for this account";
|
|
331
|
+
};
|
|
332
|
+
readonly CONVERSATIONS: {
|
|
333
|
+
readonly NOT_FOUND: "Conversation not found";
|
|
334
|
+
readonly FETCH_FAILED: "Failed to load conversations";
|
|
335
|
+
readonly SEND_FAILED: "Failed to send message";
|
|
336
|
+
readonly BODY_REQUIRED: "Message body is required";
|
|
337
|
+
readonly BODY_TOO_LONG: "Message too long";
|
|
338
|
+
readonly NOT_PARTICIPANT: "You are not a participant of this conversation";
|
|
339
|
+
};
|
|
317
340
|
readonly BID: {
|
|
318
341
|
readonly FETCH_FAILED: "Failed to load bids";
|
|
319
342
|
readonly CREATE_FAILED: "Failed to place bid";
|
package/dist/errors/messages.js
CHANGED
|
@@ -273,6 +273,8 @@ export const ERROR_MESSAGES = {
|
|
|
273
273
|
TRIM_FAILED: "Failed to trim video",
|
|
274
274
|
CROP_FAILED: "Failed to crop image",
|
|
275
275
|
NO_FILE: "No file provided",
|
|
276
|
+
NOT_FOUND: "Media not found",
|
|
277
|
+
PROXY_FAILED: "Failed to serve media",
|
|
276
278
|
},
|
|
277
279
|
// Address Errors
|
|
278
280
|
ADDRESS: {
|
|
@@ -339,6 +341,29 @@ export const ERROR_MESSAGES = {
|
|
|
339
341
|
ALREADY_EXISTS: "Item is already in your wishlist",
|
|
340
342
|
NOT_FOUND: "Item not found in wishlist",
|
|
341
343
|
},
|
|
344
|
+
// Product Feature Badges (FI1–FI6)
|
|
345
|
+
PRODUCT_FEATURES: {
|
|
346
|
+
FETCH_FAILED: "Failed to load product features",
|
|
347
|
+
CREATE_FAILED: "Failed to create feature",
|
|
348
|
+
UPDATE_FAILED: "Failed to update feature",
|
|
349
|
+
DELETE_FAILED: "Failed to delete feature",
|
|
350
|
+
NOT_FOUND: "Feature not found",
|
|
351
|
+
SCOPE_STORE_REQUIRES_STORE_ID: "storeId is required for scope=store features",
|
|
352
|
+
SCOPE_PLATFORM_DISALLOWS_STORE_ID: "storeId must not be set for scope=platform features",
|
|
353
|
+
STORE_CAP_REACHED: "Store has reached the maximum number of custom features",
|
|
354
|
+
DELETE_REFERENCED: "This feature is still referenced by at least one product",
|
|
355
|
+
NOT_OWNED_BY_STORE: "This feature is not owned by your store",
|
|
356
|
+
NO_STORE: "No store found for this account",
|
|
357
|
+
},
|
|
358
|
+
// Buyer ↔ seller conversations (D5 + VC7)
|
|
359
|
+
CONVERSATIONS: {
|
|
360
|
+
NOT_FOUND: "Conversation not found",
|
|
361
|
+
FETCH_FAILED: "Failed to load conversations",
|
|
362
|
+
SEND_FAILED: "Failed to send message",
|
|
363
|
+
BODY_REQUIRED: "Message body is required",
|
|
364
|
+
BODY_TOO_LONG: "Message too long",
|
|
365
|
+
NOT_PARTICIPANT: "You are not a participant of this conversation",
|
|
366
|
+
},
|
|
342
367
|
BID: {
|
|
343
368
|
FETCH_FAILED: "Failed to load bids",
|
|
344
369
|
CREATE_FAILED: "Failed to place bid",
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import Link from "next/link";
|
|
3
3
|
import { getPublicUserProfile, getProfileStoreProducts, getSellerReviews } from "../../auth/actions/profile-actions";
|
|
4
|
+
import { storeRepository } from "../../stores/repository/store.repository";
|
|
4
5
|
import { ROUTES } from "../../../constants";
|
|
5
6
|
import { THEME_CONSTANTS } from "../../../tokens";
|
|
6
7
|
import { Heading, Text, Section } from "../../../ui";
|
|
7
8
|
import { ProductCard } from "../../products/components/ProductGrid";
|
|
8
9
|
import { ReviewCard } from "../../reviews/components/ReviewsList";
|
|
10
|
+
import { isAuctionListing, isPreOrderListing } from "../../products/utils/listing-type";
|
|
9
11
|
import { User, Star, ShoppingBag, Package, Trophy, Globe, MapPin, ExternalLink } from "lucide-react";
|
|
10
12
|
const DEFAULT_HERO_CLASS = "bg-gradient-to-br from-neutral-800 to-neutral-900 dark:from-neutral-900 dark:to-black";
|
|
11
13
|
function toProductItem(p) {
|
|
@@ -20,8 +22,7 @@ function toProductItem(p) {
|
|
|
20
22
|
images: p.images,
|
|
21
23
|
status: p.status,
|
|
22
24
|
condition: p.condition,
|
|
23
|
-
|
|
24
|
-
isPreOrder: p.isPreOrder,
|
|
25
|
+
listingType: p.listingType,
|
|
25
26
|
isOnSale: p.isOnSale,
|
|
26
27
|
isSold: p.isSold,
|
|
27
28
|
isPromoted: p.isPromoted,
|
|
@@ -39,9 +40,9 @@ function toProductItem(p) {
|
|
|
39
40
|
};
|
|
40
41
|
}
|
|
41
42
|
function getProductHref(p) {
|
|
42
|
-
if (p
|
|
43
|
+
if (isAuctionListing(p))
|
|
43
44
|
return String(ROUTES.PUBLIC.AUCTION_DETAIL(p.id));
|
|
44
|
-
if (p
|
|
45
|
+
if (isPreOrderListing(p))
|
|
45
46
|
return String(ROUTES.PUBLIC.PRE_ORDER_DETAIL(p.id));
|
|
46
47
|
return String(ROUTES.PUBLIC.PRODUCT_DETAIL(p.id));
|
|
47
48
|
}
|
|
@@ -51,13 +52,19 @@ export async function PublicProfileView({ userId, heroBannerClass = DEFAULT_HERO
|
|
|
51
52
|
const t = await getTranslations("publicProfile");
|
|
52
53
|
const profile = await getPublicUserProfile(userId).catch(() => null);
|
|
53
54
|
const storeId = profile?.storeSlug ?? null;
|
|
54
|
-
const [products, reviews] = await Promise.all([
|
|
55
|
+
const [products, reviews, store] = await Promise.all([
|
|
55
56
|
storeId ? getProfileStoreProducts(storeId).catch(() => []) : Promise.resolve([]),
|
|
56
57
|
storeId ? getSellerReviews(storeId).catch(() => []) : Promise.resolve([]),
|
|
58
|
+
storeId ? storeRepository.findById(storeId).catch(() => null) : Promise.resolve(null),
|
|
57
59
|
]);
|
|
58
|
-
const displayName = profile?.displayName ?? t("profileTitle");
|
|
59
|
-
const photoURL = profile?.photoURL ?? null;
|
|
60
60
|
const isSeller = profile?.role === "seller" || profile?.role === "admin";
|
|
61
|
+
// For sellers: lead with store identity (name + logo). For buyers: user identity.
|
|
62
|
+
const displayName = isSeller && store?.storeName
|
|
63
|
+
? store.storeName
|
|
64
|
+
: (profile?.displayName ?? t("profileTitle"));
|
|
65
|
+
const photoURL = isSeller && store?.storeLogoURL
|
|
66
|
+
? store.storeLogoURL
|
|
67
|
+
: (profile?.photoURL ?? null);
|
|
61
68
|
const memberSince = profile?.createdAt
|
|
62
69
|
? `Member since ${profile.createdAt.toLocaleDateString("en", { month: "long", year: "numeric" })}`
|
|
63
70
|
: t("memberSince");
|
|
@@ -69,8 +76,8 @@ export async function PublicProfileView({ userId, heroBannerClass = DEFAULT_HERO
|
|
|
69
76
|
const auctionsWon = stats?.auctionsWon ?? 0;
|
|
70
77
|
const totalOrders = stats?.totalOrders ?? 0;
|
|
71
78
|
const storeSlug = profile?.storeSlug;
|
|
72
|
-
const storeName = pub?.storeName ?? displayName;
|
|
73
|
-
const storeDescription = pub?.storeDescription;
|
|
79
|
+
const storeName = store?.storeName ?? pub?.storeName ?? displayName;
|
|
80
|
+
const storeDescription = store?.storeDescription ?? pub?.storeDescription;
|
|
74
81
|
return (_jsxs("div", { className: "-mx-4 md:-mx-6 lg:-mx-8 -mt-6 sm:-mt-8 lg:-mt-10", "data-section": "publicprofileview-div-186", children: [_jsx(Section, { className: `${heroBannerClass} text-white py-10 md:py-14`, children: _jsx("div", { className: `${page.container.md}`, children: _jsxs("div", { className: "flex flex-col sm:flex-row items-center sm:items-end gap-5", children: [_jsx("div", { className: `w-20 h-20 rounded-full bg-white/20 ${flex.center} flex-shrink-0 overflow-hidden`, children: photoURL ? (_jsx("img", { src: photoURL, alt: displayName, className: "w-full h-full object-cover" })) : (_jsx(User, { className: "w-10 h-10 text-white/60" })) }), _jsxs("div", { className: "text-center sm:text-left", children: [_jsxs("div", { className: "flex items-center gap-2 flex-wrap justify-center sm:justify-start", children: [_jsx(Heading, { level: 1, variant: "none", className: "text-white mb-0", children: displayName }), isSeller && (_jsx("span", { className: "rounded-full bg-white/20 px-2.5 py-0.5 text-xs font-semibold text-white/90", children: t("roleSeller") }))] }), _jsx(Text, { variant: "none", className: "text-white/60 text-sm mt-1", children: memberSince })] }), isSeller && storeSlug && (_jsx("div", { className: "sm:ml-auto", children: _jsxs(Link, { href: String(ROUTES.PUBLIC.STORE_DETAIL(storeSlug)), className: "inline-flex items-center gap-1.5 rounded-full border border-white/30 bg-white/10 hover:bg-white/20 px-4 py-2 text-sm font-medium text-white transition-colors", children: [_jsx(ExternalLink, { className: "w-3.5 h-3.5" }), t("visitStore")] }) }))] }) }) }), _jsxs("div", { className: `${page.container.md} py-10 md:py-12 space-y-10`, children: [_jsx("div", { className: "grid grid-cols-2 sm:grid-cols-4 gap-4", children: [
|
|
75
82
|
{ icon: ShoppingBag, label: t("statListings"), value: String(listingCount) },
|
|
76
83
|
{ icon: Star, label: t("statReviews"), value: String(reviewCount) },
|
|
@@ -30,10 +30,11 @@ interface AddressBookProps {
|
|
|
30
30
|
addresses: (UserAddress | AddressCardAddress)[];
|
|
31
31
|
onEdit?: (address: AddressCardAddress) => void;
|
|
32
32
|
onDelete?: (id: string) => void;
|
|
33
|
+
onSetDefault?: (id: string) => void;
|
|
33
34
|
onAdd?: () => void;
|
|
34
35
|
emptyLabel?: string;
|
|
35
36
|
addLabel?: string;
|
|
36
37
|
}
|
|
37
38
|
export declare function AddressCard({ address, onEdit, onDelete, onSetDefault, labels, }: AddressCardProps): import("react/jsx-runtime").JSX.Element;
|
|
38
|
-
export declare function AddressBook({ addresses, onEdit, onDelete, onAdd, emptyLabel, addLabel, }: AddressBookProps): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export declare function AddressBook({ addresses, onEdit, onDelete, onSetDefault, onAdd, emptyLabel, addLabel, }: AddressBookProps): import("react/jsx-runtime").JSX.Element;
|
|
39
40
|
export {};
|
|
@@ -10,6 +10,6 @@ export function AddressCard({ address, onEdit, onDelete, onSetDefault, labels =
|
|
|
10
10
|
: address.addressLine2;
|
|
11
11
|
return (_jsxs(Div, { className: "relative rounded-xl border border-neutral-200 dark:border-slate-700 bg-white dark:bg-slate-900 p-4", children: [address.isDefault && (_jsx(Span, { className: "absolute right-3 top-3 rounded-full bg-green-100 px-2 py-0.5 text-xs font-medium text-green-700", children: labels.defaultBadge ?? "Default" })), address.label && (_jsx(Text, { className: "mb-1 text-xs font-semibold uppercase tracking-wide text-neutral-500 dark:text-zinc-400", children: address.label })), _jsx(Text, { className: "text-sm text-neutral-900 dark:text-zinc-100", children: line1 }), line2 && _jsx(Text, { className: "text-sm text-neutral-900 dark:text-zinc-100", children: line2 }), _jsxs(Text, { className: "text-sm text-neutral-900 dark:text-zinc-100", children: [address.city, ", ", address.state, " ", address.postalCode] }), _jsx(Text, { className: "text-sm text-neutral-900 dark:text-zinc-100", children: address.country }), address.phone && (_jsx(Text, { className: "mt-1 text-sm text-neutral-500 dark:text-zinc-400", children: address.phone })), _jsxs(Div, { className: `mt-3 flex ${THEME_CONSTANTS.spacing.gap.xs}`, children: [onEdit && (_jsx(Button, { onClick: () => onEdit(address), variant: "ghost", size: "sm", className: "text-xs font-medium text-primary hover:underline", children: labels.edit ?? "Edit" })), onDelete && (_jsx(Button, { onClick: () => onDelete(address.id), variant: "ghost", size: "sm", className: "text-xs font-medium text-red-500 hover:underline", children: labels.delete ?? "Delete" })), !address.isDefault && onSetDefault && (_jsx(Button, { onClick: () => onSetDefault(address.id), variant: "outline", size: "sm", className: "ml-auto text-xs font-medium", children: labels.setDefault ?? "Set default" }))] })] }));
|
|
12
12
|
}
|
|
13
|
-
export function AddressBook({ addresses, onEdit, onDelete, onAdd, emptyLabel = "No saved addresses", addLabel = "Add Address", }) {
|
|
14
|
-
return (_jsxs(Div, { className: "space-y-4", children: [addresses.length === 0 && (_jsx(Text, { className: "text-sm text-neutral-500 dark:text-zinc-400", children: emptyLabel })), _jsx(Div, { className: `grid ${THEME_CONSTANTS.spacing.gap.md} sm:grid-cols-2`, children: addresses.map((addr) => (_jsx(AddressCard, { address: addr, onEdit: onEdit, onDelete: onDelete }, addr.id))) }), onAdd && (_jsxs(Button, { onClick: onAdd, variant: "outline", className: "mt-2 rounded-lg border border-dashed border-neutral-300 dark:border-slate-600 px-4 py-3 text-sm font-medium text-neutral-500 dark:text-zinc-400 transition hover:border-neutral-400 dark:hover:border-slate-500 hover:text-neutral-700 dark:hover:text-zinc-200", children: ["+ ", addLabel] }))] }));
|
|
13
|
+
export function AddressBook({ addresses, onEdit, onDelete, onSetDefault, onAdd, emptyLabel = "No saved addresses", addLabel = "Add Address", }) {
|
|
14
|
+
return (_jsxs(Div, { className: "space-y-4", children: [addresses.length === 0 && (_jsx(Text, { className: "text-sm text-neutral-500 dark:text-zinc-400", children: emptyLabel })), _jsx(Div, { className: `grid ${THEME_CONSTANTS.spacing.gap.md} sm:grid-cols-2`, children: addresses.map((addr) => (_jsx(AddressCard, { address: addr, onEdit: onEdit, onDelete: onDelete, onSetDefault: onSetDefault }, addr.id))) }), onAdd && (_jsxs(Button, { onClick: onAdd, variant: "outline", className: "mt-2 rounded-lg border border-dashed border-neutral-300 dark:border-slate-600 px-4 py-3 text-sm font-medium text-neutral-500 dark:text-zinc-400 transition hover:border-neutral-400 dark:hover:border-slate-500 hover:text-neutral-700 dark:hover:text-zinc-200", children: ["+ ", addLabel] }))] }));
|
|
15
15
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { SlottedListingViewProps } from "../../../ui";
|
|
3
|
+
export interface UserReturnsViewLabels {
|
|
4
|
+
title?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface UserReturnsViewProps extends Omit<SlottedListingViewProps, "renderTable"> {
|
|
7
|
+
labels?: UserReturnsViewLabels;
|
|
8
|
+
renderTable?: () => React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export declare function UserReturnsView({ renderTable, ...props }: UserReturnsViewProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { SlottedListingView } from "../../../ui";
|
|
3
|
+
export function UserReturnsView({ renderTable, ...props }) {
|
|
4
|
+
return (_jsx(SlottedListingView, { portal: "user", ...props, renderTable: renderTable ?? (() => null) }));
|
|
5
|
+
}
|
|
@@ -36,3 +36,5 @@ export { BecomeSellerView } from "./BecomeSellerView";
|
|
|
36
36
|
export type { BecomeSellerViewProps, BecomeSellerViewLabels, } from "./BecomeSellerView";
|
|
37
37
|
export { UserOrderTrackView } from "./UserOrderTrackView";
|
|
38
38
|
export type { UserOrderTrackViewProps, UserOrderTrackViewLabels, } from "./UserOrderTrackView";
|
|
39
|
+
export { UserReturnsView } from "./UserReturnsView";
|
|
40
|
+
export type { UserReturnsViewProps, UserReturnsViewLabels, } from "./UserReturnsView";
|
|
@@ -12,9 +12,9 @@ export declare const userAddressSchema: z.ZodObject<{
|
|
|
12
12
|
isDefault: z.ZodOptional<z.ZodBoolean>;
|
|
13
13
|
phone: z.ZodOptional<z.ZodString>;
|
|
14
14
|
}, "strip", z.ZodTypeAny, {
|
|
15
|
+
country: string;
|
|
15
16
|
id: string;
|
|
16
17
|
state: string;
|
|
17
|
-
country: string;
|
|
18
18
|
city: string;
|
|
19
19
|
postalCode: string;
|
|
20
20
|
line1: string;
|
|
@@ -23,9 +23,9 @@ export declare const userAddressSchema: z.ZodObject<{
|
|
|
23
23
|
isDefault?: boolean | undefined;
|
|
24
24
|
line2?: string | undefined;
|
|
25
25
|
}, {
|
|
26
|
+
country: string;
|
|
26
27
|
id: string;
|
|
27
28
|
state: string;
|
|
28
|
-
country: string;
|
|
29
29
|
city: string;
|
|
30
30
|
postalCode: string;
|
|
31
31
|
line1: string;
|
|
@@ -43,14 +43,14 @@ export declare const notificationPreferencesSchema: z.ZodObject<{
|
|
|
43
43
|
}, "strip", z.ZodTypeAny, {
|
|
44
44
|
push?: boolean | undefined;
|
|
45
45
|
promotions?: boolean | undefined;
|
|
46
|
-
newsletter?: boolean | undefined;
|
|
47
46
|
orderUpdates?: boolean | undefined;
|
|
47
|
+
newsletter?: boolean | undefined;
|
|
48
48
|
sms?: boolean | undefined;
|
|
49
49
|
}, {
|
|
50
50
|
push?: boolean | undefined;
|
|
51
51
|
promotions?: boolean | undefined;
|
|
52
|
-
newsletter?: boolean | undefined;
|
|
53
52
|
orderUpdates?: boolean | undefined;
|
|
53
|
+
newsletter?: boolean | undefined;
|
|
54
54
|
sms?: boolean | undefined;
|
|
55
55
|
}>;
|
|
56
56
|
/**
|
|
@@ -83,9 +83,9 @@ export declare const userProfileSchema: z.ZodObject<{
|
|
|
83
83
|
isDefault: z.ZodOptional<z.ZodBoolean>;
|
|
84
84
|
phone: z.ZodOptional<z.ZodString>;
|
|
85
85
|
}, "strip", z.ZodTypeAny, {
|
|
86
|
+
country: string;
|
|
86
87
|
id: string;
|
|
87
88
|
state: string;
|
|
88
|
-
country: string;
|
|
89
89
|
city: string;
|
|
90
90
|
postalCode: string;
|
|
91
91
|
line1: string;
|
|
@@ -94,9 +94,9 @@ export declare const userProfileSchema: z.ZodObject<{
|
|
|
94
94
|
isDefault?: boolean | undefined;
|
|
95
95
|
line2?: string | undefined;
|
|
96
96
|
}, {
|
|
97
|
+
country: string;
|
|
97
98
|
id: string;
|
|
98
99
|
state: string;
|
|
99
|
-
country: string;
|
|
100
100
|
city: string;
|
|
101
101
|
postalCode: string;
|
|
102
102
|
line1: string;
|
|
@@ -114,26 +114,28 @@ export declare const userProfileSchema: z.ZodObject<{
|
|
|
114
114
|
}, "strip", z.ZodTypeAny, {
|
|
115
115
|
push?: boolean | undefined;
|
|
116
116
|
promotions?: boolean | undefined;
|
|
117
|
-
newsletter?: boolean | undefined;
|
|
118
117
|
orderUpdates?: boolean | undefined;
|
|
118
|
+
newsletter?: boolean | undefined;
|
|
119
119
|
sms?: boolean | undefined;
|
|
120
120
|
}, {
|
|
121
121
|
push?: boolean | undefined;
|
|
122
122
|
promotions?: boolean | undefined;
|
|
123
|
-
newsletter?: boolean | undefined;
|
|
124
123
|
orderUpdates?: boolean | undefined;
|
|
124
|
+
newsletter?: boolean | undefined;
|
|
125
125
|
sms?: boolean | undefined;
|
|
126
126
|
}>>;
|
|
127
127
|
createdAt: z.ZodOptional<z.ZodString>;
|
|
128
128
|
updatedAt: z.ZodOptional<z.ZodString>;
|
|
129
129
|
}, "strip", z.ZodTypeAny, {
|
|
130
130
|
id: string;
|
|
131
|
-
|
|
131
|
+
createdAt?: string | undefined;
|
|
132
|
+
updatedAt?: string | undefined;
|
|
132
133
|
displayName?: string | undefined;
|
|
134
|
+
email?: string | undefined;
|
|
133
135
|
addresses?: {
|
|
136
|
+
country: string;
|
|
134
137
|
id: string;
|
|
135
138
|
state: string;
|
|
136
|
-
country: string;
|
|
137
139
|
city: string;
|
|
138
140
|
postalCode: string;
|
|
139
141
|
line1: string;
|
|
@@ -143,25 +145,25 @@ export declare const userProfileSchema: z.ZodObject<{
|
|
|
143
145
|
line2?: string | undefined;
|
|
144
146
|
}[] | undefined;
|
|
145
147
|
photoURL?: string | undefined;
|
|
146
|
-
createdAt?: string | undefined;
|
|
147
|
-
updatedAt?: string | undefined;
|
|
148
148
|
phone?: string | undefined;
|
|
149
149
|
bio?: string | undefined;
|
|
150
150
|
notificationPreferences?: {
|
|
151
151
|
push?: boolean | undefined;
|
|
152
152
|
promotions?: boolean | undefined;
|
|
153
|
-
newsletter?: boolean | undefined;
|
|
154
153
|
orderUpdates?: boolean | undefined;
|
|
154
|
+
newsletter?: boolean | undefined;
|
|
155
155
|
sms?: boolean | undefined;
|
|
156
156
|
} | undefined;
|
|
157
157
|
}, {
|
|
158
158
|
id: string;
|
|
159
|
-
|
|
159
|
+
createdAt?: string | undefined;
|
|
160
|
+
updatedAt?: string | undefined;
|
|
160
161
|
displayName?: string | undefined;
|
|
162
|
+
email?: string | undefined;
|
|
161
163
|
addresses?: {
|
|
164
|
+
country: string;
|
|
162
165
|
id: string;
|
|
163
166
|
state: string;
|
|
164
|
-
country: string;
|
|
165
167
|
city: string;
|
|
166
168
|
postalCode: string;
|
|
167
169
|
line1: string;
|
|
@@ -171,15 +173,13 @@ export declare const userProfileSchema: z.ZodObject<{
|
|
|
171
173
|
line2?: string | undefined;
|
|
172
174
|
}[] | undefined;
|
|
173
175
|
photoURL?: string | undefined;
|
|
174
|
-
createdAt?: string | undefined;
|
|
175
|
-
updatedAt?: string | undefined;
|
|
176
176
|
phone?: string | undefined;
|
|
177
177
|
bio?: string | undefined;
|
|
178
178
|
notificationPreferences?: {
|
|
179
179
|
push?: boolean | undefined;
|
|
180
180
|
promotions?: boolean | undefined;
|
|
181
|
-
newsletter?: boolean | undefined;
|
|
182
181
|
orderUpdates?: boolean | undefined;
|
|
182
|
+
newsletter?: boolean | undefined;
|
|
183
183
|
sms?: boolean | undefined;
|
|
184
184
|
} | undefined;
|
|
185
185
|
}>;
|
|
@@ -23,14 +23,14 @@ export async function getChatRooms(userId, chatEnabled) {
|
|
|
23
23
|
export async function createOrGetChatRoom(userId, chatEnabled, input) {
|
|
24
24
|
if (!chatEnabled)
|
|
25
25
|
throw new AuthorizationError("Chat is temporarily unavailable.");
|
|
26
|
-
const { orderId,
|
|
26
|
+
const { orderId, ownerId } = input;
|
|
27
27
|
const order = await orderRepository.findById(orderId);
|
|
28
28
|
if (!order)
|
|
29
29
|
throw new NotFoundError(ERROR_MESSAGES.ORDER.NOT_FOUND);
|
|
30
|
-
if (order.userId !== userId &&
|
|
30
|
+
if (order.userId !== userId && ownerId !== userId)
|
|
31
31
|
throw new AuthorizationError(ERROR_MESSAGES.CHAT.NOT_AUTHORIZED);
|
|
32
32
|
const buyerId = order.userId;
|
|
33
|
-
const existing = await chatRepository.findRoom(buyerId,
|
|
33
|
+
const existing = await chatRepository.findRoom(buyerId, ownerId, orderId);
|
|
34
34
|
if (existing) {
|
|
35
35
|
const deletedBy = existing.deletedBy ?? [];
|
|
36
36
|
if (deletedBy.includes(userId)) {
|
|
@@ -40,19 +40,19 @@ export async function createOrGetChatRoom(userId, chatEnabled, input) {
|
|
|
40
40
|
}
|
|
41
41
|
return { room: existing };
|
|
42
42
|
}
|
|
43
|
-
const [buyer,
|
|
43
|
+
const [buyer, owner] = await Promise.all([
|
|
44
44
|
userRepository.findById(buyerId),
|
|
45
|
-
userRepository.findById(
|
|
45
|
+
userRepository.findById(ownerId),
|
|
46
46
|
]);
|
|
47
47
|
const room = await chatRepository.create({
|
|
48
48
|
buyerId,
|
|
49
|
-
|
|
49
|
+
ownerId,
|
|
50
50
|
orderId,
|
|
51
51
|
productId: order.productId,
|
|
52
52
|
productTitle: order.productTitle,
|
|
53
53
|
buyerName: buyer?.displayName ?? "Buyer",
|
|
54
|
-
|
|
55
|
-
participantIds: [buyerId,
|
|
54
|
+
ownerName: owner?.displayName ?? "Seller",
|
|
55
|
+
participantIds: [buyerId, ownerId],
|
|
56
56
|
});
|
|
57
57
|
serverLogger.info("createOrGetChatRoom: room created", { userId, orderId });
|
|
58
58
|
return { room };
|
|
@@ -72,8 +72,8 @@ export async function sendChatMessage(userId, chatId, message) {
|
|
|
72
72
|
const id = msgRef.key;
|
|
73
73
|
const userName = userId === room.buyerId
|
|
74
74
|
? (room.buyerName ?? "Buyer")
|
|
75
|
-
: userId === room.
|
|
76
|
-
? (room.
|
|
75
|
+
: userId === room.ownerId
|
|
76
|
+
? (room.ownerName ?? "Seller")
|
|
77
77
|
: (room.buyerName ?? "Member");
|
|
78
78
|
await msgRef.set({ userId, userName, message, timestamp: Date.now() });
|
|
79
79
|
chatRepository.updateLastMessage(chatId, message).catch((err) => {
|
|
@@ -3,5 +3,6 @@ export interface AdminBlogEditorViewProps extends Omit<StackedViewShellProps, "s
|
|
|
3
3
|
postId?: string;
|
|
4
4
|
onSaved?: (id: string) => void;
|
|
5
5
|
onDeleted?: () => void;
|
|
6
|
+
embedded?: boolean;
|
|
6
7
|
}
|
|
7
|
-
export declare function AdminBlogEditorView({ postId, onSaved, onDeleted, ...rest }: AdminBlogEditorViewProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function AdminBlogEditorView({ postId, onSaved, onDeleted, embedded, ...rest }: AdminBlogEditorViewProps): import("react/jsx-runtime").JSX.Element;
|