@mohasinac/appkit 3.2.0 → 3.2.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.
@@ -11,7 +11,11 @@ import { PRODUCT_FIELDS } from "../../../../constants/field-names";
11
11
  // ---------------------------------------------------------------------------
12
12
  /** Fetch a single product by slug or id, deduped per request. */
13
13
  export const getProductForDetail = cache(async (slugOrId) => {
14
- return (await productRepository.findByIdOrSlug(slugOrId).catch(() => undefined)) ?? null;
14
+ const product = (await productRepository.findByIdOrSlug(slugOrId).catch(() => undefined)) ?? null;
15
+ // Fire-and-forget viewCount increment — must not affect response time
16
+ if (product)
17
+ void productRepository.incrementViewCount(product.id);
18
+ return product;
15
19
  });
16
20
  /** Fetch the first page of approved reviews for a product, deduped per request. */
17
21
  export const getReviewsForProduct = cache(async (productId) => {
@@ -164,5 +164,5 @@ export function AppLayoutShell({ children, navItems, sidebarItems = [], sidebarS
164
164
  opacity: darkBackground.overlay?.opacity ?? 0,
165
165
  },
166
166
  };
167
- return (_jsx(_Fragment, { children: _jsxs(Stack, { className: "min-h-screen w-full overflow-x-clip transition-colors duration-300", children: [_jsx(BackgroundRenderer, { mode: theme === "dark" ? "dark" : "light", lightMode: normalizedLightBackground, darkMode: normalizedDarkBackground }), _jsxs(Div, { ref: headerRef, className: "sticky top-0 z-50 w-full", children: [_jsx(TitleBar, { onToggleSidebar: handleTogglePublicSidebar, sidebarOpen: sidebarOpen, onSearchToggle: () => setSearchOpen((prev) => !prev), searchOpen: searchOpen, brandName: brandName, brandShortName: brandShortName, siteLogoUrl: siteLogoUrl, logoHref: logoHref, promotionsHref: promotionsHref, cartHref: cartHref, wishlistHref: wishlistHref, userId: userId, profileHref: profileHref, loginHref: loginHref, registerHref: registerHref, user: user, navSlot: titleBarNavSlot, notificationSlot: titleBarNotificationSlot, devSlot: titleBarDevSlot, promoStripText: titleBarPromoStripText, isDark: theme === "dark", onToggleTheme: showThemeToggle ? toggleTheme : undefined, onTourStart: onTourStart, onBeforeToggleDashboardNav: handleBeforeDashboardNavToggle, suppressDashboardNav: suppressDashboardNav, hideSidebarToggle: hideSidebarToggle }), _jsx(NavbarWithSettings, { navItems: navItems, hiddenNavItems: hiddenNavItems, permissions: authUser?.permissions }), searchOpen && (searchSlotRenderer ? searchSlotRenderer(() => setSearchOpen(false)) : searchSlot)] }), eventBannerSlot, _jsx(AutoBreadcrumbs, {}), _jsxs(Div, { layout: "flex", className: "relative w-full flex-1 overflow-x-clip", children: [_jsx(SidebarLayout, { isOpen: sidebarOpen, ariaLabel: "Secondary navigation", header: user ? (_jsx(SidebarUserHeader, { user: user, onClose: () => setSidebarOpen(false) })) : (_jsx(SidebarGuestHeader, { sidebarTitle: sidebarTitle, onClose: () => setSidebarOpen(false) })), onClose: () => setSidebarOpen(false), children: sidebarContent }), _jsx(Main, { id: "main-content", className: `w-full flex-1 flex flex-col ${hasBottomActions ? "mb-28" : "mb-16"} md:mb-0`, children: _jsx(Div, { padding: "y-lg", className: `flex-1 ${contentClassName ?? "w-full px-5 md:px-6 lg:px-8"}`, children: children }) })] }), _jsx(BackToTop, {}), _jsx(FooterLayout, { ...footer }), _jsx(BottomActions, {}), _jsx(BottomNavbar, { user: user, homeHref: homeHref, shopHref: shopHref, cartHref: cartHref, profileHref: profileHref, loginHref: loginHref, onSearchToggle: () => setSearchOpen((prev) => !prev), navItems: navItems, onMoreToggle: hasDashboardNav ? toggleDashboardNav : handleTogglePublicSidebar }), _jsx(UnsavedChangesModal, {})] }) }));
167
+ return (_jsx(_Fragment, { children: _jsxs(Stack, { className: "min-h-screen w-full overflow-x-clip transition-colors duration-300", children: [_jsx(BackgroundRenderer, { mode: theme === "dark" ? "dark" : "light", lightMode: normalizedLightBackground, darkMode: normalizedDarkBackground }), _jsxs(Div, { ref: headerRef, className: "sticky top-0 z-50 w-full", children: [_jsx(TitleBar, { onToggleSidebar: handleTogglePublicSidebar, sidebarOpen: sidebarOpen, onSearchToggle: () => setSearchOpen((prev) => !prev), searchOpen: searchOpen, brandName: brandName, brandShortName: brandShortName, siteLogoUrl: siteLogoUrl, logoHref: logoHref, promotionsHref: promotionsHref, cartHref: cartHref, wishlistHref: wishlistHref, userId: userId, profileHref: profileHref, loginHref: loginHref, registerHref: registerHref, user: user, navSlot: titleBarNavSlot, notificationSlot: titleBarNotificationSlot, devSlot: titleBarDevSlot, promoStripText: titleBarPromoStripText, isDark: theme === "dark", onToggleTheme: showThemeToggle ? toggleTheme : undefined, onTourStart: onTourStart, onBeforeToggleDashboardNav: handleBeforeDashboardNavToggle, suppressDashboardNav: suppressDashboardNav, hideSidebarToggle: hideSidebarToggle }), _jsx(NavbarWithSettings, { navItems: navItems, hiddenNavItems: hiddenNavItems, permissions: authUser?.permissions }), searchOpen && (searchSlotRenderer ? searchSlotRenderer(() => setSearchOpen(false)) : searchSlot)] }), eventBannerSlot, _jsx(AutoBreadcrumbs, {}), _jsxs(Div, { layout: "flex", className: "relative w-full flex-1 overflow-x-clip", children: [_jsx(SidebarLayout, { isOpen: sidebarOpen, ariaLabel: "Secondary navigation", header: user ? (_jsx(SidebarUserHeader, { user: user, onClose: () => setSidebarOpen(false) })) : (_jsx(SidebarGuestHeader, { sidebarTitle: sidebarTitle, onClose: () => setSidebarOpen(false) })), onClose: () => setSidebarOpen(false), children: sidebarContent }), _jsx(Main, { id: "main-content", className: `w-full flex-1 flex flex-col ${hasBottomActions ? "mb-28" : "mb-16"} md:mb-0`, children: _jsx(Div, { padding: "y-lg", className: `flex-1 ${contentClassName ?? "mx-auto w-full max-w-screen-xl px-5 md:px-6 lg:px-8"}`, children: children }) })] }), _jsx(BackToTop, {}), _jsx(FooterLayout, { ...footer }), _jsx(BottomActions, {}), _jsx(BottomNavbar, { user: user, homeHref: homeHref, shopHref: shopHref, cartHref: cartHref, profileHref: profileHref, loginHref: loginHref, onSearchToggle: () => setSearchOpen((prev) => !prev), navItems: navItems, onMoreToggle: hasDashboardNav ? toggleDashboardNav : handleTogglePublicSidebar }), _jsx(UnsavedChangesModal, {})] }) }));
168
168
  }
@@ -91,10 +91,10 @@ export function ProductCard({ product, href, onClick, onAddToWishlist, isWishlis
91
91
  const MAX_CHIPS = 3;
92
92
  const visible = categories.slice(0, MAX_CHIPS);
93
93
  const overflow = Math.max(0, categories.length - MAX_CHIPS);
94
- return (_jsxs(Row, { className: "mt-1", gap: "xs", wrap: true, children: [visible.map((name) => (_jsxs(Span, { padding: "pill-2xs", layout: "inline-flex", className: "gap-[0.125rem] text-[10px] truncate max-w-[100px]", rounded: "full", surface: "subtle", color: "muted", children: [_jsx("svg", { className: "h-2.5 w-2.5 flex-shrink-0", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", "aria-hidden": "true", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M3 7a2 2 0 012-2h14a2 2 0 012 2v10a2 2 0 01-2 2H5a2 2 0 01-2-2V7z" }) }), name] }, name))), overflow > 0 && (_jsxs(Span, { padding: "pill-2xs", layout: "inline-flex", weight: "medium", className: "text-[10px]", rounded: "full", surface: "subtle", color: "muted", title: categories.slice(MAX_CHIPS).join(", "), children: ["+", overflow] })), product.brand && (_jsxs(Span, { padding: "pill-2xs", layout: "inline-flex", gap: "2xs", className: "text-[10px] truncate max-w-[90px]", rounded: "full", surface: "subtle", color: "muted", children: [_jsx("svg", { className: "h-2.5 w-2.5 flex-shrink-0", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", "aria-hidden": "true", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z" }) }), product.brand] }))] }));
94
+ return (_jsxs(Row, { className: "mt-1", gap: "xs", wrap: true, children: [visible.map((name) => (_jsxs(Span, { padding: "pill-2xs", layout: "inline-flex", className: "gap-[0.125rem] text-[10px]", rounded: "full", surface: "subtle", color: "muted", children: [_jsx("svg", { className: "h-2.5 w-2.5 flex-shrink-0", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", "aria-hidden": "true", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M3 7a2 2 0 012-2h14a2 2 0 012 2v10a2 2 0 01-2 2H5a2 2 0 01-2-2V7z" }) }), name] }, name))), overflow > 0 && (_jsxs(Span, { padding: "pill-2xs", layout: "inline-flex", weight: "medium", className: "text-[10px]", rounded: "full", surface: "subtle", color: "muted", title: categories.slice(MAX_CHIPS).join(", "), children: ["+", overflow] })), product.brand && (_jsxs(Span, { padding: "pill-2xs", layout: "inline-flex", gap: "2xs", className: "text-[10px]", rounded: "full", surface: "subtle", color: "muted", children: [_jsx("svg", { className: "h-2.5 w-2.5 flex-shrink-0", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", "aria-hidden": "true", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z" }) }), product.brand] }))] }));
95
95
  })(), (() => {
96
96
  const seller = safeDisplayName(product.storeName, "");
97
- return seller ? (_jsxs(Text, { className: "mt-0.5 text-[11px] truncate", color: "faint", children: ["by ", seller] })) : null;
97
+ return seller ? (_jsxs(Text, { className: "mt-0.5 text-[11px]", color: "faint", children: ["by ", seller] })) : null;
98
98
  })(), product.rating !== undefined && (_jsxs(Row, { className: "mt-1", gap: "xs", children: [_jsx(Span, { className: CLS_STAR, children: "\u2605" }), _jsxs(Span, { className: "text-[11px]", color: "muted", children: [product.rating.toFixed(1), product.reviewCount ? ` (${product.reviewCount})` : ""] })] })), _jsxs(Div, { className: "mt-auto", padding: "t-xs", children: [_jsxs(Row, { align: "baseline", gap: "sm", children: [_jsx(Span, { size: "base", weight: "bold", className: "text-primary dark:text-primary-400", children: formatCurrency(product.price, getDefaultCurrency()) }), product.originalPrice && product.originalPrice > product.price && (_jsx(Span, { size: "xs", className: "line-through", color: "faint", children: formatCurrency(product.originalPrice, getDefaultCurrency()) }))] }), (() => {
99
99
  const stock = product.stockCount ?? product.stockQuantity ?? product.availableQuantity;
100
100
  if (stock === undefined || isAuction)
package/dist/index.d.ts CHANGED
@@ -609,7 +609,7 @@ export { blogPostsSeedData } from "./seed/index";
609
609
  export { carouselSlidesSeedData } from "./seed/index";
610
610
  export { carouselsSeedData } from "./seed/index";
611
611
  export { cartsSeedData } from "./seed/index";
612
- export { categoriesSeedData } from "./seed/index";
612
+ export { categoriesSeedData, categoriesP1SeedData } from "./seed/index";
613
613
  export { couponsSeedData } from "./seed/index";
614
614
  export type { CouponUsageSeedRecord } from "./seed/index";
615
615
  export { couponUsageSeedData } from "./seed/index";
package/dist/index.js CHANGED
@@ -1236,7 +1236,7 @@ export { cartsSeedData } from "./seed/index";
1236
1236
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
1237
1237
  // SB-UNI-C â€" brandsSeedData merged into categoriesSeedData with categoryType:"brand".
1238
1238
  // categoriesSeedData - Model for categories seed data.
1239
- export { categoriesSeedData } from "./seed/index";
1239
+ export { categoriesSeedData, categoriesP1SeedData } from "./seed/index";
1240
1240
  // [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
1241
1241
  // couponsSeedData - Model for coupons seed data.
1242
1242
  export { couponsSeedData } from "./seed/index";
@@ -1,2 +1,3 @@
1
1
  import type { CategoryDocument } from "../features/categories/schemas";
2
2
  export declare const categoriesSeedData: Partial<CategoryDocument>[];
3
+ export declare const categoriesP1SeedData: Partial<CategoryDocument>[];
@@ -2211,3 +2211,9 @@ export const categoriesSeedData = [
2211
2211
  ...brandRows.map((b) => ({ ancestors: [], ...b, createdByType: "admin" })),
2212
2212
  ...bundleRows.map((bundle) => ({ ancestors: [], ...bundle, createdByType: "admin" })),
2213
2213
  ];
2214
+ // P-1 default seed: excludes bundle rows (FEATURE_BUNDLES is off in P-1)
2215
+ export const categoriesP1SeedData = [
2216
+ ...rawCategories.map((c) => ({ ancestors: [], ...c, createdByType: "admin" })),
2217
+ ...sublistingRows.map((s) => ({ ancestors: [], ...s, createdByType: "admin" })),
2218
+ ...brandRows.map((b) => ({ ancestors: [], ...b, createdByType: "admin" })),
2219
+ ];
@@ -44,7 +44,7 @@ export { sessionsSeedData, SESSION_COLLECTION } from "./sessions-seed-data";
44
44
  export { addressesSeedData } from "./addresses-seed-data";
45
45
  export { storesSeedData } from "./stores-seed-data";
46
46
  export { storeAddressesSeedData } from "./store-addresses-seed-data";
47
- export { categoriesSeedData } from "./categories-seed-data";
47
+ export { categoriesSeedData, categoriesP1SeedData } from "./categories-seed-data";
48
48
  export { productsStandardSeedData } from "./products-standard-seed-data";
49
49
  export { productsAuctionsSeedData } from "./products-auctions-seed-data";
50
50
  export { productsPreordersSeedData } from "./products-preorders-seed-data";
@@ -32,7 +32,7 @@ export { sessionsSeedData, SESSION_COLLECTION } from "./sessions-seed-data";
32
32
  export { addressesSeedData } from "./addresses-seed-data";
33
33
  export { storesSeedData } from "./stores-seed-data";
34
34
  export { storeAddressesSeedData } from "./store-addresses-seed-data";
35
- export { categoriesSeedData } from "./categories-seed-data";
35
+ export { categoriesSeedData, categoriesP1SeedData } from "./categories-seed-data";
36
36
  export { productsStandardSeedData } from "./products-standard-seed-data";
37
37
  export { productsAuctionsSeedData } from "./products-auctions-seed-data";
38
38
  export { productsPreordersSeedData } from "./products-preorders-seed-data";
@@ -66,7 +66,7 @@ const _rawOrdersSeedData = [
66
66
  currency: "INR",
67
67
  status: "delivered",
68
68
  paymentStatus: "paid",
69
- paymentMethod: "cod",
69
+ paymentMethod: "cash",
70
70
  paymentId: "pay-yugi-kaiba-001",
71
71
  shippingAddress: "addr-yugi-home",
72
72
  trackingNumber: "JP-0001-KAIBA-DELIVERED",
@@ -91,7 +91,7 @@ const _rawOrdersSeedData = [
91
91
  currency: "INR",
92
92
  status: "shipped",
93
93
  paymentStatus: "paid",
94
- paymentMethod: "online",
94
+ paymentMethod: "cash",
95
95
  paymentId: "pay-yugi-kaiba-002",
96
96
  shippingAddress: "addr-yugi-home",
97
97
  trackingNumber: "JP-0002-KAIBA-SHIPPED",
@@ -115,7 +115,7 @@ const _rawOrdersSeedData = [
115
115
  currency: "INR",
116
116
  status: "processing",
117
117
  paymentStatus: "paid",
118
- paymentMethod: "cod",
118
+ paymentMethod: "cash",
119
119
  paymentId: "pay-yugi-kaiba-003",
120
120
  shippingAddress: "addr-yugi-home",
121
121
  orderDate: daysAgo(35),
@@ -136,7 +136,7 @@ const _rawOrdersSeedData = [
136
136
  currency: "INR",
137
137
  status: "pending",
138
138
  paymentStatus: "pending",
139
- paymentMethod: "online",
139
+ paymentMethod: "cash",
140
140
  paymentId: "pay-yugi-kaiba-004",
141
141
  shippingAddress: "addr-yugi-home",
142
142
  orderDate: daysAgo(30),
@@ -160,7 +160,7 @@ const _rawOrdersSeedData = [
160
160
  currency: "INR",
161
161
  status: "delivered",
162
162
  paymentStatus: "paid",
163
- paymentMethod: "online",
163
+ paymentMethod: "cash",
164
164
  paymentId: "pay-yugi-admin-001",
165
165
  shippingAddress: "addr-yugi-home",
166
166
  trackingNumber: "IN-0001-ADMIN-DELIVERED",
@@ -188,7 +188,7 @@ const _rawOrdersSeedData = [
188
188
  currency: "INR",
189
189
  status: "delivered",
190
190
  paymentStatus: "paid",
191
- paymentMethod: "online",
191
+ paymentMethod: "cash",
192
192
  paymentId: "pay-admin-kaiba-001",
193
193
  shippingAddress: "addr-letitrip-hq",
194
194
  trackingNumber: "JP-0010-KAIBA-DELIVERED",
@@ -216,7 +216,7 @@ const _rawOrdersSeedData = [
216
216
  currency: "INR",
217
217
  status: "delivered",
218
218
  paymentStatus: "paid",
219
- paymentMethod: "online",
219
+ paymentMethod: "cash",
220
220
  paymentId: "pay-kaiba-admin-001",
221
221
  shippingAddress: "addr-kaiba-mansion",
222
222
  trackingNumber: "IN-0005-ADMIN-DELIVERED",
@@ -282,7 +282,7 @@ for (let i = _rawOrdersSeedData.length; i < 50; i++) {
282
282
  currency: "INR",
283
283
  status: status,
284
284
  paymentStatus: (paymentStatuses[status] ?? "pending"),
285
- paymentMethod: i % 2 === 0 ? "cod" : "online",
285
+ paymentMethod: "cash",
286
286
  shippingAddress: combo.addressId,
287
287
  orderDate: daysAgo(daysBack),
288
288
  shippingDate: status === "shipped" || status === "delivered" ? daysAgo(daysBack - 5) : undefined,
@@ -269,7 +269,7 @@ const _rawProductsStandardSeedData = [
269
269
  isSold: false,
270
270
  mainImage: seedExtMedia(`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.darkMagician}.jpg`),
271
271
  images: [seedExtMedia(`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.darkMagician}.jpg`)],
272
- status: PRODUCT_FIELDS.STATUS_VALUES.DRAFT,
272
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
273
273
  condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
274
274
  storeId: "store-letitrip-official",
275
275
  storeName: "LetItRip Official",
@@ -410,7 +410,7 @@ const _kaibaSinglesSeedData = [
410
410
  isSold: false,
411
411
  mainImage: seedExtMedia(`https://images.ygoprodeck.com/images/cards/${CARD_IDS.kuriboh}.jpg`),
412
412
  images: [seedExtMedia(`https://images.ygoprodeck.com/images/cards/${CARD_IDS.kuriboh}.jpg`)],
413
- status: PRODUCT_FIELDS.STATUS_VALUES.DRAFT,
413
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
414
414
  condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
415
415
  storeId: "store-kaiba-corp-cards",
416
416
  storeName: "Kaiba Corp Card Vault",
@@ -474,9 +474,9 @@ const _kaibaSinglesSeedData = [
474
474
  brand: "Konami",
475
475
  price: 899900,
476
476
  currency: "INR",
477
- stockQuantity: 1,
478
- availableQuantity: 0,
479
- isSold: true,
477
+ stockQuantity: 3,
478
+ availableQuantity: 3,
479
+ isSold: false,
480
480
  mainImage: seedExtMedia(`https://images.ygoprodeck.com/images/cards/${CARD_IDS.darkMagicianGirl}.jpg`),
481
481
  images: [seedExtMedia(`https://images.ygoprodeck.com/images/cards/${CARD_IDS.darkMagicianGirl}.jpg`)],
482
482
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
@@ -497,8 +497,8 @@ const _kaibaSinglesSeedData = [
497
497
  brand: "Konami",
498
498
  price: 1299900,
499
499
  currency: "INR",
500
- stockQuantity: 0,
501
- availableQuantity: 0,
500
+ stockQuantity: 5,
501
+ availableQuantity: 5,
502
502
  isSold: false,
503
503
  mainImage: seedExtMedia(`https://images.ygoprodeck.com/images/cards/${CARD_IDS.chaosEmperorDragon}.jpg`),
504
504
  images: [seedExtMedia(`https://images.ygoprodeck.com/images/cards/${CARD_IDS.chaosEmperorDragon}.jpg`)],
@@ -548,7 +548,7 @@ const _kaibaSinglesSeedData = [
548
548
  isSold: false,
549
549
  mainImage: seedExtMedia(`https://images.ygoprodeck.com/images/cards/${CARD_IDS.cyberDragon}.jpg`),
550
550
  images: [seedExtMedia(`https://images.ygoprodeck.com/images/cards/${CARD_IDS.cyberDragon}.jpg`)],
551
- status: PRODUCT_FIELDS.STATUS_VALUES.DRAFT,
551
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
552
552
  condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
553
553
  storeId: "store-kaiba-corp-cards",
554
554
  storeName: "Kaiba Corp Card Vault",
@@ -775,9 +775,9 @@ const _kaibaTrapSpellsSeedData = [
775
775
  brand: "Konami",
776
776
  price: 999900,
777
777
  currency: "INR",
778
- stockQuantity: 1,
779
- availableQuantity: 0,
780
- isSold: true,
778
+ stockQuantity: 3,
779
+ availableQuantity: 3,
780
+ isSold: false,
781
781
  mainImage: seedExtMedia(`https://images.ygoprodeck.com/images/cards/${CARD_IDS.mirrorForce}.jpg`),
782
782
  images: [seedExtMedia(`https://images.ygoprodeck.com/images/cards/${CARD_IDS.mirrorForce}.jpg`)],
783
783
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
@@ -803,7 +803,7 @@ const _kaibaTrapSpellsSeedData = [
803
803
  isSold: false,
804
804
  mainImage: seedExtMedia(`https://images.ygoprodeck.com/images/cards/${CARD_IDS.mysticalSpaceTyphoon}.jpg`),
805
805
  images: [seedExtMedia(`https://images.ygoprodeck.com/images/cards/${CARD_IDS.mysticalSpaceTyphoon}.jpg`)],
806
- status: PRODUCT_FIELDS.STATUS_VALUES.DRAFT,
806
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
807
807
  condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
808
808
  storeId: "store-kaiba-corp-cards",
809
809
  storeName: "Kaiba Corp Card Vault",
@@ -984,8 +984,8 @@ const _kaibaSealedExtraDeckSeedData = [
984
984
  brand: "Konami",
985
985
  price: 999900,
986
986
  currency: "INR",
987
- stockQuantity: 0,
988
- availableQuantity: 0,
987
+ stockQuantity: 5,
988
+ availableQuantity: 5,
989
989
  isSold: false,
990
990
  mainImage: seedExtMedia(`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.sliferTheSkyDragon}.jpg`),
991
991
  images: [seedExtMedia(`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.sliferTheSkyDragon}.jpg`)],
@@ -1196,7 +1196,7 @@ const _kaibaSealedExtraDeckSeedData = [
1196
1196
  isSold: false,
1197
1197
  mainImage: seedExtMedia(`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.darkMagician}.jpg`),
1198
1198
  images: [seedExtMedia(`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.darkMagician}.jpg`)],
1199
- status: PRODUCT_FIELDS.STATUS_VALUES.DRAFT,
1199
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
1200
1200
  condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
1201
1201
  storeId: "store-kaiba-corp-cards",
1202
1202
  storeName: "Kaiba Corp Card Vault",