@mohasinac/appkit 4.55.0 → 4.57.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/.build-stamp.json +4 -4
- package/dist/_internal/server/features/checkout/actions.d.ts +53 -0
- package/dist/_internal/server/features/checkout/actions.js +156 -8
- package/dist/_internal/server/features/orders/actions.d.ts +30 -0
- package/dist/_internal/server/features/orders/actions.js +103 -0
- package/dist/_internal/server/features/orders/adapters.js +7 -0
- package/dist/_internal/server/features/shipping/reconcile.d.ts +28 -0
- package/dist/_internal/server/features/shipping/reconcile.js +93 -0
- package/dist/_internal/shared/actions/action-registry.js +53 -0
- package/dist/_internal/shared/config/schema.d.ts +6 -0
- package/dist/_internal/shared/listing-types/route-gating.d.ts +56 -0
- package/dist/_internal/shared/listing-types/route-gating.js +114 -0
- package/dist/_internal/shared/shipping/quote.d.ts +153 -0
- package/dist/_internal/shared/shipping/quote.js +123 -0
- package/dist/client.d.ts +22 -0
- package/dist/client.js +10 -0
- package/dist/features/about/components/PublicProfileView.js +2 -1
- package/dist/features/account/components/UserOrdersView.js +25 -3
- package/dist/features/admin/components/OwnerQuickActions.d.ts +1 -1
- package/dist/features/admin/components/OwnerQuickActions.js +53 -6
- package/dist/features/auctions/components/AuctionDetailPageView.js +2 -1
- package/dist/features/auth/schemas/firestore.d.ts +15 -0
- package/dist/features/blog/components/BlogPostView.js +2 -1
- package/dist/features/cart/components/CartPriceBreakdown.d.ts +2 -0
- package/dist/features/cart/components/CartPriceBreakdown.js +1 -1
- package/dist/features/categories/components/FranchiseDetailPageView.js +3 -1
- package/dist/features/digital-codes/components/DigitalCodeDetailPageView.js +2 -1
- package/dist/features/faq/components/FAQPageContent.js +17 -4
- package/dist/features/faq/constants/help-guides.d.ts +36 -0
- package/dist/features/faq/constants/help-guides.js +64 -0
- package/dist/features/homepage/components/HeroCarousel.js +7 -3
- package/dist/features/homepage/components/MarketplaceHomepageView.js +16 -1
- package/dist/features/homepage/components/WelcomeSection.d.ts +16 -3
- package/dist/features/homepage/components/WelcomeSection.js +3 -3
- package/dist/features/homepage/lib/section-renderer.d.ts +9 -0
- package/dist/features/homepage/lib/section-renderer.js +24 -6
- package/dist/features/homepage/lib/slide-gating.d.ts +52 -0
- package/dist/features/homepage/lib/slide-gating.js +98 -0
- package/dist/features/live/components/LiveItemDetailPageView.js +2 -1
- package/dist/features/media/MediaAvatar.js +1 -1
- package/dist/features/media/MediaImage.d.ts +18 -1
- package/dist/features/media/MediaImage.js +1 -1
- package/dist/features/orders/components/EmiInstallmentsPanel.d.ts +19 -0
- package/dist/features/orders/components/EmiInstallmentsPanel.js +57 -0
- package/dist/features/orders/components/index.d.ts +1 -0
- package/dist/features/orders/components/index.js +1 -0
- package/dist/features/orders/schemas/firestore.d.ts +38 -0
- package/dist/features/orders/schemas/index.d.ts +2 -2
- package/dist/features/orders/types/index.d.ts +15 -0
- package/dist/features/points/repository/points.repository.d.ts +81 -0
- package/dist/features/points/repository/points.repository.js +155 -0
- package/dist/features/points/schemas/firestore.d.ts +118 -0
- package/dist/features/points/schemas/firestore.js +116 -0
- package/dist/features/pre-orders/components/PreOrderDetailPageView.js +2 -1
- package/dist/features/products/components/PrizeDrawDetailPageView.js +2 -1
- package/dist/features/products/components/ProductDetailPageView.js +3 -1
- package/dist/features/reviews/components/ReviewDetailPageView.js +3 -2
- package/dist/features/seller/actions/seller-actions.d.ts +17 -0
- package/dist/features/seller/actions/seller-actions.js +33 -0
- package/dist/features/stores/components/StoreHeader.js +3 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +8 -0
- package/dist/next/routing/route-map.d.ts +4 -0
- package/dist/next/routing/route-map.js +2 -0
- package/dist/schemas/registry.d.ts +2 -2
- package/dist/seed/_helpers/category-models/chunk0.d.ts +2 -0
- package/dist/seed/_helpers/category-models/chunk0.js +2648 -0
- package/dist/seed/_helpers/category-models/chunk1.d.ts +2 -0
- package/dist/seed/_helpers/category-models/chunk1.js +2318 -0
- package/dist/seed/_helpers/category-models/chunk2.d.ts +2 -0
- package/dist/seed/_helpers/category-models/chunk2.js +2560 -0
- package/dist/seed/_helpers/category-models/chunk3.d.ts +2 -0
- package/dist/seed/_helpers/category-models/chunk3.js +2196 -0
- package/dist/seed/_helpers/category-models/chunk4.d.ts +2 -0
- package/dist/seed/_helpers/category-models/chunk4.js +1732 -0
- package/dist/seed/_helpers/category-models.d.ts +9 -2
- package/dist/seed/_helpers/category-models.js +19 -1368
- package/dist/seed/carousel-slides-seed-data.js +48 -7
- package/dist/server.d.ts +3 -1
- package/dist/server.js +11 -0
- package/dist/styles.css +38 -6
- package/dist/tailwind-utilities.css +1 -1
- package/dist/ui/components/ImageMosaic.d.ts +17 -1
- package/dist/ui/components/ImageMosaic.js +28 -5
- package/dist/ui/components/ImageMosaic.style.css +37 -5
- package/package.json +1 -1
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* WHY: Seeds 6 carousel slides for the marketplace homepage promo carousel.
|
|
3
|
-
* WHAT:
|
|
3
|
+
* WHAT: 4 active + 2 inactive. Deterministic Picsum backgrounds with a dim
|
|
4
4
|
* overlay, plus a headline / supporting line / CTA on each.
|
|
5
5
|
*
|
|
6
|
+
* 🛑 FOUR ACTIVE, NOT FIVE, SINCE 2026-10-20. `MAX_ACTIVE_SLIDES` is a
|
|
7
|
+
* ceiling, not a quota — `slide-beyblade-auction` went inactive with
|
|
8
|
+
* `listings.listingTypes.auction: false` and nothing was promoted to backfill
|
|
9
|
+
* it. Do NOT activate `slide-upcoming-promo` to get back to five: that one is
|
|
10
|
+
* the fixture `getActiveSlides()`' own filter is tested against, and it says
|
|
11
|
+
* "A draft slide kept unpublished so admins have a starting point to copy."
|
|
12
|
+
*
|
|
6
13
|
* 🛑 EVERY ACTIVE SLIDE MUST CARRY AN `overlay` OR `cards`, OR IT RENDERS BLANK.
|
|
7
14
|
* `HeroCarousel` gates all slide copy on `slide.overlay` (line ~412) and the
|
|
8
15
|
* card grid on `slide.cards.length` (line ~451). Before this pass every seeded
|
|
@@ -107,16 +114,34 @@ const _rawSlides = [
|
|
|
107
114
|
hover: { effect: "scale" },
|
|
108
115
|
},
|
|
109
116
|
{
|
|
110
|
-
|
|
117
|
+
/*
|
|
118
|
+
* 🛑 THIS WAS THE AUCTIONS CARD ("Bid / Live auctions / Place a bid
|
|
119
|
+
* before the timer runs out" → `/auctions`), and it was still on the
|
|
120
|
+
* first screen of the site weeks after `listings.listingTypes.auction`
|
|
121
|
+
* went `false`. The section-level gate in `MarketplaceHomepageView` is
|
|
122
|
+
* keyed on `SectionType` and a carousel is type `carousel` whatever it
|
|
123
|
+
* contains, so nothing could see it. `gateCarouselSlides` now can — but
|
|
124
|
+
* a filter that leaves a hole in a `repeat(3, 1fr)` row is a fallback,
|
|
125
|
+
* not a fix, so the slot gets real content instead.
|
|
126
|
+
*
|
|
127
|
+
* 🛑 NOT `/spares` and NOT `/art`, which were the obvious swaps: both
|
|
128
|
+
* types are ENABLED, both have a working browse page, and both held
|
|
129
|
+
* ZERO published products when this was written (measured against
|
|
130
|
+
* production, 2026-10-20). Replacing a dead-end card with a different
|
|
131
|
+
* dead-end card is not a fix. `/categories` is populated — six roots,
|
|
132
|
+
* 28 brands, 8 franchises — and browsing the tree is genuinely the
|
|
133
|
+
* third way to shop here.
|
|
134
|
+
*/
|
|
135
|
+
id: "card-hero-browse",
|
|
111
136
|
zone: 2,
|
|
112
137
|
mobileZone: 2,
|
|
113
138
|
background: { type: "image", url: MEDIA.lDrago, dimOverlay: { enabled: true, opacity: 0.45 } },
|
|
114
139
|
content: {
|
|
115
|
-
eyebrow: "
|
|
116
|
-
title: "
|
|
117
|
-
description: "
|
|
140
|
+
eyebrow: "Explore",
|
|
141
|
+
title: "Shop by category",
|
|
142
|
+
description: "Walk the tree from generation down to a single part.",
|
|
118
143
|
},
|
|
119
|
-
buttons: [{ id: "card-hero-
|
|
144
|
+
buttons: [{ id: "card-hero-browse-cta", text: "Browse categories", href: String(ROUTES.PUBLIC.CATEGORIES), variant: "primary" }],
|
|
120
145
|
hover: { effect: "scale" },
|
|
121
146
|
},
|
|
122
147
|
{
|
|
@@ -139,10 +164,26 @@ const _rawSlides = [
|
|
|
139
164
|
updatedAt: daysAgo(3),
|
|
140
165
|
},
|
|
141
166
|
{
|
|
167
|
+
/*
|
|
168
|
+
* 🛑 DISABLED, NOT DELETED — the same arrangement the auctions RAIL uses in
|
|
169
|
+
* `homepage-sections-seed-data.ts`, and for the same reason. Every word of
|
|
170
|
+
* the copy, the video background and the CTA stay exactly as they were, so
|
|
171
|
+
* flipping `listings.listingTypes.auction` back to `true` and this flag
|
|
172
|
+
* with it restores the slide intact.
|
|
173
|
+
*
|
|
174
|
+
* Two locks, deliberately. `gateCarouselSlides` already drops this at
|
|
175
|
+
* render because `overlay.button.link` and `link.url` both resolve to
|
|
176
|
+
* `/auctions` — but that one is invisible, and a slide listed as active in
|
|
177
|
+
* the carousel admin while never appearing on the page reads as a bug in
|
|
178
|
+
* the admin. `active: false` is the lock a human sees.
|
|
179
|
+
*
|
|
180
|
+
* 🛑 The copy names no listing type — "Win it at your price" — which is
|
|
181
|
+
* exactly why the gate matches on the LINK and not on the words.
|
|
182
|
+
*/
|
|
142
183
|
id: "slide-beyblade-auction",
|
|
143
184
|
title: "Live auctions",
|
|
144
185
|
order: 2,
|
|
145
|
-
active:
|
|
186
|
+
active: false,
|
|
146
187
|
background: {
|
|
147
188
|
type: "video",
|
|
148
189
|
// Direct MP4 URL, deliberately NOT wrapped in seedExtMedia() — that
|
package/dist/server.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export { wrapAction, isOk, unwrap, } from "./_internal/shared/types/action-resul
|
|
|
21
21
|
export type { ActionResult } from "./_internal/shared/types/action-result";
|
|
22
22
|
export { setActionErrorReporter, hasActionErrorReporter, } from "./_internal/shared/types/action-error-reporter";
|
|
23
23
|
export type { ActionErrorReport, ActionErrorReporter, } from "./_internal/shared/types/action-error-reporter";
|
|
24
|
-
export { attachPaymentProofAction, adminVerifyPaymentAction, adminRequestProofReuploadAction, adminRejectPaymentAsFraudAction, raiseOrderDisputeAction, requestReturnAction, } from "./_internal/server/features/orders/actions";
|
|
24
|
+
export { attachPaymentProofAction, adminVerifyPaymentAction, adminRequestProofReuploadAction, adminRejectPaymentAsFraudAction, raiseOrderDisputeAction, submitEmiInstallmentPaymentAction, requestReturnAction, } from "./_internal/server/features/orders/actions";
|
|
25
25
|
export { wrapJobHandler, wrapScheduleHandler, wrapTriggerHandler, wrapCallableHandler, } from "./_internal/server/jobs/core/wrapJobHandler";
|
|
26
26
|
export { analyzeLogs } from "./_internal/server/features/maintenance/analyze";
|
|
27
27
|
export type { AnalyzeOptions, AnalyzeReport, } from "./_internal/server/features/maintenance/analyze";
|
|
@@ -258,6 +258,8 @@ export { listTopLevelCategories } from "./features/categories/server";
|
|
|
258
258
|
export { updateCategory } from "./features/categories/server";
|
|
259
259
|
export { sendCheckoutValueOtp, verifyCheckoutValueOtp, isCheckoutValueOtpVerified, } from "./features/checkout/server";
|
|
260
260
|
export { FailedCheckoutRepository, failedCheckoutRepository } from "./features/checkout/server";
|
|
261
|
+
export { reconcileOrderShipping } from "./_internal/server/features/shipping/reconcile";
|
|
262
|
+
export { pointsRepository, PointsRepository } from "./features/points/repository/points.repository";
|
|
261
263
|
export type { FailedCheckoutMeta, FailedPaymentMeta } from "./features/checkout/server";
|
|
262
264
|
export { EmailButton, EmailColumn, EmailContainer, EmailDivider, EmailDoc, EmailFooter, EmailHeader, EmailImage, EmailLink, EmailRow, } from "./features/email";
|
|
263
265
|
export type { EmailButtonProps, EmailColumnProps, EmailContainerProps, EmailDividerProps, EmailDocProps, EmailFooterProps, EmailHeaderProps, EmailImageProps, EmailLinkProps, EmailRowProps, EmailTone, } from "./features/email";
|
package/dist/server.js
CHANGED
|
@@ -53,6 +53,9 @@ export { wrapAction, isOk, unwrap, } from "./_internal/shared/types/action-resul
|
|
|
53
53
|
export { setActionErrorReporter, hasActionErrorReporter, } from "./_internal/shared/types/action-error-reporter.js";
|
|
54
54
|
// [SERVER-ONLY] P-1 manual payment proof server actions.
|
|
55
55
|
export { attachPaymentProofAction, adminVerifyPaymentAction, adminRequestProofReuploadAction, adminRejectPaymentAsFraudAction, raiseOrderDisputeAction,
|
|
56
|
+
// Buyer pays one of their own EMI instalments — the counterpart to the
|
|
57
|
+
// seller's markEmiInstallmentPaid, which was the only writer before.
|
|
58
|
+
submitEmiInstallmentPaymentAction,
|
|
56
59
|
// Buyer return request. Was reachable only through `server-entry.ts`, which
|
|
57
60
|
// is the bare `@mohasinac/appkit` specifier — not `/server`, where every
|
|
58
61
|
// other order action lives and where a consumer would look for it.
|
|
@@ -738,6 +741,14 @@ export { updateCategory } from "./features/categories/server.js";
|
|
|
738
741
|
// [SERVER-ONLY] Tier PP — high-value checkout OTP gate.
|
|
739
742
|
export { sendCheckoutValueOtp, verifyCheckoutValueOtp, isCheckoutValueOtpVerified, } from "./features/checkout/server.js";
|
|
740
743
|
export { FailedCheckoutRepository, failedCheckoutRepository } from "./features/checkout/server.js";
|
|
744
|
+
/*
|
|
745
|
+
* Shipping reconciliation. Public on the SERVER entry only: it writes a points
|
|
746
|
+
* ledger entry and an order, so it must never be reachable from a client
|
|
747
|
+
* bundle. The consumer owns the seller's dispatch route, which is the second
|
|
748
|
+
* place a parcel is marked shipped.
|
|
749
|
+
*/
|
|
750
|
+
export { reconcileOrderShipping } from "./_internal/server/features/shipping/reconcile.js";
|
|
751
|
+
export { pointsRepository, PointsRepository } from "./features/points/repository/points.repository.js";
|
|
741
752
|
// [SERVER-ONLY] Email primitives — table-based, inline-styled components
|
|
742
753
|
// that render email-client-compatible HTML via renderToStaticMarkup. Use
|
|
743
754
|
// these instead of authoring raw <table>/<tr>/<td> in email templates.
|