@mohasinac/appkit 2.7.31 → 2.7.33

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 (44) hide show
  1. package/dist/_internal/client/features/layout/DashboardLayoutClient.js +1 -1
  2. package/dist/_internal/server/features/faqs/index.d.ts +1 -0
  3. package/dist/_internal/server/features/faqs/index.js +1 -0
  4. package/dist/_internal/server/features/faqs/og.d.ts +9 -0
  5. package/dist/_internal/server/features/faqs/og.js +50 -0
  6. package/dist/_internal/server/features/reviews/index.d.ts +2 -0
  7. package/dist/_internal/server/features/reviews/index.js +2 -0
  8. package/dist/_internal/server/features/reviews/og-data.d.ts +1 -0
  9. package/dist/_internal/server/features/reviews/og-data.js +7 -0
  10. package/dist/_internal/server/features/reviews/og.d.ts +19 -0
  11. package/dist/_internal/server/features/reviews/og.js +70 -0
  12. package/dist/_internal/server/features/scams/index.d.ts +1 -0
  13. package/dist/_internal/server/features/scams/index.js +1 -0
  14. package/dist/_internal/server/features/scams/og.d.ts +18 -0
  15. package/dist/_internal/server/features/scams/og.js +59 -0
  16. package/dist/features/about/components/FAQPageView.js +1 -1
  17. package/dist/features/account/components/UserSidebar.js +1 -1
  18. package/dist/features/admin/components/AdminSidebar.js +1 -1
  19. package/dist/features/blog/components/BlogPostView.js +1 -1
  20. package/dist/features/homepage/components/FAQSection.js +1 -1
  21. package/dist/features/homepage/components/FeaturedProductsSection.js +6 -1
  22. package/dist/features/homepage/components/HeroCarousel.js +21 -5
  23. package/dist/features/homepage/components/SectionCarousel.js +3 -1
  24. package/dist/features/homepage/components/ShopByCategorySection.js +2 -2
  25. package/dist/features/reviews/repository/reviews.repository.d.ts +1 -0
  26. package/dist/features/reviews/repository/reviews.repository.js +14 -3
  27. package/dist/features/seller/components/SellerSidebar.js +1 -1
  28. package/dist/features/stores/components/StoreAboutView.js +1 -1
  29. package/dist/features/stores/components/StoreHeader.js +1 -1
  30. package/dist/seed/bids-seed-data.js +7 -4
  31. package/dist/seed/conversations-seed-data.js +52 -0
  32. package/dist/seed/events-seed-data.js +23 -0
  33. package/dist/seed/history-seed-data.js +13 -0
  34. package/dist/seed/notifications-seed-data.js +10 -0
  35. package/dist/seed/orders-seed-data.js +108 -1
  36. package/dist/seed/sessions-seed-data.js +35 -1
  37. package/dist/seed/users-seed-data.js +1 -1
  38. package/dist/seed/wishlists-seed-data.js +5 -1
  39. package/dist/server-entry.d.ts +3 -1
  40. package/dist/server-entry.js +3 -1
  41. package/dist/server.d.ts +4 -0
  42. package/dist/server.js +4 -0
  43. package/dist/tailwind-utilities.css +1 -1
  44. package/package.json +1 -1
@@ -580,19 +580,22 @@ export const bidsSeedData = [
580
580
  slugPrefix: "bid-miku-100",
581
581
  }),
582
582
  // ═══════════════════════════════════════════════════════════════════════════
583
- // auction-pokemon-mew-1st-edition-psa10 — ACTIVE, ends in 24h, 3 bids → current ₹1,49,999
583
+ // auction-pokemon-mew-1st-edition-psa10 — ENDED (10d ago), 4 bids → admin WON ₹1,49,999
584
584
  // ═══════════════════════════════════════════════════════════════════════════
