@mohasinac/appkit 2.7.52 → 2.7.54

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.
Files changed (123) hide show
  1. package/dist/_internal/client/features/layout/DashboardLayoutClient.js +1 -1
  2. package/dist/_internal/server/jobs/core/auctionSettlement.js +6 -3
  3. package/dist/_internal/server/jobs/core/bundleStockSync.js +9 -7
  4. package/dist/_internal/server/jobs/core/onProductStockChange.d.ts +12 -3
  5. package/dist/_internal/server/jobs/core/onProductStockChange.js +12 -13
  6. package/dist/_internal/server/jobs/core/onProductWrite.js +1 -3
  7. package/dist/_internal/server/jobs/handlers/onProductStockChange.js +11 -2
  8. package/dist/client.d.ts +2 -0
  9. package/dist/client.js +1 -0
  10. package/dist/constants/field-names.d.ts +4 -3
  11. package/dist/constants/field-names.js +8 -8
  12. package/dist/errors/error-codes.d.ts +3 -0
  13. package/dist/errors/error-codes.js +3 -0
  14. package/dist/errors/messages.d.ts +3 -0
  15. package/dist/errors/messages.js +3 -0
  16. package/dist/features/admin/types/product.types.d.ts +1 -1
  17. package/dist/features/admin/types/product.types.js +2 -3
  18. package/dist/features/auctions/actions/bid-actions.d.ts +9 -0
  19. package/dist/features/auctions/actions/bid-actions.js +61 -0
  20. package/dist/features/auctions/components/AuctionDetailPageView.d.ts +2 -1
  21. package/dist/features/auctions/components/AuctionDetailPageView.js +5 -4
  22. package/dist/features/auctions/components/PlaceBidFormClient.d.ts +3 -1
  23. package/dist/features/auctions/components/PlaceBidFormClient.js +32 -2
  24. package/dist/features/auctions/types/index.d.ts +1 -1
  25. package/dist/features/layout/AppLayoutShell.js +1 -1
  26. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +2 -11
  27. package/dist/features/products/api/[id]/route.js +4 -8
  28. package/dist/features/products/api/route.js +1 -3
  29. package/dist/features/products/components/AuctionsIndexListing.js +3 -11
  30. package/dist/features/products/components/PrizeDrawsIndexListing.js +2 -10
  31. package/dist/features/products/components/ProductFilters.d.ts +33 -9
  32. package/dist/features/products/components/ProductFilters.js +6 -29
  33. package/dist/features/products/components/ProductForm.js +2 -3
  34. package/dist/features/products/constants/sieve.d.ts +162 -0
  35. package/dist/features/products/constants/sieve.js +95 -0
  36. package/dist/features/products/repository/products.repository.d.ts +5 -0
  37. package/dist/features/products/repository/products.repository.js +23 -3
  38. package/dist/features/products/schemas/firestore.d.ts +4 -4
  39. package/dist/features/products/schemas/firestore.js +2 -3
  40. package/dist/features/products/schemas/index.d.ts +6 -6
  41. package/dist/features/products/schemas/index.js +2 -6
  42. package/dist/features/products/types/index.d.ts +1 -1
  43. package/dist/features/seller/actions/offer-actions.js +2 -2
  44. package/dist/features/wishlist/types/index.d.ts +1 -1
  45. package/dist/index.d.ts +6 -3
  46. package/dist/index.js +6 -4
  47. package/dist/seed/addresses-seed-data.d.ts +2 -18
  48. package/dist/seed/addresses-seed-data.js +137 -203
  49. package/dist/seed/bids-seed-data.d.ts +2 -8
  50. package/dist/seed/bids-seed-data.js +172 -648
  51. package/dist/seed/blog-posts-seed-data.d.ts +0 -5
  52. package/dist/seed/blog-posts-seed-data.js +341 -596
  53. package/dist/seed/carousel-slides-seed-data.d.ts +0 -5
  54. package/dist/seed/carousel-slides-seed-data.js +61 -192
  55. package/dist/seed/carousels-seed-data.js +18 -1
  56. package/dist/seed/cart-seed-data.d.ts +1 -18
  57. package/dist/seed/cart-seed-data.js +116 -293
  58. package/dist/seed/categories-seed-data.d.ts +0 -6
  59. package/dist/seed/categories-seed-data.js +1409 -1537
  60. package/dist/seed/claimed-coupons-seed-data.d.ts +0 -11
  61. package/dist/seed/claimed-coupons-seed-data.js +32 -29
  62. package/dist/seed/conversations-seed-data.d.ts +0 -6
  63. package/dist/seed/conversations-seed-data.js +132 -280
  64. package/dist/seed/coupon-usage-seed-data.d.ts +0 -16
  65. package/dist/seed/coupon-usage-seed-data.js +30 -44
  66. package/dist/seed/coupons-seed-data.d.ts +0 -6
  67. package/dist/seed/coupons-seed-data.js +141 -489
  68. package/dist/seed/events-seed-data.d.ts +0 -6
  69. package/dist/seed/events-seed-data.js +201 -379
  70. package/dist/seed/faq-seed-data.d.ts +0 -14
  71. package/dist/seed/faq-seed-data.js +609 -1184
  72. package/dist/seed/grouped-listings-seed-data.d.ts +119 -8
  73. package/dist/seed/grouped-listings-seed-data.js +148 -233
  74. package/dist/seed/history-seed-data.d.ts +0 -7
  75. package/dist/seed/history-seed-data.js +50 -54
  76. package/dist/seed/homepage-sections-seed-data.d.ts +0 -5
  77. package/dist/seed/homepage-sections-seed-data.js +83 -175
  78. package/dist/seed/index.d.ts +1 -1
  79. package/dist/seed/index.js +1 -1
  80. package/dist/seed/manifest.js +2 -2
  81. package/dist/seed/notifications-seed-data.d.ts +0 -6
  82. package/dist/seed/notifications-seed-data.js +309 -196
  83. package/dist/seed/offers-seed-data.d.ts +0 -8
  84. package/dist/seed/offers-seed-data.js +118 -197
  85. package/dist/seed/orders-seed-data.d.ts +2 -8
  86. package/dist/seed/orders-seed-data.js +248 -1510
  87. package/dist/seed/payouts-seed-data.d.ts +0 -6
  88. package/dist/seed/payouts-seed-data.js +102 -441
  89. package/dist/seed/products-auctions-seed-data.d.ts +1 -14
  90. package/dist/seed/products-auctions-seed-data.js +612 -1084
  91. package/dist/seed/products-preorders-seed-data.d.ts +119 -14
  92. package/dist/seed/products-preorders-seed-data.js +154 -455
  93. package/dist/seed/products-standard-seed-data.d.ts +1 -15
  94. package/dist/seed/products-standard-seed-data.js +1355 -4128
  95. package/dist/seed/reviews-seed-data.d.ts +2 -8
  96. package/dist/seed/reviews-seed-data.js +99 -1182
  97. package/dist/seed/scammers-seed-data.d.ts +0 -15
  98. package/dist/seed/scammers-seed-data.js +36 -37
  99. package/dist/seed/sessions-seed-data.d.ts +0 -13
  100. package/dist/seed/sessions-seed-data.js +58 -335
  101. package/dist/seed/site-settings-seed-data.d.ts +0 -4
  102. package/dist/seed/site-settings-seed-data.js +61 -52
  103. package/dist/seed/store-addresses-seed-data.js +27 -151
  104. package/dist/seed/store-extensions-seed-data.d.ts +0 -7
  105. package/dist/seed/store-extensions-seed-data.js +147 -261
  106. package/dist/seed/stores-seed-data.d.ts +0 -5
  107. package/dist/seed/stores-seed-data.js +222 -184
  108. package/dist/seed/sub-listings-seed-data.d.ts +119 -0
  109. package/dist/seed/sub-listings-seed-data.js +447 -0
  110. package/dist/seed/support-tickets-seed-data.d.ts +0 -7
  111. package/dist/seed/support-tickets-seed-data.js +82 -75
  112. package/dist/seed/users-seed-data.d.ts +0 -5
  113. package/dist/seed/users-seed-data.js +279 -634
  114. package/dist/seed/wishlists-seed-data.d.ts +0 -9
  115. package/dist/seed/wishlists-seed-data.js +36 -52
  116. package/dist/seo/json-ld.js +6 -4
  117. package/dist/styles.css +8052 -3
  118. package/dist/utils/index.d.ts +1 -0
  119. package/dist/utils/index.js +1 -0
  120. package/dist/utils/search-tokens.d.ts +2 -0
  121. package/dist/utils/search-tokens.js +21 -0
  122. package/package.json +2 -2
  123. package/scripts/seed-cli.mjs +2 -2
@@ -1,1161 +1,689 @@
1
- /**
2
- * Auctions Seed Data Collectibles Edition
3
- * 6 auctions in all lifecycle states: active-ending-soon, active×2,
4
- * upcoming, ended (winner), ended (settled).
5
- * Stored as ProductDocument with listingType: "auction".
6
- * id === slug convention enforced throughout.
7
- * Prices in INR paise (₹1 = 100 paise).
1
+ /*
2
+ * WHY: Seeds auction listings for the YGO marketplace, providing high-value graded cards and collectibles with dynamic bidding mechanics.
3
+ * WHAT: Exports 20 active/ended auctions (16 Kaiba + 4 Admin store). Each auction includes starting bid, buy-it-now price, grading info (PSA/BGS/CGC or raw), status flags (active/sold/draft), and bid history counts. All use YGOPRODECK images. Status distribution: 14 active (published), 4 sold (ended), 2 draft (upcoming).
4
+ *
5
+ * EXPORTS:
6
+ * productsAuctionsSeedData Array of 20 auction products with listingType:"auction"
7
+ *
8
+ * @tag domain:auctions,products
9
+ * @tag layer:seed
10
+ * @tag pattern:none
11
+ * @tag access:server-only
12
+ * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
13
+ * @tag sideEffects:none
8
14
  */
