@mohasinac/appkit 2.8.7 → 2.8.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_internal/server/features/checkout/actions.js +9 -9
- package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +1 -1
- package/dist/_internal/shared/listing-types/action-tracker.js +1 -1
- package/dist/constants/api-endpoints.d.ts +3 -0
- package/dist/constants/api-endpoints.js +1 -0
- package/dist/core/hooks/useSyncManager.js +4 -4
- package/dist/features/account/components/NotificationPreferencesPanel.js +1 -1
- package/dist/features/admin/components/AdminSupportTicketDetailView.js +4 -4
- package/dist/features/blog/api/[slug]/route.js +1 -1
- package/dist/features/categories/components/CategoryDetailPageView.js +3 -1
- package/dist/features/layout/TitleBarLayout.js +2 -4
- package/dist/features/media/MediaImage.js +7 -5
- package/dist/features/media/MediaVideo.js +5 -2
- package/dist/features/media/upload/MediaUploadField.js +3 -1
- package/dist/features/pre-orders/components/PreOrderDetailPageView.js +3 -1
- package/dist/features/products/components/ShareButton.js +1 -1
- package/dist/features/products/components/ShowGroupSection.js +1 -1
- package/dist/features/products/components/SublistingCarouselSection.js +1 -1
- package/dist/features/promotions/components/CouponCard.js +1 -1
- package/dist/features/scams/actions/scam-actions.js +1 -1
- package/dist/features/seller/components/PhysicalLocationModal.js +5 -1
- package/dist/features/seller/components/SellerFeaturesView.js +2 -2
- package/dist/features/seller/components/SellerGoogleReviewsView.js +1 -1
- package/dist/features/seller/components/SellerPayoutRequestView.js +1 -1
- package/dist/features/seller/components/SellerPayoutSettingsView.js +1 -1
- package/dist/features/seller/components/SellerProductShell.js +1 -1
- package/dist/features/seller/components/SellerShippingView.js +1 -1
- package/dist/features/wishlist/hooks/useWishlistCount.js +1 -1
- package/dist/monitoring/server-logger.js +3 -3
- package/dist/providers/db-firebase/browser-stub.d.ts +1 -0
- package/dist/providers/db-firebase/browser-stub.js +1 -0
- package/dist/providers/db-firebase/rtdb-paths.d.ts +1 -0
- package/dist/providers/db-firebase/rtdb-paths.js +1 -0
- package/dist/seed/_helpers/media.d.ts +1 -0
- package/dist/seed/_helpers/media.js +26 -0
- package/dist/seed/blog-posts-seed-data.js +12 -11
- package/dist/seed/carousel-slides-seed-data.js +7 -6
- package/dist/seed/cart-seed-data.js +13 -12
- package/dist/seed/categories-seed-data.js +95 -94
- package/dist/seed/events-seed-data.js +9 -8
- package/dist/seed/factories/product.factory.js +4 -3
- package/dist/seed/factories/store.factory.js +3 -2
- package/dist/seed/factories/user.factory.js +2 -1
- package/dist/seed/grouped-listings-seed-data.js +4 -3
- package/dist/seed/homepage-sections-seed-data.js +2 -1
- package/dist/seed/products-auctions-seed-data.js +57 -56
- package/dist/seed/products-classifieds-seed-data.js +12 -11
- package/dist/seed/products-digital-codes-seed-data.js +11 -10
- package/dist/seed/products-live-items-seed-data.js +9 -8
- package/dist/seed/products-preorders-seed-data.js +6 -5
- package/dist/seed/products-prize-draws-seed-data.js +25 -24
- package/dist/seed/products-standard-seed-data.js +125 -124
- package/dist/seed/scammers-seed-data.js +2 -1
- package/dist/seed/site-settings-seed-data.js +6 -5
- package/dist/seed/store-extensions-seed-data.js +10 -9
- package/dist/seed/stores-seed-data.js +17 -16
- package/dist/seed/users-seed-data.js +22 -21
- package/dist/ui/components/BackgroundRenderer.js +6 -4
- package/dist/ui/rich-text/RichText.js +1 -1
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* @tag sideEffects:none
|
|
14
14
|
*/
|
|
15
15
|
import { SCAMMER_FIELDS } from "../constants/field-names";
|
|
16
|
+
import { seedExtMedia } from "./_helpers/media";
|
|
16
17
|
const NOW = new Date("2026-05-10T00:00:00.000Z");
|
|
17
18
|
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
18
19
|
export const scammersSeedData = [
|
|
@@ -33,7 +34,7 @@ export const scammersSeedData = [
|
|
|
33
34
|
description: "Seller listed a Blue-Eyes White Dragon LOB 1st Edition PSA 9 on a Facebook group for ₹25,000 — significantly below market. When I messaged, he asked for ₹5,000 advance to 'hold' the card before shipping. After I paid via UPI (9876543210@paytm), he went silent. The account name on UPI matched 'YGO King'. Later found 2 more people in the same group who had the same experience with the same UPI ID.",
|
|
34
35
|
amountLost: 500000,
|
|
35
36
|
itemInvolved: "Blue-Eyes White Dragon LOB 1st Edition PSA 9 (Yu-Gi-Oh!)",
|
|
36
|
-
evidence: ["/
|
|
37
|
+
evidence: [seedExtMedia("https://picsum.photos/seed/scammer-evidence-ygoking-chat-screenshot-20260402/800/600")],
|
|
37
38
|
reportedBy: "user-yugi-muto",
|
|
38
39
|
reportedByAnon: false,
|
|
39
40
|
status: SCAMMER_FIELDS.STATUS_VALUES.VERIFIED,
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
import { getDefaultPhonePrefix, getSeedLocale } from "./seed-market-config";
|
|
16
16
|
const _phonePrefix = getDefaultPhonePrefix();
|
|
17
17
|
const _locale = getSeedLocale();
|
|
18
|
+
import { seedExtMedia } from "./_helpers/media";
|
|
18
19
|
const NOW = new Date();
|
|
19
20
|
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
20
21
|
const adPlacementsSeed = [
|
|
@@ -123,7 +124,7 @@ export const siteSettingsSeedData = {
|
|
|
123
124
|
"pre-order konami",
|
|
124
125
|
"duel monsters cards",
|
|
125
126
|
],
|
|
126
|
-
ogImage: "https://images.ygoprodeck.com/images/cards/cropped/46986414.jpg",
|
|
127
|
+
ogImage: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/46986414.jpg"),
|
|
127
128
|
},
|
|
128
129
|
features: [
|
|
129
130
|
{
|
|
@@ -287,7 +288,7 @@ export const siteSettingsSeedData = {
|
|
|
287
288
|
placements: adPlacementsSeed,
|
|
288
289
|
providerCredentials: {
|
|
289
290
|
adsenseClientId: "ca-pub-0000000000000000",
|
|
290
|
-
thirdPartyScriptUrl: "https://cdn.example-ads.com/ad-runtime.js",
|
|
291
|
+
thirdPartyScriptUrl: seedExtMedia("https://cdn.example-ads.com/ad-runtime.js"),
|
|
291
292
|
},
|
|
292
293
|
inventory: [
|
|
293
294
|
{
|
|
@@ -304,7 +305,7 @@ export const siteSettingsSeedData = {
|
|
|
304
305
|
creative: {
|
|
305
306
|
title: "LOB 1st Edition Mega Drop",
|
|
306
307
|
body: "Limited Legend of Blue Eyes singles and sealed packs — this weekend only.",
|
|
307
|
-
imageUrl: "https://images.ygoprodeck.com/images/cards/cropped/89631139.jpg",
|
|
308
|
+
imageUrl: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/89631139.jpg"),
|
|
308
309
|
ctaLabel: "Explore Deals",
|
|
309
310
|
ctaHref: "/promotions/deals",
|
|
310
311
|
},
|
|
@@ -323,7 +324,7 @@ export const siteSettingsSeedData = {
|
|
|
323
324
|
creative: {
|
|
324
325
|
title: "Graded Slab Auctions",
|
|
325
326
|
body: "PSA 10 Blue-Eyes and Dark Magician auctions ending this week.",
|
|
326
|
-
imageUrl: "https://images.ygoprodeck.com/images/cards/cropped/46986414.jpg",
|
|
327
|
+
imageUrl: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/46986414.jpg"),
|
|
327
328
|
ctaLabel: "View Auctions",
|
|
328
329
|
ctaHref: "/auctions",
|
|
329
330
|
},
|
|
@@ -344,7 +345,7 @@ export const siteSettingsSeedData = {
|
|
|
344
345
|
creative: {
|
|
345
346
|
title: "Complete Your Exodia",
|
|
346
347
|
body: "All 5 Forbidden One pieces available — LOB to modern reprints.",
|
|
347
|
-
imageUrl: "https://images.ygoprodeck.com/images/cards/cropped/33396948.jpg",
|
|
348
|
+
imageUrl: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/33396948.jpg"),
|
|
348
349
|
ctaLabel: "Browse Exodia",
|
|
349
350
|
ctaHref: "/products?q=exodia",
|
|
350
351
|
},
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
|
|
17
17
|
* @tag sideEffects:none
|
|
18
18
|
*/
|
|
19
|
+
import { seedExtMedia } from "./_helpers/media";
|
|
19
20
|
const NOW = new Date();
|
|
20
21
|
// ───── payoutMethods (4 records) ──────────────────────────────────────────
|
|
21
22
|
export const payoutMethodsSeedData = [
|
|
@@ -131,10 +132,10 @@ export const analyticsAlertsSeedData = [
|
|
|
131
132
|
];
|
|
132
133
|
// ───── storeCategories (4 records) ────────────────────────────────────────
|
|
133
134
|
export const storeCategoriesSeedData = [
|
|
134
|
-
{ id: "scat-kaiba-lob-singles", storeId: "store-kaiba-corp-cards", label: "LOB Singles", slug: "lob-singles", displayOrder: 0, productIds: [], isActive: true, description: "Legend of Blue Eyes White Dragon singles.", coverImageUrl: "https://images.ygoprodeck.com/images/cards/cropped/89631139.jpg" },
|
|
135
|
-
{ id: "scat-kaiba-graded-slabs", storeId: "store-kaiba-corp-cards", label: "Graded Slabs", slug: "graded-slabs", displayOrder: 1, productIds: [], isActive: true, description: "PSA, BGS, and CGC graded Yu-Gi-Oh! slabs.", coverImageUrl: "https://images.ygoprodeck.com/images/cards/cropped/46986414.jpg" },
|
|
136
|
-
{ id: "scat-letitrip-sealed", storeId: "store-letitrip-official", label: "Sealed Products", slug: "sealed-products", displayOrder: 0, productIds: [], isActive: true, description: "Factory-sealed booster boxes, tins, and structure decks.", coverImageUrl: "https://images.ygoprodeck.com/images/cards/cropped/33396948.jpg" },
|
|
137
|
-
{ id: "scat-letitrip-accessories", storeId: "store-letitrip-official", label: "Accessories", slug: "accessories", displayOrder: 1, productIds: [], isActive: true, description: "Deck boxes, sleeves, playmats, and binders.", coverImageUrl: "https://images.ygoprodeck.com/images/cards/cropped/38033121.jpg" },
|
|
135
|
+
{ id: "scat-kaiba-lob-singles", storeId: "store-kaiba-corp-cards", label: "LOB Singles", slug: "lob-singles", displayOrder: 0, productIds: [], isActive: true, description: "Legend of Blue Eyes White Dragon singles.", coverImageUrl: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/89631139.jpg") },
|
|
136
|
+
{ id: "scat-kaiba-graded-slabs", storeId: "store-kaiba-corp-cards", label: "Graded Slabs", slug: "graded-slabs", displayOrder: 1, productIds: [], isActive: true, description: "PSA, BGS, and CGC graded Yu-Gi-Oh! slabs.", coverImageUrl: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/46986414.jpg") },
|
|
137
|
+
{ id: "scat-letitrip-sealed", storeId: "store-letitrip-official", label: "Sealed Products", slug: "sealed-products", displayOrder: 0, productIds: [], isActive: true, description: "Factory-sealed booster boxes, tins, and structure decks.", coverImageUrl: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/33396948.jpg") },
|
|
138
|
+
{ id: "scat-letitrip-accessories", storeId: "store-letitrip-official", label: "Accessories", slug: "accessories", displayOrder: 1, productIds: [], isActive: true, description: "Deck boxes, sleeves, playmats, and binders.", coverImageUrl: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/38033121.jpg") },
|
|
138
139
|
];
|
|
139
140
|
// ───── listingTemplates (4 records) ───────────────────────────────────────
|
|
140
141
|
export const listingTemplatesSeedData = [
|
|
@@ -189,9 +190,9 @@ export const moderationQueueSeedData = [
|
|
|
189
190
|
{ id: "mod-video-blue-eyes-auction", mediaType: "video", mediaUrl: "/media/product-video-blue-eyes-lob-psa10-20260518.mp4", entityType: "product", entityId: "auction-blue-eyes-lob-1st-psa10", ownerId: "user-seto-kaiba", storeId: "store-kaiba-corp-cards", status: "pending", submittedAt: new Date(NOW.getTime() - 3600000) },
|
|
190
191
|
{ id: "mod-video-dark-magician-unbox", mediaType: "video", mediaUrl: "/media/product-video-dark-magician-lob-20260518.mp4", entityType: "product", entityId: "product-dark-magician-lob-nm", ownerId: "user-seto-kaiba", storeId: "store-kaiba-corp-cards", status: "pending", submittedAt: new Date(NOW.getTime() - 7200000) },
|
|
191
192
|
{ id: "mod-review-exodia", mediaType: "rich-text", entityType: "review", entityId: "review-exodia-head-yugi-20260510", ownerId: "user-yugi-muto", status: "approved", reviewerId: "user-admin-letitrip", reviewedAt: new Date(NOW.getTime() - 86400000), submittedAt: new Date(NOW.getTime() - 90000000) },
|
|
192
|
-
{ id: "mod-image-kaiba-banner", mediaType: "image", mediaUrl: "/
|
|
193
|
+
{ id: "mod-image-kaiba-banner", mediaType: "image", mediaUrl: seedExtMedia("https://picsum.photos/seed/store-banner-kaiba-corp-cards-20260518/1600/400"), entityType: "storefront", entityId: "store-kaiba-corp-cards", ownerId: "user-seto-kaiba", storeId: "store-kaiba-corp-cards", status: "auto-approved", submittedAt: new Date(NOW.getTime() - 172800000) },
|
|
193
194
|
{ id: "mod-blog-grading-guide", mediaType: "rich-text", entityType: "blog", entityId: "blog-how-to-grade-yugioh-cards", ownerId: "user-admin-letitrip", status: "approved", reviewerId: "user-admin-letitrip", reviewedAt: new Date(NOW.getTime() - 432000000), submittedAt: new Date(NOW.getTime() - 438000000) },
|
|
194
|
-
{ id: "mod-event-cover-tournament", mediaType: "image", mediaUrl: "/
|
|
195
|
+
{ id: "mod-event-cover-tournament", mediaType: "image", mediaUrl: seedExtMedia("https://picsum.photos/seed/event-cover-ygo-duel-championship-20260518/1200/600"), entityType: "event", entityId: "event-ygo-duel-championship-june-2026", ownerId: "user-admin-letitrip", status: "approved", reviewerId: "user-admin-letitrip", reviewedAt: new Date(NOW.getTime() - 86400000), submittedAt: new Date(NOW.getTime() - 90000000) },
|
|
195
196
|
];
|
|
196
197
|
// ───── reports (5 records) ────────────────────────────────────────────────
|
|
197
198
|
export const reportsSeedData = [
|
|
@@ -212,7 +213,7 @@ export const itemRequestsSeedData = [
|
|
|
212
213
|
category: "trading-cards",
|
|
213
214
|
brand: "konami",
|
|
214
215
|
maxBudgetInPaise: 25000000,
|
|
215
|
-
imageUrls: ["https://images.ygoprodeck.com/images/cards/cropped/89631139.jpg"],
|
|
216
|
+
imageUrls: [seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/89631139.jpg")],
|
|
216
217
|
status: "open",
|
|
217
218
|
replyCount: 2,
|
|
218
219
|
replies: [],
|
|
@@ -228,7 +229,7 @@ export const itemRequestsSeedData = [
|
|
|
228
229
|
category: "trading-cards",
|
|
229
230
|
brand: "konami",
|
|
230
231
|
maxBudgetInPaise: 15000000,
|
|
231
|
-
imageUrls: ["https://images.ygoprodeck.com/images/cards/cropped/33396948.jpg"],
|
|
232
|
+
imageUrls: [seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/33396948.jpg")],
|
|
232
233
|
status: "open",
|
|
233
234
|
replyCount: 0,
|
|
234
235
|
replies: [],
|
|
@@ -244,7 +245,7 @@ export const itemRequestsSeedData = [
|
|
|
244
245
|
category: "trading-cards",
|
|
245
246
|
brand: "konami",
|
|
246
247
|
maxBudgetInPaise: 1500000,
|
|
247
|
-
imageUrls: ["https://images.ygoprodeck.com/images/cards/cropped/46986414.jpg"],
|
|
248
|
+
imageUrls: [seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/46986414.jpg")],
|
|
248
249
|
status: "fulfilled",
|
|
249
250
|
replyCount: 4,
|
|
250
251
|
replies: [],
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* @tag sideEffects:none
|
|
16
16
|
*/
|
|
17
17
|
import { STORE_FIELDS } from "../constants/field-names";
|
|
18
|
+
import { seedExtMedia } from "./_helpers/media";
|
|
18
19
|
const NOW = new Date();
|
|
19
20
|
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
20
21
|
export const storesSeedData = [
|
|
@@ -26,8 +27,8 @@ export const storesSeedData = [
|
|
|
26
27
|
storeName: "LetItRip Official",
|
|
27
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.",
|
|
28
29
|
storeCategory: "category-singles",
|
|
29
|
-
storeLogoURL: "https://images.ygoprodeck.com/images/cards/small/10000015.jpg",
|
|
30
|
-
storeBannerURL: "https://images.ygoprodeck.com/images/cards/cropped/10000015.jpg",
|
|
30
|
+
storeLogoURL: seedExtMedia("https://images.ygoprodeck.com/images/cards/small/10000015.jpg"),
|
|
31
|
+
storeBannerURL: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/10000015.jpg"),
|
|
31
32
|
status: STORE_FIELDS.STATUS_VALUES.ACTIVE,
|
|
32
33
|
bio: "Curated by the LetItRip team. All cards authenticated and graded by PSA/BGS/CGC before listing. Fast dispatch, collector-grade packaging.",
|
|
33
34
|
location: "Mumbai, Maharashtra, India",
|
|
@@ -104,8 +105,8 @@ export const storesSeedData = [
|
|
|
104
105
|
storeName: "Kaiba Corp Card Vault",
|
|
105
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.",
|
|
106
107
|
storeCategory: "category-singles",
|
|
107
|
-
storeLogoURL: "https://images.ygoprodeck.com/images/cards/small/23995346.jpg",
|
|
108
|
-
storeBannerURL: "https://images.ygoprodeck.com/images/cards/cropped/23995346.jpg",
|
|
108
|
+
storeLogoURL: seedExtMedia("https://images.ygoprodeck.com/images/cards/small/23995346.jpg"),
|
|
109
|
+
storeBannerURL: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/23995346.jpg"),
|
|
109
110
|
status: STORE_FIELDS.STATUS_VALUES.ACTIVE,
|
|
110
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.",
|
|
111
112
|
location: "Domino City, Japan",
|
|
@@ -177,8 +178,8 @@ export const storesSeedData = [
|
|
|
177
178
|
storeName: "Pokémon Palace",
|
|
178
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.",
|
|
179
180
|
storeCategory: "category-pokemon-tcg",
|
|
180
|
-
storeLogoURL: "/
|
|
181
|
-
storeBannerURL: "/
|
|
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"),
|
|
182
183
|
status: STORE_FIELDS.STATUS_VALUES.ACTIVE,
|
|
183
184
|
bio: "Pokémon Master turned seller. Building the largest Pokémon TCG collection marketplace in India.",
|
|
184
185
|
location: "Bengaluru, Karnataka, India",
|
|
@@ -207,8 +208,8 @@ export const storesSeedData = [
|
|
|
207
208
|
storeName: "CardGame Hub",
|
|
208
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.",
|
|
209
210
|
storeCategory: "category-trading-cards",
|
|
210
|
-
storeLogoURL: "/
|
|
211
|
-
storeBannerURL: "/
|
|
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"),
|
|
212
213
|
status: STORE_FIELDS.STATUS_VALUES.ACTIVE,
|
|
213
214
|
bio: "TCG enthusiast since 2010. Running local tournaments and selling authentic cards from my personal collection and distributor stock.",
|
|
214
215
|
location: "Hyderabad, Telangana, India",
|
|
@@ -236,8 +237,8 @@ export const storesSeedData = [
|
|
|
236
237
|
storeName: "Diecast Depot",
|
|
237
238
|
storeDescription: "India's premier diecast collectibles store. Hot Wheels mainline, Premium, Treasure Hunts, Super TH, Tomica, Matchbox, and Maisto. New arrivals every week.",
|
|
238
239
|
storeCategory: "category-diecast-vehicles",
|
|
239
|
-
storeLogoURL: "/
|
|
240
|
-
storeBannerURL: "/
|
|
240
|
+
storeLogoURL: seedExtMedia("https://picsum.photos/seed/store-logo-diecast-depot-20260101/400/400"),
|
|
241
|
+
storeBannerURL: seedExtMedia("https://picsum.photos/seed/store-banner-diecast-depot-20260101/1600/400"),
|
|
241
242
|
status: STORE_FIELDS.STATUS_VALUES.ACTIVE,
|
|
242
243
|
bio: "Collecting diecast since 1998. Over 5,000 Hot Wheels in my personal collection. Now sharing the hobby with collectors across India.",
|
|
243
244
|
location: "Delhi, NCR, India",
|
|
@@ -265,8 +266,8 @@ export const storesSeedData = [
|
|
|
265
266
|
storeName: "Beyblade Arena",
|
|
266
267
|
storeDescription: "Everything Beyblade — X, Burst, Metal Fight, and vintage original series. Takara-Tomy authentic stock, tournament-grade stadiums, launchers, and rare limited editions.",
|
|
267
268
|
storeCategory: "category-spinning-tops",
|
|
268
|
-
storeLogoURL: "/
|
|
269
|
-
storeBannerURL: "/
|
|
269
|
+
storeLogoURL: seedExtMedia("https://picsum.photos/seed/store-logo-beyblade-arena-20260101/400/400"),
|
|
270
|
+
storeBannerURL: seedExtMedia("https://picsum.photos/seed/store-banner-beyblade-arena-20260101/1600/400"),
|
|
270
271
|
status: STORE_FIELDS.STATUS_VALUES.ACTIVE,
|
|
271
272
|
bio: "Beyblade champion turned seller. Importing authentic Takara-Tomy Beyblades directly from Japan. Let It Rip!",
|
|
272
273
|
location: "Chennai, Tamil Nadu, India",
|
|
@@ -294,8 +295,8 @@ export const storesSeedData = [
|
|
|
294
295
|
storeName: "Tokyo Toys India",
|
|
295
296
|
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.",
|
|
296
297
|
storeCategory: "category-action-figures",
|
|
297
|
-
storeLogoURL: "/
|
|
298
|
-
storeBannerURL: "/
|
|
298
|
+
storeLogoURL: seedExtMedia("https://picsum.photos/seed/store-logo-tokyo-toys-india-20260101/400/400"),
|
|
299
|
+
storeBannerURL: seedExtMedia("https://picsum.photos/seed/store-banner-tokyo-toys-india-20260101/1600/400"),
|
|
299
300
|
status: STORE_FIELDS.STATUS_VALUES.ACTIVE,
|
|
300
301
|
bio: "Direct imports from Akihabara and Nipponbashi. Authentic figures with original Japanese packaging. No bootlegs, ever.",
|
|
301
302
|
location: "Pune, Maharashtra, India",
|
|
@@ -325,8 +326,8 @@ export const storesSeedData = [
|
|
|
325
326
|
storeName: "Gundam Galaxy",
|
|
326
327
|
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.",
|
|
327
328
|
storeCategory: "category-model-kits",
|
|
328
|
-
storeLogoURL: "/
|
|
329
|
-
storeBannerURL: "/
|
|
329
|
+
storeLogoURL: seedExtMedia("https://picsum.photos/seed/store-logo-gundam-galaxy-20260101/400/400"),
|
|
330
|
+
storeBannerURL: seedExtMedia("https://picsum.photos/seed/store-banner-gundam-galaxy-20260101/1600/400"),
|
|
330
331
|
status: STORE_FIELDS.STATUS_VALUES.ACTIVE,
|
|
331
332
|
bio: "Building Gunpla since 2005. Over 200 kits built. Importing directly from Bandai Hobby distributors in Japan and Hong Kong.",
|
|
332
333
|
location: "Kolkata, West Bengal, India",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { getDefaultPhonePrefix } from "./seed-market-config";
|
|
17
17
|
import { USER_FIELDS } from "../constants/field-names";
|
|
18
|
+
import { seedExtMedia } from "./_helpers/media";
|
|
18
19
|
const _ph = getDefaultPhonePrefix();
|
|
19
20
|
const NOW = new Date();
|
|
20
21
|
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
@@ -26,9 +27,9 @@ export const usersSeedData = [
|
|
|
26
27
|
phoneNumber: `${_ph}9999900000`,
|
|
27
28
|
phoneVerified: true,
|
|
28
29
|
displayName: "LetItRip Admin",
|
|
29
|
-
photoURL: "https://images.ygoprodeck.com/images/cards/cropped/33396948.jpg",
|
|
30
|
+
photoURL: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/33396948.jpg"),
|
|
30
31
|
avatarMetadata: {
|
|
31
|
-
url: "https://images.ygoprodeck.com/images/cards/cropped/33396948.jpg",
|
|
32
|
+
url: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/33396948.jpg"),
|
|
32
33
|
position: { x: 50, y: 50 },
|
|
33
34
|
zoom: 1.0,
|
|
34
35
|
},
|
|
@@ -65,9 +66,9 @@ export const usersSeedData = [
|
|
|
65
66
|
phoneNumber: `${_ph}9999900001`,
|
|
66
67
|
phoneVerified: true,
|
|
67
68
|
displayName: "Seto Kaiba",
|
|
68
|
-
photoURL: "https://images.ygoprodeck.com/images/cards/cropped/89631139.jpg",
|
|
69
|
+
photoURL: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/89631139.jpg"),
|
|
69
70
|
avatarMetadata: {
|
|
70
|
-
url: "https://images.ygoprodeck.com/images/cards/cropped/89631139.jpg",
|
|
71
|
+
url: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/89631139.jpg"),
|
|
71
72
|
position: { x: 50, y: 50 },
|
|
72
73
|
zoom: 1.0,
|
|
73
74
|
},
|
|
@@ -105,9 +106,9 @@ export const usersSeedData = [
|
|
|
105
106
|
phoneNumber: `${_ph}9999900002`,
|
|
106
107
|
phoneVerified: true,
|
|
107
108
|
displayName: "Yugi Muto",
|
|
108
|
-
photoURL: "https://images.ygoprodeck.com/images/cards/cropped/46986414.jpg",
|
|
109
|
+
photoURL: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/46986414.jpg"),
|
|
109
110
|
avatarMetadata: {
|
|
110
|
-
url: "https://images.ygoprodeck.com/images/cards/cropped/46986414.jpg",
|
|
111
|
+
url: seedExtMedia("https://images.ygoprodeck.com/images/cards/cropped/46986414.jpg"),
|
|
111
112
|
position: { x: 50, y: 50 },
|
|
112
113
|
zoom: 1.0,
|
|
113
114
|
},
|
|
@@ -140,7 +141,7 @@ export const usersSeedData = [
|
|
|
140
141
|
phoneNumber: `${_ph}9999900003`,
|
|
141
142
|
phoneVerified: true,
|
|
142
143
|
displayName: "Ash Ketchum",
|
|
143
|
-
photoURL: "/
|
|
144
|
+
photoURL: seedExtMedia("https://picsum.photos/seed/user-avatar-ash-ketchum-20260101/400/400"),
|
|
144
145
|
role: USER_FIELDS.ROLE_VALUES.SELLER,
|
|
145
146
|
emailVerified: true,
|
|
146
147
|
disabled: false,
|
|
@@ -170,7 +171,7 @@ export const usersSeedData = [
|
|
|
170
171
|
phoneNumber: `${_ph}9999900004`,
|
|
171
172
|
phoneVerified: true,
|
|
172
173
|
displayName: "Priya Sharma",
|
|
173
|
-
photoURL: "/
|
|
174
|
+
photoURL: seedExtMedia("https://picsum.photos/seed/user-avatar-priya-sharma-20260101/400/400"),
|
|
174
175
|
role: USER_FIELDS.ROLE_VALUES.SELLER,
|
|
175
176
|
emailVerified: true,
|
|
176
177
|
disabled: false,
|
|
@@ -200,7 +201,7 @@ export const usersSeedData = [
|
|
|
200
201
|
phoneNumber: `${_ph}9999900005`,
|
|
201
202
|
phoneVerified: true,
|
|
202
203
|
displayName: "Ravi Kumar",
|
|
203
|
-
photoURL: "/
|
|
204
|
+
photoURL: seedExtMedia("https://picsum.photos/seed/user-avatar-ravi-kumar-20260101/400/400"),
|
|
204
205
|
role: USER_FIELDS.ROLE_VALUES.SELLER,
|
|
205
206
|
emailVerified: true,
|
|
206
207
|
disabled: false,
|
|
@@ -230,7 +231,7 @@ export const usersSeedData = [
|
|
|
230
231
|
phoneNumber: `${_ph}9999900006`,
|
|
231
232
|
phoneVerified: true,
|
|
232
233
|
displayName: "Tyson Granger",
|
|
233
|
-
photoURL: "/
|
|
234
|
+
photoURL: seedExtMedia("https://picsum.photos/seed/user-avatar-tyson-granger-20260101/400/400"),
|
|
234
235
|
role: USER_FIELDS.ROLE_VALUES.SELLER,
|
|
235
236
|
emailVerified: true,
|
|
236
237
|
disabled: false,
|
|
@@ -260,7 +261,7 @@ export const usersSeedData = [
|
|
|
260
261
|
phoneNumber: `${_ph}9999900007`,
|
|
261
262
|
phoneVerified: true,
|
|
262
263
|
displayName: "Megumi Tanaka",
|
|
263
|
-
photoURL: "/
|
|
264
|
+
photoURL: seedExtMedia("https://picsum.photos/seed/user-avatar-megumi-tanaka-20260101/400/400"),
|
|
264
265
|
role: USER_FIELDS.ROLE_VALUES.SELLER,
|
|
265
266
|
emailVerified: true,
|
|
266
267
|
disabled: false,
|
|
@@ -290,7 +291,7 @@ export const usersSeedData = [
|
|
|
290
291
|
phoneNumber: `${_ph}9999900008`,
|
|
291
292
|
phoneVerified: true,
|
|
292
293
|
displayName: "Amuro Ray",
|
|
293
|
-
photoURL: "/
|
|
294
|
+
photoURL: seedExtMedia("https://picsum.photos/seed/user-avatar-amuro-ray-20260101/400/400"),
|
|
294
295
|
role: USER_FIELDS.ROLE_VALUES.SELLER,
|
|
295
296
|
emailVerified: true,
|
|
296
297
|
disabled: false,
|
|
@@ -320,7 +321,7 @@ export const usersSeedData = [
|
|
|
320
321
|
phoneNumber: `${_ph}9999900009`,
|
|
321
322
|
phoneVerified: true,
|
|
322
323
|
displayName: "Ananya Patel",
|
|
323
|
-
photoURL: "/
|
|
324
|
+
photoURL: seedExtMedia("https://picsum.photos/seed/user-avatar-ananya-patel-20260101/400/400"),
|
|
324
325
|
role: USER_FIELDS.ROLE_VALUES.USER,
|
|
325
326
|
emailVerified: true,
|
|
326
327
|
disabled: false,
|
|
@@ -345,7 +346,7 @@ export const usersSeedData = [
|
|
|
345
346
|
phoneNumber: `${_ph}9999900010`,
|
|
346
347
|
phoneVerified: true,
|
|
347
348
|
displayName: "Vikram Singh",
|
|
348
|
-
photoURL: "/
|
|
349
|
+
photoURL: seedExtMedia("https://picsum.photos/seed/user-avatar-vikram-singh-20260101/400/400"),
|
|
349
350
|
role: USER_FIELDS.ROLE_VALUES.USER,
|
|
350
351
|
emailVerified: true,
|
|
351
352
|
disabled: false,
|
|
@@ -370,7 +371,7 @@ export const usersSeedData = [
|
|
|
370
371
|
phoneNumber: `${_ph}9999900011`,
|
|
371
372
|
phoneVerified: true,
|
|
372
373
|
displayName: "Meera Nair",
|
|
373
|
-
photoURL: "/
|
|
374
|
+
photoURL: seedExtMedia("https://picsum.photos/seed/user-avatar-meera-nair-20260101/400/400"),
|
|
374
375
|
role: USER_FIELDS.ROLE_VALUES.USER,
|
|
375
376
|
emailVerified: true,
|
|
376
377
|
disabled: false,
|
|
@@ -395,7 +396,7 @@ export const usersSeedData = [
|
|
|
395
396
|
phoneNumber: `${_ph}9999900012`,
|
|
396
397
|
phoneVerified: true,
|
|
397
398
|
displayName: "Arjun Reddy",
|
|
398
|
-
photoURL: "/
|
|
399
|
+
photoURL: seedExtMedia("https://picsum.photos/seed/user-avatar-arjun-reddy-20260101/400/400"),
|
|
399
400
|
role: USER_FIELDS.ROLE_VALUES.USER,
|
|
400
401
|
emailVerified: true,
|
|
401
402
|
disabled: false,
|
|
@@ -420,7 +421,7 @@ export const usersSeedData = [
|
|
|
420
421
|
phoneNumber: `${_ph}9999900013`,
|
|
421
422
|
phoneVerified: true,
|
|
422
423
|
displayName: "Sneha Gupta",
|
|
423
|
-
photoURL: "/
|
|
424
|
+
photoURL: seedExtMedia("https://picsum.photos/seed/user-avatar-sneha-gupta-20260101/400/400"),
|
|
424
425
|
role: USER_FIELDS.ROLE_VALUES.USER,
|
|
425
426
|
emailVerified: true,
|
|
426
427
|
disabled: false,
|
|
@@ -445,7 +446,7 @@ export const usersSeedData = [
|
|
|
445
446
|
phoneNumber: `${_ph}9999900014`,
|
|
446
447
|
phoneVerified: true,
|
|
447
448
|
displayName: "Rohit Agarwal",
|
|
448
|
-
photoURL: "/
|
|
449
|
+
photoURL: seedExtMedia("https://picsum.photos/seed/user-avatar-rohit-agarwal-20260101/400/400"),
|
|
449
450
|
role: USER_FIELDS.ROLE_VALUES.USER,
|
|
450
451
|
emailVerified: true,
|
|
451
452
|
disabled: false,
|
|
@@ -470,7 +471,7 @@ export const usersSeedData = [
|
|
|
470
471
|
phoneNumber: `${_ph}9999900015`,
|
|
471
472
|
phoneVerified: true,
|
|
472
473
|
displayName: "Divya Menon",
|
|
473
|
-
photoURL: "/
|
|
474
|
+
photoURL: seedExtMedia("https://picsum.photos/seed/user-avatar-divya-menon-20260101/400/400"),
|
|
474
475
|
role: USER_FIELDS.ROLE_VALUES.USER,
|
|
475
476
|
emailVerified: true,
|
|
476
477
|
disabled: false,
|
|
@@ -495,7 +496,7 @@ export const usersSeedData = [
|
|
|
495
496
|
phoneNumber: `${_ph}9999900016`,
|
|
496
497
|
phoneVerified: false,
|
|
497
498
|
displayName: "Karthik Iyer",
|
|
498
|
-
photoURL: "/
|
|
499
|
+
photoURL: seedExtMedia("https://picsum.photos/seed/user-avatar-karthik-iyer-20260101/400/400"),
|
|
499
500
|
role: USER_FIELDS.ROLE_VALUES.USER,
|
|
500
501
|
emailVerified: true,
|
|
501
502
|
disabled: false,
|
|
@@ -520,7 +521,7 @@ export const usersSeedData = [
|
|
|
520
521
|
phoneNumber: `${_ph}9999900017`,
|
|
521
522
|
phoneVerified: true,
|
|
522
523
|
displayName: "Neha Joshi",
|
|
523
|
-
photoURL: "/
|
|
524
|
+
photoURL: seedExtMedia("https://picsum.photos/seed/user-avatar-neha-joshi-20260101/400/400"),
|
|
524
525
|
role: USER_FIELDS.ROLE_VALUES.USER,
|
|
525
526
|
emailVerified: true,
|
|
526
527
|
disabled: false,
|
|
@@ -36,9 +36,11 @@ export function BackgroundRenderer({ mode, lightMode, darkMode, }) {
|
|
|
36
36
|
opacity: config.overlay.opacity,
|
|
37
37
|
}
|
|
38
38
|
: { display: "none" };
|
|
39
|
-
return (_jsxs(_Fragment, { children: [
|
|
39
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { className: "appkit-bg-renderer",
|
|
40
|
+
// audit-inline-style-ok: computed style fn
|
|
41
|
+
style: getBackgroundStyle(), "data-section": "backgroundrenderer-div-456", children: config.type === "video" && (_jsxs("video", { ref: videoRef, autoPlay: true, loop: true, muted: true, playsInline: true, onLoadedData: () => setIsVideoLoaded(true), className: `appkit-bg-renderer__video ${isVideoLoaded
|
|
40
42
|
? "appkit-bg-renderer__video--loaded"
|
|
41
|
-
: "appkit-bg-renderer__video--loading"}`, children: [_jsx("source", { src: config.value, type: "video/mp4" }), "Your browser does not support the video tag."] })) })
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
: "appkit-bg-renderer__video--loading"}`, children: [_jsx("source", { src: config.value, type: "video/mp4" }), "Your browser does not support the video tag."] })) }), _jsx("div", { className: "appkit-bg-renderer__overlay",
|
|
44
|
+
// audit-inline-style-ok: pass-through style prop
|
|
45
|
+
style: overlayStyle })] }));
|
|
44
46
|
}
|
|
@@ -150,7 +150,7 @@ function attachCopyButtons(container) {
|
|
|
150
150
|
btn.textContent = "Copy";
|
|
151
151
|
}, 1800);
|
|
152
152
|
})
|
|
153
|
-
.catch(() => { });
|
|
153
|
+
.catch(() => { }); // audit-silent-catch-ok: clipboard denial is non-fatal; "Copied!" label simply won't toggle
|
|
154
154
|
});
|
|
155
155
|
pre.appendChild(btn);
|
|
156
156
|
});
|