@mohasinac/appkit 3.2.20 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_internal/client/features/classified/ClassifiedDetailView.d.ts +2 -1
- package/dist/_internal/client/features/digital-code/CodeRevealPanel.d.ts +2 -1
- package/dist/_internal/client/features/digital-code/DigitalCodeDetailView.d.ts +2 -1
- package/dist/_internal/client/features/layout/DashboardLayoutClient.d.ts +1 -1
- package/dist/_internal/client/features/layout/RoleGuard.d.ts +1 -1
- package/dist/_internal/client/features/live/LiveItemDetailView.d.ts +1 -1
- package/dist/_internal/client/features/lottery/LotteryAdminEditView.d.ts +2 -1
- package/dist/_internal/client/features/lottery/LotteryAdminSlotView.d.ts +2 -1
- package/dist/_internal/client/features/lottery/LotteryDetailView.d.ts +2 -1
- package/dist/_internal/client/features/lottery/LotteryEntriesView.d.ts +2 -1
- package/dist/_internal/client/features/lottery/LotteryListView.d.ts +2 -1
- package/dist/_internal/client/features/lottery/LotteryPullForm.d.ts +2 -1
- package/dist/_internal/client/features/lottery/LotterySlotGrid.d.ts +2 -1
- package/dist/_internal/client/features/lottery/PrizeDrawLotteryDetailView.d.ts +2 -1
- package/dist/_internal/client/features/tour/TourProvider.d.ts +1 -1
- package/dist/_internal/client/i18n/LabelsProvider.d.ts +1 -1
- package/dist/_internal/client/scaffolds/AppShell.d.ts +1 -1
- package/dist/_internal/client/scaffolds/DashboardScaffold.d.ts +1 -1
- package/dist/_internal/client/theme/ThemeProvider.d.ts +1 -1
- package/dist/_internal/server/features/checkout/actions.d.ts +2 -0
- package/dist/_internal/server/features/checkout/actions.js +239 -190
- package/dist/_internal/server/functions/scheduled.d.ts +2 -1
- package/dist/_internal/server/functions/scheduled.js +9 -1
- package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +8 -11
- package/dist/_internal/server/jobs/core/emiInstallmentReminder.d.ts +8 -0
- package/dist/_internal/server/jobs/core/emiInstallmentReminder.js +78 -0
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.d.ts +2 -2
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +15 -10
- package/dist/_internal/server/jobs/handlers/emiInstallmentReminder.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/emiInstallmentReminder.js +2 -0
- package/dist/_internal/server/jobs/handlers/index.d.ts +1 -0
- package/dist/_internal/server/jobs/handlers/index.js +2 -0
- package/dist/_internal/server/providers/index.d.ts +4 -4
- package/dist/_internal/server/providers/index.js +4 -4
- package/dist/_internal/server/providers/payment/razorpay-mock.d.ts +3 -2
- package/dist/_internal/server/providers/payment/razorpay-mock.js +3 -1
- package/dist/_internal/server/providers/resolve.d.ts +10 -13
- package/dist/_internal/server/providers/resolve.js +9 -15
- package/dist/_internal/shared/actions/action-registry.js +28 -0
- package/dist/_internal/shared/checkout/rules/_defaults.js +1 -0
- package/dist/_internal/shared/checkout/rules/_registry.js +4 -0
- package/dist/_internal/shared/checkout/rules/art.rule.d.ts +9 -0
- package/dist/_internal/shared/checkout/rules/art.rule.js +5 -0
- package/dist/_internal/shared/checkout/rules/auction.rule.js +1 -0
- package/dist/_internal/shared/checkout/rules/classified.rule.js +1 -0
- package/dist/_internal/shared/checkout/rules/index.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/index.js +2 -0
- package/dist/_internal/shared/checkout/rules/stickers.rule.d.ts +9 -0
- package/dist/_internal/shared/checkout/rules/stickers.rule.js +5 -0
- package/dist/_internal/shared/checkout/rules/types.d.ts +6 -0
- package/dist/_internal/shared/features/checkout/config.d.ts +16 -1
- package/dist/_internal/shared/features/checkout/config.js +16 -1
- package/dist/_internal/shared/features/emi/schedule.d.ts +63 -0
- package/dist/_internal/shared/features/emi/schedule.js +62 -0
- package/dist/_internal/shared/fees/calculator.d.ts +53 -0
- package/dist/_internal/shared/fees/calculator.js +40 -0
- package/dist/_internal/shared/listing-types/_registry.d.ts +22 -66
- package/dist/_internal/shared/listing-types/_registry.js +19 -2
- package/dist/_internal/shared/listing-types/art/config.d.ts +15 -0
- package/dist/_internal/shared/listing-types/art/config.js +14 -0
- package/dist/_internal/shared/listing-types/art/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/art/ctas.js +3 -0
- package/dist/_internal/shared/listing-types/art/og.d.ts +1 -0
- package/dist/_internal/shared/listing-types/art/og.js +1 -0
- package/dist/_internal/shared/listing-types/art/schema.d.ts +2 -0
- package/dist/_internal/shared/listing-types/art/schema.js +3 -0
- package/dist/_internal/shared/listing-types/art/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/art/seed-factory.js +1 -0
- package/dist/_internal/shared/listing-types/auction/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/auction/config.js +6 -0
- package/dist/_internal/shared/listing-types/capabilities.js +17 -0
- package/dist/_internal/shared/listing-types/classified/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/classified/config.js +6 -0
- package/dist/_internal/shared/listing-types/digital-code/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/digital-code/config.js +6 -0
- package/dist/_internal/shared/listing-types/live/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/live/config.js +6 -0
- package/dist/_internal/shared/listing-types/pre-order/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/pre-order/config.js +6 -0
- package/dist/_internal/shared/listing-types/prize-draw/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/prize-draw/config.js +6 -0
- package/dist/_internal/shared/listing-types/standard/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/standard/config.js +6 -0
- package/dist/_internal/shared/listing-types/stickers/config.d.ts +15 -0
- package/dist/_internal/shared/listing-types/stickers/config.js +14 -0
- package/dist/_internal/shared/listing-types/stickers/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/stickers/ctas.js +3 -0
- package/dist/_internal/shared/listing-types/stickers/og.d.ts +1 -0
- package/dist/_internal/shared/listing-types/stickers/og.js +1 -0
- package/dist/_internal/shared/listing-types/stickers/schema.d.ts +2 -0
- package/dist/_internal/shared/listing-types/stickers/schema.js +3 -0
- package/dist/_internal/shared/listing-types/stickers/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/stickers/seed-factory.js +1 -0
- package/dist/client.d.ts +7 -2
- package/dist/client.js +4 -2
- package/dist/constants/field-names.d.ts +2 -6
- package/dist/constants/field-names.js +2 -6
- package/dist/contracts/index.d.ts +4 -2
- package/dist/contracts/index.js +6 -0
- package/dist/contracts/payment.d.ts +14 -9
- package/dist/contracts/payment.js +11 -1
- package/dist/contracts/shipping.d.ts +14 -9
- package/dist/contracts/shipping.js +11 -1
- package/dist/features/about/components/AboutView.d.ts +1 -1
- package/dist/features/about/components/FAQPageView.d.ts +1 -1
- package/dist/features/about/components/FeesView.d.ts +1 -1
- package/dist/features/about/components/HelpPageView.d.ts +1 -1
- package/dist/features/about/components/HowAuctionsWorkView.d.ts +1 -1
- package/dist/features/about/components/HowCheckoutWorksView.d.ts +1 -1
- package/dist/features/about/components/HowOffersWorkView.d.ts +1 -1
- package/dist/features/about/components/HowOrdersWorkView.d.ts +1 -1
- package/dist/features/about/components/HowPayoutsWorkView.d.ts +1 -1
- package/dist/features/about/components/HowPreOrdersWorkView.d.ts +1 -1
- package/dist/features/about/components/HowReviewsWorkView.d.ts +1 -1
- package/dist/features/about/components/PolicyPageView.d.ts +1 -1
- package/dist/features/about/components/PublicProfileView.d.ts +1 -1
- package/dist/features/about/components/PublicProfileView.js +3 -6
- package/dist/features/about/components/SecurityPrivacyView.d.ts +1 -1
- package/dist/features/about/components/ShippingPolicyView.d.ts +1 -1
- package/dist/features/about/components/TrackOrderView.d.ts +1 -1
- package/dist/features/about/components/UnauthorizedView.d.ts +1 -1
- package/dist/features/account/components/AddressBook.d.ts +2 -2
- package/dist/features/account/components/AddressFilters.d.ts +1 -1
- package/dist/features/account/components/AddressForm.d.ts +1 -1
- package/dist/features/account/components/AddressInlineSelect.d.ts +2 -1
- package/dist/features/account/components/AddressSelectorCreate.d.ts +1 -1
- package/dist/features/account/components/AddressesIndexListing.d.ts +2 -1
- package/dist/features/account/components/BecomeSellerView.d.ts +1 -1
- package/dist/features/account/components/BuyerAccountGuideView.d.ts +2 -1
- package/dist/features/account/components/BuyerAuctionsGuideView.d.ts +2 -1
- package/dist/features/account/components/BuyerOrdersGuideView.d.ts +2 -1
- package/dist/features/account/components/BuyerShoppingGuideView.d.ts +2 -1
- package/dist/features/account/components/ChatList.d.ts +1 -1
- package/dist/features/account/components/ChatWindow.d.ts +1 -1
- package/dist/features/account/components/MessagesView.d.ts +1 -1
- package/dist/features/account/components/NotificationBell.d.ts +1 -1
- package/dist/features/account/components/NotificationPreferencesPanel.d.ts +1 -1
- package/dist/features/account/components/OrderDetailView.d.ts +1 -1
- package/dist/features/account/components/ProfileView.d.ts +1 -1
- package/dist/features/account/components/UserAccountHubView.d.ts +1 -1
- package/dist/features/account/components/UserAddressesView.d.ts +1 -1
- package/dist/features/account/components/UserNotificationsView.d.ts +1 -1
- package/dist/features/account/components/UserOffersPanel.d.ts +1 -1
- package/dist/features/account/components/UserOffersView.d.ts +1 -1
- package/dist/features/account/components/UserOrderTrackView.d.ts +1 -1
- package/dist/features/account/components/UserOrdersView.d.ts +1 -1
- package/dist/features/account/components/UserReturnsView.d.ts +1 -1
- package/dist/features/account/components/UserSettingsView.d.ts +1 -1
- package/dist/features/account/components/UserSidebar.d.ts +1 -1
- package/dist/features/account/components/UserSupportView.d.ts +2 -1
- package/dist/features/admin/components/AdminAdEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminAddressBookView.d.ts +11 -0
- package/dist/features/admin/components/AdminAddressBookView.js +30 -0
- package/dist/features/admin/components/AdminAddressClustersView.d.ts +1 -1
- package/dist/features/admin/components/AdminAddressEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminAddressesView.d.ts +1 -1
- package/dist/features/admin/components/AdminAdsView.d.ts +1 -1
- package/dist/features/admin/components/AdminAllEventEntriesView.d.ts +2 -1
- package/dist/features/admin/components/AdminAnalyticsGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminAnalyticsView.d.ts +1 -1
- package/dist/features/admin/components/AdminArtView.d.ts +4 -0
- package/dist/features/admin/components/AdminArtView.js +45 -0
- package/dist/features/admin/components/AdminBidsView.d.ts +2 -1
- package/dist/features/admin/components/AdminBlogEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminBlogView.d.ts +2 -1
- package/dist/features/admin/components/AdminBrandEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminBrandsView.d.ts +2 -1
- package/dist/features/admin/components/AdminBundleEditorView.d.ts +14 -1
- package/dist/features/admin/components/AdminBundlesView.d.ts +2 -1
- package/dist/features/admin/components/AdminCarouselEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminCarouselView.d.ts +2 -1
- package/dist/features/admin/components/AdminCartsView.d.ts +2 -1
- package/dist/features/admin/components/AdminCatalogGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminCategoriesView.d.ts +2 -1
- package/dist/features/admin/components/AdminCategoryEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminClassifiedView.d.ts +2 -1
- package/dist/features/admin/components/AdminContactEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminContactView.d.ts +2 -1
- package/dist/features/admin/components/AdminContentGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminCouponEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminCouponsView.d.ts +2 -1
- package/dist/features/admin/components/AdminDashboardView.d.ts +1 -1
- package/dist/features/admin/components/AdminDigitalCodesView.d.ts +2 -1
- package/dist/features/admin/components/AdminEmployeeEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminFaqEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminFaqsView.d.ts +2 -1
- package/dist/features/admin/components/AdminFeatureEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminFeatureFlagsView.d.ts +1 -1
- package/dist/features/admin/components/AdminFeaturesView.d.ts +2 -1
- package/dist/features/admin/components/AdminFilterBar.d.ts +1 -1
- package/dist/features/admin/components/AdminFulfillmentView.d.ts +2 -1
- package/dist/features/admin/components/AdminGroupedListingsView.d.ts +2 -1
- package/dist/features/admin/components/AdminGuideHubView.d.ts +2 -1
- package/dist/features/admin/components/AdminHistoryView.d.ts +2 -1
- package/dist/features/admin/components/AdminLiveView.d.ts +2 -1
- package/dist/features/admin/components/AdminMediaView.d.ts +1 -1
- package/dist/features/admin/components/AdminNavEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminNavigationView.d.ts +2 -1
- package/dist/features/admin/components/AdminNewsletterView.d.ts +2 -1
- package/dist/features/admin/components/AdminNotificationsView.d.ts +2 -1
- package/dist/features/admin/components/AdminOrderEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminOrdersGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminOrdersView.d.ts +2 -1
- package/dist/features/admin/components/AdminPageHeader.d.ts +1 -1
- package/dist/features/admin/components/AdminPaymentClustersView.d.ts +1 -1
- package/dist/features/admin/components/AdminPaymentMethodsView.d.ts +1 -1
- package/dist/features/admin/components/AdminPayoutsView.d.ts +2 -1
- package/dist/features/admin/components/AdminPrizeDrawsView.d.ts +2 -1
- package/dist/features/admin/components/AdminProductEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminProductsView.d.ts +2 -1
- package/dist/features/admin/components/AdminReturnRequestsView.d.ts +1 -1
- package/dist/features/admin/components/AdminReviewsView.d.ts +2 -1
- package/dist/features/admin/components/AdminScammerEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminScammersView.d.ts +2 -1
- package/dist/features/admin/components/AdminSectionsView.d.ts +1 -1
- package/dist/features/admin/components/AdminSessionsManager.d.ts +1 -1
- package/dist/features/admin/components/AdminSessionsView.d.ts +2 -1
- package/dist/features/admin/components/AdminSidebar.d.ts +1 -1
- package/dist/features/admin/components/AdminSiteConfigGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminSiteConfigGuideView.js +1 -1
- package/dist/features/admin/components/AdminSiteSettingsView.d.ts +2 -1
- package/dist/features/admin/components/AdminSiteSettingsView.js +14 -9
- package/dist/features/admin/components/AdminSiteView.d.ts +1 -1
- package/dist/features/admin/components/AdminStickersView.d.ts +4 -0
- package/dist/features/admin/components/AdminStickersView.js +45 -0
- package/dist/features/admin/components/AdminStoreAddressesView.d.ts +1 -1
- package/dist/features/admin/components/AdminStoreEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminStoresGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminStoresView.d.ts +2 -1
- package/dist/features/admin/components/AdminSublistingCategoriesView.d.ts +2 -1
- package/dist/features/admin/components/AdminSublistingCategoryEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminSupportTicketDetailView.d.ts +2 -1
- package/dist/features/admin/components/AdminSupportTicketsView.d.ts +2 -1
- package/dist/features/admin/components/AdminTeamGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminTeamView.d.ts +2 -1
- package/dist/features/admin/components/AdminTopBar.d.ts +1 -1
- package/dist/features/admin/components/AdminTrustGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminUserEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminUsersGuideView.d.ts +2 -1
- package/dist/features/admin/components/AdminUsersView.d.ts +2 -1
- package/dist/features/admin/components/AdminViewCards.d.ts +2 -1
- package/dist/features/admin/components/AdminWishlistsView.d.ts +2 -1
- package/dist/features/admin/components/BrandQuickCreateForm.d.ts +2 -1
- package/dist/features/admin/components/CategoryQuickCreateForm.d.ts +2 -1
- package/dist/features/admin/components/DashboardStats.d.ts +1 -1
- package/dist/features/admin/components/DataListingView.d.ts +1 -1
- package/dist/features/admin/components/DataTable.d.ts +1 -1
- package/dist/features/admin/components/DemoSeedView.d.ts +1 -1
- package/dist/features/admin/components/DrawerFormFooter.d.ts +1 -1
- package/dist/features/admin/components/QuickActionsPanel.d.ts +1 -1
- package/dist/features/admin/components/QuickEditMenu.d.ts +1 -1
- package/dist/features/admin/components/analytics/AdminAnalyticsCharts.d.ts +3 -2
- package/dist/features/admin/components/analytics/AdminStatCard.d.ts +1 -1
- package/dist/features/admin/components/analytics/AdminTopProductsTable.d.ts +1 -1
- package/dist/features/admin/components/index.d.ts +6 -0
- package/dist/features/admin/components/index.js +4 -0
- package/dist/features/admin/schemas/firestore.d.ts +19 -11
- package/dist/features/admin/schemas/firestore.js +12 -2
- package/dist/features/auctions/components/AuctionBidsTable.d.ts +1 -1
- package/dist/features/auctions/components/AuctionDetailPageView.d.ts +1 -1
- package/dist/features/auctions/components/AuctionFilters.d.ts +1 -1
- package/dist/features/auctions/components/AuctionsListView.d.ts +1 -1
- package/dist/features/auctions/components/CollapsibleBidHistory.d.ts +2 -1
- package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +4 -3
- package/dist/features/auctions/components/MarketplaceAuctionGrid.d.ts +1 -1
- package/dist/features/auctions/components/PlaceBidFormClient.d.ts +3 -2
- package/dist/features/auth/components/AuthStatusPanel.d.ts +1 -1
- package/dist/features/auth/components/ForgotPasswordView.d.ts +1 -1
- package/dist/features/auth/components/Guards.d.ts +2 -2
- package/dist/features/auth/components/LoginForm.d.ts +1 -1
- package/dist/features/auth/components/OAuthLoadingView.d.ts +1 -1
- package/dist/features/auth/components/RegisterForm.d.ts +1 -1
- package/dist/features/auth/components/ResetPasswordView.d.ts +1 -1
- package/dist/features/auth/components/SocialAuthButtons.d.ts +1 -1
- package/dist/features/auth/components/VerifyEmailView.d.ts +1 -1
- package/dist/features/auth/hooks/useAuth.js +35 -9
- package/dist/features/auth/schemas/firestore.d.ts +2 -6
- package/dist/features/before-after/components/BeforeAfterGallery.d.ts +1 -1
- package/dist/features/before-after/components/BeforeAfterSlider.d.ts +2 -1
- package/dist/features/blog/components/BlogFeaturedCard.d.ts +2 -1
- package/dist/features/blog/components/BlogFilters.d.ts +1 -1
- package/dist/features/blog/components/BlogIndexListing.d.ts +2 -1
- package/dist/features/blog/components/BlogIndexPageView.d.ts +2 -1
- package/dist/features/blog/components/BlogListView.d.ts +4 -3
- package/dist/features/blog/components/BlogPostForm.d.ts +1 -1
- package/dist/features/blog/components/BlogPostView.d.ts +1 -1
- package/dist/features/cart/components/CartDrawer.d.ts +2 -2
- package/dist/features/cart/components/CartSummary.d.ts +1 -1
- package/dist/features/cart/components/CartView.d.ts +1 -1
- package/dist/features/cart/components/CheckoutAddressStep.d.ts +1 -1
- package/dist/features/cart/components/CheckoutOtpModal.d.ts +1 -1
- package/dist/features/cart/components/CheckoutSuccessView.d.ts +1 -1
- package/dist/features/cart/components/CheckoutView.d.ts +1 -1
- package/dist/features/cart/components/ShippingPicker.d.ts +9 -1
- package/dist/features/cart/schemas/firestore.d.ts +3 -2
- package/dist/features/categories/components/BrandDetailPageView.d.ts +2 -1
- package/dist/features/categories/components/BrandDetailTabs.d.ts +2 -1
- package/dist/features/categories/components/BreadcrumbTrail.d.ts +2 -1
- package/dist/features/categories/components/BundleBuyNowCta.d.ts +9 -1
- package/dist/features/categories/components/BundleCollage.d.ts +10 -1
- package/dist/features/categories/components/BundleDetailView.d.ts +2 -1
- package/dist/features/categories/components/BundleDynamicRuleEditor.d.ts +15 -1
- package/dist/features/categories/components/BundleItemsPicker.d.ts +15 -1
- package/dist/features/categories/components/BundlesListView.d.ts +2 -1
- package/dist/features/categories/components/CategoriesIndexListing.d.ts +2 -1
- package/dist/features/categories/components/CategoriesIndexPageView.d.ts +2 -1
- package/dist/features/categories/components/CategoryBundlesListing.d.ts +2 -1
- package/dist/features/categories/components/CategoryDetailPageView.d.ts +2 -1
- package/dist/features/categories/components/CategoryDetailTabs.d.ts +2 -1
- package/dist/features/categories/components/CategoryFilters.d.ts +1 -1
- package/dist/features/categories/components/CategoryForm.d.ts +1 -1
- package/dist/features/categories/components/CategoryGrid.d.ts +3 -2
- package/dist/features/categories/components/CategoryProductsListing.d.ts +2 -1
- package/dist/features/categories/components/CategoryProductsView.d.ts +1 -1
- package/dist/features/categories/components/CategorySelectorCreate.d.ts +1 -1
- package/dist/features/categories/components/CategorySortSelect.d.ts +1 -1
- package/dist/features/categories/components/CategoryStoresListing.d.ts +2 -1
- package/dist/features/categories/components/CategoryTableColumns.d.ts +3 -3
- package/dist/features/categories/components/CategoryTree.d.ts +1 -1
- package/dist/features/categories/components/ConcernCard.d.ts +1 -1
- package/dist/features/categories/components/ConcernGrid.d.ts +1 -1
- package/dist/features/checkout/components/CheckoutStepper.d.ts +2 -1
- package/dist/features/classified/components/ClassifiedFilters.d.ts +1 -1
- package/dist/features/classified/components/ClassifiedIndexListing.d.ts +2 -1
- package/dist/features/classified/components/ClassifiedListView.d.ts +1 -1
- package/dist/features/collections/components/CollectionCard.d.ts +3 -2
- package/dist/features/consultation/components/ConsultationForm.d.ts +2 -1
- package/dist/features/consultation/schemas/index.d.ts +2 -2
- package/dist/features/contact/components/ContactForm.d.ts +2 -1
- package/dist/features/contact/components/ContactInfoSidebar.d.ts +1 -1
- package/dist/features/contact/components/ContactPageView.d.ts +2 -1
- package/dist/features/copilot/components/AdminCopilotView.d.ts +1 -1
- package/dist/features/corporate/components/CorporateInquiryForm.d.ts +2 -1
- package/dist/features/digital-codes/components/DigitalCodeFilters.d.ts +1 -1
- package/dist/features/digital-codes/components/DigitalCodesIndexListing.d.ts +2 -1
- package/dist/features/digital-codes/components/DigitalCodesListView.d.ts +1 -1
- package/dist/features/email/primitives.d.ts +11 -11
- package/dist/features/events/components/AdminEventEditorView.d.ts +2 -1
- package/dist/features/events/components/AdminEventEntriesView.d.ts +1 -1
- package/dist/features/events/components/AdminEventsView.d.ts +2 -1
- package/dist/features/events/components/EventBanner.d.ts +2 -1
- package/dist/features/events/components/EventCard.d.ts +1 -1
- package/dist/features/events/components/EventDetailView.d.ts +1 -1
- package/dist/features/events/components/EventFilters.d.ts +1 -1
- package/dist/features/events/components/EventFormDrawer.d.ts +1 -1
- package/dist/features/events/components/EventLeaderboard.d.ts +1 -1
- package/dist/features/events/components/EventOfferCard.d.ts +2 -1
- package/dist/features/events/components/EventParticipateView.d.ts +1 -1
- package/dist/features/events/components/EventPollWidget.d.ts +1 -1
- package/dist/features/events/components/EventRaffleEntryForm.d.ts +2 -1
- package/dist/features/events/components/EventRaffleWinnerView.d.ts +1 -1
- package/dist/features/events/components/EventRafflesSection.d.ts +1 -1
- package/dist/features/events/components/EventSaleBanner.d.ts +2 -1
- package/dist/features/events/components/EventStatusBadge.d.ts +1 -1
- package/dist/features/events/components/EventsIndexListing.d.ts +2 -1
- package/dist/features/events/components/EventsListPageView.d.ts +2 -1
- package/dist/features/events/components/EventsListView.d.ts +2 -1
- package/dist/features/events/components/SpinWheelView.d.ts +1 -1
- package/dist/features/faq/components/ContactCTA.d.ts +1 -1
- package/dist/features/faq/components/FAQAccordion.d.ts +2 -2
- package/dist/features/faq/components/FAQCategorySidebar.d.ts +1 -1
- package/dist/features/faq/components/FAQHelpfulButtons.d.ts +1 -1
- package/dist/features/faq/components/FAQPageContent.d.ts +1 -1
- package/dist/features/faq/components/FAQSortDropdown.d.ts +1 -1
- package/dist/features/faq/components/RelatedFAQs.d.ts +1 -1
- package/dist/features/filters/AsyncFacetSection.d.ts +2 -1
- package/dist/features/filters/FilterFacetSection.d.ts +1 -1
- package/dist/features/filters/FilterPanel.d.ts +1 -1
- package/dist/features/filters/RangeFilter.d.ts +1 -1
- package/dist/features/filters/SwitchFilter.d.ts +1 -1
- package/dist/features/forms/Checkbox.d.ts +1 -1
- package/dist/features/forms/Radio.d.ts +2 -1
- package/dist/features/forms/Select.d.ts +1 -1
- package/dist/features/forms/Slider.d.ts +2 -1
- package/dist/features/forms/Toggle.d.ts +2 -1
- package/dist/features/homepage/components/AdSlot.d.ts +1 -1
- package/dist/features/homepage/components/AdvertisementBanner.d.ts +2 -1
- package/dist/features/homepage/components/AnnouncementBar.d.ts +2 -1
- package/dist/features/homepage/components/BeforeAfterCard.d.ts +1 -1
- package/dist/features/homepage/components/BlogArticlesSection.d.ts +2 -1
- package/dist/features/homepage/components/BrandsSection.d.ts +1 -1
- package/dist/features/homepage/components/CTABannerSection.d.ts +2 -1
- package/dist/features/homepage/components/CharacterHotspot.d.ts +1 -1
- package/dist/features/homepage/components/CharacterHotspotForm.d.ts +2 -1
- package/dist/features/homepage/components/CollectionCardsSection.d.ts +1 -1
- package/dist/features/homepage/components/CustomCardsSection.d.ts +2 -1
- package/dist/features/homepage/components/CustomerReviewsSection.d.ts +1 -1
- package/dist/features/homepage/components/EventsSection.d.ts +2 -1
- package/dist/features/homepage/components/FAQSection.d.ts +2 -1
- package/dist/features/homepage/components/FeaturedAuctionsSection.d.ts +2 -1
- package/dist/features/homepage/components/FeaturedBundlesSection.d.ts +2 -1
- package/dist/features/homepage/components/FeaturedPreOrdersSection.d.ts +2 -1
- package/dist/features/homepage/components/FeaturedProductsSection.d.ts +1 -1
- package/dist/features/homepage/components/FeaturedResultsSection.d.ts +1 -1
- package/dist/features/homepage/components/FeaturedStoresSection.d.ts +2 -1
- package/dist/features/homepage/components/GoogleReviewsSection.d.ts +2 -1
- package/dist/features/homepage/components/HeroBanner.d.ts +1 -1
- package/dist/features/homepage/components/HeroCarousel.d.ts +2 -1
- package/dist/features/homepage/components/HeroSection.d.ts +1 -1
- package/dist/features/homepage/components/HomepageCustomerReviewsSection.d.ts +2 -1
- package/dist/features/homepage/components/HomepageSkeleton.d.ts +1 -1
- package/dist/features/homepage/components/HomepageView.d.ts +1 -1
- package/dist/features/homepage/components/HowItWorksInfoView.d.ts +1 -1
- package/dist/features/homepage/components/HowItWorksSection.d.ts +1 -1
- package/dist/features/homepage/components/MarketplaceHomepageView.d.ts +1 -1
- package/dist/features/homepage/components/NewsletterBanner.d.ts +2 -1
- package/dist/features/homepage/components/NewsletterSection.d.ts +1 -1
- package/dist/features/homepage/components/PromoGrid.d.ts +1 -1
- package/dist/features/homepage/components/SectionCarousel.d.ts +1 -1
- package/dist/features/homepage/components/SecurityHighlightsSection.d.ts +1 -1
- package/dist/features/homepage/components/ShopByCategorySection.d.ts +1 -1
- package/dist/features/homepage/components/SiteFeaturesSection.d.ts +2 -1
- package/dist/features/homepage/components/SocialFeedSection.d.ts +1 -1
- package/dist/features/homepage/components/SocialPostCard.d.ts +1 -1
- package/dist/features/homepage/components/StatsCounterSection.d.ts +1 -1
- package/dist/features/homepage/components/TestimonialsCarousel.d.ts +1 -1
- package/dist/features/homepage/components/TrustBadges.d.ts +2 -1
- package/dist/features/homepage/components/TrustFeaturesSection.d.ts +1 -1
- package/dist/features/homepage/components/TrustIndicatorsSection.d.ts +2 -1
- package/dist/features/homepage/components/WelcomeSection.d.ts +2 -1
- package/dist/features/homepage/components/WhatsAppCommunitySection.d.ts +2 -1
- package/dist/features/layout/AppLayoutShell.d.ts +1 -1
- package/dist/features/layout/AutoBreadcrumbs.d.ts +1 -1
- package/dist/features/layout/BackToTop.d.ts +2 -2
- package/dist/features/layout/BottomActions.d.ts +1 -1
- package/dist/features/layout/BottomActionsContext.d.ts +1 -1
- package/dist/features/layout/BottomNavItem.d.ts +1 -1
- package/dist/features/layout/BottomNavLayout.d.ts +1 -1
- package/dist/features/layout/BottomNavbar.d.ts +1 -1
- package/dist/features/layout/BottomSheet.d.ts +1 -1
- package/dist/features/layout/Breadcrumbs.d.ts +2 -2
- package/dist/features/layout/DashboardNavContext.d.ts +1 -1
- package/dist/features/layout/FooterLayout.d.ts +1 -1
- package/dist/features/layout/LayoutClient.d.ts +1 -1
- package/dist/features/layout/LocaleSwitcher.d.ts +1 -1
- package/dist/features/layout/MainNavbar.d.ts +1 -1
- package/dist/features/layout/NavItem.d.ts +1 -1
- package/dist/features/layout/NavbarLayout.d.ts +1 -1
- package/dist/features/layout/NavbarWithSettings.d.ts +1 -1
- package/dist/features/layout/TitleBar.d.ts +1 -1
- package/dist/features/layout/TitleBarLayout.d.ts +1 -1
- package/dist/features/live/components/LiveItemFilters.d.ts +1 -1
- package/dist/features/live/components/LiveItemsIndexListing.d.ts +2 -1
- package/dist/features/live/components/LiveItemsListView.d.ts +1 -1
- package/dist/features/loyalty/components/CoinsDisplay.d.ts +3 -2
- package/dist/features/loyalty/schemas/index.d.ts +6 -6
- package/dist/features/media/AvatarUpload.d.ts +2 -1
- package/dist/features/media/MediaAudio.d.ts +1 -1
- package/dist/features/media/MediaAvatar.d.ts +1 -1
- package/dist/features/media/MediaImage.d.ts +1 -1
- package/dist/features/media/MediaLightbox.d.ts +2 -1
- package/dist/features/media/MediaPickerModal.d.ts +2 -1
- package/dist/features/media/MediaVideo.d.ts +1 -1
- package/dist/features/media/components/MediaSlider.d.ts +2 -1
- package/dist/features/media/modals/ImageCropModal.d.ts +8 -1
- package/dist/features/media/modals/ImageEditor.d.ts +8 -1
- package/dist/features/media/modals/VideoThumbnailSelector.d.ts +1 -1
- package/dist/features/media/modals/VideoTrimModal.d.ts +1 -1
- package/dist/features/media/upload/CameraCapture.d.ts +1 -1
- package/dist/features/media/upload/ImageUpload.d.ts +1 -1
- package/dist/features/media/upload/MediaUploadField.d.ts +1 -1
- package/dist/features/media/upload/MediaUploadList.d.ts +1 -1
- package/dist/features/orders/components/MarketplaceOrderCard.d.ts +1 -1
- package/dist/features/orders/components/OrderFilters.d.ts +1 -1
- package/dist/features/orders/components/OrderSiblingPayments.d.ts +10 -1
- package/dist/features/orders/components/OrdersList.d.ts +2 -2
- package/dist/features/orders/components/RefundHistoryTable.d.ts +2 -1
- package/dist/features/orders/components/RefundRequestView.d.ts +13 -1
- package/dist/features/orders/repository/orders.repository.d.ts +20 -2
- package/dist/features/orders/repository/orders.repository.js +34 -5
- package/dist/features/orders/schemas/firestore.d.ts +33 -7
- package/dist/features/orders/schemas/firestore.js +1 -1
- package/dist/features/orders/schemas/index.d.ts +176 -31
- package/dist/features/orders/schemas/index.js +20 -6
- package/dist/features/orders/types/index.d.ts +3 -3
- package/dist/features/payments/repository/payout.repository.js +2 -2
- package/dist/features/payments/schemas/firestore.d.ts +3 -3
- package/dist/features/payments/schemas/firestore.js +2 -2
- package/dist/features/payments/schemas/index.d.ts +5 -5
- package/dist/features/payments/schemas/index.js +2 -2
- package/dist/features/pre-orders/components/MarketplacePreorderCard.d.ts +1 -1
- package/dist/features/pre-orders/components/PreOrderActionsClient.d.ts +2 -1
- package/dist/features/pre-orders/components/PreOrderBadge.d.ts +2 -2
- package/dist/features/pre-orders/components/PreOrderDetailPageView.d.ts +1 -1
- package/dist/features/pre-orders/components/PreOrderFilters.d.ts +1 -1
- package/dist/features/pre-orders/components/PreOrdersIndexListing.d.ts +2 -1
- package/dist/features/pre-orders/components/PreOrdersListView.d.ts +1 -1
- package/dist/features/pre-orders/components/PreorderCard.d.ts +2 -1
- package/dist/features/products/api/[id]/route.js +4 -1
- package/dist/features/products/api/route.js +4 -1
- package/dist/features/products/columns/productTableColumns.d.ts +2 -1
- package/dist/features/products/components/AuctionDetailView.d.ts +1 -1
- package/dist/features/products/components/AuctionsIndexListing.d.ts +2 -1
- package/dist/features/products/components/BidHistory.d.ts +1 -1
- package/dist/features/products/components/CompareOverlay.d.ts +1 -1
- package/dist/features/products/components/CompareOverlay.js +7 -9
- package/dist/features/products/components/CustomFieldsEditor.d.ts +2 -1
- package/dist/features/products/components/CustomSectionTabContent.d.ts +2 -1
- package/dist/features/products/components/CustomSectionsEditor.d.ts +2 -1
- package/dist/features/products/components/FeatureBadge.d.ts +2 -2
- package/dist/features/products/components/GroupSettingsPanel.d.ts +2 -1
- package/dist/features/products/components/InteractiveProductCard.d.ts +2 -1
- package/dist/features/products/components/MakeOfferButton.d.ts +2 -1
- package/dist/features/products/components/MakeOfferForm.d.ts +1 -1
- package/dist/features/products/components/MarketplaceBundleCard.d.ts +1 -1
- package/dist/features/products/components/MarketplacePrizeDrawCard.d.ts +1 -1
- package/dist/features/products/components/NonRefundableConsentModal.d.ts +14 -1
- package/dist/features/products/components/PlaceBidForm.d.ts +1 -1
- package/dist/features/products/components/PreOrderDetailView.d.ts +1 -1
- package/dist/features/products/components/PrizeDrawCollage.d.ts +2 -1
- package/dist/features/products/components/PrizeDrawDetailPageView.d.ts +1 -1
- package/dist/features/products/components/PrizeDrawEntryActions.d.ts +1 -1
- package/dist/features/products/components/PrizeDrawItemsEditor.d.ts +1 -1
- package/dist/features/products/components/PrizeDrawsIndexListing.d.ts +1 -1
- package/dist/features/products/components/PrizeDrawsListingView.d.ts +1 -1
- package/dist/features/products/components/PrizeDrawsSection.d.ts +1 -1
- package/dist/features/products/components/PrizeRevealModal.d.ts +1 -1
- package/dist/features/products/components/ProductCardMetadataSection.d.ts +2 -1
- package/dist/features/products/components/ProductDetailActions.d.ts +1 -1
- package/dist/features/products/components/ProductDetailPageView.d.ts +3 -1
- package/dist/features/products/components/ProductDetailPageView.js +2 -2
- package/dist/features/products/components/ProductDetailView.d.ts +1 -1
- package/dist/features/products/components/ProductFeatureBadges.d.ts +1 -1
- package/dist/features/products/components/ProductFeaturesContext.d.ts +1 -1
- package/dist/features/products/components/ProductFeaturesSelector.d.ts +2 -1
- package/dist/features/products/components/ProductFilters.d.ts +1 -1
- package/dist/features/products/components/ProductForm.d.ts +1 -1
- package/dist/features/products/components/ProductForm.js +18 -7
- package/dist/features/products/components/ProductGalleryClient.d.ts +2 -1
- package/dist/features/products/components/ProductGradingTab.d.ts +2 -1
- package/dist/features/products/components/ProductGrid.d.ts +2 -2
- package/dist/features/products/components/ProductGrid.js +7 -12
- package/dist/features/products/components/ProductInfo.d.ts +1 -1
- package/dist/features/products/components/ProductTabs.d.ts +1 -1
- package/dist/features/products/components/ProductTabsShell.d.ts +1 -1
- package/dist/features/products/components/ProductsIndexListing.d.ts +2 -1
- package/dist/features/products/components/ProductsIndexPageView.d.ts +2 -1
- package/dist/features/products/components/ProductsView.d.ts +1 -1
- package/dist/features/products/components/RelatedProducts.d.ts +1 -1
- package/dist/features/products/components/RelatedProductsCarousel.d.ts +2 -1
- package/dist/features/products/components/ShareButton.d.ts +1 -1
- package/dist/features/products/components/ShowGroupSection.d.ts +2 -1
- package/dist/features/products/components/ShowGroupSection.js +3 -5
- package/dist/features/products/components/SublistingCarouselSection.d.ts +2 -1
- package/dist/features/products/components/SublistingCarouselSection.js +3 -6
- package/dist/features/products/components/SublistingCategorySelect.d.ts +2 -1
- package/dist/features/products/constants/listing-tabs.d.ts +32 -0
- package/dist/features/products/constants/listing-tabs.js +8 -0
- package/dist/features/products/index.d.ts +1 -1
- package/dist/features/products/index.js +3 -1
- package/dist/features/products/schemas/firestore.d.ts +20 -1
- package/dist/features/products/schemas/firestore.js +2 -0
- package/dist/features/products/schemas/index.d.ts +48 -0
- package/dist/features/products/schemas/index.js +9 -0
- package/dist/features/products/schemas/product-features.d.ts +1 -1
- package/dist/features/products/types/index.d.ts +5 -3
- package/dist/features/products/utils/listing-type.d.ts +6 -0
- package/dist/features/products/utils/listing-type.js +3 -0
- package/dist/features/promotions/components/CouponCard.d.ts +1 -1
- package/dist/features/promotions/components/CouponsIndexListing.d.ts +2 -1
- package/dist/features/promotions/components/PromotionsView.d.ts +3 -3
- package/dist/features/reviews/api/[id]/route.js +5 -4
- package/dist/features/reviews/components/ReviewDetailPageView.d.ts +2 -1
- package/dist/features/reviews/components/ReviewDetailShell.d.ts +2 -1
- package/dist/features/reviews/components/ReviewFilters.d.ts +1 -1
- package/dist/features/reviews/components/ReviewModal.d.ts +1 -1
- package/dist/features/reviews/components/ReviewSummary.d.ts +2 -1
- package/dist/features/reviews/components/ReviewsIndexListing.d.ts +2 -1
- package/dist/features/reviews/components/ReviewsIndexPageView.d.ts +2 -1
- package/dist/features/reviews/components/ReviewsList.d.ts +3 -2
- package/dist/features/scams/components/ScamAwarenessModal.d.ts +2 -1
- package/dist/features/scams/components/ScamProfileView.d.ts +2 -1
- package/dist/features/scams/components/ScamRegistryView.d.ts +2 -1
- package/dist/features/search/components/Search.d.ts +2 -1
- package/dist/features/search/components/SearchFiltersRow.d.ts +1 -1
- package/dist/features/search/components/SearchResultsSection.d.ts +1 -1
- package/dist/features/search/components/SearchView.d.ts +1 -1
- package/dist/features/seller/actions/seller-actions.d.ts +29 -14
- package/dist/features/seller/actions/seller-actions.js +101 -27
- package/dist/features/seller/components/BarcodeField.d.ts +2 -1
- package/dist/features/seller/components/BrandInlineSelect.d.ts +2 -1
- package/dist/features/seller/components/CategoryInlineSelect.d.ts +2 -1
- package/dist/features/seller/components/CouponInlineSelect.d.ts +2 -1
- package/dist/features/seller/components/FulfillmentView.d.ts +2 -1
- package/dist/features/seller/components/GroupInlineSelect.d.ts +2 -1
- package/dist/features/seller/components/PhysicalLocationModal.d.ts +2 -1
- package/dist/features/seller/components/PrintCenterView.d.ts +2 -1
- package/dist/features/seller/components/ProductInlineSelect.d.ts +2 -1
- package/dist/features/seller/components/QuickProductForm.d.ts +2 -1
- package/dist/features/seller/components/SellerAddressesView.d.ts +2 -1
- package/dist/features/seller/components/SellerAnalyticsAlertsView.d.ts +2 -1
- package/dist/features/seller/components/SellerAnalyticsView.d.ts +1 -1
- package/dist/features/seller/components/SellerArtView.d.ts +8 -0
- package/dist/features/seller/components/SellerArtView.js +114 -0
- package/dist/features/seller/components/SellerAuctionsView.d.ts +1 -1
- package/dist/features/seller/components/SellerBidsView.d.ts +2 -1
- package/dist/features/seller/components/SellerBundlesView.d.ts +2 -1
- package/dist/features/seller/components/SellerClassifiedView.d.ts +2 -1
- package/dist/features/seller/components/SellerCouponEditorView.d.ts +1 -1
- package/dist/features/seller/components/SellerCouponsView.d.ts +2 -1
- package/dist/features/seller/components/SellerCreateProductView.d.ts +1 -1
- package/dist/features/seller/components/SellerDashboardView.d.ts +1 -1
- package/dist/features/seller/components/SellerDigitalCodesView.d.ts +2 -1
- package/dist/features/seller/components/SellerEditProductView.d.ts +1 -1
- package/dist/features/seller/components/SellerFeaturesView.d.ts +2 -1
- package/dist/features/seller/components/SellerGoogleReviewsView.d.ts +2 -1
- package/dist/features/seller/components/SellerGroupedListingsView.d.ts +2 -1
- package/dist/features/seller/components/SellerGuideView.d.ts +1 -1
- package/dist/features/seller/components/SellerLiveView.d.ts +2 -1
- package/dist/features/seller/components/SellerOffersPanel.d.ts +2 -1
- package/dist/features/seller/components/SellerOffersView.d.ts +2 -1
- package/dist/features/seller/components/SellerOrdersView.d.ts +2 -1
- package/dist/features/seller/components/SellerOrdersView.js +38 -1
- package/dist/features/seller/components/SellerPayoutHistoryTable.d.ts +1 -1
- package/dist/features/seller/components/SellerPayoutMethodsView.d.ts +2 -1
- package/dist/features/seller/components/SellerPayoutRequestView.d.ts +1 -1
- package/dist/features/seller/components/SellerPayoutSettingsView.d.ts +1 -1
- package/dist/features/seller/components/SellerPayoutSettingsView.js +4 -1
- package/dist/features/seller/components/SellerPayoutStats.d.ts +1 -1
- package/dist/features/seller/components/SellerPayoutsView.d.ts +2 -1
- package/dist/features/seller/components/SellerPreOrdersView.d.ts +2 -1
- package/dist/features/seller/components/SellerPrizeDrawsView.d.ts +2 -1
- package/dist/features/seller/components/SellerProductShell.d.ts +6 -2
- package/dist/features/seller/components/SellerProductShell.js +69 -59
- package/dist/features/seller/components/SellerProductsCards.d.ts +2 -1
- package/dist/features/seller/components/SellerProductsFilterDrawer.d.ts +2 -1
- package/dist/features/seller/components/SellerProductsView.d.ts +2 -1
- package/dist/features/seller/components/SellerReviewsView.d.ts +1 -1
- package/dist/features/seller/components/SellerShippingConfigsView.d.ts +2 -1
- package/dist/features/seller/components/SellerShippingView.d.ts +1 -1
- package/dist/features/seller/components/SellerShippingView.js +6 -25
- package/dist/features/seller/components/SellerSidebar.d.ts +1 -1
- package/dist/features/seller/components/SellerStickersView.d.ts +8 -0
- package/dist/features/seller/components/SellerStickersView.js +114 -0
- package/dist/features/seller/components/SellerStoreCategoriesView.d.ts +2 -1
- package/dist/features/seller/components/SellerStoreSetupView.d.ts +1 -1
- package/dist/features/seller/components/SellerStoreView.d.ts +1 -1
- package/dist/features/seller/components/SellerStorefrontView.d.ts +1 -1
- package/dist/features/seller/components/SellerTemplatesView.d.ts +2 -1
- package/dist/features/seller/components/SellersListView.d.ts +2 -1
- package/dist/features/seller/components/SublistingInlineSelect.d.ts +2 -1
- package/dist/features/seller/components/analytics/SellerAnalyticsStats.d.ts +2 -1
- package/dist/features/seller/components/analytics/SellerRevenueChart.d.ts +2 -1
- package/dist/features/seller/components/analytics/SellerTopProducts.d.ts +1 -1
- package/dist/features/seller/components/index.d.ts +4 -0
- package/dist/features/seller/components/index.js +2 -0
- package/dist/features/seller/messages/en.json +1 -1
- package/dist/features/seller/schemas/index.d.ts +7 -7
- package/dist/features/seller/schemas/index.js +1 -1
- package/dist/features/seller/types/index.d.ts +1 -1
- package/dist/features/shell/FormShell.d.ts +1 -1
- package/dist/features/shell/QuickFormDrawer.d.ts +1 -1
- package/dist/features/shell/StepForm.d.ts +3 -3
- package/dist/features/shell/field-groups/ImageFieldGroup.d.ts +2 -2
- package/dist/features/shell/field-groups/SeoFieldGroup.d.ts +2 -2
- package/dist/features/shell/field-groups/StatusFieldGroup.d.ts +2 -2
- package/dist/features/shell/field-groups/TitleDescriptionGroup.d.ts +2 -2
- package/dist/features/site-settings/components/ActionPermissionsManager.d.ts +2 -1
- package/dist/features/site-settings/components/NavPermissionsManager.d.ts +2 -1
- package/dist/features/site-settings/components/ThemeManagerView.d.ts +15 -1
- package/dist/features/stores/components/InteractiveStoreCard.d.ts +1 -1
- package/dist/features/stores/components/StoreAboutView.d.ts +1 -1
- package/dist/features/stores/components/StoreAddressSelectorCreate.d.ts +1 -1
- package/dist/features/stores/components/StoreAuctionsListing.d.ts +2 -1
- package/dist/features/stores/components/StoreAuctionsPageView.d.ts +2 -1
- package/dist/features/stores/components/StoreAuctionsView.d.ts +1 -1
- package/dist/features/stores/components/StoreBundlesPageView.d.ts +2 -1
- package/dist/features/stores/components/StoreCapabilitiesGuideView.d.ts +2 -1
- package/dist/features/stores/components/StoreClassifiedsListing.d.ts +2 -1
- package/dist/features/stores/components/StoreClassifiedsPageView.d.ts +2 -1
- package/dist/features/stores/components/StoreDetailLayoutView.d.ts +2 -1
- package/dist/features/stores/components/StoreDetailLayoutView.js +18 -2
- package/dist/features/stores/components/StoreDigitalCodesListing.d.ts +2 -1
- package/dist/features/stores/components/StoreDigitalCodesPageView.d.ts +2 -1
- package/dist/features/stores/components/StoreFilters.d.ts +1 -1
- package/dist/features/stores/components/StoreFinanceGuideView.d.ts +2 -1
- package/dist/features/stores/components/StoreGuideHubView.d.ts +2 -1
- package/dist/features/stores/components/StoreHeader.d.ts +1 -1
- package/dist/features/stores/components/StoreListingsGuideView.d.ts +2 -1
- package/dist/features/stores/components/StoreLiveItemsListing.d.ts +2 -1
- package/dist/features/stores/components/StoreLiveItemsPageView.d.ts +2 -1
- package/dist/features/stores/components/StoreNavTabs.d.ts +1 -1
- package/dist/features/stores/components/StoreOrdersGuideView.d.ts +2 -1
- package/dist/features/stores/components/StorePreOrdersListing.d.ts +2 -1
- package/dist/features/stores/components/StorePreOrdersPageView.d.ts +2 -1
- package/dist/features/stores/components/StorePrizeDrawsPageView.d.ts +2 -1
- package/dist/features/stores/components/StoreProductsListing.d.ts +2 -1
- package/dist/features/stores/components/StoreProductsPageView.d.ts +2 -1
- package/dist/features/stores/components/StoreProductsView.d.ts +1 -1
- package/dist/features/stores/components/StoreReviewsListing.d.ts +2 -1
- package/dist/features/stores/components/StoreReviewsPageView.d.ts +2 -1
- package/dist/features/stores/components/StoreReviewsView.d.ts +1 -1
- package/dist/features/stores/components/StoreScopedSearch.d.ts +2 -1
- package/dist/features/stores/components/StoreSettingsGuideView.d.ts +2 -1
- package/dist/features/stores/components/StoresIndexListing.d.ts +2 -1
- package/dist/features/stores/components/StoresIndexPageView.d.ts +2 -1
- package/dist/features/stores/schemas/firestore.d.ts +7 -1
- package/dist/features/stores/schemas/index.d.ts +19 -16
- package/dist/features/stores/schemas/index.js +1 -1
- package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.d.ts +2 -1
- package/dist/features/whatsapp-bot/components/WhatsAppChatButton.d.ts +2 -1
- package/dist/features/wishlist/components/WishlistPage.d.ts +2 -2
- package/dist/features/wishlist/components/WishlistToggleButton.d.ts +1 -1
- package/dist/features/wishlist/components/WishlistView.d.ts +1 -1
- package/dist/index.d.ts +21 -36
- package/dist/index.js +27 -39
- package/dist/next/ErrorBoundary.d.ts +1 -1
- package/dist/next/components/ErrorView.d.ts +1 -1
- package/dist/next/components/GlobalError.d.ts +1 -1
- package/dist/next/components/NotFoundView.d.ts +1 -1
- package/dist/next/components/UnauthorizedView.d.ts +1 -1
- package/dist/next/routing/route-map.d.ts +22 -0
- package/dist/next/routing/route-map.js +10 -0
- package/dist/providers/payment-manual/index.d.ts +40 -0
- package/dist/providers/payment-manual/index.js +91 -0
- package/dist/providers/payment-razorpay/index.d.ts +4 -2
- package/dist/providers/payment-razorpay/index.js +4 -1
- package/dist/providers/shipping-manual/index.d.ts +22 -0
- package/dist/providers/shipping-manual/index.js +47 -0
- package/dist/providers.d.ts +2 -2
- package/dist/providers.js +5 -3
- package/dist/react/ErrorBoundary.d.ts +1 -1
- package/dist/react/contexts/SessionContext.d.ts +1 -1
- package/dist/schemas/registry.d.ts +129 -70
- package/dist/schemas/registry.js +0 -4
- package/dist/security/pii-encrypt.js +0 -7
- package/dist/security/pii-redact.js +0 -1
- package/dist/seed/conversations-seed-data.js +2 -2
- package/dist/seed/faq-seed-data.js +7 -7
- package/dist/seed/grouped-listings-seed-data.d.ts +2 -0
- package/dist/seed/index.d.ts +2 -0
- package/dist/seed/index.js +2 -0
- package/dist/seed/manifest.js +20 -16
- package/dist/seed/payouts-seed-data.js +5 -5
- package/dist/seed/products-art-seed-data.d.ts +11 -0
- package/dist/seed/products-art-seed-data.js +125 -0
- package/dist/seed/products-preorders-seed-data.d.ts +2 -0
- package/dist/seed/products-stickers-seed-data.d.ts +11 -0
- package/dist/seed/products-stickers-seed-data.js +125 -0
- package/dist/seed/site-settings-seed-data.js +13 -4
- package/dist/seed/stores-seed-data.js +11 -11
- package/dist/server.d.ts +7 -15
- package/dist/server.js +17 -42
- package/dist/ui/DataTable.d.ts +1 -1
- package/dist/ui/components/Accordion.d.ts +2 -2
- package/dist/ui/components/ActiveFilterChips.d.ts +2 -1
- package/dist/ui/components/Alert.d.ts +1 -1
- package/dist/ui/components/Anchor.d.ts +1 -1
- package/dist/ui/components/Avatar.d.ts +2 -2
- package/dist/ui/components/AvatarDisplay.d.ts +2 -1
- package/dist/ui/components/BackgroundRenderer.d.ts +1 -1
- package/dist/ui/components/Badge.d.ts +1 -1
- package/dist/ui/components/BaseListingCard.d.ts +5 -5
- package/dist/ui/components/Breadcrumb.d.ts +1 -1
- package/dist/ui/components/BulkActionBar.d.ts +1 -1
- package/dist/ui/components/Button.d.ts +1 -1
- package/dist/ui/components/Card.d.ts +4 -4
- package/dist/ui/components/Checkbox.d.ts +1 -1
- package/dist/ui/components/ConfirmDeleteModal.d.ts +1 -1
- package/dist/ui/components/CountdownDisplay.d.ts +1 -1
- package/dist/ui/components/DateInput.d.ts +1 -1
- package/dist/ui/components/DescriptionField.d.ts +1 -1
- package/dist/ui/components/DetailPageGallery.d.ts +2 -2
- package/dist/ui/components/DetailPageHero.d.ts +2 -2
- package/dist/ui/components/DetailPageTabs.d.ts +2 -2
- package/dist/ui/components/DetailViewShell.d.ts +2 -2
- package/dist/ui/components/Details.d.ts +2 -2
- package/dist/ui/components/Dialog.d.ts +1 -1
- package/dist/ui/components/Divider.d.ts +1 -1
- package/dist/ui/components/Dropdown.d.ts +5 -5
- package/dist/ui/components/DynamicBgDiv.d.ts +1 -1
- package/dist/ui/components/EmptyState.d.ts +1 -1
- package/dist/ui/components/FallbackShell.d.ts +1 -1
- package/dist/ui/components/Fieldset.d.ts +2 -2
- package/dist/ui/components/FilterChipGroup.d.ts +2 -1
- package/dist/ui/components/FilterDrawer.d.ts +1 -1
- package/dist/ui/components/FlowDiagram.d.ts +1 -1
- package/dist/ui/components/Form.d.ts +4 -4
- package/dist/ui/components/FormActionBar.d.ts +2 -1
- package/dist/ui/components/FormField.d.ts +2 -1
- package/dist/ui/components/FormGrid.d.ts +3 -2
- package/dist/ui/components/HorizontalRule.d.ts +1 -1
- package/dist/ui/components/HorizontalScroller.d.ts +1 -1
- package/dist/ui/components/HotspotMarker.d.ts +1 -1
- package/dist/ui/components/IconBox.d.ts +1 -1
- package/dist/ui/components/IconButton.d.ts +1 -1
- package/dist/ui/components/Iframe.d.ts +1 -1
- package/dist/ui/components/ImageGallery.d.ts +2 -1
- package/dist/ui/components/ItemRow.d.ts +1 -1
- package/dist/ui/components/Kbd.d.ts +1 -1
- package/dist/ui/components/Layout.d.ts +4 -4
- package/dist/ui/components/ListingFilterDrawer.d.ts +1 -1
- package/dist/ui/components/ListingLayout.d.ts +1 -1
- package/dist/ui/components/ListingToolbar.d.ts +1 -1
- package/dist/ui/components/LoginRequiredModal.d.ts +2 -1
- package/dist/ui/components/Menu.d.ts +5 -5
- package/dist/ui/components/Modal.d.ts +1 -1
- package/dist/ui/components/Motion.d.ts +14 -14
- package/dist/ui/components/NavbarChevron.d.ts +1 -1
- package/dist/ui/components/NavigationLoader.d.ts +1 -1
- package/dist/ui/components/OtpInput.d.ts +1 -1
- package/dist/ui/components/PageLoader.d.ts +1 -1
- package/dist/ui/components/PaginatedSelect.d.ts +2 -2
- package/dist/ui/components/Pagination.d.ts +2 -1
- package/dist/ui/components/PasswordStrengthIndicator.d.ts +2 -1
- package/dist/ui/components/PriceDisplay.d.ts +1 -1
- package/dist/ui/components/Progress.d.ts +3 -2
- package/dist/ui/components/ProgressBarFill.d.ts +1 -1
- package/dist/ui/components/Quote.d.ts +1 -1
- package/dist/ui/components/Radio.d.ts +2 -2
- package/dist/ui/components/RatingDisplay.d.ts +1 -1
- package/dist/ui/components/Responsive.d.ts +2 -2
- package/dist/ui/components/ResponsiveView.d.ts +1 -1
- package/dist/ui/components/RichTextEditor.d.ts +2 -1
- package/dist/ui/components/RoleBadge.d.ts +2 -1
- package/dist/ui/components/RowActionMenu.d.ts +1 -1
- package/dist/ui/components/Scrim.d.ts +1 -1
- package/dist/ui/components/Select.d.ts +1 -1
- package/dist/ui/components/Semantic.d.ts +21 -21
- package/dist/ui/components/SettingsSection.d.ts +3 -2
- package/dist/ui/components/SideDrawer.d.ts +1 -1
- package/dist/ui/components/SideModal.d.ts +1 -1
- package/dist/ui/components/SiteLogo.d.ts +1 -1
- package/dist/ui/components/Skeleton.d.ts +2 -1
- package/dist/ui/components/SkipToMain.d.ts +2 -1
- package/dist/ui/components/Slider.d.ts +1 -1
- package/dist/ui/components/SlottedListingView.d.ts +2 -2
- package/dist/ui/components/SortDropdown.d.ts +1 -1
- package/dist/ui/components/Spinner.d.ts +1 -1
- package/dist/ui/components/StackedViewShell.d.ts +2 -2
- package/dist/ui/components/StarRating.d.ts +1 -1
- package/dist/ui/components/StatsGrid.d.ts +1 -1
- package/dist/ui/components/StatusBadge.d.ts +1 -1
- package/dist/ui/components/StepperNav.d.ts +1 -1
- package/dist/ui/components/StickyToolbar.d.ts +1 -1
- package/dist/ui/components/SummaryCard.d.ts +1 -1
- package/dist/ui/components/TabStrip.d.ts +2 -1
- package/dist/ui/components/TablePagination.d.ts +2 -1
- package/dist/ui/components/Tabs.d.ts +4 -4
- package/dist/ui/components/TagInput.d.ts +2 -1
- package/dist/ui/components/TextLink.d.ts +1 -1
- package/dist/ui/components/Toast.d.ts +1 -1
- package/dist/ui/components/Toggle.d.ts +1 -1
- package/dist/ui/components/Tooltip.d.ts +1 -1
- package/dist/ui/components/Typography.d.ts +4 -4
- package/dist/ui/components/UnsavedChangesModal.d.ts +1 -1
- package/dist/ui/components/VacationBanner.d.ts +2 -1
- package/dist/ui/components/ViewToggle.d.ts +1 -1
- package/dist/ui/forms/ColorPickerField.d.ts +1 -1
- package/dist/ui/forms/FieldCheckbox.d.ts +2 -1
- package/dist/ui/forms/FieldInput.d.ts +1 -1
- package/dist/ui/forms/FieldSelect.d.ts +2 -1
- package/dist/ui/forms/FieldTextarea.d.ts +1 -1
- package/dist/ui/forms/FormShell.d.ts +2 -2
- package/dist/ui/rich-text/RichText.d.ts +1 -1
- package/dist/ui/rich-text/RichTextRenderer.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MediaField } from "../../media/types/index";
|
|
2
|
-
import type { CustomField, CustomSection } from "../schemas/firestore";
|
|
3
|
-
export type { CustomField, CustomSection } from "../schemas/firestore";
|
|
2
|
+
import type { CustomField, CustomSection, ProductPrintMeta } from "../schemas/firestore";
|
|
3
|
+
export type { CustomField, CustomSection, ProductPrintMeta } from "../schemas/firestore";
|
|
4
4
|
export type ProductStatus = "draft" | "published" | "in_review" | "archived";
|
|
5
5
|
export type ProductCondition = "new" | "like_new" | "good" | "fair" | "poor" | "used" | "refurbished" | "broken" | "graded";
|
|
6
6
|
/**
|
|
@@ -10,7 +10,7 @@ export type ProductCondition = "new" | "like_new" | "good" | "fair" | "poor" | "
|
|
|
10
10
|
* accepts legacy alias tokens (`preorder` → `pre-order`, `product` → `standard`)
|
|
11
11
|
* but stored values are always one of these five.
|
|
12
12
|
*/
|
|
13
|
-
export type ListingType = "standard" | "auction" | "pre-order" | "prize-draw" | "classified" | "digital-code" | "live";
|
|
13
|
+
export type ListingType = "standard" | "auction" | "pre-order" | "prize-draw" | "classified" | "digital-code" | "live" | "art" | "stickers";
|
|
14
14
|
export interface ProductImage {
|
|
15
15
|
url: string;
|
|
16
16
|
thumbnailUrl?: string;
|
|
@@ -39,6 +39,8 @@ export interface ProductItem {
|
|
|
39
39
|
};
|
|
40
40
|
featured?: boolean;
|
|
41
41
|
isPromoted?: boolean;
|
|
42
|
+
allowShipBeforeEmiComplete?: boolean;
|
|
43
|
+
printMeta?: ProductPrintMeta;
|
|
42
44
|
currentBid?: number;
|
|
43
45
|
availableQuantity?: number;
|
|
44
46
|
/** @deprecated Use categorySlugs[0] */
|
|
@@ -33,3 +33,9 @@ export declare const isDigitalCodeListing: (input?: {
|
|
|
33
33
|
export declare const isLiveListing: (input?: {
|
|
34
34
|
listingType?: ListingType;
|
|
35
35
|
}) => boolean;
|
|
36
|
+
export declare const isArtListing: (input?: {
|
|
37
|
+
listingType?: ListingType;
|
|
38
|
+
}) => boolean;
|
|
39
|
+
export declare const isStickersListing: (input?: {
|
|
40
|
+
listingType?: ListingType;
|
|
41
|
+
}) => boolean;
|
|
@@ -19,6 +19,9 @@ export const isPrizeDrawListing = (input) => normalizeListingType(input) === "pr
|
|
|
19
19
|
export const isClassifiedListing = (input) => normalizeListingType(input) === "classified";
|
|
20
20
|
export const isDigitalCodeListing = (input) => normalizeListingType(input) === "digital-code";
|
|
21
21
|
export const isLiveListing = (input) => normalizeListingType(input) === "live";
|
|
22
|
+
// Art/stickers session — printed-only physical-goods listing types.
|
|
23
|
+
export const isArtListing = (input) => normalizeListingType(input) === "art";
|
|
24
|
+
export const isStickersListing = (input) => normalizeListingType(input) === "stickers";
|
|
22
25
|
// SB-UNI-D — isBundleListing removed. Bundles are now a categoryType
|
|
23
26
|
// discriminator on CategoryDocument; consumers should query
|
|
24
27
|
// `categoriesRepository.findBySlugAndType(slug, "bundle")` instead.
|
|
@@ -41,5 +41,5 @@ interface CouponCardProps {
|
|
|
41
41
|
/** Source enum forwarded to /api/user/coupons/claim for analytics. */
|
|
42
42
|
claimSource?: "manual" | "promo" | "spin" | "raffle" | "prize-draw";
|
|
43
43
|
}
|
|
44
|
-
export declare function CouponCard({ coupon, labels: labelsProp, onCopy, className, selectable, isSelected, onSelect, onEdit, onToggleActive, onDelete, hideClaim, claimSource, }: CouponCardProps): import("react
|
|
44
|
+
export declare function CouponCard({ coupon, labels: labelsProp, onCopy, className, selectable, isSelected, onSelect, onEdit, onToggleActive, onDelete, hideClaim, claimSource, }: CouponCardProps): import("react").JSX.Element;
|
|
45
45
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
export interface CouponsIndexListingProps {
|
|
2
3
|
/** Pre-fetched coupons to show on first render */
|
|
3
4
|
initialCoupons?: any[];
|
|
@@ -6,4 +7,4 @@ export interface CouponsIndexListingProps {
|
|
|
6
7
|
/** If set, only show coupons from this store (id, for filtering) */
|
|
7
8
|
storeId?: string;
|
|
8
9
|
}
|
|
9
|
-
export declare function CouponsIndexListing({ initialCoupons, storeSlug, storeId, }: CouponsIndexListingProps):
|
|
10
|
+
export declare function CouponsIndexListing({ initialCoupons, storeSlug, storeId, }: CouponsIndexListingProps): React.JSX.Element;
|
|
@@ -12,7 +12,7 @@ export interface PromotionsViewProductSectionProps {
|
|
|
12
12
|
renderProducts: () => React.ReactNode;
|
|
13
13
|
hasProducts?: boolean;
|
|
14
14
|
}
|
|
15
|
-
export declare function PromotionsViewProductSection({ title, subtitle, renderProducts, hasProducts, }: PromotionsViewProductSectionProps):
|
|
15
|
+
export declare function PromotionsViewProductSection({ title, subtitle, renderProducts, hasProducts, }: PromotionsViewProductSectionProps): React.JSX.Element | null;
|
|
16
16
|
export interface PromotionsHeroProps {
|
|
17
17
|
labels: {
|
|
18
18
|
exclusiveOffersBadge: string;
|
|
@@ -22,7 +22,7 @@ export interface PromotionsHeroProps {
|
|
|
22
22
|
heroBannerClass?: string;
|
|
23
23
|
}
|
|
24
24
|
/** Slim hero banner for the promotions page — tabs + content live in the page. */
|
|
25
|
-
export declare function PromotionsHero({ labels, heroBannerClass, }: PromotionsHeroProps):
|
|
25
|
+
export declare function PromotionsHero({ labels, heroBannerClass, }: PromotionsHeroProps): React.JSX.Element;
|
|
26
26
|
export interface PromotionsViewProps {
|
|
27
27
|
labels: {
|
|
28
28
|
exclusiveOffersBadge: string;
|
|
@@ -46,4 +46,4 @@ export interface PromotionsViewProps {
|
|
|
46
46
|
renderFeaturedSection?: () => React.ReactNode;
|
|
47
47
|
}
|
|
48
48
|
/** @deprecated Use PromotionsHero + per-tab content in your page instead. */
|
|
49
|
-
export declare function PromotionsView({ labels, hasContent, heroBannerClass, renderCoupons, couponsCount, renderDealsSection, renderFeaturedSection, }: PromotionsViewProps):
|
|
49
|
+
export declare function PromotionsView({ labels, hasContent, heroBannerClass, renderCoupons, couponsCount, renderDealsSection, renderFeaturedSection, }: PromotionsViewProps): React.JSX.Element;
|
|
@@ -13,6 +13,7 @@ import { z } from "zod";
|
|
|
13
13
|
import { getProviders } from "../../../../contracts";
|
|
14
14
|
import { createRouteHandler } from "../../../../next";
|
|
15
15
|
import { normalizeError } from "../../../../errors/normalize";
|
|
16
|
+
import { isAdminUser, isModeratorUser } from "../../../auth/role-predicates";
|
|
16
17
|
const ERR_REVIEW_NOT_FOUND = "Review not found";
|
|
17
18
|
// ---- GET /api/reviews/[id] ---------------------------------------------------
|
|
18
19
|
export async function GET(_request, context) {
|
|
@@ -70,8 +71,8 @@ export const reviewItemPATCH = createRouteHandler({
|
|
|
70
71
|
if (!review)
|
|
71
72
|
return NextResponse.json({ success: false, error: ERR_REVIEW_NOT_FOUND }, { status: 404 });
|
|
72
73
|
const isOwner = review.userId === user.uid;
|
|
73
|
-
const isModerator = user
|
|
74
|
-
const isAdmin = user
|
|
74
|
+
const isModerator = isModeratorUser(user);
|
|
75
|
+
const isAdmin = isAdminUser(user);
|
|
75
76
|
if (!isOwner && !isModerator && !isAdmin) {
|
|
76
77
|
return NextResponse.json({ success: false, error: "Forbidden" }, { status: 403 });
|
|
77
78
|
}
|
|
@@ -101,8 +102,8 @@ export const reviewItemDELETE = createRouteHandler({
|
|
|
101
102
|
if (!review)
|
|
102
103
|
return NextResponse.json({ success: false, error: ERR_REVIEW_NOT_FOUND }, { status: 404 });
|
|
103
104
|
const isOwner = review.userId === user.uid;
|
|
104
|
-
const isModerator = user
|
|
105
|
-
const isAdmin = user
|
|
105
|
+
const isModerator = isModeratorUser(user);
|
|
106
|
+
const isAdmin = isAdminUser(user);
|
|
106
107
|
if (!isOwner && !isModerator && !isAdmin) {
|
|
107
108
|
return NextResponse.json({ success: false, error: "Forbidden" }, { status: 403 });
|
|
108
109
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
export interface ReviewDetailPageViewProps {
|
|
2
3
|
id: string;
|
|
3
4
|
}
|
|
4
|
-
export declare function ReviewDetailPageView({ id }: ReviewDetailPageViewProps): Promise<
|
|
5
|
+
export declare function ReviewDetailPageView({ id }: ReviewDetailPageViewProps): Promise<React.JSX.Element>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import type { Review } from "../types";
|
|
2
3
|
interface ReviewDetailShellProps {
|
|
3
4
|
review: Review;
|
|
4
5
|
storeHref?: string | null;
|
|
5
6
|
}
|
|
6
|
-
export declare function ReviewDetailShell({ review, storeHref }: ReviewDetailShellProps):
|
|
7
|
+
export declare function ReviewDetailShell({ review, storeHref }: ReviewDetailShellProps): React.JSX.Element;
|
|
7
8
|
export {};
|
|
@@ -71,4 +71,4 @@ export interface ReviewFiltersProps {
|
|
|
71
71
|
/** Optional brand options for filter by brand */
|
|
72
72
|
brandOptions?: FacetOption[];
|
|
73
73
|
}
|
|
74
|
-
export declare function ReviewFilters({ table, variant, brandOptions, }: ReviewFiltersProps): import("react
|
|
74
|
+
export declare function ReviewFilters({ table, variant, brandOptions, }: ReviewFiltersProps): import("react").JSX.Element;
|
|
@@ -8,4 +8,4 @@ export interface ViewReviewModalProps {
|
|
|
8
8
|
* ViewReviewModal — full review details in a Modal overlay.
|
|
9
9
|
* Shows all images, the full comment, and seller response if present.
|
|
10
10
|
*/
|
|
11
|
-
export declare function ViewReviewModal({ review, isOpen, onClose, }: ViewReviewModalProps): import("react
|
|
11
|
+
export declare function ViewReviewModal({ review, isOpen, onClose, }: ViewReviewModalProps): import("react").JSX.Element | null;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
export interface ReviewSummaryProps {
|
|
2
3
|
averageRating: number;
|
|
3
4
|
totalReviews: number;
|
|
@@ -13,4 +14,4 @@ export interface ReviewSummaryProps {
|
|
|
13
14
|
* - "N reviews" count
|
|
14
15
|
* - Per-star percentage bars (5★ ... 1★)
|
|
15
16
|
*/
|
|
16
|
-
export declare function ReviewSummary({ averageRating, totalReviews, distribution, className, }: ReviewSummaryProps):
|
|
17
|
+
export declare function ReviewSummary({ averageRating, totalReviews, distribution, className, }: ReviewSummaryProps): React.JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import type { ReviewListResponse } from "../types";
|
|
2
3
|
export interface ReviewsIndexListingProps {
|
|
3
4
|
initialData?: ReviewListResponse;
|
|
4
5
|
variant?: "admin" | "seller" | "public";
|
|
5
6
|
}
|
|
6
|
-
export declare function ReviewsIndexListing({ initialData, variant, }: ReviewsIndexListingProps):
|
|
7
|
+
export declare function ReviewsIndexListing({ initialData, variant, }: ReviewsIndexListingProps): React.JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
type SearchParams = Record<string, string | string[]>;
|
|
2
3
|
export interface ReviewsIndexPageViewProps {
|
|
3
4
|
searchParams?: SearchParams;
|
|
4
5
|
}
|
|
5
|
-
export declare function ReviewsIndexPageView({ searchParams }: ReviewsIndexPageViewProps): Promise<
|
|
6
|
+
export declare function ReviewsIndexPageView({ searchParams }: ReviewsIndexPageViewProps): Promise<React.JSX.Element>;
|
|
6
7
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import type { Review } from "../types";
|
|
2
3
|
export type ReviewCardContext = "listing" | "store" | "general";
|
|
3
4
|
export interface ReviewCardProps {
|
|
@@ -5,7 +6,7 @@ export interface ReviewCardProps {
|
|
|
5
6
|
context?: ReviewCardContext;
|
|
6
7
|
className?: string;
|
|
7
8
|
}
|
|
8
|
-
export declare function ReviewCard({ review, context, className }: ReviewCardProps):
|
|
9
|
+
export declare function ReviewCard({ review, context, className }: ReviewCardProps): React.JSX.Element;
|
|
9
10
|
export interface ReviewsListProps {
|
|
10
11
|
reviews: Review[];
|
|
11
12
|
context?: ReviewCardContext;
|
|
@@ -15,4 +16,4 @@ export interface ReviewsListProps {
|
|
|
15
16
|
onPageChange?: (page: number) => void;
|
|
16
17
|
emptyLabel?: string;
|
|
17
18
|
}
|
|
18
|
-
export declare function ReviewsList({ reviews, context, isLoading, totalPages, currentPage, onPageChange, emptyLabel, }: ReviewsListProps):
|
|
19
|
+
export declare function ReviewsList({ reviews, context, isLoading, totalPages, currentPage, onPageChange, emptyLabel, }: ReviewsListProps): React.JSX.Element;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
export interface ScamAwarenessModalProps {
|
|
2
3
|
isOpen: boolean;
|
|
3
4
|
onAcknowledged: () => void;
|
|
4
5
|
}
|
|
5
|
-
export declare function ScamAwarenessModal({ isOpen, onAcknowledged }: ScamAwarenessModalProps):
|
|
6
|
+
export declare function ScamAwarenessModal({ isOpen, onAcknowledged }: ScamAwarenessModalProps): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import type { ScammerDocument, ScammerIncidentDocument, ScammerCommentDocument } from "../schemas/firestore";
|
|
2
3
|
export interface ScamProfileViewProps {
|
|
3
4
|
scammer: ScammerDocument;
|
|
@@ -7,4 +8,4 @@ export interface ScamProfileViewProps {
|
|
|
7
8
|
comments?: ScammerCommentDocument[];
|
|
8
9
|
relatedScammers?: ScammerDocument[];
|
|
9
10
|
}
|
|
10
|
-
export declare function ScamProfileView({ scammer, isAuthenticated, incidents, comments, relatedScammers, }: ScamProfileViewProps):
|
|
11
|
+
export declare function ScamProfileView({ scammer, isAuthenticated, incidents, comments, relatedScammers, }: ScamProfileViewProps): React.JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
type SearchParams = Record<string, string | string[]>;
|
|
2
3
|
export interface ScamRegistryViewProps {
|
|
3
4
|
searchParams?: SearchParams;
|
|
4
5
|
}
|
|
5
|
-
export declare function ScamRegistryView({ searchParams }: ScamRegistryViewProps): Promise<
|
|
6
|
+
export declare function ScamRegistryView({ searchParams }: ScamRegistryViewProps): Promise<React.JSX.Element>;
|
|
6
7
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import type { LucideIcon } from "lucide-react";
|
|
2
3
|
import type { NavSuggestionRecord } from "../hooks/useNavSuggestions";
|
|
3
4
|
export type SearchResourceType = "products" | "auctions" | "pre-orders" | "prize-draws" | "bundles" | "classified" | "digital-codes" | "live" | "stores" | "categories" | "brands" | "events" | "blog" | "faqs";
|
|
@@ -47,4 +48,4 @@ export interface SearchProps {
|
|
|
47
48
|
defaultResourceType?: SearchResourceType;
|
|
48
49
|
storageKey?: string;
|
|
49
50
|
}
|
|
50
|
-
export declare function Search({ isOpen, onClose, onSearch, onOpen, value, onChange, placeholder, deferred, debounceMs, onClear, className, router, quickLinks, labels, suggestionTypeIcons, suggestionTypeBadges, resourceTypes, defaultResourceType, storageKey, }: SearchProps):
|
|
51
|
+
export declare function Search({ isOpen, onClose, onSearch, onOpen, value, onChange, placeholder, deferred, debounceMs, onClear, className, router, quickLinks, labels, suggestionTypeIcons, suggestionTypeBadges, resourceTypes, defaultResourceType, storageKey, }: SearchProps): React.JSX.Element | null;
|
|
@@ -18,5 +18,5 @@ interface SearchFiltersRowProps {
|
|
|
18
18
|
clearFilters?: string;
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
|
-
export declare function SearchFiltersRow({ urlCategory, categories, urlMinPrice, urlMaxPrice, showClear, onCategoryChange, onPriceFilter, onClearFilters, labels, }: SearchFiltersRowProps): import("react
|
|
21
|
+
export declare function SearchFiltersRow({ urlCategory, categories, urlMinPrice, urlMaxPrice, showClear, onCategoryChange, onPriceFilter, onClearFilters, labels, }: SearchFiltersRowProps): import("react").JSX.Element;
|
|
22
22
|
export {};
|
|
@@ -50,4 +50,4 @@ export interface SearchResultsSectionProps {
|
|
|
50
50
|
nextPage?: string;
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
|
-
export declare function SearchResultsSection({ products, total, totalPages, urlQ, urlSort, urlPage, isLoading, onSortChange, onPageChange, renderItem, renderLoading, renderEmpty, renderProducts, renderSortBar, renderPagination, sortOptions, labels, }: SearchResultsSectionProps):
|
|
53
|
+
export declare function SearchResultsSection({ products, total, totalPages, urlQ, urlSort, urlPage, isLoading, onSortChange, onPageChange, renderItem, renderLoading, renderEmpty, renderProducts, renderSortBar, renderPagination, sortOptions, labels, }: SearchResultsSectionProps): React.JSX.Element;
|
|
@@ -26,4 +26,4 @@ export interface SearchViewProps {
|
|
|
26
26
|
renderPagination?: () => React.ReactNode;
|
|
27
27
|
className?: string;
|
|
28
28
|
}
|
|
29
|
-
export declare function SearchView({ query, total, isLoading, labels, renderSearchInput, renderFilters, renderActiveFilters, renderToolbar, renderResults, renderPagination, className, }: SearchViewProps):
|
|
29
|
+
export declare function SearchView({ query, total, isLoading, labels, renderSearchInput, renderFilters, renderActiveFilters, renderToolbar, renderResults, renderPagination, className, }: SearchViewProps): React.JSX.Element;
|
|
@@ -5,13 +5,11 @@
|
|
|
5
5
|
* explicit params. Called by letitrip thin wrappers that handle auth,
|
|
6
6
|
* rate-limiting, and user-facing validation.
|
|
7
7
|
*
|
|
8
|
-
* Note:
|
|
9
|
-
*
|
|
10
|
-
* thin wrapper because they use the @/lib/shiprocket/client SDK which is
|
|
11
|
-
* a permanent letitrip-only dependency.
|
|
8
|
+
* Note: updateSellerShipping remains in the letitrip thin wrapper
|
|
9
|
+
* (src/actions/seller.actions.ts) alongside the other seller server actions.
|
|
12
10
|
*/
|
|
13
11
|
import type { JsonValue } from "../../../schemas/types";
|
|
14
|
-
import type { SellerPayoutDetails } from "../../auth/schemas/firestore";
|
|
12
|
+
import type { SellerPayoutDetails, SellerShippingConfig } from "../../auth/schemas/firestore";
|
|
15
13
|
import type { StoreDocument } from "../../stores/schemas/firestore";
|
|
16
14
|
import type { ProductDocument } from "../../products/schemas/firestore";
|
|
17
15
|
import type { OrderDocument } from "../../orders/schemas/firestore";
|
|
@@ -86,6 +84,14 @@ export interface CustomShipOrderInput {
|
|
|
86
84
|
trackingNumber: string;
|
|
87
85
|
trackingUrl: string;
|
|
88
86
|
}
|
|
87
|
+
export interface MarkEmiInstallmentPaidInput {
|
|
88
|
+
/** 1-based installment number, matches EmiInstallment.index. */
|
|
89
|
+
installmentIndex: number;
|
|
90
|
+
/** Buyer-supplied UTR/reference number for this installment's manual payment. */
|
|
91
|
+
transactionId?: string;
|
|
92
|
+
/** Signed-URL media slug for the buyer's payment proof for this installment. */
|
|
93
|
+
proofUrl?: string;
|
|
94
|
+
}
|
|
89
95
|
export interface SellerListParams {
|
|
90
96
|
filters?: string;
|
|
91
97
|
sorts?: string;
|
|
@@ -109,15 +115,7 @@ export declare function requestPayout(userId: string, userName: string, userEmai
|
|
|
109
115
|
export declare function bulkSellerOrder(userId: string, userRole: string, userDisplayName: string, userEmail: string, orderIds: string[]): Promise<BulkSellerOrderResult>;
|
|
110
116
|
export declare function createSellerProduct(userId: string, userName: string, userEmail: string, input: Record<string, JsonValue>): Promise<void>;
|
|
111
117
|
export declare function getSellerStore(userId: string): Promise<StoreDocument | null>;
|
|
112
|
-
export declare function getSellerShipping(userId: string): Promise<
|
|
113
|
-
method: import("../../auth").SellerShippingMethod;
|
|
114
|
-
customShippingPrice?: number;
|
|
115
|
-
customCarrierName?: string;
|
|
116
|
-
shiprocketEmail?: string;
|
|
117
|
-
shiprocketTokenExpiry?: Date;
|
|
118
|
-
pickupAddress?: import("../../auth").SellerPickupAddress;
|
|
119
|
-
isConfigured: boolean;
|
|
120
|
-
} | null>;
|
|
118
|
+
export declare function getSellerShipping(userId: string): Promise<SellerShippingConfig | null>;
|
|
121
119
|
export declare function getSellerPayoutSettings(userId: string): Promise<SellerPayoutDetails | {
|
|
122
120
|
method: string;
|
|
123
121
|
isConfigured: boolean;
|
|
@@ -166,8 +164,25 @@ export declare function listSellerMyProducts(userId: string, params?: SellerList
|
|
|
166
164
|
}>;
|
|
167
165
|
export declare function sellerUpdateProduct(userId: string, userRole: string, productId: string, input: Record<string, JsonValue>): Promise<ProductDocument>;
|
|
168
166
|
export declare function sellerDeleteProduct(userId: string, userRole: string, productId: string): Promise<void>;
|
|
167
|
+
/**
|
|
168
|
+
* EMI orders stay unshipped until every installment is paid, UNLESS every
|
|
169
|
+
* product in the order has its `allowShipBeforeEmiComplete` flag set. This
|
|
170
|
+
* is the single choke point for the "ship" transition, so it can't be
|
|
171
|
+
* bypassed by a different route/action reaching `orderRepository.update`
|
|
172
|
+
* directly with `status: "shipped"`.
|
|
173
|
+
*/
|
|
174
|
+
export declare function assertEmiShippable(order: OrderDocument): Promise<void>;
|
|
169
175
|
export declare function customShipOrder(userId: string, userRole: string, orderId: string, input: CustomShipOrderInput): Promise<{
|
|
170
176
|
orderId: string;
|
|
171
177
|
method: string;
|
|
172
178
|
}>;
|
|
179
|
+
/**
|
|
180
|
+
* Records collection of one EMI installment. Seller/admin marks the
|
|
181
|
+
* installment paid after verifying the buyer's manual transfer (UTR +
|
|
182
|
+
* proof). Recomputes `emiRemainingBalance` from the still-pending
|
|
183
|
+
* installments and flips `emiComplete` once none remain — that flag is the
|
|
184
|
+
* single gate `assertEmiShippable` reads, so this is the only place an
|
|
185
|
+
* EMI order can become shippable.
|
|
186
|
+
*/
|
|
187
|
+
export declare function markEmiInstallmentPaid(userId: string, userRole: string, orderId: string, input: MarkEmiInstallmentPaidInput): Promise<OrderDocument>;
|
|
173
188
|
export {};
|
|
@@ -5,10 +5,8 @@
|
|
|
5
5
|
* explicit params. Called by letitrip thin wrappers that handle auth,
|
|
6
6
|
* rate-limiting, and user-facing validation.
|
|
7
7
|
*
|
|
8
|
-
* Note:
|
|
9
|
-
*
|
|
10
|
-
* thin wrapper because they use the @/lib/shiprocket/client SDK which is
|
|
11
|
-
* a permanent letitrip-only dependency.
|
|
8
|
+
* Note: updateSellerShipping remains in the letitrip thin wrapper
|
|
9
|
+
* (src/actions/seller.actions.ts) alongside the other seller server actions.
|
|
12
10
|
*/
|
|
13
11
|
import { serverLogger } from "../../../monitoring";
|
|
14
12
|
import { isAdminUser, isSellerUser } from "../../auth/role-predicates";
|
|
@@ -23,7 +21,8 @@ import { payoutRepository } from "../../payments/repository/payout.repository";
|
|
|
23
21
|
import { PAYOUT_FIELDS } from "../../payments/schemas";
|
|
24
22
|
import { couponsRepository } from "../../promotions/repository/coupons.repository";
|
|
25
23
|
import { generateStoreSlug } from "../../stores/schemas/firestore";
|
|
26
|
-
import {
|
|
24
|
+
import { siteSettingsRepository } from "../../admin/repository/site-settings.repository";
|
|
25
|
+
import { computePayoutDeduction } from "../../../_internal/shared/fees/calculator";
|
|
27
26
|
import { getDefaultCurrency } from "../../../core/baseline-resolver";
|
|
28
27
|
import { finalizeStagedMediaUrl, finalizeStagedMediaField, finalizeStagedMediaArray, } from "../../media/finalize";
|
|
29
28
|
// --- Helper -------------------------------------------------------------------
|
|
@@ -169,14 +168,17 @@ async function computeSellerEarnings(sellerId) {
|
|
|
169
168
|
const paidOutIds = await payoutRepository.getPaidOutOrderIds(sellerId);
|
|
170
169
|
const eligibleOrders = deliveredOrders.filter((o) => !paidOutIds.has(o.id));
|
|
171
170
|
const grossAmount = eligibleOrders.reduce((sum, o) => sum + (o.totalPrice ?? 0), 0);
|
|
172
|
-
const
|
|
173
|
-
const
|
|
171
|
+
const siteSettings = await siteSettingsRepository.getSingleton();
|
|
172
|
+
const deduction = computePayoutDeduction(grossAmount, siteSettings.commissions);
|
|
174
173
|
return {
|
|
175
174
|
eligibleOrders,
|
|
176
175
|
grossAmount,
|
|
177
|
-
platformFee,
|
|
178
|
-
|
|
176
|
+
platformFee: deduction.platformFee,
|
|
177
|
+
gatewayFee: deduction.gatewayFee,
|
|
178
|
+
gstAmount: deduction.gstOnFee,
|
|
179
|
+
netAmount: deduction.netAmount,
|
|
179
180
|
productCount: products.length,
|
|
181
|
+
commissions: siteSettings.commissions,
|
|
180
182
|
};
|
|
181
183
|
}
|
|
182
184
|
export async function requestPayout(userId, userName, userEmail, input) {
|
|
@@ -195,7 +197,11 @@ export async function requestPayout(userId, userName, userEmail, input) {
|
|
|
195
197
|
amount: earnings.netAmount,
|
|
196
198
|
grossAmount: earnings.grossAmount,
|
|
197
199
|
platformFee: earnings.platformFee,
|
|
198
|
-
platformFeeRate:
|
|
200
|
+
platformFeeRate: earnings.commissions.platformFeePercent / 100,
|
|
201
|
+
gatewayFee: earnings.gatewayFee,
|
|
202
|
+
gatewayFeeRate: (earnings.commissions.gatewayFeePercent ?? 0) / 100,
|
|
203
|
+
gstAmount: earnings.gstAmount,
|
|
204
|
+
gstRate: earnings.commissions.gstPercent / 100,
|
|
199
205
|
currency: getDefaultCurrency(),
|
|
200
206
|
paymentMethod: input.paymentMethod,
|
|
201
207
|
...(input.bankAccount && { bankAccount: input.bankAccount }),
|
|
@@ -245,23 +251,32 @@ export async function bulkSellerOrder(userId, userRole, userDisplayName, userEma
|
|
|
245
251
|
skipped.push(id);
|
|
246
252
|
continue;
|
|
247
253
|
}
|
|
254
|
+
if (order.emiEnabled && !order.emiComplete) {
|
|
255
|
+
// Delivered via the seller's allowShipBeforeEmiComplete override, but the
|
|
256
|
+
// buyer hasn't finished paying — hold the payout until emiComplete.
|
|
257
|
+
skipped.push(id);
|
|
258
|
+
continue;
|
|
259
|
+
}
|
|
248
260
|
eligible.push(order);
|
|
249
261
|
}
|
|
250
262
|
if (eligible.length === 0)
|
|
251
263
|
throw new ValidationError("No eligible orders found.");
|
|
252
|
-
const PLATFORM_COMMISSION_RATE = DEFAULT_PLATFORM_FEE_RATE;
|
|
253
264
|
const grossAmount = eligible.reduce((sum, o) => sum + (o.totalPrice ?? 0), 0);
|
|
254
|
-
const
|
|
255
|
-
const
|
|
265
|
+
const bulkSiteSettings = await siteSettingsRepository.getSingleton();
|
|
266
|
+
const bulkDeduction = computePayoutDeduction(grossAmount, bulkSiteSettings.commissions);
|
|
256
267
|
const payoutDoc = await payoutRepository.create({
|
|
257
268
|
storeId: userId,
|
|
258
269
|
sellerName: userDisplayName,
|
|
259
270
|
sellerEmail: userEmail,
|
|
260
271
|
orderIds: eligible.map((o) => o.id),
|
|
261
|
-
amount: netAmount,
|
|
272
|
+
amount: bulkDeduction.netAmount,
|
|
262
273
|
grossAmount,
|
|
263
|
-
platformFee,
|
|
264
|
-
platformFeeRate:
|
|
274
|
+
platformFee: bulkDeduction.platformFee,
|
|
275
|
+
platformFeeRate: bulkSiteSettings.commissions.platformFeePercent / 100,
|
|
276
|
+
gatewayFee: bulkDeduction.gatewayFee,
|
|
277
|
+
gatewayFeeRate: (bulkSiteSettings.commissions.gatewayFeePercent ?? 0) / 100,
|
|
278
|
+
gstAmount: bulkDeduction.gstOnFee,
|
|
279
|
+
gstRate: bulkSiteSettings.commissions.gstPercent / 100,
|
|
265
280
|
currency: getDefaultCurrency(),
|
|
266
281
|
paymentMethod: userDoc.payoutDetails.method === "upi"
|
|
267
282
|
? "upi"
|
|
@@ -281,7 +296,7 @@ export async function bulkSellerOrder(userId, userRole, userDisplayName, userEma
|
|
|
281
296
|
userId,
|
|
282
297
|
payoutId,
|
|
283
298
|
orderCount: eligible.length,
|
|
284
|
-
netAmount,
|
|
299
|
+
netAmount: bulkDeduction.netAmount,
|
|
285
300
|
});
|
|
286
301
|
return {
|
|
287
302
|
payoutId,
|
|
@@ -289,9 +304,9 @@ export async function bulkSellerOrder(userId, userRole, userDisplayName, userEma
|
|
|
289
304
|
skipped,
|
|
290
305
|
eligibleCount: eligible.length,
|
|
291
306
|
skippedCount: skipped.length,
|
|
292
|
-
netAmount,
|
|
307
|
+
netAmount: bulkDeduction.netAmount,
|
|
293
308
|
grossAmount,
|
|
294
|
-
platformFee,
|
|
309
|
+
platformFee: bulkDeduction.platformFee,
|
|
295
310
|
};
|
|
296
311
|
}
|
|
297
312
|
// --- Create Seller Product ----------------------------------------------------
|
|
@@ -314,14 +329,7 @@ export async function getSellerShipping(userId) {
|
|
|
314
329
|
const userData = await userRepository.findById(userId);
|
|
315
330
|
if (!userData)
|
|
316
331
|
return null;
|
|
317
|
-
|
|
318
|
-
if (!config)
|
|
319
|
-
return null;
|
|
320
|
-
if (config.method === "shiprocket" && config.shiprocketToken) {
|
|
321
|
-
const { shiprocketToken: _removed, ...safe } = config;
|
|
322
|
-
return safe;
|
|
323
|
-
}
|
|
324
|
-
return config;
|
|
332
|
+
return userData.shippingConfig ?? null;
|
|
325
333
|
}
|
|
326
334
|
export async function getSellerPayoutSettings(userId) {
|
|
327
335
|
const userData = await userRepository.findById(userId);
|
|
@@ -458,6 +466,23 @@ export async function sellerDeleteProduct(userId, userRole, productId) {
|
|
|
458
466
|
serverLogger.info("sellerDeleteProduct", { userId, productId });
|
|
459
467
|
}
|
|
460
468
|
// --- Custom Ship Order --------------------------------------------------------
|
|
469
|
+
/**
|
|
470
|
+
* EMI orders stay unshipped until every installment is paid, UNLESS every
|
|
471
|
+
* product in the order has its `allowShipBeforeEmiComplete` flag set. This
|
|
472
|
+
* is the single choke point for the "ship" transition, so it can't be
|
|
473
|
+
* bypassed by a different route/action reaching `orderRepository.update`
|
|
474
|
+
* directly with `status: "shipped"`.
|
|
475
|
+
*/
|
|
476
|
+
export async function assertEmiShippable(order) {
|
|
477
|
+
if (!order.emiEnabled || order.emiComplete)
|
|
478
|
+
return;
|
|
479
|
+
const productIds = (order.items ?? []).map((i) => i.productId).filter(Boolean);
|
|
480
|
+
const products = await Promise.all(productIds.map((id) => productRepository.findById(id)));
|
|
481
|
+
const allAllowEarlyShip = products.length > 0 && products.every((p) => p?.allowShipBeforeEmiComplete === true);
|
|
482
|
+
if (!allAllowEarlyShip) {
|
|
483
|
+
throw new ValidationError("This order is still on an EMI plan — it can't ship until all installments are paid, unless the seller has enabled early shipping for every item in the order.");
|
|
484
|
+
}
|
|
485
|
+
}
|
|
461
486
|
export async function customShipOrder(userId, userRole, orderId, input) {
|
|
462
487
|
const order = await orderRepository.findById(orderId);
|
|
463
488
|
if (!order)
|
|
@@ -469,6 +494,7 @@ export async function customShipOrder(userId, userRole, orderId, input) {
|
|
|
469
494
|
throw new ValidationError("Order is already shipped");
|
|
470
495
|
if (order.status !== OrderStatusValues.CONFIRMED)
|
|
471
496
|
throw new ValidationError("Order must be confirmed before shipping");
|
|
497
|
+
await assertEmiShippable(order);
|
|
472
498
|
await orderRepository.update(orderId, {
|
|
473
499
|
status: OrderStatusValues.SHIPPED,
|
|
474
500
|
shippingMethod: "custom",
|
|
@@ -485,3 +511,51 @@ export async function customShipOrder(userId, userRole, orderId, input) {
|
|
|
485
511
|
});
|
|
486
512
|
return { orderId, method: "custom" };
|
|
487
513
|
}
|
|
514
|
+
/**
|
|
515
|
+
* Records collection of one EMI installment. Seller/admin marks the
|
|
516
|
+
* installment paid after verifying the buyer's manual transfer (UTR +
|
|
517
|
+
* proof). Recomputes `emiRemainingBalance` from the still-pending
|
|
518
|
+
* installments and flips `emiComplete` once none remain — that flag is the
|
|
519
|
+
* single gate `assertEmiShippable` reads, so this is the only place an
|
|
520
|
+
* EMI order can become shippable.
|
|
521
|
+
*/
|
|
522
|
+
export async function markEmiInstallmentPaid(userId, userRole, orderId, input) {
|
|
523
|
+
const order = await orderRepository.findById(orderId);
|
|
524
|
+
if (!order)
|
|
525
|
+
throw new NotFoundError("Order not found");
|
|
526
|
+
if (userRole !== "admin" && order.storeId !== userId)
|
|
527
|
+
throw new AuthorizationError("You do not own this order");
|
|
528
|
+
if (!order.emiEnabled)
|
|
529
|
+
throw new ValidationError("This order is not on an EMI plan");
|
|
530
|
+
const installments = order.emiInstallments ?? [];
|
|
531
|
+
const target = installments.find((i) => i.index === input.installmentIndex);
|
|
532
|
+
if (!target)
|
|
533
|
+
throw new ValidationError(`Installment ${input.installmentIndex} not found on this order`);
|
|
534
|
+
if (target.status === "paid")
|
|
535
|
+
throw new ValidationError("This installment is already marked paid");
|
|
536
|
+
const updatedInstallments = installments.map((i) => i.index === input.installmentIndex
|
|
537
|
+
? {
|
|
538
|
+
...i,
|
|
539
|
+
status: "paid",
|
|
540
|
+
paidAt: new Date(),
|
|
541
|
+
transactionId: input.transactionId,
|
|
542
|
+
proofUrl: input.proofUrl,
|
|
543
|
+
}
|
|
544
|
+
: i);
|
|
545
|
+
const emiRemainingBalance = updatedInstallments
|
|
546
|
+
.filter((i) => i.status !== "paid")
|
|
547
|
+
.reduce((sum, i) => sum + i.amount, 0);
|
|
548
|
+
const emiComplete = updatedInstallments.every((i) => i.status === "paid");
|
|
549
|
+
const updated = await orderRepository.update(orderId, {
|
|
550
|
+
emiInstallments: updatedInstallments,
|
|
551
|
+
emiRemainingBalance,
|
|
552
|
+
emiComplete,
|
|
553
|
+
});
|
|
554
|
+
serverLogger.info("markEmiInstallmentPaid", {
|
|
555
|
+
orderId,
|
|
556
|
+
userId,
|
|
557
|
+
installmentIndex: input.installmentIndex,
|
|
558
|
+
emiComplete,
|
|
559
|
+
});
|
|
560
|
+
return updated;
|
|
561
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
export interface BarcodeFieldProps {
|
|
2
3
|
label?: string;
|
|
3
4
|
value: string;
|
|
@@ -14,4 +15,4 @@ export interface BarcodeFieldProps {
|
|
|
14
15
|
* Scanners type characters rapidly (< 50 ms per keydown) then send Enter.
|
|
15
16
|
* onScan is called when Enter follows rapid input; manual typing is ignored.
|
|
16
17
|
*/
|
|
17
|
-
export declare function BarcodeField({ label, value, onChange, onScan, placeholder, helperText, autoFocus, readOnly, }: BarcodeFieldProps):
|
|
18
|
+
export declare function BarcodeField({ label, value, onChange, onScan, placeholder, helperText, autoFocus, readOnly, }: BarcodeFieldProps): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
export interface BrandInlineSelectProps {
|
|
2
3
|
value: string;
|
|
3
4
|
onChange: (v: string) => void;
|
|
@@ -6,4 +7,4 @@ export interface BrandInlineSelectProps {
|
|
|
6
7
|
/** Show the "+ Create new brand" option. Defaults to true for sellers. */
|
|
7
8
|
allowCreate?: boolean;
|
|
8
9
|
}
|
|
9
|
-
export declare function BrandInlineSelect({ value, onChange, placeholder, disabled, allowCreate, }: BrandInlineSelectProps):
|
|
10
|
+
export declare function BrandInlineSelect({ value, onChange, placeholder, disabled, allowCreate, }: BrandInlineSelectProps): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
export interface CategoryInlineSelectProps {
|
|
2
3
|
value: string;
|
|
3
4
|
onChange: (v: string) => void;
|
|
@@ -6,4 +7,4 @@ export interface CategoryInlineSelectProps {
|
|
|
6
7
|
/** Show the "+ Create new category" option. Defaults to false (search-only for sellers). */
|
|
7
8
|
allowCreate?: boolean;
|
|
8
9
|
}
|
|
9
|
-
export declare function CategoryInlineSelect({ value, onChange, placeholder, disabled, allowCreate, }: CategoryInlineSelectProps):
|
|
10
|
+
export declare function CategoryInlineSelect({ value, onChange, placeholder, disabled, allowCreate, }: CategoryInlineSelectProps): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
type Scope = "admin" | "store";
|
|
2
3
|
interface BaseProps {
|
|
3
4
|
/** Which API to query. "store" hits the seller's own coupons; "admin" hits the admin pool. */
|
|
@@ -18,5 +19,5 @@ interface MultiProps extends BaseProps {
|
|
|
18
19
|
onChange: (v: string[]) => void;
|
|
19
20
|
}
|
|
20
21
|
export type CouponInlineSelectProps = SingleProps | MultiProps;
|
|
21
|
-
export declare function CouponInlineSelect(props: CouponInlineSelectProps):
|
|
22
|
+
export declare function CouponInlineSelect(props: CouponInlineSelectProps): React.JSX.Element;
|
|
22
23
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
export interface FulfillmentViewProps {
|
|
2
3
|
currentUserId?: string;
|
|
3
4
|
currentUserName?: string;
|
|
4
5
|
}
|
|
5
|
-
export declare function FulfillmentView({ currentUserId, }: FulfillmentViewProps):
|
|
6
|
+
export declare function FulfillmentView({ currentUserId, }: FulfillmentViewProps): React.JSX.Element;
|