9
- import { PRODUCT_FIELDS, SCHEMA_DEFAULTS } from "../constants/field-names";
10
- const NOW = new Date();
11
- const hoursAhead = (h) => new Date(NOW.getTime() + h * 3600000);
12
- const daysAhead = (n) => new Date(NOW.getTime() + n * 86400000);
13
- const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
14
- const hoursAgo = (h) => new Date(NOW.getTime() - h * 3600000);
15
- const _rawProductsAuctionsSeedData = [
16
- // ── 1. ACTIVE — ending in 12h (Charizard Base Set #4 PSA 9) ───────────────
17
- {
18
- id: "auction-pokemon-charizard-base1-psa9",
19
- slug: "auction-pokemon-charizard-base1-psa9",
20
- title: "Pokémon Base Set 1st Edition Charizard #4 Holo — PSA 9 MINT (AUCTION)",
21
- description: "An absolutely pristine 1st Edition Base Set Charizard #4 graded PSA 9 MINT — one of the most iconic and sought-after Pokémon cards in existence. The 1st Edition stamp on the left of the artwork, shadow-less frame, and deep crimson fire breath in perfect registration. PSA 9 MINT has four sharp corners, bright lustre, no visible surface scratches, well-centered image. Certificate number visible on slab. This is auction lot 1 of 1 — once this card is gone, there is no re-stock. A generational collectible.",
22
- categorySlugs: ["category-vintage-tcg"],
23
- categoryNames: ["Vintage TCG"],
24
- brand: "The Pokémon Company",
25
- brandSlug: "brand-pokemon-company",
26
- auctionEndDate: hoursAhead(12),
27
- startingBid: 9999900,
28
- currentBid: 29999900,
29
- bidCount: 6,
30
- reservePrice: 25000000,
31
- minBidIncrement: 500000,
32
- autoExtendable: true,
33
- auctionExtensionMinutes: 5,
34
- auctionShippingPaidBy: "winner",
35
- price: 9999900,
36
- currency: SCHEMA_DEFAULTS.CURRENCY,
15
+ import { PRODUCT_FIELDS } from "../constants/field-names";
16
+ import { buildSearchTokens } from "../utils/search-tokens";
17
+ function withTokens(p) {
18
+ return {
19
+ tags: [],
20
+ featured: false,
21
+ price: p.startingBid ?? 0,
37
22
  stockQuantity: 1,
38
- availableQuantity: 1,
39
- mainImage: "https://images.unsplash.com/photo-1578301978162-7aae4d755744?w=800&h=800&fit=crop",
40
- images: [
41
- "https://images.unsplash.com/photo-1578301978162-7aae4d755744?w=800&h=800&fit=crop",
42
- "https://images.unsplash.com/photo-1607604276583-eef5d076aa5f?w=800&h=800&fit=crop",
43
- "https://images.unsplash.com/photo-1613771404784-3a5686aa2be3?w=800&h=800&fit=crop",
44
- ],
23
+ availableQuantity: p.isSold ? 0 : 1,
24
+ ...p,
25
+ searchTokens: buildSearchTokens(p.title, p.description, p.brand, p.brandSlug, p.categoryNames, p.tags, p.features, p.condition, p.card?.setName, p.card?.cardNumber, p.grading?.service, p.specifications?.map((s) => `${s.name} ${s.value}`)),
26
+ };
27
+ }
28
+ const CARD_IDS = {
29
+ darkMagician: 46986414,
30
+ blueEyesWhiteDragon: 89631139,
31
+ darkMagicianGirl: 38033121,
32
+ chaosEmperorDragon: 82301904,
33
+ potOfGreed: 55144522,
34
+ raigeki: 12580477,
35
+ mirrorForce: 44095762,
36
+ monsterReborn: 83764718,
37
+ changeOfHeart: 4031928,
38
+ blueEyesUltimateDragon: 23995346,
39
+ rainbowDragon: 79105217,
40
+ exodiaHead: 33396948,
41
+ jinzo: 77585513,
42
+ gateGuardian: 25833572,
43
+ elementalHeroNeos: 89943723,
44
+ };
45
+ const _kaibaAuctionsSeedData = [
46
+ {
47
+ id: "auction-psa10-blue-eyes-lob",
48
+ slug: "auction-psa10-blue-eyes-lob",
49
+ title: "Blue-Eyes White Dragon (LOB PSA 10)",
50
+ description: "First Edition Blue-Eyes White Dragon LOB in PSA 10 gem mint condition. Ultra rare.",
51
+ categorySlugs: ["category-graded-cards", "category-psa-graded"],
52
+ categoryNames: ["Graded Cards", "PSA Slabs"],
53
+ brandSlug: "brand-konami",
54
+ brand: "Konami",
55
+ startingBid: 4999900, // ₹49,999
56
+ buyItNowPriceInPaise: 9999900, // ₹99,999
57
+ currentBid: 7999900,
58
+ currency: "INR",
59
+ auctionEndDate: new Date(Date.now() + 3 * 24 * 60 * 60 * 1000), // +3 days
60
+ bidCount: 8,
61
+ bidsHaveStarted: true,
62
+ isSold: false,
63
+ mainImage: `https://images.ygoprodeck.com/images/cards/${CARD_IDS.blueEyesWhiteDragon}.jpg`,
64
+ images: [`https://images.ygoprodeck.com/images/cards/${CARD_IDS.blueEyesWhiteDragon}.jpg`],
45
65
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
46
- storeName: "Pokémon Palace",
47
- storeId: "store-pokemon-palace",
48
- featured: true,
49
- isPromoted: true,
50
- tags: [
51
- "pokemon",
52
- "charizard",
53
- "base-set",
54
- "1st-edition",
55
- "psa-9",
56
- "graded",
57
- "vintage",
58
- "auction",
59
- ],
60
- condition: "graded",
61
- specifications: [
62
- { name: "Card", value: "Charizard #4 Holo — Base Set 1st Edition" },
63
- { name: "Grade", value: "PSA 9 MINT" },
64
- { name: "Print", value: "1st Edition (stamped)" },
65
- { name: "Language", value: "English" },
66
- { name: "Year", value: "1999" },
67
- { name: "Reserve Price", value: "₹2,50,000" },
68
- ],
69
- features: [
70
- "PSA 9 MINT — 4 sharp corners, bright lustre",
71
- "1st Edition stamp — most valuable print run",
72
- "Certificate number confirmed — not a fake slab",
73
- "Reserve price set at ₹2,50,000",
74
- "Auto-extend: 5 minutes if bid in final 5 min",
75
- ],
76
- shippingInfo: "Winner-paid insured shipping via Blue Dart courier. Double-boxed with foam, PSA slab protector, and tamper-evident seal.",
77
- returnPolicy: "No returns on auction lots. Verified photos and PSA certificate provided before shipping. Any dispute about card grade handled via PSA directly.",
78
- insurance: true,
79
- insuranceCost: 100000,
80
- createdAt: daysAgo(14),
81
- updatedAt: hoursAgo(2),
66
+ grading: {
67
+ service: "PSA",
68
+ grade: 10,
69
+ certNumber: "PSA-YGO-112233",
70
+ },
71
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
72
+ storeId: "store-kaiba-corp-cards",
73
+ storeName: "Kaiba Corp Card Vault",
74
+ createdAt: new Date("2026-05-18"),
75
+ updatedAt: new Date("2026-05-21"),
82
76
  },
83
- // ── 2. ACTIVE — ending in 48h (Exodia 1st Edition LOB PSA 8) ──────────────
84
77
  {
85
- id: "auction-yugioh-lob1-exodia-1st-psa8",
86
- slug: "auction-yugioh-lob1-exodia-1st-psa8",
87
- title: "Yu-Gi-Oh! Exodia the Forbidden One — LOB-000 1st Edition PSA 8 NM-MT (AUCTION)",
88
- description: "Ultra-rare 1st Edition Exodia the Forbidden One from the original Legend of Blue Eyes White Dragon set (LOB-000), graded PSA 8 Near Mint to Mint. Exodia is one of the most iconic and mythological cards in all of Yu-Gi-Oh — the card that ends the game instantly when all five Exodia pieces are assembled. This 1st Edition LOB-000 printing is the most desirable version, identifiable by the 1st Edition stamp in the lower left of the card frame. PSA 8 NM-MT: four nearly perfect corners, excellent surface, minimal wear. A tournament legend in slab form.",
89
- categorySlugs: ["category-vintage-tcg"],
90
- categoryNames: ["Vintage TCG"],
78
+ id: "auction-psa9-dark-magician-lob",
79
+ slug: "auction-psa9-dark-magician-lob",
80
+ title: "Dark Magician (LOB PSA 9)",
81
+ description: "First Edition Dark Magician LOB in PSA 9 mint condition.",
82
+ categorySlugs: ["category-graded-cards", "category-psa-graded"],
83
+ categoryNames: ["Graded Cards", "PSA Slabs"],
84
+ brandSlug: "brand-konami",
91
85
  brand: "Konami",
86
+ startingBid: 2999900,
87
+ buyItNowPriceInPaise: 5999900,
88
+ currentBid: 4499900,
89
+ currency: "INR",
90
+ auctionEndDate: new Date(Date.now() + 5 * 24 * 60 * 60 * 1000),
91
+ bidCount: 6,
92
+ bidsHaveStarted: true,
93
+ isSold: false,
94
+ mainImage: `https://images.ygoprodeck.com/images/cards/${CARD_IDS.darkMagician}.jpg`,
95
+ images: [`https://images.ygoprodeck.com/images/cards/${CARD_IDS.darkMagician}.jpg`],
96
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
97
+ grading: { service: "PSA", grade: 9, certNumber: "PSA-YGO-334455" },
98
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
99
+ storeId: "store-kaiba-corp-cards",
100
+ storeName: "Kaiba Corp Card Vault",
101
+ createdAt: new Date("2026-05-17"),
102
+ updatedAt: new Date("2026-05-21"),
103
+ },
104
+ {
105
+ id: "auction-1st-ed-pot-of-greed",
106
+ slug: "auction-1st-ed-pot-of-greed",
107
+ title: "Pot of Greed (LOB 1st Edition)",
108
+ description: "1st Edition Pot of Greed from LOB. Raw, near mint condition.",
109
+ categorySlugs: ["category-spell-cards", "category-singles"],
110
+ categoryNames: ["Spell / Magic Cards", "Singles"],
92
111
  brandSlug: "brand-konami",
93
- auctionEndDate: hoursAhead(48),
112
+ brand: "Konami",
94
113
  startingBid: 1499900,
95
- currentBid: 4999900,
114
+ buyItNowPriceInPaise: 2999900,
115
+ currentBid: 2299900,
116
+ currency: "INR",
117
+ auctionEndDate: new Date(Date.now() + 2 * 24 * 60 * 60 * 1000),
118
+ bidCount: 4,
119
+ bidsHaveStarted: true,
120
+ isSold: false,
121
+ mainImage: `https://images.ygoprodeck.com/images/cards/${CARD_IDS.potOfGreed}.jpg`,
122
+ images: [`https://images.ygoprodeck.com/images/cards/${CARD_IDS.potOfGreed}.jpg`],
123
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
124
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
125
+ storeId: "store-kaiba-corp-cards",
126
+ storeName: "Kaiba Corp Card Vault",
127
+ createdAt: new Date("2026-05-19"),
128
+ updatedAt: new Date("2026-05-21"),
129
+ },
130
+ {
131
+ id: "auction-psa9-chaos-emperor",
132
+ slug: "auction-psa9-chaos-emperor",
133
+ title: "Chaos Emperor Dragon (IOC PSA 9)",
134
+ description: "Chaos Emperor Dragon IOC in PSA 9 condition. Powerful card.",
135
+ categorySlugs: ["category-monster-cards", "category-singles"],
136
+ categoryNames: ["Monster Cards", "Singles"],
137
+ brandSlug: "brand-konami",
138
+ brand: "Konami",
139
+ startingBid: 999900,
140
+ buyItNowPriceInPaise: 1999900,
141
+ currentBid: 1599900,
142
+ currency: "INR",
143
+ auctionEndDate: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000),
96
144
  bidCount: 5,
97
- reservePrice: 4000000,
98
- minBidIncrement: 250000,
99
- autoExtendable: true,
100
- auctionExtensionMinutes: 5,
101
- auctionShippingPaidBy: "winner",
102
- price: 1499900,
103
- currency: SCHEMA_DEFAULTS.CURRENCY,
104
- stockQuantity: 1,
105
- availableQuantity: 1,
106
- mainImage: "https://images.unsplash.com/photo-1612036782180-6f0b6cd846fe?w=800&h=800&fit=crop",
107
- images: [
108
- "https://images.unsplash.com/photo-1612036782180-6f0b6cd846fe?w=800&h=800&fit=crop",
109
- "https://images.unsplash.com/photo-1607604276583-eef5d076aa5f?w=800&h=800&fit=crop",
110
- "https://images.unsplash.com/photo-1578301978162-7aae4d755744?w=800&h=800&fit=crop",
111
- ],
145
+ bidsHaveStarted: true,
146
+ isSold: false,
147
+ mainImage: `https://images.ygoprodeck.com/images/cards/${CARD_IDS.chaosEmperorDragon}.jpg`,
148
+ images: [`https://images.ygoprodeck.com/images/cards/${CARD_IDS.chaosEmperorDragon}.jpg`],
112
149
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
113
- storeName: "CardGame Hub",
114
- storeId: "store-cardgame-hub",
115
- featured: true,
116
- isPromoted: false,
117
- tags: [
118
- "yugioh",
119
- "exodia",
120
- "lob",
121
- "1st-edition",
122
- "psa-8",
123
- "graded",
124
- "vintage",
125
- "auction",
126
- ],
127
- condition: "graded",
128
- specifications: [
129
- { name: "Card", value: "Exodia the Forbidden One — LOB-000" },
130
- { name: "Grade", value: "PSA 8 NM-MT" },
131
- { name: "Print", value: "1st Edition" },
132
- { name: "Language", value: "English" },
133
- { name: "Year", value: "2002" },
134
- { name: "Reserve Price", value: "₹40,000" },
135
- ],
136
- features: [
137
- "PSA 8 NM-MT — nearly perfect condition",
138
- "1st Edition LOB-000 — rarest print",
139
- "Exodia — most legendary card in the game",
140
- "Reserve met — guaranteed to sell",
141
- "WCS 2022 qualifier-sourced — tournament provenance",
142
- ],
143
- shippingInfo: "Winner-paid insured shipping. PSA slab shipped in foam-lined rigid mailer via Blue Dart.",
144
- returnPolicy: "No returns on auction lots. Slab photos provided before shipping.",
145
- insurance: true,
146
- insuranceCost: 20000,
147
- createdAt: daysAgo(7),
148
- updatedAt: hoursAgo(6),
150
+ grading: { service: "PSA", grade: 9, certNumber: "PSA-YGO-556677" },
151
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
152
+ storeId: "store-kaiba-corp-cards",
153
+ storeName: "Kaiba Corp Card Vault",
154
+ createdAt: new Date("2026-05-14"),
155
+ updatedAt: new Date("2026-05-21"),
149
156
  },
150
- // ── 3. ACTIVE — ending in 6h (Hot Wheels Redline Pink Camaro 1967) ─────────
151
157
  {
152
- id: "auction-hot-wheels-redline-camaro-pink",
153
- slug: "auction-hot-wheels-redline-camaro-pink",
154
- title: "Hot Wheels Redline 1967 Custom Camaro — Spectraflame Pink (Vintage, AUCTION)",
155
- description: "Extremely rare 1967 Hot Wheels Redline Custom Camaro in Spectraflame Pink — one of the most sought-after Redline colourways among serious diecast collectors. The Spectraflame Pink finish has a characteristic metallic candy-pink lustre that was only produced for a very limited run. This example is in Very Good (VG) condition: strong pink spectraflame with minor surface abrasion on the hood, red-line tyres intact, all four wheels spin freely. Sourced from a Japan Redline collector who acquired it at a 1980s Tokyo toy show. No repaints, no replaced parts. Accompanied by a collector's provenance letter.",
156
- categorySlugs: ["category-hot-wheels"],
157
- categoryNames: ["Hot Wheels"],
158
- brand: "Hot Wheels",
159
- brandSlug: "brand-hot-wheels",
160
- auctionEndDate: hoursAhead(6),
161
- startingBid: 499900,
162
- currentBid: 1299900,
163
- bidCount: 4,
164
- reservePrice: 1000000,
165
- minBidIncrement: 100000,
166
- autoExtendable: true,
167
- auctionExtensionMinutes: 5,
168
- auctionShippingPaidBy: "winner",
169
- price: 499900,
170
- currency: SCHEMA_DEFAULTS.CURRENCY,
171
- stockQuantity: 1,
172
- availableQuantity: 1,
173
- mainImage: "https://images.unsplash.com/photo-1581235720704-06d3acfcb36f?w=800&h=800&fit=crop",
174
- images: [
175
- "https://images.unsplash.com/photo-1581235720704-06d3acfcb36f?w=800&h=800&fit=crop",
176
- "https://images.unsplash.com/photo-1566576912321-d58ddd7a6088?w=800&h=800&fit=crop",
177
- "https://images.unsplash.com/photo-1603584173870-7f23fdae1b7a?w=800&h=800&fit=crop",
178
- ],
158
+ id: "auction-1st-ed-mirror-force",
159
+ slug: "auction-1st-ed-mirror-force",
160
+ title: "Mirror Force (MRD 1st Edition)",
161
+ description: "1st Edition Mirror Force from Metal Raiders.",
162
+ categorySlugs: ["category-trap-cards", "category-singles"],
163
+ categoryNames: ["Trap Cards", "Singles"],
164
+ brandSlug: "brand-konami",
165
+ brand: "Konami",
166
+ startingBid: 799900,
167
+ buyItNowPriceInPaise: 1499900,
168
+ currentBid: 1199900,
169
+ currency: "INR",
170
+ auctionEndDate: new Date(Date.now() + 4 * 24 * 60 * 60 * 1000),
171
+ bidCount: 3,
172
+ bidsHaveStarted: true,
173
+ isSold: false,
174
+ mainImage: `https://images.ygoprodeck.com/images/cards/${CARD_IDS.mirrorForce}.jpg`,
175
+ images: [`https://images.ygoprodeck.com/images/cards/${CARD_IDS.mirrorForce}.jpg`],
179
176
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
180
- storeName: "Diecast Depot",
181
- storeId: "store-diecast-depot",
182
- featured: false,
183
- isPromoted: true,
184
- tags: [
185
- "hot-wheels",
186
- "redline",
187
- "1967",
188
- "camaro",
189
- "pink",
190
- "spectraflame",
191
- "vintage",
192
- "rare",
193
- "auction",
194
- ],
195
177
  condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
196
- specifications: [
197
- { name: "Year", value: "1967" },
198
- { name: "Scale", value: "1:64" },
199
- { name: "Colour", value: "Spectraflame Pink" },
200
- { name: "Wheels", value: "Redline" },
201
- { name: "Condition Grade", value: "Very Good (VG)" },
202
- { name: "Reserve Price", value: "₹10,000" },
203
- ],
204
- features: [
205
- "Spectraflame Pink — rarest Camaro Redline colourway",
206
- "Japan collector provenance — Tokyo toy show 1980s",
207
- "Original — no repaints, no replaced parts",
208
- "Collector's provenance letter included",
209
- "Reserve met — guaranteed to sell",
210
- ],
211
- shippingInfo: "Winner-paid insured shipping. Bubble-wrapped in rigid foam-lined mailer.",
212
- returnPolicy: "No returns on auction lots. Detailed photos taken before shipping for reference.",
213
- insurance: true,
214
- insuranceCost: 5000,
215
- createdAt: daysAgo(5),
216
- updatedAt: hoursAgo(1),
178
+ storeId: "store-kaiba-corp-cards",
179
+ storeName: "Kaiba Corp Card Vault",
180
+ createdAt: new Date("2026-05-18"),
181
+ updatedAt: new Date("2026-05-21"),
217
182
  },
218
- // ── 4. UPCOMING — starts in 72h (Beyblade Metal Fusion BB-10 Signed) ───────
219
183
  {
220
- id: "auction-beyblade-metal-fusion-signed",
221
- slug: "auction-beyblade-metal-fusion-signed",
222
- title: "Beyblade Metal Fusion BB-10 Storm Pegasus — Factory Sealed + Signed by Voice Actor (UPCOMING AUCTION)",
223
- description: "Extraordinary lot: a factory-sealed Beyblade Metal Fusion BB-10 Storm Pegasus Starter Set, signed on the outer box by the Japanese voice actor for Ginga Hagane (Kei Shindo), with certificate of authenticity. BB-10 Storm Pegasus is the iconic starting Beyblade for the Metal Fusion series, and factory-sealed examples are increasingly rare as most were opened immediately. The signature was obtained at WonFes 2019 and is accompanied by a photograph of the signing session. Opening bid at ₹2,999 — no reserve. This auction starts in 72 hours.",
224
- categorySlugs: ["category-beyblade-classic"],
225
- categoryNames: ["Metal Fight Classic"],
226
- brand: "Beyblade",
227
- brandSlug: "brand-beyblade",
228
- auctionEndDate: daysAhead(7),
229
- startingBid: 299900,
230
- currentBid: 0,
231
- bidCount: 0,
232
- reservePrice: 0,
233
- minBidIncrement: 50000,
234
- autoExtendable: true,
235
- auctionExtensionMinutes: 5,
236
- auctionShippingPaidBy: "winner",
237
- price: 299900,
238
- currency: SCHEMA_DEFAULTS.CURRENCY,
239
- stockQuantity: 1,
240
- availableQuantity: 1,
241
- mainImage: "https://images.unsplash.com/photo-1555680202-c86f0e12f086?w=800&h=800&fit=crop",
242
- images: [
243
- "https://images.unsplash.com/photo-1555680202-c86f0e12f086?w=800&h=800&fit=crop",
244
- "https://images.unsplash.com/photo-1612287230202-1ff1d85d1bdf?w=800&h=800&fit=crop",
245
- "https://images.unsplash.com/photo-1614108831137-558fffac9ead?w=800&h=800&fit=crop",
246
- ],
184
+ id: "auction-bgs95-dark-magician-girl",
185
+ slug: "auction-bgs95-dark-magician-girl",
186
+ title: "Dark Magician Girl (IOC BGS 9.5)",
187
+ description: "Dark Magician Girl IOC in BGS 9.5 condition. Gorgeous card.",
188
+ categorySlugs: ["category-monster-cards", "category-singles"],
189
+ categoryNames: ["Monster Cards", "Singles"],
190
+ brandSlug: "brand-konami",
191
+ brand: "Konami",
192
+ startingBid: 3499900,
193
+ buyItNowPriceInPaise: 6999900,
194
+ currentBid: 5499900,
195
+ currency: "INR",
196
+ auctionEndDate: new Date(Date.now() + 6 * 24 * 60 * 60 * 1000),
197
+ bidCount: 7,
198
+ bidsHaveStarted: true,
199
+ isSold: false,
200
+ mainImage: `https://images.ygoprodeck.com/images/cards/${CARD_IDS.darkMagicianGirl}.jpg`,
201
+ images: [`https://images.ygoprodeck.com/images/cards/${CARD_IDS.darkMagicianGirl}.jpg`],
247
202
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
248
- storeName: "Beyblade Arena",
249
- storeId: "store-beyblade-arena",
250
- featured: false,
251
- isPromoted: false,
252
- tags: [
253
- "beyblade",
254
- "metal-fusion",
255
- "bb-10",
256
- "storm-pegasus",
257
- "signed",
258
- "factory-sealed",
259
- "vintage",
260
- "upcoming-auction",
261
- ],
262
- condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
263
- specifications: [
264
- { name: "Product", value: "BB-10 Storm Pegasus Starter Set" },
265
- { name: "Generation", value: "Metal Fusion (2008)" },
266
- { name: "Condition", value: "Factory sealed" },
267
- { name: "Signature", value: "Kei Shindo (Japanese VA — Ginga Hagane)" },
268
- { name: "Event", value: "Wonder Festival 2019" },
269
- { name: "Reserve", value: "No reserve — sells at any price" },
270
- ],
271
- features: [
272
- "Factory-sealed BB-10 — rare to find sealed",
273
- "Signed by Japanese voice actor at WonFes 2019",
274
- "Certificate of authenticity + signing photo",
275
- "No reserve — auction opens to all bids",
276
- "Auction starts in 72 hours — set a reminder",
277
- ],
278
- shippingInfo: "Winner-paid insured shipping. Foam-lined rigid mailer, tamper-evident seal.",
279
- returnPolicy: "No returns on auction lots. All details disclosed upfront — no hidden flaws.",
280
- createdAt: daysAgo(3),
281
- updatedAt: daysAgo(1),
203
+ grading: { service: "BGS", grade: 9.5, certNumber: "BGS-YGO-778899" },
204
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
205
+ storeId: "store-kaiba-corp-cards",
206
+ storeName: "Kaiba Corp Card Vault",
207
+ createdAt: new Date("2026-05-16"),
208
+ updatedAt: new Date("2026-05-21"),
282
209
  },
283
- // ── 5. ENDED — 7 days ago, winner declared (Gundam PG Strike Freedom) ──────
284
210
  {
285
- id: "auction-gundam-pg-strike-freedom-box",
286
- slug: "auction-gundam-pg-strike-freedom-box",
287
- title: "Bandai Gunpla PG 1/60 Strike Freedom Gundam — Factory Sealed (AUCTION ENDED)",
288
- description: "AUCTION CLOSED This auction has ended. Final winning bid: ₹29,999. A factory-sealed Bandai Perfect Grade 1/60 Strike Freedom Gundam — Bandai's magnum opus kit, widely regarded as the most complex and visually stunning Gunpla ever produced. The PG 1/60 stands 37 cm tall assembled, features 500+ parts, full LED lighting system runner (sold separately), internal frame with gold-plated parts, wing of light effect set, and METEOR unit attachment. The winner has been notified and shipment is being arranged.",
289
- categorySlugs: ["category-gunpla"],
290
- categoryNames: ["Gunpla"],
291
- brand: "Bandai",
292
- brandSlug: "brand-bandai",
293
- auctionEndDate: daysAgo(7),
294
- startingBid: 999900,
295
- currentBid: 2999900,
211
+ id: "auction-raw-lob-complete-set",
212
+ slug: "auction-raw-lob-complete-set",
213
+ title: "LOB Complete Set (Raw NM)",
214
+ description: "All cards from Legend of Blue Eyes set in near mint raw condition. Complete collection.",
215
+ categorySlugs: ["category-singles"],
216
+ categoryNames: ["Singles"],
217
+ brandSlug: "brand-konami",
218
+ brand: "Konami",
219
+ startingBid: 4999900,
220
+ buyItNowPriceInPaise: 8999900,
221
+ currentBid: 7499900,
222
+ currency: "INR",
223
+ auctionEndDate: new Date(Date.now() + 10 * 24 * 60 * 60 * 1000),
296
224
  bidCount: 6,
297
- reservePrice: 2500000,
298
- minBidIncrement: 250000,
299
- autoExtendable: false,
300
- auctionShippingPaidBy: "winner",
301
- price: 999900,
302
- currency: SCHEMA_DEFAULTS.CURRENCY,
303
- stockQuantity: 0,
304
- availableQuantity: 0,
305
- mainImage: "https://images.unsplash.com/photo-1657664072470-99b02c2143f2?w=800&h=800&fit=crop",
306
- images: [
307
- "https://images.unsplash.com/photo-1657664072470-99b02c2143f2?w=800&h=800&fit=crop",
308
- "https://images.unsplash.com/photo-1608889825271-9696283b84bd?w=800&h=800&fit=crop",
309
- "https://images.unsplash.com/photo-1599420186946-7b6fb4e297f0?w=800&h=800&fit=crop",
310
- ],
311
- status: PRODUCT_FIELDS.STATUS_VALUES.SOLD,
312
- storeName: "LetItRip Official",
313
- storeId: "store-letitrip-official",
314
- featured: false,
315
- isPromoted: false,
316
- tags: [
317
- "gunpla",
318
- "perfect-grade",
319
- "strike-freedom",
320
- "bandai",
321
- "factory-sealed",
322
- "auction",
323
- "ended",
324
- ],
325
- condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
326
- specifications: [
327
- { name: "Grade", value: "Perfect Grade (PG)" },
328
- { name: "Scale", value: "1/60" },
329
- { name: "Height assembled", value: "~37 cm", unit: "cm" },
330
- { name: "Parts", value: "500+" },
331
- { name: "Final Bid", value: "₹29,999" },
332
- { name: "Status", value: "Auction ended — winner notified" },
333
- ],
334
- features: [
335
- "PG 1/60 Strike Freedom — most complex PG ever",
336
- "500+ parts — internal gold frame",
337
- "Wing of Light effect set included",
338
- "METEOR unit attachment",
339
- "Factory sealed — auction now closed",
340
- ],
341
- shippingInfo: "Shipping arranged with winner. Auction closed.",
342
- returnPolicy: "Auction ended. No returns.",
343
- createdAt: daysAgo(21),
344
- updatedAt: daysAgo(7),
225
+ bidsHaveStarted: true,
226
+ isSold: false,
227
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.blueEyesWhiteDragon}.jpg`,
228
+ images: [`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.blueEyesWhiteDragon}.jpg`],
229
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
230
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
231
+ storeId: "store-kaiba-corp-cards",
232
+ storeName: "Kaiba Corp Card Vault",
233
+ createdAt: new Date("2026-05-11"),
234
+ updatedAt: new Date("2026-05-21"),
345
235
  },
346
- // ── 7. ACTIVE — ending in 24h (Pokémon Mew 1st Edition PSA 10) ──────────────
347
236
  {
348
- id: "auction-pokemon-mew-1st-edition-psa10",
349
- slug: "auction-pokemon-mew-1st-edition-psa10",
350
- title: "Pokémon Base Set 1st Edition Mew Promo #8 — PSA 10 GEM MINT (AUCTION)",
351
- description: "A PSA 10 GEM MINT 1st Edition Mew Promo card (#8, Ancient Mew alt art) — one of the rarest PSA 10s in existence due to the delicate nature of the foil stock used in this promo. The Ancient Mew promotional card was distributed with Pokémon: The Movie 2000 tickets in Japan and the US. This copy has four perfect corners, flawless surface, and perfect centering under the PSA slab. PSA population report shows fewer than 50 PSA 10s of this card exist globally. Opening bid ₹99,999. Reserve met.",
352
- categorySlugs: ["category-vintage-tcg"],
353
- categoryNames: ["Vintage TCG"],
354
- brand: "The Pokémon Company",
355
- brandSlug: "brand-pokemon-company",
356
- auctionEndDate: hoursAhead(24),
357
- startingBid: 9999900,
358
- currentBid: 14999900,
359
- bidCount: 3,
360
- reservePrice: 12000000,
361
- minBidIncrement: 500000,
362
- autoExtendable: true,
363
- auctionExtensionMinutes: 5,
364
- auctionShippingPaidBy: "winner",
365
- price: 9999900,
366
- currency: SCHEMA_DEFAULTS.CURRENCY,
367
- stockQuantity: 1,
368
- availableQuantity: 1,
369
- mainImage: "https://images.unsplash.com/photo-1578301978162-7aae4d755744?w=800&h=800&fit=crop",
370
- images: [
371
- "https://images.unsplash.com/photo-1578301978162-7aae4d755744?w=800&h=800&fit=crop",
372
- "https://images.unsplash.com/photo-1613771404784-3a5686aa2be3?w=800&h=800&fit=crop",
373
- ],
237
+ id: "auction-psa8-monster-reborn",
238
+ slug: "auction-psa8-monster-reborn",
239
+ title: "Monster Reborn (LOB PSA 8)",
240
+ description: "Monster Reborn LOB in PSA 8 very good condition.",
241
+ categorySlugs: ["category-spell-cards", "category-singles"],
242
+ categoryNames: ["Spell / Magic Cards", "Singles"],
243
+ brandSlug: "brand-konami",
244
+ brand: "Konami",
245
+ startingBid: 399900,
246
+ buyItNowPriceInPaise: 799900,
247
+ currentBid: 599900,
248
+ currency: "INR",
249
+ auctionEndDate: new Date(Date.now() + 3 * 24 * 60 * 60 * 1000),
250
+ bidCount: 2,
251
+ bidsHaveStarted: true,
252
+ isSold: false,
253
+ mainImage: `https://images.ygoprodeck.com/images/cards/${CARD_IDS.monsterReborn}.jpg`,
254
+ images: [`https://images.ygoprodeck.com/images/cards/${CARD_IDS.monsterReborn}.jpg`],
374
255
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
375
- storeName: "Pokémon Palace",
376
- storeId: "store-pokemon-palace",
377
- featured: false,
378
- isPromoted: false,
379
- tags: ["pokemon", "mew", "1st-edition", "psa-10", "graded", "promo", "vintage", "auction"],
380
- condition: "graded",
381
- specifications: [
382
- { name: "Card", value: "Ancient Mew Promo #8" },
383
- { name: "Grade", value: "PSA 10 GEM MINT" },
384
- { name: "Print", value: "1st Edition Promo" },
385
- { name: "PSA Pop", value: "<50 PSA 10s worldwide" },
386
- { name: "Reserve Price", value: "₹1,20,000 — MET" },
387
- ],
388
- features: [
389
- "PSA 10 GEM MINT — rarest promo grade",
390
- "Ancient Mew Movie 2000 promo — iconic",
391
- "Sub-50 PSA 10 population globally",
392
- "Reserve met — guaranteed to sell",
393
- "Auto-extend: 5 minutes on last-minute bids",
394
- ],
395
- shippingInfo: "Winner-paid insured Blue Dart courier. PSA slab double-boxed with foam.",
396
- returnPolicy: "No returns on auction lots. All details and PSA cert photos provided before shipping.",
397
- insurance: true,
398
- insuranceCost: 50000,
399
- createdAt: daysAgo(10),
400
- updatedAt: hoursAgo(3),
256
+ grading: { service: "PSA", grade: 8, certNumber: "PSA-YGO-990011" },
257
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
258
+ storeId: "store-kaiba-corp-cards",
259
+ storeName: "Kaiba Corp Card Vault",
260
+ createdAt: new Date("2026-05-19"),
261
+ updatedAt: new Date("2026-05-21"),
401
262
  },
