medusa-storefront-data 2.4.0 → 2.5.3

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 (214) hide show
  1. package/HOMEPAGE_CONFIG.md +113 -6
  2. package/package.json +6 -116
  3. package/src/server/brand-pillars-from-categories.ts +156 -0
  4. package/src/server/cart.ts +21 -21
  5. package/src/server/customer.ts +11 -11
  6. package/src/server/dynamic-config.ts +130 -181
  7. package/src/server/fulfillment.ts +3 -3
  8. package/src/server/help-faq-section-defaults.json +92 -0
  9. package/src/server/help-sections/help-faq.ts +25 -0
  10. package/src/server/help-sections/index.ts +8 -0
  11. package/src/server/home.ts +36 -211
  12. package/src/server/homepage-config.types.ts +24 -0
  13. package/src/server/homepage-section-defaults.ts +3 -0
  14. package/src/server/normalize-homepage-config.ts +279 -0
  15. package/src/server/orders.ts +6 -6
  16. package/src/server/page-input.ts +3 -1
  17. package/src/server/payment-details.ts +5 -5
  18. package/src/server/payment.ts +2 -2
  19. package/src/server/regions.ts +2 -2
  20. package/src/server/shoppable-looks.ts +1 -1
  21. package/src/util/store-client.ts +0 -3
  22. package/dist/segment-data/default-page-input.json +0 -191
  23. package/dist/src/config.d.ts +0 -3
  24. package/dist/src/config.d.ts.map +0 -1
  25. package/dist/src/config.js +0 -31
  26. package/dist/src/cookies.d.ts +0 -23
  27. package/dist/src/cookies.d.ts.map +0 -1
  28. package/dist/src/cookies.js +0 -140
  29. package/dist/src/edge.d.ts +0 -3
  30. package/dist/src/edge.d.ts.map +0 -1
  31. package/dist/src/edge.js +0 -1
  32. package/dist/src/middleware.d.ts +0 -3
  33. package/dist/src/middleware.d.ts.map +0 -1
  34. package/dist/src/middleware.js +0 -1
  35. package/dist/src/server/cart.d.ts +0 -96
  36. package/dist/src/server/cart.d.ts.map +0 -1
  37. package/dist/src/server/cart.js +0 -797
  38. package/dist/src/server/categories.d.ts +0 -4
  39. package/dist/src/server/categories.d.ts.map +0 -1
  40. package/dist/src/server/categories.js +0 -34
  41. package/dist/src/server/collections.d.ts +0 -8
  42. package/dist/src/server/collections.d.ts.map +0 -1
  43. package/dist/src/server/collections.js +0 -39
  44. package/dist/src/server/config-merge.d.ts +0 -3
  45. package/dist/src/server/config-merge.d.ts.map +0 -1
  46. package/dist/src/server/config-merge.js +0 -31
  47. package/dist/src/server/contact.d.ts +0 -34
  48. package/dist/src/server/contact.d.ts.map +0 -1
  49. package/dist/src/server/contact.js +0 -57
  50. package/dist/src/server/customer-registration.d.ts +0 -142
  51. package/dist/src/server/customer-registration.d.ts.map +0 -1
  52. package/dist/src/server/customer-registration.js +0 -295
  53. package/dist/src/server/customer.d.ts +0 -48
  54. package/dist/src/server/customer.d.ts.map +0 -1
  55. package/dist/src/server/customer.js +0 -413
  56. package/dist/src/server/dynamic-config.d.ts +0 -240
  57. package/dist/src/server/dynamic-config.d.ts.map +0 -1
  58. package/dist/src/server/dynamic-config.js +0 -703
  59. package/dist/src/server/fulfillment.d.ts +0 -5
  60. package/dist/src/server/fulfillment.d.ts.map +0 -1
  61. package/dist/src/server/fulfillment.js +0 -47
  62. package/dist/src/server/guest.d.ts +0 -81
  63. package/dist/src/server/guest.d.ts.map +0 -1
  64. package/dist/src/server/guest.js +0 -183
  65. package/dist/src/server/home-sections/about-brand.d.ts +0 -9
  66. package/dist/src/server/home-sections/about-brand.d.ts.map +0 -1
  67. package/dist/src/server/home-sections/about-brand.js +0 -9
  68. package/dist/src/server/home-sections/baptism-picks.d.ts +0 -10
  69. package/dist/src/server/home-sections/baptism-picks.d.ts.map +0 -1
  70. package/dist/src/server/home-sections/baptism-picks.js +0 -27
  71. package/dist/src/server/home-sections/baptism.d.ts +0 -13
  72. package/dist/src/server/home-sections/baptism.d.ts.map +0 -1
  73. package/dist/src/server/home-sections/baptism.js +0 -43
  74. package/dist/src/server/home-sections/blog-posts.d.ts +0 -9
  75. package/dist/src/server/home-sections/blog-posts.d.ts.map +0 -1
  76. package/dist/src/server/home-sections/blog-posts.js +0 -9
  77. package/dist/src/server/home-sections/brand-marquee.d.ts +0 -8
  78. package/dist/src/server/home-sections/brand-marquee.d.ts.map +0 -1
  79. package/dist/src/server/home-sections/brand-marquee.js +0 -7
  80. package/dist/src/server/home-sections/brand-pillars.d.ts +0 -9
  81. package/dist/src/server/home-sections/brand-pillars.d.ts.map +0 -1
  82. package/dist/src/server/home-sections/brand-pillars.js +0 -9
  83. package/dist/src/server/home-sections/category-pills.d.ts +0 -9
  84. package/dist/src/server/home-sections/category-pills.d.ts.map +0 -1
  85. package/dist/src/server/home-sections/category-pills.js +0 -19
  86. package/dist/src/server/home-sections/celebrity-trust.d.ts +0 -12
  87. package/dist/src/server/home-sections/celebrity-trust.d.ts.map +0 -1
  88. package/dist/src/server/home-sections/celebrity-trust.js +0 -27
  89. package/dist/src/server/home-sections/features.d.ts +0 -9
  90. package/dist/src/server/home-sections/features.d.ts.map +0 -1
  91. package/dist/src/server/home-sections/features.js +0 -9
  92. package/dist/src/server/home-sections/hero.d.ts +0 -9
  93. package/dist/src/server/home-sections/hero.d.ts.map +0 -1
  94. package/dist/src/server/home-sections/hero.js +0 -9
  95. package/dist/src/server/home-sections/instagram-posts.d.ts +0 -9
  96. package/dist/src/server/home-sections/instagram-posts.d.ts.map +0 -1
  97. package/dist/src/server/home-sections/instagram-posts.js +0 -9
  98. package/dist/src/server/home-sections/loved-by-moms.d.ts +0 -12
  99. package/dist/src/server/home-sections/loved-by-moms.d.ts.map +0 -1
  100. package/dist/src/server/home-sections/loved-by-moms.js +0 -20
  101. package/dist/src/server/home-sections/luxe-favourites.d.ts +0 -11
  102. package/dist/src/server/home-sections/luxe-favourites.d.ts.map +0 -1
  103. package/dist/src/server/home-sections/luxe-favourites.js +0 -19
  104. package/dist/src/server/home-sections/new-arrivals-classic.d.ts +0 -8
  105. package/dist/src/server/home-sections/new-arrivals-classic.d.ts.map +0 -1
  106. package/dist/src/server/home-sections/new-arrivals-classic.js +0 -10
  107. package/dist/src/server/home-sections/new-arrivals.d.ts +0 -12
  108. package/dist/src/server/home-sections/new-arrivals.d.ts.map +0 -1
  109. package/dist/src/server/home-sections/new-arrivals.js +0 -28
  110. package/dist/src/server/home-sections/promo-announcements.d.ts +0 -7
  111. package/dist/src/server/home-sections/promo-announcements.d.ts.map +0 -1
  112. package/dist/src/server/home-sections/promo-announcements.js +0 -7
  113. package/dist/src/server/home-sections/promo-countdown.d.ts +0 -6
  114. package/dist/src/server/home-sections/promo-countdown.d.ts.map +0 -1
  115. package/dist/src/server/home-sections/promo-countdown.js +0 -5
  116. package/dist/src/server/home-sections/shared.d.ts +0 -10
  117. package/dist/src/server/home-sections/shared.d.ts.map +0 -1
  118. package/dist/src/server/home-sections/shared.js +0 -29
  119. package/dist/src/server/home-sections/shop-by-age.d.ts +0 -9
  120. package/dist/src/server/home-sections/shop-by-age.d.ts.map +0 -1
  121. package/dist/src/server/home-sections/shop-by-age.js +0 -17
  122. package/dist/src/server/home-sections/shop-by-category.d.ts +0 -10
  123. package/dist/src/server/home-sections/shop-by-category.d.ts.map +0 -1
  124. package/dist/src/server/home-sections/shop-by-category.js +0 -17
  125. package/dist/src/server/home-sections/testimonials.d.ts +0 -9
  126. package/dist/src/server/home-sections/testimonials.d.ts.map +0 -1
  127. package/dist/src/server/home-sections/testimonials.js +0 -9
  128. package/dist/src/server/home-sections/theme-dresses.d.ts +0 -12
  129. package/dist/src/server/home-sections/theme-dresses.d.ts.map +0 -1
  130. package/dist/src/server/home-sections/theme-dresses.js +0 -27
  131. package/dist/src/server/home-sections/video-stories.d.ts +0 -9
  132. package/dist/src/server/home-sections/video-stories.d.ts.map +0 -1
  133. package/dist/src/server/home-sections/video-stories.js +0 -9
  134. package/dist/src/server/home-sections/why-choose-us.d.ts +0 -9
  135. package/dist/src/server/home-sections/why-choose-us.d.ts.map +0 -1
  136. package/dist/src/server/home-sections/why-choose-us.js +0 -9
  137. package/dist/src/server/home.d.ts +0 -62
  138. package/dist/src/server/home.d.ts.map +0 -1
  139. package/dist/src/server/home.js +0 -122
  140. package/dist/src/server/homepage-config.types.d.ts +0 -274
  141. package/dist/src/server/homepage-config.types.d.ts.map +0 -1
  142. package/dist/src/server/homepage-config.types.js +0 -33
  143. package/dist/src/server/homepage-section-defaults.d.ts +0 -188
  144. package/dist/src/server/homepage-section-defaults.d.ts.map +0 -1
  145. package/dist/src/server/homepage-section-defaults.js +0 -188
  146. package/dist/src/server/index.d.ts +0 -25
  147. package/dist/src/server/index.d.ts.map +0 -1
  148. package/dist/src/server/index.js +0 -24
  149. package/dist/src/server/locale-actions.d.ts +0 -14
  150. package/dist/src/server/locale-actions.d.ts.map +0 -1
  151. package/dist/src/server/locale-actions.js +0 -58
  152. package/dist/src/server/locales.d.ts +0 -8
  153. package/dist/src/server/locales.d.ts.map +0 -1
  154. package/dist/src/server/locales.js +0 -12
  155. package/dist/src/server/notifications.d.ts +0 -2
  156. package/dist/src/server/notifications.d.ts.map +0 -1
  157. package/dist/src/server/notifications.js +0 -20
  158. package/dist/src/server/onboarding.d.ts +0 -2
  159. package/dist/src/server/onboarding.d.ts.map +0 -1
  160. package/dist/src/server/onboarding.js +0 -8
  161. package/dist/src/server/orders.d.ts +0 -63
  162. package/dist/src/server/orders.d.ts.map +0 -1
  163. package/dist/src/server/orders.js +0 -230
  164. package/dist/src/server/page-input.d.ts +0 -19
  165. package/dist/src/server/page-input.d.ts.map +0 -1
  166. package/dist/src/server/page-input.js +0 -40
  167. package/dist/src/server/payment-details.d.ts +0 -5
  168. package/dist/src/server/payment-details.d.ts.map +0 -1
  169. package/dist/src/server/payment-details.js +0 -28
  170. package/dist/src/server/payment.d.ts +0 -3
  171. package/dist/src/server/payment.d.ts.map +0 -1
  172. package/dist/src/server/payment.js +0 -13
  173. package/dist/src/server/pincode.d.ts +0 -7
  174. package/dist/src/server/pincode.d.ts.map +0 -1
  175. package/dist/src/server/pincode.js +0 -30
  176. package/dist/src/server/products.d.ts +0 -54
  177. package/dist/src/server/products.d.ts.map +0 -1
  178. package/dist/src/server/products.js +0 -154
  179. package/dist/src/server/regions.d.ts +0 -5
  180. package/dist/src/server/regions.d.ts.map +0 -1
  181. package/dist/src/server/regions.js +0 -57
  182. package/dist/src/server/resolve-home-segment-data.d.ts +0 -25
  183. package/dist/src/server/resolve-home-segment-data.d.ts.map +0 -1
  184. package/dist/src/server/resolve-home-segment-data.js +0 -20
  185. package/dist/src/server/returns.d.ts +0 -29
  186. package/dist/src/server/returns.d.ts.map +0 -1
  187. package/dist/src/server/returns.js +0 -132
  188. package/dist/src/server/shoppable-looks.d.ts +0 -17
  189. package/dist/src/server/shoppable-looks.d.ts.map +0 -1
  190. package/dist/src/server/shoppable-looks.js +0 -136
  191. package/dist/src/server/swaps.d.ts +0 -15
  192. package/dist/src/server/swaps.d.ts.map +0 -1
  193. package/dist/src/server/swaps.js +0 -89
  194. package/dist/src/server/variants.d.ts +0 -3
  195. package/dist/src/server/variants.d.ts.map +0 -1
  196. package/dist/src/server/variants.js +0 -15
  197. package/dist/src/server/wishlist.d.ts +0 -11
  198. package/dist/src/server/wishlist.d.ts.map +0 -1
  199. package/dist/src/server/wishlist.js +0 -49
  200. package/dist/src/util/get-locale-header.d.ts +0 -4
  201. package/dist/src/util/get-locale-header.d.ts.map +0 -1
  202. package/dist/src/util/get-locale-header.js +0 -7
  203. package/dist/src/util/medusa-error.d.ts +0 -2
  204. package/dist/src/util/medusa-error.d.ts.map +0 -1
  205. package/dist/src/util/medusa-error.js +0 -18
  206. package/dist/src/util/revalidate-cart.d.ts +0 -2
  207. package/dist/src/util/revalidate-cart.d.ts.map +0 -1
  208. package/dist/src/util/revalidate-cart.js +0 -8
  209. package/dist/src/util/sort-products.d.ts +0 -3
  210. package/dist/src/util/sort-products.d.ts.map +0 -1
  211. package/dist/src/util/sort-products.js +0 -1
  212. package/dist/src/util/store-client.d.ts +0 -13
  213. package/dist/src/util/store-client.d.ts.map +0 -1
  214. package/dist/src/util/store-client.js +0 -77
