@mohasinac/appkit 3.5.1 → 3.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/_internal/server/features/checkout/actions.d.ts +0 -13
  2. package/dist/_internal/server/features/checkout/actions.js +88 -67
  3. package/dist/_internal/server/jobs/core/jobRunners.d.ts +3 -2
  4. package/dist/_internal/server/jobs/core/onJobCreated.js +2 -2
  5. package/dist/features/admin/components/AdminNotificationsView.js +30 -5
  6. package/dist/features/admin/components/AdminUsersView.js +102 -26
  7. package/dist/features/homepage/components/CustomCardsSection.js +1 -1
  8. package/dist/features/homepage/components/SectionCarousel.js +1 -1
  9. package/dist/features/jobs/actions/enqueue-job.d.ts +2 -1
  10. package/dist/features/jobs/repository/jobs.repository.js +3 -3
  11. package/dist/features/jobs/schemas/firestore.d.ts +20 -2
  12. package/dist/features/jobs/schemas/firestore.js +12 -0
  13. package/dist/seed/addresses-seed-data.js +8 -99
  14. package/dist/seed/categories-seed-data.js +103 -2082
  15. package/dist/seed/homepage-sections-seed-data.js +9 -9
  16. package/dist/seed/products-art-seed-data.d.ts +1 -10
  17. package/dist/seed/products-art-seed-data.js +13 -122
  18. package/dist/seed/products-auctions-seed-data.js +39 -747
  19. package/dist/seed/products-classifieds-seed-data.d.ts +1 -9
  20. package/dist/seed/products-classifieds-seed-data.js +13 -195
  21. package/dist/seed/products-digital-codes-seed-data.d.ts +1 -9
  22. package/dist/seed/products-digital-codes-seed-data.js +13 -202
  23. package/dist/seed/products-live-items-seed-data.d.ts +1 -12
  24. package/dist/seed/products-live-items-seed-data.js +13 -188
  25. package/dist/seed/products-preorders-seed-data.js +18 -149
  26. package/dist/seed/products-prize-draws-seed-data.d.ts +1 -16
  27. package/dist/seed/products-prize-draws-seed-data.js +13 -385
  28. package/dist/seed/products-standard-seed-data.js +152 -1331
  29. package/dist/seed/products-stickers-seed-data.d.ts +1 -10
  30. package/dist/seed/products-stickers-seed-data.js +13 -122
  31. package/dist/seed/site-settings-seed-data.js +106 -108
  32. package/dist/seed/store-addresses-seed-data.js +14 -46
  33. package/dist/seed/stores-seed-data.js +13 -205
  34. package/dist/styles.css +19 -18
  35. package/dist/tailwind-utilities.css +1 -1
  36. package/dist/ui/components/BulkActionBar.style.css +4 -4
  37. package/dist/ui/components/Button.style.css +14 -13
  38. package/dist/ui/components/HorizontalScroller.js +93 -18
  39. package/dist/ui/components/ListingToolbar.js +4 -4
  40. package/package.json +1 -1