402
- // ── 8. ACTIVE — ending in 72h (Blue Eyes White Dragon LOB 1st PSA 9) ───────
403
263
  {
404
- id: "auction-yugioh-blue-eyes-lob-1st-psa9",
405
- slug: "auction-yugioh-blue-eyes-lob-1st-psa9",
406
- title: "Yu-Gi-Oh! Blue-Eyes White Dragon — LOB-001 1st Edition PSA 9 MINT (AUCTION)",
407
- description: "The most iconic card in Yu-Gi-Oh! — Blue-Eyes White Dragon (LOB-001) in 1st Edition, graded PSA 9 MINT. This is the first-print 1st Edition Blue-Eyes from the original Legend of Blue Eyes White Dragon set, identifiable by the 1st Edition stamp and the original Konami of America watermark text. PSA 9 MINT: four near-perfect corners, excellent surface, no visible scratches, well-centred. The Blue-Eyes 1st Edition LOB is a cornerstone of any serious Yu-Gi-Oh! investment collection and has shown consistent appreciation over 20 years.",
408
- categorySlugs: ["category-vintage-tcg"],
409
- categoryNames: ["Vintage TCG"],
410
- brand: "Konami",
264
+ id: "auction-cgc10-raigeki",
265
+ slug: "auction-cgc10-raigeki",
266
+ title: "Raigeki (LOB CGC 10)",
267
+ description: "Raigeki LOB in CGC 10 pristine condition. Extremely rare.",
268
+ categorySlugs: ["category-spell-cards", "category-singles"],
269
+ categoryNames: ["Spell / Magic Cards", "Singles"],
411
270
  brandSlug: "brand-konami",
412
- auctionEndDate: hoursAhead(72),
413
- startingBid: 2999900,
414
- currentBid: 7999900,
415
- bidCount: 8,
416
- reservePrice: 6000000,
417
- minBidIncrement: 250000,
418
- autoExtendable: true,
419
- auctionExtensionMinutes: 5,
420
- auctionShippingPaidBy: "winner",
421
- price: 2999900,
422
- currency: SCHEMA_DEFAULTS.CURRENCY,
423
- stockQuantity: 1,
424
- availableQuantity: 1,
425
- mainImage: "https://images.unsplash.com/photo-1612036782180-6f0b6cd846fe?w=800&h=800&fit=crop",
426
- images: [
427
- "https://images.unsplash.com/photo-1612036782180-6f0b6cd846fe?w=800&h=800&fit=crop",
428
- "https://images.unsplash.com/photo-1607604276583-eef5d076aa5f?w=800&h=800&fit=crop",
429
- ],
271
+ brand: "Konami",
272
+ startingBid: 999900,
273
+ buyItNowPriceInPaise: 1999900,
274
+ currentBid: 1699900,
275
+ currency: "INR",
276
+ auctionEndDate: new Date(Date.now() + 5 * 24 * 60 * 60 * 1000),
277
+ bidCount: 4,
278
+ bidsHaveStarted: true,
279
+ isSold: false,
280
+ mainImage: `https://images.ygoprodeck.com/images/cards/${CARD_IDS.raigeki}.jpg`,
281
+ images: [`https://images.ygoprodeck.com/images/cards/${CARD_IDS.raigeki}.jpg`],
430
282
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
431
- storeName: "CardGame Hub",
432
- storeId: "store-cardgame-hub",
433
- featured: true,
434
- isPromoted: false,
435
- tags: ["yugioh", "blue-eyes-white-dragon", "lob-001", "1st-edition", "psa-9", "graded", "vintage", "auction"],
436
- condition: "graded",
437
- specifications: [
438
- { name: "Card", value: "Blue-Eyes White Dragon — LOB-001" },
439
- { name: "Grade", value: "PSA 9 MINT" },
440
- { name: "Print", value: "1st Edition" },
441
- { name: "Year", value: "2002" },
442
- { name: "Reserve Price", value: "₹60,000 — MET" },
443
- ],
444
- features: [
445
- "The most iconic Yu-Gi-Oh! card — LOB Blue-Eyes",
446
- "PSA 9 MINT — excellent corners and surface",
447
- "1st Edition stamp — most desirable print",
448
- "Reserve met — guaranteed to sell",
449
- "20-year appreciation track record",
450
- ],
451
- shippingInfo: "Winner-paid insured shipping. PSA slab in foam-lined rigid mailer via Blue Dart.",
452
- returnPolicy: "No returns on auction lots. Slab photos and cert number provided before shipping.",
453
- insurance: true,
454
- insuranceCost: 30000,
455
- createdAt: daysAgo(8),
456
- updatedAt: hoursAgo(5),
283
+ grading: { service: "CGC", grade: 10, certNumber: "CGC-YGO-221133" },
284
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
285
+ storeId: "store-kaiba-corp-cards",
286
+ storeName: "Kaiba Corp Card Vault",
287
+ createdAt: new Date("2026-05-17"),
288
+ updatedAt: new Date("2026-05-21"),
457
289
  },
