@mohasinac/appkit 4.11.3 → 4.12.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/server/features/auctions/service.d.ts +7 -1
- package/dist/_internal/server/features/auctions/service.js +13 -5
- package/dist/_internal/server/features/checkout/actions.d.ts +36 -18
- package/dist/_internal/server/features/checkout/actions.js +127 -45
- package/dist/_internal/server/features/orders/actions.js +5 -3
- package/dist/_internal/server/features/orders/adapters.js +13 -0
- package/dist/_internal/server/features/products/list-public.d.ts +28 -0
- package/dist/_internal/server/features/products/list-public.js +92 -0
- package/dist/_internal/server/functions/firestore.d.ts +1 -2
- package/dist/_internal/server/functions/firestore.js +1 -9
- package/dist/_internal/server/jobs/core/auctionSettlement.js +5 -2
- package/dist/_internal/server/jobs/core/index.d.ts +0 -1
- package/dist/_internal/server/jobs/core/index.js +0 -1
- package/dist/_internal/server/jobs/core/offerExpiry.js +33 -1
- package/dist/_internal/server/jobs/handlers/index.d.ts +1 -2
- package/dist/_internal/server/jobs/handlers/index.js +1 -2
- package/dist/_internal/shared/checkout/lanes.d.ts +20 -0
- package/dist/_internal/shared/checkout/lanes.js +28 -0
- package/dist/_internal/shared/features/auctions/config.d.ts +34 -0
- package/dist/_internal/shared/features/auctions/config.js +47 -3
- package/dist/_internal/shared/features/checkout/config.d.ts +4 -0
- package/dist/_internal/shared/features/checkout/config.js +8 -0
- package/dist/_internal/shared/fees/calculator.d.ts +34 -2
- package/dist/_internal/shared/fees/calculator.js +45 -1
- package/dist/_internal/shared/listing-types/auction/config.js +1 -1
- package/dist/_internal/shared/listing-types/digital-code/config.js +1 -1
- package/dist/_internal/shared/listing-types/live/config.js +1 -1
- package/dist/_internal/shared/listing-types/pre-order/config.js +1 -1
- package/dist/client.d.ts +7 -1
- package/dist/client.js +4 -1
- package/dist/constants/api-endpoints.d.ts +6 -0
- package/dist/constants/api-endpoints.js +2 -0
- package/dist/features/account/components/NotificationBell.js +1 -1
- package/dist/features/admin/components/AdminAddressesView.js +18 -10
- package/dist/features/admin/components/AdminArtView.d.ts +9 -0
- package/dist/features/admin/components/AdminArtView.js +11 -35
- package/dist/features/admin/components/AdminClassifiedView.d.ts +9 -0
- package/dist/features/admin/components/AdminClassifiedView.js +11 -35
- package/dist/features/admin/components/AdminDigitalCodesView.d.ts +9 -0
- package/dist/features/admin/components/AdminDigitalCodesView.js +11 -42
- package/dist/features/admin/components/AdminLiveView.d.ts +9 -0
- package/dist/features/admin/components/AdminLiveView.js +11 -41
- package/dist/features/admin/components/AdminNotificationsView.js +4 -1
- package/dist/features/admin/components/AdminOrderEditorView.d.ts +14 -1
- package/dist/features/admin/components/AdminOrderEditorView.js +18 -5
- package/dist/features/admin/components/AdminOrdersView.js +15 -1
- package/dist/features/admin/components/AdminPaymentMethodsView.js +15 -10
- package/dist/features/admin/components/AdminSiteConfigGuideView.js +1 -1
- package/dist/features/admin/components/AdminSiteSettingsView.js +4 -2
- package/dist/features/admin/components/AdminStickersView.d.ts +9 -0
- package/dist/features/admin/components/AdminStickersView.js +11 -35
- package/dist/features/admin/hooks/useAdminListing.js +7 -2
- package/dist/features/admin/schemas/firestore.d.ts +5 -0
- package/dist/features/admin/schemas/firestore.js +1 -0
- package/dist/features/auctions/actions/bid-actions.js +73 -11
- package/dist/features/auctions/components/AuctionDetailPageView.js +8 -2
- package/dist/features/auctions/components/MarketplaceAuctionCard.js +3 -3
- package/dist/features/auctions/components/PlaceBidFormClient.js +89 -14
- package/dist/features/auctions/schemas/bid-input.d.ts +19 -6
- package/dist/features/auctions/schemas/bid-input.js +19 -7
- package/dist/features/auth/repository/user.repository.js +6 -0
- package/dist/features/cart/components/CartDrawer.d.ts +9 -1
- package/dist/features/cart/components/CartDrawer.js +4 -3
- package/dist/features/cart/components/CartPriceBreakdown.d.ts +61 -0
- package/dist/features/cart/components/CartPriceBreakdown.js +25 -0
- package/dist/features/cart/components/StoreAddonsPicker.d.ts +47 -0
- package/dist/features/cart/components/StoreAddonsPicker.js +21 -0
- package/dist/features/cart/components/index.d.ts +4 -0
- package/dist/features/cart/components/index.js +2 -0
- package/dist/features/cart/repository/cart.repository.d.ts +20 -2
- package/dist/features/cart/repository/cart.repository.js +49 -0
- package/dist/features/cart/schemas/firestore.d.ts +26 -0
- package/dist/features/faq/components/FAQHelpfulButtons.js +2 -2
- package/dist/features/filters/FilterFacetSection.js +1 -1
- package/dist/features/homepage/components/WhatsAppCommunitySection.js +1 -1
- package/dist/features/layout/BackToTop.js +1 -1
- package/dist/features/layout/BottomActions.js +38 -5
- package/dist/features/layout/BottomActionsContext.d.ts +12 -0
- package/dist/features/layout/BottomActionsContext.js +5 -0
- package/dist/features/layout/FooterLayout.js +2 -2
- package/dist/features/layout/TitleBarLayout.js +1 -1
- package/dist/features/layout/hooks/useBottomActions.d.ts +6 -0
- package/dist/features/layout/hooks/useBottomActions.js +11 -1
- package/dist/features/orders/components/OrderAddonBadges.d.ts +36 -0
- package/dist/features/orders/components/OrderAddonBadges.js +28 -0
- package/dist/features/orders/components/index.d.ts +1 -0
- package/dist/features/orders/components/index.js +1 -0
- package/dist/features/orders/repository/orders.repository.d.ts +32 -0
- package/dist/features/orders/repository/orders.repository.js +14 -0
- package/dist/features/orders/types/index.d.ts +22 -0
- package/dist/features/pre-orders/components/MarketplacePreorderCard.js +3 -3
- package/dist/features/products/components/ArtStickersListView.js +5 -4
- package/dist/features/products/components/MarketplaceBundleCard.js +2 -2
- package/dist/features/products/components/MarketplacePrizeDrawCard.js +2 -2
- package/dist/features/products/components/PrizeDrawCollage.js +1 -1
- package/dist/features/products/components/PrizeDrawItemsEditor.js +1 -1
- package/dist/features/products/components/PrizeDrawsListingView.js +18 -33
- package/dist/features/products/components/ProductDetailPageView.js +1 -1
- package/dist/features/products/components/ProductGrid.js +3 -3
- package/dist/features/products/components/ProductsIndexListing.js +87 -11
- package/dist/features/products/components/ProductsIndexPageView.js +14 -2
- package/dist/features/products/config/listing-type-listing-config.d.ts +31 -0
- package/dist/features/products/config/listing-type-listing-config.js +74 -0
- package/dist/features/products/hooks/useProducts.js +14 -0
- package/dist/features/products/repository/products.repository.d.ts +0 -4
- package/dist/features/products/repository/products.repository.js +0 -15
- package/dist/features/products/types/index.d.ts +15 -0
- package/dist/features/promotions/repository/coupons.repository.d.ts +12 -0
- package/dist/features/promotions/repository/coupons.repository.js +12 -0
- package/dist/features/seller/components/SellerOrdersView.js +2 -1
- package/dist/features/seller/components/SellerSidebar.js +1 -1
- package/dist/features/stores/components/StoreArtStickersPageView.d.ts +21 -0
- package/dist/features/stores/components/StoreArtStickersPageView.js +30 -0
- package/dist/features/stores/components/StoreAuctionsPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreAuctionsPageView.js +17 -17
- package/dist/features/stores/components/StoreClassifiedsListing.js +7 -0
- package/dist/features/stores/components/StoreClassifiedsPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreClassifiedsPageView.js +16 -12
- package/dist/features/stores/components/StoreDetailLayoutView.js +4 -3
- package/dist/features/stores/components/StoreDigitalCodesListing.js +5 -0
- package/dist/features/stores/components/StoreDigitalCodesPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreDigitalCodesPageView.js +16 -12
- package/dist/features/stores/components/StoreLiveItemsListing.js +7 -0
- package/dist/features/stores/components/StoreLiveItemsPageView.d.ts +4 -1
- package/dist/features/stores/components/StoreLiveItemsPageView.js +16 -12
- package/dist/features/stores/components/StorePreOrdersPageView.d.ts +4 -1
- package/dist/features/stores/components/StorePreOrdersPageView.js +17 -17
- package/dist/features/stores/components/StorePrizeDrawsPageView.d.ts +4 -8
- package/dist/features/stores/components/StorePrizeDrawsPageView.js +17 -22
- package/dist/features/stores/components/StoreProductsListing.d.ts +7 -1
- package/dist/features/stores/components/StoreProductsListing.js +3 -2
- package/dist/features/stores/components/StoreProductsPageView.d.ts +1 -1
- package/dist/features/stores/components/StoreProductsPageView.js +16 -21
- package/dist/features/tester/seed-data/tester-checklist-seed-data.js +875 -0
- package/dist/features/whatsapp-bot/components/WhatsAppChatButton.js +1 -1
- package/dist/jobs.d.ts +1 -1
- package/dist/jobs.js +1 -1
- package/dist/next/routing/route-map.d.ts +2 -0
- package/dist/next/routing/route-map.js +5 -0
- package/dist/seed/homepage-sections-seed-data.js +5 -1
- package/dist/seed/reviews-seed-data.js +52 -0
- package/dist/seed/site-settings-seed-data.js +18 -0
- package/dist/server-entry.d.ts +1 -0
- package/dist/server-entry.js +1 -0
- package/dist/styles.css +66 -1
- package/dist/tailwind-utilities.css +1 -1
- package/dist/tokens/color-pairs.js +1 -0
- package/dist/tokens/tokens.css +33 -0
- package/dist/ui/components/Button.style.css +21 -0
- package/dist/ui/components/Checkbox.d.ts +10 -1
- package/dist/ui/components/Checkbox.js +14 -2
- package/dist/ui/components/Checkbox.style.css +11 -0
- package/dist/ui/components/ImageLightbox.js +7 -4
- package/dist/ui/components/surface-tokens.d.ts +7 -0
- package/dist/ui/components/surface-tokens.js +7 -0
- package/package.json +1 -1
- package/dist/_internal/server/jobs/core/onBidPlaced.d.ts +0 -15
- package/dist/_internal/server/jobs/core/onBidPlaced.js +0 -63
- package/dist/_internal/server/jobs/handlers/onBidPlaced.d.ts +0 -3
- package/dist/_internal/server/jobs/handlers/onBidPlaced.js +0 -9
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import Link from "next/link";
|
|
3
|
-
const CLS_WA_BTN = "inline-flex items-center gap-[var(--appkit-space-2)] rounded-lg bg-success-
|
|
3
|
+
const CLS_WA_BTN = "inline-flex items-center gap-[var(--appkit-space-2)] rounded-lg bg-success-solid px-[var(--appkit-space-4)] py-[var(--appkit-space-2)] text-[length:var(--appkit-text-sm)] font-semibold text-success-on-solid transition-colors hover:brightness-110";
|
|
4
4
|
export function WhatsAppChatButton({ waNumber, message = "Hi! I have a question.", label = "Chat on WhatsApp", className, }) {
|
|
5
5
|
const href = `https://wa.me/${waNumber}?text=${encodeURIComponent(message)}`;
|
|
6
6
|
return (_jsxs(Link, { href: href, target: "_blank", rel: "noopener noreferrer", className: `${CLS_WA_BTN} ${className ?? ""}`, children: [_jsx("svg", { className: "h-4 w-4", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", children: _jsx("path", { d: "M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z" }) }), label] }));
|
package/dist/jobs.d.ts
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* listingProcessorHandler,
|
|
21
21
|
* } from "@mohasinac/appkit/jobs";
|
|
22
22
|
*/
|
|
23
|
-
export { couponExpiryHandler, offerExpiryHandler, cartPruneHandler, notificationPruneHandler, dailyDataCleanupHandler, cleanupRtdbEventsHandler, auctionSettlementHandler, autoPayoutEligibilityHandler, countersReconcileHandler, onOrderCreateHandler, onOrderStatusChangeHandler,
|
|
23
|
+
export { couponExpiryHandler, offerExpiryHandler, cartPruneHandler, notificationPruneHandler, dailyDataCleanupHandler, cleanupRtdbEventsHandler, auctionSettlementHandler, autoPayoutEligibilityHandler, countersReconcileHandler, onOrderCreateHandler, onOrderStatusChangeHandler, onReviewWriteHandler, promotionsHandler, mediaTmpCleanupHandler, pendingOrderTimeoutHandler, productStatsSyncHandler, positionsReconcileHandler, payoutBatchHandler, weeklyPayoutEligibilityHandler, onCategoryWriteHandler, onProductWriteHandler, onStoreWriteHandler, adminAnalyticsHandler, storeAnalyticsHandler, listingProcessorHandler, supportedListingCollections, onPrizeDrawPaymentConfirmedHandler, prizeDrawSoldOutRevealHandler, prizeDrawExpiryRevealHandler, bundleStockSyncHandler, onProductStockChangeHandler, triggerEventRaffleHandler, assignSpinPrizeHandler, draftPruneHandler, onSupportTicketCreateHandler, onSupportTicketUpdateHandler, onUserBanChangeHandler, onScamReportCreateHandler, onScamReportUpdateHandler, bindSchedule, bindDocumentWritten, bindDocumentCreated, bindDocumentUpdated, bindCallable, bindHttps, bindToFirebase, } from "./_internal/server/jobs/index.js";
|
|
24
24
|
export { defineFunction, mergeFunctionRegistries, bindAllFromRegistry, APPKIT_FUNCTIONS, APPKIT_FUNCTIONS_BY_NAME, } from "./_internal/server/functions/index.js";
|
|
25
25
|
export { orderRepository, siteSettingsRepository } from "./repositories/index.js";
|
|
26
26
|
export type { OrderDocument, OrderDocumentItem } from "./features/orders/index.js";
|
package/dist/jobs.js
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
*/
|
|
23
23
|
export {
|
|
24
24
|
// S4–S5: Job handlers (pure, framework-agnostic)
|
|
25
|
-
couponExpiryHandler, offerExpiryHandler, cartPruneHandler, notificationPruneHandler, dailyDataCleanupHandler, cleanupRtdbEventsHandler, auctionSettlementHandler, autoPayoutEligibilityHandler, countersReconcileHandler, onOrderCreateHandler, onOrderStatusChangeHandler,
|
|
25
|
+
couponExpiryHandler, offerExpiryHandler, cartPruneHandler, notificationPruneHandler, dailyDataCleanupHandler, cleanupRtdbEventsHandler, auctionSettlementHandler, autoPayoutEligibilityHandler, countersReconcileHandler, onOrderCreateHandler, onOrderStatusChangeHandler, onReviewWriteHandler, promotionsHandler, mediaTmpCleanupHandler, pendingOrderTimeoutHandler, productStatsSyncHandler, positionsReconcileHandler, payoutBatchHandler, weeklyPayoutEligibilityHandler, onCategoryWriteHandler, onProductWriteHandler, onStoreWriteHandler, adminAnalyticsHandler, storeAnalyticsHandler, listingProcessorHandler, supportedListingCollections,
|
|
26
26
|
// SB1-L (S7-PrizeDraws) — prize-draw reveal redesigned to a fully-automatic model.
|
|
27
27
|
onPrizeDrawPaymentConfirmedHandler, prizeDrawSoldOutRevealHandler, prizeDrawExpiryRevealHandler, bundleStockSyncHandler,
|
|
28
28
|
// SB-UNI-V — Firestore onWrite trigger for product stock changes.
|
|
@@ -44,6 +44,7 @@ export declare const DEFAULT_ROUTE_MAP: {
|
|
|
44
44
|
readonly STORE_CLASSIFIEDS: (storeSlug: string) => string;
|
|
45
45
|
readonly STORE_DIGITAL_CODES: (storeSlug: string) => string;
|
|
46
46
|
readonly STORE_LIVE: (storeSlug: string) => string;
|
|
47
|
+
readonly STORE_ART: (storeSlug: string) => string;
|
|
47
48
|
readonly CATEGORIES: "/categories";
|
|
48
49
|
readonly CATEGORY_DETAIL: (slug: string) => string;
|
|
49
50
|
readonly BRANDS: "/brands";
|
|
@@ -415,6 +416,7 @@ export declare const ROUTES: {
|
|
|
415
416
|
readonly STORE_CLASSIFIEDS: (storeSlug: string) => string;
|
|
416
417
|
readonly STORE_DIGITAL_CODES: (storeSlug: string) => string;
|
|
417
418
|
readonly STORE_LIVE: (storeSlug: string) => string;
|
|
419
|
+
readonly STORE_ART: (storeSlug: string) => string;
|
|
418
420
|
readonly CATEGORIES: "/categories";
|
|
419
421
|
readonly CATEGORY_DETAIL: (slug: string) => string;
|
|
420
422
|
readonly BRANDS: "/brands";
|
|
@@ -33,6 +33,11 @@ export const DEFAULT_ROUTE_MAP = {
|
|
|
33
33
|
STORE_CLASSIFIEDS: (storeSlug) => `/stores/${storeSlug}/classified`,
|
|
34
34
|
STORE_DIGITAL_CODES: (storeSlug) => `/stores/${storeSlug}/digital-codes`,
|
|
35
35
|
STORE_LIVE: (storeSlug) => `/stores/${storeSlug}/live`,
|
|
36
|
+
// Combined art + stickers, mirroring the public /art page. The store's
|
|
37
|
+
// "Art & Stickers" tab used to point at STORE_PRODUCTS, which filters to
|
|
38
|
+
// `standard` — so the tab showed a real non-zero count and then landed on
|
|
39
|
+
// a page containing none of those items.
|
|
40
|
+
STORE_ART: (storeSlug) => `/stores/${storeSlug}/art`,
|
|
36
41
|
CATEGORIES: "/categories",
|
|
37
42
|
CATEGORY_DETAIL: (slug) => `/categories/${slug}`,
|
|
38
43
|
BRANDS: "/brands",
|
|
@@ -279,7 +279,11 @@ export const homepageSectionsSeedData = [
|
|
|
279
279
|
config: {
|
|
280
280
|
title: "Join the LetItRip Collectors Community",
|
|
281
281
|
description: "Connect with Indian collectors on WhatsApp. Share pulls, get authentication help, and be first to know about new drops.",
|
|
282
|
-
|
|
282
|
+
// Real invite. The previous value ("…/letitrip-collectors") was not a valid
|
|
283
|
+
// WhatsApp invite code, so the homepage CTA opened a dead link. Stored
|
|
284
|
+
// canonical — the ?s=/&p=/&mlu= params on a shared link are share-sheet
|
|
285
|
+
// attribution from the copying device, not part of the invite.
|
|
286
|
+
groupLink: "https://chat.whatsapp.com/JOlbdSwhVWYDKujolcBZDr",
|
|
283
287
|
memberCount: 1200,
|
|
284
288
|
benefits: [
|
|
285
289
|
"First look at rare listings before they go live",
|
|
@@ -119,4 +119,56 @@ for (let i = 0; i < 65; i++) {
|
|
|
119
119
|
updatedAt: daysAgo(daysAgoCreated - 1),
|
|
120
120
|
});
|
|
121
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* A deliberately deep review list on ONE product, so the paginated reviews tab is
|
|
124
|
+
* actually exercisable.
|
|
125
|
+
*
|
|
126
|
+
* The round-robin above spreads 65 reviews across 14 products — 4-5 each, which is
|
|
127
|
+
* below the 10-per-page detail-page size, so pagination could never appear on a product
|
|
128
|
+
* page and the tester checklist cases for it would be untestable. This block pushes
|
|
129
|
+
* "Beyblade Original Dranzer S" to 5 + 14 = 19 approved reviews (2 pages), and spreads
|
|
130
|
+
* ratings across all five stars so the rating filter and the average/distribution
|
|
131
|
+
* summary have something real to act on.
|
|
132
|
+
*
|
|
133
|
+
* Ids and every field are derived from the loop index — no Math.random(), no Date.now()
|
|
134
|
+
* in an id — so `appkit-seed load` stays idempotent (Recurrent Root Cause #25).
|
|
135
|
+
*/
|
|
136
|
+
const DEEP_REVIEW_PRODUCT = {
|
|
137
|
+
id: "product-beyblade-original-dranzer-s",
|
|
138
|
+
title: "Beyblade Original Dranzer S",
|
|
139
|
+
store: "store-beyblade-arena",
|
|
140
|
+
};
|
|
141
|
+
for (let i = 0; i < 14; i++) {
|
|
142
|
+
const template = reviewTemplates[i % reviewTemplates.length];
|
|
143
|
+
const buyer = buyers[i % buyers.length];
|
|
144
|
+
// 1..5, cycling — guarantees every star bucket is populated for the rating filter.
|
|
145
|
+
const rating = (i % 5) + 1;
|
|
146
|
+
// Distinct from the main loop's 90-i range so the two sets interleave predictably
|
|
147
|
+
// and "newest first" is verifiable by eye.
|
|
148
|
+
const daysAgoCreated = 28 - i;
|
|
149
|
+
const hasImage = i % 4 === 0;
|
|
150
|
+
_rawReviewsSeedData.push({
|
|
151
|
+
id: `review-dranzer-deep-${i + 1}`,
|
|
152
|
+
productId: DEEP_REVIEW_PRODUCT.id,
|
|
153
|
+
productTitle: DEEP_REVIEW_PRODUCT.title,
|
|
154
|
+
storeId: DEEP_REVIEW_PRODUCT.store,
|
|
155
|
+
userId: buyer.id,
|
|
156
|
+
userName: buyer.name,
|
|
157
|
+
rating,
|
|
158
|
+
title: `${template.title} (${rating}★)`,
|
|
159
|
+
comment: template.comment,
|
|
160
|
+
images: hasImage
|
|
161
|
+
? [
|
|
162
|
+
seedExtMedia(`https://picsum.photos/seed/review-image-dranzer-deep-${i + 1}/800/800`),
|
|
163
|
+
]
|
|
164
|
+
: [],
|
|
165
|
+
hasImages: hasImage,
|
|
166
|
+
verified: i % 3 !== 2,
|
|
167
|
+
status: "approved",
|
|
168
|
+
helpfulCount: (i * 3) % 17,
|
|
169
|
+
reportCount: 0,
|
|
170
|
+
createdAt: daysAgo(daysAgoCreated),
|
|
171
|
+
updatedAt: daysAgo(daysAgoCreated),
|
|
172
|
+
});
|
|
173
|
+
}
|
|
122
174
|
export const reviewsSeedData = _rawReviewsSeedData;
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { seedExtMedia } from "./_helpers/media";
|
|
16
16
|
import { ROUTES } from "../next/routing/route-map";
|
|
17
|
+
import { DEFAULT_AUCTION_BID_INCREMENT_TIERS } from "../_internal/shared/features/auctions/config";
|
|
17
18
|
const NOW = new Date();
|
|
18
19
|
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
19
20
|
const adPlacementsSeed = [
|
|
@@ -440,6 +441,23 @@ export const siteSettingsSeedData = {
|
|
|
440
441
|
},
|
|
441
442
|
],
|
|
442
443
|
},
|
|
444
|
+
// This block was missing entirely until 2026-08-21, and it is the data-layer
|
|
445
|
+
// half of the "+₹1 / +₹5 / +₹10 quick-bid buttons" bug. `DEFAULT_SITE_SETTINGS_DATA`
|
|
446
|
+
// (features/admin/schemas/firestore.ts) has always carried an `auctionConfig`,
|
|
447
|
+
// but that object is not what writes Firestore — this seed file is, and it
|
|
448
|
+
// declared no `auctionConfig` at all. The seed CLI runs the payload through
|
|
449
|
+
// `stripUndefined()` and writes with `{ merge: true }`, so an absent key is
|
|
450
|
+
// simply skipped: no `appkit-seed load`, however many times it ran, could ever
|
|
451
|
+
// create `auctionConfig.bidIncrementTiers`. Every caller then read
|
|
452
|
+
// `settings.auctionConfig?.bidIncrementTiers ?? []` and resolved the ₹1
|
|
453
|
+
// last-resort increment. Sourced from the shared constant so the seed, the
|
|
454
|
+
// schema default and the admin editor's initial state cannot drift apart —
|
|
455
|
+
// which is exactly what that constant's docstring already claimed.
|
|
456
|
+
auctionConfig: {
|
|
457
|
+
bidIncrementTiers: DEFAULT_AUCTION_BID_INCREMENT_TIERS,
|
|
458
|
+
autoExtendWindowMinutes: 5,
|
|
459
|
+
settlementGracePeriodHours: 24,
|
|
460
|
+
},
|
|
443
461
|
commissions: {
|
|
444
462
|
platformFeePercent: 5,
|
|
445
463
|
gstPercent: 18,
|
package/dist/server-entry.d.ts
CHANGED
|
@@ -44,6 +44,7 @@ export { StoreBundlesPageView } from "./features/stores/components/StoreBundlesP
|
|
|
44
44
|
export { StoreClassifiedsPageView } from "./features/stores/components/StoreClassifiedsPageView";
|
|
45
45
|
export { StoreDigitalCodesPageView } from "./features/stores/components/StoreDigitalCodesPageView";
|
|
46
46
|
export { StoreLiveItemsPageView } from "./features/stores/components/StoreLiveItemsPageView";
|
|
47
|
+
export { StoreArtStickersPageView } from "./features/stores/components/StoreArtStickersPageView";
|
|
47
48
|
export { getProductForDetail, listSitemapProducts, type SitemapProduct, } from "./_internal/server/features/products/index";
|
|
48
49
|
export { listPublicProducts, parsePublicProductParams, PUBLIC_PRODUCT_MAX_PAGE_SIZE, type PublicProductListInput, type PublicProductListResult, type PublicProductListOptions, type PublicProductExecutor, type PublicProductQuery, } from "./_internal/server/features/products/index";
|
|
49
50
|
export { getAuctionForDetail, getProductFeaturesForAuction, } from "./_internal/server/features/auctions/index";
|
package/dist/server-entry.js
CHANGED
|
@@ -49,6 +49,7 @@ export { StoreBundlesPageView } from "./features/stores/components/StoreBundlesP
|
|
|
49
49
|
export { StoreClassifiedsPageView } from "./features/stores/components/StoreClassifiedsPageView";
|
|
50
50
|
export { StoreDigitalCodesPageView } from "./features/stores/components/StoreDigitalCodesPageView";
|
|
51
51
|
export { StoreLiveItemsPageView } from "./features/stores/components/StoreLiveItemsPageView";
|
|
52
|
+
export { StoreArtStickersPageView } from "./features/stores/components/StoreArtStickersPageView";
|
|
52
53
|
// S2: products data layer — deduped via React.cache()
|
|
53
54
|
export { getProductForDetail, listSitemapProducts, } from "./_internal/server/features/products/index";
|
|
54
55
|
export { listPublicProducts, parsePublicProductParams, PUBLIC_PRODUCT_MAX_PAGE_SIZE, } from "./_internal/server/features/products/index";
|