585
585
  ...buildBidLadder({
586
586
  productId: "auction-pokemon-mew-1st-edition-psa10",
587
587
  productTitle: "Pokémon Mew #151 1st Edition — PSA 10 GEM MINT (AUCTION)",
588
- amounts: [9999900, 12499900, 14999900],
588
+ amounts: [9999900, 11499900, 12999900, 14999900],
589
589
  bidders: [
590
590
  { id: "user-arjun-singh", name: "Arjun Singh", email: "arjun.singh@gmail.com" },
591
591
  { id: "user-rahul-sharma", name: "Rahul Sharma", email: "rahul.sharma@gmail.com" },
592
592
  { id: "user-siddharth-rao", name: "Siddharth Rao", email: "siddharth.rao@gmail.com" },
593
+ { id: "user-admin-letitrip", name: "LetItRip Admin", email: "admin@letitrip.in" },
593
594
  ],
594
- daysAgoForFirst: 5,
595
- endsActive: true,
595
+ daysAgoForFirst: 15,
596
+ endsActive: false,
597
+ closedDaysAgo: 10,
598
+ winningIndex: 3,
596
599
  slugPrefix: "bid-mew-1ed",
597
600
  }),
598
601
  // ═══════════════════════════════════════════════════════════════════════════
@@ -385,4 +385,56 @@ export const conversationsSeedData = [
385
385
  createdAt: minsAgo(240),
386
386
  updatedAt: minsAgo(200),
387
387
  },
388
+ // â"€â"€ 9. Admin as buyer â€" MAFEX Miles Morales post-purchase tracking query â"€â"€
389
+ {
390
+ id: "conv-mafex-admin-priya-009",
391
+ buyerId: "user-admin-letitrip",
392
+ buyerDisplayName: "LetItRip Admin",
393
+ sellerDisplayName: "Priya Anand",
394
+ storeId: "store-tokyo-toys-india",
395
+ storeName: "Tokyo Toys India",
396
+ productId: "product-mafex-miles-morales-spiderman",
397
+ productTitle: "MAFEX No.240: Miles Morales Spider-Man (Across the Spider-Verse)",
398
+ messages: [
399
+ {
400
+ id: "msg-009-1",
401
+ senderId: "user-admin-letitrip",
402
+ senderRole: "buyer",
403
+ body: "Hi! My order for MAFEX Miles Morales shipped 2 days ago - tracking shows it left your city but has not updated since. Can you check with Shiprocket?",
404
+ isRead: true,
405
+ sentAt: daysAgo(3),
406
+ },
407
+ {
408
+ id: "msg-009-2",
409
+ senderId: "user-priya-anand",
410
+ senderRole: "seller",
411
+ body: "Hi! Yes, I raised a ticket with Shiprocket about that. They confirmed it is in transit at the Mumbai sorting facility - tracking updates can lag by 24-48 hours. Should arrive tomorrow or day after. Apologies for the delay in the scan!",
412
+ isRead: true,
413
+ sentAt: daysAgo(3),
414
+ },
415
+ {
416
+ id: "msg-009-3",
417
+ senderId: "user-admin-letitrip",
418
+ senderRole: "buyer",
419
+ body: "Thanks for following up. Will keep an eye on it. The figure is for a platform demo so I do need it by Friday - hope it clears in time.",
420
+ isRead: true,
421
+ sentAt: daysAgo(2),
422
+ },
423
+ {
424
+ id: "msg-009-4",
425
+ senderId: "user-priya-anand",
426
+ senderRole: "seller",
427
+ body: "Completely understand. I have asked Shiprocket to flag it for priority delivery. If it does not arrive by Thursday let me know and I will arrange a direct courier at no extra charge.",
428
+ isRead: false,
429
+ sentAt: daysAgo(2),
430
+ },
431
+ ],
432
+ lastMessage: "Completely understand. I have asked Shiprocket to flag it for priority delivery. If it does not arrive by Thursday let me know and I will arrange a direct courier at no extra charge.",
433
+ lastMessageAt: daysAgo(2),
434
+ unreadBuyer: 1,
435
+ unreadSeller: 0,
436
+ status: "active",
437
+ createdAt: daysAgo(3),
438
+ updatedAt: daysAgo(2),
439
+ },
388
440
  ];