458
- // ── 9. ACTIVE — ending in 36h (Hot Wheels Redline Deora 1968 Japan-sourced) ─
459
290
  {
460
- id: "auction-hot-wheels-redline-deora-japan",
461
- slug: "auction-hot-wheels-redline-deora-japan",
462
- title: "Hot Wheels Redline 1968 Deora — Spectraflame Copper (Japan-sourced, VG+, AUCTION)",
463
- description: "1968 Hot Wheels Redline Deora in the rare Spectraflame Copper finish — sourced from a Japanese Redline collector through the Tokyo Toy Show. Copper Deoras are considerably rarer than the standard aqua version, with fewer units produced and an extremely high attrition rate due to the delicate copper Spectraflame. This example is in Very Good Plus (VG+) condition: copper paint at approximately 90% vibrancy, both surfboards present, red-line tyres intact, all four wheels spin. One minor nick on the passenger door — visible in photos. Accompanied by a provenance letter from the Japanese collector.",
464
- categorySlugs: ["category-hot-wheels"],
465
- categoryNames: ["Hot Wheels"],
466
- brand: "Hot Wheels",
467
- brandSlug: "brand-hot-wheels",
468
- auctionEndDate: hoursAhead(36),
469
- startingBid: 899900,
470
- currentBid: 1799900,
291
+ id: "auction-1st-ed-black-luster-soldier",
292
+ slug: "auction-1st-ed-black-luster-soldier",
293
+ title: "Black Luster Soldier (RL 1st Edition)",
294
+ description: "1st Edition Black Luster Soldier from Ritual summon era.",
295
+ categorySlugs: ["category-monster-cards", "category-singles"],
296
+ categoryNames: ["Monster Cards", "Singles"],
297
+ brandSlug: "brand-konami",
298
+ brand: "Konami",
299
+ startingBid: 1499900,
300
+ buyItNowPriceInPaise: 2999900,
301
+ currentBid: 2499900,
302
+ currency: "INR",
303
+ auctionEndDate: new Date(Date.now() + 8 * 24 * 60 * 60 * 1000),
471
304
  bidCount: 5,
472
- reservePrice: 1500000,
473
- minBidIncrement: 100000,
474
- autoExtendable: true,
475
- auctionExtensionMinutes: 5,
476
- auctionShippingPaidBy: "winner",
477
- price: 899900,
478
- currency: SCHEMA_DEFAULTS.CURRENCY,
479
- stockQuantity: 1,
480
- availableQuantity: 1,
481
- mainImage: "https://images.unsplash.com/photo-1581235720704-06d3acfcb36f?w=800&h=800&fit=crop",
482
- images: [
483
- "https://images.unsplash.com/photo-1566576912321-d58ddd7a6088?w=800&h=800&fit=crop",
484
- "https://images.unsplash.com/photo-1603584173870-7f23fdae1b7a?w=800&h=800&fit=crop",
485
- ],
305
+ bidsHaveStarted: true,
306
+ isSold: false,
307
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.blueEyesWhiteDragon}.jpg`,
308
+ images: [`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.blueEyesWhiteDragon}.jpg`],
486
309
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
487
- storeName: "Diecast Depot",
488
- storeId: "store-diecast-depot",
489
- featured: false,
490
- isPromoted: true,
491
- tags: ["hot-wheels", "redline", "1968", "deora", "copper", "spectraflame", "vintage", "rare", "auction"],
492
310
  condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
493
- specifications: [
494
- { name: "Year", value: "1968" },
495
- { name: "Scale", value: "1:64" },
496
- { name: "Colour", value: "Spectraflame Copper" },
497
- { name: "Condition Grade", value: "Very Good Plus (VG+)" },
498
- { name: "Surfboards", value: "Both present" },
499
- { name: "Reserve Price", value: "₹15,000 — MET" },
500
- ],
501
- features: [
502
- "1968 Copper Deora — rarer than aqua version",
503
- "Both surfboards present — complete",
504
- "Japan collector provenance + letter",
505
- "Reserve met — guaranteed to sell",
506
- "All four wheels spin freely",
507
- ],
508
- shippingInfo: "Winner-paid insured shipping. Bubble-wrapped in rigid foam-lined mailer.",
509
- returnPolicy: "No returns on auction lots. Detailed photos available before bid confirmation.",
510
- insurance: true,
511
- insuranceCost: 8000,
512
- createdAt: daysAgo(6),
513
- updatedAt: hoursAgo(2),
311
+ storeId: "store-kaiba-corp-cards",
312
+ storeName: "Kaiba Corp Card Vault",
313
+ createdAt: new Date("2026-05-13"),
314
+ updatedAt: new Date("2026-05-21"),
514
315
  },
515
- // ── 10. UPCOMING — starts in 5 days (Gundam PG Astray Red Frame) ──────────
516
316
  {
517
- id: "auction-gundam-pg-astray-red-frame",
518
- slug: "auction-gundam-pg-astray-red-frame",
519
- title: "Bandai Gunpla PG 1/60 Astray Red Frame — Factory Sealed (UPCOMING AUCTION, 5 Days)",
520
- description: "Upcoming auction for a factory-sealed Bandai Perfect Grade 1/60 MBF-P02 Gundam Astray Red Frame — one of the most visually striking PG kits ever made, featuring the iconic Gerbera Straight katana, red colour scheme, and articulated flight pack. The PG Astray stands 30cm assembled with 300+ parts including a complex inner frame. Factory sealed in original shrink wrap — never opened. Opens to bidding in 5 days. No reserve on this lot — opening bid ₹9,999.",
521
- categorySlugs: ["category-gunpla"],
522
- categoryNames: ["Gunpla"],
523
- brand: "Bandai",
524
- brandSlug: "brand-bandai",
525
- auctionEndDate: daysAhead(12),
526
- startingBid: 999900,
527
- currentBid: 0,
528
- bidCount: 0,
529
- reservePrice: 0,
530
- minBidIncrement: 100000,
531
- autoExtendable: true,
532
- auctionExtensionMinutes: 5,
533
- auctionShippingPaidBy: "winner",
534
- price: 999900,
535
- currency: SCHEMA_DEFAULTS.CURRENCY,
536
- stockQuantity: 1,
537
- availableQuantity: 1,
538
- mainImage: "https://images.unsplash.com/photo-1657664072470-99b02c2143f2?w=800&h=800&fit=crop",
539
- images: [
540
- "https://images.unsplash.com/photo-1657664072470-99b02c2143f2?w=800&h=800&fit=crop",
541
- "https://images.unsplash.com/photo-1608889825271-9696283b84bd?w=800&h=800&fit=crop",
542
- ],
317
+ id: "auction-psa9-five-headed-dragon",
318
+ slug: "auction-psa9-five-headed-dragon",
319
+ title: "Five-Headed Dragon (EEN PSA 9)",
320
+ description: "Five-Headed Dragon from Elemental Energy in PSA 9 condition.",
321
+ categorySlugs: ["category-extra-deck-cards", "category-gx-era"],
322
+ categoryNames: ["Fusion / Synchro / XYZ", "GX Era"],
323
+ brandSlug: "brand-konami",
324
+ brand: "Konami",
325
+ startingBid: 699900,
326
+ buyItNowPriceInPaise: 1299900,
327
+ currentBid: 999900,
328
+ currency: "INR",
329
+ auctionEndDate: new Date(Date.now() + 4 * 24 * 60 * 60 * 1000),
330
+ bidCount: 3,
331
+ bidsHaveStarted: true,
332
+ isSold: false,
333
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.rainbowDragon}.jpg`,
334
+ images: [`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.rainbowDragon}.jpg`],
543
335
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
544
- storeName: "Gundam Galaxy",
545
- storeId: "store-gundam-galaxy",
546
- featured: false,
547
- isPromoted: false,
548
- tags: ["gunpla", "perfect-grade", "pg", "astray-red-frame", "bandai", "factory-sealed", "upcoming-auction"],
336
+ grading: { service: "PSA", grade: 9, certNumber: "PSA-YGO-332244" },
549
337
  condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