@@ -1,11 +1,11 @@
1
1
  /*
2
- * WHY: Provides 8 seed stores covering all collectible categories for the marketplace demo.
3
- * WHAT: Exports 8 StoreDocument partials — letitrip-official, kaiba-corp-cards, pokemon-palace,
4
- * cardgame-hub, diecast-depot, beyblade-arena, tokyo-toys-india, gundam-galaxy.
5
- * Mix of verified/basic stores with various capabilities.
2
+ * WHY: Provides a minimal set of seed stores for the Beyblade-focused demo catalog.
3
+ * WHAT: Exports 2 StoreDocument partials — letitrip-official (platform's first-party store,
4
+ * kept for admin/catalogue flows that assume one exists) and beyblade-arena (the
5
+ * Beyblade specialist storefront that owns the seeded product catalog).
6
6
  *
7
7
  * EXPORTS:
8
- * storesSeedData — array of 8 Partial<StoreDocument> for the seed runner
8
+ * storesSeedData — array of 2 Partial<StoreDocument> for the seed runner
9
9
  *
10
10
  * @tag domain:stores
11
11
  * @tag layer:seed
@@ -19,18 +19,18 @@ import { seedExtMedia } from "./_helpers/media";
19
19
  const NOW = new Date();
20
20
  const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
21
21
  export const storesSeedData = [
22
- // ── Store 1: LetItRip Official (admin-owned, curated YGO showcase) ──────────
22
+ // ── Store 1: LetItRip Official (admin-owned, platform storefront) ──────────
23
23
  {
24
24
  id: "store-letitrip-official",
25
25
  storeSlug: "store-letitrip-official",
26
26
  ownerId: "user-admin-letitrip",
27
27
  storeName: "LetItRip Official",
28
- storeDescription: "The official LetItRip curated store. Hand-picked premium Yu-Gi-Oh! collectibles authenticated graded slabs, Egyptian God cards, sealed vintage product, and rare 1st Edition singles. Every item personally inspected.",
29
- storeCategory: "category-singles",
30
- storeLogoURL: seedExtMedia("https://images.ygoprodeck.com/images/cards/small/10000015.jpg"),
31
- storeBannerURL: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/10000015.jpg"),
28
+ storeDescription: "The official LetItRip curated store. Hand-picked, authenticated collectibles with every item personally inspected before listing.",
29
+ storeCategory: "category-spinning-tops",
30
+ storeLogoURL: seedExtMedia("https://picsum.photos/seed/store-logo-letitrip-official-20260101/400/400"),
31
+ storeBannerURL: seedExtMedia("https://picsum.photos/seed/store-banner-letitrip-official-20260101/1600/400"),
32
32
  status: STORE_FIELDS.STATUS_VALUES.ACTIVE,
33
- bio: "Curated by the LetItRip team. All cards authenticated and graded by PSA/BGS/CGC before listing. Fast dispatch, collector-grade packaging.",
33
+ bio: "Curated by the LetItRip team. All items authenticated before listing. Fast dispatch, collector-grade packaging.",
34
34
  location: "Mumbai, Maharashtra, India",
35
35
  website: "https://letitrip.in",
36
36
  socialLinks: {
@@ -39,7 +39,7 @@ export const storesSeedData = [
39
39
  twitter: "https://twitter.com/letitrip",
40
40
  },
41
41
  returnPolicy: "7-day hassle-free returns on all items. Items must be in original condition. Full refund or replacement guaranteed.",
42
- shippingPolicy: "Free shipping on orders above ₹999. Orders dispatched within 24 hours. 3–5 business day delivery across India. Express shipping available. All graded slabs shipped in hard slab mailers.",
42
+ shippingPolicy: "Free shipping on orders above ₹999. Orders dispatched within 24 hours. 3–5 business day delivery across India. Express shipping available.",
43
43
  shippingConfig: {
44
44
  defaultProviderId: "provider-letitrip-standard",
45
45
  providers: [
@@ -97,139 +97,7 @@ export const storesSeedData = [
97
97
  createdAt: daysAgo(400),
98
98
  updatedAt: daysAgo(1),
99
99
  },
100
- // ── Store 2: Kaiba Corp Card Vault (seller-owned, main YGO inventory) ───────
101
- {
102
- id: "store-kaiba-corp-cards",
103
- storeSlug: "store-kaiba-corp-cards",
104
- ownerId: "user-seto-kaiba",
105
- storeName: "Kaiba Corp Card Vault",
106
- storeDescription: "The definitive Yu-Gi-Oh! card store by Seto Kaiba. Massive inventory of Duel Monsters era singles, GX era cards, graded slabs, sealed booster boxes, accessories, and rare collectibles. Authenticated and documented.",
107
- storeCategory: "category-singles",
108
- storeLogoURL: seedExtMedia("https://images.ygoprodeck.com/images/cards/small/23995346.jpg"),
109
- storeBannerURL: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/23995346.jpg"),
110
- status: STORE_FIELDS.STATUS_VALUES.ACTIVE,
111
- bio: "CEO of Kaiba Corp. My vault contains the finest YGO cards in the world. Every card authenticated, graded, and catalogued. Blue-Eyes White Dragon specialist.",
112
- location: "Domino City, Japan",
113
- website: "https://kaibacorp.jp",
114
- socialLinks: {
115
- instagram: "https://instagram.com/kaibacorpvault",
116
- twitter: "https://twitter.com/kaibacorp",
117
- },
118
- returnPolicy: "3-day returns on singles (must be in original condition, same sleeve). No returns on opened sealed product. Graded slabs: 3-day return if slab arrives cracked.",
119
- shippingPolicy: "Singles shipped in top loaders + team bags, bubble-padded envelope. Sealed product double-boxed. Free shipping on orders above ₹1,499. Dispatched within 48 hours. 3–7 business days.",
120
- shippingConfig: {
121
- defaultProviderId: "provider-kaiba-standard",
122
- providers: [
123
- {
124
- providerId: "provider-kaiba-standard",
125
- label: "Standard (Singles & Accessories)",
126
- type: "self-courier",
127
- fee: { flatInPaise: 4900, freeAboveInPaise: 149900 },
128
- etaDaysMin: 3,
129
- etaDaysMax: 7,
130
- },
131
- {
132
- providerId: "provider-kaiba-box",
133
- label: "Box Shipping (Sealed Product)",
134
- type: "custom",
135
- fee: { flatInPaise: 14900 },
136
- etaDaysMin: 4,
137
- etaDaysMax: 7,
138
- requiresAwbUpload: true,
139
- },
140
- {
141
- providerId: "provider-kaiba-express",
142
- label: "Express Courier",
143
- type: "custom",
144
- fee: { flatInPaise: 19900 },
145
- etaDaysMin: 1,
146
- etaDaysMax: 2,
147
- requiresAwbUpload: true,
148
- },
149
- ],
150
- },
151
- isPublic: true,
152
- isVacationMode: false,
153
- vacationMessage: "Taking a break to prepare my next card shipment. Back soon.",
154
- vacationReturnDate: new Date(NOW.getTime() + 7 * 86400000), // 7 days from seed time
155
- stats: {
156
- totalProducts: 0,
157
- itemsSold: 0,
158
- totalReviews: 30,
159
- averageRating: 4.6,
160
- },
161
- capabilities: [
162
- "host_auctions",
163
- "host_preorders",
164
- "verified_seller",
165
- "create_coupons",
166
- "suggest_brands",
167
- "bulk_listing_import",
168
- "advanced_analytics",
169
- ],
170
- createdAt: daysAgo(350),
171
- updatedAt: daysAgo(1),
172
- },
173
- // ── Store 3: Pokémon Palace (Pokémon TCG specialist) ──────────────────────
174
- {
175
- id: "store-pokemon-palace",
176
- storeSlug: "store-pokemon-palace",
177
- ownerId: "user-ash-trainer",
178
- storeName: "Pokémon Palace",
179
- storeDescription: "India's top Pokémon TCG store. Booster packs, Elite Trainer Boxes, singles, graded slabs, and Japanese exclusives. Base Set to Scarlet & Violet — if it's Pokémon, we've got it.",
180
- storeCategory: "category-pokemon-tcg",
181
- storeLogoURL: seedExtMedia("https://picsum.photos/seed/store-logo-pokemon-palace-20260101/400/400"),
182
- storeBannerURL: seedExtMedia("https://picsum.photos/seed/store-banner-pokemon-palace-20260101/1600/400"),
183
- status: STORE_FIELDS.STATUS_VALUES.ACTIVE,
184
- bio: "Pokémon Master turned seller. Building the largest Pokémon TCG collection marketplace in India.",
185
- location: "Bengaluru, Karnataka, India",
186
- website: "https://pokemonpalace.in",
187
- socialLinks: { instagram: "https://instagram.com/pokemonpalace.in" },
188
- returnPolicy: "7-day returns on singles. No returns on opened sealed product.",
189
- shippingPolicy: "Free shipping on orders above ₹799. Ships within 48 hours. 4–6 business days across India.",
190
- shippingConfig: {
191
- defaultProviderId: "provider-pokemon-standard",
192
- providers: [
193
- { providerId: "provider-pokemon-standard", label: "Standard Shipping", type: "custom", fee: { flatInPaise: 4900, freeAboveInPaise: 79900 }, etaDaysMin: 4, etaDaysMax: 6, requiresAwbUpload: true },
194
- ],
195
- },
196
- isPublic: true,
197
- isVacationMode: false,
198
- stats: { totalProducts: 0, itemsSold: 0, totalReviews: 8, averageRating: 4.7 },
199
- capabilities: ["host_auctions", "host_preorders", "verified_seller", "create_coupons", "suggest_brands"],
200
- createdAt: daysAgo(200),
201
- updatedAt: daysAgo(3),
202
- },
203
- // ── Store 4: CardGame Hub (multi-TCG store) ───────────────────────────────
204
- {
205
- id: "store-cardgame-hub",
206
- storeSlug: "store-cardgame-hub",
207
- ownerId: "user-priya-cards",
208
- storeName: "CardGame Hub",
209
- storeDescription: "Multi-TCG collectibles store. Yu-Gi-Oh!, Pokémon, One Piece, Dragon Ball Super, and Cardfight!! Vanguard. Singles, sealed product, and tournament accessories.",
210
- storeCategory: "category-trading-cards",
211
- storeLogoURL: seedExtMedia("https://picsum.photos/seed/store-logo-cardgame-hub-20260101/400/400"),
212
- storeBannerURL: seedExtMedia("https://picsum.photos/seed/store-banner-cardgame-hub-20260101/1600/400"),
213
- status: STORE_FIELDS.STATUS_VALUES.ACTIVE,
214
- bio: "TCG enthusiast since 2010. Running local tournaments and selling authentic cards from my personal collection and distributor stock.",
215
- location: "Hyderabad, Telangana, India",
216
- socialLinks: { instagram: "https://instagram.com/cardgamehub.in", twitter: "https://twitter.com/cardgamehub" },
217
- returnPolicy: "5-day returns. Items must be in original packaging.",
218
- shippingPolicy: "Free shipping above ₹1,499. Ships within 48 hours.",
219
- shippingConfig: {
220
- defaultProviderId: "provider-cardgame-standard",
221
- providers: [
222
- { providerId: "provider-cardgame-standard", label: "Standard", type: "custom", fee: { flatInPaise: 5900, freeAboveInPaise: 149900 }, etaDaysMin: 4, etaDaysMax: 7, requiresAwbUpload: true },
223
- ],
224
- },
225
- isPublic: true,
226
- isVacationMode: false,
227
- stats: { totalProducts: 0, itemsSold: 0, totalReviews: 4, averageRating: 4.5 },
228
- capabilities: ["host_auctions", "verified_seller", "create_coupons", "suggest_brands"],
229
- createdAt: daysAgo(180),
230
- updatedAt: daysAgo(5),
231
- },
232
- // ── Store 6: Beyblade Arena (spinning tops specialist) ────────────────────
100
+ // ── Store 2: Beyblade Arena (spinning tops specialist) ────────────────────
233
101
  {
234
102
  id: "store-beyblade-arena",
235
103
  storeSlug: "store-beyblade-arena",
@@ -258,64 +126,4 @@ export const storesSeedData = [
258
126
  createdAt: daysAgo(150),
259
127
  updatedAt: daysAgo(4),
260
128
  },
261
- // ── Store 7: Tokyo Toys India (anime figures + model kits) ────────────────
262
- {
263
- id: "store-tokyo-toys-india",
264
- storeSlug: "store-tokyo-toys-india",
265
- ownerId: "user-megumi-figures",
266
- storeName: "Tokyo Toys India",
267
- storeDescription: "Anime figures and model kits imported from Japan. Nendoroid, S.H.Figuarts, figma, Funko Pop, and scale figures. Plus Gunpla and 30 Minutes Missions kits.",
268
- storeCategory: "category-action-figures",
269
- storeLogoURL: seedExtMedia("https://picsum.photos/seed/store-logo-tokyo-toys-india-20260101/400/400"),
270
- storeBannerURL: seedExtMedia("https://picsum.photos/seed/store-banner-tokyo-toys-india-20260101/1600/400"),
271
- status: STORE_FIELDS.STATUS_VALUES.ACTIVE,
272
- bio: "Direct imports from Akihabara and Nipponbashi. Authentic figures with original Japanese packaging. No bootlegs, ever.",
273
- location: "Pune, Maharashtra, India",
274
- website: "https://tokyotoys.in",
275
- socialLinks: { instagram: "https://instagram.com/tokyotoys.in", twitter: "https://twitter.com/tokyotoysindia" },
276
- returnPolicy: "7-day returns on unopened figures. Damaged-in-transit claims within 48 hours with photo proof.",
277
- shippingPolicy: "Free shipping above ₹1,999. All figures double-boxed with foam inserts. 5–8 business days.",
278
- shippingConfig: {
279
- defaultProviderId: "provider-tokyo-standard",
280
- providers: [
281
- { providerId: "provider-tokyo-standard", label: "Standard (Double-Box)", type: "custom", fee: { flatInPaise: 9900, freeAboveInPaise: 199900 }, etaDaysMin: 5, etaDaysMax: 8, requiresAwbUpload: true },
282
- { providerId: "provider-tokyo-express", label: "Express", type: "custom", fee: { flatInPaise: 19900 }, etaDaysMin: 2, etaDaysMax: 3, requiresAwbUpload: true },
283
- ],
284
- },
285
- isPublic: true,
286
- isVacationMode: false,
287
- stats: { totalProducts: 0, itemsSold: 0, totalReviews: 3, averageRating: 4.9 },
288
- capabilities: ["host_preorders", "verified_seller", "create_coupons", "suggest_brands", "advanced_analytics"],
289
- createdAt: daysAgo(120),
290
- updatedAt: daysAgo(2),
291
- },
292
- // ── Store 8: Gundam Galaxy (Gunpla + mecha model kits) ────────────────────
293
- {
294
- id: "store-gundam-galaxy",
295
- storeSlug: "store-gundam-galaxy",
296
- ownerId: "user-amuro-builder",
297
- storeName: "Gundam Galaxy",
298
- storeDescription: "Gunpla and mecha model kits — HG, RG, MG, PG, SD grades by Bandai, plus Frame Arms by Kotobukiya and 30 Minutes Missions. Tools, paints, and accessories.",
299
- storeCategory: "category-model-kits",
300
- storeLogoURL: seedExtMedia("https://picsum.photos/seed/store-logo-gundam-galaxy-20260101/400/400"),
301
- storeBannerURL: seedExtMedia("https://picsum.photos/seed/store-banner-gundam-galaxy-20260101/1600/400"),
302
- status: STORE_FIELDS.STATUS_VALUES.ACTIVE,
303
- bio: "Building Gunpla since 2005. Over 200 kits built. Importing directly from Bandai Hobby distributors in Japan and Hong Kong.",
304
- location: "Kolkata, West Bengal, India",
305
- socialLinks: { instagram: "https://instagram.com/gundamgalaxy.in" },
306
- returnPolicy: "7-day returns on sealed kits. No returns on opened or partially built kits.",
307
- shippingPolicy: "Free shipping above ₹1,499. Kits shipped in original Bandai outer boxes. 4–7 business days.",
308
- shippingConfig: {
309
- defaultProviderId: "provider-gundam-standard",
310
- providers: [
311
- { providerId: "provider-gundam-standard", label: "Standard", type: "custom", fee: { flatInPaise: 7900, freeAboveInPaise: 149900 }, etaDaysMin: 4, etaDaysMax: 7, requiresAwbUpload: true },
312
- ],
313
- },
314
- isPublic: true,
315
- isVacationMode: false,
316
- stats: { totalProducts: 0, itemsSold: 0, totalReviews: 2, averageRating: 4.7 },
317
- capabilities: ["host_preorders", "create_coupons", "suggest_brands"],
318
- createdAt: daysAgo(90),
319
- updatedAt: daysAgo(6),
320
- },
321
129
  ];