@mohasinac/appkit 3.6.5 → 3.8.0
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/client/features/layout/DashboardLayoutClient.d.ts +17 -3
- package/dist/_internal/client/features/layout/DashboardLayoutClient.js +7 -2
- package/dist/_internal/client/features/tour/TourProvider.d.ts +5 -2
- package/dist/_internal/client/features/tour/TourProvider.js +125 -12
- package/dist/_internal/client/theme/ThemeProvider.js +1 -1
- package/dist/_internal/server/features/categories/data.js +2 -2
- package/dist/_internal/server/features/faqs/og.js +5 -1
- package/dist/_internal/server/features/reviews/og.js +5 -1
- package/dist/_internal/server/features/seo/manifest.js +2 -1
- package/dist/_internal/server/features/seo/og.js +7 -1
- package/dist/_internal/server/features/tester/visibility.d.ts +13 -0
- package/dist/_internal/server/features/tester/visibility.js +28 -0
- package/dist/_internal/server/functions/scheduled.d.ts +2 -1
- package/dist/_internal/server/functions/scheduled.js +9 -1
- package/dist/_internal/server/jobs/core/jobRunners.js +5 -0
- package/dist/_internal/server/jobs/core/resetOtpVerification.d.ts +17 -0
- package/dist/_internal/server/jobs/core/resetOtpVerification.js +88 -0
- package/dist/_internal/server/jobs/core/testerSandboxCleanup.d.ts +6 -0
- package/dist/_internal/server/jobs/core/testerSandboxCleanup.js +35 -0
- package/dist/_internal/server/jobs/handlers/_helpers.d.ts +6 -0
- package/dist/_internal/server/jobs/handlers/_helpers.js +12 -0
- package/dist/_internal/server/jobs/handlers/index.d.ts +1 -0
- package/dist/_internal/server/jobs/handlers/index.js +2 -0
- package/dist/_internal/server/jobs/handlers/messages.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/messages.js +2 -0
- package/dist/_internal/server/jobs/handlers/testerSandboxCleanup.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/testerSandboxCleanup.js +2 -0
- package/dist/_internal/shared/actions/action-registry.d.ts +1 -1
- package/dist/_internal/shared/actions/action-registry.js +56 -0
- package/dist/_internal/shared/tokens/index.d.ts +12 -12
- package/dist/client.d.ts +15 -3
- package/dist/client.js +10 -2
- package/dist/constants/api-endpoints.d.ts +39 -12
- package/dist/constants/api-endpoints.js +17 -8
- package/dist/constants/field-names.d.ts +9 -0
- package/dist/constants/field-names.js +12 -0
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/index.js +1 -1
- package/dist/features/account/components/LinkedAccountsSection.d.ts +11 -0
- package/dist/features/account/components/LinkedAccountsSection.js +11 -0
- package/dist/features/account/components/UserSidebar.d.ts +3 -1
- package/dist/features/account/components/UserSidebar.js +9 -13
- package/dist/features/account/hooks/useCollapsedSections.d.ts +20 -0
- package/dist/features/account/hooks/useCollapsedSections.js +63 -0
- package/dist/features/account/hooks/useProfile.d.ts +8 -0
- package/dist/features/account/index.d.ts +1 -0
- package/dist/features/account/index.js +1 -0
- package/dist/features/admin/components/AdminAddressEditorView.js +2 -2
- package/dist/features/admin/components/AdminBidsView.js +6 -6
- package/dist/features/admin/components/AdminBrandsView.js +2 -2
- package/dist/features/admin/components/AdminCarouselView.js +2 -2
- package/dist/features/admin/components/AdminCategoryEditorView.js +2 -2
- package/dist/features/admin/components/AdminPrizeDrawsView.js +3 -3
- package/dist/features/admin/components/AdminProductEditorView.js +5 -2
- package/dist/features/admin/components/AdminReviewsView.js +5 -5
- package/dist/features/admin/components/AdminSectionsView.js +3 -18
- package/dist/features/admin/components/AdminSidebar.js +8 -6
- package/dist/features/admin/components/AdminSiteSettingsView.js +133 -127
- package/dist/features/admin/components/AdminSublistingCategoriesView.js +1 -1
- package/dist/features/admin/components/AdminTesterChecklistItemEditorView.d.ts +9 -0
- package/dist/features/admin/components/AdminTesterChecklistItemEditorView.js +129 -0
- package/dist/features/admin/components/AdminTesterChecklistView.d.ts +6 -0
- package/dist/features/admin/components/AdminTesterChecklistView.js +93 -0
- package/dist/features/admin/components/AdminUserEditorView.d.ts +3 -1
- package/dist/features/admin/components/AdminUserEditorView.js +7 -1
- package/dist/features/admin/components/AdminUsersView.js +1 -1
- package/dist/features/admin/components/DataListingView.js +2 -2
- package/dist/features/admin/components/analytics/AdminPageViewsReportView.d.ts +8 -0
- package/dist/features/admin/components/analytics/AdminPageViewsReportView.js +41 -0
- package/dist/features/admin/components/index.d.ts +6 -0
- package/dist/features/admin/components/index.js +3 -0
- package/dist/features/admin/schemas/firestore.d.ts +0 -7
- package/dist/features/admin/schemas/firestore.js +6 -6
- package/dist/features/analytics/components/PageViewTracker.d.ts +12 -0
- package/dist/features/analytics/components/PageViewTracker.js +22 -0
- package/dist/features/analytics/repository/page-views.repository.d.ts +32 -0
- package/dist/features/analytics/repository/page-views.repository.js +43 -0
- package/dist/features/analytics/types.d.ts +6 -0
- package/dist/features/analytics/types.js +13 -0
- package/dist/features/auth/components/SocialAuthButtons.js +1 -1
- package/dist/features/auth/hooks/useAuth.d.ts +12 -0
- package/dist/features/auth/hooks/useAuth.js +109 -0
- package/dist/features/auth/permissions/constants.d.ts +1 -1
- package/dist/features/auth/repository/session.repository.d.ts +2 -0
- package/dist/features/auth/repository/session.repository.js +4 -1
- package/dist/features/auth/schemas/firestore.d.ts +17 -1
- package/dist/features/auth/schemas/firestore.js +2 -0
- package/dist/features/blog/components/BlogIndexListing.js +2 -2
- package/dist/features/blog/schemas/firestore.d.ts +4 -0
- package/dist/features/cart/actions/cart-actions.js +20 -2
- package/dist/features/categories/api/route.js +2 -2
- package/dist/features/categories/components/CategoriesIndexListing.js +3 -3
- package/dist/features/categories/components/CategoryBundlesListing.js +2 -2
- package/dist/features/categories/components/CategoryDetailPageView.js +3 -1
- package/dist/features/categories/components/CategoryProductsListing.js +2 -2
- package/dist/features/categories/schemas/firestore.d.ts +4 -0
- package/dist/features/classified/components/ClassifiedIndexListing.js +2 -2
- package/dist/features/digital-codes/components/DigitalCodesIndexListing.js +2 -2
- package/dist/features/email/primitives.d.ts +2 -2
- package/dist/features/email/primitives.js +2 -2
- package/dist/features/events/components/EventsIndexListing.js +2 -2
- package/dist/features/events/repository/event-entry.repository.js +1 -0
- package/dist/features/events/schemas/firestore.d.ts +7 -1
- package/dist/features/events/schemas/firestore.js +1 -0
- package/dist/features/layout/BackToTop.d.ts +6 -1
- package/dist/features/layout/BackToTop.js +31 -6
- package/dist/features/layout/BottomNavbar.js +1 -1
- package/dist/features/layout/NavItem.js +1 -1
- package/dist/features/layout/NavbarLayout.js +2 -2
- package/dist/features/live/components/LiveItemsIndexListing.js +2 -2
- package/dist/features/media/MediaVideo.js +5 -1
- package/dist/features/pre-orders/components/PreOrdersIndexListing.js +2 -2
- package/dist/features/products/components/AuctionsIndexListing.js +2 -2
- package/dist/features/products/components/PrizeDrawsIndexListing.js +2 -2
- package/dist/features/products/components/ProductsIndexListing.js +2 -2
- package/dist/features/products/constants/action-defs.d.ts +2 -0
- package/dist/features/products/constants/action-defs.js +2 -0
- package/dist/features/products/constants/sieve.d.ts +0 -6
- package/dist/features/products/constants/sieve.js +4 -2
- package/dist/features/products/repository/products.repository.d.ts +20 -0
- package/dist/features/products/repository/products.repository.js +5 -0
- package/dist/features/products/schemas/firestore.d.ts +4 -0
- package/dist/features/promotions/components/CouponsIndexListing.js +18 -5
- package/dist/features/reviews/components/ReviewsIndexListing.js +2 -2
- package/dist/features/search/hooks/useNavSuggestions.js +20 -1
- package/dist/features/seller/actions/seller-actions.js +11 -6
- package/dist/features/seller/components/SellerAddressesView.js +2 -2
- package/dist/features/seller/components/SellerBidsView.js +2 -2
- package/dist/features/seller/components/SellerCouponsView.js +1 -1
- package/dist/features/seller/components/SellerOrdersView.js +2 -2
- package/dist/features/seller/components/SellerProductsView.js +2 -2
- package/dist/features/seller/components/SellerSidebar.d.ts +3 -1
- package/dist/features/seller/components/SellerSidebar.js +9 -8
- package/dist/features/seller/components/SellerStoreCategoriesView.js +2 -2
- package/dist/features/seller/components/SellerTemplatesView.js +2 -2
- package/dist/features/shell/StepForm.js +4 -4
- package/dist/features/stores/actions/store-query-actions.d.ts +5 -4
- package/dist/features/stores/actions/store-query-actions.js +11 -8
- package/dist/features/stores/components/StoreAuctionsListing.js +2 -2
- package/dist/features/stores/components/StoreClassifiedsListing.js +2 -2
- package/dist/features/stores/components/StoreDetailLayoutView.js +1 -1
- package/dist/features/stores/components/StoreDigitalCodesListing.js +2 -2
- package/dist/features/stores/components/StoreLiveItemsListing.js +2 -2
- package/dist/features/stores/components/StorePreOrdersListing.js +2 -2
- package/dist/features/stores/components/StoreProductsListing.js +2 -2
- package/dist/features/stores/components/StoreReviewsListing.js +2 -2
- package/dist/features/stores/components/StoresIndexListing.js +2 -2
- package/dist/features/stores/repository/store.repository.js +3 -0
- package/dist/features/stores/schemas/firestore.d.ts +4 -0
- package/dist/features/tester/actions/checklist-item-actions.d.ts +69 -0
- package/dist/features/tester/actions/checklist-item-actions.js +42 -0
- package/dist/features/tester/actions/index.d.ts +1 -0
- package/dist/features/tester/actions/index.js +1 -0
- package/dist/features/tester/components/AdminTesterFeedbackIssuesView.d.ts +2 -0
- package/dist/features/tester/components/AdminTesterFeedbackIssuesView.js +22 -0
- package/dist/features/tester/components/AdminTesterFeedbackListView.d.ts +3 -0
- package/dist/features/tester/components/AdminTesterFeedbackListView.js +100 -0
- package/dist/features/tester/components/AdminTesterFeedbackReportView.d.ts +2 -0
- package/dist/features/tester/components/AdminTesterFeedbackReportView.js +30 -0
- package/dist/features/tester/components/AdminTesterFeedbackView.d.ts +2 -0
- package/dist/features/tester/components/AdminTesterFeedbackView.js +29 -0
- package/dist/features/tester/components/TesterChecklistStepRow.d.ts +18 -0
- package/dist/features/tester/components/TesterChecklistStepRow.js +29 -0
- package/dist/features/tester/components/TesterFeedbackChart.d.ts +14 -0
- package/dist/features/tester/components/TesterFeedbackChart.js +18 -0
- package/dist/features/tester/components/TesterHubView.d.ts +5 -0
- package/dist/features/tester/components/TesterHubView.js +71 -0
- package/dist/features/tester/components/index.d.ts +11 -0
- package/dist/features/tester/components/index.js +7 -0
- package/dist/features/tester/index.d.ts +2 -0
- package/dist/features/tester/index.js +2 -0
- package/dist/features/tester/repository/index.d.ts +2 -0
- package/dist/features/tester/repository/index.js +2 -0
- package/dist/features/tester/repository/tester-checklist-item.repository.d.ts +13 -0
- package/dist/features/tester/repository/tester-checklist-item.repository.js +55 -0
- package/dist/features/tester/repository/tester-checklist-response.repository.d.ts +50 -0
- package/dist/features/tester/repository/tester-checklist-response.repository.js +196 -0
- package/dist/features/tester/schemas/firestore.d.ts +85 -0
- package/dist/features/tester/schemas/firestore.js +93 -0
- package/dist/features/tester/schemas/index.d.ts +1 -0
- package/dist/features/tester/schemas/index.js +1 -0
- package/dist/features/tester/seed-data/blog-tester-seed-data.d.ts +2 -0
- package/dist/features/tester/seed-data/blog-tester-seed-data.js +40 -0
- package/dist/features/tester/seed-data/categories-tester-seed-data.d.ts +2 -0
- package/dist/features/tester/seed-data/categories-tester-seed-data.js +177 -0
- package/dist/features/tester/seed-data/events-tester-seed-data.d.ts +2 -0
- package/dist/features/tester/seed-data/events-tester-seed-data.js +50 -0
- package/dist/features/tester/seed-data/index.d.ts +6 -0
- package/dist/features/tester/seed-data/index.js +6 -0
- package/dist/features/tester/seed-data/products-tester-seed-data.d.ts +2 -0
- package/dist/features/tester/seed-data/products-tester-seed-data.js +151 -0
- package/dist/features/tester/seed-data/stores-tester-seed-data.d.ts +2 -0
- package/dist/features/tester/seed-data/stores-tester-seed-data.js +40 -0
- package/dist/features/tester/seed-data/tester-checklist-seed-data.d.ts +2 -0
- package/dist/features/tester/seed-data/tester-checklist-seed-data.js +248 -0
- package/dist/features/tester/seed-data/tester-ttl.d.ts +4 -0
- package/dist/features/tester/seed-data/tester-ttl.js +6 -0
- package/dist/features/tester/server.d.ts +9 -0
- package/dist/features/tester/server.js +8 -0
- package/dist/index.d.ts +28 -2
- package/dist/index.js +51 -1
- package/dist/next/api/api-response.js +5 -1
- package/dist/next/api/routeHandler.js +10 -1
- package/dist/next/middleware/chain.js +1 -1
- package/dist/next/routing/route-map.d.ts +6 -7
- package/dist/next/routing/route-map.js +3 -7
- package/dist/providers/payment-manual/index.d.ts +2 -2
- package/dist/providers/payment-manual/index.js +2 -2
- package/dist/react/contexts/SessionContext.d.ts +4 -0
- package/dist/react/contexts/SessionContext.js +4 -0
- package/dist/repositories/index.d.ts +4 -0
- package/dist/repositories/index.js +3 -0
- package/dist/security/pii-encrypt.js +12 -2
- package/dist/seed/addresses-seed-data.js +1 -1
- package/dist/seed/bids-seed-data.js +64 -185
- package/dist/seed/blog-posts-seed-data.js +1 -1
- package/dist/seed/carousel-slides-seed-data.js +22 -16
- package/dist/seed/carousels-seed-data.js +1 -1
- package/dist/seed/cart-seed-data.js +1 -1
- package/dist/seed/categories-seed-data.js +1 -1
- package/dist/seed/claimed-coupons-seed-data.js +1 -1
- package/dist/seed/conversations-seed-data.js +1 -1
- package/dist/seed/coupon-usage-seed-data.js +1 -1
- package/dist/seed/coupons-seed-data.js +1 -1
- package/dist/seed/events-seed-data.js +1 -1
- package/dist/seed/faq-seed-data.js +119 -3
- package/dist/seed/grouped-listings-seed-data.d.ts +2 -0
- package/dist/seed/grouped-listings-seed-data.js +1 -1
- package/dist/seed/history-seed-data.js +1 -1
- package/dist/seed/homepage-sections-seed-data.js +1 -1
- package/dist/seed/index.d.ts +2 -2
- package/dist/seed/index.js +7 -3
- package/dist/seed/lottery-entries-seed-data.js +1 -1
- package/dist/seed/manifest.d.ts +4 -3
- package/dist/seed/manifest.js +13 -6
- package/dist/seed/notifications-seed-data.js +1 -1
- package/dist/seed/offers-seed-data.js +1 -1
- package/dist/seed/orders-seed-data.js +1 -1
- package/dist/seed/payouts-seed-data.js +1 -1
- package/dist/seed/products-art-seed-data.js +1 -1
- package/dist/seed/products-auctions-seed-data.js +1 -1
- package/dist/seed/products-classifieds-seed-data.js +1 -1
- package/dist/seed/products-digital-codes-seed-data.js +1 -1
- package/dist/seed/products-live-items-seed-data.js +1 -1
- package/dist/seed/products-preorders-seed-data.d.ts +2 -0
- package/dist/seed/products-preorders-seed-data.js +1 -1
- package/dist/seed/products-prize-draws-seed-data.js +1 -1
- package/dist/seed/products-standard-seed-data.js +1 -1
- package/dist/seed/products-stickers-seed-data.js +1 -1
- package/dist/seed/reviews-seed-data.js +1 -1
- package/dist/seed/scammers-seed-data.js +1 -1
- package/dist/seed/sessions-seed-data.js +1 -1
- package/dist/seed/site-settings-seed-data.js +22 -16
- package/dist/seed/store-addresses-seed-data.js +1 -1
- package/dist/seed/store-extensions-seed-data.js +1 -1
- package/dist/seed/stores-seed-data.js +1 -1
- package/dist/seed/support-tickets-seed-data.js +1 -1
- package/dist/seed/tester-checklist-seed-data.d.ts +2 -0
- package/dist/seed/tester-checklist-seed-data.js +248 -0
- package/dist/seed/users-seed-data.js +1 -1
- package/dist/seed/wishlists-seed-data.js +1 -1
- package/dist/server.d.ts +7 -2
- package/dist/server.js +19 -12
- package/dist/styles.css +181 -165
- package/dist/tailwind-utilities.css +1 -1
- package/dist/tokens/color-pairs.d.ts +46 -0
- package/dist/tokens/color-pairs.js +93 -0
- package/dist/tokens/index.d.ts +60 -60
- package/dist/tokens/index.js +30 -30
- package/dist/tokens/themes/cobalt-night.d.ts +3 -2
- package/dist/tokens/themes/cobalt-night.js +3 -2
- package/dist/tokens/themes/default-dark.d.ts +4 -1
- package/dist/tokens/themes/default-dark.js +53 -50
- package/dist/tokens/themes/default-light.d.ts +5 -1
- package/dist/tokens/themes/default-light.js +48 -44
- package/dist/tokens/themes/sunset.js +4 -4
- package/dist/tokens/tokens.css +128 -122
- package/dist/ui/components/CollapsibleSection.d.ts +15 -0
- package/dist/ui/components/CollapsibleSection.js +13 -0
- package/dist/ui/components/ListingToolbar.js +3 -2
- package/dist/ui/components/Semantic.style.css +3 -3
- package/dist/ui/components/SideDrawer.style.css +19 -19
- package/dist/ui/components/Slider.js +1 -1
- package/dist/ui/components/StickyToolbar.d.ts +36 -7
- package/dist/ui/components/StickyToolbar.js +63 -5
- package/dist/ui/components/Tabs.js +17 -1
- package/dist/ui/components/Tabs.style.css +10 -0
- package/dist/ui/components/Typography.js +7 -0
- package/dist/ui/components/surface-tokens.d.ts +0 -7
- package/dist/ui/components/surface-tokens.js +7 -0
- package/dist/ui/index.d.ts +6 -0
- package/dist/ui/index.js +3 -0
- package/dist/ui/rich-text/RichText.style.css +20 -20
- package/dist/utils/id-generators.d.ts +13 -0
- package/dist/utils/id-generators.js +17 -0
- package/package.json +1 -1
- package/scripts/seed-cli-loader.mjs +15 -0
- package/scripts/seed-cli.mjs +71 -17
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* WHY: Seeds
|
|
2
|
+
* WHY: Seeds 61 FAQs for LetItRip collectibles marketplace — covers general platform, shipping,
|
|
3
3
|
* returns, payments, auctions, pre-orders, product info, account/security, scam awareness.
|
|
4
4
|
* WHAT: Mix of broad collectibles marketplace FAQs + category-specific FAQs (trading cards, action figures,
|
|
5
|
-
* diecast, Beyblade, model kits, grading, authenticity, bundles, prize draws)
|
|
5
|
+
* diecast, Beyblade, model kits, grading, authenticity, bundles, prize draws), plus (Phase 17,
|
|
6
|
+
* 2026-08-17) the verified-badge trust system, classifieds, digital codes, live items, personal
|
|
7
|
+
* catalogue, and seller procurement shipments — features shipped since the FAQs were last written.
|
|
6
8
|
*
|
|
7
9
|
* EXPORTS:
|
|
8
10
|
* faqSeedData — Array of Partial<FAQDocument> for seed runner
|
|
@@ -11,7 +13,7 @@
|
|
|
11
13
|
* @tag layer:seed
|
|
12
14
|
* @tag pattern:none
|
|
13
15
|
* @tag access:server-only
|
|
14
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
16
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
15
17
|
* @tag sideEffects:none
|
|
16
18
|
*/
|
|
17
19
|
const NOW = new Date();
|
|
@@ -1094,4 +1096,118 @@ export const faqSeedData = [
|
|
|
1094
1096
|
createdAt: daysAgo(40),
|
|
1095
1097
|
updatedAt: daysAgo(6),
|
|
1096
1098
|
},
|
|
1099
|
+
{
|
|
1100
|
+
id: "faq-what-is-verified-badge",
|
|
1101
|
+
question: "What does the verified seller badge mean?",
|
|
1102
|
+
answer: html(`<p>A verified badge means LetItRip has manually confirmed the seller's identity and store details before they were allowed to list. Verified sellers have passed our onboarding review — it doesn't guarantee every listing is accurate, but it does mean the seller is a real, accountable business we can act on if something goes wrong. Look for the badge on the store page next to the seller's name.</p>`),
|
|
1103
|
+
category: "account_security",
|
|
1104
|
+
showOnHomepage: false,
|
|
1105
|
+
showInFooter: false,
|
|
1106
|
+
isPinned: false,
|
|
1107
|
+
order: 56,
|
|
1108
|
+
priority: 6,
|
|
1109
|
+
tags: ["verified", "badge", "trust", "seller"],
|
|
1110
|
+
relatedFAQs: ["faq-spot-a-scam-listing", "faq-report-a-scammer"],
|
|
1111
|
+
stats: makeStats(900, 45),
|
|
1112
|
+
seo: { slug: "faq-what-is-verified-badge", metaTitle: "What Is the Verified Seller Badge?", metaDescription: "How LetItRip's seller verification works and what the badge means." },
|
|
1113
|
+
isActive: true,
|
|
1114
|
+
createdBy: "user-admin-letitrip",
|
|
1115
|
+
createdAt: daysAgo(20),
|
|
1116
|
+
updatedAt: daysAgo(2),
|
|
1117
|
+
},
|
|
1118
|
+
{
|
|
1119
|
+
id: "faq-what-are-classifieds",
|
|
1120
|
+
question: "What are Classified listings?",
|
|
1121
|
+
answer: html(`<p>Classifieds are listings for items that don't ship — local meetups, trades, or collections too large/fragile to post. A classified listing shows the seller's general area (not their exact address) and lets buyers message to arrange an in-person exchange or local pickup. LetItRip's escrow payment protection does not apply to classifieds — agree on payment terms directly with the seller and meet in a safe, public location.</p>`),
|
|
1122
|
+
category: "product_information",
|
|
1123
|
+
showOnHomepage: false,
|
|
1124
|
+
showInFooter: false,
|
|
1125
|
+
isPinned: false,
|
|
1126
|
+
order: 57,
|
|
1127
|
+
priority: 5,
|
|
1128
|
+
tags: ["classifieds", "local", "meetup", "listing-type"],
|
|
1129
|
+
relatedFAQs: ["faq-off-platform-payment-warning"],
|
|
1130
|
+
stats: makeStats(650, 30),
|
|
1131
|
+
seo: { slug: "faq-what-are-classifieds", metaTitle: "What Are Classified Listings?", metaDescription: "How local, no-shipping classified listings work on LetItRip." },
|
|
1132
|
+
isActive: true,
|
|
1133
|
+
createdBy: "user-admin-letitrip",
|
|
1134
|
+
createdAt: daysAgo(18),
|
|
1135
|
+
updatedAt: daysAgo(2),
|
|
1136
|
+
},
|
|
1137
|
+
{
|
|
1138
|
+
id: "faq-what-are-digital-codes",
|
|
1139
|
+
question: "How do digital code listings work?",
|
|
1140
|
+
answer: html(`<p>Digital code listings sell redeemable codes — game keys, gift cards, DLC unlocks — with no physical shipping. After payment, the code is revealed to you directly in your order. Because codes can't be "returned" once revealed, digital code purchases are final once you've viewed the code; make sure you're buying from a seller with a strong review history.</p>`),
|
|
1141
|
+
category: "product_information",
|
|
1142
|
+
showOnHomepage: false,
|
|
1143
|
+
showInFooter: false,
|
|
1144
|
+
isPinned: false,
|
|
1145
|
+
order: 58,
|
|
1146
|
+
priority: 5,
|
|
1147
|
+
tags: ["digital-codes", "game-keys", "listing-type"],
|
|
1148
|
+
relatedFAQs: ["faq-what-are-classifieds"],
|
|
1149
|
+
stats: makeStats(700, 35),
|
|
1150
|
+
seo: { slug: "faq-what-are-digital-codes", metaTitle: "How Digital Code Listings Work", metaDescription: "Buying and redeeming digital code listings on LetItRip." },
|
|
1151
|
+
isActive: true,
|
|
1152
|
+
createdBy: "user-admin-letitrip",
|
|
1153
|
+
createdAt: daysAgo(18),
|
|
1154
|
+
updatedAt: daysAgo(2),
|
|
1155
|
+
},
|
|
1156
|
+
{
|
|
1157
|
+
id: "faq-what-are-live-items",
|
|
1158
|
+
question: "What are Live listings?",
|
|
1159
|
+
answer: html(`<p>Live listings are for living animals sold by verified exotic-pet and breeder sellers — axolotls, reptiles, and similar. Every live listing requires the seller to specify safe-handling and shipping/pickup instructions, and buyers should confirm care requirements before purchasing. Live-animal sales follow the same escrow protection as physical goods, but delivery timing is coordinated directly with the seller due to live-animal shipping constraints.</p>`),
|
|
1160
|
+
category: "product_information",
|
|
1161
|
+
showOnHomepage: false,
|
|
1162
|
+
showInFooter: false,
|
|
1163
|
+
isPinned: false,
|
|
1164
|
+
order: 59,
|
|
1165
|
+
priority: 4,
|
|
1166
|
+
tags: ["live-items", "live-animals", "listing-type"],
|
|
1167
|
+
relatedFAQs: [],
|
|
1168
|
+
stats: makeStats(420, 20),
|
|
1169
|
+
seo: { slug: "faq-what-are-live-items", metaTitle: "What Are Live Listings?", metaDescription: "Buying live-animal listings safely on LetItRip." },
|
|
1170
|
+
isActive: true,
|
|
1171
|
+
createdBy: "user-admin-letitrip",
|
|
1172
|
+
createdAt: daysAgo(15),
|
|
1173
|
+
updatedAt: daysAgo(2),
|
|
1174
|
+
},
|
|
1175
|
+
{
|
|
1176
|
+
id: "faq-what-is-personal-catalogue",
|
|
1177
|
+
question: "What is My Catalogue?",
|
|
1178
|
+
answer: html(`<p>My Catalogue is a private space to track your own collection — items you own, whether or not they're for sale. Add items with photos and notes, and optionally submit any of them for review to convert into a real listing without re-entering the details. It's a personal inventory tool first, a fast path to listing second.</p>`),
|
|
1179
|
+
category: "product_information",
|
|
1180
|
+
showOnHomepage: false,
|
|
1181
|
+
showInFooter: false,
|
|
1182
|
+
isPinned: false,
|
|
1183
|
+
order: 60,
|
|
1184
|
+
priority: 4,
|
|
1185
|
+
tags: ["catalogue", "collection", "personal", "inventory"],
|
|
1186
|
+
relatedFAQs: [],
|
|
1187
|
+
stats: makeStats(380, 18),
|
|
1188
|
+
seo: { slug: "faq-what-is-personal-catalogue", metaTitle: "What Is My Catalogue?", metaDescription: "Track your personal collectibles collection with My Catalogue on LetItRip." },
|
|
1189
|
+
isActive: true,
|
|
1190
|
+
createdBy: "user-admin-letitrip",
|
|
1191
|
+
createdAt: daysAgo(12),
|
|
1192
|
+
updatedAt: daysAgo(1),
|
|
1193
|
+
},
|
|
1194
|
+
{
|
|
1195
|
+
id: "faq-what-are-procurement-shipments",
|
|
1196
|
+
question: "What is the Procurement / Shipments tool for sellers?",
|
|
1197
|
+
answer: html(`<p>Procurement Shipments is a seller-side tool for bulk-buying and processing inventory lots. Log a shipment (what you bought, the labor hours spent sorting/categorizing/listing it), and LetItRip computes the labor cost and estimated processing time automatically from your Payout Settings' hourly rate. It's for sellers who buy collections in bulk and turn them into individual listings, not a buyer-facing feature.</p>`),
|
|
1198
|
+
category: "general",
|
|
1199
|
+
showOnHomepage: false,
|
|
1200
|
+
showInFooter: false,
|
|
1201
|
+
isPinned: false,
|
|
1202
|
+
order: 61,
|
|
1203
|
+
priority: 3,
|
|
1204
|
+
tags: ["procurement", "shipments", "seller", "bulk"],
|
|
1205
|
+
relatedFAQs: [],
|
|
1206
|
+
stats: makeStats(210, 10),
|
|
1207
|
+
seo: { slug: "faq-what-are-procurement-shipments", metaTitle: "Procurement Shipments for Sellers", metaDescription: "How LetItRip's seller procurement shipment tracking tool works." },
|
|
1208
|
+
isActive: true,
|
|
1209
|
+
createdBy: "user-admin-letitrip",
|
|
1210
|
+
createdAt: daysAgo(10),
|
|
1211
|
+
updatedAt: daysAgo(1),
|
|
1212
|
+
},
|
|
1097
1213
|
];
|
|
@@ -3,6 +3,8 @@ export declare const groupedListingsSeedData: {
|
|
|
3
3
|
title?: string | undefined;
|
|
4
4
|
description?: string | undefined;
|
|
5
5
|
slug?: string | undefined;
|
|
6
|
+
isTestData?: boolean | undefined;
|
|
7
|
+
testDataExpiresAt?: Date | undefined;
|
|
6
8
|
seoTitle?: string | undefined;
|
|
7
9
|
seoDescription?: string | undefined;
|
|
8
10
|
seoKeywords?: string[] | undefined;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @tag layer:seed
|
|
10
10
|
* @tag pattern:none
|
|
11
11
|
* @tag access:server-only
|
|
12
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
12
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
13
|
* @tag sideEffects:none
|
|
14
14
|
*/
|
|
15
15
|
import { PRODUCT_FIELDS } from "../constants/field-names";
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @tag layer:seed
|
|
10
10
|
* @tag pattern:none
|
|
11
11
|
* @tag access:server-only
|
|
12
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
12
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
13
|
* @tag sideEffects:none
|
|
14
14
|
*/
|
|
15
15
|
import { seedExtMedia } from "./_helpers/media";
|
package/dist/seed/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export type { SeedCollection, SeedConfig, SeedResult } from "./types";
|
|
2
2
|
export type { SeedLocaleData } from "./seed-market-config";
|
|
3
3
|
export { registerSeedLocale, getSeedLocale, formatSeedPrice, makeSeedPhone, } from "./seed-market-config";
|
|
4
|
-
export type { SeedCollectionName, SeedOperationResult, } from "./actions/demo-seed-actions";
|
|
5
4
|
export type { SeedBaseUserDocument } from "./factories/user.factory";
|
|
6
5
|
export { makeUser, makeFullUser, USER_FIXTURES, } from "./factories/user.factory";
|
|
7
6
|
export type { SeedBaseProductDocument } from "./factories/product.factory";
|
|
@@ -80,10 +79,11 @@ export { conversationsSeedData } from "./conversations-seed-data";
|
|
|
80
79
|
export { groupedListingsSeedData } from "./grouped-listings-seed-data";
|
|
81
80
|
export { scammersSeedData } from "./scammers-seed-data";
|
|
82
81
|
export { supportTicketsSeedData } from "./support-tickets-seed-data";
|
|
82
|
+
export { testerChecklistSeedData, storesTesterSeedData, categoriesTesterSeedData, productsTesterSeedData, blogTesterSeedData, eventsTesterSeedData, } from "../features/tester/seed-data";
|
|
83
83
|
export { productFeaturesSeedData } from "./product-features-seed-data";
|
|
84
84
|
export { offersSeedData } from "./offers-seed-data";
|
|
85
85
|
export { payoutMethodsSeedData, shippingConfigsSeedData, analyticsCardsSeedData, analyticsAlertsSeedData, storeCategoriesSeedData, listingTemplatesSeedData, moderationQueueSeedData, reportsSeedData, itemRequestsSeedData, storeWhatsAppConfigSeedData, storeGoogleConfigSeedData, } from "./store-extensions-seed-data";
|
|
86
|
-
export type { SeedManifest, SeedManifestEntry } from "./manifest";
|
|
86
|
+
export type { SeedManifest, SeedManifestEntry, SeedCollectionName } from "./manifest";
|
|
87
87
|
export { SEED_MANIFEST } from "./manifest";
|
|
88
88
|
export type { FirestoreIndexConfig } from "./firestore-indexes";
|
|
89
89
|
export { mergeFirestoreIndices, generateMergedFirestoreIndexFile, } from "./firestore-indexes";
|
package/dist/seed/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// appkit/src/seed/index.ts
|
|
2
2
|
//
|
|
3
|
-
// Pure fixture data + factories
|
|
4
|
-
//
|
|
5
|
-
//
|
|
3
|
+
// Pure fixture data + factories, consumed by appkit/scripts/seed-cli.mjs
|
|
4
|
+
// (direct-to-Firestore CLI seeding, no web route). The admin seed-panel web
|
|
5
|
+
// UI + its API route were removed — see CLAUDE.md Phase 4 (demo seed panel
|
|
6
|
+
// removal).
|
|
6
7
|
export { registerSeedLocale, getSeedLocale, formatSeedPrice, makeSeedPhone, } from "./seed-market-config";
|
|
7
8
|
export { makeUser, makeFullUser, USER_FIXTURES, } from "./factories/user.factory";
|
|
8
9
|
export { makeProduct, makeFullProduct, PRODUCT_FIXTURES, } from "./factories/product.factory";
|
|
@@ -67,6 +68,9 @@ export { conversationsSeedData } from "./conversations-seed-data";
|
|
|
67
68
|
export { groupedListingsSeedData } from "./grouped-listings-seed-data";
|
|
68
69
|
export { scammersSeedData } from "./scammers-seed-data";
|
|
69
70
|
export { supportTicketsSeedData } from "./support-tickets-seed-data";
|
|
71
|
+
// Tester sandbox seed fixtures live in ../features/tester/seed-data (isolated from this
|
|
72
|
+
// folder on purpose) — re-exported here so every other seed consumer keeps one import surface.
|
|
73
|
+
export { testerChecklistSeedData, storesTesterSeedData, categoriesTesterSeedData, productsTesterSeedData, blogTesterSeedData, eventsTesterSeedData, } from "../features/tester/seed-data";
|
|
70
74
|
export { productFeaturesSeedData } from "./product-features-seed-data";
|
|
71
75
|
export { offersSeedData } from "./offers-seed-data";
|
|
72
76
|
// S-STORE Extensions (Tier S-STORE) — 11 new collections
|
package/dist/seed/manifest.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Seed Manifest
|
|
3
3
|
*
|
|
4
|
-
* Lightweight index of every seeded document across all collections
|
|
5
|
-
*
|
|
4
|
+
* Lightweight index of every seeded document across all collections —
|
|
5
|
+
* name/id pairs without loading the full seed data payload.
|
|
6
6
|
* Auto-derived from the live seed data files — stays in sync automatically.
|
|
7
7
|
*/
|
|
8
|
-
import type { SeedCollectionName } from "./actions/demo-seed-actions";
|
|
9
8
|
export interface SeedManifestEntry {
|
|
10
9
|
id: string;
|
|
11
10
|
name: string;
|
|
12
11
|
type?: string;
|
|
13
12
|
}
|
|
13
|
+
/** Every collection name the CLI seeder (appkit/scripts/seed-cli.mjs) and this manifest cover. */
|
|
14
|
+
export type SeedCollectionName = "users" | "addresses" | "categories" | "stores" | "products" | "orders" | "reviews" | "bids" | "coupons" | "carousels" | "carouselSlides" | "homepageSections" | "siteSettings" | "faqs" | "notifications" | "payouts" | "blogPosts" | "events" | "eventEntries" | "sessions" | "carts" | "wishlists" | "history" | "conversations" | "groupedListings" | "scammerProfiles" | "supportTickets" | "productFeatures" | "offers" | "couponUsage" | "claimedCoupons" | "payoutMethods" | "shippingConfigs" | "analyticsCards" | "analyticsAlerts" | "storeCategories" | "listingTemplates" | "moderationQueue" | "reports" | "itemRequests" | "storeWhatsAppConfig" | "storeGoogleConfig" | "roleOverrides" | "customRoles" | "adminNotifications" | "lotteryEntries" | "shipments" | "shipmentLots" | "shipmentItems" | "catalogueItems" | "testerChecklistItems";
|
|
14
15
|
export type SeedManifest = Record<SeedCollectionName, SeedManifestEntry[]>;
|
|
15
16
|
export declare const SEED_MANIFEST: SeedManifest;
|
package/dist/seed/manifest.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Seed Manifest
|
|
3
3
|
*
|
|
4
|
-
* Lightweight index of every seeded document across all collections
|
|
5
|
-
*
|
|
4
|
+
* Lightweight index of every seeded document across all collections —
|
|
5
|
+
* name/id pairs without loading the full seed data payload.
|
|
6
6
|
* Auto-derived from the live seed data files — stays in sync automatically.
|
|
7
7
|
*/
|
|
8
8
|
import { payoutMethodsSeedData, shippingConfigsSeedData, analyticsCardsSeedData, analyticsAlertsSeedData, storeCategoriesSeedData, listingTemplatesSeedData, moderationQueueSeedData, reportsSeedData, itemRequestsSeedData, storeWhatsAppConfigSeedData, storeGoogleConfigSeedData, } from "./store-extensions-seed-data";
|
|
@@ -50,6 +50,8 @@ import { productFeaturesSeedData } from "./product-features-seed-data";
|
|
|
50
50
|
import { offersSeedData } from "./offers-seed-data";
|
|
51
51
|
import { couponUsageSeedData } from "./coupon-usage-seed-data";
|
|
52
52
|
import { claimedCouponsSeedData } from "./claimed-coupons-seed-data";
|
|
53
|
+
// Tester sandbox seed fixtures live in ../features/tester/seed-data (isolated on purpose).
|
|
54
|
+
import { testerChecklistSeedData, storesTesterSeedData, categoriesTesterSeedData, productsTesterSeedData, blogTesterSeedData, eventsTesterSeedData, } from "../features/tester/seed-data";
|
|
53
55
|
function asArr(items) {
|
|
54
56
|
return items ?? [];
|
|
55
57
|
}
|
|
@@ -76,12 +78,12 @@ const LISTING_TYPE_TO_MANIFEST_TAG = {
|
|
|
76
78
|
stickers: "stickers",
|
|
77
79
|
};
|
|
78
80
|
export const SEED_MANIFEST = {
|
|
79
|
-
categories: pick(asArr(categoriesSeedData)),
|
|
81
|
+
categories: pick([...asArr(categoriesSeedData), ...asArr(categoriesTesterSeedData)]),
|
|
80
82
|
users: pick(asArr(usersSeedData).map((u) => ({
|
|
81
83
|
...u,
|
|
82
84
|
name: u.displayName ?? u.email ?? u.uid,
|
|
83
85
|
}))),
|
|
84
|
-
stores: pick(asArr(storesSeedData).map((s) => ({
|
|
86
|
+
stores: pick([...asArr(storesSeedData), ...asArr(storesTesterSeedData)].map((s) => ({
|
|
85
87
|
...s,
|
|
86
88
|
name: s.storeName ?? s.id,
|
|
87
89
|
}))),
|
|
@@ -95,6 +97,7 @@ export const SEED_MANIFEST = {
|
|
|
95
97
|
...asArr(productsLiveItemsSeedData),
|
|
96
98
|
...asArr(productsArtSeedData),
|
|
97
99
|
...asArr(productsStickersSeedData),
|
|
100
|
+
...asArr(productsTesterSeedData),
|
|
98
101
|
].map((p) => ({
|
|
99
102
|
...p,
|
|
100
103
|
type: p.listingType === "bundle"
|
|
@@ -134,11 +137,11 @@ export const SEED_MANIFEST = {
|
|
|
134
137
|
shipmentLots: pick(asArr(shipmentLotsSeedData), "lotName"),
|
|
135
138
|
shipmentItems: pick(asArr(shipmentItemsSeedData), "title"),
|
|
136
139
|
catalogueItems: pick(asArr(catalogueSeedData), "title"),
|
|
137
|
-
blogPosts: pick(asArr(blogPostsSeedData).map((p) => ({
|
|
140
|
+
blogPosts: pick([...asArr(blogPostsSeedData), ...asArr(blogTesterSeedData)].map((p) => ({
|
|
138
141
|
...p,
|
|
139
142
|
name: p.title ?? p.id,
|
|
140
143
|
}))),
|
|
141
|
-
events: pick(asArr(eventsSeedData).map((e) => ({
|
|
144
|
+
events: pick([...asArr(eventsSeedData), ...asArr(eventsTesterSeedData)].map((e) => ({
|
|
142
145
|
...e,
|
|
143
146
|
name: e.title ?? e.id,
|
|
144
147
|
}))),
|
|
@@ -224,4 +227,8 @@ export const SEED_MANIFEST = {
|
|
|
224
227
|
roleOverrides: [],
|
|
225
228
|
customRoles: [],
|
|
226
229
|
adminNotifications: [],
|
|
230
|
+
testerChecklistItems: pick(asArr(testerChecklistSeedData).map((c) => ({
|
|
231
|
+
...c,
|
|
232
|
+
name: c.label ?? c.id,
|
|
233
|
+
}))),
|
|
227
234
|
};
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @tag layer:seed
|
|
10
10
|
* @tag pattern:none
|
|
11
11
|
* @tag access:server-only
|
|
12
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
12
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
13
|
* @tag sideEffects:none
|
|
14
14
|
*/
|
|
15
15
|
import { NOTIFICATION_FIELDS } from "../features/admin/schemas";
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @tag layer:seed
|
|
10
10
|
* @tag pattern:none
|
|
11
11
|
* @tag access:server-only
|
|
12
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
12
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
13
|
* @tag sideEffects:none
|
|
14
14
|
*/
|
|
15
15
|
import { OfferStatusValues } from "../features/seller/schemas/firestore";
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @tag layer:seed
|
|
10
10
|
* @tag pattern:none
|
|
11
11
|
* @tag access:server-only
|
|
12
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
12
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
13
|
* @tag sideEffects:none
|
|
14
14
|
*/
|
|
15
15
|
import { getDefaultCurrency } from "./seed-market-config";
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @tag layer:seed
|
|
11
11
|
* @tag pattern:none
|
|
12
12
|
* @tag access:server-only
|
|
13
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
14
14
|
* @tag sideEffects:none
|
|
15
15
|
*/
|
|
16
16
|
import { PRODUCT_FIELDS } from "../constants/field-names";
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @tag layer:seed
|
|
11
11
|
* @tag pattern:none
|
|
12
12
|
* @tag access:server-only
|
|
13
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
14
14
|
* @tag sideEffects:none
|
|
15
15
|
*/
|
|
16
16
|
export const productsClassifiedsSeedData = [];
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @tag layer:seed
|
|
11
11
|
* @tag pattern:none
|
|
12
12
|
* @tag access:server-only
|
|
13
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
14
14
|
* @tag sideEffects:none
|
|
15
15
|
*/
|
|
16
16
|
export const productsDigitalCodesSeedData = [];
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @tag layer:seed
|
|
11
11
|
* @tag pattern:none
|
|
12
12
|
* @tag access:server-only
|
|
13
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
14
14
|
* @tag sideEffects:none
|
|
15
15
|
*/
|
|
16
16
|
export const productsLiveItemsSeedData = [];
|
|
@@ -4,6 +4,8 @@ export declare const productsPreordersSeedData: {
|
|
|
4
4
|
title?: string | undefined;
|
|
5
5
|
description?: string | undefined;
|
|
6
6
|
slug?: string | undefined;
|
|
7
|
+
isTestData?: boolean | undefined;
|
|
8
|
+
testDataExpiresAt?: Date | undefined;
|
|
7
9
|
seoTitle?: string | undefined;
|
|
8
10
|
seoDescription?: string | undefined;
|
|
9
11
|
seoKeywords?: string[] | undefined;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @tag layer:seed
|
|
11
11
|
* @tag pattern:none
|
|
12
12
|
* @tag access:server-only
|
|
13
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
14
14
|
* @tag sideEffects:none
|
|
15
15
|
*/
|
|
16
16
|
import { PRODUCT_FIELDS } from "../constants/field-names";
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @tag layer:seed
|
|
11
11
|
* @tag pattern:none
|
|
12
12
|
* @tag access:server-only
|
|
13
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
14
14
|
* @tag sideEffects:none
|
|
15
15
|
*/
|
|
16
16
|
export const productsPrizeDrawsSeedData = [];
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* @tag layer:seed
|
|
12
12
|
* @tag pattern:none
|
|
13
13
|
* @tag access:server-only
|
|
14
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
14
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
15
15
|
* @tag sideEffects:none
|
|
16
16
|
*/
|
|
17
17
|
import { PRODUCT_FIELDS } from "../constants/field-names";
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @tag layer:seed
|
|
11
11
|
* @tag pattern:none
|
|
12
12
|
* @tag access:server-only
|
|
13
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
14
14
|
* @tag sideEffects:none
|
|
15
15
|
*/
|
|
16
16
|
export const productsStickersSeedData = [];
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @tag layer:seed
|
|
10
10
|
* @tag pattern:none
|
|
11
11
|
* @tag access:server-only
|
|
12
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
12
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
13
|
* @tag sideEffects:none
|
|
14
14
|
*/
|
|
15
15
|
import { SCAMMER_FIELDS } from "../constants/field-names";
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @tag layer:seed
|
|
11
11
|
* @tag pattern:none
|
|
12
12
|
* @tag access:server-only
|
|
13
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
14
14
|
* @tag sideEffects:none
|
|
15
15
|
*/
|
|
16
16
|
import { getSeedLocale } from "./seed-market-config";
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @tag layer:seed
|
|
10
10
|
* @tag pattern:none
|
|
11
11
|
* @tag access:server-only
|
|
12
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
12
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
13
|
* @tag sideEffects:none
|
|
14
14
|
*/
|
|
15
15
|
import { getDefaultPhonePrefix, getSeedLocale } from "./seed-market-config";
|
|
@@ -381,29 +381,35 @@ export const siteSettingsSeedData = {
|
|
|
381
381
|
},
|
|
382
382
|
featureFlags: {
|
|
383
383
|
chats: true,
|
|
384
|
-
|
|
384
|
+
// Real per-SMS cost via the Firebase phone-auth quota — the one flag
|
|
385
|
+
// that stays off by default; every other flag is enabled.
|
|
386
|
+
smsVerification: false,
|
|
385
387
|
translations: true,
|
|
386
388
|
wishlists: true,
|
|
387
|
-
auctions:
|
|
389
|
+
auctions: true,
|
|
388
390
|
reviews: true,
|
|
389
|
-
events:
|
|
390
|
-
blog:
|
|
391
|
-
coupons:
|
|
391
|
+
events: true,
|
|
392
|
+
blog: true,
|
|
393
|
+
coupons: true,
|
|
392
394
|
notifications: true,
|
|
393
395
|
sellerRegistration: true,
|
|
394
|
-
preOrders:
|
|
395
|
-
seedPanel: true,
|
|
396
|
+
preOrders: true,
|
|
396
397
|
adminCheckoutBypass: false,
|
|
397
|
-
// P-1 MVP: only standard listing type active; others unlocked in later patches.
|
|
398
398
|
listingTypes: {
|
|
399
399
|
standard: true,
|
|
400
|
-
auction:
|
|
401
|
-
"pre-order":
|
|
402
|
-
"prize-draw":
|
|
403
|
-
bundle:
|
|
404
|
-
classified:
|
|
405
|
-
"digital-code":
|
|
406
|
-
live:
|
|
400
|
+
auction: true,
|
|
401
|
+
"pre-order": true,
|
|
402
|
+
"prize-draw": true,
|
|
403
|
+
bundle: true,
|
|
404
|
+
classified: true,
|
|
405
|
+
"digital-code": true,
|
|
406
|
+
live: true,
|
|
407
|
+
},
|
|
408
|
+
categoryTypes: {
|
|
409
|
+
category: true,
|
|
410
|
+
sublisting: true,
|
|
411
|
+
brand: true,
|
|
412
|
+
bundle: true,
|
|
407
413
|
},
|
|
408
414
|
},
|
|
409
415
|
credentials: {
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @tag layer:seed
|
|
11
11
|
* @tag pattern:none
|
|
12
12
|
* @tag access:server-only
|
|
13
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
14
14
|
* @tag sideEffects:none
|
|
15
15
|
*/
|
|
16
16
|
import { getSeedLocale, getDefaultPhonePrefix } from "./seed-market-config";
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* @tag layer:seed
|
|
14
14
|
* @tag pattern:none
|
|
15
15
|
* @tag access:server-only
|
|
16
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
16
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
17
17
|
* @tag sideEffects:none
|
|
18
18
|
*/
|
|
19
19
|
import { seedExtMedia } from "./_helpers/media";
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @tag layer:seed
|
|
10
10
|
* @tag pattern:none
|
|
11
11
|
* @tag access:server-only
|
|
12
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
12
|
+
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
13
13
|
* @tag sideEffects:none
|
|
14
14
|
*/
|
|
15
15
|
import { SUPPORT_TICKET_FIELDS } from "../constants/field-names";
|