550
- specifications: [
551
- { name: "Grade", value: "Perfect Grade (PG)" },
552
- { name: "Scale", value: "1/60" },
553
- { name: "Height assembled", value: "~30 cm", unit: "cm" },
554
- { name: "Parts", value: "300+" },
555
- { name: "Reserve", value: "No reserve — sells at any price" },
556
- ],
557
- features: [
558
- "PG Astray Red Frame — iconic katana kit",
559
- "Factory sealed — never opened",
560
- "Gerbera Straight katana and flight pack",
561
- "No reserve — opens to all bids",
562
- "Auction opens in 5 days",
563
- ],
564
- shippingInfo: "Winner-paid insured shipping. Double-boxed with foam corner protection.",
565
- returnPolicy: "No returns on auction lots.",
566
- createdAt: daysAgo(4),
567
- updatedAt: daysAgo(1),
338
+ storeId: "store-kaiba-corp-cards",
339
+ storeName: "Kaiba Corp Card Vault",
340
+ createdAt: new Date("2026-05-18"),
341
+ updatedAt: new Date("2026-05-21"),
568
342
  },
569
- // ── 11. ACTIVE — ending in 4h (Nendoroid Miku #100 Limited — rare) ────────
570
343
  {
571
- id: "auction-nendoroid-miku-100-limited",
572
- slug: "auction-nendoroid-miku-100-limited",
573
- title: "Good Smile Company Nendoroid Hatsune Miku #100 (Original Release, Rare) — AUCTION",
574
- description: "The original 2009 Good Smile Company Nendoroid Hatsune Miku #100 — the first Miku Nendoroid ever produced and the figure that launched the Nendoroid line into global fame. This is an original 2009 first-release box, not a re-release. Identifiable by the original box artwork (pre-2.0 box design) and the 2009 copyright date on the base. Condition: box is Very Good (minor shelf wear), figure is Near Mint — all accessories present including 3 faces, stand, and original inner tray. An absolute piece of Nendoroid history.",
575
- categorySlugs: ["category-nendoroids-chibis"],
576
- categoryNames: ["Nendoroids & Chibis"],
577
- brand: "Good Smile Company",
578
- brandSlug: "brand-good-smile",
579
- auctionEndDate: hoursAhead(4),
580
- startingBid: 499900,
344
+ id: "auction-psa10-rainbow-dragon",
345
+ slug: "auction-psa10-rainbow-dragon",
346
+ title: "Rainbow Dragon (POTD PSA 10)",
347
+ description: "Rainbow Dragon Power of the Duelist in PSA 10 gem mint condition.",
348
+ categorySlugs: ["category-extra-deck-cards", "category-gx-era"],
349
+ categoryNames: ["Fusion / Synchro / XYZ", "GX Era"],
350
+ brandSlug: "brand-konami",
351
+ brand: "Konami",
352
+ startingBid: 1999900,
353
+ buyItNowPriceInPaise: 3999900,
354
+ currentBid: 3199900,
355
+ currency: "INR",
356
+ auctionEndDate: new Date(Date.now() + 6 * 24 * 60 * 60 * 1000),
357
+ bidCount: 6,
358
+ bidsHaveStarted: true,
359
+ isSold: false,
360
+ mainImage: `https://images.ygoprodeck.com/images/cards/${CARD_IDS.rainbowDragon}.jpg`,
361
+ images: [`https://images.ygoprodeck.com/images/cards/${CARD_IDS.rainbowDragon}.jpg`],
362
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
363
+ grading: { service: "PSA", grade: 10, certNumber: "PSA-YGO-443355" },
364
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
365
+ storeId: "store-kaiba-corp-cards",
366
+ storeName: "Kaiba Corp Card Vault",
367
+ createdAt: new Date("2026-05-15"),
368
+ updatedAt: new Date("2026-05-21"),
369
+ },
370
+ {
371
+ id: "auction-raw-jaden-starter-sealed",
372
+ slug: "auction-raw-jaden-starter-sealed",
373
+ title: "Jaden Yuki Starter Deck (SEALED 2006)",
374
+ description: "Factory sealed Jaden Yuki Starter Deck from 2006. Vintage collectible.",
375
+ categorySlugs: ["category-sealed-products", "category-gx-era"],
376
+ categoryNames: ["Sealed Products", "GX Era"],
377
+ brandSlug: "brand-konami",
378
+ brand: "Konami",
379
+ startingBid: 799900,
380
+ buyItNowPriceInPaise: 1499900,
581
381
  currentBid: 1199900,
582
- bidCount: 7,
583
- reservePrice: 800000,
584
- minBidIncrement: 50000,
585
- autoExtendable: true,
586
- auctionExtensionMinutes: 5,
587
- auctionShippingPaidBy: "winner",
588
- price: 499900,
589
- currency: SCHEMA_DEFAULTS.CURRENCY,
590
- stockQuantity: 1,
591
- availableQuantity: 1,
592
- mainImage: "https://images.unsplash.com/photo-1608889825271-9696283b84bd?w=800&h=800&fit=crop",
593
- images: [
594
- "https://images.unsplash.com/photo-1578632767115-351597cf2477?w=800&h=800&fit=crop",
595
- "https://images.unsplash.com/photo-1608889825271-9696283b84bd?w=800&h=800&fit=crop",
596
- ],
382
+ currency: "INR",
383
+ auctionEndDate: new Date(Date.now() + 3 * 24 * 60 * 60 * 1000),
384
+ bidCount: 2,
385
+ bidsHaveStarted: true,
386
+ isSold: false,
387
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.elementalHeroNeos}.jpg`,
388
+ images: [`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.elementalHeroNeos}.jpg`],
597
389
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
598
- storeName: "Tokyo Toys India",
599
- storeId: "store-tokyo-toys-india",
600
- featured: false,
601
- isPromoted: true,
602
- tags: ["nendoroid", "hatsune-miku", "#100", "original-2009", "rare", "good-smile", "vocaloid", "auction"],
603
- condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
604
- specifications: [
605
- { name: "Nendoroid Number", value: "#100" },
606
- { name: "Character", value: "Hatsune Miku" },
607
- { name: "Release Year", value: "2009 (original, not re-release)" },
608
- { name: "Box", value: "Original box — Very Good (shelf wear)" },
609
- { name: "Figure Condition", value: "Near Mint — all accessories present" },
610
- ],
611
- features: [
612
- "Original 2009 first-release — not a re-release",
613
- "Nendoroid #100 — launched the Nendoroid franchise",
614
- "All original accessories and inner tray present",
615
- "Reserve met — guaranteed to sell",
616
- "Ending in 4 hours — bid now",
617
- ],
618
- shippingInfo: "Winner-paid insured shipping. Individually bubble-wrapped in rigid foam-lined box.",
619
- returnPolicy: "No returns on auction lots. Detailed photos and unboxing video available on request.",
620
- insurance: true,
621
- insuranceCost: 5000,
622
- createdAt: daysAgo(9),
623
- updatedAt: hoursAgo(1),
390
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
391
+ storeId: "store-kaiba-corp-cards",
392
+ storeName: "Kaiba Corp Card Vault",
393
+ createdAt: new Date("2026-05-19"),
394
+ updatedAt: new Date("2026-05-21"),
624
395
  },
625
- // ── 6. ENDED — 30 days ago (Bandai DBZ Bulma Vintage) ─────────────────────
626
396
  {
627
- id: "auction-bandai-dbz-bulma-vintage",
628
- slug: "auction-bandai-dbz-bulma-vintage",
629
- title: "Bandai Dragon Ball Z Bulma Vintage Figure — 1989 First-Run (AUCTION ENDED)",
630
- description: "AUCTION CLOSED This auction has ended. Final winning bid: ₹7,999. A rare 1989 first-run Bandai Dragon Ball Z Bulma figure from the original Bandai Japanese toy line, released to coincide with the DBZ anime broadcast. This early figure has the original Bandai stamp on the base, painted hair and face details accurate to the original 1989 anime character sheet, and all original accessories. Condition is Good (G) — honest display wear, original paint throughout, no missing parts. Sourced from a Tokyo toy collector through the 2024 Japan trip.",
631
- categorySlugs: ["category-vintage-figures"],
632
- categoryNames: ["Vintage Figures"],
633
- brand: "Bandai",
634
- brandSlug: "brand-bandai",
635
- auctionEndDate: daysAgo(30),
636
- startingBid: 299900,
637
- currentBid: 799900,
638
- bidCount: 5,
639
- reservePrice: 0,
640
- minBidIncrement: 50000,
641
- autoExtendable: false,
642
- auctionShippingPaidBy: "winner",
643
- price: 299900,
644
- currency: SCHEMA_DEFAULTS.CURRENCY,
645
- stockQuantity: 0,
646
- availableQuantity: 0,
647
- mainImage: "https://images.unsplash.com/photo-1578632767115-351597cf2477?w=800&h=800&fit=crop",
648
- images: [
649
- "https://images.unsplash.com/photo-1578632767115-351597cf2477?w=800&h=800&fit=crop",
650
- "https://images.unsplash.com/photo-1560762484-813fc97650a0?w=800&h=800&fit=crop",
651
- "https://images.unsplash.com/photo-1608889825271-9696283b84bd?w=800&h=800&fit=crop",
652
- ],
653
- status: PRODUCT_FIELDS.STATUS_VALUES.SOLD,
654
- storeName: "Diecast Depot",
655
- storeId: "store-diecast-depot",
656
- featured: false,
657
- isPromoted: false,
658
- tags: [
659
- "bandai",
660
- "dragon-ball-z",
661
- "dbz",
662
- "bulma",
663
- "1989",
664
- "vintage",
665
- "figure",
666
- "auction",
667
- "ended",
668
- ],
397
+ id: "auction-psa8-change-of-heart",
398
+ slug: "auction-psa8-change-of-heart",
399
+ title: "Change of Heart (MRD 1st Ed PSA 8)",
400
+ description: "Change of Heart Metal Raiders 1st Edition in PSA 8 very good condition.",
401
+ categorySlugs: ["category-spell-cards", "category-singles"],
402
+ categoryNames: ["Spell / Magic Cards", "Singles"],
403
+ brandSlug: "brand-konami",
404
+ brand: "Konami",
405
+ startingBid: 599900,
406
+ buyItNowPriceInPaise: 1199900,
407
+ currentBid: 899900,
408
+ currency: "INR",
409
+ auctionEndDate: new Date(Date.now() + 5 * 24 * 60 * 60 * 1000),
410
+ bidCount: 3,
411
+ bidsHaveStarted: true,
412
+ isSold: false,
413
+ mainImage: `https://images.ygoprodeck.com/images/cards/${CARD_IDS.changeOfHeart}.jpg`,
414
+ images: [`https://images.ygoprodeck.com/images/cards/${CARD_IDS.changeOfHeart}.jpg`],
415
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
416
+ grading: { service: "PSA", grade: 8, certNumber: "PSA-YGO-554466" },
669
417
  condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
