medusa-storefront-data 2.5.7 → 2.5.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/HOMEPAGE_CONFIG.md +23 -1
- package/package.json +3 -2
- package/src/server/dynamic-config.ts +5 -4
- package/src/server/page-input.ts +94 -5
- package/dist/segment-data/default-page-input.json +0 -191
- package/dist/src/config.d.ts +0 -3
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/config.js +0 -31
- package/dist/src/cookies.d.ts +0 -23
- package/dist/src/cookies.d.ts.map +0 -1
- package/dist/src/cookies.js +0 -140
- package/dist/src/dynamic-config-schema/index.d.ts +0 -103
- package/dist/src/dynamic-config-schema/index.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/index.js +0 -172
- package/dist/src/dynamic-config-schema/sections/about-brand.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/about-brand.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/about-brand.js +0 -30
- package/dist/src/dynamic-config-schema/sections/baptism-picks.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/baptism-picks.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/baptism-picks.js +0 -17
- package/dist/src/dynamic-config-schema/sections/baptism.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/baptism.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/baptism.js +0 -4
- package/dist/src/dynamic-config-schema/sections/blog-posts.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/blog-posts.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/blog-posts.js +0 -31
- package/dist/src/dynamic-config-schema/sections/brand-marquee.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/brand-marquee.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/brand-marquee.js +0 -9
- package/dist/src/dynamic-config-schema/sections/brand-pillars.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/brand-pillars.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/brand-pillars.js +0 -29
- package/dist/src/dynamic-config-schema/sections/category-pills.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/category-pills.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/category-pills.js +0 -4
- package/dist/src/dynamic-config-schema/sections/celebrity-trust.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/celebrity-trust.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/celebrity-trust.js +0 -4
- package/dist/src/dynamic-config-schema/sections/features.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/features.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/features.js +0 -12
- package/dist/src/dynamic-config-schema/sections/hero.d.ts +0 -6
- package/dist/src/dynamic-config-schema/sections/hero.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/hero.js +0 -9
- package/dist/src/dynamic-config-schema/sections/index.d.ts +0 -24
- package/dist/src/dynamic-config-schema/sections/index.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/index.js +0 -23
- package/dist/src/dynamic-config-schema/sections/instagram-posts.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/instagram-posts.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/instagram-posts.js +0 -30
- package/dist/src/dynamic-config-schema/sections/loved-by-moms.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/loved-by-moms.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/loved-by-moms.js +0 -4
- package/dist/src/dynamic-config-schema/sections/luxe-favourites.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/luxe-favourites.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/luxe-favourites.js +0 -4
- package/dist/src/dynamic-config-schema/sections/new-arrivals-classic.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/new-arrivals-classic.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/new-arrivals-classic.js +0 -12
- package/dist/src/dynamic-config-schema/sections/new-arrivals.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/new-arrivals.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/new-arrivals.js +0 -12
- package/dist/src/dynamic-config-schema/sections/promo-announcements.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/promo-announcements.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/promo-announcements.js +0 -16
- package/dist/src/dynamic-config-schema/sections/promo-countdown.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/promo-countdown.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/promo-countdown.js +0 -16
- package/dist/src/dynamic-config-schema/sections/shop-by-age.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/shop-by-age.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/shop-by-age.js +0 -4
- package/dist/src/dynamic-config-schema/sections/shop-by-category.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/shop-by-category.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/shop-by-category.js +0 -4
- package/dist/src/dynamic-config-schema/sections/testimonials.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/testimonials.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/testimonials.js +0 -9
- package/dist/src/dynamic-config-schema/sections/theme-dresses.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/theme-dresses.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/theme-dresses.js +0 -4
- package/dist/src/dynamic-config-schema/sections/video-stories.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/video-stories.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/video-stories.js +0 -24
- package/dist/src/dynamic-config-schema/sections/why-choose-us.d.ts +0 -5
- package/dist/src/dynamic-config-schema/sections/why-choose-us.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/sections/why-choose-us.js +0 -9
- package/dist/src/dynamic-config-schema/shared.d.ts +0 -35
- package/dist/src/dynamic-config-schema/shared.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/shared.js +0 -99
- package/dist/src/dynamic-config-schema/site-configs.d.ts +0 -11
- package/dist/src/dynamic-config-schema/site-configs.d.ts.map +0 -1
- package/dist/src/dynamic-config-schema/site-configs.js +0 -70
- package/dist/src/edge.d.ts +0 -3
- package/dist/src/edge.d.ts.map +0 -1
- package/dist/src/edge.js +0 -1
- package/dist/src/middleware.d.ts +0 -3
- package/dist/src/middleware.d.ts.map +0 -1
- package/dist/src/middleware.js +0 -1
- package/dist/src/server/brand-pillars-from-categories.d.ts +0 -8
- package/dist/src/server/brand-pillars-from-categories.d.ts.map +0 -1
- package/dist/src/server/brand-pillars-from-categories.js +0 -92
- package/dist/src/server/cart.d.ts +0 -96
- package/dist/src/server/cart.d.ts.map +0 -1
- package/dist/src/server/cart.js +0 -797
- package/dist/src/server/categories.d.ts +0 -4
- package/dist/src/server/categories.d.ts.map +0 -1
- package/dist/src/server/categories.js +0 -34
- package/dist/src/server/collections.d.ts +0 -8
- package/dist/src/server/collections.d.ts.map +0 -1
- package/dist/src/server/collections.js +0 -39
- package/dist/src/server/config-merge.d.ts +0 -3
- package/dist/src/server/config-merge.d.ts.map +0 -1
- package/dist/src/server/config-merge.js +0 -31
- package/dist/src/server/contact.d.ts +0 -34
- package/dist/src/server/contact.d.ts.map +0 -1
- package/dist/src/server/contact.js +0 -57
- package/dist/src/server/customer-registration.d.ts +0 -142
- package/dist/src/server/customer-registration.d.ts.map +0 -1
- package/dist/src/server/customer-registration.js +0 -295
- package/dist/src/server/customer.d.ts +0 -48
- package/dist/src/server/customer.d.ts.map +0 -1
- package/dist/src/server/customer.js +0 -413
- package/dist/src/server/dynamic-config-api.d.ts +0 -11
- package/dist/src/server/dynamic-config-api.d.ts.map +0 -1
- package/dist/src/server/dynamic-config-api.js +0 -46
- package/dist/src/server/dynamic-config.d.ts +0 -186
- package/dist/src/server/dynamic-config.d.ts.map +0 -1
- package/dist/src/server/dynamic-config.js +0 -694
- package/dist/src/server/fulfillment.d.ts +0 -5
- package/dist/src/server/fulfillment.d.ts.map +0 -1
- package/dist/src/server/fulfillment.js +0 -47
- package/dist/src/server/guest.d.ts +0 -81
- package/dist/src/server/guest.d.ts.map +0 -1
- package/dist/src/server/guest.js +0 -183
- package/dist/src/server/help-faq-section-defaults.json +0 -92
- package/dist/src/server/help-sections/help-faq.d.ts +0 -11
- package/dist/src/server/help-sections/help-faq.d.ts.map +0 -1
- package/dist/src/server/help-sections/help-faq.js +0 -6
- package/dist/src/server/help-sections/index.d.ts +0 -2
- package/dist/src/server/help-sections/index.d.ts.map +0 -1
- package/dist/src/server/help-sections/index.js +0 -1
- package/dist/src/server/home-sections/about-brand.d.ts +0 -9
- package/dist/src/server/home-sections/about-brand.d.ts.map +0 -1
- package/dist/src/server/home-sections/about-brand.js +0 -9
- package/dist/src/server/home-sections/baptism-picks.d.ts +0 -10
- package/dist/src/server/home-sections/baptism-picks.d.ts.map +0 -1
- package/dist/src/server/home-sections/baptism-picks.js +0 -27
- package/dist/src/server/home-sections/baptism.d.ts +0 -13
- package/dist/src/server/home-sections/baptism.d.ts.map +0 -1
- package/dist/src/server/home-sections/baptism.js +0 -43
- package/dist/src/server/home-sections/blog-posts.d.ts +0 -9
- package/dist/src/server/home-sections/blog-posts.d.ts.map +0 -1
- package/dist/src/server/home-sections/blog-posts.js +0 -9
- package/dist/src/server/home-sections/brand-marquee.d.ts +0 -8
- package/dist/src/server/home-sections/brand-marquee.d.ts.map +0 -1
- package/dist/src/server/home-sections/brand-marquee.js +0 -7
- package/dist/src/server/home-sections/brand-pillars.d.ts +0 -9
- package/dist/src/server/home-sections/brand-pillars.d.ts.map +0 -1
- package/dist/src/server/home-sections/brand-pillars.js +0 -9
- package/dist/src/server/home-sections/category-pills.d.ts +0 -9
- package/dist/src/server/home-sections/category-pills.d.ts.map +0 -1
- package/dist/src/server/home-sections/category-pills.js +0 -19
- package/dist/src/server/home-sections/celebrity-trust.d.ts +0 -12
- package/dist/src/server/home-sections/celebrity-trust.d.ts.map +0 -1
- package/dist/src/server/home-sections/celebrity-trust.js +0 -27
- package/dist/src/server/home-sections/features.d.ts +0 -9
- package/dist/src/server/home-sections/features.d.ts.map +0 -1
- package/dist/src/server/home-sections/features.js +0 -9
- package/dist/src/server/home-sections/hero.d.ts +0 -9
- package/dist/src/server/home-sections/hero.d.ts.map +0 -1
- package/dist/src/server/home-sections/hero.js +0 -9
- package/dist/src/server/home-sections/instagram-posts.d.ts +0 -9
- package/dist/src/server/home-sections/instagram-posts.d.ts.map +0 -1
- package/dist/src/server/home-sections/instagram-posts.js +0 -9
- package/dist/src/server/home-sections/loved-by-moms.d.ts +0 -12
- package/dist/src/server/home-sections/loved-by-moms.d.ts.map +0 -1
- package/dist/src/server/home-sections/loved-by-moms.js +0 -20
- package/dist/src/server/home-sections/luxe-favourites.d.ts +0 -11
- package/dist/src/server/home-sections/luxe-favourites.d.ts.map +0 -1
- package/dist/src/server/home-sections/luxe-favourites.js +0 -19
- package/dist/src/server/home-sections/new-arrivals-classic.d.ts +0 -8
- package/dist/src/server/home-sections/new-arrivals-classic.d.ts.map +0 -1
- package/dist/src/server/home-sections/new-arrivals-classic.js +0 -10
- package/dist/src/server/home-sections/new-arrivals.d.ts +0 -12
- package/dist/src/server/home-sections/new-arrivals.d.ts.map +0 -1
- package/dist/src/server/home-sections/new-arrivals.js +0 -28
- package/dist/src/server/home-sections/promo-announcements.d.ts +0 -11
- package/dist/src/server/home-sections/promo-announcements.d.ts.map +0 -1
- package/dist/src/server/home-sections/promo-announcements.js +0 -5
- package/dist/src/server/home-sections/promo-countdown.d.ts +0 -6
- package/dist/src/server/home-sections/promo-countdown.d.ts.map +0 -1
- package/dist/src/server/home-sections/promo-countdown.js +0 -5
- package/dist/src/server/home-sections/shared.d.ts +0 -10
- package/dist/src/server/home-sections/shared.d.ts.map +0 -1
- package/dist/src/server/home-sections/shared.js +0 -29
- package/dist/src/server/home-sections/shop-by-age.d.ts +0 -9
- package/dist/src/server/home-sections/shop-by-age.d.ts.map +0 -1
- package/dist/src/server/home-sections/shop-by-age.js +0 -17
- package/dist/src/server/home-sections/shop-by-category.d.ts +0 -10
- package/dist/src/server/home-sections/shop-by-category.d.ts.map +0 -1
- package/dist/src/server/home-sections/shop-by-category.js +0 -17
- package/dist/src/server/home-sections/testimonials.d.ts +0 -9
- package/dist/src/server/home-sections/testimonials.d.ts.map +0 -1
- package/dist/src/server/home-sections/testimonials.js +0 -9
- package/dist/src/server/home-sections/theme-dresses.d.ts +0 -12
- package/dist/src/server/home-sections/theme-dresses.d.ts.map +0 -1
- package/dist/src/server/home-sections/theme-dresses.js +0 -27
- package/dist/src/server/home-sections/video-stories.d.ts +0 -9
- package/dist/src/server/home-sections/video-stories.d.ts.map +0 -1
- package/dist/src/server/home-sections/video-stories.js +0 -9
- package/dist/src/server/home-sections/why-choose-us.d.ts +0 -9
- package/dist/src/server/home-sections/why-choose-us.d.ts.map +0 -1
- package/dist/src/server/home-sections/why-choose-us.js +0 -9
- package/dist/src/server/home.d.ts +0 -54
- package/dist/src/server/home.d.ts.map +0 -1
- package/dist/src/server/home.js +0 -1
- package/dist/src/server/homepage-config.types.d.ts +0 -390
- package/dist/src/server/homepage-config.types.d.ts.map +0 -1
- package/dist/src/server/homepage-config.types.js +0 -34
- package/dist/src/server/homepage-section-defaults.d.ts +0 -189
- package/dist/src/server/homepage-section-defaults.d.ts.map +0 -1
- package/dist/src/server/homepage-section-defaults.js +0 -190
- package/dist/src/server/index.d.ts +0 -25
- package/dist/src/server/index.d.ts.map +0 -1
- package/dist/src/server/index.js +0 -24
- package/dist/src/server/locale-actions.d.ts +0 -14
- package/dist/src/server/locale-actions.d.ts.map +0 -1
- package/dist/src/server/locale-actions.js +0 -58
- package/dist/src/server/locales.d.ts +0 -8
- package/dist/src/server/locales.d.ts.map +0 -1
- package/dist/src/server/locales.js +0 -12
- package/dist/src/server/normalize-homepage-config.d.ts +0 -7
- package/dist/src/server/normalize-homepage-config.d.ts.map +0 -1
- package/dist/src/server/normalize-homepage-config.js +0 -281
- package/dist/src/server/notifications.d.ts +0 -2
- package/dist/src/server/notifications.d.ts.map +0 -1
- package/dist/src/server/notifications.js +0 -20
- package/dist/src/server/onboarding.d.ts +0 -2
- package/dist/src/server/onboarding.d.ts.map +0 -1
- package/dist/src/server/onboarding.js +0 -8
- package/dist/src/server/orders.d.ts +0 -63
- package/dist/src/server/orders.d.ts.map +0 -1
- package/dist/src/server/orders.js +0 -230
- package/dist/src/server/page-input.d.ts +0 -23
- package/dist/src/server/page-input.d.ts.map +0 -1
- package/dist/src/server/page-input.js +0 -89
- package/dist/src/server/payment-details.d.ts +0 -5
- package/dist/src/server/payment-details.d.ts.map +0 -1
- package/dist/src/server/payment-details.js +0 -28
- package/dist/src/server/payment.d.ts +0 -3
- package/dist/src/server/payment.d.ts.map +0 -1
- package/dist/src/server/payment.js +0 -13
- package/dist/src/server/pincode.d.ts +0 -7
- package/dist/src/server/pincode.d.ts.map +0 -1
- package/dist/src/server/pincode.js +0 -30
- package/dist/src/server/products.d.ts +0 -54
- package/dist/src/server/products.d.ts.map +0 -1
- package/dist/src/server/products.js +0 -154
- package/dist/src/server/regions.d.ts +0 -5
- package/dist/src/server/regions.d.ts.map +0 -1
- package/dist/src/server/regions.js +0 -57
- package/dist/src/server/resolve-home-segment-data.d.ts +0 -25
- package/dist/src/server/resolve-home-segment-data.d.ts.map +0 -1
- package/dist/src/server/resolve-home-segment-data.js +0 -20
- package/dist/src/server/returns.d.ts +0 -29
- package/dist/src/server/returns.d.ts.map +0 -1
- package/dist/src/server/returns.js +0 -132
- package/dist/src/server/shoppable-looks.d.ts +0 -17
- package/dist/src/server/shoppable-looks.d.ts.map +0 -1
- package/dist/src/server/shoppable-looks.js +0 -136
- package/dist/src/server/swaps.d.ts +0 -15
- package/dist/src/server/swaps.d.ts.map +0 -1
- package/dist/src/server/swaps.js +0 -89
- package/dist/src/server/variants.d.ts +0 -3
- package/dist/src/server/variants.d.ts.map +0 -1
- package/dist/src/server/variants.js +0 -15
- package/dist/src/server/wishlist.d.ts +0 -11
- package/dist/src/server/wishlist.d.ts.map +0 -1
- package/dist/src/server/wishlist.js +0 -49
- package/dist/src/util/get-locale-header.d.ts +0 -4
- package/dist/src/util/get-locale-header.d.ts.map +0 -1
- package/dist/src/util/get-locale-header.js +0 -7
- package/dist/src/util/medusa-error.d.ts +0 -2
- package/dist/src/util/medusa-error.d.ts.map +0 -1
- package/dist/src/util/medusa-error.js +0 -18
- package/dist/src/util/revalidate-cart.d.ts +0 -2
- package/dist/src/util/revalidate-cart.d.ts.map +0 -1
- package/dist/src/util/revalidate-cart.js +0 -8
- package/dist/src/util/sort-products.d.ts +0 -3
- package/dist/src/util/sort-products.d.ts.map +0 -1
- package/dist/src/util/sort-products.js +0 -1
- package/dist/src/util/store-client.d.ts +0 -11
- package/dist/src/util/store-client.d.ts.map +0 -1
- package/dist/src/util/store-client.js +0 -75
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import "server-only";
|
|
2
|
-
import defaultPageInputJson from "../../segment-data/default-page-input.json";
|
|
3
|
-
import { mergeSectionBlock } from "./config-merge";
|
|
4
|
-
import { normalizeHomepageConfig } from "./normalize-homepage-config";
|
|
5
|
-
function asObject(v) {
|
|
6
|
-
return v && typeof v === "object" && !Array.isArray(v) ? v : null;
|
|
7
|
-
}
|
|
8
|
-
export const DEFAULT_PAGE_INPUT = defaultPageInputJson;
|
|
9
|
-
/**
|
|
10
|
-
* Merge CMS / main-project overrides onto package JSON defaults.
|
|
11
|
-
* Empty strings and empty arrays are ignored (same rules as section merge).
|
|
12
|
-
*/
|
|
13
|
-
export function mergePageInputWithDefaults(override) {
|
|
14
|
-
if (!override)
|
|
15
|
-
return { ...DEFAULT_PAGE_INPUT };
|
|
16
|
-
const merged = mergeSectionBlock({ ...DEFAULT_PAGE_INPUT }, override);
|
|
17
|
-
const defaultSections = DEFAULT_PAGE_INPUT.sections ?? {};
|
|
18
|
-
const overrideSections = override.sections ?? {};
|
|
19
|
-
const mergedSections = { ...defaultSections };
|
|
20
|
-
for (const [key, value] of Object.entries(overrideSections)) {
|
|
21
|
-
const base = defaultSections[key];
|
|
22
|
-
const baseObj = base && typeof base === "object" && !Array.isArray(base)
|
|
23
|
-
? base
|
|
24
|
-
: {};
|
|
25
|
-
const overrideObj = value && typeof value === "object" && !Array.isArray(value)
|
|
26
|
-
? value
|
|
27
|
-
: typeof value === "string"
|
|
28
|
-
? { text: value }
|
|
29
|
-
: {};
|
|
30
|
-
mergedSections[key] = mergeSectionBlock(baseObj, overrideObj);
|
|
31
|
-
}
|
|
32
|
-
merged.sections = mergedSections;
|
|
33
|
-
return merged;
|
|
34
|
-
}
|
|
35
|
-
/** Resolve page input: explicit override, or package defaults. */
|
|
36
|
-
export function resolvePageInput(pageInput) {
|
|
37
|
-
return mergePageInputWithDefaults(pageInput ?? null);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Medusa plugin split keys (`site-branding`, `contact`, `faqs`, `homepage-sections`)
|
|
41
|
-
* → simplified `{ site, sections }` for {@link normalizeHomepageConfig}.
|
|
42
|
-
*/
|
|
43
|
-
export function simplifiedHomepageConfigFromDynamicResponse(response) {
|
|
44
|
-
if (!response || typeof response !== "object")
|
|
45
|
-
return null;
|
|
46
|
-
const siteBranding = asObject(response["site-branding"]);
|
|
47
|
-
const contact = asObject(response.contact);
|
|
48
|
-
const faqsRoot = asObject(response.faqs);
|
|
49
|
-
const homepageSections = asObject(response["homepage-sections"]);
|
|
50
|
-
const sectionsFromCms = asObject(homepageSections?.sections);
|
|
51
|
-
const hasSplitKeys = siteBranding || contact || faqsRoot || sectionsFromCms;
|
|
52
|
-
if (!hasSplitKeys)
|
|
53
|
-
return null;
|
|
54
|
-
const site = {};
|
|
55
|
-
if (siteBranding) {
|
|
56
|
-
if (siteBranding.logo != null)
|
|
57
|
-
site.logo = siteBranding.logo;
|
|
58
|
-
if (siteBranding.brandName != null)
|
|
59
|
-
site.brandName = siteBranding.brandName;
|
|
60
|
-
if (siteBranding.description != null) {
|
|
61
|
-
site.description = siteBranding.description;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
if (contact)
|
|
65
|
-
site.contact = contact;
|
|
66
|
-
const sections = sectionsFromCms ? { ...sectionsFromCms } : {};
|
|
67
|
-
const helpFaq = asObject(faqsRoot?.helpFaq);
|
|
68
|
-
if (helpFaq)
|
|
69
|
-
sections.helpFaq = helpFaq;
|
|
70
|
-
const simplified = {};
|
|
71
|
-
if (Object.keys(site).length)
|
|
72
|
-
simplified.site = site;
|
|
73
|
-
if (Object.keys(sections).length)
|
|
74
|
-
simplified.sections = sections;
|
|
75
|
-
return Object.keys(simplified).length
|
|
76
|
-
? simplified
|
|
77
|
-
: null;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Build `homepage-config` from Medusa `GET /store/dynamic-config` (main project only).
|
|
81
|
-
* Supports legacy `homepage-config` or split plugin keys.
|
|
82
|
-
*/
|
|
83
|
-
export function homepageConfigFromDynamicResponse(response) {
|
|
84
|
-
const legacy = response?.["homepage-config"] ?? null;
|
|
85
|
-
const fromSplit = simplifiedHomepageConfigFromDynamicResponse(response);
|
|
86
|
-
const raw = fromSplit ?? legacy;
|
|
87
|
-
const normalized = normalizeHomepageConfig(raw);
|
|
88
|
-
return mergePageInputWithDefaults(normalized);
|
|
89
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export declare const listPaymentDetails: () => Promise<import("medusa-services/payment").StorePaymentDetail[]>;
|
|
2
|
-
export declare const createPaymentDetail: (type: "upi" | "bank" | "card", detail_json: Record<string, string>) => Promise<Record<string, unknown>>;
|
|
3
|
-
export declare const makeDefaultPaymentDetail: (id: string) => Promise<Record<string, unknown>>;
|
|
4
|
-
export declare const deletePaymentDetail: (id: string) => Promise<void>;
|
|
5
|
-
//# sourceMappingURL=payment-details.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"payment-details.d.ts","sourceRoot":"","sources":["../../../src/server/payment-details.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,kBAAkB,uEAY9B,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,EAC7B,aAAa,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,qCAIpC,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAU,IAAI,MAAM,qCAGxD,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAU,IAAI,MAAM,kBAGnD,CAAA"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use server";
|
|
2
|
-
import { medusaPaymentDetailCreate, medusaPaymentDetailDelete, medusaPaymentDetailMakeDefault, medusaPaymentDetailsList, } from "medusa-services/payment";
|
|
3
|
-
import { getStoreClientOptions } from "../util/store-client";
|
|
4
|
-
export const listPaymentDetails = async () => {
|
|
5
|
-
try {
|
|
6
|
-
const options = await getStoreClientOptions();
|
|
7
|
-
if (!options.authorization) {
|
|
8
|
-
return [];
|
|
9
|
-
}
|
|
10
|
-
const { payment_details } = await medusaPaymentDetailsList(options);
|
|
11
|
-
return payment_details ?? [];
|
|
12
|
-
}
|
|
13
|
-
catch {
|
|
14
|
-
return [];
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
export const createPaymentDetail = async (type, detail_json) => {
|
|
18
|
-
const options = await getStoreClientOptions();
|
|
19
|
-
return medusaPaymentDetailCreate(type, detail_json, options);
|
|
20
|
-
};
|
|
21
|
-
export const makeDefaultPaymentDetail = async (id) => {
|
|
22
|
-
const options = await getStoreClientOptions();
|
|
23
|
-
return medusaPaymentDetailMakeDefault(id, options);
|
|
24
|
-
};
|
|
25
|
-
export const deletePaymentDetail = async (id) => {
|
|
26
|
-
const options = await getStoreClientOptions();
|
|
27
|
-
return medusaPaymentDetailDelete(id, options);
|
|
28
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/server/payment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAI3C,eAAO,MAAM,sBAAsB,GAAU,UAAU,MAAM,qDAQ5D,CAAA"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use server";
|
|
2
|
-
import { medusaPaymentProvidersList } from "medusa-services/payment";
|
|
3
|
-
import { getStoreClientOptions } from "../util/store-client";
|
|
4
|
-
export const listCartPaymentMethods = async (regionId) => {
|
|
5
|
-
try {
|
|
6
|
-
const options = await getStoreClientOptions();
|
|
7
|
-
const { payment_providers } = await medusaPaymentProvidersList(regionId, options);
|
|
8
|
-
return payment_providers.sort((a, b) => (a.id > b.id ? 1 : -1));
|
|
9
|
-
}
|
|
10
|
-
catch {
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export type PincodeLookupResult = {
|
|
2
|
-
city: string;
|
|
3
|
-
province: string;
|
|
4
|
-
};
|
|
5
|
-
/** Resolve Indian pincode to district (city) and state. */
|
|
6
|
-
export declare function lookupIndianPincode(postalCode: string): Promise<PincodeLookupResult | null>;
|
|
7
|
-
//# sourceMappingURL=pincode.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pincode.d.ts","sourceRoot":"","sources":["../../../src/server/pincode.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAQD,2DAA2D;AAC3D,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAgCrC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use server";
|
|
2
|
-
function titleCase(value) {
|
|
3
|
-
return value
|
|
4
|
-
.toLowerCase()
|
|
5
|
-
.replace(/\b\w/g, (char) => char.toUpperCase());
|
|
6
|
-
}
|
|
7
|
-
/** Resolve Indian pincode to district (city) and state. */
|
|
8
|
-
export async function lookupIndianPincode(postalCode) {
|
|
9
|
-
const cleaned = postalCode.replace(/\D/g, "");
|
|
10
|
-
if (cleaned.length !== 6)
|
|
11
|
-
return null;
|
|
12
|
-
try {
|
|
13
|
-
const response = await fetch(`https://postal-pincode-api.vercel.app/api/v1/pincode/${cleaned}`, { next: { revalidate: 86400 } });
|
|
14
|
-
if (!response.ok)
|
|
15
|
-
return null;
|
|
16
|
-
const payload = await response.json();
|
|
17
|
-
const offices = payload?.data;
|
|
18
|
-
const match = offices?.find((office) => office.delivery) ?? offices?.[0];
|
|
19
|
-
if (match?.district && match?.state) {
|
|
20
|
-
return {
|
|
21
|
-
city: titleCase(match.district),
|
|
22
|
-
province: titleCase(match.state),
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
// ignore network errors
|
|
28
|
-
}
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { type SortOptions } from "../util/sort-products";
|
|
2
|
-
import { HttpTypes } from "@medusajs/types";
|
|
3
|
-
export declare const listProducts: ({ pageParam, queryParams, countryCode, regionId, }: {
|
|
4
|
-
pageParam?: number;
|
|
5
|
-
queryParams?: HttpTypes.FindParams & HttpTypes.StoreProductListParams;
|
|
6
|
-
countryCode?: string;
|
|
7
|
-
regionId?: string;
|
|
8
|
-
}) => Promise<{
|
|
9
|
-
response: {
|
|
10
|
-
products: HttpTypes.StoreProduct[];
|
|
11
|
-
count: number;
|
|
12
|
-
};
|
|
13
|
-
nextPage: number | null;
|
|
14
|
-
queryParams?: HttpTypes.FindParams & HttpTypes.StoreProductListParams;
|
|
15
|
-
}>;
|
|
16
|
-
export declare const listProductsWithSort: ({ page, queryParams, sortBy, countryCode, }: {
|
|
17
|
-
page?: number;
|
|
18
|
-
queryParams?: HttpTypes.FindParams & HttpTypes.StoreProductParams;
|
|
19
|
-
sortBy?: SortOptions;
|
|
20
|
-
countryCode: string;
|
|
21
|
-
}) => Promise<{
|
|
22
|
-
response: {
|
|
23
|
-
products: HttpTypes.StoreProduct[];
|
|
24
|
-
count: number;
|
|
25
|
-
};
|
|
26
|
-
nextPage: number | null;
|
|
27
|
-
queryParams?: HttpTypes.FindParams & HttpTypes.StoreProductParams;
|
|
28
|
-
}>;
|
|
29
|
-
export declare function getProductsByTag({ tagValue, limit, countryCode, }: {
|
|
30
|
-
tagValue: string;
|
|
31
|
-
limit?: number;
|
|
32
|
-
countryCode: string;
|
|
33
|
-
}): Promise<HttpTypes.StoreProduct[]>;
|
|
34
|
-
export declare const getDynamicFilters: (_countryCode: string) => Promise<{
|
|
35
|
-
genders: {
|
|
36
|
-
value: string;
|
|
37
|
-
label: string;
|
|
38
|
-
}[];
|
|
39
|
-
productTypes: {
|
|
40
|
-
value: string;
|
|
41
|
-
label: string;
|
|
42
|
-
}[];
|
|
43
|
-
materials: {
|
|
44
|
-
value: string;
|
|
45
|
-
label: string;
|
|
46
|
-
}[];
|
|
47
|
-
colors: {
|
|
48
|
-
value: string;
|
|
49
|
-
label: string;
|
|
50
|
-
hex: string;
|
|
51
|
-
}[];
|
|
52
|
-
}>;
|
|
53
|
-
export declare function getProductByHandle(handle: string): Promise<HttpTypes.StoreProduct | undefined>;
|
|
54
|
-
//# sourceMappingURL=products.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../../src/server/products.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAU3C,eAAO,MAAM,YAAY,GAAU,oDAKhC;IACD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,sBAAsB,CAAA;IACrE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,KAAG,OAAO,CAAC;IACV,QAAQ,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,WAAW,CAAC,EAAE,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,sBAAsB,CAAA;CACtE,CAsCA,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAU,6CAKxC;IACD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,kBAAkB,CAAA;IACjE,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB,KAAG,OAAO,CAAC;IACV,QAAQ,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,WAAW,CAAC,EAAE,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,kBAAkB,CAAA;CAClE,CAuBA,CAAA;AAED,wBAAsB,gBAAgB,CAAC,EACrC,QAAQ,EACR,KAAU,EACV,WAAW,GACZ,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;CACpB,qCAYA;AAED,eAAO,MAAM,iBAAiB,GAAU,cAAc,MAAM;;;;;;;;;;;;;;;;;;EAgF3D,CAAA;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,+CAItD"}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
"use server";
|
|
2
|
-
import { getRegion, retrieveRegion } from "./regions";
|
|
3
|
-
import Color from "color";
|
|
4
|
-
import { medusaProductByHandle, medusaProductHelperFilters, medusaProductList, } from "medusa-services/products";
|
|
5
|
-
import { getStoreClientOptions } from "../util/store-client";
|
|
6
|
-
export const listProducts = async ({ pageParam = 1, queryParams, countryCode, regionId, }) => {
|
|
7
|
-
if (!countryCode && !regionId) {
|
|
8
|
-
throw new Error("Country code or region ID is required");
|
|
9
|
-
}
|
|
10
|
-
const limit = queryParams?.limit || 12;
|
|
11
|
-
let region;
|
|
12
|
-
if (countryCode) {
|
|
13
|
-
region = await getRegion(countryCode);
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
region = await retrieveRegion(regionId);
|
|
17
|
-
}
|
|
18
|
-
if (!region) {
|
|
19
|
-
return {
|
|
20
|
-
response: { products: [], count: 0 },
|
|
21
|
-
nextPage: null,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
const options = await getStoreClientOptions();
|
|
25
|
-
const { products, count, nextPage } = await medusaProductList(options, {
|
|
26
|
-
pageParam,
|
|
27
|
-
limit,
|
|
28
|
-
regionId: region.id,
|
|
29
|
-
queryParams: queryParams,
|
|
30
|
-
});
|
|
31
|
-
return {
|
|
32
|
-
response: {
|
|
33
|
-
products: products,
|
|
34
|
-
count,
|
|
35
|
-
},
|
|
36
|
-
nextPage,
|
|
37
|
-
queryParams,
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
export const listProductsWithSort = async ({ page = 1, queryParams, sortBy = "created_at_desc", countryCode, }) => {
|
|
41
|
-
const limit = queryParams?.limit || 12;
|
|
42
|
-
const { response: { products, count }, nextPage, } = await listProducts({
|
|
43
|
-
pageParam: page,
|
|
44
|
-
queryParams: {
|
|
45
|
-
...queryParams,
|
|
46
|
-
limit,
|
|
47
|
-
},
|
|
48
|
-
countryCode,
|
|
49
|
-
});
|
|
50
|
-
return {
|
|
51
|
-
response: {
|
|
52
|
-
products,
|
|
53
|
-
count,
|
|
54
|
-
},
|
|
55
|
-
nextPage,
|
|
56
|
-
queryParams,
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
export async function getProductsByTag({ tagValue, limit = 12, countryCode, }) {
|
|
60
|
-
try {
|
|
61
|
-
const result = await listProducts({
|
|
62
|
-
queryParams: { tags: [tagValue], limit },
|
|
63
|
-
countryCode,
|
|
64
|
-
});
|
|
65
|
-
return result.response.products;
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
console.error("Error fetching products by tag:", error);
|
|
69
|
-
return [];
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
export const getDynamicFilters = async (_countryCode) => {
|
|
73
|
-
try {
|
|
74
|
-
const options = await getStoreClientOptions();
|
|
75
|
-
if (!options.publishableApiKey) {
|
|
76
|
-
return { genders: [], productTypes: [], materials: [], colors: [] };
|
|
77
|
-
}
|
|
78
|
-
const data = await medusaProductHelperFilters(options);
|
|
79
|
-
const formatLabel = (str) => {
|
|
80
|
-
return str
|
|
81
|
-
.split(/[_-]/)
|
|
82
|
-
.map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
83
|
-
.join(" ");
|
|
84
|
-
};
|
|
85
|
-
const metadata = data.metadata || {};
|
|
86
|
-
const variantOptions = data.variant_options || [];
|
|
87
|
-
const colorSet = new Set();
|
|
88
|
-
variantOptions.forEach((o) => {
|
|
89
|
-
if (o.option_title.toLowerCase() === "color" || o.option_title.toLowerCase() === "colour") {
|
|
90
|
-
o.values?.forEach((v) => {
|
|
91
|
-
if (v)
|
|
92
|
-
colorSet.add(v.trim().toLowerCase());
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
if (metadata.color) {
|
|
97
|
-
metadata.color.forEach((c) => {
|
|
98
|
-
if (c) {
|
|
99
|
-
const parts = c
|
|
100
|
-
.split(/[,/\n\r]+/)
|
|
101
|
-
.map((s) => s.trim())
|
|
102
|
-
.filter(Boolean);
|
|
103
|
-
parts.forEach((p) => colorSet.add(p.toLowerCase()));
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
return {
|
|
108
|
-
genders: (metadata.gender || []).sort().map((g) => ({
|
|
109
|
-
value: g,
|
|
110
|
-
label: formatLabel(g),
|
|
111
|
-
})),
|
|
112
|
-
productTypes: (data.product_types || [])
|
|
113
|
-
.sort((a, b) => a.label.localeCompare(b.label))
|
|
114
|
-
.map((t) => ({
|
|
115
|
-
value: t.label,
|
|
116
|
-
label: formatLabel(t.label),
|
|
117
|
-
})),
|
|
118
|
-
materials: (metadata.material || []).sort().map((m) => ({
|
|
119
|
-
value: m,
|
|
120
|
-
label: formatLabel(m),
|
|
121
|
-
})),
|
|
122
|
-
colors: Array.from(colorSet)
|
|
123
|
-
.sort()
|
|
124
|
-
.map((c) => {
|
|
125
|
-
let hex = "";
|
|
126
|
-
try {
|
|
127
|
-
hex = Color(c.replace(/\s+/g, "").toLowerCase()).hex();
|
|
128
|
-
}
|
|
129
|
-
catch {
|
|
130
|
-
try {
|
|
131
|
-
hex = Color(c.toLowerCase()).hex();
|
|
132
|
-
}
|
|
133
|
-
catch {
|
|
134
|
-
// no hex
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
return {
|
|
138
|
-
value: c,
|
|
139
|
-
label: formatLabel(c),
|
|
140
|
-
hex,
|
|
141
|
-
};
|
|
142
|
-
}),
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
catch (error) {
|
|
146
|
-
console.error("Error fetching dynamic filters:", error);
|
|
147
|
-
return { genders: [], productTypes: [], materials: [], colors: [] };
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
export async function getProductByHandle(handle) {
|
|
151
|
-
const options = await getStoreClientOptions();
|
|
152
|
-
const product = await medusaProductByHandle(handle, options);
|
|
153
|
-
return product;
|
|
154
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { HttpTypes } from "@medusajs/types";
|
|
2
|
-
export declare const listRegions: () => Promise<HttpTypes.StoreRegion[]>;
|
|
3
|
-
export declare const retrieveRegion: (id: string) => Promise<HttpTypes.StoreRegion>;
|
|
4
|
-
export declare const getRegion: (countryCode: string) => Promise<HttpTypes.StoreRegion | null | undefined>;
|
|
5
|
-
//# sourceMappingURL=regions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"regions.d.ts","sourceRoot":"","sources":["../../../src/server/regions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAK3C,eAAO,MAAM,WAAW,wCAavB,CAAA;AAED,eAAO,MAAM,cAAc,GAAU,IAAI,MAAM,mCAa9C,CAAA;AAID,eAAO,MAAM,SAAS,GAAU,aAAa,MAAM,sDA2BlD,CAAA"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use server";
|
|
2
|
-
import { sdk } from "../config";
|
|
3
|
-
import medusaError from "../util/medusa-error";
|
|
4
|
-
import { getCacheOptions } from "../cookies";
|
|
5
|
-
import { medusaRegionList } from "medusa-services/regions";
|
|
6
|
-
import { getStoreClientOptions } from "../util/store-client";
|
|
7
|
-
export const listRegions = async () => {
|
|
8
|
-
const next = {
|
|
9
|
-
...(await getCacheOptions("regions")),
|
|
10
|
-
};
|
|
11
|
-
return sdk.client
|
|
12
|
-
.fetch(`/store/regions`, {
|
|
13
|
-
method: "GET",
|
|
14
|
-
next,
|
|
15
|
-
cache: "force-cache",
|
|
16
|
-
})
|
|
17
|
-
.then(({ regions }) => regions)
|
|
18
|
-
.catch(medusaError);
|
|
19
|
-
};
|
|
20
|
-
export const retrieveRegion = async (id) => {
|
|
21
|
-
const next = {
|
|
22
|
-
...(await getCacheOptions(["regions", id].join("-"))),
|
|
23
|
-
};
|
|
24
|
-
return sdk.client
|
|
25
|
-
.fetch(`/store/regions/${id}`, {
|
|
26
|
-
method: "GET",
|
|
27
|
-
next,
|
|
28
|
-
cache: "force-cache",
|
|
29
|
-
})
|
|
30
|
-
.then(({ region }) => region)
|
|
31
|
-
.catch(medusaError);
|
|
32
|
-
};
|
|
33
|
-
const regionMap = new Map();
|
|
34
|
-
export const getRegion = async (countryCode) => {
|
|
35
|
-
try {
|
|
36
|
-
if (regionMap.has(countryCode)) {
|
|
37
|
-
return regionMap.get(countryCode);
|
|
38
|
-
}
|
|
39
|
-
const options = await getStoreClientOptions();
|
|
40
|
-
const { regions } = await medusaRegionList(options);
|
|
41
|
-
if (!regions?.length) {
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
|
-
regions.forEach((region) => {
|
|
45
|
-
region.countries?.forEach((c) => {
|
|
46
|
-
regionMap.set(c?.iso_2 ?? "", region);
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
const region = countryCode
|
|
50
|
-
? regionMap.get(countryCode)
|
|
51
|
-
: regionMap.get("us");
|
|
52
|
-
return region ?? null;
|
|
53
|
-
}
|
|
54
|
-
catch (e) {
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import "server-only";
|
|
2
|
-
import type { HomepageConfig } from "./homepage-config.types";
|
|
3
|
-
import { getFeaturesFromPageInput, getPromoCountdownFromPageInput, getTestimonialsFromPageInput, getVideoStoriesFromPageInput, type AboutBrandConfig, type BlogPostConfig, type BrandPillarConfig, type HomepageBanner, type HomeSectionsCopy, type InstagramPostsData, type TrustFeaturesConfig } from "./dynamic-config";
|
|
4
|
-
/** Config-driven homepage fields (no Medusa catalog APIs). */
|
|
5
|
-
export type HomeSegmentConfigData = {
|
|
6
|
-
homeBanners: HomepageBanner[] | null;
|
|
7
|
-
appBanners: HomepageBanner[] | null;
|
|
8
|
-
whyChooseUsFeatures: ReturnType<typeof getFeaturesFromPageInput>;
|
|
9
|
-
testimonials: ReturnType<typeof getTestimonialsFromPageInput>;
|
|
10
|
-
videoStories: ReturnType<typeof getVideoStoriesFromPageInput>;
|
|
11
|
-
announcementMessages: string[];
|
|
12
|
-
promoCountdown: ReturnType<typeof getPromoCountdownFromPageInput>;
|
|
13
|
-
aboutBrand: AboutBrandConfig;
|
|
14
|
-
brandPillars: {
|
|
15
|
-
sectionTitle: string;
|
|
16
|
-
pillars: BrandPillarConfig[];
|
|
17
|
-
};
|
|
18
|
-
blogPosts: BlogPostConfig[];
|
|
19
|
-
instagramPosts: InstagramPostsData;
|
|
20
|
-
sectionsCopy: HomeSectionsCopy;
|
|
21
|
-
trustFeatures: TrustFeaturesConfig;
|
|
22
|
-
};
|
|
23
|
-
/** Resolve all segment JSON from `pageInput` (package defaults when omitted). */
|
|
24
|
-
export declare function resolveHomeSegmentConfigData(pageInput?: HomepageConfig | null): HomeSegmentConfigData;
|
|
25
|
-
//# sourceMappingURL=resolve-home-segment-data.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-home-segment-data.d.ts","sourceRoot":"","sources":["../../../src/server/resolve-home-segment-data.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAML,wBAAwB,EAIxB,8BAA8B,EAC9B,4BAA4B,EAE5B,4BAA4B,EAC5B,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAA;AAEzB,8DAA8D;AAC9D,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,cAAc,EAAE,GAAG,IAAI,CAAA;IACpC,UAAU,EAAE,cAAc,EAAE,GAAG,IAAI,CAAA;IACnC,mBAAmB,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAA;IAChE,YAAY,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAA;IAC7D,YAAY,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAA;IAC7D,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,cAAc,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAA;IACjE,UAAU,EAAE,gBAAgB,CAAA;IAC5B,YAAY,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAA;IACpE,SAAS,EAAE,cAAc,EAAE,CAAA;IAC3B,cAAc,EAAE,kBAAkB,CAAA;IAClC,YAAY,EAAE,gBAAgB,CAAA;IAC9B,aAAa,EAAE,mBAAmB,CAAA;CACnC,CAAA;AAED,iFAAiF;AACjF,wBAAgB,4BAA4B,CAC1C,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI,GAChC,qBAAqB,CAgBvB"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import "server-only";
|
|
2
|
-
import { getAboutBrandFromPageInput, getAnnouncementMessagesFromPageInput, getAppBannersFromPageInput, getBlogPostsFromPageInput, getBrandPillarsFromPageInput, getFeaturesFromPageInput, getHomeBannersFromPageInput, getHomeSectionsCopyFromPageInput, getInstagramPostsFromPageInput, getPromoCountdownFromPageInput, getTestimonialsFromPageInput, getTrustFeaturesFromPageInput, getVideoStoriesFromPageInput, } from "./dynamic-config";
|
|
3
|
-
/** Resolve all segment JSON from `pageInput` (package defaults when omitted). */
|
|
4
|
-
export function resolveHomeSegmentConfigData(pageInput) {
|
|
5
|
-
return {
|
|
6
|
-
homeBanners: getHomeBannersFromPageInput(pageInput),
|
|
7
|
-
appBanners: getAppBannersFromPageInput(pageInput),
|
|
8
|
-
whyChooseUsFeatures: getFeaturesFromPageInput(pageInput),
|
|
9
|
-
testimonials: getTestimonialsFromPageInput(pageInput),
|
|
10
|
-
videoStories: getVideoStoriesFromPageInput(pageInput),
|
|
11
|
-
announcementMessages: getAnnouncementMessagesFromPageInput(pageInput),
|
|
12
|
-
promoCountdown: getPromoCountdownFromPageInput(pageInput),
|
|
13
|
-
aboutBrand: getAboutBrandFromPageInput(pageInput),
|
|
14
|
-
brandPillars: getBrandPillarsFromPageInput(pageInput),
|
|
15
|
-
blogPosts: getBlogPostsFromPageInput(pageInput),
|
|
16
|
-
instagramPosts: getInstagramPostsFromPageInput(pageInput),
|
|
17
|
-
sectionsCopy: getHomeSectionsCopyFromPageInput(pageInput),
|
|
18
|
-
trustFeatures: getTrustFeaturesFromPageInput(pageInput),
|
|
19
|
-
};
|
|
20
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { HttpTypes } from "@medusajs/types";
|
|
2
|
-
export declare const listReturnReasons: () => Promise<import("medusa-services/returns").StoreReturnReason[]>;
|
|
3
|
-
export declare const listReturnShippingOptions: (cartId: string, regionId?: string, productIds?: string[]) => Promise<HttpTypes.StoreShippingOption[]>;
|
|
4
|
-
export declare const createReturnRequest: (state: {
|
|
5
|
-
success: boolean;
|
|
6
|
-
error: string | null;
|
|
7
|
-
return: HttpTypes.StoreReturn | null;
|
|
8
|
-
}, formData: FormData) => Promise<{
|
|
9
|
-
success: boolean;
|
|
10
|
-
error: string | null;
|
|
11
|
-
return: HttpTypes.StoreReturn | null;
|
|
12
|
-
}>;
|
|
13
|
-
/**
|
|
14
|
-
* Link a payment method to a return (for Refund Destination)
|
|
15
|
-
*/
|
|
16
|
-
export declare const updateReturnPayment: (returnId: string, paymentId: string) => Promise<{
|
|
17
|
-
success: boolean;
|
|
18
|
-
data: unknown;
|
|
19
|
-
error?: undefined;
|
|
20
|
-
} | {
|
|
21
|
-
success: boolean;
|
|
22
|
-
error: string;
|
|
23
|
-
data?: undefined;
|
|
24
|
-
}>;
|
|
25
|
-
/**
|
|
26
|
-
* List returns for an order or customer
|
|
27
|
-
*/
|
|
28
|
-
export declare const listReturns: (orderId?: string) => Promise<import("medusa-services/returns").StoreReturnListResponse>;
|
|
29
|
-
//# sourceMappingURL=returns.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"returns.d.ts","sourceRoot":"","sources":["../../../src/server/returns.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAK3C,eAAO,MAAM,iBAAiB,sEAG7B,CAAA;AAED,eAAO,MAAM,yBAAyB,GACpC,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,aAAa,MAAM,EAAE,KACpB,OAAO,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAOzC,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,OAAO;IACL,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAA;CACrC,EACD,UAAU,QAAQ,KACjB,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAA;CACrC,CAmFA,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAU,UAAU,MAAM,EAAE,WAAW,MAAM;;;;;;;;EAa5E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,GAAU,UAAU,MAAM,uEA4BjD,CAAA"}
|