@@ -437,4 +437,27 @@ export const eventEntriesSeedData = [
437
437
  reviewStatus: EVENT_ENTRY_FIELDS.REVIEW_STATUS_VALUES.PENDING,
438
438
  submittedAt: daysAgo(1),
439
439
  },
440
+ // ── Admin raffle entry ───────────────────────────────────────────────────
441
+ {
442
+ id: "entry-mega-raffle-admin",
443
+ eventId: "event-collectibles-mega-raffle-2026",
444
+ userId: "user-admin-letitrip",
445
+ userDisplayName: "LetItRip Admin",
446
+ reviewStatus: EVENT_ENTRY_FIELDS.REVIEW_STATUS_VALUES.APPROVED,
447
+ raffleEligible: true,
448
+ submittedAt: daysAgo(1),
449
+ },
450
+ // ── Admin spin-wheel entry (won ₹100 off coupon) ─────────────────────────
451
+ {
452
+ id: "entry-spin-wheel-admin",
453
+ eventId: "event-spin-the-wheel-2026",
454
+ userId: "user-admin-letitrip",
455
+ userDisplayName: "LetItRip Admin",
456
+ reviewStatus: EVENT_ENTRY_FIELDS.REVIEW_STATUS_VALUES.APPROVED,
457
+ spinUsed: true,
458
+ spinPrizeId: "prize-100-off",
459
+ spinPrizeCouponCode: "SPIN100OFF-ADM",
460
+ spinWonAt: daysAgo(2),
461
+ submittedAt: daysAgo(2),
462
+ },
440
463
  ];
@@ -58,4 +58,17 @@ export const historySeedData = [
58
58
  { productId: "preorder-beyblade-x-bx10-booster", productType: "preorder", viewedAt: hoursAgo(3) },
59
59
  { productId: "preorder-shf-broly-super-hero", productType: "preorder", viewedAt: hoursAgo(20) },
60
60
  ]),
61
+ // Admin browses across all stores to review inventory + check recent purchases
62
+ makeDoc("user-admin-letitrip", [
63
+ { productId: "product-gsc-aqua-konosuba-scale", productType: "product", viewedAt: hoursAgo(1) },
64
+ { productId: "auction-pokemon-mew-1st-edition-psa10", productType: "auction", viewedAt: hoursAgo(4) },
65
+ { productId: "product-mafex-miles-morales-spiderman", productType: "product", viewedAt: hoursAgo(10) },
66
+ { productId: "product-figma-link-totk", productType: "product", viewedAt: hoursAgo(18) },
67
+ { productId: "product-pokemon-151-booster-box", productType: "product", viewedAt: daysAgo(1) },
68
+ { productId: "product-yugioh-25th-tin", productType: "product", viewedAt: daysAgo(2) },
69
+ { productId: "product-beyblade-x-bx04-knight-shield", productType: "product", viewedAt: daysAgo(3) },
70
+ { productId: "product-hot-wheels-rlc-bone-shaker", productType: "product", viewedAt: daysAgo(4) },
71
+ { productId: "product-gundam-rx78-mg", productType: "product", viewedAt: daysAgo(5) },
72
+ { productId: "preorder-pokemon-prismatic-evolutions", productType: "preorder", viewedAt: daysAgo(6) },
73
+ ]),
61
74
  ];
@@ -204,6 +204,16 @@ export const notificationsSeedData = [
204
204
  { user: "user-anjali-verma", type: "WELCOME", title: "Welcome, Anjali!", message: "Use NEWUSER5 for ₹50 off your first order.", read: false, hours: 4 },
205
205
  { user: "user-pooja-sharma", type: "PROMOTION", title: "Wishlist sale — items in your wishlist are 15% off", message: "3 items in your wishlist are now on sale. Tap to view.", read: false, hours: 9 },
206
206
  ]),
