@sentecacommerce-theme/lib 0.11.60 → 0.11.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/authApi/index.js.map +1 -1
- package/dist/cjs/api/myOrdersApi/index.js +5 -0
- package/dist/cjs/api/myOrdersApi/index.js.map +1 -1
- package/dist/cjs/hooks/basket-hooks/useBasketLineItem/index.js +6 -0
- package/dist/cjs/hooks/basket-hooks/useBasketLineItem/index.js.map +1 -1
- package/dist/cjs/listing/hooks/useListingCategories.js +1 -1
- package/dist/cjs/listing/hooks/useListingCategories.js.map +1 -1
- package/dist/cjs/user/api/utils/processLoginPayload.js.map +1 -1
- package/dist/esm/api/authApi/index.js.map +1 -1
- package/dist/esm/api/myOrdersApi/index.js +3 -1
- package/dist/esm/api/myOrdersApi/index.js.map +1 -1
- package/dist/esm/hooks/basket-hooks/useBasketLineItem/index.js +3 -0
- package/dist/esm/hooks/basket-hooks/useBasketLineItem/index.js.map +1 -1
- package/dist/esm/listing/hooks/useListingCategories.js +1 -1
- package/dist/esm/listing/hooks/useListingCategories.js.map +1 -1
- package/dist/esm/user/api/utils/processLoginPayload.js.map +1 -1
- package/dist/types/hooks/basket-hooks/useBasketLineItem/index.d.ts +1 -0
- package/package.json +4 -4
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/api/authApi/index.ts"],"names":["cacheKeys","isAuthenticated","AuthApiFactory","instance","initialise","customersApi","CustomersAPI","tokenApi","AuthAPI","processLoginPayload","data","anonymous","WISHLIST_STORAGE_KEY","wishList","BASKET_STORAGE_KEY","basket","accessToken","expires","refreshToken","invalidateQueries","queryCache","usersApi","useGet","myCartCacheKeys","useGetCompact","wishlistCacheKeys","getQueries","forEach","query","refetch","processLogin","onSuccess","Object","freeze","authToken","anonToken","createAnonymousToken","grantType","TokenRequestDTOGrantTypeEnum","Implicit","anonymousId","anonTokenData","RefreshToken","newToken","authApi","staleTime","useLogin","values","login","responseMode","LoginRequestDTOResponseModeEnum","Compact","useRegister","register","useLoginFacebook","createFacebookToken","OAuthTokenRequestDTOResponseModeEnum","useLoginGoogle","createGoogleToken","useLoginApple","createAppleToken","useResetPassword","resetPassword","useRequestResetPasswordToken","createPasswordToken","useLogout","itemsCount","items","lineItems","customLineItems","lineItemsCount","customLineItemsCount","getInstance"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport {\n AuthAPI,\n CustomersAPI,\n RegisterRequestDTO,\n CustomerDTO,\n PasswordResetDTO,\n PasswordTokenDTO,\n TokenResponseDTO,\n OAuthTokenRequestDTOResponseModeEnum,\n LoginRequestDTOResponseModeEnum,\n TokenRequestDTOGrantTypeEnum,\n} from '@sentecacommerce/sdk'\nimport {\n useQuery,\n useMutation,\n QueryCache,\n MutationResultPair,\n QueryResult,\n useQueryCache,\n} from 'react-query'\nimport { usersApi } from '../usersApi'\nimport {\n WISHLIST_STORAGE_KEY,\n cacheKeys as wishlistCacheKeys,\n} from '../wishlistApi'\nimport { BASKET_STORAGE_KEY, myCartCacheKeys } from '../myCartApi'\nimport { generateGuid } from '../../utils/guid'\nimport { writeToLocalStorage } from '../../utils/localStorage'\nimport { getSDKConfig } from '../getSDKConfig'\nimport {\n removeAnonToken,\n removeAuthToken,\n setRefreshToken,\n getAnonToken,\n getAuthToken,\n setExpiryToken,\n setAccessToken,\n isTokenExpired,\n getRefreshToken,\n removeExpiryToken,\n removeRefreshToken,\n getAnonId,\n} from '../../utils/tokens'\n// import { consentsApi } from '../consentsApi'\n\ntype AuthApiType = {\n isAuthenticated: () => QueryResult<boolean, unknown>\n\n useLogin: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n { email: string; password: string },\n unknown\n >\n\n useLoginFacebook: (\n onSuccess?: () => void\n ) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n { access_token: string },\n unknown\n >\n\n useLoginGoogle: (\n onSuccess?: () => void\n ) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n { access_token: string },\n unknown\n >\n\n useLoginApple: (\n onSuccess?: () => void\n ) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n {\n lastName?: string\n firstName?: string\n id_token: string\n },\n unknown\n >\n\n useRegister: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n RegisterRequestDTO,\n unknown\n >\n\n useResetPassword: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<CustomerDTO, unknown, PasswordResetDTO, unknown>\n\n useRequestResetPasswordToken: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<void, unknown, PasswordTokenDTO, unknown>\n\n useLogout: () => Function\n}\n\nconst cacheKeys = { isAuthenticated: 'token-api-is-authenticated' }\n\nexport const AuthApiFactory = (function () {\n // Instance stores a reference to the Singleton\n let instance: AuthApiType\n\n function initialise(): Readonly<AuthApiType> {\n // Singleton\n\n // Private methods and variables\n const customersApi = new CustomersAPI(getSDKConfig())\n const tokenApi = new AuthAPI(getSDKConfig())\n\n const processLoginPayload = (data: TokenResponseDTO, anonymous = false) => {\n writeToLocalStorage(WISHLIST_STORAGE_KEY, data.wishList)\n writeToLocalStorage(BASKET_STORAGE_KEY, data.basket)\n\n setAccessToken(data.accessToken, anonymous)\n setExpiryToken(data.expires)\n setRefreshToken(data.refreshToken as string)\n !anonymous && removeAnonToken()\n }\n\n const invalidateQueries = (queryCache: QueryCache) => {\n queryCache.invalidateQueries(cacheKeys.isAuthenticated)\n queryCache.invalidateQueries(usersApi.cacheKeys.useGet)\n queryCache.invalidateQueries(myCartCacheKeys.useGet)\n queryCache.invalidateQueries(myCartCacheKeys.useGetCompact)\n queryCache.invalidateQueries(wishlistCacheKeys.useGet)\n queryCache.invalidateQueries(wishlistCacheKeys.useGetCompact)\n queryCache.getQueries().forEach((query) => query.refetch())\n }\n\n // Public methods and variables\n\n const processLogin = (onSuccess: any, queryCache: any) => (data: any) => {\n processLoginPayload(data)\n invalidateQueries(queryCache)\n onSuccess?.()\n }\n\n return Object.freeze({\n cacheKeys,\n isAuthenticated: () => {\n return useQuery(\n cacheKeys.isAuthenticated,\n async () => {\n const authToken = getAuthToken()\n const anonToken = getAnonToken()\n\n if (!authToken && !anonToken) {\n const anonTokenData = await tokenApi.createAnonymousToken(\n {},\n {\n grantType: TokenRequestDTOGrantTypeEnum.Implicit,\n anonymousId: generateGuid(),\n }\n )\n\n processLoginPayload(anonTokenData, true)\n }\n\n if (isTokenExpired()) {\n removeAnonToken()\n removeAuthToken()\n const newToken = await tokenApi.refreshToken(\n {},\n {\n grantType: TokenRequestDTOGrantTypeEnum.RefreshToken,\n refreshToken: getRefreshToken(),\n }\n )\n\n processLoginPayload(newToken, !!authApi)\n }\n return authToken ? true : false\n },\n {\n staleTime: 60 * 1000, // 1 minute\n }\n )\n },\n useLogin: ({ onSuccess }) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.login(\n {},\n {\n ...values,\n responseMode: LoginRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }\n ),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useRegister: ({ onSuccess }) => {\n const queryCache = useQueryCache()\n\n return useMutation(\n (values) => {\n return tokenApi.register(\n {},\n { ...values, anonymousId: getAnonId() }\n )\n },\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useLoginFacebook: (onSuccess) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.createFacebookToken(values, {\n responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useLoginGoogle: (onSuccess) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.createGoogleToken(values, {\n responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useLoginApple: (onSuccess) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.createAppleToken(values, {\n responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useResetPassword: ({ onSuccess }) => {\n return useMutation((values) => customersApi.resetPassword({}, values), {\n onSuccess: () => {\n onSuccess?.()\n },\n })\n },\n useRequestResetPasswordToken: ({ onSuccess }) => {\n return useMutation(\n (values) => customersApi.createPasswordToken({}, values),\n {\n onSuccess: () => {\n onSuccess?.()\n },\n }\n )\n },\n useLogout: () => {\n const queryCache = useQueryCache()\n\n return () => {\n writeToLocalStorage(WISHLIST_STORAGE_KEY, {\n itemsCount: 0,\n items: {},\n })\n writeToLocalStorage(BASKET_STORAGE_KEY, {\n lineItems: {},\n customLineItems: {},\n lineItemsCount: 0,\n customLineItemsCount: 0,\n })\n removeAuthToken()\n removeRefreshToken()\n removeExpiryToken()\n invalidateQueries(queryCache)\n }\n },\n })\n }\n\n return {\n // Get the Singleton instance if one exists\n // or create one if it doesn't\n getInstance: function () {\n if (!instance) {\n instance = initialise()\n }\n\n return instance\n },\n }\n})()\n\nexport const authApi = AuthApiFactory.getInstance()\n"],"file":"index.js"}
|
1
|
+
{"version":3,"sources":["../../../../src/api/authApi/index.ts"],"names":["cacheKeys","isAuthenticated","AuthApiFactory","instance","initialise","customersApi","CustomersAPI","tokenApi","AuthAPI","processLoginPayload","data","anonymous","WISHLIST_STORAGE_KEY","wishList","BASKET_STORAGE_KEY","basket","accessToken","expires","refreshToken","invalidateQueries","queryCache","usersApi","useGet","myCartCacheKeys","useGetCompact","wishlistCacheKeys","getQueries","forEach","query","refetch","processLogin","onSuccess","Object","freeze","authToken","anonToken","createAnonymousToken","grantType","TokenRequestDTOGrantTypeEnum","Implicit","anonymousId","anonTokenData","RefreshToken","newToken","authApi","staleTime","useLogin","values","login","responseMode","LoginRequestDTOResponseModeEnum","Compact","useRegister","register","useLoginFacebook","createFacebookToken","OAuthTokenRequestDTOResponseModeEnum","useLoginGoogle","createGoogleToken","useLoginApple","createAppleToken","useResetPassword","resetPassword","useRequestResetPasswordToken","createPasswordToken","useLogout","itemsCount","items","lineItems","customLineItems","lineItemsCount","customLineItemsCount","getInstance"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport {\n AuthAPI,\n CustomersAPI,\n RegisterRequestDTO,\n CustomerDTO,\n PasswordResetDTO,\n PasswordTokenDTO,\n TokenResponseDTO,\n OAuthTokenRequestDTOResponseModeEnum,\n LoginRequestDTOResponseModeEnum,\n TokenRequestDTOGrantTypeEnum,\n} from '@sentecacommerce/sdk'\nimport {\n useQuery,\n useMutation,\n QueryCache,\n MutationResultPair,\n QueryResult,\n useQueryCache,\n} from 'react-query'\nimport { usersApi } from '../usersApi'\nimport {\n WISHLIST_STORAGE_KEY,\n cacheKeys as wishlistCacheKeys,\n} from '../wishlistApi'\nimport { BASKET_STORAGE_KEY, myCartCacheKeys } from '../myCartApi'\nimport { generateGuid } from '../../utils/guid'\nimport { writeToLocalStorage } from '../../utils/localStorage'\nimport { getSDKConfig } from '../getSDKConfig'\nimport {\n removeAnonToken,\n removeAuthToken,\n setRefreshToken,\n getAnonToken,\n getAuthToken,\n setExpiryToken,\n setAccessToken,\n isTokenExpired,\n getRefreshToken,\n removeExpiryToken,\n removeRefreshToken,\n getAnonId,\n} from '../../utils/tokens'\n// import { consentsApi } from '../consentsApi'\n\ntype AuthApiType = {\n isAuthenticated: () => QueryResult<boolean, unknown>\n\n useLogin: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n { email: string; password: string },\n unknown\n >\n\n useLoginFacebook: (\n onSuccess?: () => void\n ) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n { access_token: string },\n unknown\n >\n\n useLoginGoogle: (\n onSuccess?: () => void\n ) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n { access_token: string },\n unknown\n >\n\n useLoginApple: (\n onSuccess?: () => void\n ) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n {\n lastName?: string\n firstName?: string\n id_token: string\n },\n unknown\n >\n\n useRegister: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n RegisterRequestDTO,\n unknown\n >\n\n useResetPassword: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<CustomerDTO, unknown, PasswordResetDTO, unknown>\n\n useRequestResetPasswordToken: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<void, unknown, PasswordTokenDTO, unknown>\n\n useLogout: () => Function\n}\n\nconst cacheKeys = { isAuthenticated: 'token-api-is-authenticated' }\n\nexport const AuthApiFactory = (function () {\n // Instance stores a reference to the Singleton\n let instance: AuthApiType\n\n function initialise(): Readonly<AuthApiType> {\n // Singleton\n\n // Private methods and variables\n const customersApi = new CustomersAPI(getSDKConfig())\n const tokenApi = new AuthAPI(getSDKConfig())\n\n const processLoginPayload = (data: TokenResponseDTO, anonymous = false) => {\n writeToLocalStorage(WISHLIST_STORAGE_KEY, data.wishList)\n writeToLocalStorage(BASKET_STORAGE_KEY, data.basket)\n\n setAccessToken(data.accessToken as string, anonymous)\n setExpiryToken(data.expires as number)\n setRefreshToken(data.refreshToken as string)\n !anonymous && removeAnonToken()\n }\n\n const invalidateQueries = (queryCache: QueryCache) => {\n queryCache.invalidateQueries(cacheKeys.isAuthenticated)\n queryCache.invalidateQueries(usersApi.cacheKeys.useGet)\n queryCache.invalidateQueries(myCartCacheKeys.useGet)\n queryCache.invalidateQueries(myCartCacheKeys.useGetCompact)\n queryCache.invalidateQueries(wishlistCacheKeys.useGet)\n queryCache.invalidateQueries(wishlistCacheKeys.useGetCompact)\n queryCache.getQueries().forEach((query) => query.refetch())\n }\n\n // Public methods and variables\n\n const processLogin = (onSuccess: any, queryCache: any) => (data: any) => {\n processLoginPayload(data)\n invalidateQueries(queryCache)\n onSuccess?.()\n }\n\n return Object.freeze({\n cacheKeys,\n isAuthenticated: () => {\n return useQuery(\n cacheKeys.isAuthenticated,\n async () => {\n const authToken = getAuthToken()\n const anonToken = getAnonToken()\n\n if (!authToken && !anonToken) {\n const anonTokenData = await tokenApi.createAnonymousToken(\n {},\n {\n grantType: TokenRequestDTOGrantTypeEnum.Implicit,\n anonymousId: generateGuid(),\n }\n )\n\n processLoginPayload(anonTokenData, true)\n }\n\n if (isTokenExpired()) {\n removeAnonToken()\n removeAuthToken()\n const newToken = await tokenApi.refreshToken(\n {},\n {\n grantType: TokenRequestDTOGrantTypeEnum.RefreshToken,\n refreshToken: getRefreshToken(),\n }\n )\n\n processLoginPayload(newToken, !!authApi)\n }\n return authToken ? true : false\n },\n {\n staleTime: 60 * 1000, // 1 minute\n }\n )\n },\n useLogin: ({ onSuccess }) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.login(\n {},\n {\n ...values,\n responseMode: LoginRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }\n ),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useRegister: ({ onSuccess }) => {\n const queryCache = useQueryCache()\n\n return useMutation(\n (values) => {\n return tokenApi.register(\n {},\n { ...values, anonymousId: getAnonId() }\n )\n },\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useLoginFacebook: (onSuccess) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.createFacebookToken(values, {\n responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useLoginGoogle: (onSuccess) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.createGoogleToken(values, {\n responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useLoginApple: (onSuccess) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.createAppleToken(values, {\n responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useResetPassword: ({ onSuccess }) => {\n return useMutation((values) => customersApi.resetPassword({}, values), {\n onSuccess: () => {\n onSuccess?.()\n },\n })\n },\n useRequestResetPasswordToken: ({ onSuccess }) => {\n return useMutation(\n (values) => customersApi.createPasswordToken({}, values),\n {\n onSuccess: () => {\n onSuccess?.()\n },\n }\n )\n },\n useLogout: () => {\n const queryCache = useQueryCache()\n\n return () => {\n writeToLocalStorage(WISHLIST_STORAGE_KEY, {\n itemsCount: 0,\n items: {},\n })\n writeToLocalStorage(BASKET_STORAGE_KEY, {\n lineItems: {},\n customLineItems: {},\n lineItemsCount: 0,\n customLineItemsCount: 0,\n })\n removeAuthToken()\n removeRefreshToken()\n removeExpiryToken()\n invalidateQueries(queryCache)\n }\n },\n })\n }\n\n return {\n // Get the Singleton instance if one exists\n // or create one if it doesn't\n getInstance: function () {\n if (!instance) {\n instance = initialise()\n }\n\n return instance\n },\n }\n})()\n\nexport const authApi = AuthApiFactory.getInstance()\n"],"file":"index.js"}
|
@@ -33,6 +33,10 @@ var MyOrdersApiFactory = function () {
|
|
33
33
|
}
|
34
34
|
|
35
35
|
var queryCache = (0, _reactQuery.useQueryCache)();
|
36
|
+
|
37
|
+
var _myCartApi$useSync = _myCartApi.myCartApi.useSync(),
|
38
|
+
syncBasket = _myCartApi$useSync[0];
|
39
|
+
|
36
40
|
return (0, _reactQuery.useMutation)(function () {
|
37
41
|
return myOrdersApi.create({}, meta);
|
38
42
|
}, {
|
@@ -49,6 +53,7 @@ var MyOrdersApiFactory = function () {
|
|
49
53
|
}(function (data) {
|
50
54
|
queryCache.setQueryData(_myCartApi.myCartCacheKeys.useGet, data);
|
51
55
|
queryCache.invalidateQueries(_myCartApi.myCartCacheKeys.useGetCompact);
|
56
|
+
syncBasket();
|
52
57
|
|
53
58
|
if (typeof onSuccess === 'function') {
|
54
59
|
onSuccess(data);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/api/myOrdersApi/index.ts"],"names":["MyOrdersApiFactory","instance","initialise","myOrdersApi","MyOrdersAPI","cacheKeys","useGet","useOrders","Object","freeze","useCreate","meta","onSuccess","onError","queryCache","create","data","setQueryData","myCartCacheKeys","invalidateQueries","useGetCompact","error","useGetById","id","getById","retry","refetchOnWindowFocus","enabled","Boolean","query","filter","getInstance"],"mappings":";;;;;;;;;;;AAAA;;AAMA;;AACA;;AAUA;;AAeO,IAAMA,kBAAkB,GAAI,YAAY;AAC7C,MAAIC,QAAJ;;AAEA,WAASC,UAAT,GAAiD;AAC/C,QAAMC,WAAW,GAAG,IAAIC,gBAAJ,CAAgB,iCAAhB,CAApB;AAEA,QAAMC,SAAS,GAAG;AAChBC,MAAAA,MAAM,EAAE,uBADQ;AAEhBC,MAAAA,SAAS,EAAE;AAFK,KAAlB;AAKA,WAAOC,MAAM,CAACC,MAAP,CAAc;AACnBC,MAAAA,SAAS,EAAE,mBAACC,IAAD,EAAYC,SAAZ,EAAuBC,OAAvB,EAAmC;AAAA,YAAlCF,IAAkC;AAAlCA,UAAAA,IAAkC,GAA3B,EAA2B;AAAA;;AAC5C,YAAMG,UAAU,GAAG,gCAAnB;
|
1
|
+
{"version":3,"sources":["../../../../src/api/myOrdersApi/index.ts"],"names":["MyOrdersApiFactory","instance","initialise","myOrdersApi","MyOrdersAPI","cacheKeys","useGet","useOrders","Object","freeze","useCreate","meta","onSuccess","onError","queryCache","myCartApi","useSync","syncBasket","create","data","setQueryData","myCartCacheKeys","invalidateQueries","useGetCompact","error","useGetById","id","getById","retry","refetchOnWindowFocus","enabled","Boolean","query","filter","getInstance"],"mappings":";;;;;;;;;;;AAAA;;AAMA;;AACA;;AAUA;;AAeO,IAAMA,kBAAkB,GAAI,YAAY;AAC7C,MAAIC,QAAJ;;AAEA,WAASC,UAAT,GAAiD;AAC/C,QAAMC,WAAW,GAAG,IAAIC,gBAAJ,CAAgB,iCAAhB,CAApB;AAEA,QAAMC,SAAS,GAAG;AAChBC,MAAAA,MAAM,EAAE,uBADQ;AAEhBC,MAAAA,SAAS,EAAE;AAFK,KAAlB;AAKA,WAAOC,MAAM,CAACC,MAAP,CAAc;AACnBC,MAAAA,SAAS,EAAE,mBAACC,IAAD,EAAYC,SAAZ,EAAuBC,OAAvB,EAAmC;AAAA,YAAlCF,IAAkC;AAAlCA,UAAAA,IAAkC,GAA3B,EAA2B;AAAA;;AAC5C,YAAMG,UAAU,GAAG,gCAAnB;;AAD4C,iCAEvBC,qBAAUC,OAAV,EAFuB;AAAA,YAErCC,UAFqC;;AAI5C,eAAO,6BAAY;AAAA,iBAAMd,WAAW,CAACe,MAAZ,CAAmB,EAAnB,EAAuBP,IAAvB,CAAN;AAAA,SAAZ,EAAgD;AACrDC,UAAAA,SAAS;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,YAAE,UAACO,IAAD,EAAU;AACnBL,YAAAA,UAAU,CAACM,YAAX,CAAwBC,2BAAgBf,MAAxC,EAAgDa,IAAhD;AACAL,YAAAA,UAAU,CAACQ,iBAAX,CAA6BD,2BAAgBE,aAA7C;AACAN,YAAAA,UAAU;;AACV,gBAAI,OAAOL,SAAP,KAAqB,UAAzB,EAAqC;AACnCA,cAAAA,SAAS,CAACO,IAAD,CAAT;AACD;AACF,WAPQ,CAD4C;AASrDN,UAAAA,OAAO;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,YAAE,UAACW,KAAD,EAAW;AAClB,gBAAI,OAAOX,OAAP,KAAmB,UAAvB,EAAmC;AACjCA,cAAAA,OAAO,CAACW,KAAD,CAAP;AACD;AACF,WAJM;AAT8C,SAAhD,CAAP;AAeD,OApBkB;AAqBnBC,MAAAA,UAAU,EAAE,oBAACC,EAAD,EAAQ;AAClB,eAAO,0BACL,CAACrB,SAAS,CAACC,MAAX,EAAmBoB,EAAnB,CADK,6FAEL;AAAA;AAAA;AAAA;AAAA;AAAA,mDAAYvB,WAAW,CAACwB,OAAZ,CAAoBD,EAApB,CAAZ;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAFK,IAGL;AACEE,UAAAA,KAAK,EAAE,KADT;AAEEC,UAAAA,oBAAoB,EAAE,KAFxB;AAGEC,UAAAA,OAAO,EAAEC,OAAO,CAACL,EAAD;AAHlB,SAHK,CAAP;AASD,OA/BkB;AAgCnBnB,MAAAA,SAAS,EAAE,mBAACyB,KAAD,EAAiD;AAC1D,eAAO,kCACL,CAAC3B,SAAS,CAACE,SAAX,CADK,6FAEL;AAAA;AAAA;AAAA;AAAA;AAAA,oDAAYJ,WAAW,CAAC8B,MAAZ,CAAmBD,KAAnB,CAAZ;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAFK,IAGL;AACEJ,UAAAA,KAAK,EAAE,KADT;AAEEC,UAAAA,oBAAoB,EAAE;AAFxB,SAHK,CAAP;AAQD;AAzCkB,KAAd,CAAP;AA2CD;;AAED,SAAO;AACLK,IAAAA,WAAW,EAAE,uBAAY;AACvB,UAAI,CAACjC,QAAL,EAAe;AACbA,QAAAA,QAAQ,GAAGC,UAAU,EAArB;AACD;;AAED,aAAOD,QAAP;AACD;AAPI,GAAP;AASD,CAjEiC,EAA3B;;;AAmEA,IAAME,WAAW,GAAGH,kBAAkB,CAACkC,WAAnB,EAApB","sourcesContent":["import {\n MyOrdersAPI,\n OrderDTO,\n OrderFilterResultDTO,\n SendOrderDTO,\n} from '@sentecacommerce/sdk'\nimport { getSDKConfig } from '../getSDKConfig'\nimport {\n useMutation,\n MutationResultPair,\n useQueryCache,\n useQuery,\n QueryResult,\n InfiniteQueryResult,\n useInfiniteQuery,\n} from 'react-query'\n\nimport { myCartApi, myCartCacheKeys } from '../myCartApi'\n\ntype myOrdersApiType = {\n readonly useCreate: (\n meta: SendOrderDTO,\n onSuccess?: (result: OrderDTO) => void,\n onError?: (error: any) => void\n ) => MutationResultPair<OrderDTO, unknown, any, unknown>\n readonly useGetById: (id?: string) => QueryResult<OrderDTO, unknown>\n readonly useOrders: (query?: {\n limit?: number\n offset?: number\n }) => InfiniteQueryResult<OrderFilterResultDTO, unknown>\n}\n\nexport const MyOrdersApiFactory = (function () {\n let instance: myOrdersApiType\n\n function initialise(): Readonly<myOrdersApiType> {\n const myOrdersApi = new MyOrdersAPI(getSDKConfig())\n\n const cacheKeys = {\n useGet: 'my-orders-api-use-get',\n useOrders: 'my-orders-use-orders',\n }\n\n return Object.freeze({\n useCreate: (meta = {}, onSuccess, onError) => {\n const queryCache = useQueryCache()\n const [syncBasket] = myCartApi.useSync()\n\n return useMutation(() => myOrdersApi.create({}, meta), {\n onSuccess: (data) => {\n queryCache.setQueryData(myCartCacheKeys.useGet, data)\n queryCache.invalidateQueries(myCartCacheKeys.useGetCompact)\n syncBasket()\n if (typeof onSuccess === 'function') {\n onSuccess(data)\n }\n },\n onError: (error) => {\n if (typeof onError === 'function') {\n onError(error)\n }\n },\n })\n },\n useGetById: (id) => {\n return useQuery(\n [cacheKeys.useGet, id],\n async () => myOrdersApi.getById(id as string),\n {\n retry: false,\n refetchOnWindowFocus: false,\n enabled: Boolean(id),\n }\n )\n },\n useOrders: (query?: { limit?: number; offset?: number }) => {\n return useInfiniteQuery(\n [cacheKeys.useOrders],\n async () => myOrdersApi.filter(query),\n {\n retry: false,\n refetchOnWindowFocus: false,\n }\n )\n },\n })\n }\n\n return {\n getInstance: function () {\n if (!instance) {\n instance = initialise()\n }\n\n return instance\n },\n }\n})()\n\nexport const myOrdersApi = MyOrdersApiFactory.getInstance()\n"],"file":"index.js"}
|
@@ -15,6 +15,8 @@ var _utils2 = require("../../useProduct/utils");
|
|
15
15
|
|
16
16
|
var _assetsToMap = require("../../../utils/assetsToMap");
|
17
17
|
|
18
|
+
var _utils3 = require("../../../utils");
|
19
|
+
|
18
20
|
var useBasketLineItem = function useBasketLineItem(props) {
|
19
21
|
var _props$item;
|
20
22
|
|
@@ -42,6 +44,7 @@ var useBasketLineItem = function useBasketLineItem(props) {
|
|
42
44
|
var offer = item == null ? void 0 : (_item$variant = item.variant) == null ? void 0 : _item$variant.offer;
|
43
45
|
var mappedAttributes = (0, _utils.createMappedAttributes)(item == null ? void 0 : (_item$variant2 = item.variant) == null ? void 0 : _item$variant2.attributes);
|
44
46
|
var unitDiscountedPrice = (_item$discountedPrice = item == null ? void 0 : (_item$discountedPrice2 = item.discountedPricePerQuantity) == null ? void 0 : (_item$discountedPrice3 = _item$discountedPrice2[0]) == null ? void 0 : (_item$discountedPrice4 = _item$discountedPrice3.discountedPrice) == null ? void 0 : _item$discountedPrice4.value) != null ? _item$discountedPrice : item == null ? void 0 : (_item$offer = item.offer) == null ? void 0 : _item$offer.discountedPrice;
|
47
|
+
var mappedCustomField = (0, _utils3.customFieldsToMap)(item.custom);
|
45
48
|
return {
|
46
49
|
productId: item == null ? void 0 : item.productId,
|
47
50
|
variantId: item == null ? void 0 : (_item$variant3 = item.variant) == null ? void 0 : _item$variant3._id,
|
@@ -79,6 +82,9 @@ var useBasketLineItem = function useBasketLineItem(props) {
|
|
79
82
|
hasAvailableQuantity: item != null && (_item$variant13 = item.variant) != null && (_item$variant13$inven = _item$variant13.inventorySnapshot) != null && _item$variant13$inven.canOrder ? true : false,
|
80
83
|
availableQuantity: item != null && (_item$variant14 = item.variant) != null && (_item$variant14$inven = _item$variant14.inventorySnapshot) != null && _item$variant14$inven.canOrder ? Number(item == null ? void 0 : (_item$variant15 = item.variant) == null ? void 0 : (_item$variant15$inven = _item$variant15.inventorySnapshot) == null ? void 0 : _item$variant15$inven.availableQuantity) : 0
|
81
84
|
},
|
85
|
+
getCustomFieldByKey: function getCustomFieldByKey(key) {
|
86
|
+
return mappedCustomField[key];
|
87
|
+
},
|
82
88
|
getAttributeByKey: function getAttributeByKey(key) {
|
83
89
|
return mappedAttributes[key];
|
84
90
|
},
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../src/hooks/basket-hooks/useBasketLineItem/index.ts"],"names":["useBasketLineItem","props","React","useState","isExpired","setIsExpired","myCartApi","useSync","syncBasket","item","productSlug","onMouseDown","onMouseEnter","onMouseLeave","data","useMemo","expiry","snapshotFrom","offer","variant","mappedAttributes","attributes","unitDiscountedPrice","discountedPricePerQuantity","discountedPrice","value","productId","variantId","_id","lineItemId","collapseKey","offerId","sku","name","productName","slug","brand","brandSnapshot","assets","thumbnail","productThumbnailUrl","images","mappedSelectedOptions","selectedOptions","map","option","availableOptions","lineItemMode","status","unitOfWeight","shippingData","height","width","unitOfMetric","isPriceChanged","priceChanged","quantityInBasket","quantity","totalPrice","originalPrice","taxedPrice","totalGross","totalDiscountedPrice","unitPrice","inventory","hasAvailableQuantity","inventorySnapshot","canOrder","availableQuantity","Number","
|
1
|
+
{"version":3,"sources":["../../../../../src/hooks/basket-hooks/useBasketLineItem/index.ts"],"names":["useBasketLineItem","props","React","useState","isExpired","setIsExpired","myCartApi","useSync","syncBasket","item","productSlug","onMouseDown","onMouseEnter","onMouseLeave","data","useMemo","expiry","snapshotFrom","offer","variant","mappedAttributes","attributes","unitDiscountedPrice","discountedPricePerQuantity","discountedPrice","value","mappedCustomField","custom","productId","variantId","_id","lineItemId","collapseKey","offerId","sku","name","productName","slug","brand","brandSnapshot","assets","thumbnail","productThumbnailUrl","images","mappedSelectedOptions","selectedOptions","map","option","availableOptions","lineItemMode","status","unitOfWeight","shippingData","height","width","unitOfMetric","isPriceChanged","priceChanged","quantityInBasket","quantity","totalPrice","originalPrice","taxedPrice","totalGross","totalDiscountedPrice","unitPrice","inventory","hasAvailableQuantity","inventorySnapshot","canOrder","availableQuantity","Number","getCustomFieldByKey","key","getAttributeByKey","callback"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { myCartApi } from '../../../'\nimport { usePrefetchProduct } from '../../../'\nimport {\n LineItemDTO,\n LineItemDTOLineItemModeEnum,\n LineItemDTOStatusEnum,\n MoneyDTO,\n SelectedOptionDTO,\n ShippingDataDTOUnitOfMetricEnum,\n ShippingDataDTOUnitOfWeightEnum,\n} from '@sentecacommerce/sdk'\nimport { getTranslatableField } from '../../../'\nimport { BaseProductType } from '../../useLineItem'\nimport {\n createMappedAttributes,\n getTimeStamp,\n calculateTotalPrice,\n} from './utils'\nimport {\n createSelectedOption,\n SelectedOptionType,\n} from '../../useProduct/utils'\nimport { assetsFieldsToMap, AssetsMap } from '../../../utils/assetsToMap'\nimport { customFieldsToMap } from '../../../utils'\n\ninterface BasketLineItemProps extends BaseProductType {\n productId: string\n lineItemId: string\n quantityInBasket: number\n unitPrice?: MoneyDTO\n unitDiscountedPrice?: MoneyDTO\n totalPrice?: MoneyDTO\n totalDiscountedPrice?: MoneyDTO\n lineItemMode: LineItemDTOLineItemModeEnum\n status: LineItemDTOStatusEnum\n mappedSelectedOptions?: SelectedOptionType[]\n selectedOptions?: SelectedOptionDTO[]\n isPriceChanged: boolean\n brand?: {\n assets?: AssetsMap\n name?: string\n }\n unitOfWeight?: ShippingDataDTOUnitOfWeightEnum\n height?: number\n width?: number\n unitOfMetric?: ShippingDataDTOUnitOfMetricEnum\n\n thumbnail: string\n\n getAttributeByKey: (\n key: string\n ) => {\n _id: string\n label: string\n value: string\n extra: any\n }\n\n getCustomFieldByKey: (key: string) => any\n}\n\nexport const useBasketLineItem = (props: {\n item: LineItemDTO\n expiry?: number\n}): BasketLineItemProps => {\n const [isExpired, setIsExpired] = React.useState<boolean>(false)\n const [syncBasket] = myCartApi.useSync()\n const { onMouseDown, onMouseEnter, onMouseLeave } = usePrefetchProduct(\n getTranslatableField(props?.item?.productSlug)\n )\n\n const data = React.useMemo((): BasketLineItemProps => {\n const { item } = props\n\n if (props?.expiry && getTimeStamp(props.expiry) < item.snapshotFrom) {\n setIsExpired(true)\n }\n\n const offer = item?.variant?.offer\n\n const mappedAttributes = createMappedAttributes(item?.variant?.attributes)\n\n const unitDiscountedPrice =\n item?.discountedPricePerQuantity?.[0]?.discountedPrice?.value ??\n item?.offer?.discountedPrice\n\n const mappedCustomField = customFieldsToMap(item.custom)\n\n return {\n productId: item?.productId,\n variantId: item?.variant?._id,\n lineItemId: item?._id,\n collapseKey: item?.collapseKey,\n offerId: offer?._id,\n sku: item?.variant?.sku,\n\n name: getTranslatableField(item?.productName),\n slug: getTranslatableField(item?.productSlug),\n brand: {\n name: getTranslatableField(item?.brandSnapshot?.name),\n assets: assetsFieldsToMap(item?.brandSnapshot?.assets),\n },\n thumbnail: item?.productThumbnailUrl,\n images: item?.variant?.images,\n\n mappedSelectedOptions: item?.variant?.selectedOptions?.map((option) =>\n createSelectedOption(item?.variant?.availableOptions, option)\n ),\n\n selectedOptions: item?.variant?.selectedOptions,\n\n lineItemMode: item?.lineItemMode,\n status: item?.status,\n\n unitOfWeight: item?.variant?.shippingData?.unitOfWeight,\n height: item?.variant?.shippingData?.height,\n width: item?.variant?.shippingData?.width,\n unitOfMetric: item?.variant?.shippingData?.unitOfMetric,\n\n isPriceChanged: item?.priceChanged,\n quantityInBasket: item?.quantity,\n\n totalPrice: unitDiscountedPrice\n ? calculateTotalPrice(item?.offer?.originalPrice, item?.quantity)\n : item?.taxedPrice?.totalGross,\n totalDiscountedPrice: unitDiscountedPrice && item?.taxedPrice?.totalGross,\n\n unitPrice: item?.offer?.originalPrice,\n unitDiscountedPrice,\n\n inventory: {\n hasAvailableQuantity: item?.variant?.inventorySnapshot?.canOrder\n ? true\n : false,\n availableQuantity: item?.variant?.inventorySnapshot?.canOrder\n ? Number(item?.variant?.inventorySnapshot?.availableQuantity)\n : 0,\n },\n getCustomFieldByKey: (key: string) => mappedCustomField[key],\n getAttributeByKey: (key: string) => mappedAttributes[key],\n onMouseEnter: (callback: any) => onMouseEnter(callback),\n onMouseLeave: () => onMouseLeave(),\n onMouseDown: (callback: any) => () => onMouseDown(callback),\n }\n }, [props.item])\n\n if (isExpired) {\n syncBasket()\n setIsExpired(false)\n }\n\n return data\n}\n"],"file":"index.js"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/listing/hooks/useListingCategories.tsx"],"names":["ListingCategoriesStateContext","React","createContext","undefined","ListingCategoriesProvider","children","router","categoryTreeConfig","AggregateRequestEnum","Categories","aggData","data","isLoading","currentCategory","generateCurrentUrl","type","term","useMemo","response","nodes","map","current","buildNodes","categoryTree","buildCategories","useListingCategories","context","useContext","Error","generateUrl","suffix","typeToSuffix","pageType","res","ListingTypesEnum","Brand","query","slug","cat","Category","meta","View","Search","filter","Array","isArray","idx","findIndex","x","includes","key","join","parentId","name","url","categories","node","roots","i","length","hasOwnProperty","selectedNode","push"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { NextRouter, useRouter } from 'next/router'\n\nimport { useListingConfig } from './useListingConfig'\nimport { getTranslatableField, typeToSuffix } from '../../utils'\nimport {\n useAggregateQuery,\n AggregateRequestEnum,\n AggregationResultType,\n} from '../api'\n\nimport { processCategoriesResponse, getAggregateTypeAndTerm } from './utils'\nimport { Aggregate, ListingTypesEnum } from '../types'\nimport { getListingPageType, getPostFilters } from '../utils'\n\nexport type Node = {\n children?: Node[]\n key: string\n parentId: string\n name: string\n url: string\n}\n\nexport type UseListingCategoriesResult = {\n data: Node[] | null\n isLoading: boolean\n currentCategory: string\n}\n\nconst ListingCategoriesStateContext = React.createContext<\n UseListingCategoriesResult | undefined\n>(undefined)\n\nexport function ListingCategoriesProvider({\n children,\n}: {\n children: React.ReactNode\n}) {\n const router = useRouter()\n const { categoryTreeConfig } = useListingConfig()\n const { data: aggData, isLoading } = useAggregateQuery(\n [categoryTreeConfig as Aggregate],\n AggregateRequestEnum.Categories\n )\n const currentCategory = generateCurrentUrl(router)\n const { type, term } = getAggregateTypeAndTerm(categoryTreeConfig)\n\n const data = React.useMemo(() => {\n if (aggData) {\n const response = processCategoriesResponse(aggData, type, term)\n\n const nodes = response.map((current) => buildNodes(current, router))\n\n const categoryTree = buildCategories(nodes)\n\n return categoryTree\n }\n return null\n }, [aggData, router])\n\n return (\n <ListingCategoriesStateContext.Provider\n value={{ data, isLoading, currentCategory }}\n >\n {children}\n </ListingCategoriesStateContext.Provider>\n )\n}\n\nexport const useListingCategories = () => {\n const context = React.useContext(ListingCategoriesStateContext)\n if (context === undefined) {\n throw new Error(\n 'useListingFilters must be used within a ListingFiltersProvider'\n )\n }\n return context\n}\n\nfunction generateUrl(current: AggregationResultType, router: NextRouter) {\n const suffix = typeToSuffix[getListingPageType(router)]\n const pageType = getListingPageType(router)\n let res\n\n if (pageType === ListingTypesEnum.Brand) {\n res = `/${router.query.slug}/${suffix}`\n if (router.query.cat) {\n res = `/${router.query.slug}/${router.query.cat}/${suffix}`\n }\n }\n if (pageType === ListingTypesEnum.Category) {\n res = `/${getTranslatableField(current.meta.slug)}/${suffix}`\n if (router.query.cat) {\n res = `/${router.query.slug}/${getTranslatableField(\n current.meta.slug\n )}/${suffix}`\n }\n }\n if (pageType === ListingTypesEnum.View) {\n res = `/${router.query.slug}/${getTranslatableField(\n current.meta.slug\n )}/${suffix}`\n }\n\n if (pageType === ListingTypesEnum.Search) {\n res = `/${getTranslatableField(current.meta.slug)}/c`\n }\n\n let filter = router.query.filter as any\n\n if (suffix === 'b') {\n if (filter) {\n if (Array.isArray(filter)) {\n filter = [...filter]\n const idx = filter.findIndex((x: any) => x.includes('category'))\n filter[idx] = `category;eq;\"${current.key}\"`\n } else {\n if (filter.includes('category')) {\n filter = `category;eq;\"${current.key}\"`\n } else {\n filter = [filter, `category;eq;\"${current.key}\"`]\n }\n }\n } else {\n filter = `category;eq;\"${current.key}\"`\n }\n }\n\n if (filter) {\n if (Array.isArray(filter)) {\n res += '?filter=' + filter.join('&')\n } else {\n res += '?filter=' + filter\n }\n }\n\n return res as string\n}\n\nfunction generateCurrentUrl(router: NextRouter) {\n const suffix = typeToSuffix[getListingPageType(router)]\n let res = `/${router.query.slug}/${suffix}`\n\n if (router.query.cat) {\n res = `/${router.query.slug}/${router.query.cat}/${suffix}`\n }\n\n if (router.query?.filter) {\n res += '?filter=' + getPostFilters(router)\n }\n return res\n}\n\nfunction buildNodes(\n current: AggregationResultType,\n\n router: NextRouter\n): Node {\n return {\n parentId: current.meta.parentId,\n key: current.key,\n children: [],\n name: getTranslatableField(current.meta.name),\n url: generateUrl(current, router),\n }\n}\n\nfunction buildCategories(categories: Node[]): Node[] {\n const map = {}\n let node\n const roots = []\n let i\n\n for (i = 0; i < categories?.length; i += 1) {\n map[categories[i].key] = i\n categories[i].children = []\n }\n\n for (i = 0; i < categories?.length; i += 1) {\n node = categories[i]\n // ? map[node.parent.resourceId] handles the case when a product has specified categories\n // ? without any of the ancestor ones eg. have Man > Shoes > Loafers the product\n // ? has specified only Loafers or Shoes > Loafers.\n if (node.parentId && map.hasOwnProperty(node.parentId)) {\n if (node.key !== node.parentId) {\n const selectedNode = categories[map[node?.parentId]]\n selectedNode?.children?.push(node)\n }\n } else {\n roots.push(node)\n }\n }\n\n return roots\n}\n"],"file":"useListingCategories.js"}
|
1
|
+
{"version":3,"sources":["../../../../src/listing/hooks/useListingCategories.tsx"],"names":["ListingCategoriesStateContext","React","createContext","undefined","ListingCategoriesProvider","children","router","categoryTreeConfig","AggregateRequestEnum","Categories","aggData","data","isLoading","currentCategory","generateCurrentUrl","type","term","useMemo","response","nodes","map","current","buildNodes","categoryTree","buildCategories","useListingCategories","context","useContext","Error","generateUrl","suffix","typeToSuffix","pageType","res","ListingTypesEnum","Brand","query","slug","cat","Category","meta","View","Search","filter","Array","isArray","idx","findIndex","x","includes","key","join","parentId","name","url","categories","node","roots","i","length","hasOwnProperty","selectedNode","push"],"mappings":";;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AAgBA,IAAMA,6BAA6B,gBAAGC,kBAAMC,aAAN,CAEpCC,SAFoC,CAAtC;;AAIO,SAASC,yBAAT,OAIJ;AAAA,MAHDC,QAGC,QAHDA,QAGC;AACD,MAAMC,MAAM,GAAG,wBAAf;;AADC,0BAE8B,0CAF9B;AAAA,MAEOC,kBAFP,qBAEOA,kBAFP;;AAAA,2BAGoC,4BACnC,CAACA,kBAAD,CADmC,EAEnCC,0BAAqBC,UAFc,CAHpC;AAAA,MAGaC,OAHb,sBAGOC,IAHP;AAAA,MAGsBC,SAHtB,sBAGsBA,SAHtB;;AAOD,MAAMC,eAAe,GAAGC,kBAAkB,CAACR,MAAD,CAA1C;;AAPC,8BAQsB,qCAAwBC,kBAAxB,CARtB;AAAA,MAQOQ,IARP,yBAQOA,IARP;AAAA,MAQaC,IARb,yBAQaA,IARb;;AAUD,MAAML,IAAI,GAAGV,kBAAMgB,OAAN,CAAc,YAAM;AAC/B,QAAIP,OAAJ,EAAa;AACX,UAAMQ,QAAQ,GAAG,uCAA0BR,OAA1B,EAAmCK,IAAnC,EAAyCC,IAAzC,CAAjB;AAEA,UAAMG,KAAK,GAAGD,QAAQ,CAACE,GAAT,CAAa,UAACC,OAAD;AAAA,eAAaC,UAAU,CAACD,OAAD,EAAUf,MAAV,CAAvB;AAAA,OAAb,CAAd;AAEA,UAAMiB,YAAY,GAAGC,eAAe,CAACL,KAAD,CAApC;AAEA,aAAOI,YAAP;AACD;;AACD,WAAO,IAAP;AACD,GAXY,EAWV,CAACb,OAAD,EAAUJ,MAAV,CAXU,CAAb;;AAaA,sBACE,gCAAC,6BAAD,CAA+B,QAA/B;AACE,IAAA,KAAK,EAAE;AAAEK,MAAAA,IAAI,EAAJA,IAAF;AAAQC,MAAAA,SAAS,EAATA,SAAR;AAAmBC,MAAAA,eAAe,EAAfA;AAAnB;AADT,KAGGR,QAHH,CADF;AAOD;;AAEM,IAAMoB,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;AACxC,MAAMC,OAAO,GAAGzB,kBAAM0B,UAAN,CAAiB3B,6BAAjB,CAAhB;;AACA,MAAI0B,OAAO,KAAKvB,SAAhB,EAA2B;AACzB,UAAM,IAAIyB,KAAJ,CACJ,gEADI,CAAN;AAGD;;AACD,SAAOF,OAAP;AACD,CARM;;;;AAUP,SAASG,WAAT,CAAqBR,OAArB,EAAqDf,MAArD,EAAyE;AACvE,MAAMwB,MAAM,GAAGC,oBAAa,gCAAmBzB,MAAnB,CAAb,CAAf;;AACA,MAAM0B,QAAQ,GAAG,gCAAmB1B,MAAnB,CAAjB;AACA,MAAI2B,GAAJ;;AAEA,MAAID,QAAQ,KAAKE,wBAAiBC,KAAlC,EAAyC;AACvCF,IAAAA,GAAG,SAAO3B,MAAM,CAAC8B,KAAP,CAAaC,IAApB,SAA4BP,MAA/B;;AACA,QAAIxB,MAAM,CAAC8B,KAAP,CAAaE,GAAjB,EAAsB;AACpBL,MAAAA,GAAG,SAAO3B,MAAM,CAAC8B,KAAP,CAAaC,IAApB,SAA4B/B,MAAM,CAAC8B,KAAP,CAAaE,GAAzC,SAAgDR,MAAnD;AACD;AACF;;AACD,MAAIE,QAAQ,KAAKE,wBAAiBK,QAAlC,EAA4C;AAC1CN,IAAAA,GAAG,SAAO,iCAAqBZ,OAAO,CAACmB,IAAR,CAAaH,IAAlC,CAAP,SAAkDP,MAArD;;AACA,QAAIxB,MAAM,CAAC8B,KAAP,CAAaE,GAAjB,EAAsB;AACpBL,MAAAA,GAAG,SAAO3B,MAAM,CAAC8B,KAAP,CAAaC,IAApB,SAA4B,iCAC7BhB,OAAO,CAACmB,IAAR,CAAaH,IADgB,CAA5B,SAEEP,MAFL;AAGD;AACF;;AACD,MAAIE,QAAQ,KAAKE,wBAAiBO,IAAlC,EAAwC;AACtCR,IAAAA,GAAG,SAAO3B,MAAM,CAAC8B,KAAP,CAAaC,IAApB,SAA4B,iCAC7BhB,OAAO,CAACmB,IAAR,CAAaH,IADgB,CAA5B,SAEEP,MAFL;AAGD;;AAED,MAAIE,QAAQ,KAAKE,wBAAiBQ,MAAlC,EAA0C;AACxCT,IAAAA,GAAG,SAAO,iCAAqBZ,OAAO,CAACmB,IAAR,CAAaH,IAAlC,CAAP,OAAH;AACD;;AAED,MAAIM,MAAM,GAAGrC,MAAM,CAAC8B,KAAP,CAAaO,MAA1B;;AAEA,MAAIb,MAAM,KAAK,GAAf,EAAoB;AAClB,QAAIa,MAAJ,EAAY;AACV,UAAIC,KAAK,CAACC,OAAN,CAAcF,MAAd,CAAJ,EAA2B;AACzBA,QAAAA,MAAM,aAAOA,MAAP,CAAN;AACA,YAAMG,GAAG,GAAGH,MAAM,CAACI,SAAP,CAAiB,UAACC,CAAD;AAAA,iBAAYA,CAAC,CAACC,QAAF,CAAW,UAAX,CAAZ;AAAA,SAAjB,CAAZ;AACAN,QAAAA,MAAM,CAACG,GAAD,CAAN,sBAA8BzB,OAAO,CAAC6B,GAAtC;AACD,OAJD,MAIO;AACL,YAAIP,MAAM,CAACM,QAAP,CAAgB,UAAhB,CAAJ,EAAiC;AAC/BN,UAAAA,MAAM,sBAAmBtB,OAAO,CAAC6B,GAA3B,OAAN;AACD,SAFD,MAEO;AACLP,UAAAA,MAAM,GAAG,CAACA,MAAD,qBAAyBtB,OAAO,CAAC6B,GAAjC,QAAT;AACD;AACF;AACF,KAZD,MAYO;AACLP,MAAAA,MAAM,sBAAmBtB,OAAO,CAAC6B,GAA3B,OAAN;AACD;AACF;;AAED,MAAIP,MAAJ,EAAY;AACV,QAAIC,KAAK,CAACC,OAAN,CAAcF,MAAd,CAAJ,EAA2B;AACzBV,MAAAA,GAAG,IAAI,aAAaU,MAAM,CAACQ,IAAP,CAAY,UAAZ,CAApB;AACD,KAFD,MAEO;AACLlB,MAAAA,GAAG,IAAI,aAAaU,MAApB;AACD;AACF;;AAED,SAAOV,GAAP;AACD;;AAED,SAASnB,kBAAT,CAA4BR,MAA5B,EAAgD;AAAA;;AAC9C,MAAMwB,MAAM,GAAGC,oBAAa,gCAAmBzB,MAAnB,CAAb,CAAf;;AACA,MAAI2B,GAAG,SAAO3B,MAAM,CAAC8B,KAAP,CAAaC,IAApB,SAA4BP,MAAnC;;AAEA,MAAIxB,MAAM,CAAC8B,KAAP,CAAaE,GAAjB,EAAsB;AACpBL,IAAAA,GAAG,SAAO3B,MAAM,CAAC8B,KAAP,CAAaC,IAApB,SAA4B/B,MAAM,CAAC8B,KAAP,CAAaE,GAAzC,SAAgDR,MAAnD;AACD;;AAED,uBAAIxB,MAAM,CAAC8B,KAAX,aAAI,cAAcO,MAAlB,EAA0B;AACxBV,IAAAA,GAAG,IAAI,aAAa,4BAAe3B,MAAf,CAApB;AACD;;AACD,SAAO2B,GAAP;AACD;;AAED,SAASX,UAAT,CACED,OADF,EAGEf,MAHF,EAIQ;AACN,SAAO;AACL8C,IAAAA,QAAQ,EAAE/B,OAAO,CAACmB,IAAR,CAAaY,QADlB;AAELF,IAAAA,GAAG,EAAE7B,OAAO,CAAC6B,GAFR;AAGL7C,IAAAA,QAAQ,EAAE,EAHL;AAILgD,IAAAA,IAAI,EAAE,iCAAqBhC,OAAO,CAACmB,IAAR,CAAaa,IAAlC,CAJD;AAKLC,IAAAA,GAAG,EAAEzB,WAAW,CAACR,OAAD,EAAUf,MAAV;AALX,GAAP;AAOD;;AAED,SAASkB,eAAT,CAAyB+B,UAAzB,EAAqD;AACnD,MAAMnC,GAAG,GAAG,EAAZ;AACA,MAAIoC,IAAJ;AACA,MAAMC,KAAK,GAAG,EAAd;AACA,MAAIC,CAAJ;;AAEA,OAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,IAAGH,UAAH,oBAAGA,UAAU,CAAEI,MAAf,CAAb,EAAoCD,CAAC,IAAI,CAAzC,EAA4C;AAC1CtC,IAAAA,GAAG,CAACmC,UAAU,CAACG,CAAD,CAAV,CAAcR,GAAf,CAAH,GAAyBQ,CAAzB;AACAH,IAAAA,UAAU,CAACG,CAAD,CAAV,CAAcrD,QAAd,GAAyB,EAAzB;AACD;;AAED,OAAKqD,CAAC,GAAG,CAAT,EAAYA,CAAC,IAAGH,UAAH,oBAAGA,UAAU,CAAEI,MAAf,CAAb,EAAoCD,CAAC,IAAI,CAAzC,EAA4C;AAC1CF,IAAAA,IAAI,GAAGD,UAAU,CAACG,CAAD,CAAjB,CAD0C,CAE1C;AACA;AACA;;AACA,QAAIF,IAAI,CAACJ,QAAL,IAAiBhC,GAAG,CAACwC,cAAJ,CAAmBJ,IAAI,CAACJ,QAAxB,CAArB,EAAwD;AACtD,UAAII,IAAI,CAACN,GAAL,KAAaM,IAAI,CAACJ,QAAtB,EAAgC;AAAA;;AAC9B,YAAMS,YAAY,GAAGN,UAAU,CAACnC,GAAG,UAACoC,IAAD,qBAAC,MAAMJ,QAAP,CAAJ,CAA/B;AACAS,QAAAA,YAAY,QAAZ,qCAAAA,YAAY,CAAExD,QAAd,2CAAwByD,IAAxB,CAA6BN,IAA7B;AACD;AACF,KALD,MAKO;AACLC,MAAAA,KAAK,CAACK,IAAN,CAAWN,IAAX;AACD;AACF;;AAED,SAAOC,KAAP;AACD","sourcesContent":["import React from 'react'\nimport { NextRouter, useRouter } from 'next/router'\n\nimport { useListingConfig } from './useListingConfig'\nimport { getTranslatableField, typeToSuffix } from '../../utils'\nimport {\n useAggregateQuery,\n AggregateRequestEnum,\n AggregationResultType,\n} from '../api'\n\nimport { processCategoriesResponse, getAggregateTypeAndTerm } from './utils'\nimport { Aggregate, ListingTypesEnum } from '../types'\nimport { getListingPageType, getPostFilters } from '../utils'\n\nexport type Node = {\n children?: Node[]\n key: string\n parentId: string\n name: string\n url: string\n}\n\nexport type UseListingCategoriesResult = {\n data: Node[] | null\n isLoading: boolean\n currentCategory: string\n}\n\nconst ListingCategoriesStateContext = React.createContext<\n UseListingCategoriesResult | undefined\n>(undefined)\n\nexport function ListingCategoriesProvider({\n children,\n}: {\n children: React.ReactNode\n}) {\n const router = useRouter()\n const { categoryTreeConfig } = useListingConfig()\n const { data: aggData, isLoading } = useAggregateQuery(\n [categoryTreeConfig as Aggregate],\n AggregateRequestEnum.Categories\n )\n const currentCategory = generateCurrentUrl(router)\n const { type, term } = getAggregateTypeAndTerm(categoryTreeConfig)\n\n const data = React.useMemo(() => {\n if (aggData) {\n const response = processCategoriesResponse(aggData, type, term)\n\n const nodes = response.map((current) => buildNodes(current, router))\n\n const categoryTree = buildCategories(nodes)\n\n return categoryTree\n }\n return null\n }, [aggData, router])\n\n return (\n <ListingCategoriesStateContext.Provider\n value={{ data, isLoading, currentCategory }}\n >\n {children}\n </ListingCategoriesStateContext.Provider>\n )\n}\n\nexport const useListingCategories = () => {\n const context = React.useContext(ListingCategoriesStateContext)\n if (context === undefined) {\n throw new Error(\n 'useListingFilters must be used within a ListingFiltersProvider'\n )\n }\n return context\n}\n\nfunction generateUrl(current: AggregationResultType, router: NextRouter) {\n const suffix = typeToSuffix[getListingPageType(router)]\n const pageType = getListingPageType(router)\n let res\n\n if (pageType === ListingTypesEnum.Brand) {\n res = `/${router.query.slug}/${suffix}`\n if (router.query.cat) {\n res = `/${router.query.slug}/${router.query.cat}/${suffix}`\n }\n }\n if (pageType === ListingTypesEnum.Category) {\n res = `/${getTranslatableField(current.meta.slug)}/${suffix}`\n if (router.query.cat) {\n res = `/${router.query.slug}/${getTranslatableField(\n current.meta.slug\n )}/${suffix}`\n }\n }\n if (pageType === ListingTypesEnum.View) {\n res = `/${router.query.slug}/${getTranslatableField(\n current.meta.slug\n )}/${suffix}`\n }\n\n if (pageType === ListingTypesEnum.Search) {\n res = `/${getTranslatableField(current.meta.slug)}/c`\n }\n\n let filter = router.query.filter as any\n\n if (suffix === 'b') {\n if (filter) {\n if (Array.isArray(filter)) {\n filter = [...filter]\n const idx = filter.findIndex((x: any) => x.includes('category'))\n filter[idx] = `category;eq;\"${current.key}\"`\n } else {\n if (filter.includes('category')) {\n filter = `category;eq;\"${current.key}\"`\n } else {\n filter = [filter, `category;eq;\"${current.key}\"`]\n }\n }\n } else {\n filter = `category;eq;\"${current.key}\"`\n }\n }\n\n if (filter) {\n if (Array.isArray(filter)) {\n res += '?filter=' + filter.join('&filter=')\n } else {\n res += '?filter=' + filter\n }\n }\n\n return res as string\n}\n\nfunction generateCurrentUrl(router: NextRouter) {\n const suffix = typeToSuffix[getListingPageType(router)]\n let res = `/${router.query.slug}/${suffix}`\n\n if (router.query.cat) {\n res = `/${router.query.slug}/${router.query.cat}/${suffix}`\n }\n\n if (router.query?.filter) {\n res += '?filter=' + getPostFilters(router)\n }\n return res\n}\n\nfunction buildNodes(\n current: AggregationResultType,\n\n router: NextRouter\n): Node {\n return {\n parentId: current.meta.parentId,\n key: current.key,\n children: [],\n name: getTranslatableField(current.meta.name),\n url: generateUrl(current, router),\n }\n}\n\nfunction buildCategories(categories: Node[]): Node[] {\n const map = {}\n let node\n const roots = []\n let i\n\n for (i = 0; i < categories?.length; i += 1) {\n map[categories[i].key] = i\n categories[i].children = []\n }\n\n for (i = 0; i < categories?.length; i += 1) {\n node = categories[i]\n // ? map[node.parent.resourceId] handles the case when a product has specified categories\n // ? without any of the ancestor ones eg. have Man > Shoes > Loafers the product\n // ? has specified only Loafers or Shoes > Loafers.\n if (node.parentId && map.hasOwnProperty(node.parentId)) {\n if (node.key !== node.parentId) {\n const selectedNode = categories[map[node?.parentId]]\n selectedNode?.children?.push(node)\n }\n } else {\n roots.push(node)\n }\n }\n\n return roots\n}\n"],"file":"useListingCategories.js"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../src/user/api/utils/processLoginPayload.ts"],"names":["processLoginPayload","data","anonymous","WISHLIST_STORAGE_KEY","wishList","BASKET_STORAGE_KEY","basket","accessToken","expires","refreshToken"],"mappings":";;;;;AAEA;;AACA;;AAEA;;AAQO,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CACjCC,IADiC,EAEjCC,SAFiC,EAG9B;AAAA,MADHA,SACG;AADHA,IAAAA,SACG,GADS,KACT;AAAA;;AACH,kCAAoBC,iCAApB,EAA0CF,IAAI,CAACG,QAA/C;AACA,kCAAoBC,6BAApB,EAAwCJ,IAAI,CAACK,MAA7C;AAEA,6BAAeL,IAAI,CAACM,WAApB,
|
1
|
+
{"version":3,"sources":["../../../../../src/user/api/utils/processLoginPayload.ts"],"names":["processLoginPayload","data","anonymous","WISHLIST_STORAGE_KEY","wishList","BASKET_STORAGE_KEY","basket","accessToken","expires","refreshToken"],"mappings":";;;;;AAEA;;AACA;;AAEA;;AAQO,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CACjCC,IADiC,EAEjCC,SAFiC,EAG9B;AAAA,MADHA,SACG;AADHA,IAAAA,SACG,GADS,KACT;AAAA;;AACH,kCAAoBC,iCAApB,EAA0CF,IAAI,CAACG,QAA/C;AACA,kCAAoBC,6BAApB,EAAwCJ,IAAI,CAACK,MAA7C;AAEA,6BAAeL,IAAI,CAACM,WAApB,EAA2CL,SAA3C;AACA,6BAAeD,IAAI,CAACO,OAApB;AACA,8BAAgBP,IAAI,CAACQ,YAArB;AACA,GAACP,SAAD,IAAc,6BAAd;AACD,CAXM","sourcesContent":["import { TokenResponseDTO } from '@sentecacommerce/sdk'\n\nimport { WISHLIST_STORAGE_KEY } from '../../../api/wishlistApi'\nimport { BASKET_STORAGE_KEY } from '../../../api/myCartApi'\n\nimport {\n writeToLocalStorage,\n setAccessToken,\n setExpiryToken,\n setRefreshToken,\n removeAnonToken,\n} from '../../../utils'\n\nexport const processLoginPayload = (\n data: TokenResponseDTO,\n anonymous = false\n) => {\n writeToLocalStorage(WISHLIST_STORAGE_KEY, data.wishList)\n writeToLocalStorage(BASKET_STORAGE_KEY, data.basket)\n\n setAccessToken(data.accessToken as string, anonymous)\n setExpiryToken(data.expires as number)\n setRefreshToken(data.refreshToken as string)\n !anonymous && removeAnonToken()\n}\n"],"file":"processLoginPayload.js"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/api/authApi/index.ts"],"names":["AuthAPI","CustomersAPI","OAuthTokenRequestDTOResponseModeEnum","LoginRequestDTOResponseModeEnum","TokenRequestDTOGrantTypeEnum","useQuery","useMutation","useQueryCache","usersApi","WISHLIST_STORAGE_KEY","cacheKeys","wishlistCacheKeys","BASKET_STORAGE_KEY","myCartCacheKeys","generateGuid","writeToLocalStorage","getSDKConfig","removeAnonToken","removeAuthToken","setRefreshToken","getAnonToken","getAuthToken","setExpiryToken","setAccessToken","isTokenExpired","getRefreshToken","removeExpiryToken","removeRefreshToken","getAnonId","isAuthenticated","AuthApiFactory","instance","initialise","customersApi","tokenApi","processLoginPayload","data","anonymous","wishList","basket","accessToken","expires","refreshToken","invalidateQueries","queryCache","useGet","useGetCompact","getQueries","forEach","query","refetch","processLogin","onSuccess","Object","freeze","authToken","anonToken","anonTokenData","createAnonymousToken","grantType","Implicit","anonymousId","newToken","RefreshToken","authApi","staleTime","useLogin","values","login","responseMode","Compact","useRegister","register","useLoginFacebook","createFacebookToken","useLoginGoogle","createGoogleToken","useLoginApple","createAppleToken","useResetPassword","resetPassword","useRequestResetPasswordToken","createPasswordToken","useLogout","itemsCount","items","lineItems","customLineItems","lineItemsCount","customLineItemsCount","getInstance"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport {\n AuthAPI,\n CustomersAPI,\n RegisterRequestDTO,\n CustomerDTO,\n PasswordResetDTO,\n PasswordTokenDTO,\n TokenResponseDTO,\n OAuthTokenRequestDTOResponseModeEnum,\n LoginRequestDTOResponseModeEnum,\n TokenRequestDTOGrantTypeEnum,\n} from '@sentecacommerce/sdk'\nimport {\n useQuery,\n useMutation,\n QueryCache,\n MutationResultPair,\n QueryResult,\n useQueryCache,\n} from 'react-query'\nimport { usersApi } from '../usersApi'\nimport {\n WISHLIST_STORAGE_KEY,\n cacheKeys as wishlistCacheKeys,\n} from '../wishlistApi'\nimport { BASKET_STORAGE_KEY, myCartCacheKeys } from '../myCartApi'\nimport { generateGuid } from '../../utils/guid'\nimport { writeToLocalStorage } from '../../utils/localStorage'\nimport { getSDKConfig } from '../getSDKConfig'\nimport {\n removeAnonToken,\n removeAuthToken,\n setRefreshToken,\n getAnonToken,\n getAuthToken,\n setExpiryToken,\n setAccessToken,\n isTokenExpired,\n getRefreshToken,\n removeExpiryToken,\n removeRefreshToken,\n getAnonId,\n} from '../../utils/tokens'\n// import { consentsApi } from '../consentsApi'\n\ntype AuthApiType = {\n isAuthenticated: () => QueryResult<boolean, unknown>\n\n useLogin: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n { email: string; password: string },\n unknown\n >\n\n useLoginFacebook: (\n onSuccess?: () => void\n ) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n { access_token: string },\n unknown\n >\n\n useLoginGoogle: (\n onSuccess?: () => void\n ) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n { access_token: string },\n unknown\n >\n\n useLoginApple: (\n onSuccess?: () => void\n ) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n {\n lastName?: string\n firstName?: string\n id_token: string\n },\n unknown\n >\n\n useRegister: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n RegisterRequestDTO,\n unknown\n >\n\n useResetPassword: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<CustomerDTO, unknown, PasswordResetDTO, unknown>\n\n useRequestResetPasswordToken: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<void, unknown, PasswordTokenDTO, unknown>\n\n useLogout: () => Function\n}\n\nconst cacheKeys = { isAuthenticated: 'token-api-is-authenticated' }\n\nexport const AuthApiFactory = (function () {\n // Instance stores a reference to the Singleton\n let instance: AuthApiType\n\n function initialise(): Readonly<AuthApiType> {\n // Singleton\n\n // Private methods and variables\n const customersApi = new CustomersAPI(getSDKConfig())\n const tokenApi = new AuthAPI(getSDKConfig())\n\n const processLoginPayload = (data: TokenResponseDTO, anonymous = false) => {\n writeToLocalStorage(WISHLIST_STORAGE_KEY, data.wishList)\n writeToLocalStorage(BASKET_STORAGE_KEY, data.basket)\n\n setAccessToken(data.accessToken, anonymous)\n setExpiryToken(data.expires)\n setRefreshToken(data.refreshToken as string)\n !anonymous && removeAnonToken()\n }\n\n const invalidateQueries = (queryCache: QueryCache) => {\n queryCache.invalidateQueries(cacheKeys.isAuthenticated)\n queryCache.invalidateQueries(usersApi.cacheKeys.useGet)\n queryCache.invalidateQueries(myCartCacheKeys.useGet)\n queryCache.invalidateQueries(myCartCacheKeys.useGetCompact)\n queryCache.invalidateQueries(wishlistCacheKeys.useGet)\n queryCache.invalidateQueries(wishlistCacheKeys.useGetCompact)\n queryCache.getQueries().forEach((query) => query.refetch())\n }\n\n // Public methods and variables\n\n const processLogin = (onSuccess: any, queryCache: any) => (data: any) => {\n processLoginPayload(data)\n invalidateQueries(queryCache)\n onSuccess?.()\n }\n\n return Object.freeze({\n cacheKeys,\n isAuthenticated: () => {\n return useQuery(\n cacheKeys.isAuthenticated,\n async () => {\n const authToken = getAuthToken()\n const anonToken = getAnonToken()\n\n if (!authToken && !anonToken) {\n const anonTokenData = await tokenApi.createAnonymousToken(\n {},\n {\n grantType: TokenRequestDTOGrantTypeEnum.Implicit,\n anonymousId: generateGuid(),\n }\n )\n\n processLoginPayload(anonTokenData, true)\n }\n\n if (isTokenExpired()) {\n removeAnonToken()\n removeAuthToken()\n const newToken = await tokenApi.refreshToken(\n {},\n {\n grantType: TokenRequestDTOGrantTypeEnum.RefreshToken,\n refreshToken: getRefreshToken(),\n }\n )\n\n processLoginPayload(newToken, !!authApi)\n }\n return authToken ? true : false\n },\n {\n staleTime: 60 * 1000, // 1 minute\n }\n )\n },\n useLogin: ({ onSuccess }) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.login(\n {},\n {\n ...values,\n responseMode: LoginRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }\n ),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useRegister: ({ onSuccess }) => {\n const queryCache = useQueryCache()\n\n return useMutation(\n (values) => {\n return tokenApi.register(\n {},\n { ...values, anonymousId: getAnonId() }\n )\n },\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useLoginFacebook: (onSuccess) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.createFacebookToken(values, {\n responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useLoginGoogle: (onSuccess) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.createGoogleToken(values, {\n responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useLoginApple: (onSuccess) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.createAppleToken(values, {\n responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useResetPassword: ({ onSuccess }) => {\n return useMutation((values) => customersApi.resetPassword({}, values), {\n onSuccess: () => {\n onSuccess?.()\n },\n })\n },\n useRequestResetPasswordToken: ({ onSuccess }) => {\n return useMutation(\n (values) => customersApi.createPasswordToken({}, values),\n {\n onSuccess: () => {\n onSuccess?.()\n },\n }\n )\n },\n useLogout: () => {\n const queryCache = useQueryCache()\n\n return () => {\n writeToLocalStorage(WISHLIST_STORAGE_KEY, {\n itemsCount: 0,\n items: {},\n })\n writeToLocalStorage(BASKET_STORAGE_KEY, {\n lineItems: {},\n customLineItems: {},\n lineItemsCount: 0,\n customLineItemsCount: 0,\n })\n removeAuthToken()\n removeRefreshToken()\n removeExpiryToken()\n invalidateQueries(queryCache)\n }\n },\n })\n }\n\n return {\n // Get the Singleton instance if one exists\n // or create one if it doesn't\n getInstance: function () {\n if (!instance) {\n instance = initialise()\n }\n\n return instance\n },\n }\n})()\n\nexport const authApi = AuthApiFactory.getInstance()\n"],"file":"index.js"}
|
1
|
+
{"version":3,"sources":["../../../../src/api/authApi/index.ts"],"names":["AuthAPI","CustomersAPI","OAuthTokenRequestDTOResponseModeEnum","LoginRequestDTOResponseModeEnum","TokenRequestDTOGrantTypeEnum","useQuery","useMutation","useQueryCache","usersApi","WISHLIST_STORAGE_KEY","cacheKeys","wishlistCacheKeys","BASKET_STORAGE_KEY","myCartCacheKeys","generateGuid","writeToLocalStorage","getSDKConfig","removeAnonToken","removeAuthToken","setRefreshToken","getAnonToken","getAuthToken","setExpiryToken","setAccessToken","isTokenExpired","getRefreshToken","removeExpiryToken","removeRefreshToken","getAnonId","isAuthenticated","AuthApiFactory","instance","initialise","customersApi","tokenApi","processLoginPayload","data","anonymous","wishList","basket","accessToken","expires","refreshToken","invalidateQueries","queryCache","useGet","useGetCompact","getQueries","forEach","query","refetch","processLogin","onSuccess","Object","freeze","authToken","anonToken","anonTokenData","createAnonymousToken","grantType","Implicit","anonymousId","newToken","RefreshToken","authApi","staleTime","useLogin","values","login","responseMode","Compact","useRegister","register","useLoginFacebook","createFacebookToken","useLoginGoogle","createGoogleToken","useLoginApple","createAppleToken","useResetPassword","resetPassword","useRequestResetPasswordToken","createPasswordToken","useLogout","itemsCount","items","lineItems","customLineItems","lineItemsCount","customLineItemsCount","getInstance"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport {\n AuthAPI,\n CustomersAPI,\n RegisterRequestDTO,\n CustomerDTO,\n PasswordResetDTO,\n PasswordTokenDTO,\n TokenResponseDTO,\n OAuthTokenRequestDTOResponseModeEnum,\n LoginRequestDTOResponseModeEnum,\n TokenRequestDTOGrantTypeEnum,\n} from '@sentecacommerce/sdk'\nimport {\n useQuery,\n useMutation,\n QueryCache,\n MutationResultPair,\n QueryResult,\n useQueryCache,\n} from 'react-query'\nimport { usersApi } from '../usersApi'\nimport {\n WISHLIST_STORAGE_KEY,\n cacheKeys as wishlistCacheKeys,\n} from '../wishlistApi'\nimport { BASKET_STORAGE_KEY, myCartCacheKeys } from '../myCartApi'\nimport { generateGuid } from '../../utils/guid'\nimport { writeToLocalStorage } from '../../utils/localStorage'\nimport { getSDKConfig } from '../getSDKConfig'\nimport {\n removeAnonToken,\n removeAuthToken,\n setRefreshToken,\n getAnonToken,\n getAuthToken,\n setExpiryToken,\n setAccessToken,\n isTokenExpired,\n getRefreshToken,\n removeExpiryToken,\n removeRefreshToken,\n getAnonId,\n} from '../../utils/tokens'\n// import { consentsApi } from '../consentsApi'\n\ntype AuthApiType = {\n isAuthenticated: () => QueryResult<boolean, unknown>\n\n useLogin: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n { email: string; password: string },\n unknown\n >\n\n useLoginFacebook: (\n onSuccess?: () => void\n ) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n { access_token: string },\n unknown\n >\n\n useLoginGoogle: (\n onSuccess?: () => void\n ) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n { access_token: string },\n unknown\n >\n\n useLoginApple: (\n onSuccess?: () => void\n ) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n {\n lastName?: string\n firstName?: string\n id_token: string\n },\n unknown\n >\n\n useRegister: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n RegisterRequestDTO,\n unknown\n >\n\n useResetPassword: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<CustomerDTO, unknown, PasswordResetDTO, unknown>\n\n useRequestResetPasswordToken: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<void, unknown, PasswordTokenDTO, unknown>\n\n useLogout: () => Function\n}\n\nconst cacheKeys = { isAuthenticated: 'token-api-is-authenticated' }\n\nexport const AuthApiFactory = (function () {\n // Instance stores a reference to the Singleton\n let instance: AuthApiType\n\n function initialise(): Readonly<AuthApiType> {\n // Singleton\n\n // Private methods and variables\n const customersApi = new CustomersAPI(getSDKConfig())\n const tokenApi = new AuthAPI(getSDKConfig())\n\n const processLoginPayload = (data: TokenResponseDTO, anonymous = false) => {\n writeToLocalStorage(WISHLIST_STORAGE_KEY, data.wishList)\n writeToLocalStorage(BASKET_STORAGE_KEY, data.basket)\n\n setAccessToken(data.accessToken as string, anonymous)\n setExpiryToken(data.expires as number)\n setRefreshToken(data.refreshToken as string)\n !anonymous && removeAnonToken()\n }\n\n const invalidateQueries = (queryCache: QueryCache) => {\n queryCache.invalidateQueries(cacheKeys.isAuthenticated)\n queryCache.invalidateQueries(usersApi.cacheKeys.useGet)\n queryCache.invalidateQueries(myCartCacheKeys.useGet)\n queryCache.invalidateQueries(myCartCacheKeys.useGetCompact)\n queryCache.invalidateQueries(wishlistCacheKeys.useGet)\n queryCache.invalidateQueries(wishlistCacheKeys.useGetCompact)\n queryCache.getQueries().forEach((query) => query.refetch())\n }\n\n // Public methods and variables\n\n const processLogin = (onSuccess: any, queryCache: any) => (data: any) => {\n processLoginPayload(data)\n invalidateQueries(queryCache)\n onSuccess?.()\n }\n\n return Object.freeze({\n cacheKeys,\n isAuthenticated: () => {\n return useQuery(\n cacheKeys.isAuthenticated,\n async () => {\n const authToken = getAuthToken()\n const anonToken = getAnonToken()\n\n if (!authToken && !anonToken) {\n const anonTokenData = await tokenApi.createAnonymousToken(\n {},\n {\n grantType: TokenRequestDTOGrantTypeEnum.Implicit,\n anonymousId: generateGuid(),\n }\n )\n\n processLoginPayload(anonTokenData, true)\n }\n\n if (isTokenExpired()) {\n removeAnonToken()\n removeAuthToken()\n const newToken = await tokenApi.refreshToken(\n {},\n {\n grantType: TokenRequestDTOGrantTypeEnum.RefreshToken,\n refreshToken: getRefreshToken(),\n }\n )\n\n processLoginPayload(newToken, !!authApi)\n }\n return authToken ? true : false\n },\n {\n staleTime: 60 * 1000, // 1 minute\n }\n )\n },\n useLogin: ({ onSuccess }) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.login(\n {},\n {\n ...values,\n responseMode: LoginRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }\n ),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useRegister: ({ onSuccess }) => {\n const queryCache = useQueryCache()\n\n return useMutation(\n (values) => {\n return tokenApi.register(\n {},\n { ...values, anonymousId: getAnonId() }\n )\n },\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useLoginFacebook: (onSuccess) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.createFacebookToken(values, {\n responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useLoginGoogle: (onSuccess) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.createGoogleToken(values, {\n responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useLoginApple: (onSuccess) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.createAppleToken(values, {\n responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useResetPassword: ({ onSuccess }) => {\n return useMutation((values) => customersApi.resetPassword({}, values), {\n onSuccess: () => {\n onSuccess?.()\n },\n })\n },\n useRequestResetPasswordToken: ({ onSuccess }) => {\n return useMutation(\n (values) => customersApi.createPasswordToken({}, values),\n {\n onSuccess: () => {\n onSuccess?.()\n },\n }\n )\n },\n useLogout: () => {\n const queryCache = useQueryCache()\n\n return () => {\n writeToLocalStorage(WISHLIST_STORAGE_KEY, {\n itemsCount: 0,\n items: {},\n })\n writeToLocalStorage(BASKET_STORAGE_KEY, {\n lineItems: {},\n customLineItems: {},\n lineItemsCount: 0,\n customLineItemsCount: 0,\n })\n removeAuthToken()\n removeRefreshToken()\n removeExpiryToken()\n invalidateQueries(queryCache)\n }\n },\n })\n }\n\n return {\n // Get the Singleton instance if one exists\n // or create one if it doesn't\n getInstance: function () {\n if (!instance) {\n instance = initialise()\n }\n\n return instance\n },\n }\n})()\n\nexport const authApi = AuthApiFactory.getInstance()\n"],"file":"index.js"}
|
@@ -2,7 +2,7 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
2
|
import { MyOrdersAPI } from '@sentecacommerce/sdk';
|
3
3
|
import { getSDKConfig } from '../getSDKConfig';
|
4
4
|
import { useMutation, useQueryCache, useQuery, useInfiniteQuery } from 'react-query';
|
5
|
-
import { myCartCacheKeys } from '../myCartApi';
|
5
|
+
import { myCartApi, myCartCacheKeys } from '../myCartApi';
|
6
6
|
export var MyOrdersApiFactory = function () {
|
7
7
|
var instance;
|
8
8
|
|
@@ -19,6 +19,7 @@ export var MyOrdersApiFactory = function () {
|
|
19
19
|
}
|
20
20
|
|
21
21
|
var queryCache = useQueryCache();
|
22
|
+
var [syncBasket] = myCartApi.useSync();
|
22
23
|
return useMutation(() => myOrdersApi.create({}, meta), {
|
23
24
|
onSuccess: function (_onSuccess) {
|
24
25
|
function onSuccess(_x) {
|
@@ -33,6 +34,7 @@ export var MyOrdersApiFactory = function () {
|
|
33
34
|
}(data => {
|
34
35
|
queryCache.setQueryData(myCartCacheKeys.useGet, data);
|
35
36
|
queryCache.invalidateQueries(myCartCacheKeys.useGetCompact);
|
37
|
+
syncBasket();
|
36
38
|
|
37
39
|
if (typeof onSuccess === 'function') {
|
38
40
|
onSuccess(data);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/api/myOrdersApi/index.ts"],"names":["MyOrdersAPI","getSDKConfig","useMutation","useQueryCache","useQuery","useInfiniteQuery","myCartCacheKeys","MyOrdersApiFactory","instance","initialise","myOrdersApi","cacheKeys","useGet","useOrders","Object","freeze","useCreate","meta","onSuccess","onError","queryCache","create","data","setQueryData","invalidateQueries","useGetCompact","error","useGetById","id","getById","retry","refetchOnWindowFocus","enabled","Boolean","query","filter","getInstance"],"mappings":";AAAA,SACEA,WADF,QAKO,sBALP;AAMA,SAASC,YAAT,QAA6B,iBAA7B;AACA,SACEC,WADF,EAGEC,aAHF,EAIEC,QAJF,EAOEC,gBAPF,QAQO,aARP;AAUA,SAASC,
|
1
|
+
{"version":3,"sources":["../../../../src/api/myOrdersApi/index.ts"],"names":["MyOrdersAPI","getSDKConfig","useMutation","useQueryCache","useQuery","useInfiniteQuery","myCartApi","myCartCacheKeys","MyOrdersApiFactory","instance","initialise","myOrdersApi","cacheKeys","useGet","useOrders","Object","freeze","useCreate","meta","onSuccess","onError","queryCache","syncBasket","useSync","create","data","setQueryData","invalidateQueries","useGetCompact","error","useGetById","id","getById","retry","refetchOnWindowFocus","enabled","Boolean","query","filter","getInstance"],"mappings":";AAAA,SACEA,WADF,QAKO,sBALP;AAMA,SAASC,YAAT,QAA6B,iBAA7B;AACA,SACEC,WADF,EAGEC,aAHF,EAIEC,QAJF,EAOEC,gBAPF,QAQO,aARP;AAUA,SAASC,SAAT,EAAoBC,eAApB,QAA2C,cAA3C;AAeA,OAAO,IAAMC,kBAAkB,GAAI,YAAY;AAC7C,MAAIC,QAAJ;;AAEA,WAASC,UAAT,GAAiD;AAC/C,QAAMC,WAAW,GAAG,IAAIX,WAAJ,CAAgBC,YAAY,EAA5B,CAApB;AAEA,QAAMW,SAAS,GAAG;AAChBC,MAAAA,MAAM,EAAE,uBADQ;AAEhBC,MAAAA,SAAS,EAAE;AAFK,KAAlB;AAKA,WAAOC,MAAM,CAACC,MAAP,CAAc;AACnBC,MAAAA,SAAS,EAAE,mBAACC,IAAD,EAAYC,SAAZ,EAAuBC,OAAvB,EAAmC;AAAA,YAAlCF,IAAkC;AAAlCA,UAAAA,IAAkC,GAA3B,EAA2B;AAAA;;AAC5C,YAAMG,UAAU,GAAGlB,aAAa,EAAhC;AACA,YAAM,CAACmB,UAAD,IAAehB,SAAS,CAACiB,OAAV,EAArB;AAEA,eAAOrB,WAAW,CAAC,MAAMS,WAAW,CAACa,MAAZ,CAAmB,EAAnB,EAAuBN,IAAvB,CAAP,EAAqC;AACrDC,UAAAA,SAAS;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,YAAGM,IAAD,IAAU;AACnBJ,YAAAA,UAAU,CAACK,YAAX,CAAwBnB,eAAe,CAACM,MAAxC,EAAgDY,IAAhD;AACAJ,YAAAA,UAAU,CAACM,iBAAX,CAA6BpB,eAAe,CAACqB,aAA7C;AACAN,YAAAA,UAAU;;AACV,gBAAI,OAAOH,SAAP,KAAqB,UAAzB,EAAqC;AACnCA,cAAAA,SAAS,CAACM,IAAD,CAAT;AACD;AACF,WAPQ,CAD4C;AASrDL,UAAAA,OAAO;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,YAAGS,KAAD,IAAW;AAClB,gBAAI,OAAOT,OAAP,KAAmB,UAAvB,EAAmC;AACjCA,cAAAA,OAAO,CAACS,KAAD,CAAP;AACD;AACF,WAJM;AAT8C,SAArC,CAAlB;AAeD,OApBkB;AAqBnBC,MAAAA,UAAU,EAAGC,EAAD,IAAQ;AAClB,eAAO3B,QAAQ,CACb,CAACQ,SAAS,CAACC,MAAX,EAAmBkB,EAAnB,CADa,iCAEb;AAAA,iBAAYpB,WAAW,CAACqB,OAAZ,CAAoBD,EAApB,CAAZ;AAAA,SAFa,GAGb;AACEE,UAAAA,KAAK,EAAE,KADT;AAEEC,UAAAA,oBAAoB,EAAE,KAFxB;AAGEC,UAAAA,OAAO,EAAEC,OAAO,CAACL,EAAD;AAHlB,SAHa,CAAf;AASD,OA/BkB;AAgCnBjB,MAAAA,SAAS,EAAGuB,KAAD,IAAiD;AAC1D,eAAOhC,gBAAgB,CACrB,CAACO,SAAS,CAACE,SAAX,CADqB,iCAErB;AAAA,iBAAYH,WAAW,CAAC2B,MAAZ,CAAmBD,KAAnB,CAAZ;AAAA,SAFqB,GAGrB;AACEJ,UAAAA,KAAK,EAAE,KADT;AAEEC,UAAAA,oBAAoB,EAAE;AAFxB,SAHqB,CAAvB;AAQD;AAzCkB,KAAd,CAAP;AA2CD;;AAED,SAAO;AACLK,IAAAA,WAAW,EAAE,uBAAY;AACvB,UAAI,CAAC9B,QAAL,EAAe;AACbA,QAAAA,QAAQ,GAAGC,UAAU,EAArB;AACD;;AAED,aAAOD,QAAP;AACD;AAPI,GAAP;AASD,CAjEiC,EAA3B;AAmEP,OAAO,IAAME,WAAW,GAAGH,kBAAkB,CAAC+B,WAAnB,EAApB","sourcesContent":["import {\n MyOrdersAPI,\n OrderDTO,\n OrderFilterResultDTO,\n SendOrderDTO,\n} from '@sentecacommerce/sdk'\nimport { getSDKConfig } from '../getSDKConfig'\nimport {\n useMutation,\n MutationResultPair,\n useQueryCache,\n useQuery,\n QueryResult,\n InfiniteQueryResult,\n useInfiniteQuery,\n} from 'react-query'\n\nimport { myCartApi, myCartCacheKeys } from '../myCartApi'\n\ntype myOrdersApiType = {\n readonly useCreate: (\n meta: SendOrderDTO,\n onSuccess?: (result: OrderDTO) => void,\n onError?: (error: any) => void\n ) => MutationResultPair<OrderDTO, unknown, any, unknown>\n readonly useGetById: (id?: string) => QueryResult<OrderDTO, unknown>\n readonly useOrders: (query?: {\n limit?: number\n offset?: number\n }) => InfiniteQueryResult<OrderFilterResultDTO, unknown>\n}\n\nexport const MyOrdersApiFactory = (function () {\n let instance: myOrdersApiType\n\n function initialise(): Readonly<myOrdersApiType> {\n const myOrdersApi = new MyOrdersAPI(getSDKConfig())\n\n const cacheKeys = {\n useGet: 'my-orders-api-use-get',\n useOrders: 'my-orders-use-orders',\n }\n\n return Object.freeze({\n useCreate: (meta = {}, onSuccess, onError) => {\n const queryCache = useQueryCache()\n const [syncBasket] = myCartApi.useSync()\n\n return useMutation(() => myOrdersApi.create({}, meta), {\n onSuccess: (data) => {\n queryCache.setQueryData(myCartCacheKeys.useGet, data)\n queryCache.invalidateQueries(myCartCacheKeys.useGetCompact)\n syncBasket()\n if (typeof onSuccess === 'function') {\n onSuccess(data)\n }\n },\n onError: (error) => {\n if (typeof onError === 'function') {\n onError(error)\n }\n },\n })\n },\n useGetById: (id) => {\n return useQuery(\n [cacheKeys.useGet, id],\n async () => myOrdersApi.getById(id as string),\n {\n retry: false,\n refetchOnWindowFocus: false,\n enabled: Boolean(id),\n }\n )\n },\n useOrders: (query?: { limit?: number; offset?: number }) => {\n return useInfiniteQuery(\n [cacheKeys.useOrders],\n async () => myOrdersApi.filter(query),\n {\n retry: false,\n refetchOnWindowFocus: false,\n }\n )\n },\n })\n }\n\n return {\n getInstance: function () {\n if (!instance) {\n instance = initialise()\n }\n\n return instance\n },\n }\n})()\n\nexport const myOrdersApi = MyOrdersApiFactory.getInstance()\n"],"file":"index.js"}
|
@@ -5,6 +5,7 @@ import { getTranslatableField } from '../../../';
|
|
5
5
|
import { createMappedAttributes, getTimeStamp, calculateTotalPrice } from './utils';
|
6
6
|
import { createSelectedOption } from '../../useProduct/utils';
|
7
7
|
import { assetsFieldsToMap } from '../../../utils/assetsToMap';
|
8
|
+
import { customFieldsToMap } from '../../../utils';
|
8
9
|
export var useBasketLineItem = props => {
|
9
10
|
var _props$item;
|
10
11
|
|
@@ -29,6 +30,7 @@ export var useBasketLineItem = props => {
|
|
29
30
|
var offer = item == null ? void 0 : (_item$variant = item.variant) == null ? void 0 : _item$variant.offer;
|
30
31
|
var mappedAttributes = createMappedAttributes(item == null ? void 0 : (_item$variant2 = item.variant) == null ? void 0 : _item$variant2.attributes);
|
31
32
|
var unitDiscountedPrice = (_item$discountedPrice = item == null ? void 0 : (_item$discountedPrice2 = item.discountedPricePerQuantity) == null ? void 0 : (_item$discountedPrice3 = _item$discountedPrice2[0]) == null ? void 0 : (_item$discountedPrice4 = _item$discountedPrice3.discountedPrice) == null ? void 0 : _item$discountedPrice4.value) != null ? _item$discountedPrice : item == null ? void 0 : (_item$offer = item.offer) == null ? void 0 : _item$offer.discountedPrice;
|
33
|
+
var mappedCustomField = customFieldsToMap(item.custom);
|
32
34
|
return {
|
33
35
|
productId: item == null ? void 0 : item.productId,
|
34
36
|
variantId: item == null ? void 0 : (_item$variant3 = item.variant) == null ? void 0 : _item$variant3._id,
|
@@ -66,6 +68,7 @@ export var useBasketLineItem = props => {
|
|
66
68
|
hasAvailableQuantity: item != null && (_item$variant13 = item.variant) != null && (_item$variant13$inven = _item$variant13.inventorySnapshot) != null && _item$variant13$inven.canOrder ? true : false,
|
67
69
|
availableQuantity: item != null && (_item$variant14 = item.variant) != null && (_item$variant14$inven = _item$variant14.inventorySnapshot) != null && _item$variant14$inven.canOrder ? Number(item == null ? void 0 : (_item$variant15 = item.variant) == null ? void 0 : (_item$variant15$inven = _item$variant15.inventorySnapshot) == null ? void 0 : _item$variant15$inven.availableQuantity) : 0
|
68
70
|
},
|
71
|
+
getCustomFieldByKey: key => mappedCustomField[key],
|
69
72
|
getAttributeByKey: key => mappedAttributes[key],
|
70
73
|
onMouseEnter: callback => _onMouseEnter(callback),
|
71
74
|
onMouseLeave: () => _onMouseLeave(),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../src/hooks/basket-hooks/useBasketLineItem/index.ts"],"names":["React","myCartApi","usePrefetchProduct","getTranslatableField","createMappedAttributes","getTimeStamp","calculateTotalPrice","createSelectedOption","assetsFieldsToMap","useBasketLineItem","props","isExpired","setIsExpired","useState","syncBasket","useSync","onMouseDown","onMouseEnter","onMouseLeave","item","productSlug","data","useMemo","expiry","snapshotFrom","offer","variant","mappedAttributes","attributes","unitDiscountedPrice","discountedPricePerQuantity","discountedPrice","value","productId","variantId","_id","lineItemId","collapseKey","offerId","sku","name","productName","slug","brand","brandSnapshot","assets","thumbnail","productThumbnailUrl","images","mappedSelectedOptions","selectedOptions","map","option","availableOptions","lineItemMode","status","unitOfWeight","shippingData","height","width","unitOfMetric","isPriceChanged","priceChanged","quantityInBasket","quantity","totalPrice","originalPrice","taxedPrice","totalGross","totalDiscountedPrice","unitPrice","inventory","hasAvailableQuantity","inventorySnapshot","canOrder","availableQuantity","Number","getAttributeByKey","key","callback"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { myCartApi } from '../../../'\nimport { usePrefetchProduct } from '../../../'\nimport {\n LineItemDTO,\n LineItemDTOLineItemModeEnum,\n LineItemDTOStatusEnum,\n MoneyDTO,\n SelectedOptionDTO,\n ShippingDataDTOUnitOfMetricEnum,\n ShippingDataDTOUnitOfWeightEnum,\n} from '@sentecacommerce/sdk'\nimport { getTranslatableField } from '../../../'\nimport { BaseProductType } from '../../useLineItem'\nimport {\n createMappedAttributes,\n getTimeStamp,\n calculateTotalPrice,\n} from './utils'\nimport {\n createSelectedOption,\n SelectedOptionType,\n} from '../../useProduct/utils'\nimport { assetsFieldsToMap, AssetsMap } from '../../../utils/assetsToMap'\n\ninterface BasketLineItemProps extends BaseProductType {\n productId: string\n lineItemId: string\n quantityInBasket: number\n unitPrice?: MoneyDTO\n unitDiscountedPrice?: MoneyDTO\n totalPrice?: MoneyDTO\n totalDiscountedPrice?: MoneyDTO\n lineItemMode: LineItemDTOLineItemModeEnum\n status: LineItemDTOStatusEnum\n mappedSelectedOptions?: SelectedOptionType[]\n selectedOptions?: SelectedOptionDTO[]\n isPriceChanged: boolean\n brand?: {\n assets?: AssetsMap\n name?: string\n }\n unitOfWeight?: ShippingDataDTOUnitOfWeightEnum\n height?: number\n width?: number\n unitOfMetric?: ShippingDataDTOUnitOfMetricEnum\n\n thumbnail: string\n\n getAttributeByKey: (\n key: string\n ) => {\n _id: string\n label: string\n value: string\n extra: any\n }\n}\n\nexport const useBasketLineItem = (props: {\n item: LineItemDTO\n expiry?: number\n}): BasketLineItemProps => {\n const [isExpired, setIsExpired] = React.useState<boolean>(false)\n const [syncBasket] = myCartApi.useSync()\n const { onMouseDown, onMouseEnter, onMouseLeave } = usePrefetchProduct(\n getTranslatableField(props?.item?.productSlug)\n )\n\n const data = React.useMemo((): BasketLineItemProps => {\n const { item } = props\n\n if (props?.expiry && getTimeStamp(props.expiry) < item.snapshotFrom) {\n setIsExpired(true)\n }\n\n const offer = item?.variant?.offer\n\n const mappedAttributes = createMappedAttributes(item?.variant?.attributes)\n\n const unitDiscountedPrice =\n item?.discountedPricePerQuantity?.[0]?.discountedPrice?.value ??\n item?.offer?.discountedPrice\n\n return {\n productId: item?.productId,\n variantId: item?.variant?._id,\n lineItemId: item?._id,\n collapseKey: item?.collapseKey,\n offerId: offer?._id,\n sku: item?.variant?.sku,\n\n name: getTranslatableField(item?.productName),\n slug: getTranslatableField(item?.productSlug),\n brand: {\n name: getTranslatableField(item?.brandSnapshot?.name),\n assets: assetsFieldsToMap(item?.brandSnapshot?.assets),\n },\n thumbnail: item?.productThumbnailUrl,\n images: item?.variant?.images,\n\n mappedSelectedOptions: item?.variant?.selectedOptions?.map((option) =>\n createSelectedOption(item?.variant?.availableOptions, option)\n ),\n\n selectedOptions: item?.variant?.selectedOptions,\n\n lineItemMode: item?.lineItemMode,\n status: item?.status,\n\n unitOfWeight: item?.variant?.shippingData?.unitOfWeight,\n height: item?.variant?.shippingData?.height,\n width: item?.variant?.shippingData?.width,\n unitOfMetric: item?.variant?.shippingData?.unitOfMetric,\n\n isPriceChanged: item?.priceChanged,\n quantityInBasket: item?.quantity,\n\n totalPrice: unitDiscountedPrice\n ? calculateTotalPrice(item?.offer?.originalPrice, item?.quantity)\n : item?.taxedPrice?.totalGross,\n totalDiscountedPrice: unitDiscountedPrice && item?.taxedPrice?.totalGross,\n\n unitPrice: item?.offer?.originalPrice,\n unitDiscountedPrice,\n\n inventory: {\n hasAvailableQuantity: item?.variant?.inventorySnapshot?.canOrder\n ? true\n : false,\n availableQuantity: item?.variant?.inventorySnapshot?.canOrder\n ? Number(item?.variant?.inventorySnapshot?.availableQuantity)\n : 0,\n },\n\n getAttributeByKey: (key: string) => mappedAttributes[key],\n onMouseEnter: (callback: any) => onMouseEnter(callback),\n onMouseLeave: () => onMouseLeave(),\n onMouseDown: (callback: any) => () => onMouseDown(callback),\n }\n }, [props.item])\n\n if (isExpired) {\n syncBasket()\n setIsExpired(false)\n }\n\n return data\n}\n"],"file":"index.js"}
|
1
|
+
{"version":3,"sources":["../../../../../src/hooks/basket-hooks/useBasketLineItem/index.ts"],"names":["React","myCartApi","usePrefetchProduct","getTranslatableField","createMappedAttributes","getTimeStamp","calculateTotalPrice","createSelectedOption","assetsFieldsToMap","customFieldsToMap","useBasketLineItem","props","isExpired","setIsExpired","useState","syncBasket","useSync","onMouseDown","onMouseEnter","onMouseLeave","item","productSlug","data","useMemo","expiry","snapshotFrom","offer","variant","mappedAttributes","attributes","unitDiscountedPrice","discountedPricePerQuantity","discountedPrice","value","mappedCustomField","custom","productId","variantId","_id","lineItemId","collapseKey","offerId","sku","name","productName","slug","brand","brandSnapshot","assets","thumbnail","productThumbnailUrl","images","mappedSelectedOptions","selectedOptions","map","option","availableOptions","lineItemMode","status","unitOfWeight","shippingData","height","width","unitOfMetric","isPriceChanged","priceChanged","quantityInBasket","quantity","totalPrice","originalPrice","taxedPrice","totalGross","totalDiscountedPrice","unitPrice","inventory","hasAvailableQuantity","inventorySnapshot","canOrder","availableQuantity","Number","getCustomFieldByKey","key","getAttributeByKey","callback"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { myCartApi } from '../../../'\nimport { usePrefetchProduct } from '../../../'\nimport {\n LineItemDTO,\n LineItemDTOLineItemModeEnum,\n LineItemDTOStatusEnum,\n MoneyDTO,\n SelectedOptionDTO,\n ShippingDataDTOUnitOfMetricEnum,\n ShippingDataDTOUnitOfWeightEnum,\n} from '@sentecacommerce/sdk'\nimport { getTranslatableField } from '../../../'\nimport { BaseProductType } from '../../useLineItem'\nimport {\n createMappedAttributes,\n getTimeStamp,\n calculateTotalPrice,\n} from './utils'\nimport {\n createSelectedOption,\n SelectedOptionType,\n} from '../../useProduct/utils'\nimport { assetsFieldsToMap, AssetsMap } from '../../../utils/assetsToMap'\nimport { customFieldsToMap } from '../../../utils'\n\ninterface BasketLineItemProps extends BaseProductType {\n productId: string\n lineItemId: string\n quantityInBasket: number\n unitPrice?: MoneyDTO\n unitDiscountedPrice?: MoneyDTO\n totalPrice?: MoneyDTO\n totalDiscountedPrice?: MoneyDTO\n lineItemMode: LineItemDTOLineItemModeEnum\n status: LineItemDTOStatusEnum\n mappedSelectedOptions?: SelectedOptionType[]\n selectedOptions?: SelectedOptionDTO[]\n isPriceChanged: boolean\n brand?: {\n assets?: AssetsMap\n name?: string\n }\n unitOfWeight?: ShippingDataDTOUnitOfWeightEnum\n height?: number\n width?: number\n unitOfMetric?: ShippingDataDTOUnitOfMetricEnum\n\n thumbnail: string\n\n getAttributeByKey: (\n key: string\n ) => {\n _id: string\n label: string\n value: string\n extra: any\n }\n\n getCustomFieldByKey: (key: string) => any\n}\n\nexport const useBasketLineItem = (props: {\n item: LineItemDTO\n expiry?: number\n}): BasketLineItemProps => {\n const [isExpired, setIsExpired] = React.useState<boolean>(false)\n const [syncBasket] = myCartApi.useSync()\n const { onMouseDown, onMouseEnter, onMouseLeave } = usePrefetchProduct(\n getTranslatableField(props?.item?.productSlug)\n )\n\n const data = React.useMemo((): BasketLineItemProps => {\n const { item } = props\n\n if (props?.expiry && getTimeStamp(props.expiry) < item.snapshotFrom) {\n setIsExpired(true)\n }\n\n const offer = item?.variant?.offer\n\n const mappedAttributes = createMappedAttributes(item?.variant?.attributes)\n\n const unitDiscountedPrice =\n item?.discountedPricePerQuantity?.[0]?.discountedPrice?.value ??\n item?.offer?.discountedPrice\n\n const mappedCustomField = customFieldsToMap(item.custom)\n\n return {\n productId: item?.productId,\n variantId: item?.variant?._id,\n lineItemId: item?._id,\n collapseKey: item?.collapseKey,\n offerId: offer?._id,\n sku: item?.variant?.sku,\n\n name: getTranslatableField(item?.productName),\n slug: getTranslatableField(item?.productSlug),\n brand: {\n name: getTranslatableField(item?.brandSnapshot?.name),\n assets: assetsFieldsToMap(item?.brandSnapshot?.assets),\n },\n thumbnail: item?.productThumbnailUrl,\n images: item?.variant?.images,\n\n mappedSelectedOptions: item?.variant?.selectedOptions?.map((option) =>\n createSelectedOption(item?.variant?.availableOptions, option)\n ),\n\n selectedOptions: item?.variant?.selectedOptions,\n\n lineItemMode: item?.lineItemMode,\n status: item?.status,\n\n unitOfWeight: item?.variant?.shippingData?.unitOfWeight,\n height: item?.variant?.shippingData?.height,\n width: item?.variant?.shippingData?.width,\n unitOfMetric: item?.variant?.shippingData?.unitOfMetric,\n\n isPriceChanged: item?.priceChanged,\n quantityInBasket: item?.quantity,\n\n totalPrice: unitDiscountedPrice\n ? calculateTotalPrice(item?.offer?.originalPrice, item?.quantity)\n : item?.taxedPrice?.totalGross,\n totalDiscountedPrice: unitDiscountedPrice && item?.taxedPrice?.totalGross,\n\n unitPrice: item?.offer?.originalPrice,\n unitDiscountedPrice,\n\n inventory: {\n hasAvailableQuantity: item?.variant?.inventorySnapshot?.canOrder\n ? true\n : false,\n availableQuantity: item?.variant?.inventorySnapshot?.canOrder\n ? Number(item?.variant?.inventorySnapshot?.availableQuantity)\n : 0,\n },\n getCustomFieldByKey: (key: string) => mappedCustomField[key],\n getAttributeByKey: (key: string) => mappedAttributes[key],\n onMouseEnter: (callback: any) => onMouseEnter(callback),\n onMouseLeave: () => onMouseLeave(),\n onMouseDown: (callback: any) => () => onMouseDown(callback),\n }\n }, [props.item])\n\n if (isExpired) {\n syncBasket()\n setIsExpired(false)\n }\n\n return data\n}\n"],"file":"index.js"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/listing/hooks/useListingCategories.tsx"],"names":["React","useRouter","useListingConfig","getTranslatableField","typeToSuffix","useAggregateQuery","AggregateRequestEnum","processCategoriesResponse","getAggregateTypeAndTerm","ListingTypesEnum","getListingPageType","getPostFilters","ListingCategoriesStateContext","createContext","undefined","ListingCategoriesProvider","children","router","categoryTreeConfig","data","aggData","isLoading","Categories","currentCategory","generateCurrentUrl","type","term","useMemo","response","nodes","map","current","buildNodes","categoryTree","buildCategories","useListingCategories","context","useContext","Error","generateUrl","suffix","pageType","res","Brand","query","slug","cat","Category","meta","View","Search","filter","Array","isArray","idx","findIndex","x","includes","key","join","parentId","name","url","categories","node","roots","i","length","hasOwnProperty","selectedNode","push"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { NextRouter, useRouter } from 'next/router'\n\nimport { useListingConfig } from './useListingConfig'\nimport { getTranslatableField, typeToSuffix } from '../../utils'\nimport {\n useAggregateQuery,\n AggregateRequestEnum,\n AggregationResultType,\n} from '../api'\n\nimport { processCategoriesResponse, getAggregateTypeAndTerm } from './utils'\nimport { Aggregate, ListingTypesEnum } from '../types'\nimport { getListingPageType, getPostFilters } from '../utils'\n\nexport type Node = {\n children?: Node[]\n key: string\n parentId: string\n name: string\n url: string\n}\n\nexport type UseListingCategoriesResult = {\n data: Node[] | null\n isLoading: boolean\n currentCategory: string\n}\n\nconst ListingCategoriesStateContext = React.createContext<\n UseListingCategoriesResult | undefined\n>(undefined)\n\nexport function ListingCategoriesProvider({\n children,\n}: {\n children: React.ReactNode\n}) {\n const router = useRouter()\n const { categoryTreeConfig } = useListingConfig()\n const { data: aggData, isLoading } = useAggregateQuery(\n [categoryTreeConfig as Aggregate],\n AggregateRequestEnum.Categories\n )\n const currentCategory = generateCurrentUrl(router)\n const { type, term } = getAggregateTypeAndTerm(categoryTreeConfig)\n\n const data = React.useMemo(() => {\n if (aggData) {\n const response = processCategoriesResponse(aggData, type, term)\n\n const nodes = response.map((current) => buildNodes(current, router))\n\n const categoryTree = buildCategories(nodes)\n\n return categoryTree\n }\n return null\n }, [aggData, router])\n\n return (\n <ListingCategoriesStateContext.Provider\n value={{ data, isLoading, currentCategory }}\n >\n {children}\n </ListingCategoriesStateContext.Provider>\n )\n}\n\nexport const useListingCategories = () => {\n const context = React.useContext(ListingCategoriesStateContext)\n if (context === undefined) {\n throw new Error(\n 'useListingFilters must be used within a ListingFiltersProvider'\n )\n }\n return context\n}\n\nfunction generateUrl(current: AggregationResultType, router: NextRouter) {\n const suffix = typeToSuffix[getListingPageType(router)]\n const pageType = getListingPageType(router)\n let res\n\n if (pageType === ListingTypesEnum.Brand) {\n res = `/${router.query.slug}/${suffix}`\n if (router.query.cat) {\n res = `/${router.query.slug}/${router.query.cat}/${suffix}`\n }\n }\n if (pageType === ListingTypesEnum.Category) {\n res = `/${getTranslatableField(current.meta.slug)}/${suffix}`\n if (router.query.cat) {\n res = `/${router.query.slug}/${getTranslatableField(\n current.meta.slug\n )}/${suffix}`\n }\n }\n if (pageType === ListingTypesEnum.View) {\n res = `/${router.query.slug}/${getTranslatableField(\n current.meta.slug\n )}/${suffix}`\n }\n\n if (pageType === ListingTypesEnum.Search) {\n res = `/${getTranslatableField(current.meta.slug)}/c`\n }\n\n let filter = router.query.filter as any\n\n if (suffix === 'b') {\n if (filter) {\n if (Array.isArray(filter)) {\n filter = [...filter]\n const idx = filter.findIndex((x: any) => x.includes('category'))\n filter[idx] = `category;eq;\"${current.key}\"`\n } else {\n if (filter.includes('category')) {\n filter = `category;eq;\"${current.key}\"`\n } else {\n filter = [filter, `category;eq;\"${current.key}\"`]\n }\n }\n } else {\n filter = `category;eq;\"${current.key}\"`\n }\n }\n\n if (filter) {\n if (Array.isArray(filter)) {\n res += '?filter=' + filter.join('&')\n } else {\n res += '?filter=' + filter\n }\n }\n\n return res as string\n}\n\nfunction generateCurrentUrl(router: NextRouter) {\n const suffix = typeToSuffix[getListingPageType(router)]\n let res = `/${router.query.slug}/${suffix}`\n\n if (router.query.cat) {\n res = `/${router.query.slug}/${router.query.cat}/${suffix}`\n }\n\n if (router.query?.filter) {\n res += '?filter=' + getPostFilters(router)\n }\n return res\n}\n\nfunction buildNodes(\n current: AggregationResultType,\n\n router: NextRouter\n): Node {\n return {\n parentId: current.meta.parentId,\n key: current.key,\n children: [],\n name: getTranslatableField(current.meta.name),\n url: generateUrl(current, router),\n }\n}\n\nfunction buildCategories(categories: Node[]): Node[] {\n const map = {}\n let node\n const roots = []\n let i\n\n for (i = 0; i < categories?.length; i += 1) {\n map[categories[i].key] = i\n categories[i].children = []\n }\n\n for (i = 0; i < categories?.length; i += 1) {\n node = categories[i]\n // ? map[node.parent.resourceId] handles the case when a product has specified categories\n // ? without any of the ancestor ones eg. have Man > Shoes > Loafers the product\n // ? has specified only Loafers or Shoes > Loafers.\n if (node.parentId && map.hasOwnProperty(node.parentId)) {\n if (node.key !== node.parentId) {\n const selectedNode = categories[map[node?.parentId]]\n selectedNode?.children?.push(node)\n }\n } else {\n roots.push(node)\n }\n }\n\n return roots\n}\n"],"file":"useListingCategories.js"}
|
1
|
+
{"version":3,"sources":["../../../../src/listing/hooks/useListingCategories.tsx"],"names":["React","useRouter","useListingConfig","getTranslatableField","typeToSuffix","useAggregateQuery","AggregateRequestEnum","processCategoriesResponse","getAggregateTypeAndTerm","ListingTypesEnum","getListingPageType","getPostFilters","ListingCategoriesStateContext","createContext","undefined","ListingCategoriesProvider","children","router","categoryTreeConfig","data","aggData","isLoading","Categories","currentCategory","generateCurrentUrl","type","term","useMemo","response","nodes","map","current","buildNodes","categoryTree","buildCategories","useListingCategories","context","useContext","Error","generateUrl","suffix","pageType","res","Brand","query","slug","cat","Category","meta","View","Search","filter","Array","isArray","idx","findIndex","x","includes","key","join","parentId","name","url","categories","node","roots","i","length","hasOwnProperty","selectedNode","push"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { NextRouter, useRouter } from 'next/router'\n\nimport { useListingConfig } from './useListingConfig'\nimport { getTranslatableField, typeToSuffix } from '../../utils'\nimport {\n useAggregateQuery,\n AggregateRequestEnum,\n AggregationResultType,\n} from '../api'\n\nimport { processCategoriesResponse, getAggregateTypeAndTerm } from './utils'\nimport { Aggregate, ListingTypesEnum } from '../types'\nimport { getListingPageType, getPostFilters } from '../utils'\n\nexport type Node = {\n children?: Node[]\n key: string\n parentId: string\n name: string\n url: string\n}\n\nexport type UseListingCategoriesResult = {\n data: Node[] | null\n isLoading: boolean\n currentCategory: string\n}\n\nconst ListingCategoriesStateContext = React.createContext<\n UseListingCategoriesResult | undefined\n>(undefined)\n\nexport function ListingCategoriesProvider({\n children,\n}: {\n children: React.ReactNode\n}) {\n const router = useRouter()\n const { categoryTreeConfig } = useListingConfig()\n const { data: aggData, isLoading } = useAggregateQuery(\n [categoryTreeConfig as Aggregate],\n AggregateRequestEnum.Categories\n )\n const currentCategory = generateCurrentUrl(router)\n const { type, term } = getAggregateTypeAndTerm(categoryTreeConfig)\n\n const data = React.useMemo(() => {\n if (aggData) {\n const response = processCategoriesResponse(aggData, type, term)\n\n const nodes = response.map((current) => buildNodes(current, router))\n\n const categoryTree = buildCategories(nodes)\n\n return categoryTree\n }\n return null\n }, [aggData, router])\n\n return (\n <ListingCategoriesStateContext.Provider\n value={{ data, isLoading, currentCategory }}\n >\n {children}\n </ListingCategoriesStateContext.Provider>\n )\n}\n\nexport const useListingCategories = () => {\n const context = React.useContext(ListingCategoriesStateContext)\n if (context === undefined) {\n throw new Error(\n 'useListingFilters must be used within a ListingFiltersProvider'\n )\n }\n return context\n}\n\nfunction generateUrl(current: AggregationResultType, router: NextRouter) {\n const suffix = typeToSuffix[getListingPageType(router)]\n const pageType = getListingPageType(router)\n let res\n\n if (pageType === ListingTypesEnum.Brand) {\n res = `/${router.query.slug}/${suffix}`\n if (router.query.cat) {\n res = `/${router.query.slug}/${router.query.cat}/${suffix}`\n }\n }\n if (pageType === ListingTypesEnum.Category) {\n res = `/${getTranslatableField(current.meta.slug)}/${suffix}`\n if (router.query.cat) {\n res = `/${router.query.slug}/${getTranslatableField(\n current.meta.slug\n )}/${suffix}`\n }\n }\n if (pageType === ListingTypesEnum.View) {\n res = `/${router.query.slug}/${getTranslatableField(\n current.meta.slug\n )}/${suffix}`\n }\n\n if (pageType === ListingTypesEnum.Search) {\n res = `/${getTranslatableField(current.meta.slug)}/c`\n }\n\n let filter = router.query.filter as any\n\n if (suffix === 'b') {\n if (filter) {\n if (Array.isArray(filter)) {\n filter = [...filter]\n const idx = filter.findIndex((x: any) => x.includes('category'))\n filter[idx] = `category;eq;\"${current.key}\"`\n } else {\n if (filter.includes('category')) {\n filter = `category;eq;\"${current.key}\"`\n } else {\n filter = [filter, `category;eq;\"${current.key}\"`]\n }\n }\n } else {\n filter = `category;eq;\"${current.key}\"`\n }\n }\n\n if (filter) {\n if (Array.isArray(filter)) {\n res += '?filter=' + filter.join('&filter=')\n } else {\n res += '?filter=' + filter\n }\n }\n\n return res as string\n}\n\nfunction generateCurrentUrl(router: NextRouter) {\n const suffix = typeToSuffix[getListingPageType(router)]\n let res = `/${router.query.slug}/${suffix}`\n\n if (router.query.cat) {\n res = `/${router.query.slug}/${router.query.cat}/${suffix}`\n }\n\n if (router.query?.filter) {\n res += '?filter=' + getPostFilters(router)\n }\n return res\n}\n\nfunction buildNodes(\n current: AggregationResultType,\n\n router: NextRouter\n): Node {\n return {\n parentId: current.meta.parentId,\n key: current.key,\n children: [],\n name: getTranslatableField(current.meta.name),\n url: generateUrl(current, router),\n }\n}\n\nfunction buildCategories(categories: Node[]): Node[] {\n const map = {}\n let node\n const roots = []\n let i\n\n for (i = 0; i < categories?.length; i += 1) {\n map[categories[i].key] = i\n categories[i].children = []\n }\n\n for (i = 0; i < categories?.length; i += 1) {\n node = categories[i]\n // ? map[node.parent.resourceId] handles the case when a product has specified categories\n // ? without any of the ancestor ones eg. have Man > Shoes > Loafers the product\n // ? has specified only Loafers or Shoes > Loafers.\n if (node.parentId && map.hasOwnProperty(node.parentId)) {\n if (node.key !== node.parentId) {\n const selectedNode = categories[map[node?.parentId]]\n selectedNode?.children?.push(node)\n }\n } else {\n roots.push(node)\n }\n }\n\n return roots\n}\n"],"file":"useListingCategories.js"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../src/user/api/utils/processLoginPayload.ts"],"names":["WISHLIST_STORAGE_KEY","BASKET_STORAGE_KEY","writeToLocalStorage","setAccessToken","setExpiryToken","setRefreshToken","removeAnonToken","processLoginPayload","data","anonymous","wishList","basket","accessToken","expires","refreshToken"],"mappings":"AAEA,SAASA,oBAAT,QAAqC,0BAArC;AACA,SAASC,kBAAT,QAAmC,wBAAnC;AAEA,SACEC,mBADF,EAEEC,cAFF,EAGEC,cAHF,EAIEC,eAJF,EAKEC,eALF,QAMO,gBANP;AAQA,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CACjCC,IADiC,EAEjCC,SAFiC,EAG9B;AAAA,MADHA,SACG;AADHA,IAAAA,SACG,GADS,KACT;AAAA;;AACHP,EAAAA,mBAAmB,CAACF,oBAAD,EAAuBQ,IAAI,CAACE,QAA5B,CAAnB;AACAR,EAAAA,mBAAmB,CAACD,kBAAD,EAAqBO,IAAI,CAACG,MAA1B,CAAnB;AAEAR,EAAAA,cAAc,CAACK,IAAI,CAACI,WAAN,
|
1
|
+
{"version":3,"sources":["../../../../../src/user/api/utils/processLoginPayload.ts"],"names":["WISHLIST_STORAGE_KEY","BASKET_STORAGE_KEY","writeToLocalStorage","setAccessToken","setExpiryToken","setRefreshToken","removeAnonToken","processLoginPayload","data","anonymous","wishList","basket","accessToken","expires","refreshToken"],"mappings":"AAEA,SAASA,oBAAT,QAAqC,0BAArC;AACA,SAASC,kBAAT,QAAmC,wBAAnC;AAEA,SACEC,mBADF,EAEEC,cAFF,EAGEC,cAHF,EAIEC,eAJF,EAKEC,eALF,QAMO,gBANP;AAQA,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CACjCC,IADiC,EAEjCC,SAFiC,EAG9B;AAAA,MADHA,SACG;AADHA,IAAAA,SACG,GADS,KACT;AAAA;;AACHP,EAAAA,mBAAmB,CAACF,oBAAD,EAAuBQ,IAAI,CAACE,QAA5B,CAAnB;AACAR,EAAAA,mBAAmB,CAACD,kBAAD,EAAqBO,IAAI,CAACG,MAA1B,CAAnB;AAEAR,EAAAA,cAAc,CAACK,IAAI,CAACI,WAAN,EAA6BH,SAA7B,CAAd;AACAL,EAAAA,cAAc,CAACI,IAAI,CAACK,OAAN,CAAd;AACAR,EAAAA,eAAe,CAACG,IAAI,CAACM,YAAN,CAAf;AACA,GAACL,SAAD,IAAcH,eAAe,EAA7B;AACD,CAXM","sourcesContent":["import { TokenResponseDTO } from '@sentecacommerce/sdk'\n\nimport { WISHLIST_STORAGE_KEY } from '../../../api/wishlistApi'\nimport { BASKET_STORAGE_KEY } from '../../../api/myCartApi'\n\nimport {\n writeToLocalStorage,\n setAccessToken,\n setExpiryToken,\n setRefreshToken,\n removeAnonToken,\n} from '../../../utils'\n\nexport const processLoginPayload = (\n data: TokenResponseDTO,\n anonymous = false\n) => {\n writeToLocalStorage(WISHLIST_STORAGE_KEY, data.wishList)\n writeToLocalStorage(BASKET_STORAGE_KEY, data.basket)\n\n setAccessToken(data.accessToken as string, anonymous)\n setExpiryToken(data.expires as number)\n setRefreshToken(data.refreshToken as string)\n !anonymous && removeAnonToken()\n}\n"],"file":"processLoginPayload.js"}
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sentecacommerce-theme/lib",
|
3
3
|
"sideEffects": false,
|
4
|
-
"version": "0.11.
|
4
|
+
"version": "0.11.64",
|
5
5
|
"main": "dist/cjs/index.js",
|
6
6
|
"module": "dist/esm/index.js",
|
7
7
|
"types": "dist/types/index.d.ts",
|
@@ -27,10 +27,10 @@
|
|
27
27
|
"build:cjs": "cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps",
|
28
28
|
"build:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types"
|
29
29
|
},
|
30
|
-
"gitHead": "
|
30
|
+
"gitHead": "5e4de0093ed7ed38a0d5c01828571e1110f4f1c6",
|
31
31
|
"dependencies": {
|
32
|
-
"@sentecacommerce-theme/base": "^0.11.
|
33
|
-
"@sentecacommerce/sdk": "^2.0.
|
32
|
+
"@sentecacommerce-theme/base": "^0.11.64",
|
33
|
+
"@sentecacommerce/sdk": "^2.0.89",
|
34
34
|
"body-scroll-lock": "^3.1.5",
|
35
35
|
"copy-to-clipboard": "^3.3.1",
|
36
36
|
"embla-carousel": "^4.5.1",
|