670
- specifications: [
671
- { name: "Character", value: "Bulma" },
672
- { name: "Series", value: "Dragon Ball Z" },
673
- { name: "Year", value: "1989 (first-run)" },
674
- { name: "Manufacturer", value: "Bandai Japan" },
675
- { name: "Condition Grade", value: "Good (G) — original paint" },
676
- { name: "Final Bid", value: "₹7,999" },
677
- ],
678
- features: [
679
- "1989 first-run Bandai DBZ figure",
680
- "Original Bandai Japan stamp on base",
681
- "All original accessories — no missing parts",
682
- "Tokyo collector provenance (2024 Japan trip)",
683
- "Auction closed — 30 days ago",
684
- ],
685
- shippingInfo: "Shipped to winner. Auction completed and settled.",
686
- returnPolicy: "Auction ended. No returns.",
687
- createdAt: daysAgo(45),
688
- updatedAt: daysAgo(30),
418
+ storeId: "store-kaiba-corp-cards",
419
+ storeName: "Kaiba Corp Card Vault",
420
+ createdAt: new Date("2026-05-16"),
421
+ updatedAt: new Date("2026-05-21"),
689
422
  },
690
- // ── 12. ACTIVE — ending in 60h (Pokémon Lugia Neo Genesis Holo PSA 9) ─────
691
423
  {
692
- id: "auction-pokemon-lugia-neo-genesis-psa9",
693
- slug: "auction-pokemon-lugia-neo-genesis-psa9",
694
- title: "Pokémon Neo Genesis Lugia #9 Holo — PSA 9 MINT (AUCTION)",
695
- description: "Neo Genesis Lugia #9 Holo graded PSA 9 MINT — one of the most desirable Neo-era chase cards. Sharp corners, deep blue holo with full mirror, well-centred image. Neo Genesis was the first major post-Base set, and PSA 9 Lugias have a strong appreciation track record. Reserve set at ₹65,000. Authentication confirmed via PSA cert lookup.",
696
- categorySlugs: ["category-vintage-tcg"],
697
- categoryNames: ["Vintage TCG"],
698
- brand: "The Pokémon Company",
699
- brandSlug: "brand-pokemon-company",
700
- auctionEndDate: hoursAhead(60),
701
- startingBid: 3499900,
702
- currentBid: 6999900,
703
- bidCount: 7,
704
- reservePrice: 6500000,
705
- minBidIncrement: 250000,
706
- autoExtendable: true,
707
- auctionExtensionMinutes: 5,
708
- auctionShippingPaidBy: "winner",
709
- price: 3499900,
710
- currency: SCHEMA_DEFAULTS.CURRENCY,
711
- stockQuantity: 1,
712
- availableQuantity: 1,
713
- mainImage: "https://images.unsplash.com/photo-1613771404784-3a5686aa2be3?w=800&h=800&fit=crop",
714
- images: [
715
- "https://images.unsplash.com/photo-1613771404784-3a5686aa2be3?w=800&h=800&fit=crop",
716
- "https://images.unsplash.com/photo-1578301978162-7aae4d755744?w=800&h=800&fit=crop",
717
- ],
424
+ id: "auction-ended-psa10-exodia",
425
+ slug: "auction-ended-psa10-exodia",
426
+ title: "Exodia Complete Set (PSA 10 ENDED)",
427
+ description: "Complete Exodia set all pieces PSA 10. Auction ended winner announced.",
428
+ categorySlugs: ["category-monster-cards", "category-singles"],
429
+ categoryNames: ["Monster Cards", "Singles"],
430
+ brandSlug: "brand-konami",
431
+ brand: "Konami",
432
+ startingBid: 999900,
433
+ currentBid: 8999900, // Final winning bid
434
+ currency: "INR",
435
+ auctionEndDate: new Date(Date.now() - 2 * 24 * 60 * 60 * 1000), // -2 days (ended)
436
+ bidCount: 12,
437
+ bidsHaveStarted: true,
438
+ isSold: true,
439
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.exodiaHead}.jpg`,
440
+ images: [`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.exodiaHead}.jpg`],
718
441
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
719
- storeName: "Pokémon Palace",
720
- storeId: "store-pokemon-palace",
721
- featured: false,
722
- isPromoted: false,
723
- tags: ["pokemon", "lugia", "neo-genesis", "psa-9", "graded", "vintage", "auction"],
724
- condition: "graded",
725
- specifications: [
726
- { name: "Card", value: "Lugia #9 Holo — Neo Genesis" },
727
- { name: "Grade", value: "PSA 9 MINT" },
728
- { name: "Year", value: "2000" },
729
- { name: "Reserve Price", value: "₹65,000 — MET" },
730
- ],
731
- features: [
732
- "PSA 9 MINT — Neo Genesis chase card",
733
- "Reserve met — guaranteed to sell",
734
- "PSA cert verified",
735
- "Auto-extend on last-minute bids",
736
- ],
737
- shippingInfo: "Winner-paid insured Blue Dart courier. PSA slab double-boxed.",
738
- returnPolicy: "No returns on auction lots.",
739
- insurance: true,
740
- insuranceCost: 25000,
741
- createdAt: daysAgo(9),
742
- updatedAt: hoursAgo(4),
442
+ grading: { service: "PSA", grade: 10, certNumber: "PSA-YGO-665577" },
443
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
444
+ storeId: "store-kaiba-corp-cards",
445
+ storeName: "Kaiba Corp Card Vault",
446
+ createdAt: new Date("2026-05-06"),
447
+ updatedAt: new Date("2026-05-21"),
743
448
  },
744
- // ── 13. ACTIVE — ending in 96h (Funko Pop Glow Chase Stan Lee) ────────────
745
449
  {
746
- id: "auction-funko-stan-lee-glow-chase",
747
- slug: "auction-funko-stan-lee-glow-chase",
748
- title: "Funko Pop Stan Lee Glow-in-the-Dark Chase Variant — Vaulted (AUCTION)",
749
- description: "Vaulted Funko Pop Stan Lee Glow-in-the-Dark Chase variant the 1-in-6 chase exclusive that has appreciated significantly since Marvel's vaulting. Box near-mint with light shelf wear on one corner. Figure mint inside protector. Highly collectible Marvel-themed piece for Funko Pop chase hunters.",
750
- categorySlugs: ["category-funko-pops"],
751
- categoryNames: ["Funko Pops"],
752
- brand: "Funko",
753
- brandSlug: "brand-funko",
754
- auctionEndDate: hoursAhead(96),
755
- startingBid: 599900,
756
- currentBid: 1099900,
757
- bidCount: 4,
758
- reservePrice: 900000,
759
- minBidIncrement: 50000,
760
- autoExtendable: true,
761
- auctionExtensionMinutes: 5,
762
- auctionShippingPaidBy: "winner",
763
- price: 599900,
764
- currency: SCHEMA_DEFAULTS.CURRENCY,
765
- stockQuantity: 1,
766
- availableQuantity: 1,
767
- mainImage: "https://images.unsplash.com/photo-1608889825271-9696283b84bd?w=800&h=800&fit=crop",
768
- images: [
769
- "https://images.unsplash.com/photo-1608889825271-9696283b84bd?w=800&h=800&fit=crop",
770
- ],
450
+ id: "auction-ended-bgs10-jinzo",
451
+ slug: "auction-ended-bgs10-jinzo",
452
+ title: "Jinzo (PSV BGS 10 ENDED)",
453
+ description: "Jinzo PSV in BGS 10 pristine condition. Auction ended.",
454
+ categorySlugs: ["category-monster-cards", "category-singles"],
455
+ categoryNames: ["Monster Cards", "Singles"],
456
+ brandSlug: "brand-konami",
457
+ brand: "Konami",
458
+ startingBid: 499900,
459
+ currentBid: 3499900, // Final winning bid
460
+ currency: "INR",
461
+ auctionEndDate: new Date(Date.now() - 3 * 24 * 60 * 60 * 1000), // -3 days
462
+ bidCount: 8,
463
+ bidsHaveStarted: true,
464
+ isSold: true,
465
+ mainImage: `https://images.ygoprodeck.com/images/cards/${CARD_IDS.darkMagician}.jpg`,
466
+ images: [`https://images.ygoprodeck.com/images/cards/${CARD_IDS.darkMagician}.jpg`],
771
467
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
772
- storeName: "Tokyo Toys India",
773
- storeId: "store-tokyo-toys-india",
774
- featured: false,
775
- isPromoted: false,
776
- tags: ["funko", "stan-lee", "glow-chase", "vaulted", "marvel", "auction"],
468
+ grading: { service: "BGS", grade: 10, certNumber: "BGS-YGO-776688" },
777
469
  condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
778
- specifications: [
779
- { name: "Variant", value: "Glow-in-the-Dark Chase (1-in-6)" },
780
- { name: "Status", value: "Vaulted" },
781
- { name: "Box Condition", value: "Near Mint" },
782
- { name: "Reserve Price", value: "₹9,000 — MET" },
783
- ],
784
- features: [
785
- "Glow Chase variant — 1-in-6 pull rate",
786
- "Vaulted by Funko — no re-issue",
787
- "Box NM, figure mint inside protector",
788
- "Reserve met — guaranteed to sell",
789
- ],
790
- shippingInfo: "Winner-paid insured shipping. Pop protector included.",
791
- returnPolicy: "No returns on auction lots.",
792
- insurance: true,
793
- insuranceCost: 5000,
794
- createdAt: daysAgo(7),
795
- updatedAt: hoursAgo(8),
470
+ storeId: "store-kaiba-corp-cards",
471
+ storeName: "Kaiba Corp Card Vault",
472
+ createdAt: new Date("2026-05-08"),
473
+ updatedAt: new Date("2026-05-21"),
796
474
  },