207
+ // ── Admin role — system + operational notifications ─────────────────────
208
+ ...buildNotificationBatch([
209
+ { user: "user-admin-letitrip", type: "SYSTEM", title: "New seller registration: Gunpla Hub India", message: "Arjun Mehta has applied to open store Gunpla Hub India. Review their profile and approve or reject via the admin panel.", read: false, hours: 2 },
210
+ { user: "user-admin-letitrip", type: "SYSTEM", title: "Flagged listing: possible counterfeit Funko Pop", message: "Listing product-funko-pop-gojo-satoru was reported by 3 users for suspected counterfeit. Please review before the next buy cycle.", read: false, hours: 6 },
211
+ { user: "user-admin-letitrip", type: "SYSTEM", title: "Payout batch #12 processed — 6 stores, Rs 1.24L", message: "Payout batch for May Week 2 completed. 6 stores paid, 1 failed (IFSC mismatch — store-vintage-vault). Manual retry required.", read: true, hours: 24 },
212
+ { user: "user-admin-letitrip", type: "SYSTEM", title: "Support ticket escalated: order missing (high)", message: "Ticket ticket-rahul-order-001 was escalated from Simran Kaur. Buyer Rahul Sharma claims delivery was empty — courier claim filed. Needs admin review.", read: true, hours: 48 },
213
+ { user: "user-admin-letitrip", type: "SYSTEM", title: "Platform summary: week of May 12", message: "Week of May 12: 47 new orders (Rs 3.8L GMV), 12 new users, 2 new seller registrations, 0 chargebacks, 99.8% uptime. Full report in admin dashboard.", read: true, hours: 96 },
214
+ { user: "user-admin-letitrip", type: "REVIEW_APPROVED", title: "New 5-star review on LetItRip Official", message: "Naman Gupta left a 5-star review on figma Link (TotK): Best figma I own. Perfect packaging, zero damage.", read: true, hours: 36 },
215
+ { user: "user-admin-letitrip", type: "ORDER_SHIPPED", title: "Your Mew PSA 10 order has shipped", message: "Vintage Vault has dispatched your Mew 1st Edition PSA 10. Tracking: DTDC112233445. Estimated delivery in 3 business days.", read: true, hours: 240 },
216
+ ]),
207
217
  ];
