@mohasinac/appkit 3.5.2 → 3.5.4
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/features/homepage/components/CustomCardsSection.js +1 -1
- package/dist/features/homepage/components/SectionCarousel.js +1 -1
- package/dist/features/seller/components/CategoryInlineSelect.d.ts +1 -1
- package/dist/features/seller/components/CategoryInlineSelect.js +1 -1
- package/dist/react/hooks/useBulkSelection.js +12 -3
- package/dist/react/hooks/useGesture.js +48 -4
- package/dist/react/hooks/useLongPress.d.ts +1 -0
- package/dist/react/hooks/useLongPress.js +5 -0
- package/dist/react/hooks/usePullToRefresh.js +12 -1
- package/dist/react/hooks/useRealtimeEvent.js +18 -1
- package/dist/react/hooks/useSwipe.js +14 -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/BaseListingCard.d.ts +2 -1
- package/dist/ui/components/BaseListingCard.js +4 -5
- package/dist/ui/components/BulkActionBar.style.css +4 -4
- package/dist/ui/components/Button.js +52 -22
- package/dist/ui/components/Button.style.css +14 -13
- package/dist/ui/components/DateInput.js +1 -0
- package/dist/ui/components/DynamicBgDiv.js +8 -6
- package/dist/ui/components/FormField.js +1 -1
- package/dist/ui/components/HorizontalScroller.js +35 -16
- package/dist/ui/components/Iframe.d.ts +8 -1
- package/dist/ui/components/Layout.d.ts +4 -4
- package/dist/ui/components/Layout.js +8 -8
- package/dist/ui/components/ListingToolbar.js +4 -4
- package/dist/ui/components/Motion.js +4 -1
- package/dist/ui/components/OtpInput.js +1 -1
- package/dist/ui/components/PaginatedSelect.js +29 -3
- package/dist/ui/components/Pagination.js +10 -5
- package/dist/ui/components/RichTextEditor.js +64 -3
- package/dist/ui/components/Select.js +1 -0
- package/dist/ui/components/Semantic.d.ts +10 -10
- package/dist/ui/components/Semantic.js +25 -25
- package/dist/ui/components/SideDrawer.js +13 -11
- package/dist/ui/components/SideModal.js +9 -7
- package/dist/ui/components/SlottedListingView.d.ts +13 -2
- package/dist/ui/components/StickyToolbar.js +9 -5
- package/dist/ui/components/TagInput.js +15 -2
- package/dist/ui/components/Textarea.js +1 -0
- package/dist/ui/components/Toggle.js +8 -1
- package/dist/ui/components/UnsavedChangesModal.js +12 -1
- package/dist/ui/forms/ColorPickerField.js +7 -0
- package/dist/ui/forms/FieldCheckbox.js +1 -1
- package/dist/utils/id-generators.d.ts +7 -4
- package/dist/utils/id-generators.js +53 -31
- package/dist/utils/number.formatter.js +19 -6
- package/dist/utils/string.formatter.js +4 -1
- package/package.json +1 -1
|
@@ -1,388 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
* Prize-
|
|
1
|
+
/*
|
|
2
|
+
* WHY: Prize-draw 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
|
-
* during the reveal window (see /api/prize-draws/[id]/reveal, SB4-H).
|
|
6
|
+
* EXPORTS:
|
|
7
|
+
* productsPrizeDrawsSeedData — empty array
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
+
* @tag domain:products,prize-draws
|
|
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
|
|
9
15
|
*/
|
|
10
|
-
|
|
11
|
-
import { buildSearchTokens } from "../utils/search-tokens";
|
|
12
|
-
import { seedExtMedia } from "./_helpers/media";
|
|
13
|
-
const NOW = new Date();
|
|
14
|
-
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
15
|
-
const daysAhead = (n) => new Date(NOW.getTime() + n * 86400000);
|
|
16
|
-
const _rawProductsPrizeDrawsSeedData = [
|
|
17
|
-
// 1. Pokémon Mystery Box — June
|
|
18
|
-
{
|
|
19
|
-
id: "prize-pokemon-mystery-box-june",
|
|
20
|
-
slug: "prize-pokemon-mystery-box-june",
|
|
21
|
-
title: "Pokémon Mystery Box — June Mega Draw",
|
|
22
|
-
description: "10 sealed Pokémon TCG mystery prizes. Each entry gives you a fair shot at one of the 10 prizes — from a Charizard-themed ETB to a genuine PSA 9 Base Set holo. Reveal opens June 25, 10:00 IST. Non-refundable digital entry.",
|
|
23
|
-
categorySlugs: ["category-pokemon-tcg"],
|
|
24
|
-
categoryNames: ["Pokémon TCG"],
|
|
25
|
-
brand: "The Pokémon Company",
|
|
26
|
-
brandSlug: "brand-pokemon-company",
|
|
27
|
-
price: 500, // ₹5 per entry (matches pricePerEntry; price is the unit cost for cart totals)
|
|
28
|
-
currency: SCHEMA_DEFAULTS.CURRENCY,
|
|
29
|
-
stockQuantity: 50,
|
|
30
|
-
availableQuantity: 50,
|
|
31
|
-
mainImage: seedExtMedia("https://images.unsplash.com/photo-1613771404784-3a5686aa2be3?w=800&h=800&fit=crop"),
|
|
32
|
-
images: [
|
|
33
|
-
seedExtMedia("https://images.unsplash.com/photo-1613771404784-3a5686aa2be3?w=800&h=800&fit=crop"),
|
|
34
|
-
seedExtMedia("https://images.unsplash.com/photo-1607604276583-eef5d076aa5f?w=800&h=800&fit=crop"),
|
|
35
|
-
],
|
|
36
|
-
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
37
|
-
storeName: "Pokémon Palace",
|
|
38
|
-
storeId: "store-pokemon-palace",
|
|
39
|
-
featured: true,
|
|
40
|
-
isPromoted: true,
|
|
41
|
-
tags: [
|
|
42
|
-
"pokemon",
|
|
43
|
-
"prize-draw",
|
|
44
|
-
"mystery-box",
|
|
45
|
-
"tcg",
|
|
46
|
-
"charizard",
|
|
47
|
-
"fair-rng",
|
|
48
|
-
],
|
|
49
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
50
|
-
listingType: "prize-draw",
|
|
51
|
-
pricePerEntry: 500,
|
|
52
|
-
prizeMaxEntries: 50,
|
|
53
|
-
prizeCurrentEntries: 0,
|
|
54
|
-
prizeRevealWindowStart: daysAhead(5),
|
|
55
|
-
prizeRevealWindowEnd: daysAhead(12),
|
|
56
|
-
prizeRevealStatus: "pending",
|
|
57
|
-
prizeRevealDeadlineDays: 3,
|
|
58
|
-
prizeGithubFileUrl: "https://github.com/letitripin/proof-of-fairness/blob/main/draws/prize-pokemon-mystery-box-june.json",
|
|
59
|
-
maxPerUser: 5,
|
|
60
|
-
prizeDrawItems: _pokemonPrizeItems(),
|
|
61
|
-
shippingInfo: "Each physical prize ships separately within 5 business days of reveal. Reveal digitally first, then we ship.",
|
|
62
|
-
returnPolicy: "Prize-draw entries are non-refundable once the reveal window opens. Pool-exhausted entries auto-refund.",
|
|
63
|
-
allowOffers: false,
|
|
64
|
-
createdAt: daysAgo(10),
|
|
65
|
-
updatedAt: daysAgo(1),
|
|
66
|
-
},
|
|
67
|
-
// 2. Yu-Gi-Oh! Vintage Booster Box Draw
|
|
68
|
-
{
|
|
69
|
-
id: "prize-ygo-vintage-booster-draw",
|
|
70
|
-
slug: "prize-ygo-vintage-booster-draw",
|
|
71
|
-
title: "Yu-Gi-Oh! Vintage Booster Box Draw",
|
|
72
|
-
description: "8 confirmed vintage YGO sealed booster boxes — LOB, MRD, PSV, IOC, AST, SOD, EEN, POTD. Single entry, single reveal, single prize. RNG verified post-reveal on GitHub.",
|
|
73
|
-
categorySlugs: ["category-sealed-products", "category-booster-boxes"],
|
|
74
|
-
categoryNames: ["Sealed Products", "Booster Boxes 24-pack"],
|
|
75
|
-
brand: "Konami",
|
|
76
|
-
brandSlug: "brand-konami",
|
|
77
|
-
price: 29900, // ₹299 per entry
|
|
78
|
-
currency: SCHEMA_DEFAULTS.CURRENCY,
|
|
79
|
-
stockQuantity: 100,
|
|
80
|
-
availableQuantity: 100,
|
|
81
|
-
mainImage: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/46986414.jpg"),
|
|
82
|
-
images: [
|
|
83
|
-
seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/89631139.jpg"),
|
|
84
|
-
seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/33396948.jpg"),
|
|
85
|
-
],
|
|
86
|
-
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
87
|
-
storeName: "Kaiba Corp Card Vault",
|
|
88
|
-
storeId: "store-kaiba-corp-cards",
|
|
89
|
-
featured: true,
|
|
90
|
-
isPromoted: false,
|
|
91
|
-
tags: [
|
|
92
|
-
"yugioh",
|
|
93
|
-
"prize-draw",
|
|
94
|
-
"sealed-booster",
|
|
95
|
-
"vintage",
|
|
96
|
-
"fair-rng",
|
|
97
|
-
],
|
|
98
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
99
|
-
listingType: "prize-draw",
|
|
100
|
-
pricePerEntry: 29900,
|
|
101
|
-
prizeMaxEntries: 100,
|
|
102
|
-
prizeCurrentEntries: 0,
|
|
103
|
-
prizeRevealWindowStart: daysAhead(7),
|
|
104
|
-
prizeRevealWindowEnd: daysAhead(14),
|
|
105
|
-
prizeRevealStatus: "pending",
|
|
106
|
-
prizeRevealDeadlineDays: 3,
|
|
107
|
-
prizeGithubFileUrl: "https://github.com/letitripin/proof-of-fairness/blob/main/draws/prize-ygo-vintage-booster-draw.json",
|
|
108
|
-
maxPerUser: 10,
|
|
109
|
-
prizeDrawItems: _ygoVintageBoosterItems(),
|
|
110
|
-
shippingInfo: "Each sealed booster box ships within 5 business days of reveal. Insured at declared value.",
|
|
111
|
-
returnPolicy: "Prize-draw entries are non-refundable once the reveal window opens. Pool-exhausted entries auto-refund.",
|
|
112
|
-
allowOffers: false,
|
|
113
|
-
createdAt: daysAgo(8),
|
|
114
|
-
updatedAt: daysAgo(1),
|
|
115
|
-
},
|
|
116
|
-
// 3. Hot Wheels Rare Numbered Slot Lottery (lottery mode — user self-pull)
|
|
117
|
-
{
|
|
118
|
-
id: "prize-hotwheels-slot-lottery",
|
|
119
|
-
slug: "prize-hotwheels-slot-lottery",
|
|
120
|
-
title: "Hot Wheels Rare — Numbered Slot Lottery",
|
|
121
|
-
description: "<p>10 rare Hot Wheels Redline and Treasure Hunt castings. Submit your UPI transaction ID and claim a slot — prize assigned instantly by weighted random draw. Lower-priced slots have a higher chance!</p>",
|
|
122
|
-
categorySlugs: ["category-diecast-vehicles"],
|
|
123
|
-
categoryNames: ["Diecast Vehicles"],
|
|
124
|
-
brand: "Hot Wheels",
|
|
125
|
-
brandSlug: "brand-hot-wheels",
|
|
126
|
-
price: 99900,
|
|
127
|
-
currency: SCHEMA_DEFAULTS.CURRENCY,
|
|
128
|
-
stockQuantity: 10,
|
|
129
|
-
availableQuantity: 10,
|
|
130
|
-
mainImage: seedExtMedia("https://images.unsplash.com/photo-1594736797933-d0401ba2fe65?w=800&h=800&fit=crop"),
|
|
131
|
-
images: [
|
|
132
|
-
seedExtMedia("https://images.unsplash.com/photo-1594736797933-d0401ba2fe65?w=800&h=800&fit=crop"),
|
|
133
|
-
],
|
|
134
|
-
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
135
|
-
storeName: "Diecast Depot",
|
|
136
|
-
storeId: "store-diecast-depot",
|
|
137
|
-
featured: false,
|
|
138
|
-
isPromoted: false,
|
|
139
|
-
tags: ["hot-wheels", "lottery", "diecast", "redline", "rare"],
|
|
140
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
141
|
-
listingType: "prize-draw",
|
|
142
|
-
prizeDrawMode: "lottery",
|
|
143
|
-
lotteryConfig: _hotWheelsLotteryConfig(),
|
|
144
|
-
prizeDrawItems: _hotWheelsPrizeItems(),
|
|
145
|
-
allowOffers: false,
|
|
146
|
-
createdAt: daysAgo(3),
|
|
147
|
-
updatedAt: daysAgo(1),
|
|
148
|
-
},
|
|
149
|
-
];
|
|
150
|
-
function _hotWheelsLotteryConfig() {
|
|
151
|
-
const slots = [
|
|
152
|
-
{ slotNumber: 1, name: "Red Line Hot Wheels Custom Camaro (1969)", priceInPaise: 49900, weight: 68, isBooked: true, bookedByUserLotteryNumber: 1, bookedByDisplayName: "Ravi K." },
|
|
153
|
-
{ slotNumber: 2, name: "Treasure Hunt Dodge Challenger (2023)", priceInPaise: 79900, weight: 42, isBooked: true, bookedByUserLotteryNumber: 2, bookedByDisplayName: "Aisha M." },
|
|
154
|
-
{ slotNumber: 3, name: "Hot Wheels Super Treasure Hunt (sealed)", priceInPaise: 99900, weight: 22, isBooked: true, bookedByUserLotteryNumber: 3, bookedByDisplayName: "Dev S." },
|
|
155
|
-
{ slotNumber: 4, name: "Redline Ferrari 246 Dino (1969 original)", priceInPaise: 149900, weight: 1, isBooked: true, bookedByUserLotteryNumber: 4, bookedByDisplayName: "Priya L." },
|
|
156
|
-
{ slotNumber: 5, name: "Hot Wheels Mystery Car (sealed, unknown model)", priceInPaise: 29900, weight: 100, isBooked: true, bookedByUserLotteryNumber: 5, bookedByDisplayName: "Mohsin C." },
|
|
157
|
-
{ slotNumber: 6, name: "Hot Wheels RLC Exclusive Bone Shaker", priceInPaise: 59900, weight: 55, isBooked: false },
|
|
158
|
-
{ slotNumber: 7, name: "Hot Wheels Pop Culture DeLorean (BTTF)", priceInPaise: 39900, weight: 79, isBooked: false },
|
|
159
|
-
{ slotNumber: 8, name: "Hot Wheels Premium Car Culture (set of 5)", priceInPaise: 89900, weight: 31, isBooked: false },
|
|
160
|
-
{ slotNumber: 9, name: "Hot Wheels ID Car (NFC-chip, sealed)", priceInPaise: 69900, weight: 46, isBooked: false },
|
|
161
|
-
{ slotNumber: 10, name: "Redline Hot Wheels Beach Bomb (1969 – prototype type)", priceInPaise: 199900, weight: 1, isBooked: false },
|
|
162
|
-
];
|
|
163
|
-
return {
|
|
164
|
-
slots,
|
|
165
|
-
totalSlots: 10,
|
|
166
|
-
pricingMode: "variable",
|
|
167
|
-
drawWindowDurationMinutes: 60,
|
|
168
|
-
maxPullsPerTransaction: 1,
|
|
169
|
-
maxPullsPerUser: 1,
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
function _hotWheelsPrizeItems() {
|
|
173
|
-
return [
|
|
174
|
-
{ itemNumber: 1, title: "Red Line Custom Camaro (1969)", images: [seedExtMedia("https://images.unsplash.com/photo-1594736797933-d0401ba2fe65?w=600&h=600&fit=crop")], condition: PRODUCT_FIELDS.CONDITION_VALUES.USED, estimatedValue: 49900, prizeSlotPrice: 49900, isWon: true },
|
|
175
|
-
{ itemNumber: 2, title: "Treasure Hunt Dodge Challenger", images: [seedExtMedia("https://images.unsplash.com/photo-1594736797933-d0401ba2fe65?w=600&h=600&fit=crop")], condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW, estimatedValue: 79900, prizeSlotPrice: 79900, isWon: true },
|
|
176
|
-
{ itemNumber: 3, title: "Super Treasure Hunt (sealed)", images: [seedExtMedia("https://images.unsplash.com/photo-1594736797933-d0401ba2fe65?w=600&h=600&fit=crop")], condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW, estimatedValue: 99900, prizeSlotPrice: 99900, isWon: true },
|
|
177
|
-
{ itemNumber: 4, title: "Redline Ferrari 246 Dino (1969)", images: [seedExtMedia("https://images.unsplash.com/photo-1594736797933-d0401ba2fe65?w=600&h=600&fit=crop")], condition: PRODUCT_FIELDS.CONDITION_VALUES.USED, estimatedValue: 149900, prizeSlotPrice: 149900, isWon: true },
|
|
178
|
-
{ itemNumber: 5, title: "Mystery Car (sealed)", images: [seedExtMedia("https://images.unsplash.com/photo-1594736797933-d0401ba2fe65?w=600&h=600&fit=crop")], condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW, estimatedValue: 29900, prizeSlotPrice: 29900, isWon: true },
|
|
179
|
-
{ itemNumber: 6, title: "RLC Exclusive Bone Shaker", images: [seedExtMedia("https://images.unsplash.com/photo-1594736797933-d0401ba2fe65?w=600&h=600&fit=crop")], condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW, estimatedValue: 59900, prizeSlotPrice: 59900, isWon: false },
|
|
180
|
-
{ itemNumber: 7, title: "Pop Culture DeLorean (BTTF)", images: [seedExtMedia("https://images.unsplash.com/photo-1594736797933-d0401ba2fe65?w=600&h=600&fit=crop")], condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW, estimatedValue: 39900, prizeSlotPrice: 39900, isWon: false },
|
|
181
|
-
{ itemNumber: 8, title: "Premium Car Culture set of 5", images: [seedExtMedia("https://images.unsplash.com/photo-1594736797933-d0401ba2fe65?w=600&h=600&fit=crop")], condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW, estimatedValue: 89900, prizeSlotPrice: 89900, isWon: false },
|
|
182
|
-
{ itemNumber: 9, title: "ID Car (NFC-chip, sealed)", images: [seedExtMedia("https://images.unsplash.com/photo-1594736797933-d0401ba2fe65?w=600&h=600&fit=crop")], condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW, estimatedValue: 69900, prizeSlotPrice: 69900, isWon: false },
|
|
183
|
-
{ itemNumber: 10, title: "Redline Beach Bomb (1969 prototype type)", images: [seedExtMedia("https://images.unsplash.com/photo-1594736797933-d0401ba2fe65?w=600&h=600&fit=crop")], condition: PRODUCT_FIELDS.CONDITION_VALUES.USED, estimatedValue: 199900, prizeSlotPrice: 199900, isWon: false },
|
|
184
|
-
];
|
|
185
|
-
}
|
|
186
|
-
function _pokemonPrizeItems() {
|
|
187
|
-
return [
|
|
188
|
-
{
|
|
189
|
-
itemNumber: 1,
|
|
190
|
-
title: "Charizard-themed Elite Trainer Box (sealed)",
|
|
191
|
-
description: "Scarlet & Violet 151 ETB featuring Charizard art.",
|
|
192
|
-
images: [
|
|
193
|
-
seedExtMedia("https://images.unsplash.com/photo-1613771404784-3a5686aa2be3?w=600&h=600&fit=crop"),
|
|
194
|
-
],
|
|
195
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
196
|
-
estimatedValue: 549900,
|
|
197
|
-
isWon: false,
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
itemNumber: 2,
|
|
201
|
-
title: "PSA 9 Base Set Blastoise Holo (#2/102)",
|
|
202
|
-
images: [
|
|
203
|
-
seedExtMedia("https://images.unsplash.com/photo-1607604276583-eef5d076aa5f?w=600&h=600&fit=crop"),
|
|
204
|
-
],
|
|
205
|
-
condition: "graded",
|
|
206
|
-
estimatedValue: 1249900,
|
|
207
|
-
isWon: false,
|
|
208
|
-
},
|
|
209
|
-
{
|
|
210
|
-
itemNumber: 3,
|
|
211
|
-
title: "Pokémon 151 Booster Bundle (6 packs)",
|
|
212
|
-
images: [
|
|
213
|
-
seedExtMedia("https://images.unsplash.com/photo-1614108831137-558fffac9ead?w=600&h=600&fit=crop"),
|
|
214
|
-
],
|
|
215
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
216
|
-
estimatedValue: 199900,
|
|
217
|
-
isWon: false,
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
itemNumber: 4,
|
|
221
|
-
title: "Pikachu V-UNION Special Collection",
|
|
222
|
-
images: [
|
|
223
|
-
seedExtMedia("https://images.unsplash.com/photo-1628968434441-d9c61d543a91?w=600&h=600&fit=crop"),
|
|
224
|
-
],
|
|
225
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
226
|
-
estimatedValue: 299900,
|
|
227
|
-
isWon: false,
|
|
228
|
-
},
|
|
229
|
-
{
|
|
230
|
-
itemNumber: 5,
|
|
231
|
-
title: "Mewtwo VSTAR Premium Collection",
|
|
232
|
-
images: [
|
|
233
|
-
seedExtMedia("https://images.unsplash.com/photo-1606503153255-59d8b8b82176?w=600&h=600&fit=crop"),
|
|
234
|
-
],
|
|
235
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
236
|
-
estimatedValue: 249900,
|
|
237
|
-
isWon: false,
|
|
238
|
-
},
|
|
239
|
-
{
|
|
240
|
-
itemNumber: 6,
|
|
241
|
-
title: "Paldean Fates 3-Pack Tin",
|
|
242
|
-
images: [
|
|
243
|
-
seedExtMedia("https://images.unsplash.com/photo-1613771404721-1f92d799e49f?w=600&h=600&fit=crop"),
|
|
244
|
-
],
|
|
245
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
246
|
-
estimatedValue: 99900,
|
|
247
|
-
isWon: false,
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
itemNumber: 7,
|
|
251
|
-
title: "Eevee Heroes Booster Box (Japanese)",
|
|
252
|
-
images: [
|
|
253
|
-
seedExtMedia("https://images.unsplash.com/photo-1607604276583-eef5d076aa5f?w=600&h=600&fit=crop"),
|
|
254
|
-
],
|
|
255
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
256
|
-
estimatedValue: 1999900,
|
|
257
|
-
isWon: false,
|
|
258
|
-
},
|
|
259
|
-
{
|
|
260
|
-
itemNumber: 8,
|
|
261
|
-
title: "Ancient Mew Promo Card (sealed)",
|
|
262
|
-
images: [
|
|
263
|
-
seedExtMedia("https://images.unsplash.com/photo-1610890716171-6b1bb98ffd09?w=600&h=600&fit=crop"),
|
|
264
|
-
],
|
|
265
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
266
|
-
estimatedValue: 79900,
|
|
267
|
-
isWon: false,
|
|
268
|
-
},
|
|
269
|
-
{
|
|
270
|
-
itemNumber: 9,
|
|
271
|
-
title: "Pokémon Center Plush — Snorlax",
|
|
272
|
-
images: [
|
|
273
|
-
seedExtMedia("https://images.unsplash.com/photo-1542779283-5a86fe9aab09?w=600&h=600&fit=crop"),
|
|
274
|
-
],
|
|
275
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
276
|
-
estimatedValue: 449900,
|
|
277
|
-
isWon: false,
|
|
278
|
-
},
|
|
279
|
-
{
|
|
280
|
-
itemNumber: 10,
|
|
281
|
-
title: "Mystery Holo Lot — 10 cards",
|
|
282
|
-
description: "10 random holographic rares from various sets.",
|
|
283
|
-
images: [
|
|
284
|
-
seedExtMedia("https://images.unsplash.com/photo-1613771404784-3a5686aa2be3?w=600&h=600&fit=crop"),
|
|
285
|
-
],
|
|
286
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
|
|
287
|
-
estimatedValue: 149900,
|
|
288
|
-
isWon: false,
|
|
289
|
-
},
|
|
290
|
-
];
|
|
291
|
-
}
|
|
292
|
-
function _ygoVintageBoosterItems() {
|
|
293
|
-
return [
|
|
294
|
-
{
|
|
295
|
-
itemNumber: 1,
|
|
296
|
-
title: "Legend of Blue Eyes White Dragon (LOB) Booster Box",
|
|
297
|
-
description: "24-pack sealed booster box. The set that started it all.",
|
|
298
|
-
images: [
|
|
299
|
-
seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/89631139.jpg"),
|
|
300
|
-
],
|
|
301
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
302
|
-
estimatedValue: 899900,
|
|
303
|
-
isWon: false,
|
|
304
|
-
},
|
|
305
|
-
{
|
|
306
|
-
itemNumber: 2,
|
|
307
|
-
title: "Metal Raiders (MRD) Booster Box",
|
|
308
|
-
images: [
|
|
309
|
-
seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/44095762.jpg"),
|
|
310
|
-
],
|
|
311
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
312
|
-
estimatedValue: 499900,
|
|
313
|
-
isWon: false,
|
|
314
|
-
},
|
|
315
|
-
{
|
|
316
|
-
itemNumber: 3,
|
|
317
|
-
title: "Pharaoh's Servant (PSV) Booster Box",
|
|
318
|
-
images: [
|
|
319
|
-
seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/25833572.jpg"),
|
|
320
|
-
],
|
|
321
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
322
|
-
estimatedValue: 599900,
|
|
323
|
-
isWon: false,
|
|
324
|
-
},
|
|
325
|
-
{
|
|
326
|
-
itemNumber: 4,
|
|
327
|
-
title: "Invasion of Chaos (IOC) Booster Box",
|
|
328
|
-
images: [
|
|
329
|
-
seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/82301904.jpg"),
|
|
330
|
-
],
|
|
331
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
332
|
-
estimatedValue: 449900,
|
|
333
|
-
isWon: false,
|
|
334
|
-
},
|
|
335
|
-
{
|
|
336
|
-
itemNumber: 5,
|
|
337
|
-
title: "Ancient Sanctuary (AST) Booster Box",
|
|
338
|
-
images: [
|
|
339
|
-
seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/77585513.jpg"),
|
|
340
|
-
],
|
|
341
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
342
|
-
estimatedValue: 699900,
|
|
343
|
-
isWon: false,
|
|
344
|
-
},
|
|
345
|
-
{
|
|
346
|
-
itemNumber: 6,
|
|
347
|
-
title: "Soul of the Duelist (SOD) Booster Box",
|
|
348
|
-
images: [
|
|
349
|
-
seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/78193831.jpg"),
|
|
350
|
-
],
|
|
351
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
352
|
-
estimatedValue: 549900,
|
|
353
|
-
isWon: false,
|
|
354
|
-
},
|
|
355
|
-
{
|
|
356
|
-
itemNumber: 7,
|
|
357
|
-
title: "Elemental Energy (EEN) Booster Box",
|
|
358
|
-
images: [
|
|
359
|
-
seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/20721928.jpg"),
|
|
360
|
-
],
|
|
361
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
362
|
-
estimatedValue: 799900,
|
|
363
|
-
isWon: false,
|
|
364
|
-
},
|
|
365
|
-
{
|
|
366
|
-
itemNumber: 8,
|
|
367
|
-
title: "Power of the Duelist (POTD) Booster Box",
|
|
368
|
-
images: [
|
|
369
|
-
seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/89943723.jpg"),
|
|
370
|
-
],
|
|
371
|
-
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
372
|
-
estimatedValue: 649900,
|
|
373
|
-
isWon: false,
|
|
374
|
-
},
|
|
375
|
-
];
|
|
376
|
-
}
|
|
377
|
-
/**
|
|
378
|
-
* SB1-G Phase 4 — every prize-draw is stamped with `listingType: "prize-draw"`.
|
|
379
|
-
* Mirrors the wrapper pattern used in
|
|
380
|
-
* `products-standard-seed-data.ts` / `products-auctions-seed-data.ts` /
|
|
381
|
-
* `products-preorders-seed-data.ts`.
|
|
382
|
-
*/
|
|
383
|
-
export const productsPrizeDrawsSeedData = _rawProductsPrizeDrawsSeedData.map((p) => ({
|
|
384
|
-
...p,
|
|
385
|
-
listingType: "prize-draw",
|
|
386
|
-
// W1-50 — searchTokens consistent with other seeds.
|
|
387
|
-
searchTokens: buildSearchTokens(p.title, p.description, p.brand, p.brandSlug, p.categoryNames, p.tags, p.condition),
|
|
388
|
-
}));
|
|
16
|
+
export const productsPrizeDrawsSeedData = [];
|