797
- // ── 14. ACTIVE — ending in 5d (Beyblade Burst Spriggan Requiem Limited) ────
798
475
  {
799
- id: "auction-beyblade-spriggan-requiem-tournament",
800
- slug: "auction-beyblade-spriggan-requiem-tournament",
801
- title: "Beyblade Burst B-100 Spriggan Requiem — Tournament Limited Edition (AUCTION)",
802
- description: "B-100 Spriggan Requiem Tournament Limited Edition — a prize-only release given to top finishers at the 2018 Japan National Tournament. Black recolour with gold accents and engraved serial number. Includes original tournament pouch. One of fewer than 500 produced. Mint condition.",
803
- categorySlugs: ["category-beyblade-burst"],
804
- categoryNames: ["Beyblade Burst"],
805
- brand: "Beyblade",
806
- brandSlug: "brand-beyblade",
807
- auctionEndDate: daysAhead(5),
808
- startingBid: 399900,
809
- currentBid: 899900,
476
+ id: "auction-ended-raw-sdk-kaiba",
477
+ slug: "auction-ended-raw-sdk-kaiba",
478
+ title: "SDK Kaiba Deck (SEALED ENDED)",
479
+ description: "SDK Kaiba Starter Deck sealed. Vintage auction concluded.",
480
+ categorySlugs: ["category-sealed-products"],
481
+ categoryNames: ["Sealed Products"],
482
+ brandSlug: "brand-konami",
483
+ brand: "Konami",
484
+ startingBid: 299900,
485
+ currentBid: 1699900,
486
+ currency: "INR",
487
+ auctionEndDate: new Date(Date.now() - 5 * 24 * 60 * 60 * 1000), // -5 days
810
488
  bidCount: 6,
811
- reservePrice: 700000,
812
- minBidIncrement: 50000,
813
- autoExtendable: true,
814
- auctionExtensionMinutes: 5,
815
- auctionShippingPaidBy: "winner",
816
- price: 399900,
817
- currency: SCHEMA_DEFAULTS.CURRENCY,
818
- stockQuantity: 1,
819
- availableQuantity: 1,
820
- mainImage: "https://images.unsplash.com/photo-1614108831137-558fffac9ead?w=800&h=800&fit=crop",
821
- images: [
822
- "https://images.unsplash.com/photo-1614108831137-558fffac9ead?w=800&h=800&fit=crop",
823
- "https://images.unsplash.com/photo-1555680202-c86f0e12f086?w=800&h=800&fit=crop",
824
- ],
489
+ bidsHaveStarted: true,
490
+ isSold: true,
491
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.blueEyesWhiteDragon}.jpg`,
492
+ images: [`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.blueEyesWhiteDragon}.jpg`],
825
493
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
826
- storeName: "Beyblade Arena",
827
- storeId: "store-beyblade-arena",
828
- featured: true,
829
- isPromoted: false,
830
- tags: ["beyblade", "burst", "spriggan-requiem", "tournament", "limited", "auction"],
831
494
  condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
832
- specifications: [
833
- { name: "Product", value: "B-100 Spriggan Requiem Tournament" },
834
- { name: "Edition", value: "Tournament Limited (<500 made)" },
835
- { name: "Year", value: "2018 Japan Nationals" },
836
- { name: "Reserve Price", value: "₹7,000 — MET" },
837
- ],
838
- features: [
839
- "Tournament prize edition — sub-500 made",
840
- "Engraved serial number",
841
- "Original tournament pouch included",
842
- "Reserve met — guaranteed to sell",
843
- ],
844
- shippingInfo: "Winner-paid insured shipping. Foam-lined rigid mailer.",
845
- returnPolicy: "No returns on auction lots.",
846
- insurance: true,
847
- insuranceCost: 3000,
848
- createdAt: daysAgo(6),
849
- updatedAt: hoursAgo(12),
495
+ storeId: "store-kaiba-corp-cards",
496
+ storeName: "Kaiba Corp Card Vault",
497
+ createdAt: new Date("2026-05-02"),
498
+ updatedAt: new Date("2026-05-21"),
850
499
  },
851
- // ── 15. UPCOMING — starts in 4d (Pokémon Trophy Card Pikachu World) ───────
852
500
  {
853
- id: "auction-pokemon-trophy-pikachu-world",
854
- slug: "auction-pokemon-trophy-pikachu-world",
855
- title: "Pokémon Trophy Pikachu World Championships 2006 Promo (UPCOMING AUCTION)",
856
- description: "Authenticated Trophy Pikachu from the 2006 World Championships staff-only distribution — one of the rarest modern Pokémon promos. Card-only sale, no slab. Provenance: ex-WCS judge. Auction opens in 4 days. Opening bid ₹4,99,999. No reserve.",
857
- categorySlugs: ["category-vintage-tcg"],
858
- categoryNames: ["Vintage TCG"],
859
- brand: "The Pokémon Company",
860
- brandSlug: "brand-pokemon-company",
861
- auctionEndDate: daysAhead(11),
862
- startingBid: 49999900,
863
- currentBid: 0,
864
- bidCount: 0,
865
- reservePrice: 0,
866
- minBidIncrement: 1000000,
867
- autoExtendable: true,
868
- auctionExtensionMinutes: 10,
869
- auctionShippingPaidBy: "winner",
870
- price: 49999900,
871
- currency: SCHEMA_DEFAULTS.CURRENCY,
872
- stockQuantity: 1,
873
- availableQuantity: 1,
874
- mainImage: "https://images.unsplash.com/photo-1578301978162-7aae4d755744?w=800&h=800&fit=crop",
875
- images: [
876
- "https://images.unsplash.com/photo-1578301978162-7aae4d755744?w=800&h=800&fit=crop",
877
- ],
501
+ id: "auction-ended-psa9-gate-guardian",
502
+ slug: "auction-ended-psa9-gate-guardian",
503
+ title: "Gate Guardian (MRD PSA 9 ENDED)",
504
+ description: "Gate Guardian Metal Raiders PSA 9. Completed auction.",
505
+ categorySlugs: ["category-monster-cards", "category-singles"],
506
+ categoryNames: ["Monster Cards", "Singles"],
507
+ brandSlug: "brand-konami",
508
+ brand: "Konami",
509
+ startingBid: 399900,
510
+ currentBid: 1299900,
511
+ currency: "INR",
512
+ auctionEndDate: new Date(Date.now() - 7 * 24 * 60 * 60 * 1000), // -7 days
513
+ bidCount: 5,
514
+ bidsHaveStarted: true,
515
+ isSold: true,
516
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.gateGuardian}.jpg`,
517
+ images: [`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.gateGuardian}.jpg`],
878
518
  status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
879
- storeName: "Pokémon Palace",
880
- storeId: "store-pokemon-palace",
881
- featured: true,
882
- isPromoted: true,
883
- tags: ["pokemon", "trophy-pikachu", "worlds-2006", "promo", "ultra-rare", "upcoming-auction"],
519
+ grading: { service: "PSA", grade: 9, certNumber: "PSA-YGO-887799" },
884
520
  condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
885
- specifications: [
886
- { name: "Card", value: "Trophy Pikachu (Worlds 2006 Staff Promo)" },
887
- { name: "Provenance", value: "Ex-WCS judge" },
888
- { name: "Reserve", value: "No reserve" },
889
- ],
890
- features: [
891
- "Worlds 2006 Trophy Pikachu — staff-only distribution",
892
- "Provenance: ex-WCS judge",
893
- "Opens in 4 days — set reminder",
894
- "No reserve — sells at any price",
895
- ],
896
- shippingInfo: "Winner-paid insured Blue Dart. Toploader + rigid mailer.",
897
- returnPolicy: "No returns on auction lots.",
898
- insurance: true,
899
- insuranceCost: 150000,
900
- createdAt: daysAgo(2),
901
- updatedAt: hoursAgo(20),
521
+ storeId: "store-kaiba-corp-cards",
522
+ storeName: "Kaiba Corp Card Vault",
523
+ createdAt: new Date("2026-05-01"),
524
+ updatedAt: new Date("2026-05-21"),
902
525
  },
903
- // ── 16. UPCOMING — starts in 10d (Hot Wheels Treasure Hunt Set) ───────────
904
526
  {
905
- id: "auction-hot-wheels-th-set-2024",
906
- slug: "auction-hot-wheels-th-set-2024",
907
- title: "Hot Wheels 2024 Super Treasure Hunt Full Set — All 15 Cars (UPCOMING AUCTION)",
908
- description: "Complete 2024 Hot Wheels Super Treasure Hunt full series — all 15 cars assembled over the year via case-breaks. Each in original blister. A complete-year STH set is a rare find. Auction opens in 10 days. No reserve.",
909
- categorySlugs: ["category-hot-wheels"],
910
- categoryNames: ["Hot Wheels"],
911
- brand: "Hot Wheels",
912
- brandSlug: "brand-hot-wheels",
913
- auctionEndDate: daysAhead(17),
914
- startingBid: 1499900,
915
- currentBid: 0,
527
+ id: "auction-upcoming-gx-promo-set",
528
+ slug: "auction-upcoming-gx-promo-set",
529
+ title: "GX Promo Set (UPCOMING)",
530
+ description: "Special GX era promotional card set. Auction starts soon.",
531
+ categorySlugs: ["category-gx-era", "category-singles"],
532
+ categoryNames: ["GX Era", "Singles"],
533
+ brandSlug: "brand-konami",
534
+ brand: "Konami",
535
+ startingBid: 999900,
536
+ currency: "INR",
537
+ auctionEndDate: new Date(Date.now() + 14 * 24 * 60 * 60 * 1000), // +14 days
916
538
  bidCount: 0,
917
- reservePrice: 0,
918
- minBidIncrement: 100000,
919
- autoExtendable: true,
920
- auctionExtensionMinutes: 5,
921
- auctionShippingPaidBy: "winner",
922
- price: 1499900,
923
- currency: SCHEMA_DEFAULTS.CURRENCY,
924
- stockQuantity: 1,
925
- availableQuantity: 1,
926
- mainImage: "https://images.unsplash.com/photo-1566576912321-d58ddd7a6088?w=800&h=800&fit=crop",
927
- images: [
928
- "https://images.unsplash.com/photo-1566576912321-d58ddd7a6088?w=800&h=800&fit=crop",
929
- "https://images.unsplash.com/photo-1581235720704-06d3acfcb36f?w=800&h=800&fit=crop",
930
- ],
931
- status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
932
- storeName: "Diecast Depot",
933
- storeId: "store-diecast-depot",
934
- featured: false,
935
- isPromoted: false,
936
- tags: ["hot-wheels", "super-treasure-hunt", "2024", "full-set", "upcoming-auction"],
539
+ bidsHaveStarted: false,
540
+ isSold: false,
541
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.elementalHeroNeos}.jpg`,
542
+ images: [`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.elementalHeroNeos}.jpg`],
543
+ status: PRODUCT_FIELDS.STATUS_VALUES.DRAFT,
937
544
  condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
938
- specifications: [
939
- { name: "Year", value: "2024" },
940
- { name: "Cars", value: "All 15 STH" },
941
- { name: "Packaging", value: "Original blister, all sealed" },
942
- { name: "Reserve", value: "No reserve" },
943
- ],
944
- features: [
945
- "Complete 2024 STH set — all 15 cars",
946
- "Each in sealed original blister",
947
- "No reserve — sells at any price",
948
- "Opens in 10 days",
949
- ],
950
- shippingInfo: "Winner-paid insured shipping. Each car bubble-wrapped.",
951
- returnPolicy: "No returns on auction lots.",
952
- insurance: true,
953
- insuranceCost: 10000,
954
- createdAt: daysAgo(1),
955
- updatedAt: hoursAgo(18),
545
+ storeId: "store-kaiba-corp-cards",
546
+ storeName: "Kaiba Corp Card Vault",
547
+ createdAt: new Date("2026-05-20"),
548
+ updatedAt: new Date("2026-05-21"),
956
549
  },
957
- // ── 17. ENDED (winner declared) — 3 days ago (S.H.Figuarts Goku UI) ───────
958
550
  {
959
- id: "auction-shf-goku-ultra-instinct",
960
- slug: "auction-shf-goku-ultra-instinct",
961
- title: "S.H.Figuarts Son Goku Ultra Instinct — Tamashii Limited (AUCTION ENDED)",
962
- description: "AUCTION CLOSED Final winning bid ₹14,999. S.H.Figuarts Goku Ultra Instinct Tamashii Web Exclusive — sealed in original packaging. Winner declared, shipment in progress.",
963
- categorySlugs: ["category-anime-figures"],
964
- categoryNames: ["Anime Figures"],
965
- brand: "Bandai",
966
- brandSlug: "brand-bandai",
967
- auctionEndDate: daysAgo(3),
968
- startingBid: 599900,
969
- currentBid: 1499900,
970
- bidCount: 6,
971
- reservePrice: 1200000,
972
- minBidIncrement: 50000,
973
- autoExtendable: false,
974
- auctionShippingPaidBy: "winner",
975
- price: 599900,
976
- currency: SCHEMA_DEFAULTS.CURRENCY,
977
- stockQuantity: 0,
978
- availableQuantity: 0,
979
- mainImage: "https://images.unsplash.com/photo-1578632767115-351597cf2477?w=800&h=800&fit=crop",
980
- images: [
981
- "https://images.unsplash.com/photo-1578632767115-351597cf2477?w=800&h=800&fit=crop",
982
- ],
983
- status: PRODUCT_FIELDS.STATUS_VALUES.SOLD,
984
- storeName: "Tokyo Toys India",
985
- storeId: "store-tokyo-toys-india",
986
- featured: false,
987
- isPromoted: false,
988
- tags: ["shfiguarts", "goku", "ultra-instinct", "dbz", "auction", "ended"],
551
+ id: "auction-upcoming-duelist-league",
552
+ slug: "auction-upcoming-duelist-league",
553
+ title: "Duelist League Promo (UPCOMING)",
554
+ description: "Duelist League promotional cards from tournament. Coming soon.",
555
+ categorySlugs: ["category-singles"],
556
+ categoryNames: ["Singles"],
557
+ brandSlug: "brand-konami",
558
+ brand: "Konami",
559
+ startingBid: 499900,
560
+ currency: "INR",
561
+ auctionEndDate: new Date(Date.now() + 21 * 24 * 60 * 60 * 1000), // +21 days
562
+ bidCount: 0,
563
+ bidsHaveStarted: false,
564
+ isSold: false,
565
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.darkMagician}.jpg`,
566
+ images: [`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.darkMagician}.jpg`],
567
+ status: PRODUCT_FIELDS.STATUS_VALUES.DRAFT,
989
568
  condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
990
- specifications: [
991
- { name: "Line", value: "S.H.Figuarts" },
992
- { name: "Character", value: "Goku Ultra Instinct" },
993
- { name: "Status", value: "Sold — winner notified" },
994
- { name: "Final Bid", value: "₹14,999" },
995
- ],
996
- features: [
997
- "Tamashii Web Exclusive — limited release",
998
- "Sealed in original packaging",
999
- "Reserve met — auction settled",
1000
- ],
1001
- shippingInfo: "Shipping arranged with winner.",
1002
- returnPolicy: "Auction ended.",
1003
- createdAt: daysAgo(17),
1004
- updatedAt: daysAgo(3),
569
+ storeId: "store-kaiba-corp-cards",
570
+ storeName: "Kaiba Corp Card Vault",
571
+ createdAt: new Date("2026-05-20"),
572
+ updatedAt: new Date("2026-05-21"),
1005
573
  },