208
218
  /**
209
219
  * Compact constructor for the P29 expansion. Keeps each row a single line of
@@ -1298,7 +1298,114 @@ export const ordersSeedData = [
1298
1298
  createdAt: daysAgo(10),
1299
1299
  updatedAt: daysAgo(8),
1300
1300
  },
1301
- // ── Admin as buyer — 39. PROCESSING — admin / Good Smile Aqua Scale ───────
1301
+ // ── Admin as buyer — 39. DELIVERED — admin / Pokémon Prize Draw entry ──────
1302
+ {
1303
+ id: "order-admin-039-pokemon-prize-draw",
1304
+ productId: "prize-pokemon-mystery-box-june",
1305
+ productTitle: "Pokémon Mystery Box — June Mega Draw",
1306
+ userId: "user-admin-letitrip",
1307
+ userName: "LetItRip Admin",
1308
+ userEmail: "admin@letitrip.in",
1309
+ storeId: "store-pokemon-palace",
1310
+ storeName: "Pokémon Palace",
1311
+ items: [
1312
+ {
1313
+ productId: "prize-pokemon-mystery-box-june",
1314
+ productTitle: "Pokémon Mystery Box — June Mega Draw (×3 entries)",
1315
+ quantity: 3,
1316
+ unitPrice: 500,
1317
+ totalPrice: 1500,
1318
+ },
1319
+ ],
1320
+ quantity: 3,
1321
+ unitPrice: 500,
1322
+ totalPrice: 1500,
1323
+ currency: "INR",
1324
+ status: OrderStatusValues.DELIVERED,
1325
+ paymentStatus: PaymentStatusValues.PAID,
1326
+ paymentMethod: PaymentMethodValues.RAZORPAY,
1327
+ paymentId: "pay_razorpay_039_demo",
1328
+ shippingAddress: "LetItRip HQ, 10th Floor, BKC G Block, Mumbai 400051",
1329
+ shippingFee: 0,
1330
+ platformFee: 75,
1331
+ orderDate: daysAgo(8),
1332
+ deliveryDate: daysAgo(8),
1333
+ payoutStatus: "eligible",
1334
+ createdAt: daysAgo(8),
1335
+ updatedAt: daysAgo(8),
1336
+ },
1337
+ // ── Admin as buyer — 40. DELIVERED — admin / Hot Wheels Prize Draw entry ──
1338
+ {
1339
+ id: "order-admin-040-hw-prize-draw",
1340
+ productId: "prize-hot-wheels-treasure-hunt",
1341
+ productTitle: "Hot Wheels Super Treasure Hunt Draw",
1342
+ userId: "user-admin-letitrip",
1343
+ userName: "LetItRip Admin",
1344
+ userEmail: "admin@letitrip.in",
1345
+ storeId: "store-diecast-depot",
1346
+ storeName: "Diecast Depot",
1347
+ items: [
1348
+ {
1349
+ productId: "prize-hot-wheels-treasure-hunt",
1350
+ productTitle: "Hot Wheels Super Treasure Hunt Draw (×2 entries)",
1351
+ quantity: 2,
1352
+ unitPrice: 29900,
1353
+ totalPrice: 59800,
1354
+ },
1355
+ ],
1356
+ quantity: 2,
1357
+ unitPrice: 29900,
1358
+ totalPrice: 59800,
1359
+ currency: "INR",
1360
+ status: OrderStatusValues.DELIVERED,
1361
+ paymentStatus: PaymentStatusValues.PAID,
1362
+ paymentMethod: PaymentMethodValues.RAZORPAY,
1363
+ paymentId: "pay_razorpay_040_demo",
1364
+ shippingAddress: "LetItRip HQ, 10th Floor, BKC G Block, Mumbai 400051",
1365
+ shippingFee: 0,
1366
+ platformFee: 2990,
1367
+ orderDate: daysAgo(6),
1368
+ deliveryDate: daysAgo(6),
1369
+ payoutStatus: "eligible",
1370
+ createdAt: daysAgo(6),
1371
+ updatedAt: daysAgo(6),
1372
+ },
1373
+ // ── Admin as buyer — 41. DELIVERED — admin / Cyberpunk digital code ────────
1374
+ {
1375
+ id: "order-admin-041-cyberpunk-digitalcode",
1376
+ productId: "digitalcode-steam-cyberpunk-2077",
1377
+ productTitle: "Cyberpunk 2077 — Steam PC Key (Instant Delivery)",
1378
+ userId: "user-admin-letitrip",
1379
+ userName: "LetItRip Admin",
1380
+ userEmail: "admin@letitrip.in",
1381
+ storeId: "store-letitrip-official",
1382
+ storeName: "LetItRip Official",
1383
+ items: [
1384
+ {
1385
+ productId: "digitalcode-steam-cyberpunk-2077",
1386
+ productTitle: "Cyberpunk 2077 Steam PC Key",
1387
+ quantity: 1,
1388
+ unitPrice: 149900,
1389
+ totalPrice: 149900,
1390
+ },
1391
+ ],
1392
+ quantity: 1,
1393
+ unitPrice: 149900,
1394
+ totalPrice: 149900,
1395
+ currency: "INR",
1396
+ status: OrderStatusValues.DELIVERED,
1397
+ paymentStatus: PaymentStatusValues.PAID,
1398
+ paymentMethod: PaymentMethodValues.UPI_MANUAL,
1399
+ shippingAddress: "Digital delivery — no shipping address",
1400
+ shippingFee: 0,
1401
+ platformFee: 7495,
1402
+ orderDate: daysAgo(3),
1403
+ deliveryDate: daysAgo(3),
1404
+ payoutStatus: "eligible",
1405
+ createdAt: daysAgo(3),
1406
+ updatedAt: daysAgo(3),
1407
+ },
1408
+ // ── Admin as buyer — 42. PROCESSING — admin / Good Smile Aqua Scale ────────
1302
1409
  {
1303
1410
  id: "order-admin-039-gsc-aqua",
1304
1411
  productId: "product-gsc-aqua-konosuba-scale",
@@ -24,7 +24,7 @@ export const sessionsSeedData = [
24
24
  // -- Active: Admin — Chrome Desktop (Windows) ----------------------------
25
25
  {
26
26
  id: "session-admin-chrome-desktop-001",
27
- userId: "user-admin-user-admin",
27
+ userId: "user-admin-letitrip",
28
28
  deviceInfo: {
29
29
  userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
30
30
  browser: "Chrome 122",
@@ -351,4 +351,38 @@ export const sessionsSeedData = [
351
351
  expiresAt: daysAhead(19),
352
352
  isActive: true,
353
353
  },
354
+ // -- Active: Admin — Chrome Android (admin monitors on mobile) -----------
355
+ {
356
+ id: "session-admin-chrome-android-001",
357
+ userId: "user-admin-letitrip",
358
+ deviceInfo: {
359
+ userAgent: "Mozilla/5.0 (Linux; Android 14; Samsung Galaxy S24 Ultra) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Mobile Safari/537.36",
360
+ browser: "Chrome 122",
361
+ os: "Android 14",
362
+ device: "Mobile",
363
+ ip: "203.0.113.2",
364
+ },
365
+ location: { country: _locale.countryName, city: "Mumbai" },
366
+ createdAt: daysAgo(3),
367
+ lastActivity: daysAgo(1),
368
+ expiresAt: daysAhead(26),
369
+ isActive: true,
370
+ },
371
+ // -- Active: Admin — Safari macOS (secondary workstation) ----------------
372
+ {
373
+ id: "session-admin-safari-macos-001",
374
+ userId: "user-admin-letitrip",
375
+ deviceInfo: {
376
+ userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15",
377
+ browser: "Safari 17",
378
+ os: "macOS 14",
379
+ device: "Desktop",
380
+ ip: "203.0.113.3",
381
+ },
382
+ location: { country: _locale.countryName, city: "Mumbai" },
383
+ createdAt: daysAgo(1),
384
+ lastActivity: daysAgo(0),
385
+ expiresAt: daysAhead(29),
386
+ isActive: true,
387
+ },
354
388
  ];
@@ -32,7 +32,7 @@ export const usersSeedData = [
32
32
  showWishlist: false,
33
33
  bio: "LetItRip platform administrator.",
34
34
  },
35
- stats: { totalOrders: 4, auctionsWon: 1, itemsSold: 142, reviewsCount: 0 },
35
+ stats: { totalOrders: 7, auctionsWon: 1, itemsSold: 142, reviewsCount: 0 },
36
36
  metadata: {
37
37
  lastSignInTime: daysAgo(1),
38
38
  creationTime: daysAgo(400).toISOString(),
@@ -56,11 +56,15 @@ export const wishlistsSeedData = [
56
56
  { productId: "preorder-beyblade-x-bx10-booster", productType: "preorder", addedAt: daysAgo(3) },
57
57
  { productId: "preorder-shf-broly-super-hero", productType: "preorder", addedAt: daysAgo(1) },
58
58
  ]),
59
- // Admin's personal wishlist — rare high-value collectibles
59
+ // Admin's personal wishlist — mix of listing types to test all flows
60
60
  makeDoc("user-admin-letitrip", [
61
61
  { productId: "product-mafex-miles-morales-spiderman", productType: "product", addedAt: daysAgo(60) },
62
62
  { productId: "product-figma-link-totk", productType: "product", addedAt: daysAgo(45) },
63
63
  { productId: "auction-pokemon-mew-1st-edition-psa10", productType: "auction", addedAt: daysAgo(20) },
64
64
  { productId: "product-alter-rem-wedding-scale", productType: "product", addedAt: daysAgo(8) },
65
+ { productId: "prize-pokemon-mystery-box-june", productType: "product", addedAt: daysAgo(5) },
66
+ { productId: "prize-hot-wheels-treasure-hunt", productType: "product", addedAt: daysAgo(4) },
67
+ { productId: "preorder-gundam-pg-unicorn-ver15", productType: "preorder", addedAt: daysAgo(3) },
68
+ { productId: "auction-pokemon-charizard-base1-psa9", productType: "auction", addedAt: daysAgo(2) },
65
69
  ]),
66
70
  ];
@@ -55,7 +55,9 @@ export { getCouponByCode, applyCouponAction, createCouponAction, updateCouponAct
55
55
  export { getWishlistForUser, isProductInWishlist, addToWishlistAction, removeFromWishlistAction, mergeGuestWishlistAction, WISHLIST_MAX, WISHLIST_GUEST_STORAGE_KEY, WishlistCapError, } from "./_internal/server/features/wishlist/index";
56
56
  export { getHistoryForUser, trackProductViewAction, mergeGuestHistoryAction, HISTORY_MAX, HISTORY_GUEST_STORAGE_KEY, } from "./_internal/server/features/history/index";
57
57
  export { getHomepageInitial, getHomepageSections, getHeroCarouselSlides, } from "./_internal/server/features/homepage/index";
58
- export { getReviewsForProduct, getReviewsForStore, hasUserPurchasedProduct, createReviewAction, replyToReviewAction, deleteReviewAction, markReviewHelpfulAction, } from "./_internal/server/features/reviews/index";
58
+ export { getReviewsForProduct, getReviewsForStore, hasUserPurchasedProduct, getReviewById, renderReviewOg, renderReviewOgImage, type ReviewOgData, createReviewAction, replyToReviewAction, deleteReviewAction, markReviewHelpfulAction, } from "./_internal/server/features/reviews/index";
59
+ export { renderFaqOg, renderFaqOgImage, type FaqOgData, } from "./_internal/server/features/faqs/index";
60
+ export { renderScamOg, renderScamOgImage, type ScamOgData, getScammerForDetail, getScammerProfilePageData as getScammerProfilePageDataCached, } from "./_internal/server/features/scams/index";
59
61
  export { getSearchResults, searchAction, type SearchQuery, } from "./_internal/server/features/search/index";
60
62
  export { getCategoryForDetail, listRootCategories, listFeaturedCategories, listMenuCategories, getCategoryTree, listSitemapCategories, CATEGORIES_PAGE_SIZE, CATEGORIES_ROOT_TIER, CATEGORIES_MAX_DEPTH, CATEGORIES_SITEMAP_LIMIT, CATEGORIES_FEATURED_LIMIT, CATEGORIES_MENU_LIMIT, } from "./_internal/server/features/categories/index";
61
63
  export { getGroupedListingForDetail, getGroupedListingWithItems, listGroupedListings, listFeaturedGroupedListings, listSitemapGroupedListings, GROUPED_LISTINGS_PAGE_SIZE, GROUPED_LISTINGS_FEATURED_LIMIT, GROUPED_LISTINGS_SITEMAP_LIMIT, type GroupedListingWithItems, type ListGroupedListingsParams, type SitemapGroupedListing, } from "./_internal/server/features/grouped/index";
@@ -76,7 +76,9 @@ export { getHistoryForUser, trackProductViewAction, mergeGuestHistoryAction, HIS
76
76
  // S5: homepage data layer
77
77
  export { getHomepageInitial, getHomepageSections, getHeroCarouselSlides, } from "./_internal/server/features/homepage/index";
78
78
  // S5: reviews data layer + actions
79
- export { getReviewsForProduct, getReviewsForStore, hasUserPurchasedProduct, createReviewAction, replyToReviewAction, deleteReviewAction, markReviewHelpfulAction, } from "./_internal/server/features/reviews/index";
79
+ export { getReviewsForProduct, getReviewsForStore, hasUserPurchasedProduct, getReviewById, renderReviewOg, renderReviewOgImage, createReviewAction, replyToReviewAction, deleteReviewAction, markReviewHelpfulAction, } from "./_internal/server/features/reviews/index";
80
+ export { renderFaqOg, renderFaqOgImage, } from "./_internal/server/features/faqs/index";
81
+ export { renderScamOg, renderScamOgImage, getScammerForDetail, getScammerProfilePageData as getScammerProfilePageDataCached, } from "./_internal/server/features/scams/index";
80
82
  // S5: search data layer + action
81
83
  export { getSearchResults, searchAction, } from "./_internal/server/features/search/index";
82
84
  // S3: categories data layer
package/dist/server.d.ts CHANGED
@@ -470,6 +470,10 @@ export { renderBlogOg, renderBlogOgImage, type BlogOgData } from "./_internal/se
470
470
  export { renderEventOg, renderEventOgImage, type EventOgData } from "./_internal/server/features/events/og";
471
471
  export { renderSublistingCategoryOg, renderSublistingCategoryOgImage, type SublistingCategoryOgData } from "./_internal/server/features/sublisting-categories/og";
472
472
  export { renderProfileOg, renderPrivateProfileOgImage, renderUserProfileOgImage, type UserProfileOgData } from "./_internal/server/features/profile/og";
473
+ export { renderReviewOg, renderReviewOgImage, type ReviewOgData } from "./_internal/server/features/reviews/og";
474
+ export { renderFaqOg, renderFaqOgImage, type FaqOgData } from "./_internal/server/features/faqs/og";
475
+ export { renderScamOg, renderScamOgImage, type ScamOgData } from "./_internal/server/features/scams/og";
476
+ export { getScammerForDetail, getScammerProfilePageData as getScammerProfilePageDataCached } from "./_internal/server/features/scams/data";
473
477
  export { orderDocumentToOrder } from "./_internal/server/features/orders/adapters";
474
478
  export { LISTING_TYPE_CAPABILITIES, capabilityFor, canAddToCart, canBid, supportsShipping, requiresVendorVerified, requiresJurisdictionCheck, hasInstantFulfillment, assertNever, } from "./_internal/shared/listing-types/capabilities";
475
479
  export type { ListingTypeCapability } from "./_internal/shared/listing-types/capabilities";
package/dist/server.js CHANGED
@@ -1345,6 +1345,10 @@ export { renderBlogOg, renderBlogOgImage } from "./_internal/server/features/blo
1345
1345
  export { renderEventOg, renderEventOgImage } from "./_internal/server/features/events/og";
1346
1346
  export { renderSublistingCategoryOg, renderSublistingCategoryOgImage } from "./_internal/server/features/sublisting-categories/og";
1347
1347
  export { renderProfileOg, renderPrivateProfileOgImage, renderUserProfileOgImage } from "./_internal/server/features/profile/og";
1348
+ export { renderReviewOg, renderReviewOgImage } from "./_internal/server/features/reviews/og";
1349
+ export { renderFaqOg, renderFaqOgImage } from "./_internal/server/features/faqs/og";
1350
+ export { renderScamOg, renderScamOgImage } from "./_internal/server/features/scams/og";
1351
+ export { getScammerForDetail, getScammerProfilePageData as getScammerProfilePageDataCached } from "./_internal/server/features/scams/data";
1348
1352
  // Adapters
1349
1353
  export { orderDocumentToOrder } from "./_internal/server/features/orders/adapters";
1350
1354
  // Listing-type capability registry — SB-UNI X1.