@enadhq/enad-react-sdk 0.0.6 → 1.0.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/package.json +70 -18
- package/dist/client/cart/components/cart-drawer.d.mts +0 -19
- package/dist/client/cart/components/cart-drawer.mjs +0 -180
- package/dist/client/cart/components/cart-drawer.mjs.map +0 -1
- package/dist/client/cart/components/cart-trigger.d.mts +0 -5
- package/dist/client/cart/components/cart-trigger.mjs +0 -18
- package/dist/client/cart/components/cart-trigger.mjs.map +0 -1
- package/dist/client/cart/constants/session.d.mts +0 -3
- package/dist/client/cart/constants/session.mjs +0 -5
- package/dist/client/cart/constants/session.mjs.map +0 -1
- package/dist/client/cart/contexts/cart.d.mts +0 -27
- package/dist/client/cart/contexts/cart.mjs +0 -22
- package/dist/client/cart/contexts/cart.mjs.map +0 -1
- package/dist/client/cart/hooks/useCart.d.mts +0 -29
- package/dist/client/cart/hooks/useCart.mjs +0 -26
- package/dist/client/cart/hooks/useCart.mjs.map +0 -1
- package/dist/client/cart/hooks/useCartActions.d.mts +0 -26
- package/dist/client/cart/hooks/useCartActions.mjs +0 -58
- package/dist/client/cart/hooks/useCartActions.mjs.map +0 -1
- package/dist/client/cart/queries/addToCartQueryFn.d.mts +0 -10
- package/dist/client/cart/queries/addToCartQueryFn.mjs +0 -27
- package/dist/client/cart/queries/addToCartQueryFn.mjs.map +0 -1
- package/dist/client/cart/queries/getCartQueryFn.d.mts +0 -7
- package/dist/client/cart/queries/getCartQueryFn.mjs +0 -34
- package/dist/client/cart/queries/getCartQueryFn.mjs.map +0 -1
- package/dist/client/cart/queries/removeCartItemQueryFn.d.mts +0 -9
- package/dist/client/cart/queries/removeCartItemQueryFn.mjs +0 -24
- package/dist/client/cart/queries/removeCartItemQueryFn.mjs.map +0 -1
- package/dist/client/cart/queries/updateCartItemQueryFn.d.mts +0 -10
- package/dist/client/cart/queries/updateCartItemQueryFn.mjs +0 -27
- package/dist/client/cart/queries/updateCartItemQueryFn.mjs.map +0 -1
- package/dist/client/cart/types/cart.d.mts +0 -36
- package/dist/client/cart/types/cart.mjs +0 -1
- package/dist/client/cart/types/cart.mjs.map +0 -1
- package/dist/client/cart/utils/session.d.mts +0 -6
- package/dist/client/cart/utils/session.mjs +0 -21
- package/dist/client/cart/utils/session.mjs.map +0 -1
- package/dist/client/cms/storyblok/preview/registerStoryblokBridge.d.mts +0 -6
- package/dist/client/cms/storyblok/preview/registerStoryblokBridge.mjs +0 -24
- package/dist/client/cms/storyblok/preview/registerStoryblokBridge.mjs.map +0 -1
- package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.d.mts +0 -22
- package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.mjs +0 -79
- package/dist/client/cms/storyblok/preview/storyblok-preview-syncer.mjs.map +0 -1
- package/dist/client/global/auth/withAuth.d.mts +0 -6
- package/dist/client/global/auth/withAuth.mjs +0 -25
- package/dist/client/global/auth/withAuth.mjs.map +0 -1
- package/dist/client/global/config/index.d.mts +0 -17
- package/dist/client/global/config/index.mjs +0 -34
- package/dist/client/global/config/index.mjs.map +0 -1
- package/dist/client/global/constants/tags.d.mts +0 -16
- package/dist/client/global/constants/tags.mjs +0 -18
- package/dist/client/global/constants/tags.mjs.map +0 -1
- package/dist/client/global/providers/enad-provider.d.mts +0 -23
- package/dist/client/global/providers/enad-provider.mjs +0 -11
- package/dist/client/global/providers/enad-provider.mjs.map +0 -1
- package/dist/client/search/actions/searchAction.d.mts +0 -5
- package/dist/client/search/actions/searchAction.mjs +0 -18
- package/dist/client/search/actions/searchAction.mjs.map +0 -1
- package/dist/client/search/components/search-bar.d.mts +0 -2
- package/dist/client/search/components/search-bar.mjs +0 -1
- package/dist/client/search/components/search-bar.mjs.map +0 -1
- package/dist/client/search/hooks/useSearch.d.mts +0 -18
- package/dist/client/search/hooks/useSearch.mjs +0 -37
- package/dist/client/search/hooks/useSearch.mjs.map +0 -1
- package/dist/client/user/actions/createResetPasswordLinkAction.d.mts +0 -14
- package/dist/client/user/actions/createResetPasswordLinkAction.mjs +0 -30
- package/dist/client/user/actions/createResetPasswordLinkAction.mjs.map +0 -1
- package/dist/client/user/actions/getUserAction.d.mts +0 -5
- package/dist/client/user/actions/getUserAction.mjs +0 -19
- package/dist/client/user/actions/getUserAction.mjs.map +0 -1
- package/dist/client/user/actions/logInUserAction.d.mts +0 -15
- package/dist/client/user/actions/logInUserAction.mjs +0 -34
- package/dist/client/user/actions/logInUserAction.mjs.map +0 -1
- package/dist/client/user/actions/logoutUserAction.d.mts +0 -3
- package/dist/client/user/actions/logoutUserAction.mjs +0 -10
- package/dist/client/user/actions/logoutUserAction.mjs.map +0 -1
- package/dist/client/user/actions/registerOrganisationAction.d.mts +0 -12
- package/dist/client/user/actions/registerOrganisationAction.mjs +0 -18
- package/dist/client/user/actions/registerOrganisationAction.mjs.map +0 -1
- package/dist/client/user/actions/registerUserAction.d.mts +0 -18
- package/dist/client/user/actions/registerUserAction.mjs +0 -42
- package/dist/client/user/actions/registerUserAction.mjs.map +0 -1
- package/dist/client/user/actions/registerUserWithoutRedirectAction.d.mts +0 -44
- package/dist/client/user/actions/registerUserWithoutRedirectAction.mjs +0 -58
- package/dist/client/user/actions/registerUserWithoutRedirectAction.mjs.map +0 -1
- package/dist/client/user/actions/updatePasswordAction.d.mts +0 -21
- package/dist/client/user/actions/updatePasswordAction.mjs +0 -37
- package/dist/client/user/actions/updatePasswordAction.mjs.map +0 -1
- package/dist/client/user/api/userRoute.d.mts +0 -9
- package/dist/client/user/api/userRoute.mjs +0 -65
- package/dist/client/user/api/userRoute.mjs.map +0 -1
- package/dist/client/user/clients/enad.d.mts +0 -6
- package/dist/client/user/clients/enad.mjs +0 -19
- package/dist/client/user/clients/enad.mjs.map +0 -1
- package/dist/client/user/components/login-form.d.mts +0 -20
- package/dist/client/user/components/login-form.mjs +0 -113
- package/dist/client/user/components/login-form.mjs.map +0 -1
- package/dist/client/user/components/reset-password-form.d.mts +0 -15
- package/dist/client/user/components/reset-password-form.mjs +0 -86
- package/dist/client/user/components/reset-password-form.mjs.map +0 -1
- package/dist/client/user/components/sign-out.d.mts +0 -5
- package/dist/client/user/components/sign-out.mjs +0 -23
- package/dist/client/user/components/sign-out.mjs.map +0 -1
- package/dist/client/user/components/signup-form.d.mts +0 -15
- package/dist/client/user/components/signup-form.mjs +0 -155
- package/dist/client/user/components/signup-form.mjs.map +0 -1
- package/dist/client/user/components/signup-organisation-form.d.mts +0 -20
- package/dist/client/user/components/signup-organisation-form.mjs +0 -813
- package/dist/client/user/components/signup-organisation-form.mjs.map +0 -1
- package/dist/client/user/components/update-password-form.d.mts +0 -11
- package/dist/client/user/components/update-password-form.mjs +0 -69
- package/dist/client/user/components/update-password-form.mjs.map +0 -1
- package/dist/client/user/hooks/index.d.mts +0 -3
- package/dist/client/user/hooks/index.mjs +0 -2
- package/dist/client/user/hooks/index.mjs.map +0 -1
- package/dist/client/user/hooks/useUser.d.mts +0 -16
- package/dist/client/user/hooks/useUser.mjs +0 -32
- package/dist/client/user/hooks/useUser.mjs.map +0 -1
- package/dist/client/user/types/user.d.mts +0 -202
- package/dist/client/user/types/user.mjs +0 -1
- package/dist/client/user/types/user.mjs.map +0 -1
- package/dist/client/user/utils/userCookieService.d.mts +0 -20
- package/dist/client/user/utils/userCookieService.mjs +0 -51
- package/dist/client/user/utils/userCookieService.mjs.map +0 -1
- package/dist/client/wishlist/actions/addItemsToWishlistAction.d.mts +0 -7
- package/dist/client/wishlist/actions/addItemsToWishlistAction.mjs +0 -20
- package/dist/client/wishlist/actions/addItemsToWishlistAction.mjs.map +0 -1
- package/dist/client/wishlist/actions/createOrGetShareTokenAction.d.mts +0 -6
- package/dist/client/wishlist/actions/createOrGetShareTokenAction.mjs +0 -20
- package/dist/client/wishlist/actions/createOrGetShareTokenAction.mjs.map +0 -1
- package/dist/client/wishlist/actions/createWishlistAction.d.mts +0 -6
- package/dist/client/wishlist/actions/createWishlistAction.mjs +0 -16
- package/dist/client/wishlist/actions/createWishlistAction.mjs.map +0 -1
- package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.d.mts +0 -7
- package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.mjs +0 -20
- package/dist/client/wishlist/actions/deleteItemsFromWishlistAction.mjs.map +0 -1
- package/dist/client/wishlist/actions/deleteWishlistAction.d.mts +0 -5
- package/dist/client/wishlist/actions/deleteWishlistAction.mjs +0 -16
- package/dist/client/wishlist/actions/deleteWishlistAction.mjs.map +0 -1
- package/dist/client/wishlist/actions/getSharedWishlistAction.d.mts +0 -6
- package/dist/client/wishlist/actions/getSharedWishlistAction.mjs +0 -20
- package/dist/client/wishlist/actions/getSharedWishlistAction.mjs.map +0 -1
- package/dist/client/wishlist/actions/getSpecificWishlistAction.d.mts +0 -6
- package/dist/client/wishlist/actions/getSpecificWishlistAction.mjs +0 -20
- package/dist/client/wishlist/actions/getSpecificWishlistAction.mjs.map +0 -1
- package/dist/client/wishlist/actions/getUserWishlists.d.mts +0 -7
- package/dist/client/wishlist/actions/getUserWishlists.mjs +0 -25
- package/dist/client/wishlist/actions/getUserWishlists.mjs.map +0 -1
- package/dist/client/wishlist/actions/revokeShareTokenAction.d.mts +0 -5
- package/dist/client/wishlist/actions/revokeShareTokenAction.mjs +0 -20
- package/dist/client/wishlist/actions/revokeShareTokenAction.mjs.map +0 -1
- package/dist/client/wishlist/actions/updateWishlistAction.d.mts +0 -6
- package/dist/client/wishlist/actions/updateWishlistAction.mjs +0 -20
- package/dist/client/wishlist/actions/updateWishlistAction.mjs.map +0 -1
- package/dist/client/wishlist/hooks/index.d.mts +0 -3
- package/dist/client/wishlist/hooks/index.mjs +0 -2
- package/dist/client/wishlist/hooks/index.mjs.map +0 -1
- package/dist/client/wishlist/hooks/useWishlist.d.mts +0 -98
- package/dist/client/wishlist/hooks/useWishlist.mjs +0 -66
- package/dist/client/wishlist/hooks/useWishlist.mjs.map +0 -1
- package/dist/client/wishlist/hooks/useWishlistActions.d.mts +0 -48
- package/dist/client/wishlist/hooks/useWishlistActions.mjs +0 -101
- package/dist/client/wishlist/hooks/useWishlistActions.mjs.map +0 -1
- package/dist/client/wishlist/wishlist-drawer.d.mts +0 -19
- package/dist/client/wishlist/wishlist-drawer.mjs +0 -180
- package/dist/client/wishlist/wishlist-drawer.mjs.map +0 -1
- package/dist/styles.css +0 -959
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { CART_SESSION_KEY } from "../constants/session";
|
|
2
|
-
import { getCartSession } from "../utils/session";
|
|
3
|
-
const addToCartQueryFn = (brinkConfig) => {
|
|
4
|
-
const { env } = brinkConfig;
|
|
5
|
-
return async ({
|
|
6
|
-
productVariantId,
|
|
7
|
-
quantity = 1
|
|
8
|
-
}) => {
|
|
9
|
-
const baseUrl = `https://shopper.eu-west-1.${env}.brinkcommerce.io`;
|
|
10
|
-
const res = await fetch(`${baseUrl}/shopper/sessions/items`, {
|
|
11
|
-
method: "POST",
|
|
12
|
-
headers: {
|
|
13
|
-
Authorization: `Bearer ${getCartSession()}`,
|
|
14
|
-
"Content-Type": "application/json"
|
|
15
|
-
},
|
|
16
|
-
body: JSON.stringify({ productVariantId, quantity })
|
|
17
|
-
});
|
|
18
|
-
if (!res.ok) throw new Error("Failed to add item to cart");
|
|
19
|
-
const data = await res.json();
|
|
20
|
-
localStorage.setItem(CART_SESSION_KEY, data.token);
|
|
21
|
-
return data;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
export {
|
|
25
|
-
addToCartQueryFn
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=addToCartQueryFn.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/client/cart/queries/addToCartQueryFn.tsx"],"sourcesContent":["import { BrinkConfig } from \"../contexts/cart\"\nimport { CART_SESSION_KEY } from \"../constants/session\"\nimport { getCartSession } from \"../utils/session\"\nimport { CartResponse } from \"../types/cart\"\n\nexport const addToCartQueryFn = (brinkConfig: BrinkConfig) => {\n const { env } = brinkConfig\n\n return async ({\n productVariantId,\n quantity = 1,\n }: {\n productVariantId: string\n quantity?: number\n }): Promise<CartResponse> => {\n const baseUrl = `https://shopper.eu-west-1.${env}.brinkcommerce.io`\n\n const res = await fetch(`${baseUrl}/shopper/sessions/items`, {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${getCartSession()}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ productVariantId, quantity }),\n })\n\n if (!res.ok) throw new Error(\"Failed to add item to cart\")\n\n const data = (await res.json()) as CartResponse\n localStorage.setItem(CART_SESSION_KEY, data.token)\n\n return data\n }\n}\n"],"mappings":"AACA,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAGxB,MAAM,mBAAmB,CAAC,gBAA6B;AAC5D,QAAM,EAAE,IAAI,IAAI;AAEhB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA,WAAW;AAAA,EACb,MAG6B;AAC3B,UAAM,UAAU,6BAA6B,GAAG;AAEhD,UAAM,MAAM,MAAM,MAAM,GAAG,OAAO,2BAA2B;AAAA,MAC3D,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,eAAe,UAAU,eAAe,CAAC;AAAA,QACzC,gBAAgB;AAAA,MAClB;AAAA,MACA,MAAM,KAAK,UAAU,EAAE,kBAAkB,SAAS,CAAC;AAAA,IACrD,CAAC;AAED,QAAI,CAAC,IAAI,GAAI,OAAM,IAAI,MAAM,4BAA4B;AAEzD,UAAM,OAAQ,MAAM,IAAI,KAAK;AAC7B,iBAAa,QAAQ,kBAAkB,KAAK,KAAK;AAEjD,WAAO;AAAA,EACT;AACF;","names":[]}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { clearCartSession, getCartSession, hasCartSession, setCartSession } from "../utils/session";
|
|
2
|
-
const getCartQueryFn = (brinkConfig) => {
|
|
3
|
-
const { env, storeGroupId, countryCode, languageCode } = brinkConfig;
|
|
4
|
-
return async () => {
|
|
5
|
-
const baseUrl = `https://shopper.eu-west-1.${env}.brinkcommerce.io`;
|
|
6
|
-
const existingToken = hasCartSession() ? getCartSession() : null;
|
|
7
|
-
if (existingToken) {
|
|
8
|
-
const res2 = await fetch(`${baseUrl}/shopper/sessions`, {
|
|
9
|
-
headers: {
|
|
10
|
-
Authorization: `Bearer ${existingToken}`,
|
|
11
|
-
"Content-Type": "application/json"
|
|
12
|
-
},
|
|
13
|
-
cache: "no-store"
|
|
14
|
-
});
|
|
15
|
-
if (res2.ok) {
|
|
16
|
-
return await res2.json();
|
|
17
|
-
}
|
|
18
|
-
clearCartSession();
|
|
19
|
-
}
|
|
20
|
-
const res = await fetch(`${baseUrl}/shopper/sessions/start`, {
|
|
21
|
-
method: "POST",
|
|
22
|
-
headers: { "Content-Type": "application/json" },
|
|
23
|
-
body: JSON.stringify({ storeGroupId, countryCode, languageCode })
|
|
24
|
-
});
|
|
25
|
-
if (!res.ok) throw new Error("Failed to start shopper session");
|
|
26
|
-
const data = await res.json();
|
|
27
|
-
setCartSession(data.token);
|
|
28
|
-
return data;
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
export {
|
|
32
|
-
getCartQueryFn
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=getCartQueryFn.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/client/cart/queries/getCartQueryFn.tsx"],"sourcesContent":["import { BrinkConfig } from \"../contexts/cart\"\nimport { CartResponse } from \"../types/cart\"\nimport { clearCartSession, getCartSession, hasCartSession, setCartSession } from \"../utils/session\"\n\nexport const getCartQueryFn = (brinkConfig: BrinkConfig) => {\n const { env, storeGroupId, countryCode, languageCode } = brinkConfig\n\n return async (): Promise<CartResponse> => {\n const baseUrl = `https://shopper.eu-west-1.${env}.brinkcommerce.io`\n\n const existingToken = hasCartSession() ? getCartSession() : null\n\n if (existingToken) {\n const res = await fetch(`${baseUrl}/shopper/sessions`, {\n headers: {\n Authorization: `Bearer ${existingToken}`,\n \"Content-Type\": \"application/json\",\n },\n cache: \"no-store\",\n })\n\n if (res.ok) {\n return (await res.json()) as CartResponse\n }\n\n clearCartSession()\n }\n\n const res = await fetch(`${baseUrl}/shopper/sessions/start`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ storeGroupId, countryCode, languageCode }),\n })\n\n if (!res.ok) throw new Error(\"Failed to start shopper session\")\n\n const data = (await res.json()) as CartResponse\n\n setCartSession(data.token)\n\n return data\n }\n}\n"],"mappings":"AAEA,SAAS,kBAAkB,gBAAgB,gBAAgB,sBAAsB;AAE1E,MAAM,iBAAiB,CAAC,gBAA6B;AAC1D,QAAM,EAAE,KAAK,cAAc,aAAa,aAAa,IAAI;AAEzD,SAAO,YAAmC;AACxC,UAAM,UAAU,6BAA6B,GAAG;AAEhD,UAAM,gBAAgB,eAAe,IAAI,eAAe,IAAI;AAE5D,QAAI,eAAe;AACjB,YAAMA,OAAM,MAAM,MAAM,GAAG,OAAO,qBAAqB;AAAA,QACrD,SAAS;AAAA,UACP,eAAe,UAAU,aAAa;AAAA,UACtC,gBAAgB;AAAA,QAClB;AAAA,QACA,OAAO;AAAA,MACT,CAAC;AAED,UAAIA,KAAI,IAAI;AACV,eAAQ,MAAMA,KAAI,KAAK;AAAA,MACzB;AAEA,uBAAiB;AAAA,IACnB;AAEA,UAAM,MAAM,MAAM,MAAM,GAAG,OAAO,2BAA2B;AAAA,MAC3D,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,MAC9C,MAAM,KAAK,UAAU,EAAE,cAAc,aAAa,aAAa,CAAC;AAAA,IAClE,CAAC;AAED,QAAI,CAAC,IAAI,GAAI,OAAM,IAAI,MAAM,iCAAiC;AAE9D,UAAM,OAAQ,MAAM,IAAI,KAAK;AAE7B,mBAAe,KAAK,KAAK;AAEzB,WAAO;AAAA,EACT;AACF;","names":["res"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { BrinkConfig } from '../contexts/cart.mjs';
|
|
2
|
-
import { CartResponse } from '../types/cart.mjs';
|
|
3
|
-
import 'react';
|
|
4
|
-
|
|
5
|
-
declare const removeCartItemQueryFn: (brinkConfig: BrinkConfig) => ({ itemId }: {
|
|
6
|
-
itemId: string;
|
|
7
|
-
}) => Promise<CartResponse>;
|
|
8
|
-
|
|
9
|
-
export { removeCartItemQueryFn };
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { getCartSession, setCartSession } from "../utils/session";
|
|
2
|
-
const removeCartItemQueryFn = (brinkConfig) => {
|
|
3
|
-
const { env } = brinkConfig;
|
|
4
|
-
return async ({ itemId }) => {
|
|
5
|
-
const baseUrl = `https://shopper.eu-west-1.${env}.brinkcommerce.io`;
|
|
6
|
-
const res = await fetch(`${baseUrl}/shopper/sessions/items/${itemId}`, {
|
|
7
|
-
method: "DELETE",
|
|
8
|
-
headers: {
|
|
9
|
-
Authorization: `Bearer ${getCartSession()}`
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
if (!res.ok) {
|
|
13
|
-
const errorText = await res.text();
|
|
14
|
-
throw new Error(`Failed to remove cart item: ${errorText}`);
|
|
15
|
-
}
|
|
16
|
-
const data = await res.json();
|
|
17
|
-
setCartSession(data.token);
|
|
18
|
-
return data;
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
export {
|
|
22
|
-
removeCartItemQueryFn
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=removeCartItemQueryFn.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/client/cart/queries/removeCartItemQueryFn.tsx"],"sourcesContent":["import { BrinkConfig } from \"../contexts/cart\"\nimport { CartResponse } from \"../types/cart\"\nimport { getCartSession, setCartSession } from \"../utils/session\"\n\nexport const removeCartItemQueryFn = (brinkConfig: BrinkConfig) => {\n const { env } = brinkConfig\n\n return async ({ itemId }: { itemId: string }): Promise<CartResponse> => {\n const baseUrl = `https://shopper.eu-west-1.${env}.brinkcommerce.io`\n\n const res = await fetch(`${baseUrl}/shopper/sessions/items/${itemId}`, {\n method: \"DELETE\",\n headers: {\n Authorization: `Bearer ${getCartSession()}`,\n },\n })\n\n if (!res.ok) {\n const errorText = await res.text()\n throw new Error(`Failed to remove cart item: ${errorText}`)\n }\n\n const data = (await res.json()) as CartResponse\n\n // Update token in localStorage if it changed\n setCartSession(data.token)\n\n return data\n }\n}\n"],"mappings":"AAEA,SAAS,gBAAgB,sBAAsB;AAExC,MAAM,wBAAwB,CAAC,gBAA6B;AACjE,QAAM,EAAE,IAAI,IAAI;AAEhB,SAAO,OAAO,EAAE,OAAO,MAAiD;AACtE,UAAM,UAAU,6BAA6B,GAAG;AAEhD,UAAM,MAAM,MAAM,MAAM,GAAG,OAAO,2BAA2B,MAAM,IAAI;AAAA,MACrE,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,eAAe,UAAU,eAAe,CAAC;AAAA,MAC3C;AAAA,IACF,CAAC;AAED,QAAI,CAAC,IAAI,IAAI;AACX,YAAM,YAAY,MAAM,IAAI,KAAK;AACjC,YAAM,IAAI,MAAM,+BAA+B,SAAS,EAAE;AAAA,IAC5D;AAEA,UAAM,OAAQ,MAAM,IAAI,KAAK;AAG7B,mBAAe,KAAK,KAAK;AAEzB,WAAO;AAAA,EACT;AACF;","names":[]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { BrinkConfig } from '../contexts/cart.mjs';
|
|
2
|
-
import { CartResponse } from '../types/cart.mjs';
|
|
3
|
-
import 'react';
|
|
4
|
-
|
|
5
|
-
declare const updateCartItemFn: (brinkConfig: BrinkConfig) => ({ itemId, quantity, }: {
|
|
6
|
-
itemId: string;
|
|
7
|
-
quantity: number;
|
|
8
|
-
}) => Promise<CartResponse>;
|
|
9
|
-
|
|
10
|
-
export { updateCartItemFn };
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { CART_SESSION_KEY } from "../constants/session";
|
|
2
|
-
import { getCartSession } from "../utils/session";
|
|
3
|
-
const updateCartItemFn = (brinkConfig) => {
|
|
4
|
-
const { env } = brinkConfig;
|
|
5
|
-
return async ({
|
|
6
|
-
itemId,
|
|
7
|
-
quantity
|
|
8
|
-
}) => {
|
|
9
|
-
const baseUrl = `https://shopper.eu-west-1.${env}.brinkcommerce.io`;
|
|
10
|
-
const res = await fetch(`${baseUrl}/shopper/sessions/items/${itemId}`, {
|
|
11
|
-
method: "PUT",
|
|
12
|
-
headers: {
|
|
13
|
-
Authorization: `Bearer ${getCartSession()}`,
|
|
14
|
-
"Content-Type": "application/json"
|
|
15
|
-
},
|
|
16
|
-
body: JSON.stringify({ quantity })
|
|
17
|
-
});
|
|
18
|
-
if (!res.ok) throw new Error("Failed to update cart item");
|
|
19
|
-
const data = await res.json();
|
|
20
|
-
localStorage.setItem(CART_SESSION_KEY, data.token);
|
|
21
|
-
return data;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
export {
|
|
25
|
-
updateCartItemFn
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=updateCartItemQueryFn.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/client/cart/queries/updateCartItemQueryFn.tsx"],"sourcesContent":["import { BrinkConfig } from \"../contexts/cart\"\nimport { CART_SESSION_KEY } from \"../constants/session\"\nimport { getCartSession } from \"../utils/session\"\nimport { CartResponse } from \"../types/cart\"\n\nexport const updateCartItemFn = (brinkConfig: BrinkConfig) => {\n const { env } = brinkConfig\n\n return async ({\n itemId,\n quantity,\n }: {\n itemId: string\n quantity: number\n }): Promise<CartResponse> => {\n const baseUrl = `https://shopper.eu-west-1.${env}.brinkcommerce.io`\n\n const res = await fetch(`${baseUrl}/shopper/sessions/items/${itemId}`, {\n method: \"PUT\",\n headers: {\n Authorization: `Bearer ${getCartSession()}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ quantity }),\n })\n\n if (!res.ok) throw new Error(\"Failed to update cart item\")\n\n const data = (await res.json()) as CartResponse\n localStorage.setItem(CART_SESSION_KEY, data.token)\n\n return data\n }\n}\n"],"mappings":"AACA,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAGxB,MAAM,mBAAmB,CAAC,gBAA6B;AAC5D,QAAM,EAAE,IAAI,IAAI;AAEhB,SAAO,OAAO;AAAA,IACZ;AAAA,IACA;AAAA,EACF,MAG6B;AAC3B,UAAM,UAAU,6BAA6B,GAAG;AAEhD,UAAM,MAAM,MAAM,MAAM,GAAG,OAAO,2BAA2B,MAAM,IAAI;AAAA,MACrE,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,eAAe,UAAU,eAAe,CAAC;AAAA,QACzC,gBAAgB;AAAA,MAClB;AAAA,MACA,MAAM,KAAK,UAAU,EAAE,SAAS,CAAC;AAAA,IACnC,CAAC;AAED,QAAI,CAAC,IAAI,GAAI,OAAM,IAAI,MAAM,4BAA4B;AAEzD,UAAM,OAAQ,MAAM,IAAI,KAAK;AAC7B,iBAAa,QAAQ,kBAAkB,KAAK,KAAK;AAEjD,WAAO;AAAA,EACT;AACF;","names":[]}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
interface Cart {
|
|
2
|
-
id: string;
|
|
3
|
-
storeGroupId: string;
|
|
4
|
-
countryCode: string;
|
|
5
|
-
currencyCode: string;
|
|
6
|
-
languageCode: string;
|
|
7
|
-
isTaxIncludedInPrice: boolean;
|
|
8
|
-
discountCodes: string[];
|
|
9
|
-
created: string;
|
|
10
|
-
updated: string;
|
|
11
|
-
discountAmount: number;
|
|
12
|
-
revision: number;
|
|
13
|
-
items: any[];
|
|
14
|
-
totals: {
|
|
15
|
-
subTotal: number;
|
|
16
|
-
taxTotal: number;
|
|
17
|
-
discountTotal: number;
|
|
18
|
-
grandTotal: number;
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
interface CartResponse {
|
|
22
|
-
token: string;
|
|
23
|
-
cart: Cart;
|
|
24
|
-
capabilities: {
|
|
25
|
-
paymentProviders: {
|
|
26
|
-
id: string;
|
|
27
|
-
name: string;
|
|
28
|
-
}[];
|
|
29
|
-
shippingProviders: {
|
|
30
|
-
id: string;
|
|
31
|
-
name: string;
|
|
32
|
-
}[];
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export type { Cart, CartResponse };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=cart.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
declare const hasCartSession: () => boolean;
|
|
2
|
-
declare const clearCartSession: () => void;
|
|
3
|
-
declare const setCartSession: (token: string) => void;
|
|
4
|
-
declare const getCartSession: () => string | null;
|
|
5
|
-
|
|
6
|
-
export { clearCartSession, getCartSession, hasCartSession, setCartSession };
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { CART_SESSION_KEY } from "../constants/session";
|
|
2
|
-
const hasCartSession = () => {
|
|
3
|
-
const sessionToken = localStorage.getItem(CART_SESSION_KEY);
|
|
4
|
-
return !!sessionToken;
|
|
5
|
-
};
|
|
6
|
-
const clearCartSession = () => {
|
|
7
|
-
localStorage.removeItem(CART_SESSION_KEY);
|
|
8
|
-
};
|
|
9
|
-
const setCartSession = (token) => {
|
|
10
|
-
localStorage.setItem(CART_SESSION_KEY, token);
|
|
11
|
-
};
|
|
12
|
-
const getCartSession = () => {
|
|
13
|
-
return localStorage.getItem(CART_SESSION_KEY);
|
|
14
|
-
};
|
|
15
|
-
export {
|
|
16
|
-
clearCartSession,
|
|
17
|
-
getCartSession,
|
|
18
|
-
hasCartSession,
|
|
19
|
-
setCartSession
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=session.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/client/cart/utils/session.ts"],"sourcesContent":["import { CART_SESSION_KEY } from \"../constants/session\"\n\n// Has cart session\nexport const hasCartSession = (): boolean => {\n const sessionToken = localStorage.getItem(CART_SESSION_KEY)\n return !!sessionToken\n}\n\n// Clear cart session\nexport const clearCartSession = (): void => {\n localStorage.removeItem(CART_SESSION_KEY)\n}\n\n// Set cart session\nexport const setCartSession = (token: string): void => {\n localStorage.setItem(CART_SESSION_KEY, token)\n}\n\n// Get cart session\nexport const getCartSession = (): string | null => {\n return localStorage.getItem(CART_SESSION_KEY)\n}\n"],"mappings":"AAAA,SAAS,wBAAwB;AAG1B,MAAM,iBAAiB,MAAe;AAC3C,QAAM,eAAe,aAAa,QAAQ,gBAAgB;AAC1D,SAAO,CAAC,CAAC;AACX;AAGO,MAAM,mBAAmB,MAAY;AAC1C,eAAa,WAAW,gBAAgB;AAC1C;AAGO,MAAM,iBAAiB,CAAC,UAAwB;AACrD,eAAa,QAAQ,kBAAkB,KAAK;AAC9C;AAGO,MAAM,iBAAiB,MAAqB;AACjD,SAAO,aAAa,QAAQ,gBAAgB;AAC9C;","names":[]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
const registerStoryblokBridge = ({
|
|
2
|
-
onInput,
|
|
3
|
-
resolve_relations
|
|
4
|
-
}) => {
|
|
5
|
-
window.addEventListener("message", (event) => {
|
|
6
|
-
if (!event.data) return;
|
|
7
|
-
const { action, story } = event.data;
|
|
8
|
-
if (action && story && (action === "input" || action === "published" || action === "change" || action === "enterEditmode")) {
|
|
9
|
-
onInput(story);
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
const win = window;
|
|
13
|
-
if (win.StoryblokBridge) {
|
|
14
|
-
new win.StoryblokBridge({
|
|
15
|
-
preventClicks: true,
|
|
16
|
-
resolveRelations: resolve_relations?.split(",") ?? [],
|
|
17
|
-
resolveLinks: "story"
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
export {
|
|
22
|
-
registerStoryblokBridge
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=registerStoryblokBridge.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/client/cms/storyblok/preview/registerStoryblokBridge.ts"],"sourcesContent":["export const registerStoryblokBridge = ({\n onInput,\n resolve_relations,\n}: {\n onInput: (story: any) => void;\n resolve_relations?: string;\n}) => {\n // Listen directly to postMessage events from Storyblok editor\n window.addEventListener(\"message\", (event) => {\n if (!event.data) return;\n\n const { action, story } = event.data;\n\n if (\n action &&\n story &&\n (action === \"input\" ||\n action === \"published\" ||\n action === \"change\" ||\n action === \"enterEditmode\")\n ) {\n onInput(story);\n }\n });\n\n // Initialize StoryblokBridge for click prevention\n const win = window as any;\n if (win.StoryblokBridge) {\n new win.StoryblokBridge({\n preventClicks: true,\n resolveRelations: resolve_relations?.split(\",\") ?? [],\n resolveLinks: \"story\",\n });\n }\n};\n"],"mappings":"AAAO,MAAM,0BAA0B,CAAC;AAAA,EACtC;AAAA,EACA;AACF,MAGM;AAEJ,SAAO,iBAAiB,WAAW,CAAC,UAAU;AAC5C,QAAI,CAAC,MAAM,KAAM;AAEjB,UAAM,EAAE,QAAQ,MAAM,IAAI,MAAM;AAEhC,QACE,UACA,UACC,WAAW,WACV,WAAW,eACX,WAAW,YACX,WAAW,kBACb;AACA,cAAQ,KAAK;AAAA,IACf;AAAA,EACF,CAAC;AAGD,QAAM,MAAM;AACZ,MAAI,IAAI,iBAAiB;AACvB,QAAI,IAAI,gBAAgB;AAAA,MACtB,eAAe;AAAA,MACf,kBAAkB,mBAAmB,MAAM,GAAG,KAAK,CAAC;AAAA,MACpD,cAAc;AAAA,IAChB,CAAC;AAAA,EACH;AACF;","names":[]}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
|
|
3
|
-
interface StoryblokStoryData {
|
|
4
|
-
lang?: string;
|
|
5
|
-
full_slug: string;
|
|
6
|
-
localized_paths?: {
|
|
7
|
-
lang: string;
|
|
8
|
-
path: string;
|
|
9
|
-
}[];
|
|
10
|
-
[key: string]: unknown;
|
|
11
|
-
}
|
|
12
|
-
declare function previewUpdateAction({ story, pathToRevalidate, }: {
|
|
13
|
-
story: StoryblokStoryData;
|
|
14
|
-
pathToRevalidate?: string;
|
|
15
|
-
}): Promise<void>;
|
|
16
|
-
interface StoryblokPreviewSyncerProps {
|
|
17
|
-
pathToRevalidate: string;
|
|
18
|
-
resolve_relations?: string;
|
|
19
|
-
}
|
|
20
|
-
declare function StoryblokPreviewSyncer({ pathToRevalidate, resolve_relations, }: StoryblokPreviewSyncerProps): react_jsx_runtime.JSX.Element;
|
|
21
|
-
|
|
22
|
-
export { StoryblokPreviewSyncer, previewUpdateAction };
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { useCallback, useEffect, useRef, useState } from "react";
|
|
4
|
-
import Script from "next/script";
|
|
5
|
-
import { registerStoryblokBridge } from "./registerStoryblokBridge";
|
|
6
|
-
import { revalidatePath } from "next/cache";
|
|
7
|
-
async function previewUpdateAction({
|
|
8
|
-
story,
|
|
9
|
-
pathToRevalidate
|
|
10
|
-
}) {
|
|
11
|
-
if (!story) return;
|
|
12
|
-
try {
|
|
13
|
-
const lang = story?.lang;
|
|
14
|
-
let slug = story.full_slug;
|
|
15
|
-
if (lang !== "") {
|
|
16
|
-
const localizedPath = story?.localized_paths?.find(
|
|
17
|
-
(path) => path.lang === lang
|
|
18
|
-
)?.path;
|
|
19
|
-
if (localizedPath) {
|
|
20
|
-
slug = localizedPath;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
if (slug.endsWith("/")) {
|
|
24
|
-
slug = slug.slice(0, -1);
|
|
25
|
-
}
|
|
26
|
-
global.storyblokCache.set(slug, JSON.stringify(story));
|
|
27
|
-
if (pathToRevalidate) {
|
|
28
|
-
revalidatePath(pathToRevalidate);
|
|
29
|
-
}
|
|
30
|
-
} catch (error) {
|
|
31
|
-
console.error("Preview update failed:", error);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
function StoryblokPreviewSyncer({
|
|
35
|
-
pathToRevalidate,
|
|
36
|
-
resolve_relations = ""
|
|
37
|
-
}) {
|
|
38
|
-
const [isScriptLoaded, setIsScriptLoaded] = useState(false);
|
|
39
|
-
const isInitialized = useRef(false);
|
|
40
|
-
const handleInput = useCallback(
|
|
41
|
-
(story) => {
|
|
42
|
-
previewUpdateAction({ story, pathToRevalidate });
|
|
43
|
-
},
|
|
44
|
-
[pathToRevalidate]
|
|
45
|
-
);
|
|
46
|
-
const initBridge = useCallback(() => {
|
|
47
|
-
if (isInitialized.current) return false;
|
|
48
|
-
const StoryblokBridge = window.StoryblokBridge;
|
|
49
|
-
if (!StoryblokBridge) return false;
|
|
50
|
-
isInitialized.current = true;
|
|
51
|
-
registerStoryblokBridge({
|
|
52
|
-
onInput: handleInput,
|
|
53
|
-
resolve_relations
|
|
54
|
-
});
|
|
55
|
-
return true;
|
|
56
|
-
}, [handleInput, resolve_relations]);
|
|
57
|
-
useEffect(() => {
|
|
58
|
-
initBridge();
|
|
59
|
-
}, [initBridge]);
|
|
60
|
-
useEffect(() => {
|
|
61
|
-
if (isScriptLoaded) {
|
|
62
|
-
initBridge();
|
|
63
|
-
}
|
|
64
|
-
}, [isScriptLoaded, initBridge]);
|
|
65
|
-
return /* @__PURE__ */ jsx(
|
|
66
|
-
Script,
|
|
67
|
-
{
|
|
68
|
-
src: "//app.storyblok.com/f/storyblok-v2-latest.js",
|
|
69
|
-
strategy: "afterInteractive",
|
|
70
|
-
onLoad: () => setIsScriptLoaded(true),
|
|
71
|
-
onReady: () => setIsScriptLoaded(true)
|
|
72
|
-
}
|
|
73
|
-
);
|
|
74
|
-
}
|
|
75
|
-
export {
|
|
76
|
-
StoryblokPreviewSyncer,
|
|
77
|
-
previewUpdateAction
|
|
78
|
-
};
|
|
79
|
-
//# sourceMappingURL=storyblok-preview-syncer.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/client/cms/storyblok/preview/storyblok-preview-syncer.tsx"],"sourcesContent":["\"use client\"\n\nimport { useCallback, useEffect, useRef, useState } from \"react\"\n\nimport Script from \"next/script\"\n\nimport { registerStoryblokBridge } from \"./registerStoryblokBridge\"\nimport { revalidatePath } from \"next/cache\"\n\ninterface StoryblokStoryData {\n lang?: string\n full_slug: string\n localized_paths?: { lang: string; path: string }[]\n [key: string]: unknown\n}\n\ninterface Global {\n storyblokCache: Map<string, string>\n}\n\ndeclare const global: Global\n\nexport async function previewUpdateAction({\n story,\n pathToRevalidate,\n}: {\n story: StoryblokStoryData\n pathToRevalidate?: string\n}) {\n if (!story) return\n\n try {\n const lang = story?.lang\n let slug = story.full_slug\n\n if (lang !== \"\") {\n const localizedPath = story?.localized_paths?.find(\n (path: { lang: string }) => path.lang === lang\n )?.path\n if (localizedPath) {\n slug = localizedPath\n }\n }\n\n if (slug.endsWith(\"/\")) {\n slug = slug.slice(0, -1)\n }\n\n global.storyblokCache.set(slug, JSON.stringify(story))\n\n if (pathToRevalidate) {\n revalidatePath(pathToRevalidate)\n }\n } catch (error) {\n console.error(\"Preview update failed:\", error)\n }\n}\n\ninterface StoryblokPreviewSyncerProps {\n pathToRevalidate: string\n resolve_relations?: string\n}\n\nexport function StoryblokPreviewSyncer({\n pathToRevalidate,\n resolve_relations = \"\",\n}: StoryblokPreviewSyncerProps) {\n const [isScriptLoaded, setIsScriptLoaded] = useState(false)\n const isInitialized = useRef(false)\n\n const handleInput = useCallback(\n (story: StoryblokStoryData) => {\n previewUpdateAction({ story, pathToRevalidate })\n },\n [pathToRevalidate]\n )\n\n const initBridge = useCallback(() => {\n if (isInitialized.current) return false\n\n const StoryblokBridge = (window as typeof window & { StoryblokBridge?: unknown })\n .StoryblokBridge\n\n if (!StoryblokBridge) return false\n\n isInitialized.current = true\n\n registerStoryblokBridge({\n onInput: handleInput,\n resolve_relations,\n })\n\n return true\n }, [handleInput, resolve_relations])\n\n useEffect(() => {\n initBridge()\n }, [initBridge])\n\n useEffect(() => {\n if (isScriptLoaded) {\n initBridge()\n }\n }, [isScriptLoaded, initBridge])\n\n return (\n <Script\n src=\"//app.storyblok.com/f/storyblok-v2-latest.js\"\n strategy=\"afterInteractive\"\n onLoad={() => setIsScriptLoaded(true)}\n onReady={() => setIsScriptLoaded(true)}\n />\n )\n}\n"],"mappings":";AA0GI;AAxGJ,SAAS,aAAa,WAAW,QAAQ,gBAAgB;AAEzD,OAAO,YAAY;AAEnB,SAAS,+BAA+B;AACxC,SAAS,sBAAsB;AAe/B,eAAsB,oBAAoB;AAAA,EACxC;AAAA,EACA;AACF,GAGG;AACD,MAAI,CAAC,MAAO;AAEZ,MAAI;AACF,UAAM,OAAO,OAAO;AACpB,QAAI,OAAO,MAAM;AAEjB,QAAI,SAAS,IAAI;AACf,YAAM,gBAAgB,OAAO,iBAAiB;AAAA,QAC5C,CAAC,SAA2B,KAAK,SAAS;AAAA,MAC5C,GAAG;AACH,UAAI,eAAe;AACjB,eAAO;AAAA,MACT;AAAA,IACF;AAEA,QAAI,KAAK,SAAS,GAAG,GAAG;AACtB,aAAO,KAAK,MAAM,GAAG,EAAE;AAAA,IACzB;AAEA,WAAO,eAAe,IAAI,MAAM,KAAK,UAAU,KAAK,CAAC;AAErD,QAAI,kBAAkB;AACpB,qBAAe,gBAAgB;AAAA,IACjC;AAAA,EACF,SAAS,OAAO;AACd,YAAQ,MAAM,0BAA0B,KAAK;AAAA,EAC/C;AACF;AAOO,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA,oBAAoB;AACtB,GAAgC;AAC9B,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAC1D,QAAM,gBAAgB,OAAO,KAAK;AAElC,QAAM,cAAc;AAAA,IAClB,CAAC,UAA8B;AAC7B,0BAAoB,EAAE,OAAO,iBAAiB,CAAC;AAAA,IACjD;AAAA,IACA,CAAC,gBAAgB;AAAA,EACnB;AAEA,QAAM,aAAa,YAAY,MAAM;AACnC,QAAI,cAAc,QAAS,QAAO;AAElC,UAAM,kBAAmB,OACtB;AAEH,QAAI,CAAC,gBAAiB,QAAO;AAE7B,kBAAc,UAAU;AAExB,4BAAwB;AAAA,MACtB,SAAS;AAAA,MACT;AAAA,IACF,CAAC;AAED,WAAO;AAAA,EACT,GAAG,CAAC,aAAa,iBAAiB,CAAC;AAEnC,YAAU,MAAM;AACd,eAAW;AAAA,EACb,GAAG,CAAC,UAAU,CAAC;AAEf,YAAU,MAAM;AACd,QAAI,gBAAgB;AAClB,iBAAW;AAAA,IACb;AAAA,EACF,GAAG,CAAC,gBAAgB,UAAU,CAAC;AAE/B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAI;AAAA,MACJ,UAAS;AAAA,MACT,QAAQ,MAAM,kBAAkB,IAAI;AAAA,MACpC,SAAS,MAAM,kBAAkB,IAAI;AAAA;AAAA,EACvC;AAEJ;","names":[]}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { cookies } from "next/headers";
|
|
2
|
-
import { customerClient } from "../../user/clients/enad";
|
|
3
|
-
import { userCookieService } from "../../user/utils/userCookieService";
|
|
4
|
-
async function withAuth(action) {
|
|
5
|
-
const cookieStore = await cookies();
|
|
6
|
-
const token = cookieStore.get("access_token");
|
|
7
|
-
const refreshToken = cookieStore.get("refresh_token");
|
|
8
|
-
if (!token && !refreshToken) {
|
|
9
|
-
await userCookieService.clear();
|
|
10
|
-
throw new Error("Not authenticated");
|
|
11
|
-
}
|
|
12
|
-
if (!token && refreshToken) {
|
|
13
|
-
const [res, error] = await customerClient.user.refreshAccessToken(refreshToken.value);
|
|
14
|
-
if (error) {
|
|
15
|
-
console.error("Refresh token error:", error);
|
|
16
|
-
throw new Error("Failed to refresh token");
|
|
17
|
-
}
|
|
18
|
-
await userCookieService.setTokens(res.access_token, res.refresh_token);
|
|
19
|
-
}
|
|
20
|
-
return action();
|
|
21
|
-
}
|
|
22
|
-
export {
|
|
23
|
-
withAuth
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=withAuth.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/client/global/auth/withAuth.ts"],"sourcesContent":["import { cookies } from \"next/headers\"\n\nimport { customerClient } from \"../../user/clients/enad\"\nimport { userCookieService } from \"../../user/utils/userCookieService\"\n/**\n * Generic wrapper for any server action to check auth and refresh token on demand.\n **/\nexport async function withAuth<T>(action: () => Promise<T>): Promise<T> {\n const cookieStore = await cookies()\n const token = cookieStore.get(\"access_token\")\n const refreshToken = cookieStore.get(\"refresh_token\")\n\n if (!token && !refreshToken) {\n await userCookieService.clear()\n throw new Error(\"Not authenticated\")\n }\n\n if (!token && refreshToken) {\n const [res, error] = await customerClient.user.refreshAccessToken(refreshToken.value)\n if (error) {\n console.error(\"Refresh token error:\", error)\n throw new Error(\"Failed to refresh token\")\n }\n\n await userCookieService.setTokens(res.access_token, res.refresh_token)\n }\n\n return action()\n}\n"],"mappings":"AAAA,SAAS,eAAe;AAExB,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;AAIlC,eAAsB,SAAY,QAAsC;AACtE,QAAM,cAAc,MAAM,QAAQ;AAClC,QAAM,QAAQ,YAAY,IAAI,cAAc;AAC5C,QAAM,eAAe,YAAY,IAAI,eAAe;AAEpD,MAAI,CAAC,SAAS,CAAC,cAAc;AAC3B,UAAM,kBAAkB,MAAM;AAC9B,UAAM,IAAI,MAAM,mBAAmB;AAAA,EACrC;AAEA,MAAI,CAAC,SAAS,cAAc;AAC1B,UAAM,CAAC,KAAK,KAAK,IAAI,MAAM,eAAe,KAAK,mBAAmB,aAAa,KAAK;AACpF,QAAI,OAAO;AACT,cAAQ,MAAM,wBAAwB,KAAK;AAC3C,YAAM,IAAI,MAAM,yBAAyB;AAAA,IAC3C;AAEA,UAAM,kBAAkB,UAAU,IAAI,cAAc,IAAI,aAAa;AAAA,EACvE;AAEA,SAAO,OAAO;AAChB;","names":[]}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
interface EnadServerConfig {
|
|
2
|
-
userApiKey: string;
|
|
3
|
-
}
|
|
4
|
-
interface EnadClientConfig {
|
|
5
|
-
apiKey: string;
|
|
6
|
-
appId: string;
|
|
7
|
-
groupId: string;
|
|
8
|
-
defaultLocale?: string;
|
|
9
|
-
defaultMarket?: string;
|
|
10
|
-
}
|
|
11
|
-
interface EnadConfig {
|
|
12
|
-
server: EnadServerConfig;
|
|
13
|
-
client: EnadClientConfig;
|
|
14
|
-
}
|
|
15
|
-
declare const enadConfig: EnadConfig;
|
|
16
|
-
|
|
17
|
-
export { enadConfig };
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
const enadConfig = {
|
|
2
|
-
server: {
|
|
3
|
-
/**
|
|
4
|
-
* User API Key.
|
|
5
|
-
*/
|
|
6
|
-
userApiKey: process.env.ENAD_USER_API_KEY || ""
|
|
7
|
-
},
|
|
8
|
-
client: {
|
|
9
|
-
/**
|
|
10
|
-
* Shopper API key.
|
|
11
|
-
*/
|
|
12
|
-
apiKey: process.env.NEXT_PUBLIC_ENAD_API_KEY || "",
|
|
13
|
-
/**
|
|
14
|
-
* Application ID.
|
|
15
|
-
*/
|
|
16
|
-
appId: process.env.NEXT_PUBLIC_ENAD_APP_ID || "",
|
|
17
|
-
/**
|
|
18
|
-
* Group ID.
|
|
19
|
-
*/
|
|
20
|
-
groupId: process.env.NEXT_PUBLIC_ENAD_GROUP_ID || "",
|
|
21
|
-
/**
|
|
22
|
-
* Default locale for the client.
|
|
23
|
-
*/
|
|
24
|
-
defaultLocale: process.env.NEXT_PUBLIC_ENAD_DEFAULT_LOCALE || "en",
|
|
25
|
-
/**
|
|
26
|
-
* Default market for the client.
|
|
27
|
-
*/
|
|
28
|
-
defaultMarket: process.env.NEXT_PUBLIC_ENAD_DEFAULT_MARKET || "us"
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
export {
|
|
32
|
-
enadConfig
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/client/global/config/index.ts"],"sourcesContent":["interface EnadServerConfig {\n userApiKey: string\n}\n\ninterface EnadClientConfig {\n apiKey: string\n appId: string\n groupId: string\n defaultLocale?: string\n defaultMarket?: string\n}\n\ninterface EnadConfig {\n server: EnadServerConfig\n client: EnadClientConfig\n}\n\nexport const enadConfig: EnadConfig = {\n server: {\n /**\n * User API Key.\n */\n userApiKey: process.env.ENAD_USER_API_KEY || \"\",\n },\n\n client: {\n /**\n * Shopper API key.\n */\n apiKey: process.env.NEXT_PUBLIC_ENAD_API_KEY || \"\",\n /**\n * Application ID.\n */\n appId: process.env.NEXT_PUBLIC_ENAD_APP_ID || \"\",\n /**\n * Group ID.\n */\n groupId: process.env.NEXT_PUBLIC_ENAD_GROUP_ID || \"\",\n /**\n * Default locale for the client.\n */\n defaultLocale: process.env.NEXT_PUBLIC_ENAD_DEFAULT_LOCALE || \"en\",\n /**\n * Default market for the client.\n */\n defaultMarket: process.env.NEXT_PUBLIC_ENAD_DEFAULT_MARKET || \"us\",\n },\n}\n"],"mappings":"AAiBO,MAAM,aAAyB;AAAA,EACpC,QAAQ;AAAA;AAAA;AAAA;AAAA,IAIN,YAAY,QAAQ,IAAI,qBAAqB;AAAA,EAC/C;AAAA,EAEA,QAAQ;AAAA;AAAA;AAAA;AAAA,IAIN,QAAQ,QAAQ,IAAI,4BAA4B;AAAA;AAAA;AAAA;AAAA,IAIhD,OAAO,QAAQ,IAAI,2BAA2B;AAAA;AAAA;AAAA;AAAA,IAI9C,SAAS,QAAQ,IAAI,6BAA6B;AAAA;AAAA;AAAA;AAAA,IAIlD,eAAe,QAAQ,IAAI,mCAAmC;AAAA;AAAA;AAAA;AAAA,IAI9D,eAAe,QAAQ,IAAI,mCAAmC;AAAA,EAChE;AACF;","names":[]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
declare const CACHE_TAGS: {
|
|
2
|
-
collections: string;
|
|
3
|
-
products: string;
|
|
4
|
-
cart: string;
|
|
5
|
-
checkout: string;
|
|
6
|
-
wishlist: string;
|
|
7
|
-
stock: string;
|
|
8
|
-
price: string;
|
|
9
|
-
watchlist: string;
|
|
10
|
-
qliro: string;
|
|
11
|
-
myOrders: string;
|
|
12
|
-
settings: string;
|
|
13
|
-
signupStatus: string;
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
export { CACHE_TAGS };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
const CACHE_TAGS = {
|
|
2
|
-
collections: "collections",
|
|
3
|
-
products: "products",
|
|
4
|
-
cart: "cart",
|
|
5
|
-
checkout: "checkout",
|
|
6
|
-
wishlist: "wishlist",
|
|
7
|
-
stock: "stock",
|
|
8
|
-
price: "price",
|
|
9
|
-
watchlist: "watchlist",
|
|
10
|
-
qliro: "qliro",
|
|
11
|
-
myOrders: "my-orders",
|
|
12
|
-
settings: "settings",
|
|
13
|
-
signupStatus: "signup-status"
|
|
14
|
-
};
|
|
15
|
-
export {
|
|
16
|
-
CACHE_TAGS
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=tags.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/client/global/constants/tags.ts"],"sourcesContent":["export const CACHE_TAGS = {\n collections: \"collections\",\n products: \"products\",\n cart: \"cart\",\n checkout: \"checkout\",\n wishlist: \"wishlist\",\n stock: \"stock\",\n price: \"price\",\n watchlist: \"watchlist\",\n qliro: \"qliro\",\n myOrders: \"my-orders\",\n settings: \"settings\",\n signupStatus: \"signup-status\",\n}\n"],"mappings":"AAAO,MAAM,aAAa;AAAA,EACxB,aAAa;AAAA,EACb,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AAAA,EACV,OAAO;AAAA,EACP,OAAO;AAAA,EACP,WAAW;AAAA,EACX,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,cAAc;AAChB;","names":[]}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { BrinkConfig } from '../../cart/contexts/cart.mjs';
|
|
3
|
-
import 'react';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* EnadProviderProps defines the properties for the EnadProvider component.
|
|
7
|
-
*/
|
|
8
|
-
interface EnadProviderProps {
|
|
9
|
-
/**
|
|
10
|
-
* Children components to be wrapped by the provider.
|
|
11
|
-
*/
|
|
12
|
-
children: React.ReactNode;
|
|
13
|
-
/**
|
|
14
|
-
* Configuration for the cart context.
|
|
15
|
-
*/
|
|
16
|
-
brink: BrinkConfig;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* EnadProvider component that sets up all necessary context providers for the Enad React SDK.
|
|
20
|
-
*/
|
|
21
|
-
declare function EnadProvider({ children, brink }: EnadProviderProps): react_jsx_runtime.JSX.Element;
|
|
22
|
-
|
|
23
|
-
export { EnadProvider, type EnadProviderProps };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
3
|
-
import { CartProvider } from "../../cart/contexts/cart";
|
|
4
|
-
const queryClient = new QueryClient();
|
|
5
|
-
function EnadProvider({ children, brink }) {
|
|
6
|
-
return /* @__PURE__ */ jsx(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx(CartProvider, { ...brink, children }) });
|
|
7
|
-
}
|
|
8
|
-
export {
|
|
9
|
-
EnadProvider
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=enad-provider.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/client/global/providers/enad-provider.tsx"],"sourcesContent":["import { QueryClient, QueryClientProvider } from \"@tanstack/react-query\"\nimport { BrinkConfig, CartProvider } from \"../../cart/contexts/cart\"\n\n/**\n * EnadProviderProps defines the properties for the EnadProvider component.\n */\nexport interface EnadProviderProps {\n /**\n * Children components to be wrapped by the provider.\n */\n children: React.ReactNode\n /**\n * Configuration for the cart context.\n */\n brink: BrinkConfig\n}\n\nconst queryClient = new QueryClient()\n\n/**\n * EnadProvider component that sets up all necessary context providers for the Enad React SDK.\n */\nexport function EnadProvider({ children, brink }: EnadProviderProps) {\n return (\n <QueryClientProvider client={queryClient}>\n <CartProvider {...brink}>{children}</CartProvider>\n </QueryClientProvider>\n )\n}\n"],"mappings":"AAyBM;AAzBN,SAAS,aAAa,2BAA2B;AACjD,SAAsB,oBAAoB;AAgB1C,MAAM,cAAc,IAAI,YAAY;AAK7B,SAAS,aAAa,EAAE,UAAU,MAAM,GAAsB;AACnE,SACE,oBAAC,uBAAoB,QAAQ,aAC3B,8BAAC,gBAAc,GAAG,OAAQ,UAAS,GACrC;AAEJ;","names":[]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use server";
|
|
2
|
-
import { shopperClient } from "../../user/clients/enad";
|
|
3
|
-
const searchAction = async (query, filters) => {
|
|
4
|
-
if (!query) return [];
|
|
5
|
-
try {
|
|
6
|
-
const [data, error] = await shopperClient.products.search(query, filters);
|
|
7
|
-
if (error) throw error;
|
|
8
|
-
console.log("res", data);
|
|
9
|
-
return data;
|
|
10
|
-
} catch (err) {
|
|
11
|
-
console.error("SearchAction error:", err);
|
|
12
|
-
throw err;
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
export {
|
|
16
|
-
searchAction
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=searchAction.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/client/search/actions/searchAction.ts"],"sourcesContent":["\"use server\"\n\nimport { shopperClient } from \"../../user/clients/enad\"\n\nexport const searchAction = async (query: string, filters: Record<string, any>) => {\n if (!query) return []\n\n try {\n const [data, error] = await shopperClient.products.search(query, filters)\n\n if (error) throw error\n\n console.log(\"res\", data)\n return data\n } catch (err) {\n console.error(\"SearchAction error:\", err)\n throw err\n }\n}\n"],"mappings":";AAEA,SAAS,qBAAqB;AAEvB,MAAM,eAAe,OAAO,OAAe,YAAiC;AACjF,MAAI,CAAC,MAAO,QAAO,CAAC;AAEpB,MAAI;AACF,UAAM,CAAC,MAAM,KAAK,IAAI,MAAM,cAAc,SAAS,OAAO,OAAO,OAAO;AAExE,QAAI,MAAO,OAAM;AAEjB,YAAQ,IAAI,OAAO,IAAI;AACvB,WAAO;AAAA,EACT,SAAS,KAAK;AACZ,YAAQ,MAAM,uBAAuB,GAAG;AACxC,UAAM;AAAA,EACR;AACF;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=search-bar.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|