@@ -1,5 +0,0 @@
1
- import { HttpTypes } from "@medusajs/types";
2
- export declare const listCartShippingMethods: (cartId: string) => Promise<HttpTypes.StoreCartShippingOptionWithServiceZone[] | null>;
3
- export declare const calculatePriceForShippingOption: (optionId: string, cartId: string, data?: Record<string, unknown>) => Promise<HttpTypes.StoreCartShippingOption | null>;
4
- export declare const getShiprocketServiceability: (pincode: string, variant_id: string, cod?: number) => Promise<import("medusa-services/fulfillment").ShiprocketServiceabilityResult | null>;
5
- //# sourceMappingURL=fulfillment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fulfillment.d.ts","sourceRoot":"","sources":["../../../src/server/fulfillment.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAQ3C,eAAO,MAAM,uBAAuB,GAAU,QAAQ,MAAM,uEA0B3D,CAAA;AAED,eAAO,MAAM,+BAA+B,GAC1C,UAAU,MAAM,EAChB,QAAQ,MAAM,EACd,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,sDAc/B,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAU,SAAS,MAAM,EAAE,YAAY,MAAM,EAAE,MAAK,MAAU,yFAWrG,CAAA"}
@@ -1,47 +0,0 @@
1
- "use server";
2
- import { sdk } from "../config";
3
- import { getAuthHeaders, getCacheOptions } from "../cookies";
4
- import { medusaShippingOptionCalculate, medusaShiprocketServiceability, } from "medusa-services/fulfillment";
5
- import { getStoreCartClientOptions } from "../util/store-client";
6
- export const listCartShippingMethods = async (cartId) => {
7
- const headers = {
8
- ...(await getAuthHeaders()),
9
- };
10
- const next = {
11
- ...(await getCacheOptions("fulfillment")),
12
- };
13
- return sdk.client
14
- .fetch(`/store/shipping-options`, {
15
- method: "GET",
16
- query: {
17
- cart_id: cartId,
18
- },
19
- headers,
20
- next,
21
- cache: "force-cache",
22
- })
23
- .then(({ shipping_options }) => shipping_options)
24
- .catch(() => {
25
- return null;
26
- });
27
- };
28
- export const calculatePriceForShippingOption = async (optionId, cartId, data) => {
29
- try {
30
- const options = await getStoreCartClientOptions();
31
- const { shipping_option } = await medusaShippingOptionCalculate(optionId, cartId, options, data);
32
- return shipping_option;
33
- }
34
- catch (e) {
35
- return null;
36
- }
37
- };
38
- export const getShiprocketServiceability = async (pincode, variant_id, cod = 0) => {
39
- try {
40
- const options = await getStoreCartClientOptions();
41
- return await medusaShiprocketServiceability({ pincode, variant_id, cod }, options);
42
- }
43
- catch {
44
- // Missing variant dimensions or Shiprocket unavailable — checkout must continue.
45
- return null;
46
- }
47
- };
@@ -1,81 +0,0 @@
1
- import { type GuestReturnItem } from "medusa-services/guest";
2
- /**
3
- * Compatibility wrapper for sendOTP
4
- */
5
- export declare function sendOTP(email: string, type?: string): Promise<import("medusa-services/guest").GuestOtpResponse>;
6
- /**
7
- * Compatibility wrapper for verifyOTP
8
- */
9
- export declare function verifyOTP(email: string, token: string, otp: string): Promise<import("medusa-services/guest").GuestOtpResponse>;
10
- /**
11
- * Compatibility wrapper for listGuestOrders
12
- */
13
- export declare function listGuestOrders(token: string): Promise<{
14
- orders: {
15
- id?: string;
16
- }[];
17
- count: number;
18
- }>;
19
- export declare function requestGuestOTP(email: string): Promise<import("medusa-services/guest").GuestOtpResponse>;
20
- export declare function verifyGuestOTP(email: string, otp: string): Promise<import("medusa-services/guest").GuestOtpResponse>;
21
- export declare function logoutGuest(): Promise<{
22
- success: boolean;
23
- }>;
24
- export declare function getGuestOrders(token?: string): Promise<{
25
- success: boolean;
26
- error: string;
27
- orders?: undefined;
28
- } | {
29
- success: boolean;
30
- orders: Record<string, unknown>[];
31
- error?: undefined;
32
- }>;
33
- export declare function getGuestOrder(id: string, token?: string): Promise<{
34
- success: boolean;
35
- error: string;
36
- order?: undefined;
37
- } | {
38
- success: boolean;
39
- order: Record<string, unknown>;
40
- error?: undefined;
41
- }>;
42
- export declare function cancelGuestOrder(orderId: string, token?: string): Promise<{
43
- success: boolean;
44
- error: string;
45
- } | {
46
- success: boolean;
47
- error?: undefined;
48
- }>;
49
- export declare function getGuestOrderInvoice(orderId: string, token?: string): Promise<{
50
- success: boolean;
51
- error: string;
52
- } | {
53
- type: "pdf";
54
- data: string;
55
- success: boolean;
56
- error?: undefined;
57
- } | {
58
- type: "json";
59
- data: unknown;
60
- success: boolean;
61
- error?: undefined;
62
- }>;
63
- export declare function guestReorder(orderId: string, token?: string): Promise<{
64
- success: boolean;
65
- error: string;
66
- data?: undefined;
67
- } | {
68
- success: boolean;
69
- data: import("medusa-services/orders").MedusaOrderReorderResponse;
70
- error?: undefined;
71
- }>;
72
- export declare function createGuestReturn(orderId: string, items: GuestReturnItem[], reason_id?: string, note?: string, token?: string): Promise<{
73
- success: boolean;
74
- error: string;
75
- data?: undefined;
76
- } | {
77
- success: boolean;
78
- data: import("medusa-services/returns").StoreReturn;
79
- error?: undefined;
80
- }>;
81
- //# sourceMappingURL=guest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guest.d.ts","sourceRoot":"","sources":["../../../src/server/guest.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAA;AAsB9B;;GAEG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAA6B,6DAO/E;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,6DAExE;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM;;aAOH,MAAM;;;GAUrD;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,6DAGlD;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,6DAe9D;AAED,wBAAsB,WAAW;;GAOhC;AAED,wBAAsB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM;;;;;;;;GAclD;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;;;;;;;;GAkB7D;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;;;;;;GAcrE;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;;;;;;;;;;;;;GAczE;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;;;;;;;;GAqBjE;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,eAAe,EAAE,EACxB,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM;;;;;;;;GAef"}
@@ -1,183 +0,0 @@
1
- "use server";
2
- import { medusaGuestOrderCancelSimple, medusaGuestOrderInvoice, medusaGuestOrderList, medusaGuestOrderRetrieve, medusaGuestOtpRequest, medusaGuestOtpVerify, } from "medusa-services/guest";
3
- import { medusaGuestOrderReorder } from "medusa-services/orders";
4
- import { medusaReturnCreateGuest } from "medusa-services/returns";
5
- import { cookies, headers } from "next/headers";
6
- import { getStoreClientOptions, getStoreClientOptionsWithToken, } from "../util/store-client";
7
- import { retrieveOrder } from "./orders";
8
- async function resolveGuestToken(token) {
9
- if (token)
10
- return token;
11
- const headersStore = await headers();
12
- const authHeader = headersStore.get("authorization");
13
- const headerToken = authHeader?.startsWith("Bearer ") ? authHeader.split(" ")[1] : undefined;
14
- if (headerToken)
15
- return headerToken;
16
- const cookieStore = await cookies();
17
- return cookieStore.get("_medusa_guest_jwt")?.value ?? null;
18
- }
19
- /**
20
- * Compatibility wrapper for sendOTP
21
- */
22
- export async function sendOTP(email, type = "email_verification") {
23
- const options = await getStoreClientOptions();
24
- const res = await medusaGuestOtpRequest(email, options);
25
- if (res.success) {
26
- return { success: true, token: "otp_sent_successfully" };
27
- }
28
- return res;
29
- }
30
- /**
31
- * Compatibility wrapper for verifyOTP
32
- */
33
- export async function verifyOTP(email, token, otp) {
34
- return verifyGuestOTP(email, otp);
35
- }
36
- /**
37
- * Compatibility wrapper for listGuestOrders
38
- */
39
- export async function listGuestOrders(token) {
40
- const res = await getGuestOrders(token);
41
- if (!res.success) {
42
- throw new Error(res.error || "Failed to fetch orders");
43
- }
44
- const fullOrders = await Promise.all((res.orders || []).map(async (order) => {
45
- try {
46
- return await retrieveOrder(order.id);
47
- }
48
- catch {
49
- return order;
50
- }
51
- }));
52
- return { orders: fullOrders, count: fullOrders.length };
53
- }
54
- export async function requestGuestOTP(email) {
55
- const options = await getStoreClientOptions();
56
- return medusaGuestOtpRequest(email, options);
57
- }
58
- export async function verifyGuestOTP(email, otp) {
59
- const options = await getStoreClientOptions();
60
- const res = await medusaGuestOtpVerify(email, otp, options);
61
- if (res.success && res.token) {
62
- const cookieStore = await cookies();
63
- cookieStore.set("_medusa_guest_jwt", res.token, {
64
- httpOnly: true,
65
- secure: process.env.NODE_ENV === "production",
66
- maxAge: 60 * 60 * 24,
67
- path: "/",
68
- });
69
- }
70
- return res;
71
- }
72
- export async function logoutGuest() {
73
- const cookieStore = await cookies();
74
- cookieStore.set("_medusa_guest_jwt", "", {
75
- maxAge: -1,
76
- path: "/",
77
- });
78
- return { success: true };
79
- }
80
- export async function getGuestOrders(token) {
81
- const authToken = await resolveGuestToken(token);
82
- if (!authToken)
83
- return { success: false, error: "Unauthorized" };
84
- try {
85
- const options = await getStoreClientOptions();
86
- const response = await medusaGuestOrderList(authToken, options);
87
- return { success: true, orders: response.orders || [] };
88
- }
89
- catch (error) {
90
- return {
91
- success: false,
92
- error: error instanceof Error ? error.message : String(error),
93
- };
94
- }
95
- }
96
- export async function getGuestOrder(id, token) {
97
- const authToken = await resolveGuestToken(token);
98
- if (!authToken)
99
- return { success: false, error: "Unauthorized" };
100
- try {
101
- const options = await getStoreClientOptions();
102
- const response = await medusaGuestOrderRetrieve(id, authToken, options);
103
- if (response.order) {
104
- return { success: true, order: response.order };
105
- }
106
- return { success: false, error: "Order not found" };
107
- }
108
- catch (error) {
109
- return {
110
- success: false,
111
- error: error instanceof Error ? error.message : String(error),
112
- };
113
- }
114
- }
115
- export async function cancelGuestOrder(orderId, token) {
116
- const authToken = await resolveGuestToken(token);
117
- if (!authToken)
118
- return { success: false, error: "Unauthorized" };
119
- try {
120
- const options = await getStoreClientOptions();
121
- await medusaGuestOrderCancelSimple(orderId, authToken, options);
122
- return { success: true };
123
- }
124
- catch (error) {
125
- return {
126
- success: false,
127
- error: error instanceof Error ? error.message : String(error),
128
- };
129
- }
130
- }
131
- export async function getGuestOrderInvoice(orderId, token) {
132
- const authToken = await resolveGuestToken(token);
133
- if (!authToken)
134
- return { success: false, error: "Unauthorized" };
135
- try {
136
- const options = await getStoreClientOptions();
137
- const result = await medusaGuestOrderInvoice(orderId, authToken, options);
138
- return { success: true, ...result };
139
- }
140
- catch (error) {
141
- return {
142
- success: false,
143
- error: error instanceof Error ? error.message : String(error),
144
- };
145
- }
146
- }
147
- export async function guestReorder(orderId, token) {
148
- const authToken = await resolveGuestToken(token);
149
- if (!authToken)
150
- return { success: false, error: "Unauthorized" };
151
- try {
152
- const options = await getStoreClientOptionsWithToken(authToken);
153
- const result = await medusaGuestOrderReorder(orderId, options);
154
- if (!result.ok) {
155
- throw new Error(typeof result.data.message === "string"
156
- ? result.data.message
157
- : "Failed to reorder");
158
- }
159
- return { success: true, data: result.data };
160
- }
161
- catch (error) {
162
- return {
163
- success: false,
164
- error: error instanceof Error ? error.message : String(error),
165
- };
166
- }
167
- }
168
- export async function createGuestReturn(orderId, items, reason_id, note, token) {
169
- const authToken = await resolveGuestToken(token);
170
- if (!authToken)
171
- return { success: false, error: "Unauthorized" };
172
- try {
173
- const options = await getStoreClientOptionsWithToken(authToken);
174
- const data = await medusaReturnCreateGuest(orderId, { items, reason_id, note }, options);
175
- return { success: true, data };
176
- }
177
- catch (error) {
178
- return {
179
- success: false,
180
- error: error instanceof Error ? error.message : String(error),
181
- };
182
- }
183
- }
@@ -1,9 +0,0 @@
1
- import "server-only";
2
- import { getHomeSectionsCopyFromPageInput, type AboutBrandConfig } from "../dynamic-config";
3
- import type { SectionLoaderOptions } from "./shared";
4
- export type AboutBrandSectionData = {
5
- aboutBrand: AboutBrandConfig;
6
- copy: ReturnType<typeof getHomeSectionsCopyFromPageInput>["aboutBrand"];
7
- };
8
- export declare function loadAboutBrandSectionData(_countryCode: string, options?: SectionLoaderOptions): Promise<AboutBrandSectionData>;
9
- //# sourceMappingURL=about-brand.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"about-brand.d.ts","sourceRoot":"","sources":["../../../../src/server/home-sections/about-brand.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAEL,gCAAgC,EAChC,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAEpD,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,gBAAgB,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAC,OAAO,gCAAgC,CAAC,CAAC,YAAY,CAAC,CAAA;CACxE,CAAA;AAED,wBAAsB,yBAAyB,CAC7C,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAMhC"}
@@ -1,9 +0,0 @@
1
- import "server-only";
2
- import { getAboutBrandFromPageInput, getHomeSectionsCopyFromPageInput, } from "../dynamic-config";
3
- export async function loadAboutBrandSectionData(_countryCode, options) {
4
- const pageInput = options?.pageInput ?? null;
5
- return {
6
- aboutBrand: getAboutBrandFromPageInput(pageInput),
7
- copy: getHomeSectionsCopyFromPageInput(pageInput).aboutBrand,
8
- };
9
- }
@@ -1,10 +0,0 @@
1
- import "server-only";
2
- import { getHomeSectionsCopyFromPageInput } from "../dynamic-config";
3
- import { type ShoppableLook } from "../shoppable-looks";
4
- import { type SectionLoaderOptions } from "./shared";
5
- export type BaptismPicksSectionData = {
6
- baptismPicks: ShoppableLook[];
7
- copy: ReturnType<typeof getHomeSectionsCopyFromPageInput>["baptismPicks"];
8
- };
9
- export declare function loadBaptismPicksSectionData(countryCode: string, options?: SectionLoaderOptions): Promise<BaptismPicksSectionData | null>;
10
- //# sourceMappingURL=baptism-picks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baptism-picks.d.ts","sourceRoot":"","sources":["../../../../src/server/home-sections/baptism-picks.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAGpB,OAAO,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAA;AAGpE,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAA;AAEjB,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,EAAE,aAAa,EAAE,CAAA;IAC7B,IAAI,EAAE,UAAU,CAAC,OAAO,gCAAgC,CAAC,CAAC,cAAc,CAAC,CAAA;CAC1E,CAAA;AAED,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAuBzC"}
@@ -1,27 +0,0 @@
1
- import "server-only";
2
- import { getHomeSectionsCopyFromPageInput } from "../dynamic-config";
3
- import { listCategories } from "../categories";
4
- import { getProductsByTag } from "../products";
5
- import { getBaptismPicksLooks } from "../shoppable-looks";
6
- import { categoryIdsMatching, productsForCategoryIds, requireRegion, } from "./shared";
7
- export async function loadBaptismPicksSectionData(countryCode, options) {
8
- const region = await requireRegion(countryCode);
9
- if (!region)
10
- return null;
11
- const pageInput = options?.pageInput ?? null;
12
- const [categoriesResult, baptismByTag] = await Promise.all([
13
- listCategories({ limit: 100 }).catch(() => []),
14
- getProductsByTag({ tagValue: "baptism", limit: 12, countryCode }).catch(() => []),
15
- ]);
16
- const categories = (categoriesResult ?? []);
17
- const baptismIds = categoryIdsMatching(categories, /baptism/);
18
- let baptismFallback = baptismByTag;
19
- if (baptismIds.length > 0) {
20
- baptismFallback = await productsForCategoryIds(countryCode, baptismIds, 12);
21
- }
22
- const baptismPicks = await getBaptismPicksLooks(countryCode, baptismFallback.slice(0, 8), pageInput);
23
- return {
24
- baptismPicks,
25
- copy: getHomeSectionsCopyFromPageInput(pageInput).baptismPicks,
26
- };
27
- }
@@ -1,13 +0,0 @@
1
- import "server-only";
2
- import { HttpTypes } from "@medusajs/types";
3
- import { getHomeSectionsCopyFromPageInput } from "../dynamic-config";
4
- import { requireRegion, type SectionLoaderOptions } from "./shared";
5
- export type BaptismSectionData = {
6
- region: NonNullable<Awaited<ReturnType<typeof requireRegion>>>;
7
- baptismGirl: HttpTypes.StoreProduct[];
8
- baptismBoy: HttpTypes.StoreProduct[];
9
- ratings: unknown[];
10
- copy: ReturnType<typeof getHomeSectionsCopyFromPageInput>["baptism"];
11
- };
12
- export declare function loadBaptismSectionData(countryCode: string, options?: SectionLoaderOptions): Promise<BaptismSectionData | null>;
13
- //# sourceMappingURL=baptism.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baptism.d.ts","sourceRoot":"","sources":["../../../../src/server/home-sections/baptism.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAA;AAGpE,OAAO,EAGL,aAAa,EACb,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAA;AAEjB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAA;IAC9D,WAAW,EAAE,SAAS,CAAC,YAAY,EAAE,CAAA;IACrC,UAAU,EAAE,SAAS,CAAC,YAAY,EAAE,CAAA;IACpC,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,IAAI,EAAE,UAAU,CAAC,OAAO,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAA;CACrE,CAAA;AAED,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAsCpC"}
@@ -1,43 +0,0 @@
1
- import "server-only";
2
- import { fetchRatings } from "medusa-reviews-logic/server";
3
- import { getHomeSectionsCopyFromPageInput } from "../dynamic-config";
4
- import { listCategories } from "../categories";
5
- import { getProductsByTag } from "../products";
6
- import { categoryIdsMatching, productsForCategoryIds, requireRegion, } from "./shared";
7
- export async function loadBaptismSectionData(countryCode, options) {
8
- const region = await requireRegion(countryCode);
9
- if (!region)
10
- return null;
11
- const ratings = await fetchRatings();
12
- const pageInput = options?.pageInput ?? null;
13
- const [categoriesResult, baptismByTag] = await Promise.all([
14
- listCategories({ limit: 100 }).catch(() => []),
15
- getProductsByTag({ tagValue: "baptism", limit: 12, countryCode }).catch(() => []),
16
- ]);
17
- const categories = (categoriesResult ?? []);
18
- const girlIds = categoryIdsMatching(categories, /baptism.*girl|girl.*baptism|^girl$/);
19
- const boyIds = categoryIdsMatching(categories, /baptism.*boy|boy.*baptism|^boy$/);
20
- const baptismIds = categoryIdsMatching(categories, /baptism/);
21
- const [baptismGirl, baptismBoy] = await Promise.all([
22
- girlIds.length
23
- ? productsForCategoryIds(countryCode, girlIds, 8)
24
- : baptismByTag.filter((p) => /girl/i.test(p.title || "")).slice(0, 8),
25
- boyIds.length
26
- ? productsForCategoryIds(countryCode, boyIds, 8)
27
- : baptismByTag.filter((p) => /boy/i.test(p.title || "")).slice(0, 8),
28
- ]);
29
- let baptismFallback = [];
30
- if (baptismGirl.length === 0 && baptismBoy.length === 0) {
31
- baptismFallback =
32
- baptismIds.length > 0
33
- ? await productsForCategoryIds(countryCode, baptismIds, 12)
34
- : baptismByTag;
35
- }
36
- return {
37
- region,
38
- baptismGirl: baptismGirl.length > 0 ? baptismGirl : baptismFallback.slice(0, 8),
39
- baptismBoy: baptismBoy.length > 0 ? baptismBoy : baptismFallback.slice(0, 8),
40
- ratings: ratings ?? [],
41
- copy: getHomeSectionsCopyFromPageInput(pageInput).baptism,
42
- };
43
- }
@@ -1,9 +0,0 @@
1
- import "server-only";
2
- import { getBlogPostsFromPageInput, getHomeSectionsCopyFromPageInput } from "../dynamic-config";
3
- import type { SectionLoaderOptions } from "./shared";
4
- export type BlogPostsSectionData = {
5
- blogPosts: ReturnType<typeof getBlogPostsFromPageInput>;
6
- copy: ReturnType<typeof getHomeSectionsCopyFromPageInput>["blogPosts"];
7
- };
8
- export declare function loadBlogPostsSectionData(_countryCode: string, options?: SectionLoaderOptions): Promise<BlogPostsSectionData>;
9
- //# sourceMappingURL=blog-posts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blog-posts.d.ts","sourceRoot":"","sources":["../../../../src/server/home-sections/blog-posts.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EACL,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAEpD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;IACvD,IAAI,EAAE,UAAU,CAAC,OAAO,gCAAgC,CAAC,CAAC,WAAW,CAAC,CAAA;CACvE,CAAA;AAED,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAM/B"}
@@ -1,9 +0,0 @@
1
- import "server-only";
2
- import { getBlogPostsFromPageInput, getHomeSectionsCopyFromPageInput, } from "../dynamic-config";
3
- export async function loadBlogPostsSectionData(_countryCode, options) {
4
- const pageInput = options?.pageInput ?? null;
5
- return {
6
- blogPosts: getBlogPostsFromPageInput(pageInput),
7
- copy: getHomeSectionsCopyFromPageInput(pageInput).blogPosts,
8
- };
9
- }
@@ -1,8 +0,0 @@
1
- import "server-only";
2
- import { getHomeSectionsCopyFromPageInput } from "../dynamic-config";
3
- import type { SectionLoaderOptions } from "./shared";
4
- export type BrandMarqueeSectionData = {
5
- copy: ReturnType<typeof getHomeSectionsCopyFromPageInput>["brandMarquee"];
6
- };
7
- export declare function loadBrandMarqueeSectionData(_countryCode: string, options?: SectionLoaderOptions): Promise<BrandMarqueeSectionData>;
8
- //# sourceMappingURL=brand-marquee.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"brand-marquee.d.ts","sourceRoot":"","sources":["../../../../src/server/home-sections/brand-marquee.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAEpD,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,UAAU,CAAC,OAAO,gCAAgC,CAAC,CAAC,cAAc,CAAC,CAAA;CAC1E,CAAA;AAED,wBAAsB,2BAA2B,CAC/C,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,uBAAuB,CAAC,CAIlC"}
@@ -1,7 +0,0 @@
1
- import "server-only";
2
- import { getHomeSectionsCopyFromPageInput } from "../dynamic-config";
3
- export async function loadBrandMarqueeSectionData(_countryCode, options) {
4
- return {
5
- copy: getHomeSectionsCopyFromPageInput(options?.pageInput ?? null).brandMarquee,
6
- };
7
- }
@@ -1,9 +0,0 @@
1
- import "server-only";
2
- import { getBrandPillarsFromPageInput, getHomeSectionsCopyFromPageInput } from "../dynamic-config";
3
- import type { SectionLoaderOptions } from "./shared";
4
- export type BrandPillarsSectionData = {
5
- brandPillars: ReturnType<typeof getBrandPillarsFromPageInput>;
6
- copy: ReturnType<typeof getHomeSectionsCopyFromPageInput>["brandPillars"];
7
- };
8
- export declare function loadBrandPillarsSectionData(_countryCode: string, options?: SectionLoaderOptions): Promise<BrandPillarsSectionData>;
9
- //# sourceMappingURL=brand-pillars.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"brand-pillars.d.ts","sourceRoot":"","sources":["../../../../src/server/home-sections/brand-pillars.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,EACjC,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAEpD,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAA;IAC7D,IAAI,EAAE,UAAU,CAAC,OAAO,gCAAgC,CAAC,CAAC,cAAc,CAAC,CAAA;CAC1E,CAAA;AAED,wBAAsB,2BAA2B,CAC/C,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,uBAAuB,CAAC,CAMlC"}
@@ -1,9 +0,0 @@
1
- import "server-only";
2
- import { getBrandPillarsFromPageInput, getHomeSectionsCopyFromPageInput, } from "../dynamic-config";
3
- export async function loadBrandPillarsSectionData(_countryCode, options) {
4
- const pageInput = options?.pageInput ?? null;
5
- return {
6
- brandPillars: getBrandPillarsFromPageInput(pageInput),
7
- copy: getHomeSectionsCopyFromPageInput(pageInput).brandPillars,
8
- };
9
- }
@@ -1,9 +0,0 @@
1
- import "server-only";
2
- import { HttpTypes } from "@medusajs/types";
3
- import type { SectionLoaderOptions } from "./shared";
4
- export type CategoryPillsSectionData = {
5
- categories: HttpTypes.StoreProductCategory[];
6
- collections: Array<Record<string, unknown>>;
7
- };
8
- export declare function loadCategoryPillsSectionData(_countryCode: string, _options?: SectionLoaderOptions): Promise<CategoryPillsSectionData>;
9
- //# sourceMappingURL=category-pills.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"category-pills.d.ts","sourceRoot":"","sources":["../../../../src/server/home-sections/category-pills.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAEpD,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,SAAS,CAAC,oBAAoB,EAAE,CAAA;IAC5C,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAC5C,CAAA;AAED,wBAAsB,4BAA4B,CAChD,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CAgBnC"}
@@ -1,19 +0,0 @@
1
- import "server-only";
2
- import { listCategories } from "../categories";
3
- import { listCollections } from "../collections";
4
- export async function loadCategoryPillsSectionData(_countryCode, _options) {
5
- const [categoriesResult, collectionsResult] = await Promise.all([
6
- listCategories({
7
- limit: 100,
8
- fields: "id,handle,name,metadata,parent_category_id,*parent_category,*parent_category.parent_category",
9
- }).catch(() => []),
10
- listCollections({ fields: "id, handle, title, metadata" }).catch(() => ({
11
- collections: [],
12
- })),
13
- ]);
14
- return {
15
- categories: (categoriesResult ?? []),
16
- collections: (collectionsResult.collections ??
17
- []),
18
- };
19
- }
@@ -1,12 +0,0 @@
1
- import "server-only";
2
- import { HttpTypes } from "@medusajs/types";
3
- import { getHomeSectionsCopyFromPageInput } from "../dynamic-config";
4
- import { getRegion } from "../regions";
5
- import type { SectionLoaderOptions } from "./shared";
6
- export type CelebrityTrustSectionData = {
7
- region: NonNullable<Awaited<ReturnType<typeof getRegion>>>;
8
- celebrityProduct: HttpTypes.StoreProduct | null;
9
- copy: ReturnType<typeof getHomeSectionsCopyFromPageInput>["celebrityTrust"];
10
- };
11
- export declare function loadCelebrityTrustSectionData(countryCode: string, options?: SectionLoaderOptions): Promise<CelebrityTrustSectionData | null>;
12
- //# sourceMappingURL=celebrity-trust.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"celebrity-trust.d.ts","sourceRoot":"","sources":["../../../../src/server/home-sections/celebrity-trust.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAA;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAEpD,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAA;IAC1D,gBAAgB,EAAE,SAAS,CAAC,YAAY,GAAG,IAAI,CAAA;IAC/C,IAAI,EAAE,UAAU,CAAC,OAAO,gCAAgC,CAAC,CAAC,gBAAgB,CAAC,CAAA;CAC5E,CAAA;AAED,wBAAsB,6BAA6B,CACjD,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAwB3C"}
@@ -1,27 +0,0 @@
1
- import "server-only";
2
- import { getHomeSectionsCopyFromPageInput } from "../dynamic-config";
3
- import { getProductsByTag, listProductsWithSort } from "../products";
4
- import { getRegion } from "../regions";
5
- export async function loadCelebrityTrustSectionData(countryCode, options) {
6
- const region = await getRegion(countryCode);
7
- if (!region)
8
- return null;
9
- const pageInput = options?.pageInput ?? null;
10
- const [bestsellers, newArrivalsResult] = await Promise.all([
11
- getProductsByTag({ tagValue: "bestseller", limit: 10, countryCode }).catch(() => []),
12
- listProductsWithSort({
13
- page: 1,
14
- queryParams: { limit: 12 },
15
- sortBy: "created_at",
16
- countryCode,
17
- }).catch(() => ({ response: { products: [] } })),
18
- ]);
19
- const newArrivals = newArrivalsResult
20
- .response?.products ?? [];
21
- const bestsellerList = (bestsellers ?? []);
22
- return {
23
- region,
24
- celebrityProduct: bestsellerList[0] ?? newArrivals[0] ?? null,
25
- copy: getHomeSectionsCopyFromPageInput(pageInput).celebrityTrust,
26
- };
27
- }
@@ -1,9 +0,0 @@
1
- import "server-only";
2
- import { getHomeSectionsCopyFromPageInput, getTrustFeaturesFromPageInput } from "../dynamic-config";
3
- import type { SectionLoaderOptions } from "./shared";
4
- export type FeaturesSectionData = {
5
- trustFeatures: ReturnType<typeof getTrustFeaturesFromPageInput>;
6
- copy: ReturnType<typeof getHomeSectionsCopyFromPageInput>["features"];
7
- };
8
- export declare function loadFeaturesSectionData(_countryCode: string, options?: SectionLoaderOptions): Promise<FeaturesSectionData>;
9
- //# sourceMappingURL=features.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../../../src/server/home-sections/features.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC9B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAEpD,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAA;IAC/D,IAAI,EAAE,UAAU,CAAC,OAAO,gCAAgC,CAAC,CAAC,UAAU,CAAC,CAAA;CACtE,CAAA;AAED,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAM9B"}
@@ -1,9 +0,0 @@
1
- import "server-only";
2
- import { getHomeSectionsCopyFromPageInput, getTrustFeaturesFromPageInput, } from "../dynamic-config";
3
- export async function loadFeaturesSectionData(_countryCode, options) {
4
- const pageInput = options?.pageInput ?? null;
5
- return {
6
- trustFeatures: getTrustFeaturesFromPageInput(pageInput),
7
- copy: getHomeSectionsCopyFromPageInput(pageInput).features,
8
- };
9
- }