@mohasinac/appkit 2.6.1 → 2.6.2
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/layout/DashboardLayoutClient.d.ts +38 -0
- package/dist/_internal/client/features/layout/DashboardLayoutClient.js +75 -0
- package/dist/_internal/client/features/layout/RoleGuard.d.ts +15 -0
- package/dist/_internal/client/features/layout/RoleGuard.js +25 -0
- package/dist/_internal/client/features/layout/index.d.ts +5 -0
- package/dist/_internal/client/features/layout/index.js +4 -0
- package/dist/_internal/server/features/brands/actions.d.ts +3 -3
- package/dist/_internal/server/features/brands/actions.js +72 -5
- package/dist/_internal/server/features/brands/data.d.ts +8 -8
- package/dist/_internal/server/features/brands/data.js +10 -11
- package/dist/_internal/server/features/brands/service.d.ts +2 -2
- package/dist/_internal/server/features/brands/service.js +5 -5
- package/dist/_internal/server/features/categories/og.d.ts +33 -0
- package/dist/_internal/server/features/categories/og.js +75 -0
- package/dist/_internal/server/features/checkout/actions.d.ts +24 -0
- package/dist/_internal/server/features/checkout/actions.js +442 -13
- package/dist/_internal/server/features/checkout/index.d.ts +1 -1
- package/dist/_internal/server/features/checkout/index.js +1 -1
- package/dist/_internal/server/features/checkout/prize-bundle-gates.d.ts +59 -0
- package/dist/_internal/server/features/checkout/prize-bundle-gates.js +99 -0
- package/dist/_internal/server/features/grouped/data.js +12 -5
- package/dist/_internal/server/features/homepage/data.d.ts +1 -1
- package/dist/_internal/server/features/homepage/data.js +2 -2
- package/dist/_internal/server/features/media/contextGuards.d.ts +52 -0
- package/dist/_internal/server/features/media/contextGuards.js +198 -0
- package/dist/_internal/server/features/orders/adapters.js +12 -0
- package/dist/_internal/server/features/products/data.d.ts +1 -1
- package/dist/_internal/server/features/sublisting-categories/data.d.ts +1 -1
- package/dist/_internal/server/features/sublisting-categories/data.js +2 -2
- package/dist/_internal/server/jobs/handlers/assignSpinPrize.d.ts +24 -0
- package/dist/_internal/server/jobs/handlers/assignSpinPrize.js +86 -0
- package/dist/_internal/server/jobs/handlers/bundleStockSync.d.ts +18 -0
- package/dist/_internal/server/jobs/handlers/bundleStockSync.js +80 -0
- package/dist/_internal/server/jobs/handlers/index.d.ts +8 -0
- package/dist/_internal/server/jobs/handlers/index.js +13 -0
- package/dist/_internal/server/jobs/handlers/listingProcessor.js +13 -3
- package/dist/_internal/server/jobs/handlers/onProductStockChange.d.ts +17 -0
- package/dist/_internal/server/jobs/handlers/onProductStockChange.js +136 -0
- package/dist/_internal/server/jobs/handlers/onProductWrite.js +17 -1
- package/dist/_internal/server/jobs/handlers/prizeRevealClose.d.ts +9 -0
- package/dist/_internal/server/jobs/handlers/prizeRevealClose.js +29 -0
- package/dist/_internal/server/jobs/handlers/prizeRevealExpiry.d.ts +10 -0
- package/dist/_internal/server/jobs/handlers/prizeRevealExpiry.js +58 -0
- package/dist/_internal/server/jobs/handlers/prizeRevealOpen.d.ts +10 -0
- package/dist/_internal/server/jobs/handlers/prizeRevealOpen.js +65 -0
- package/dist/_internal/server/jobs/handlers/prizeRevealReminder.d.ts +9 -0
- package/dist/_internal/server/jobs/handlers/prizeRevealReminder.js +45 -0
- package/dist/_internal/server/jobs/handlers/triggerEventRaffle.d.ts +30 -0
- package/dist/_internal/server/jobs/handlers/triggerEventRaffle.js +94 -0
- package/dist/_internal/shared/features/brands/schema.d.ts +3 -3
- package/dist/_internal/shared/features/cart/schema.d.ts +8 -8
- package/dist/_internal/shared/features/cart/schema.js +1 -1
- package/dist/_internal/shared/features/categories/bundle-config.d.ts +17 -0
- package/dist/_internal/shared/features/categories/bundle-config.js +17 -0
- package/dist/_internal/shared/features/layout/config.d.ts +35 -0
- package/dist/_internal/shared/features/layout/config.js +58 -0
- package/dist/_internal/shared/features/layout/index.d.ts +3 -0
- package/dist/_internal/shared/features/layout/index.js +2 -0
- package/dist/_internal/shared/features/layout/types.d.ts +137 -0
- package/dist/_internal/shared/features/layout/types.js +13 -0
- package/dist/_internal/shared/features/products/types.d.ts +1 -1
- package/dist/_internal/shared/listing-types/_registry.d.ts +57 -0
- package/dist/_internal/shared/listing-types/_registry.js +28 -0
- package/dist/_internal/shared/listing-types/auction/config.d.ts +7 -0
- package/dist/_internal/shared/listing-types/auction/config.js +8 -0
- package/dist/_internal/shared/listing-types/auction/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/auction/ctas.js +2 -0
- package/dist/_internal/shared/listing-types/auction/og.d.ts +1 -0
- package/dist/_internal/shared/listing-types/auction/og.js +1 -0
- package/dist/_internal/shared/listing-types/auction/schema.d.ts +1 -0
- package/dist/_internal/shared/listing-types/auction/schema.js +1 -0
- package/dist/_internal/shared/listing-types/auction/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/auction/seed-factory.js +1 -0
- package/dist/_internal/shared/listing-types/capabilities.d.ts +41 -0
- package/dist/_internal/shared/listing-types/capabilities.js +75 -0
- package/dist/_internal/shared/listing-types/pre-order/config.d.ts +7 -0
- package/dist/_internal/shared/listing-types/pre-order/config.js +8 -0
- package/dist/_internal/shared/listing-types/pre-order/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/pre-order/ctas.js +2 -0
- package/dist/_internal/shared/listing-types/pre-order/og.d.ts +1 -0
- package/dist/_internal/shared/listing-types/pre-order/og.js +1 -0
- package/dist/_internal/shared/listing-types/pre-order/schema.d.ts +1 -0
- package/dist/_internal/shared/listing-types/pre-order/schema.js +1 -0
- package/dist/_internal/shared/listing-types/pre-order/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/pre-order/seed-factory.js +1 -0
- package/dist/_internal/shared/listing-types/prize-draw/config.d.ts +7 -0
- package/dist/_internal/shared/listing-types/prize-draw/config.js +8 -0
- package/dist/_internal/shared/listing-types/prize-draw/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/prize-draw/ctas.js +2 -0
- package/dist/_internal/shared/listing-types/prize-draw/og.d.ts +1 -0
- package/dist/_internal/shared/listing-types/prize-draw/og.js +1 -0
- package/dist/_internal/shared/listing-types/prize-draw/schema.d.ts +1 -0
- package/dist/_internal/shared/listing-types/prize-draw/schema.js +1 -0
- package/dist/_internal/shared/listing-types/prize-draw/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/prize-draw/seed-factory.js +1 -0
- package/dist/_internal/shared/listing-types/standard/config.d.ts +7 -0
- package/dist/_internal/shared/listing-types/standard/config.js +8 -0
- package/dist/_internal/shared/listing-types/standard/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/standard/ctas.js +3 -0
- package/dist/_internal/shared/listing-types/standard/og.d.ts +1 -0
- package/dist/_internal/shared/listing-types/standard/og.js +1 -0
- package/dist/_internal/shared/listing-types/standard/schema.d.ts +1 -0
- package/dist/_internal/shared/listing-types/standard/schema.js +1 -0
- package/dist/_internal/shared/listing-types/standard/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/standard/seed-factory.js +1 -0
- package/dist/_internal/shared/media/limits.d.ts +33 -0
- package/dist/_internal/shared/media/limits.js +97 -0
- package/dist/_internal/shared/schema-versions.d.ts +76 -0
- package/dist/_internal/shared/schema-versions.js +82 -0
- package/dist/client.d.ts +9 -0
- package/dist/client.js +7 -0
- package/dist/constants/api-endpoints.d.ts +6 -3
- package/dist/constants/api-endpoints.js +2 -1
- package/dist/errors/messages.d.ts +1 -1
- package/dist/errors/messages.js +1 -1
- package/dist/features/account/migrations.d.ts +2 -0
- package/dist/features/account/migrations.js +10 -0
- package/dist/features/admin/components/AdminMediaView.js +1 -1
- package/dist/features/admin/components/AdminProductsView.js +7 -3
- package/dist/features/admin/migrations.d.ts +2 -0
- package/dist/features/admin/migrations.js +10 -0
- package/dist/features/admin/types/product.types.d.ts +1 -1
- package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +1 -1
- package/dist/features/auctions/migrations.d.ts +2 -0
- package/dist/features/auctions/migrations.js +10 -0
- package/dist/features/auctions/schemas/index.d.ts +3 -3
- package/dist/features/auctions/schemas/index.js +1 -1
- package/dist/features/auth/migrations.d.ts +2 -0
- package/dist/features/auth/migrations.js +10 -0
- package/dist/features/blog/migrations.d.ts +2 -0
- package/dist/features/blog/migrations.js +10 -0
- package/dist/features/brands/migrations.d.ts +2 -0
- package/dist/features/brands/migrations.js +10 -0
- package/dist/features/bundles/components/BundlesByCategoryListing.d.ts +6 -0
- package/dist/features/bundles/components/BundlesByCategoryListing.js +50 -0
- package/dist/features/bundles/components/index.d.ts +2 -0
- package/dist/features/bundles/components/index.js +1 -0
- package/dist/features/bundles/migrations.d.ts +2 -0
- package/dist/features/bundles/migrations.js +10 -0
- package/dist/features/bundles/schemas/index.d.ts +1 -0
- package/dist/features/bundles/schemas/index.js +1 -0
- package/dist/features/bundles/schemas/zod.d.ts +377 -0
- package/dist/features/bundles/schemas/zod.js +71 -0
- package/dist/features/cart/migrations.d.ts +2 -0
- package/dist/features/cart/migrations.js +10 -0
- package/dist/features/cart/schemas/firestore.d.ts +2 -2
- package/dist/features/categories/components/BrandDetailPageView.js +35 -4
- package/dist/features/categories/components/BrandDetailTabs.d.ts +5 -1
- package/dist/features/categories/components/BrandDetailTabs.js +22 -8
- package/dist/features/categories/components/CategoryBundlesListing.d.ts +6 -0
- package/dist/features/categories/components/CategoryBundlesListing.js +74 -0
- package/dist/features/categories/components/CategoryDetailPageView.js +29 -4
- package/dist/features/categories/components/CategoryDetailTabs.d.ts +5 -1
- package/dist/features/categories/components/CategoryDetailTabs.js +22 -8
- package/dist/features/categories/migrations.d.ts +2 -0
- package/dist/features/categories/migrations.js +10 -0
- package/dist/features/categories/repository/categories.repository.d.ts +29 -0
- package/dist/features/categories/repository/categories.repository.js +83 -0
- package/dist/features/categories/schemas/firestore.d.ts +59 -2
- package/dist/features/categories/schemas/firestore.js +6 -0
- package/dist/features/categories/types/index.d.ts +11 -3
- package/dist/features/events/migrations.d.ts +2 -0
- package/dist/features/events/migrations.js +10 -0
- package/dist/features/faq/migrations.d.ts +2 -0
- package/dist/features/faq/migrations.js +10 -0
- package/dist/features/grouped/migrations.d.ts +2 -0
- package/dist/features/grouped/migrations.js +10 -0
- package/dist/features/grouped/schemas/firestore.d.ts +29 -10
- package/dist/features/grouped/schemas/firestore.js +10 -5
- package/dist/features/history/migrations.d.ts +2 -0
- package/dist/features/history/migrations.js +10 -0
- package/dist/features/homepage/hooks/useFeaturedAuctions.js +2 -2
- package/dist/features/homepage/hooks/useFeaturedPreOrders.js +2 -2
- package/dist/features/homepage/lib/section-renderer.js +5 -3
- package/dist/features/media/AvatarUpload.js +6 -28
- package/dist/features/media/hooks/useMedia.d.ts +31 -15
- package/dist/features/media/hooks/useMedia.js +48 -13
- package/dist/features/media/upload/ImageUpload.js +1 -1
- package/dist/features/media/upload/MediaUploadField.js +1 -1
- package/dist/features/messages/migrations.d.ts +2 -0
- package/dist/features/messages/migrations.js +10 -0
- package/dist/features/orders/components/OrdersList.js +10 -1
- package/dist/features/orders/migrations.d.ts +2 -0
- package/dist/features/orders/migrations.js +10 -0
- package/dist/features/orders/repository/orders.repository.d.ts +16 -0
- package/dist/features/orders/repository/orders.repository.js +49 -0
- package/dist/features/orders/schemas/firestore.d.ts +8 -0
- package/dist/features/orders/types/index.d.ts +12 -0
- package/dist/features/orders/utils/order-splitter.d.ts +2 -2
- package/dist/features/orders/utils/order-splitter.js +5 -0
- package/dist/features/payments/migrations.d.ts +2 -0
- package/dist/features/payments/migrations.js +10 -0
- package/dist/features/pre-orders/components/PreOrderDetailPageView.js +4 -1
- package/dist/features/products/actions/product-actions.d.ts +1 -1
- package/dist/features/products/api/[id]/route.js +34 -0
- package/dist/features/products/api/route.js +1 -19
- package/dist/features/products/components/CompareOverlay.d.ts +1 -1
- package/dist/features/products/components/MarketplacePrizeDrawCard.d.ts +24 -0
- package/dist/features/products/components/MarketplacePrizeDrawCard.js +102 -0
- package/dist/features/products/components/PrizeDrawCollage.d.ts +32 -0
- package/dist/features/products/components/PrizeDrawCollage.js +22 -0
- package/dist/features/products/components/PrizeDrawDetailPageView.d.ts +27 -0
- package/dist/features/products/components/PrizeDrawDetailPageView.js +118 -0
- package/dist/features/products/components/PrizeDrawEntryActions.d.ts +19 -0
- package/dist/features/products/components/PrizeDrawEntryActions.js +48 -0
- package/dist/features/products/components/PrizeDrawItemsEditor.d.ts +13 -0
- package/dist/features/products/components/PrizeDrawItemsEditor.js +97 -0
- package/dist/features/products/components/PrizeDrawsIndexListing.d.ts +8 -0
- package/dist/features/products/components/PrizeDrawsIndexListing.js +128 -0
- package/dist/features/products/components/PrizeDrawsListingView.d.ts +15 -0
- package/dist/features/products/components/PrizeDrawsListingView.js +49 -0
- package/dist/features/products/components/PrizeRevealModal.d.ts +34 -0
- package/dist/features/products/components/PrizeRevealModal.js +124 -0
- package/dist/features/products/components/ProductDetailPageView.js +13 -1
- package/dist/features/products/components/ProductForm.js +35 -2
- package/dist/features/products/components/ProductGrid.js +3 -1
- package/dist/features/products/components/index.d.ts +16 -0
- package/dist/features/products/components/index.js +8 -0
- package/dist/features/products/constants/listing-tabs.d.ts +113 -0
- package/dist/features/products/constants/listing-tabs.js +43 -0
- package/dist/features/products/index.d.ts +1 -0
- package/dist/features/products/index.js +1 -0
- package/dist/features/products/migrations.d.ts +2 -0
- package/dist/features/products/migrations.js +10 -0
- package/dist/features/products/repository/products.repository.d.ts +11 -7
- package/dist/features/products/repository/products.repository.js +49 -24
- package/dist/features/products/schemas/firestore.d.ts +3 -3
- package/dist/features/products/schemas/firestore.js +2 -2
- package/dist/features/products/schemas/index.d.ts +5 -5
- package/dist/features/products/schemas/index.js +3 -1
- package/dist/features/products/schemas/product-features.validators.d.ts +6 -6
- package/dist/features/products/types/index.d.ts +17 -1
- package/dist/features/products/utils/listing-type.d.ts +7 -4
- package/dist/features/products/utils/listing-type.js +8 -4
- package/dist/features/promotions/actions/coupon-actions.d.ts +1 -1
- package/dist/features/promotions/hooks/useCouponValidate.d.ts +1 -1
- package/dist/features/promotions/migrations.d.ts +2 -0
- package/dist/features/promotions/migrations.js +10 -0
- package/dist/features/promotions/repository/coupons.repository.d.ts +1 -1
- package/dist/features/promotions/schemas/index.d.ts +2 -2
- package/dist/features/reviews/migrations.d.ts +2 -0
- package/dist/features/reviews/migrations.js +10 -0
- package/dist/features/scams/migrations.d.ts +2 -0
- package/dist/features/scams/migrations.js +10 -0
- package/dist/features/search/api/route.d.ts +1 -1
- package/dist/features/search/api/route.js +3 -3
- package/dist/features/search/components/Search.d.ts +1 -1
- package/dist/features/search/schemas/index.d.ts +3 -3
- package/dist/features/search/schemas/index.js +3 -1
- package/dist/features/search/types/index.d.ts +2 -2
- package/dist/features/seller/components/SellerProductShell.d.ts +1 -1
- package/dist/features/seller/components/SellerProductsView.js +20 -6
- package/dist/features/seller/migrations.d.ts +2 -0
- package/dist/features/seller/migrations.js +10 -0
- package/dist/features/seller/schemas/index.d.ts +2 -2
- package/dist/features/stores/components/StoreBundlesPageView.d.ts +12 -0
- package/dist/features/stores/components/StoreBundlesPageView.js +24 -0
- package/dist/features/stores/components/StoreDetailLayoutView.js +15 -3
- package/dist/features/stores/components/StorePrizeDrawsPageView.d.ts +11 -0
- package/dist/features/stores/components/StorePrizeDrawsPageView.js +27 -0
- package/dist/features/stores/components/index.d.ts +2 -0
- package/dist/features/stores/migrations.d.ts +2 -0
- package/dist/features/stores/migrations.js +10 -0
- package/dist/features/stores/schemas/index.d.ts +2 -2
- package/dist/features/stores/types/index.d.ts +1 -1
- package/dist/features/sublisting/migrations.d.ts +2 -0
- package/dist/features/sublisting/migrations.js +10 -0
- package/dist/features/sublisting/schemas/firestore.d.ts +2 -0
- package/dist/features/support/migrations.d.ts +2 -0
- package/dist/features/support/migrations.js +10 -0
- package/dist/features/wishlist/migrations.d.ts +2 -0
- package/dist/features/wishlist/migrations.js +10 -0
- package/dist/features/wishlist/types/index.d.ts +1 -1
- package/dist/index.d.ts +26 -18
- package/dist/index.js +41 -24
- package/dist/jobs.d.ts +1 -1
- package/dist/jobs.js +4 -0
- package/dist/next/routing/route-map.d.ts +4 -0
- package/dist/next/routing/route-map.js +2 -0
- package/dist/providers/db-firebase/filter-aliases.d.ts +2 -2
- package/dist/repositories/index.d.ts +0 -5
- package/dist/repositories/index.js +5 -4
- package/dist/seed/actions/demo-seed-actions.d.ts +1 -1
- package/dist/seed/categories-seed-data.js +1105 -6
- package/dist/seed/faq-seed-data.js +160 -0
- package/dist/seed/grouped-listings-seed-data.js +32 -32
- package/dist/seed/homepage-sections-seed-data.js +52 -6
- package/dist/seed/index.d.ts +1 -3
- package/dist/seed/index.js +4 -3
- package/dist/seed/manifest.js +8 -13
- package/dist/seed/products-prize-draws-seed-data.d.ts +17 -0
- package/dist/seed/products-prize-draws-seed-data.js +313 -0
- package/dist/seo/json-ld.d.ts +1 -1
- package/dist/server-entry.d.ts +2 -2
- package/dist/server-entry.js +5 -3
- package/dist/server.d.ts +9 -2
- package/dist/server.js +11 -5
- package/dist/tailwind-utilities.css +1 -1
- package/dist/validation/schemas.d.ts +8 -8
- package/package.json +1 -1
- package/scripts/seed-cli.mjs +2 -4
|
@@ -28,6 +28,7 @@ function TypeChips({ active, onChange, }) {
|
|
|
28
28
|
{ kind: "standard", label: "Standard" },
|
|
29
29
|
{ kind: "auction", label: "Auction" },
|
|
30
30
|
{ kind: "pre-order", label: "Pre-order" },
|
|
31
|
+
{ kind: "prize-draw", label: "Prize Draw" },
|
|
31
32
|
];
|
|
32
33
|
return (_jsx("div", { className: "flex items-center gap-2 px-3 sm:px-4 py-2 overflow-x-auto border-b border-[var(--appkit-color-border)]", children: chips.map(({ kind, label }) => (_jsx("button", { type: "button", onClick: () => onChange(kind), className: [
|
|
33
34
|
"flex-shrink-0 rounded-full px-3 py-1 text-xs font-medium border transition-colors",
|
|
@@ -39,6 +40,7 @@ function TypeChips({ active, onChange, }) {
|
|
|
39
40
|
const KIND_BADGE_VARIANT = {
|
|
40
41
|
auction: "warning",
|
|
41
42
|
"pre-order": "secondary",
|
|
43
|
+
"prize-draw": "primary",
|
|
42
44
|
standard: "default",
|
|
43
45
|
};
|
|
44
46
|
const PRODUCT_COLUMNS = [
|
|
@@ -132,9 +134,11 @@ export function SellerProductsView({ onDeleteProduct, children, ...props }) {
|
|
|
132
134
|
? "listingType==auction"
|
|
133
135
|
: listingKind === "pre-order"
|
|
134
136
|
? "listingType==pre-order"
|
|
135
|
-
: listingKind === "
|
|
136
|
-
? "listingType==
|
|
137
|
-
:
|
|
137
|
+
: listingKind === "prize-draw"
|
|
138
|
+
? "listingType==prize-draw"
|
|
139
|
+
: listingKind === "standard"
|
|
140
|
+
? "listingType==standard"
|
|
141
|
+
: undefined;
|
|
138
142
|
const filters = [statusFilter, kindFilter].filter(Boolean).join(",") || undefined;
|
|
139
143
|
const { rows, total, isLoading, errorMessage } = useSellerListingData({
|
|
140
144
|
queryKey: ["seller", "products", "listing", listingKind],
|
|
@@ -147,7 +151,13 @@ export function SellerProductsView({ onDeleteProduct, children, ...props }) {
|
|
|
147
151
|
mapRows: (response) => toRecordArray(response.products).map((item, index) => {
|
|
148
152
|
// SB1-G — derive kind from canonical listingType with legacy fallback.
|
|
149
153
|
const lt = normalizeListingType(item);
|
|
150
|
-
const kind = lt === "auction"
|
|
154
|
+
const kind = lt === "auction"
|
|
155
|
+
? "auction"
|
|
156
|
+
: lt === "pre-order"
|
|
157
|
+
? "pre-order"
|
|
158
|
+
: lt === "prize-draw"
|
|
159
|
+
? "prize-draw"
|
|
160
|
+
: "standard";
|
|
151
161
|
const priceRaw = typeof item.price === "number" ? item.price : 0;
|
|
152
162
|
return {
|
|
153
163
|
id: toStringValue(item.id, `product-${index}`),
|
|
@@ -172,7 +182,9 @@ export function SellerProductsView({ onDeleteProduct, children, ...props }) {
|
|
|
172
182
|
? String(ROUTES.STORE.AUCTIONS_EDIT(row.id))
|
|
173
183
|
: row.listingKind === "pre-order"
|
|
174
184
|
? String(ROUTES.STORE.PRE_ORDERS_EDIT(row.id))
|
|
175
|
-
:
|
|
185
|
+
: row.listingKind === "prize-draw"
|
|
186
|
+
? String(ROUTES.STORE.PRIZE_DRAWS_EDIT(row.id))
|
|
187
|
+
: String(ROUTES.STORE.PRODUCTS_EDIT(row.id));
|
|
176
188
|
void dispatch({ type: "NAVIGATE", href });
|
|
177
189
|
};
|
|
178
190
|
const handleDelete = async (row) => {
|
|
@@ -194,7 +206,9 @@ export function SellerProductsView({ onDeleteProduct, children, ...props }) {
|
|
|
194
206
|
? String(ROUTES.STORE.AUCTIONS_EDIT(row.id))
|
|
195
207
|
: row.listingKind === "pre-order"
|
|
196
208
|
? String(ROUTES.STORE.PRE_ORDERS_EDIT(row.id))
|
|
197
|
-
:
|
|
209
|
+
: row.listingKind === "prize-draw"
|
|
210
|
+
? String(ROUTES.STORE.PRIZE_DRAWS_EDIT(row.id))
|
|
211
|
+
: String(ROUTES.STORE.PRODUCTS_EDIT(row.id)), renderRowActions: onDeleteProduct
|
|
198
212
|
? (row) => (_jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Button, { variant: "ghost", size: "sm", onClick: (e) => { e.stopPropagation(); handleEdit(row); }, "aria-label": "Edit", children: _jsx(Pencil, { className: "w-4 h-4" }) }), _jsx(Button, { variant: "ghost", size: "sm", onClick: (e) => { e.stopPropagation(); void handleDelete(row); }, disabled: deletingId === row.id, "aria-label": "Delete", className: "text-[var(--appkit-color-error)] hover:bg-[var(--appkit-color-border-subtle)]", children: _jsx(Trash2, { className: "w-4 h-4" }) })] }))
|
|
199
213
|
: undefined })] }), filterOpen && (_jsxs(_Fragment, { children: [_jsx("div", { className: "fixed inset-0 z-40 bg-black/40", "aria-hidden": "true", onClick: () => setFilterOpen(false) }), _jsxs("div", { className: "fixed inset-y-0 left-0 z-50 flex w-80 flex-col bg-[var(--appkit-color-surface)] shadow-2xl", children: [_jsxs("div", { className: "flex items-center justify-between border-b border-[var(--appkit-color-border)] px-4 py-3.5", children: [_jsx("span", { className: "text-base font-semibold text-[var(--appkit-color-text)]", children: "Filters" }), _jsxs("div", { className: "flex items-center gap-2", children: [activeFilterCount > 0 && (_jsx("button", { type: "button", onClick: clearFilters, className: "text-xs text-[var(--appkit-color-text-muted)] hover:text-[var(--appkit-color-error)] transition-colors", children: "Clear all" })), _jsx("button", { type: "button", onClick: () => setFilterOpen(false), "aria-label": "Close", className: "rounded-lg p-1.5 text-[var(--appkit-color-text-muted)] hover:bg-[var(--appkit-color-border-subtle)] transition-colors", children: _jsx(X, { className: "h-5 w-5" }) })] })] }), _jsx("div", { className: "flex-1 overflow-y-auto px-4 py-4 space-y-5", children: _jsxs("div", { className: "space-y-2", children: [_jsx("p", { className: "text-xs font-semibold uppercase tracking-widest text-[var(--appkit-color-text-muted)]", children: "Status" }), _jsx("div", { className: "flex flex-wrap gap-2", children: STATUS_OPTIONS.map((opt) => (_jsx("button", { type: "button", onClick: () => setPendingFilters((p) => ({ ...p, status: opt === "All" ? "" : opt })), className: [
|
|
200
214
|
"rounded-full px-3 py-1 text-xs font-medium border transition-colors",
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// SB-UNI X3 — migrations shell for offer.
|
|
2
|
+
// v1 schema is current; no migrations needed yet.
|
|
3
|
+
//
|
|
4
|
+
// To add a migration:
|
|
5
|
+
// 1. Bump the relevant SCHEMA_VERSIONS entry in
|
|
6
|
+
// `_internal/shared/schema-versions.ts` (e.g. `seller: 2`)
|
|
7
|
+
// 2. Add a row below keyed by the FROM-version, returning the upgraded doc
|
|
8
|
+
// 3. Repository wraps reads with `migrateDocument(doc, current, migrations)`
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
+
export const migrations = {};
|
|
@@ -89,9 +89,9 @@ export declare const sellerStoreSchema: z.ZodObject<{
|
|
|
89
89
|
createdAt: string;
|
|
90
90
|
updatedAt: string;
|
|
91
91
|
status: "pending" | "active" | "rejected" | "suspended";
|
|
92
|
+
isPublic: boolean;
|
|
92
93
|
storeName: string;
|
|
93
94
|
storeSlug: string;
|
|
94
|
-
isPublic: boolean;
|
|
95
95
|
ownerId: string;
|
|
96
96
|
location?: string | undefined;
|
|
97
97
|
stats?: {
|
|
@@ -121,9 +121,9 @@ export declare const sellerStoreSchema: z.ZodObject<{
|
|
|
121
121
|
createdAt: string;
|
|
122
122
|
updatedAt: string;
|
|
123
123
|
status: "pending" | "active" | "rejected" | "suspended";
|
|
124
|
+
isPublic: boolean;
|
|
124
125
|
storeName: string;
|
|
125
126
|
storeSlug: string;
|
|
126
|
-
isPublic: boolean;
|
|
127
127
|
ownerId: string;
|
|
128
128
|
location?: string | undefined;
|
|
129
129
|
stats?: {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface StoreBundlesPageViewProps {
|
|
2
|
+
storeSlug: string;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Public store → Bundles tab.
|
|
6
|
+
*
|
|
7
|
+
* SB-UNI-D + V: bundles are categoryType:"bundle" rows on the categories
|
|
8
|
+
* collection, scoped to the seller via `createdByStoreId`. Server-fetches
|
|
9
|
+
* the seller's active bundle categories and hands them to
|
|
10
|
+
* `CategoryBundlesListing`. Mirrors the StorePrizeDrawsPageView pattern.
|
|
11
|
+
*/
|
|
12
|
+
export declare function StoreBundlesPageView({ storeSlug, }: StoreBundlesPageViewProps): Promise<import("react/jsx-runtime").JSX.Element | null>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { categoriesRepository } from "../../../repositories";
|
|
3
|
+
import { getStoreBySlug } from "./StoreDetailLayoutView";
|
|
4
|
+
import { CategoryBundlesListing } from "../../categories/components/CategoryBundlesListing";
|
|
5
|
+
/**
|
|
6
|
+
* Public store → Bundles tab.
|
|
7
|
+
*
|
|
8
|
+
* SB-UNI-D + V: bundles are categoryType:"bundle" rows on the categories
|
|
9
|
+
* collection, scoped to the seller via `createdByStoreId`. Server-fetches
|
|
10
|
+
* the seller's active bundle categories and hands them to
|
|
11
|
+
* `CategoryBundlesListing`. Mirrors the StorePrizeDrawsPageView pattern.
|
|
12
|
+
*/
|
|
13
|
+
export async function StoreBundlesPageView({ storeSlug, }) {
|
|
14
|
+
const store = await getStoreBySlug(storeSlug);
|
|
15
|
+
const storeId = store?.id;
|
|
16
|
+
if (!storeId) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
const bundles = await categoriesRepository
|
|
20
|
+
.listByType("bundle", { activeOnly: true, limit: 50 })
|
|
21
|
+
.then((rows) => rows.filter((c) => c.createdByStoreId === storeId))
|
|
22
|
+
.catch(() => []);
|
|
23
|
+
return _jsx(CategoryBundlesListing, { initialBundles: bundles });
|
|
24
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { cache } from "react";
|
|
3
|
-
import { storeRepository, productRepository } from "../../../repositories";
|
|
3
|
+
import { storeRepository, productRepository, categoriesRepository } from "../../../repositories";
|
|
4
4
|
import { ROUTES } from "../../../next";
|
|
5
5
|
import { Container, Main, Section } from "../../../ui";
|
|
6
6
|
import { StoreHeader } from "./StoreHeader";
|
|
@@ -17,7 +17,7 @@ export async function StoreDetailLayoutView({ storeSlug, activeTab, children, })
|
|
|
17
17
|
return (_jsx(Main, { children: _jsx(Section, { className: "py-20", children: _jsx(Container, { size: "md", children: _jsx("p", { className: "text-center text-zinc-500", children: "Store not found." }) }) }) }));
|
|
18
18
|
}
|
|
19
19
|
const storeId = store?.id;
|
|
20
|
-
const [productsCount, auctionsCount, preOrdersCount] = storeId
|
|
20
|
+
const [productsCount, auctionsCount, preOrdersCount, prizeDrawsCount, bundlesCount] = storeId
|
|
21
21
|
? await Promise.all([
|
|
22
22
|
productRepository
|
|
23
23
|
.list({ filters: `storeId==${storeId},status==published,listingType==standard`, page: 1, pageSize: 1 })
|
|
@@ -31,12 +31,24 @@ export async function StoreDetailLayoutView({ storeSlug, activeTab, children, })
|
|
|
31
31
|
.list({ filters: `storeId==${storeId},status==published,listingType==pre-order`, page: 1, pageSize: 1 })
|
|
32
32
|
.then((r) => r.total)
|
|
33
33
|
.catch(() => 0),
|
|
34
|
+
productRepository
|
|
35
|
+
.list({ filters: `storeId==${storeId},status==published,listingType==prize-draw`, page: 1, pageSize: 1 })
|
|
36
|
+
.then((r) => r.total)
|
|
37
|
+
.catch(() => 0),
|
|
38
|
+
// SB-UNI-D — bundles live on categories with categoryType:"bundle"
|
|
39
|
+
// + createdByStoreId scoping.
|
|
40
|
+
categoriesRepository
|
|
41
|
+
.listByType("bundle", { activeOnly: true, limit: 100 })
|
|
42
|
+
.then((rows) => rows.filter((c) => c.createdByStoreId === storeId).length)
|
|
43
|
+
.catch(() => 0),
|
|
34
44
|
])
|
|
35
|
-
: [0, 0, 0];
|
|
45
|
+
: [0, 0, 0, 0, 0];
|
|
36
46
|
const tabs = [
|
|
37
47
|
{ value: "products", label: tabLabel("Products", productsCount), href: String(ROUTES.PUBLIC.STORE_PRODUCTS(storeSlug)) },
|
|
38
48
|
{ value: "auctions", label: tabLabel("Auctions", auctionsCount), href: String(ROUTES.PUBLIC.STORE_AUCTIONS(storeSlug)) },
|
|
39
49
|
{ value: "pre-orders", label: tabLabel("Pre-Orders", preOrdersCount), href: String(ROUTES.PUBLIC.STORE_PRE_ORDERS(storeSlug)) },
|
|
50
|
+
{ value: "prize-draws", label: tabLabel("Prize Draws", prizeDrawsCount), href: String(ROUTES.PUBLIC.STORE_PRIZE_DRAWS(storeSlug)) },
|
|
51
|
+
{ value: "bundles", label: tabLabel("Bundles", bundlesCount), href: String(ROUTES.PUBLIC.STORE_BUNDLES(storeSlug)) },
|
|
40
52
|
{ value: "coupons", label: "Coupons", href: String(ROUTES.PUBLIC.STORE_COUPONS(storeSlug)) },
|
|
41
53
|
{ value: "reviews", label: "Reviews", href: String(ROUTES.PUBLIC.STORE_REVIEWS(storeSlug)) },
|
|
42
54
|
{ value: "about", label: "About", href: String(ROUTES.PUBLIC.STORE_ABOUT(storeSlug)) },
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface StorePrizeDrawsPageViewProps {
|
|
2
|
+
storeSlug: string;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Public store → Prize Draws tab (SB7-D).
|
|
6
|
+
*
|
|
7
|
+
* Server-fetches the seller's prize-draw products and hands them to the
|
|
8
|
+
* client `PrizeDrawsIndexListing` scoped to this store. Mirrors the
|
|
9
|
+
* StorePreOrdersPageView pattern.
|
|
10
|
+
*/
|
|
11
|
+
export declare function StorePrizeDrawsPageView({ storeSlug, }: StorePrizeDrawsPageViewProps): Promise<import("react/jsx-runtime").JSX.Element | null>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { productRepository } from "../../../repositories";
|
|
3
|
+
import { getStoreBySlug } from "./StoreDetailLayoutView";
|
|
4
|
+
import { PrizeDrawsIndexListing } from "../../products/components/PrizeDrawsIndexListing";
|
|
5
|
+
/**
|
|
6
|
+
* Public store → Prize Draws tab (SB7-D).
|
|
7
|
+
*
|
|
8
|
+
* Server-fetches the seller's prize-draw products and hands them to the
|
|
9
|
+
* client `PrizeDrawsIndexListing` scoped to this store. Mirrors the
|
|
10
|
+
* StorePreOrdersPageView pattern.
|
|
11
|
+
*/
|
|
12
|
+
export async function StorePrizeDrawsPageView({ storeSlug, }) {
|
|
13
|
+
const store = await getStoreBySlug(storeSlug);
|
|
14
|
+
const storeId = store?.id;
|
|
15
|
+
if (!storeId) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const result = await productRepository
|
|
19
|
+
.list({
|
|
20
|
+
filters: `storeId==${storeId},status==published,listingType==prize-draw`,
|
|
21
|
+
sorts: "-createdAt",
|
|
22
|
+
page: 1,
|
|
23
|
+
pageSize: 24,
|
|
24
|
+
})
|
|
25
|
+
.catch(() => null);
|
|
26
|
+
return (_jsx(PrizeDrawsIndexListing, { storeId: storeId, initialData: result ?? undefined }));
|
|
27
|
+
}
|
|
@@ -25,3 +25,5 @@ export type { StoreReviewsListingProps } from "./StoreReviewsListing";
|
|
|
25
25
|
export { StorePreOrdersListing } from "./StorePreOrdersListing";
|
|
26
26
|
export type { StorePreOrdersListingProps } from "./StorePreOrdersListing";
|
|
27
27
|
export type { StorePreOrdersPageViewProps } from "./StorePreOrdersPageView";
|
|
28
|
+
export type { StorePrizeDrawsPageViewProps } from "./StorePrizeDrawsPageView";
|
|
29
|
+
export type { StoreBundlesPageViewProps } from "./StoreBundlesPageView";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// SB-UNI X3 — migrations shell for store/storeAddress.
|
|
2
|
+
// v1 schema is current; no migrations needed yet.
|
|
3
|
+
//
|
|
4
|
+
// To add a migration:
|
|
5
|
+
// 1. Bump the relevant SCHEMA_VERSIONS entry in
|
|
6
|
+
// `_internal/shared/schema-versions.ts` (e.g. `stores: 2`)
|
|
7
|
+
// 2. Add a row below keyed by the FROM-version, returning the upgraded doc
|
|
8
|
+
// 3. Repository wraps reads with `migrateDocument(doc, current, migrations)`
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
+
export const migrations = {};
|
|
@@ -34,9 +34,9 @@ export declare const storeListItemSchema: z.ZodObject<{
|
|
|
34
34
|
}, "strip", z.ZodTypeAny, {
|
|
35
35
|
id: string;
|
|
36
36
|
status: string;
|
|
37
|
+
isPublic: boolean;
|
|
37
38
|
storeName: string;
|
|
38
39
|
storeSlug: string;
|
|
39
|
-
isPublic: boolean;
|
|
40
40
|
ownerId: string;
|
|
41
41
|
createdAt?: string | undefined;
|
|
42
42
|
itemsSold?: number | undefined;
|
|
@@ -50,9 +50,9 @@ export declare const storeListItemSchema: z.ZodObject<{
|
|
|
50
50
|
}, {
|
|
51
51
|
id: string;
|
|
52
52
|
status: string;
|
|
53
|
+
isPublic: boolean;
|
|
53
54
|
storeName: string;
|
|
54
55
|
storeSlug: string;
|
|
55
|
-
isPublic: boolean;
|
|
56
56
|
ownerId: string;
|
|
57
57
|
createdAt?: string | undefined;
|
|
58
58
|
itemsSold?: number | undefined;
|
|
@@ -41,7 +41,7 @@ export interface StoreProductItem {
|
|
|
41
41
|
status: string;
|
|
42
42
|
featured: boolean;
|
|
43
43
|
/** Canonical listing-kind discriminator (SB1-G Phase 4). */
|
|
44
|
-
listingType: "standard" | "auction" | "pre-order" | "prize-draw"
|
|
44
|
+
listingType: "standard" | "auction" | "pre-order" | "prize-draw";
|
|
45
45
|
currentBid?: number;
|
|
46
46
|
isPromoted?: boolean;
|
|
47
47
|
slug: string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// SB-UNI X3 — migrations shell for sublistingCategory.
|
|
2
|
+
// v1 schema is current; no migrations needed yet.
|
|
3
|
+
//
|
|
4
|
+
// To add a migration:
|
|
5
|
+
// 1. Bump the relevant SCHEMA_VERSIONS entry in
|
|
6
|
+
// `_internal/shared/schema-versions.ts` (e.g. `sublisting: 2`)
|
|
7
|
+
// 2. Add a row below keyed by the FROM-version, returning the upgraded doc
|
|
8
|
+
// 3. Repository wraps reads with `migrateDocument(doc, current, migrations)`
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
+
export const migrations = {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// SB-UNI X3 — migrations shell for supportTicket.
|
|
2
|
+
// v1 schema is current; no migrations needed yet.
|
|
3
|
+
//
|
|
4
|
+
// To add a migration:
|
|
5
|
+
// 1. Bump the relevant SCHEMA_VERSIONS entry in
|
|
6
|
+
// `_internal/shared/schema-versions.ts` (e.g. `support: 2`)
|
|
7
|
+
// 2. Add a row below keyed by the FROM-version, returning the upgraded doc
|
|
8
|
+
// 3. Repository wraps reads with `migrateDocument(doc, current, migrations)`
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
+
export const migrations = {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// SB-UNI X3 — migrations shell for wishlist.
|
|
2
|
+
// v1 schema is current; no migrations needed yet.
|
|
3
|
+
//
|
|
4
|
+
// To add a migration:
|
|
5
|
+
// 1. Bump the relevant SCHEMA_VERSIONS entry in
|
|
6
|
+
// `_internal/shared/schema-versions.ts` (e.g. `wishlist: 2`)
|
|
7
|
+
// 2. Add a row below keyed by the FROM-version, returning the upgraded doc
|
|
8
|
+
// 3. Repository wraps reads with `migrateDocument(doc, current, migrations)`
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
+
export const migrations = {};
|
|
@@ -24,7 +24,7 @@ export interface WishlistProductData {
|
|
|
24
24
|
status?: "draft" | "published" | "archived" | "sold" | "out_of_stock" | "discontinued";
|
|
25
25
|
isFeatured?: boolean;
|
|
26
26
|
/** Canonical listing-kind discriminator (SB1-G Phase 4). */
|
|
27
|
-
listingType?: "standard" | "auction" | "pre-order" | "prize-draw"
|
|
27
|
+
listingType?: "standard" | "auction" | "pre-order" | "prize-draw";
|
|
28
28
|
}
|
|
29
29
|
/** WishlistItem enriched with inline product details returned by the wishlist GET endpoint. */
|
|
30
30
|
export interface EnrichedWishlistItem extends WishlistItem {
|
package/dist/index.d.ts
CHANGED
|
@@ -506,9 +506,6 @@ export { blogRepository } from "./repositories/index";
|
|
|
506
506
|
export { carouselRepository } from "./repositories/index";
|
|
507
507
|
export { carouselsRepository, CarouselsRepository } from "./repositories/index";
|
|
508
508
|
export { cartRepository } from "./repositories/index";
|
|
509
|
-
export { brandsRepository } from "./repositories/index";
|
|
510
|
-
export type { BrandDocument, BrandCreateInput, BrandUpdateInput } from "./repositories/index";
|
|
511
|
-
export { BRANDS_COLLECTION } from "./features/brands/schemas";
|
|
512
509
|
export { categoriesRepository } from "./repositories/index";
|
|
513
510
|
export { chatRepository } from "./repositories/index";
|
|
514
511
|
export { couponsRepository } from "./repositories/index";
|
|
@@ -530,8 +527,6 @@ export { smsCounterRepository } from "./repositories/index";
|
|
|
530
527
|
export { storeAddressRepository } from "./repositories/index";
|
|
531
528
|
export { storeRepository } from "./repositories/index";
|
|
532
529
|
export { scammerRepository } from "./repositories/index";
|
|
533
|
-
export { sublistingCategoriesRepository } from "./repositories/index";
|
|
534
|
-
export type { SublistingCategoryCreateInput, SublistingCategoryUpdateInput, } from "./repositories/index";
|
|
535
530
|
export { productFeaturesRepository } from "./repositories/index";
|
|
536
531
|
export type { ProductFeatureListFilter } from "./repositories/index";
|
|
537
532
|
export { loadProductFeaturesForStore } from "./repositories/index";
|
|
@@ -563,7 +558,6 @@ export { blogPostsSeedData } from "./seed/index";
|
|
|
563
558
|
export { carouselSlidesSeedData } from "./seed/index";
|
|
564
559
|
export { carouselsSeedData } from "./seed/index";
|
|
565
560
|
export { cartsSeedData } from "./seed/index";
|
|
566
|
-
export { brandsSeedData } from "./seed/index";
|
|
567
561
|
export { categoriesSeedData } from "./seed/index";
|
|
568
562
|
export { couponsSeedData } from "./seed/index";
|
|
569
563
|
export type { CouponUsageSeedRecord } from "./seed/index";
|
|
@@ -611,6 +605,7 @@ export { payoutsSeedData } from "./seed/index";
|
|
|
611
605
|
export { productsStandardSeedData } from "./seed/index";
|
|
612
606
|
export { productsAuctionsSeedData } from "./seed/index";
|
|
613
607
|
export { productsPreOrdersSeedData } from "./seed/index";
|
|
608
|
+
export { productsPrizeDrawsSeedData } from "./seed/index";
|
|
614
609
|
export { registerSeedLocale } from "./seed/index";
|
|
615
610
|
export { reviewsSeedData } from "./seed/index";
|
|
616
611
|
export { seedForTest } from "./seed/index";
|
|
@@ -622,9 +617,7 @@ export { usersSeedData } from "./seed/index";
|
|
|
622
617
|
export { wishlistsSeedData } from "./seed/index";
|
|
623
618
|
export { historySeedData } from "./seed/index";
|
|
624
619
|
export { conversationsSeedData } from "./seed/index";
|
|
625
|
-
export { sublistingCategoriesSeedData } from "./seed/index";
|
|
626
620
|
export { groupedListingsSeedData } from "./seed/index";
|
|
627
|
-
export { bundlesSeedData } from "./seed/index";
|
|
628
621
|
export type { CouponDiscountType } from "./seed/index";
|
|
629
622
|
export type { FirestoreIndexConfig } from "./seed/index";
|
|
630
623
|
export type { HomepageSectionType } from "./seed/index";
|
|
@@ -1476,7 +1469,6 @@ export { blogSlugGET } from "./features/blog/server";
|
|
|
1476
1469
|
export { createBlogPost } from "./features/blog/server";
|
|
1477
1470
|
export { createBlogPostSchema } from "./features/blog/server";
|
|
1478
1471
|
export { deleteBlogPost } from "./features/blog/server";
|
|
1479
|
-
export { getBrandBySlug } from "./features/brands/server";
|
|
1480
1472
|
export { getBlogPostById } from "./features/blog/server";
|
|
1481
1473
|
export { getBlogPostBySlug } from "./features/blog/server";
|
|
1482
1474
|
export { getFeaturedBlogPosts } from "./features/blog/server";
|
|
@@ -2285,6 +2277,16 @@ export { PRODUCT_UPDATABLE_FIELDS } from "./features/products/index";
|
|
|
2285
2277
|
export { PlaceBidForm } from "./features/products/index";
|
|
2286
2278
|
export { PreOrderDetailView } from "./features/products/index";
|
|
2287
2279
|
export { PreOrdersView } from "./features/products/index";
|
|
2280
|
+
export { PrizeDrawsListingView } from "./features/products/index";
|
|
2281
|
+
export type { PrizeDrawsListingViewProps } from "./features/products/index";
|
|
2282
|
+
export { PrizeDrawsIndexListing } from "./features/products/index";
|
|
2283
|
+
export type { PrizeDrawsIndexListingProps } from "./features/products/index";
|
|
2284
|
+
export { MarketplacePrizeDrawCard } from "./features/products/index";
|
|
2285
|
+
export type { MarketplacePrizeDrawCardProps, MarketplacePrizeDrawCardData, MarketplacePrizeDrawCardLabels, } from "./features/products/index";
|
|
2286
|
+
export { PrizeDrawDetailPageView } from "./features/products/index";
|
|
2287
|
+
export type { PrizeDrawDetailPageViewProps } from "./features/products/index";
|
|
2288
|
+
export { PrizeDrawEntryActions } from "./features/products/index";
|
|
2289
|
+
export type { PrizeDrawEntryActionsProps } from "./features/products/index";
|
|
2288
2290
|
export { ProductCard } from "./features/products/index";
|
|
2289
2291
|
export { ProductDetailView } from "./features/products/index";
|
|
2290
2292
|
export { ProductDetailPageView } from "./features/products/components/ProductDetailPageView";
|
|
@@ -2750,6 +2752,10 @@ export { StoreProductsPageView } from "./features/stores/components/StoreProduct
|
|
|
2750
2752
|
export { StoreAuctionsPageView } from "./features/stores/components/StoreAuctionsPageView";
|
|
2751
2753
|
export { StoreReviewsPageView } from "./features/stores/components/StoreReviewsPageView";
|
|
2752
2754
|
export { StorePreOrdersPageView } from "./features/stores/components/StorePreOrdersPageView";
|
|
2755
|
+
export { StorePrizeDrawsPageView } from "./features/stores/components/StorePrizeDrawsPageView";
|
|
2756
|
+
export type { StorePrizeDrawsPageViewProps } from "./features/stores/components/StorePrizeDrawsPageView";
|
|
2757
|
+
export { StoreBundlesPageView } from "./features/stores/components/StoreBundlesPageView";
|
|
2758
|
+
export type { StoreBundlesPageViewProps } from "./features/stores/components/StoreBundlesPageView";
|
|
2753
2759
|
export { StorePreOrdersListing } from "./features/stores/components/StorePreOrdersListing";
|
|
2754
2760
|
export type { StorePreOrdersListingProps } from "./features/stores/components/StorePreOrdersListing";
|
|
2755
2761
|
export { buildStoreColumns } from "./features/stores/index";
|
|
@@ -2938,8 +2944,6 @@ export { conversationsRepository, ConversationsRepository, ConversationFullError
|
|
|
2938
2944
|
export type { SendMessageInput } from "./features/messages/server";
|
|
2939
2945
|
export { conversationPingPath, userConversationsPingPath, buildConversationPingPaths, } from "./features/messages/realtime";
|
|
2940
2946
|
export type { ConversationPingTargets } from "./features/messages/realtime";
|
|
2941
|
-
export { SUBLISTING_CATEGORIES_COLLECTION } from "./features/products/schemas/sublisting-categories";
|
|
2942
|
-
export type { SublistingCategoryDocument } from "./features/products/schemas/sublisting-categories";
|
|
2943
2947
|
export { PRODUCT_FEATURES_COLLECTION, PRODUCT_FEATURE_PREFIX, MAX_STORE_CUSTOM_FEATURES, MAX_FEATURES_PER_PRODUCT, PRODUCT_FEATURE_SIEVE_FIELDS, isFeatureIconPath, } from "./features/products/schemas/product-features";
|
|
2944
2948
|
export type { ProductFeatureDocument, ProductFeatureCreateInput, ProductFeatureUpdateInput, ProductFeatureScope, ProductFeatureCategory, ProductFeatureProductType, ProductFeatureIcon, } from "./features/products/schemas/product-features";
|
|
2945
2949
|
export { productFeatureAdminCreateSchema, productFeatureStoreCreateSchema, productFeatureUpdateSchema, PRODUCT_FEATURE_PRODUCT_TYPE_ENUM, PRODUCT_FEATURE_CATEGORY_ENUM, PRODUCT_FEATURE_SCOPE_ENUM, } from "./features/products/schemas/product-features.validators";
|
|
@@ -2948,13 +2952,11 @@ export { LISTING_PARAM_NAMES, parseListingParams, parseListingSearchParams, seri
|
|
|
2948
2952
|
export type { ListingParams } from "./utils/listing-params";
|
|
2949
2953
|
export { PRODUCT_FEATURE_CATEGORY_OPTIONS, PRODUCT_FEATURE_PRODUCT_TYPE_OPTIONS, PRODUCT_FEATURE_SCOPE_OPTIONS, PRODUCT_FEATURE_ICON_COLOR_OPTIONS, PRODUCT_FEATURE_SCOPE_TABS, PRODUCT_FEATURE_DEFAULT_DISPLAY_ORDER, PRODUCT_FEATURE_CARD_MAX_VISIBLE, PRODUCT_FEATURE_QUERY_STALE_MS, } from "./features/products/constants/product-features.constants";
|
|
2950
2954
|
export { GROUPED_LISTINGS_COLLECTION } from "./features/grouped/schemas/firestore";
|
|
2951
|
-
export {
|
|
2952
|
-
export type {
|
|
2953
|
-
export {
|
|
2954
|
-
export
|
|
2955
|
-
export {
|
|
2956
|
-
export type { BundleSort } from "./features/bundles/constants";
|
|
2957
|
-
export type { GroupedListingDocument } from "./features/grouped/schemas/firestore";
|
|
2955
|
+
export { CategoryBundlesListing } from "./features/categories/components/CategoryBundlesListing";
|
|
2956
|
+
export type { CategoryBundlesListingProps } from "./features/categories/components/CategoryBundlesListing";
|
|
2957
|
+
export type { BundleQueryRule } from "./features/categories/schemas/firestore";
|
|
2958
|
+
export { BUNDLE_MIN_ITEMS, BUNDLE_MAX_ITEMS, BUNDLE_MAX_PER_USER_DEFAULT, BUNDLES_PAGE_SIZE, BUNDLES_FEATURED_LIMIT, } from "./_internal/shared/features/categories/bundle-config";
|
|
2959
|
+
export type { GroupedListingDocument, GroupTheme, GroupVisibility } from "./features/grouped/schemas/firestore";
|
|
2958
2960
|
export { scammersSeedData } from "./seed/index";
|
|
2959
2961
|
export { productFeaturesSeedData } from "./seed/index";
|
|
2960
2962
|
export { SCAMMER_COLLECTION, SCAMMER_ID_PREFIX, SCAMMER_MATCH_FIELDS, SCAMMER_INDEXED_FIELDS, SCAMMER_FIELDS, SCAMMER_INCIDENTS_SUBCOLLECTION, SCAMMER_COMMENTS_SUBCOLLECTION, SCAMMER_CONTESTS_SUBCOLLECTION, MAX_COMMENT_BODY_LENGTH, MAX_PENDING_SCAMMER_REPORTS_PER_USER, ScammerStatusValues, ScamPlatformValues, SocialPlatformValues, ContestTypeValues, ContestStatusValues, SCAM_PLATFORM_LABELS, SOCIAL_PLATFORM_LABELS, SCAMMER_STATUS_LABELS, CONTEST_TYPE_LABELS, CONTEST_STATUS_LABELS, DEFAULT_SCAMMER_DATA, DEFAULT_SCAMMER_INCIDENT_DATA, DEFAULT_SCAMMER_COMMENT_DATA, DEFAULT_SCAMMER_CONTEST_DATA, } from "./features/scams/schemas/firestore";
|
|
@@ -2998,3 +3000,9 @@ export { renderSublistingCategoryOgImage } from "./_internal/server/features/sub
|
|
|
2998
3000
|
export type { SublistingCategoryOgData } from "./_internal/server/features/sublisting-categories/og";
|
|
2999
3001
|
export { renderPrivateProfileOgImage, renderUserProfileOgImage } from "./_internal/server/features/profile/og";
|
|
3000
3002
|
export type { UserProfileOgData } from "./_internal/server/features/profile/og";
|
|
3003
|
+
export { LISTING_TYPE_CAPABILITIES, capabilityFor, canAddToCart, canBid, supportsShipping, requiresVendorVerified, requiresJurisdictionCheck, hasInstantFulfillment, assertNever, } from "./_internal/shared/listing-types/capabilities";
|
|
3004
|
+
export type { ListingTypeCapability } from "./_internal/shared/listing-types/capabilities";
|
|
3005
|
+
export { LISTING_TYPE_REGISTRY, pluginFor } from "./_internal/shared/listing-types/_registry";
|
|
3006
|
+
export type { ListingTypePlugin } from "./_internal/shared/listing-types/_registry";
|
|
3007
|
+
export { MEGABYTE, MAX_IMAGE_BYTES, MAX_PDF_BYTES, MAX_VIDEO_BYTES, MAX_LABEL, MAX_BYTES, ALLOWED_IMAGE_MIMES, ALLOWED_VIDEO_MIMES, ALLOWED_DOC_MIMES, ALLOWED_MIMES, ALLOWED_TYPES_LABEL, MIME_TO_EXT, PDF_MAGIC, VIDEO_CONVERSION_HINTS, classifyMime, isAllowedMime, maxBytesFor, getConversionHint, } from "./_internal/shared/media/limits";
|
|
3008
|
+
export type { MediaKind, AllowedImageMime, AllowedVideoMime, AllowedDocMime, AllowedMime, } from "./_internal/shared/media/limits";
|