1006
- // ── 18. ENDED (winner declared) — 14 days ago (Pokémon Blastoise Holo) ────
574
+ ];
575
+ const _adminAuctionsSeedData = [
1007
576
  {
1008
- id: "auction-pokemon-blastoise-shadowless-bgs",
1009
- slug: "auction-pokemon-blastoise-shadowless-bgs",
1010
- title: "Pokémon Base Set Shadowless Blastoise #2 Holo BGS 8.5 (AUCTION ENDED)",
1011
- description: "AUCTION CLOSED Final bid ₹39,999. Shadowless Base Set Blastoise graded BGS 8.5. Winner notified, slab dispatched.",
1012
- categorySlugs: ["category-vintage-tcg"],
1013
- categoryNames: ["Vintage TCG"],
1014
- brand: "The Pokémon Company",
1015
- brandSlug: "brand-pokemon-company",
1016
- auctionEndDate: daysAgo(14),
1017
- startingBid: 1499900,
1018
- currentBid: 3999900,
1019
- bidCount: 8,
1020
- reservePrice: 3500000,
1021
- minBidIncrement: 250000,
1022
- autoExtendable: false,
1023
- auctionShippingPaidBy: "winner",
1024
- price: 1499900,
1025
- currency: SCHEMA_DEFAULTS.CURRENCY,
1026
- stockQuantity: 0,
1027
- availableQuantity: 0,
1028
- mainImage: "https://images.unsplash.com/photo-1607604276583-eef5d076aa5f?w=800&h=800&fit=crop",
1029
- images: [
1030
- "https://images.unsplash.com/photo-1607604276583-eef5d076aa5f?w=800&h=800&fit=crop",
1031
- ],
1032
- status: PRODUCT_FIELDS.STATUS_VALUES.SOLD,
1033
- storeName: "Pokémon Palace",
1034
- storeId: "store-pokemon-palace",
1035
- featured: false,
1036
- isPromoted: false,
1037
- tags: ["pokemon", "blastoise", "shadowless", "bgs-8-5", "vintage", "auction", "ended"],
1038
- condition: "graded",
1039
- specifications: [
1040
- { name: "Card", value: "Blastoise #2 Holo — Shadowless" },
1041
- { name: "Grade", value: "BGS 8.5" },
1042
- { name: "Year", value: "1999" },
1043
- { name: "Final Bid", value: "₹39,999" },
1044
- ],
1045
- features: [
1046
- "Shadowless print — rarer than unlimited",
1047
- "BGS 8.5 — strong subgrades",
1048
- "Auction settled — slab shipped",
1049
- ],
1050
- shippingInfo: "Shipped to winner.",
1051
- returnPolicy: "Auction ended.",
1052
- createdAt: daysAgo(28),
1053
- updatedAt: daysAgo(14),
577
+ id: "auction-admin-ra-authentic-card",
578
+ slug: "auction-admin-ra-authentic-card",
579
+ title: "The Winged Dragon of RaGod Card (Authentic)",
580
+ description: "Authentic God Card Ra from official release. Museum-quality collectible.",
581
+ categorySlugs: ["category-monster-cards", "category-singles"],
582
+ categoryNames: ["Monster Cards", "Singles"],
583
+ brandSlug: "brand-konami",
584
+ brand: "Konami",
585
+ startingBid: 1999900,
586
+ buyItNowPriceInPaise: 3999900,
587
+ currentBid: 3199900,
588
+ currency: "INR",
589
+ auctionEndDate: new Date(Date.now() + 5 * 24 * 60 * 60 * 1000),
590
+ bidCount: 4,
591
+ bidsHaveStarted: true,
592
+ isSold: false,
593
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.exodiaHead}.jpg`,
594
+ images: [`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.exodiaHead}.jpg`],
595
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
596
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
597
+ storeId: "store-letitrip-official",
598
+ storeName: "LetItRip Official",
599
+ createdAt: new Date("2026-05-15"),
600
+ updatedAt: new Date("2026-05-21"),
1054
601
  },
1055
- // ── 19. ENDED (no winner — reserve not met) — 10 days ago ────────────────
1056
602
  {
1057
- id: "auction-vintage-tomica-skyline-no-reserve-fail",
1058
- slug: "auction-vintage-tomica-skyline-no-reserve-fail",
1059
- title: "Vintage Tomica Nissan Skyline GT-R Hakosuka 1973 Reserve Not Met (AUCTION ENDED)",
1060
- description: "AUCTION CLOSED Reserve not met. Highest bid ₹4,999 fell short of the ₹8,000 reserve. Listing kept for record. Item remains with seller and may be relisted.",
1061
- categorySlugs: ["category-tomica-premium"],
1062
- categoryNames: ["Tomica"],
1063
- brand: "Takara Tomy",
1064
- brandSlug: "brand-takara-tomy",
1065
- auctionEndDate: daysAgo(10),
1066
- startingBid: 199900,
1067
- currentBid: 499900,
1068
- bidCount: 3,
1069
- reservePrice: 800000,
1070
- minBidIncrement: 50000,
1071
- autoExtendable: false,
1072
- auctionShippingPaidBy: "winner",
1073
- price: 199900,
1074
- currency: SCHEMA_DEFAULTS.CURRENCY,
1075
- stockQuantity: 1,
1076
- availableQuantity: 1,
1077
- mainImage: "https://images.unsplash.com/photo-1603584173870-7f23fdae1b7a?w=800&h=800&fit=crop",
1078
- images: [
1079
- "https://images.unsplash.com/photo-1603584173870-7f23fdae1b7a?w=800&h=800&fit=crop",
1080
- ],
1081
- status: PRODUCT_FIELDS.STATUS_VALUES.DRAFT,
1082
- storeName: "Diecast Depot",
1083
- storeId: "store-diecast-depot",
1084
- featured: false,
1085
- isPromoted: false,
1086
- tags: ["tomica", "skyline", "hakosuka", "vintage", "auction", "ended", "no-winner"],
603
+ id: "auction-admin-obelisk-authentic",
604
+ slug: "auction-admin-obelisk-authentic",
605
+ title: "Obelisk the TormentorLimited Edition",
606
+ description: "Limited edition Obelisk God Card. Certified original.",
607
+ categorySlugs: ["category-monster-cards", "category-singles"],
608
+ categoryNames: ["Monster Cards", "Singles"],
609
+ brandSlug: "brand-konami",
610
+ brand: "Konami",
611
+ startingBid: 2499900,
612
+ buyItNowPriceInPaise: 4999900,
613
+ currentBid: 3899900,
614
+ currency: "INR",
615
+ auctionEndDate: new Date(Date.now() + 8 * 24 * 60 * 60 * 1000),
616
+ bidCount: 5,
617
+ bidsHaveStarted: true,
618
+ isSold: false,
619
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.exodiaHead}.jpg`,
620
+ images: [`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.exodiaHead}.jpg`],
621
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
1087
622
  condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
1088
- specifications: [
1089
- { name: "Year", value: "1973" },
1090
- { name: "Reserve Price", value: "₹8,000 (NOT MET)" },
1091
- { name: "Final High Bid", value: "₹4,999" },
1092
- { name: "Outcome", value: "No sale — reserve not met" },
1093
- ],
1094
- features: [
1095
- "Vintage 1973 Hakosuka Tomica",
1096
- "Reserve not met — no winner",
1097
- "May be relisted at a lower reserve",
1098
- ],
1099
- shippingInfo: "Not applicable — auction did not settle.",
1100
- returnPolicy: "Not applicable.",
1101
- createdAt: daysAgo(20),
1102
- updatedAt: daysAgo(10),
623
+ storeId: "store-letitrip-official",
624
+ storeName: "LetItRip Official",
625
+ createdAt: new Date("2026-05-12"),
626
+ updatedAt: new Date("2026-05-21"),
1103
627
  },
1104
- // ── 20. ENDED (no winner — zero bids) — 5 days ago ────────────────────────
1105
628
  {
1106
- id: "auction-vintage-yugioh-thousand-dragon-fail",
1107
- slug: "auction-vintage-yugioh-thousand-dragon-fail",
1108
- title: "Yu-Gi-Oh! Thousand Dragon LOB-040 1st Edition — Zero Bids (AUCTION ENDED)",
1109
- description: "AUCTION CLOSED No bids received. Opening bid of ₹9,999 was too high relative to recent comparables. Item remains with seller. Listing kept for analytics record.",
1110
- categorySlugs: ["category-vintage-tcg"],
1111
- categoryNames: ["Vintage TCG"],
629
+ id: "auction-admin-exodia-leg-set",
630
+ slug: "auction-admin-exodia-leg-set",
631
+ title: "Exodia Limb Set (4 pieces, 1st Ed)",
632
+ description: "All 4 limbs of Exodia in 1st Edition condition. Rare collector set.",
633
+ categorySlugs: ["category-monster-cards", "category-singles"],
634
+ categoryNames: ["Monster Cards", "Singles"],
635
+ brandSlug: "brand-konami",
1112
636
  brand: "Konami",
637
+ startingBid: 799900,
638
+ buyItNowPriceInPaise: 1499900,
639
+ currentBid: 1099900,
640
+ currency: "INR",
641
+ auctionEndDate: new Date(Date.now() + 3 * 24 * 60 * 60 * 1000),
642
+ bidCount: 3,
643
+ bidsHaveStarted: true,
644
+ isSold: false,
645
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.exodiaHead}.jpg`,
646
+ images: [`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.exodiaHead}.jpg`],
647
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
648
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
649
+ storeId: "store-letitrip-official",
650
+ storeName: "LetItRip Official",
651
+ createdAt: new Date("2026-05-18"),
652
+ updatedAt: new Date("2026-05-21"),
653
+ },
654
+ {
655
+ id: "auction-admin-ended-yugi-promo",
656
+ slug: "auction-admin-ended-yugi-promo",
657
+ title: "Yugi Muto Promo Card (ENDED)",
658
+ description: "Exclusive Yugi Muto promo card. Auction completed.",
659
+ categorySlugs: ["category-singles"],
660
+ categoryNames: ["Singles"],
1113
661
  brandSlug: "brand-konami",
1114
- auctionEndDate: daysAgo(5),
1115
- startingBid: 999900,
1116
- currentBid: 0,
1117
- bidCount: 0,
1118
- reservePrice: 1000000,
1119
- minBidIncrement: 100000,
1120
- autoExtendable: false,
1121
- auctionShippingPaidBy: "winner",
1122
- price: 999900,
1123
- currency: SCHEMA_DEFAULTS.CURRENCY,
1124
- stockQuantity: 1,
1125
- availableQuantity: 1,
1126
- mainImage: "https://images.unsplash.com/photo-1612036782180-6f0b6cd846fe?w=800&h=800&fit=crop",
1127
- images: [
1128
- "https://images.unsplash.com/photo-1612036782180-6f0b6cd846fe?w=800&h=800&fit=crop",
1129
- ],
1130
- status: PRODUCT_FIELDS.STATUS_VALUES.DRAFT,
1131
- storeName: "CardGame Hub",
1132
- storeId: "store-cardgame-hub",
1133
- featured: false,
1134
- isPromoted: false,
1135
- tags: ["yugioh", "thousand-dragon", "lob", "1st-edition", "auction", "ended", "no-bids"],
1136
- condition: "graded",
1137
- specifications: [
1138
- { name: "Card", value: "Thousand Dragon — LOB-040" },
1139
- { name: "Opening Bid", value: "₹9,999 (too high)" },
1140
- { name: "Outcome", value: "Zero bids — no sale" },
1141
- ],
1142
- features: [
1143
- "Yu-Gi-Oh! vintage 1st Edition",
1144
- "No bids received",
1145
- "Listing kept for analytics",
1146
- ],
1147
- shippingInfo: "Not applicable.",
1148
- returnPolicy: "Not applicable.",
1149
- createdAt: daysAgo(15),
1150
- updatedAt: daysAgo(5),
662
+ brand: "Konami",
663
+ startingBid: 299900,
664
+ currentBid: 899900,
665
+ currency: "INR",
666
+ auctionEndDate: new Date(Date.now() - 4 * 24 * 60 * 60 * 1000), // -4 days
667
+ bidCount: 4,
668
+ bidsHaveStarted: true,
669
+ isSold: true,
670
+ mainImage: `https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.darkMagician}.jpg`,
671
+ images: [`https://images.ygoprodeck.com/images/cards/cropped/${CARD_IDS.darkMagician}.jpg`],
672
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
673
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
674
+ storeId: "store-letitrip-official",
675
+ storeName: "LetItRip Official",
676
+ createdAt: new Date("2026-05-05"),
677
+ updatedAt: new Date("2026-05-21"),
1151
678
  },
1152
679
  ];
1153
- /**
1154
- * SB1-G Phase 4 (S22 2026-05-12): every auction document is stamped with
1155
- * `listingType: "auction"`. The legacy `isAuction` boolean has been removed
1156
- * from `ProductDocument`; this map-wrapper is the canonical write site.
1157
- */
1158
- export const productsAuctionsSeedData = _rawProductsAuctionsSeedData.map((p) => ({
1159
- ...p,
1160
- listingType: "auction",
1161
- }));
680
+ export const productsAuctionsSeedData = [
681
+ ..._kaibaAuctionsSeedData.map((a) => withTokens({
682
+ ...a,
683
+ listingType: PRODUCT_FIELDS.LISTING_TYPE_VALUES.AUCTION,
684
+ })),
685
+ ..._adminAuctionsSeedData.map((a) => withTokens({
686
+ ...a,
687
+ listingType: PRODUCT_FIELDS.LISTING_TYPE_VALUES.AUCTION,
688
+ })),
689
+ ];