@mohasinac/appkit 3.5.1 → 3.5.3
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/checkout/actions.d.ts +0 -13
- package/dist/_internal/server/features/checkout/actions.js +88 -67
- package/dist/_internal/server/jobs/core/jobRunners.d.ts +3 -2
- package/dist/_internal/server/jobs/core/onJobCreated.js +2 -2
- package/dist/features/admin/components/AdminNotificationsView.js +30 -5
- package/dist/features/admin/components/AdminUsersView.js +102 -26
- package/dist/features/homepage/components/CustomCardsSection.js +1 -1
- package/dist/features/homepage/components/SectionCarousel.js +1 -1
- package/dist/features/jobs/actions/enqueue-job.d.ts +2 -1
- package/dist/features/jobs/repository/jobs.repository.js +3 -3
- package/dist/features/jobs/schemas/firestore.d.ts +20 -2
- package/dist/features/jobs/schemas/firestore.js +12 -0
- package/dist/seed/addresses-seed-data.js +8 -99
- package/dist/seed/categories-seed-data.js +103 -2082
- package/dist/seed/homepage-sections-seed-data.js +9 -9
- package/dist/seed/products-art-seed-data.d.ts +1 -10
- package/dist/seed/products-art-seed-data.js +13 -122
- package/dist/seed/products-auctions-seed-data.js +39 -747
- package/dist/seed/products-classifieds-seed-data.d.ts +1 -9
- package/dist/seed/products-classifieds-seed-data.js +13 -195
- package/dist/seed/products-digital-codes-seed-data.d.ts +1 -9
- package/dist/seed/products-digital-codes-seed-data.js +13 -202
- package/dist/seed/products-live-items-seed-data.d.ts +1 -12
- package/dist/seed/products-live-items-seed-data.js +13 -188
- package/dist/seed/products-preorders-seed-data.js +18 -149
- package/dist/seed/products-prize-draws-seed-data.d.ts +1 -16
- package/dist/seed/products-prize-draws-seed-data.js +13 -385
- package/dist/seed/products-standard-seed-data.js +152 -1331
- package/dist/seed/products-stickers-seed-data.d.ts +1 -10
- package/dist/seed/products-stickers-seed-data.js +13 -122
- package/dist/seed/site-settings-seed-data.js +106 -108
- package/dist/seed/store-addresses-seed-data.js +14 -46
- package/dist/seed/stores-seed-data.js +13 -205
- package/dist/styles.css +19 -18
- package/dist/tailwind-utilities.css +1 -1
- package/dist/ui/components/BulkActionBar.style.css +4 -4
- package/dist/ui/components/Button.style.css +14 -13
- package/dist/ui/components/HorizontalScroller.js +93 -18
- package/dist/ui/components/ListingToolbar.js +4 -4
- package/package.json +1 -1
|
@@ -1,191 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
* Live-
|
|
1
|
+
/*
|
|
2
|
+
* WHY: Live-item listings are out of scope for the minimal Beyblade-focused demo catalog.
|
|
3
|
+
* WHAT: Exports an empty array — kept as a stub so seed/index.ts and the seed API route's
|
|
4
|
+
* SEED_DATA_MAP.products concatenation keep working without a code change elsewhere.
|
|
3
5
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
+
* EXPORTS:
|
|
7
|
+
* productsLiveItemsSeedData — empty array
|
|
6
8
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* @tag domain:products,live-items
|
|
10
|
+
* @tag layer:seed
|
|
11
|
+
* @tag pattern:none
|
|
12
|
+
* @tag access:server-only
|
|
13
|
+
* @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
|
|
14
|
+
* @tag sideEffects:none
|
|
11
15
|
*/
|
|
12
|
-
|
|
13
|
-
import { buildSearchTokens } from "../utils/search-tokens";
|
|
14
|
-
import { seedExtMedia } from "./_helpers/media";
|
|
15
|
-
function withTokens(p) {
|
|
16
|
-
return {
|
|
17
|
-
tags: [],
|
|
18
|
-
featured: false,
|
|
19
|
-
...p,
|
|
20
|
-
searchTokens: buildSearchTokens(p.title, p.description, p.brand, p.brandSlug, p.categoryNames, p.tags, p.features, p.condition),
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
const NOW = new Date();
|
|
24
|
-
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
25
|
-
const _rawLiveItemsSeedData = [
|
|
26
|
-
{
|
|
27
|
-
id: "live-blue-eyes-koi-albino",
|
|
28
|
-
slug: "live-blue-eyes-koi-albino",
|
|
29
|
-
title: "\"Blue-Eyes\" Platinum Ogon Koi — 18 cm, 8 months",
|
|
30
|
-
description: "Stunning platinum ogon koi named after the legendary Blue-Eyes White Dragon. Bright white body with a faint blue sheen under sunlight. Healthy, eats pellets eagerly. Certified disease-free by Aqua Vet India. Specialist courier with oxygen bag + heat pack.",
|
|
31
|
-
categorySlugs: ["category-live-aquatics"],
|
|
32
|
-
categoryNames: ["Live Aquatics"],
|
|
33
|
-
brand: undefined,
|
|
34
|
-
brandSlug: undefined,
|
|
35
|
-
price: 850000,
|
|
36
|
-
currency: "INR",
|
|
37
|
-
stockQuantity: 1,
|
|
38
|
-
availableQuantity: 1,
|
|
39
|
-
mainImage: seedExtMedia("https://images.unsplash.com/photo-1583212292454-1fe6229603b7?w=800&h=800&fit=crop"),
|
|
40
|
-
images: [
|
|
41
|
-
seedExtMedia("https://images.unsplash.com/photo-1583212292454-1fe6229603b7?w=800&h=800&fit=crop"),
|
|
42
|
-
],
|
|
43
|
-
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
44
|
-
storeId: "store-letitrip-official",
|
|
45
|
-
storeName: "LetItRip Official",
|
|
46
|
-
tags: ["koi", "live", "aquatics", "blue-eyes", "platinum-ogon", "certified"],
|
|
47
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
48
|
-
liveItem: {
|
|
49
|
-
species: "Cyprinus rubrofuscus (Platinum Ogon variety)",
|
|
50
|
-
ageMonths: 8,
|
|
51
|
-
sex: "unknown",
|
|
52
|
-
careInfo: "Requires pond or 500+ litre tank. pH 7.0–8.0, temp 15–25°C. Feed high-protein koi pellets 2× daily. Weekly 20% water changes.",
|
|
53
|
-
transport: {
|
|
54
|
-
method: "specialist",
|
|
55
|
-
handlingFeeInPaise: 50000,
|
|
56
|
-
insuranceIncluded: true,
|
|
57
|
-
},
|
|
58
|
-
jurisdictionAllowed: ["IN-MH", "IN-KA", "IN-TN", "IN-KL", "IN-AP", "IN-TG", "IN-GA", "IN-GJ", "IN-DL"],
|
|
59
|
-
vendorVerified: true,
|
|
60
|
-
},
|
|
61
|
-
shippingInfo: "Specialist live-fish courier. 24-hour delivery guarantee within allowed states. DOA refund policy applies.",
|
|
62
|
-
allowOffers: false,
|
|
63
|
-
createdAt: daysAgo(6),
|
|
64
|
-
updatedAt: daysAgo(2),
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
id: "live-red-eyes-betta-halfmoon",
|
|
68
|
-
slug: "live-red-eyes-betta-halfmoon",
|
|
69
|
-
title: "\"Red-Eyes\" Black Halfmoon Betta — Male, 5 months",
|
|
70
|
-
description: "Deep black halfmoon betta with red eye flash — our Red-Eyes Black Dragon homage. Flares beautifully, perfect finnage spread >180°. Bred in-house, never medicated. Ships in insulated box with breather bag.",
|
|
71
|
-
categorySlugs: ["category-live-aquatics"],
|
|
72
|
-
categoryNames: ["Live Aquatics"],
|
|
73
|
-
brand: undefined,
|
|
74
|
-
brandSlug: undefined,
|
|
75
|
-
price: 120000,
|
|
76
|
-
currency: "INR",
|
|
77
|
-
stockQuantity: 3,
|
|
78
|
-
availableQuantity: 3,
|
|
79
|
-
mainImage: seedExtMedia("https://images.unsplash.com/photo-1520302519878-3c0a981b76e1?w=800&h=800&fit=crop"),
|
|
80
|
-
images: [
|
|
81
|
-
seedExtMedia("https://images.unsplash.com/photo-1520302519878-3c0a981b76e1?w=800&h=800&fit=crop"),
|
|
82
|
-
],
|
|
83
|
-
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
84
|
-
storeId: "store-letitrip-official",
|
|
85
|
-
storeName: "LetItRip Official",
|
|
86
|
-
tags: ["betta", "live", "aquatics", "red-eyes", "halfmoon", "male"],
|
|
87
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
88
|
-
liveItem: {
|
|
89
|
-
species: "Betta splendens (Black Halfmoon variety)",
|
|
90
|
-
ageMonths: 5,
|
|
91
|
-
sex: "male",
|
|
92
|
-
careInfo: "Solo housing required — males are aggressive. Min 10 litre heated tank (26–28°C). Feed betta pellets + occasional bloodworms.",
|
|
93
|
-
transport: {
|
|
94
|
-
method: "courier",
|
|
95
|
-
handlingFeeInPaise: 15000,
|
|
96
|
-
insuranceIncluded: true,
|
|
97
|
-
},
|
|
98
|
-
jurisdictionAllowed: ["IN-MH", "IN-KA", "IN-TN", "IN-KL", "IN-AP", "IN-TG", "IN-GA", "IN-GJ", "IN-DL", "IN-RJ", "IN-UP", "IN-WB"],
|
|
99
|
-
vendorVerified: true,
|
|
100
|
-
},
|
|
101
|
-
shippingInfo: "Express courier with insulated packaging. 48-hour delivery. Full refund on DOA with photo proof.",
|
|
102
|
-
allowOffers: false,
|
|
103
|
-
createdAt: daysAgo(4),
|
|
104
|
-
updatedAt: daysAgo(1),
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
id: "live-kuriboh-pom-pom-crab",
|
|
108
|
-
slug: "live-kuriboh-pom-pom-crab",
|
|
109
|
-
title: "\"Kuriboh\" Pom Pom Crab — Freshwater, captive-bred",
|
|
110
|
-
description: "Adorable freshwater pom pom crab that looks just like Kuriboh! Carries tiny anemone-like growths on its claws. Peaceful community tank species. Captive-bred, quarantined 14 days.",
|
|
111
|
-
categorySlugs: ["category-live-aquatics"],
|
|
112
|
-
categoryNames: ["Live Aquatics"],
|
|
113
|
-
brand: undefined,
|
|
114
|
-
brandSlug: undefined,
|
|
115
|
-
price: 45000,
|
|
116
|
-
currency: "INR",
|
|
117
|
-
stockQuantity: 8,
|
|
118
|
-
availableQuantity: 8,
|
|
119
|
-
mainImage: seedExtMedia("https://images.unsplash.com/photo-1559827260-dc66d52bef19?w=800&h=800&fit=crop"),
|
|
120
|
-
images: [
|
|
121
|
-
seedExtMedia("https://images.unsplash.com/photo-1559827260-dc66d52bef19?w=800&h=800&fit=crop"),
|
|
122
|
-
],
|
|
123
|
-
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
124
|
-
storeId: "store-kaiba-corp-cards",
|
|
125
|
-
storeName: "Kaiba Corp Card Vault",
|
|
126
|
-
tags: ["crab", "live", "aquatics", "kuriboh", "pom-pom", "freshwater"],
|
|
127
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
128
|
-
liveItem: {
|
|
129
|
-
species: "Ptychognathus barbatus (Pom Pom Crab)",
|
|
130
|
-
ageMonths: 3,
|
|
131
|
-
sex: "unknown",
|
|
132
|
-
careInfo: "Freshwater, fully aquatic. Min 20 litre tank with hiding spots. Temp 22–26°C, pH 7.0–7.5. Feed sinking pellets + blanched veg.",
|
|
133
|
-
transport: {
|
|
134
|
-
method: "courier",
|
|
135
|
-
handlingFeeInPaise: 10000,
|
|
136
|
-
insuranceIncluded: false,
|
|
137
|
-
},
|
|
138
|
-
jurisdictionAllowed: ["IN-MH", "IN-KA", "IN-TN", "IN-KL", "IN-AP", "IN-TG", "IN-DL", "IN-GJ"],
|
|
139
|
-
vendorVerified: true,
|
|
140
|
-
},
|
|
141
|
-
shippingInfo: "Standard courier with damp moss packaging. Ships Mon–Wed only for safe delivery.",
|
|
142
|
-
allowOffers: false,
|
|
143
|
-
createdAt: daysAgo(3),
|
|
144
|
-
updatedAt: daysAgo(1),
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
id: "live-dark-magician-axolotl-melanoid",
|
|
148
|
-
slug: "live-dark-magician-axolotl-melanoid",
|
|
149
|
-
title: "\"Dark Magician\" Melanoid Axolotl — 12 cm, 6 months",
|
|
150
|
-
description: "Deep purple-black melanoid axolotl — our Dark Magician tribute. Healthy, eating bloodworms and pellets. Captive-bred, CITES-exempt (Ambystoma mexicanum is Appendix II but captive-bred stock is exempt under Indian regulations).",
|
|
151
|
-
categorySlugs: ["category-live-aquatics"],
|
|
152
|
-
categoryNames: ["Live Aquatics"],
|
|
153
|
-
brand: undefined,
|
|
154
|
-
brandSlug: undefined,
|
|
155
|
-
price: 350000,
|
|
156
|
-
currency: "INR",
|
|
157
|
-
stockQuantity: 2,
|
|
158
|
-
availableQuantity: 2,
|
|
159
|
-
mainImage: seedExtMedia("https://images.unsplash.com/photo-1585095595205-e68428a9e205?w=800&h=800&fit=crop"),
|
|
160
|
-
images: [
|
|
161
|
-
seedExtMedia("https://images.unsplash.com/photo-1585095595205-e68428a9e205?w=800&h=800&fit=crop"),
|
|
162
|
-
],
|
|
163
|
-
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
164
|
-
storeId: "store-letitrip-official",
|
|
165
|
-
storeName: "LetItRip Official",
|
|
166
|
-
tags: ["axolotl", "live", "aquatics", "dark-magician", "melanoid", "captive-bred"],
|
|
167
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
168
|
-
liveItem: {
|
|
169
|
-
species: "Ambystoma mexicanum (Melanoid morph)",
|
|
170
|
-
ageMonths: 6,
|
|
171
|
-
sex: "unknown",
|
|
172
|
-
careInfo: "Cool water species — temp 16–20°C (chiller required in most Indian cities). Min 75 litre tank, no gravel substrate. Feed earthworms, bloodworms, pellets.",
|
|
173
|
-
transport: {
|
|
174
|
-
method: "specialist",
|
|
175
|
-
handlingFeeInPaise: 30000,
|
|
176
|
-
insuranceIncluded: true,
|
|
177
|
-
},
|
|
178
|
-
jurisdictionAllowed: ["IN-MH", "IN-KA", "IN-TN", "IN-KL", "IN-DL"],
|
|
179
|
-
vendorVerified: true,
|
|
180
|
-
cites: "CB-AX-2026-0042",
|
|
181
|
-
},
|
|
182
|
-
shippingInfo: "Specialist cold-chain courier with ice packs. 24-hour delivery only. DOA + 48-hour health guarantee.",
|
|
183
|
-
allowOffers: false,
|
|
184
|
-
createdAt: daysAgo(5),
|
|
185
|
-
updatedAt: daysAgo(1),
|
|
186
|
-
},
|
|
187
|
-
];
|
|
188
|
-
export const productsLiveItemsSeedData = _rawLiveItemsSeedData.map((p) => withTokens({
|
|
189
|
-
...p,
|
|
190
|
-
listingType: "live",
|
|
191
|
-
}));
|
|
16
|
+
export const productsLiveItemsSeedData = [];
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* WHY: Seeds pre-order
|
|
3
|
-
* WHAT: Exports
|
|
2
|
+
* WHY: Seeds a minimal pre-order listing for the demo Beyblade catalog.
|
|
3
|
+
* WHAT: Exports 1 pre-order product (Beyblade X seasonal wave) with listingType:"pre-order",
|
|
4
|
+
* from the Beyblade Arena store.
|
|
4
5
|
*
|
|
5
6
|
* EXPORTS:
|
|
6
|
-
* productsPreordersSeedData — Array of
|
|
7
|
+
* productsPreordersSeedData — Array of 1 pre-order product with listingType:"pre-order"
|
|
7
8
|
*
|
|
8
9
|
* @tag domain:products,pre-orders
|
|
9
10
|
* @tag layer:seed
|
|
@@ -15,28 +16,24 @@
|
|
|
15
16
|
import { PRODUCT_FIELDS } from "../constants/field-names";
|
|
16
17
|
import { buildSearchTokens } from "../utils/search-tokens";
|
|
17
18
|
import { seedExtMedia } from "./_helpers/media";
|
|
18
|
-
// Card ID mappings for YGOPRODECK image API
|
|
19
|
-
const CARD_IDS = {
|
|
20
|
-
blueEyesWhiteDragon: 89631139,
|
|
21
|
-
darkMagician: 46986414,
|
|
22
|
-
elementalHeroNeos: 89943723,
|
|
23
|
-
};
|
|
24
19
|
const _rawPreordersSeedData = [
|
|
25
20
|
{
|
|
26
|
-
id: "preorder-
|
|
27
|
-
storeId: "store-
|
|
28
|
-
brandSlug: "brand-
|
|
29
|
-
title: "
|
|
30
|
-
slug: "preorder-
|
|
31
|
-
description: "
|
|
32
|
-
price:
|
|
21
|
+
id: "preorder-beyblade-x-bx-08-wave",
|
|
22
|
+
storeId: "store-beyblade-arena",
|
|
23
|
+
brandSlug: "brand-takara-tomy",
|
|
24
|
+
title: "Beyblade X BX-08 Booster — Next Wave",
|
|
25
|
+
slug: "preorder-beyblade-x-bx-08-wave",
|
|
26
|
+
description: "Reserve the next Beyblade X booster wave (BX-08) ahead of its India release. Includes randomized top + Xtreme Gear accessory.",
|
|
27
|
+
price: 79900, // ₹799
|
|
33
28
|
currency: "INR",
|
|
34
29
|
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
35
30
|
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
36
31
|
listingType: "pre-order",
|
|
37
|
-
categorySlugs: ["category-
|
|
32
|
+
categorySlugs: ["category-beyblade-x", "category-spinning-tops"],
|
|
33
|
+
categoryNames: ["Beyblade X", "Spinning Tops"],
|
|
34
|
+
brand: "Takara-Tomy",
|
|
38
35
|
images: [
|
|
39
|
-
seedExtMedia(
|
|
36
|
+
seedExtMedia("https://picsum.photos/seed/preorder-image-beyblade-x-bx-08-wave-1-20260101/900/900"),
|
|
40
37
|
],
|
|
41
38
|
isSold: false,
|
|
42
39
|
availableQuantity: 1,
|
|
@@ -45,143 +42,15 @@ const _rawPreordersSeedData = [
|
|
|
45
42
|
featured: false,
|
|
46
43
|
isPromoted: false,
|
|
47
44
|
isOnSale: false,
|
|
48
|
-
preOrderDeliveryDate: new Date(Date.now() + 90 * 24 * 60 * 60 * 1000), // +90 days
|
|
49
|
-
preOrderProductionStatus: "in_production",
|
|
50
|
-
preOrderDepositPercent: 25,
|
|
51
|
-
preOrderMaxQuantity: 100,
|
|
52
|
-
preOrderCurrentCount: 42,
|
|
53
|
-
preOrderCancellable: true,
|
|
54
|
-
createdAt: new Date(Date.now() - 14 * 24 * 60 * 60 * 1000), // -14 days
|
|
55
|
-
updatedAt: new Date(),
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
id: "preorder-gx-tournament-pack-2026",
|
|
59
|
-
storeId: "store-kaiba-corp-cards",
|
|
60
|
-
brandSlug: "brand-konami",
|
|
61
|
-
title: "GX Tournament Pack 2026",
|
|
62
|
-
slug: "preorder-gx-tournament-pack-2026",
|
|
63
|
-
description: "Official tournament pack from Konami featuring exclusive GX era promos and tournament-legal deck staples. Perfect for competitive players.",
|
|
64
|
-
price: 199900, // ₹1,999
|
|
65
|
-
currency: "INR",
|
|
66
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
67
|
-
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
68
|
-
listingType: "pre-order",
|
|
69
|
-
categorySlugs: ["category-sealed-products", "category-booster-packs"],
|
|
70
|
-
images: [
|
|
71
|
-
seedExtMedia(`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.elementalHeroNeos}.jpg`),
|
|
72
|
-
],
|
|
73
|
-
isSold: false,
|
|
74
|
-
availableQuantity: 1,
|
|
75
|
-
customFields: [],
|
|
76
|
-
customSections: [],
|
|
77
|
-
featured: false,
|
|
78
|
-
isPromoted: false,
|
|
79
|
-
isOnSale: false,
|
|
80
|
-
preOrderDeliveryDate: new Date(Date.now() + 60 * 24 * 60 * 60 * 1000), // +60 days
|
|
81
|
-
preOrderProductionStatus: "upcoming",
|
|
82
|
-
preOrderDepositPercent: 25,
|
|
83
|
-
preOrderMaxQuantity: 150,
|
|
84
|
-
preOrderCurrentCount: 67,
|
|
85
|
-
preOrderCancellable: true,
|
|
86
|
-
createdAt: new Date(Date.now() - 21 * 24 * 60 * 60 * 1000), // -21 days
|
|
87
|
-
updatedAt: new Date(),
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
id: "preorder-blue-eyes-collector-tin",
|
|
91
|
-
storeId: "store-kaiba-corp-cards",
|
|
92
|
-
brandSlug: "brand-konami",
|
|
93
|
-
title: "Blue-Eyes Collector Tin 2026",
|
|
94
|
-
slug: "preorder-blue-eyes-collector-tin",
|
|
95
|
-
description: "Premium collector's edition tin featuring Blue-Eyes artwork and exclusive foil promos. Mint condition guaranteed on delivery.",
|
|
96
|
-
price: 399900, // ₹3,999
|
|
97
|
-
currency: "INR",
|
|
98
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
99
|
-
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
100
|
-
listingType: "pre-order",
|
|
101
|
-
categorySlugs: ["category-sealed-products", "category-collector-tins"],
|
|
102
|
-
images: [
|
|
103
|
-
seedExtMedia(`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.blueEyesWhiteDragon}.jpg`),
|
|
104
|
-
],
|
|
105
|
-
isSold: false,
|
|
106
|
-
availableQuantity: 1,
|
|
107
|
-
customFields: [],
|
|
108
|
-
customSections: [],
|
|
109
|
-
featured: true,
|
|
110
|
-
isPromoted: false,
|
|
111
|
-
isOnSale: false,
|
|
112
45
|
preOrderDeliveryDate: new Date(Date.now() + 45 * 24 * 60 * 60 * 1000), // +45 days
|
|
113
46
|
preOrderProductionStatus: "in_production",
|
|
114
47
|
preOrderDepositPercent: 25,
|
|
115
|
-
preOrderMaxQuantity:
|
|
116
|
-
preOrderCurrentCount:
|
|
117
|
-
preOrderCancellable: true,
|
|
118
|
-
createdAt: new Date(Date.now() - 28 * 24 * 60 * 60 * 1000), // -28 days
|
|
119
|
-
updatedAt: new Date(),
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
id: "preorder-dark-magician-struct-2026",
|
|
123
|
-
storeId: "store-kaiba-corp-cards",
|
|
124
|
-
brandSlug: "brand-konami",
|
|
125
|
-
title: "Dark Magician Structure Deck 2026",
|
|
126
|
-
slug: "preorder-dark-magician-struct-2026",
|
|
127
|
-
description: "Definitive Dark Magician structure deck for 2026 with updated support cards and powerful synergies. Perfect starter deck for new players.",
|
|
128
|
-
price: 149900, // ₹1,499
|
|
129
|
-
currency: "INR",
|
|
130
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
131
|
-
status: PRODUCT_FIELDS.STATUS_VALUES.DRAFT,
|
|
132
|
-
listingType: "pre-order",
|
|
133
|
-
categorySlugs: ["category-sealed-products", "category-starter-structure"],
|
|
134
|
-
images: [
|
|
135
|
-
seedExtMedia(`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.darkMagician}.jpg`),
|
|
136
|
-
],
|
|
137
|
-
isSold: false,
|
|
138
|
-
availableQuantity: 1,
|
|
139
|
-
customFields: [],
|
|
140
|
-
customSections: [],
|
|
141
|
-
featured: false,
|
|
142
|
-
isPromoted: false,
|
|
143
|
-
isOnSale: false,
|
|
144
|
-
preOrderDeliveryDate: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000), // +30 days
|
|
145
|
-
preOrderProductionStatus: "upcoming",
|
|
146
|
-
preOrderDepositPercent: 25,
|
|
147
|
-
preOrderMaxQuantity: 250,
|
|
148
|
-
preOrderCurrentCount: 89,
|
|
48
|
+
preOrderMaxQuantity: 100,
|
|
49
|
+
preOrderCurrentCount: 18,
|
|
149
50
|
preOrderCancellable: true,
|
|
150
51
|
createdAt: new Date(Date.now() - 7 * 24 * 60 * 60 * 1000), // -7 days
|
|
151
52
|
updatedAt: new Date(),
|
|
152
53
|
},
|
|
153
|
-
{
|
|
154
|
-
id: "preorder-master-duel-promo-bundle",
|
|
155
|
-
storeId: "store-kaiba-corp-cards",
|
|
156
|
-
brandSlug: "brand-konami",
|
|
157
|
-
title: "Master Duel Promo Physical Bundle",
|
|
158
|
-
slug: "preorder-master-duel-promo-bundle",
|
|
159
|
-
description: "Exclusive physical bundle of cards obtained from Master Duel game rewards. Ultra-rare promotional cards in premium condition.",
|
|
160
|
-
price: 499900, // ₹4,999
|
|
161
|
-
currency: "INR",
|
|
162
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
163
|
-
status: PRODUCT_FIELDS.STATUS_VALUES.DRAFT,
|
|
164
|
-
listingType: "pre-order",
|
|
165
|
-
categorySlugs: ["category-sealed-products", "category-booster-boxes"],
|
|
166
|
-
images: [
|
|
167
|
-
seedExtMedia(`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.elementalHeroNeos}.jpg`),
|
|
168
|
-
],
|
|
169
|
-
isSold: false,
|
|
170
|
-
availableQuantity: 1,
|
|
171
|
-
customFields: [],
|
|
172
|
-
customSections: [],
|
|
173
|
-
featured: false,
|
|
174
|
-
isPromoted: true,
|
|
175
|
-
isOnSale: false,
|
|
176
|
-
preOrderDeliveryDate: new Date(Date.now() + 120 * 24 * 60 * 60 * 1000), // +120 days
|
|
177
|
-
preOrderProductionStatus: "upcoming",
|
|
178
|
-
preOrderDepositPercent: 25,
|
|
179
|
-
preOrderMaxQuantity: 75,
|
|
180
|
-
preOrderCurrentCount: 34,
|
|
181
|
-
preOrderCancellable: true,
|
|
182
|
-
createdAt: new Date(Date.now() - 35 * 24 * 60 * 60 * 1000), // -35 days
|
|
183
|
-
updatedAt: new Date(),
|
|
184
|
-
},
|
|
185
54
|
];
|
|
186
55
|
export const productsPreordersSeedData = _rawPreordersSeedData.map((p) => ({
|
|
187
56
|
tags: [],
|
|
@@ -189,5 +58,5 @@ export const productsPreordersSeedData = _rawPreordersSeedData.map((p) => ({
|
|
|
189
58
|
mainImage: p.images?.[0] ?? "",
|
|
190
59
|
...p,
|
|
191
60
|
listingType: "pre-order",
|
|
192
|
-
searchTokens: buildSearchTokens(p.title, p.description, p.brand, p.brandSlug, p.categoryNames, p.tags, p.features, p.condition, p.
|
|
61
|
+
searchTokens: buildSearchTokens(p.title, p.description, p.brand, p.brandSlug, p.categoryNames, p.tags, p.features, p.condition, p.specifications?.map((s) => `${s.name} ${s.value}`)),
|
|
193
62
|
}));
|
|
@@ -1,17 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Prize-Draw Products Seed Data — Collectibles Edition (SB5-E)
|
|
3
|
-
*
|
|
4
|
-
* Stored as ProductDocument with listingType: "prize-draw". Each draw lists
|
|
5
|
-
* 3–16 PrizeDrawItem entries; one is revealed per paid order via crypto.randomInt
|
|
6
|
-
* during the reveal window (see /api/prize-draws/[id]/reveal, SB4-H).
|
|
7
|
-
*
|
|
8
|
-
* Prices in INR paise (₹1 = 100 paise).
|
|
9
|
-
*/
|
|
10
|
-
import type { ProductDocument } from "../features/products/schemas";
|
|
11
|
-
/**
|
|
12
|
-
* SB1-G Phase 4 — every prize-draw is stamped with `listingType: "prize-draw"`.
|
|
13
|
-
* Mirrors the wrapper pattern used in
|
|
14
|
-
* `products-standard-seed-data.ts` / `products-auctions-seed-data.ts` /
|
|
15
|
-
* `products-preorders-seed-data.ts`.
|
|
16
|
-
*/
|
|
1
|
+
import { ProductDocument } from "../features/products/schemas/firestore";
|
|
17
2
|
export declare const productsPrizeDrawsSeedData: Partial<ProductDocument>[];
|