cloudcommerce 0.29.0 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/.github/workflows/test-apps.yml +1 -3
  2. package/CHANGELOG.md +103 -0
  3. package/action.yml +20 -8
  4. package/ecomplus-stores/barra-doce/functions/many/package.json +3 -3
  5. package/ecomplus-stores/barra-doce/functions/ssr/package.json +6 -6
  6. package/ecomplus-stores/barra-doce/functions/with-apps/package.json +3 -3
  7. package/ecomplus-stores/barra-doce/package.json +2 -2
  8. package/ecomplus-stores/monocard/functions/many/package.json +3 -3
  9. package/ecomplus-stores/monocard/functions/ssr/package.json +6 -6
  10. package/ecomplus-stores/monocard/functions/with-apps/package.json +3 -3
  11. package/ecomplus-stores/monocard/package.json +2 -2
  12. package/package.json +10 -10
  13. package/packages/api/lib/api.d.ts +2 -2
  14. package/packages/api/package.json +1 -1
  15. package/packages/apps/affilate-program/lib/events-to-affilate-program.js +4 -5
  16. package/packages/apps/affilate-program/lib/events-to-affilate-program.js.map +1 -1
  17. package/packages/apps/affilate-program/package.json +1 -1
  18. package/packages/apps/affilate-program/src/events-to-affilate-program.ts +6 -7
  19. package/packages/apps/correios/lib/correios.d.ts +1 -0
  20. package/packages/apps/correios/lib/correios.js +2 -1
  21. package/packages/apps/correios/lib/correios.js.map +1 -1
  22. package/packages/apps/correios/lib-mjs/calculate-shipping.mjs +430 -0
  23. package/packages/apps/correios/lib-mjs/correios-db.mjs +189 -0
  24. package/packages/apps/correios/lib-mjs/correios-v2.mjs +84 -0
  25. package/packages/apps/correios/lib-mjs/utils/constants-parsers.mjs +135 -0
  26. package/packages/apps/correios/lib-mjs/utils/correios-axios.mjs +93 -0
  27. package/packages/apps/correios/package.json +12 -4
  28. package/packages/apps/correios/scripts/tests.sh +11 -0
  29. package/packages/apps/correios/src/correios.ts +2 -1
  30. package/packages/apps/correios/tests/calculate-shipping.test.mjs +1 -1
  31. package/packages/apps/custom-payment/package.json +1 -1
  32. package/packages/apps/custom-shipping/package.json +1 -1
  33. package/packages/apps/datafrete/package.json +2 -2
  34. package/packages/apps/discounts/package.json +1 -1
  35. package/packages/apps/emails/lib/firebase.js +1 -1
  36. package/packages/apps/emails/lib/firebase.js.map +1 -1
  37. package/packages/apps/emails/package.json +1 -1
  38. package/packages/apps/emails/src/firebase.ts +1 -1
  39. package/packages/apps/fb-conversions/lib/fb-conversions-events.js +1 -2
  40. package/packages/apps/fb-conversions/lib/fb-conversions-events.js.map +1 -1
  41. package/packages/apps/fb-conversions/package.json +2 -2
  42. package/packages/apps/fb-conversions/src/fb-conversions-events.ts +4 -2
  43. package/packages/apps/flash-courier/lib/flash-courier-events.js +1 -1
  44. package/packages/apps/flash-courier/lib/flash-courier-events.js.map +1 -1
  45. package/packages/apps/flash-courier/package.json +2 -2
  46. package/packages/apps/flash-courier/src/flash-courier-events.ts +1 -1
  47. package/packages/apps/frenet/lib/frenet-events.js +1 -1
  48. package/packages/apps/frenet/lib/frenet-events.js.map +1 -1
  49. package/packages/apps/frenet/package.json +2 -2
  50. package/packages/apps/frenet/src/frenet-events.ts +1 -1
  51. package/packages/apps/galaxpay/package.json +2 -2
  52. package/packages/apps/google-analytics/package.json +2 -2
  53. package/packages/apps/jadlog/package.json +2 -2
  54. package/packages/apps/loyalty-points/lib/functions-lib/cron-add-points.js.map +1 -1
  55. package/packages/apps/loyalty-points/lib/loyalty-create-transaction.js.map +1 -1
  56. package/packages/apps/loyalty-points/lib/loyalty-points-events.js +1 -1
  57. package/packages/apps/loyalty-points/lib/loyalty-points-events.js.map +1 -1
  58. package/packages/apps/loyalty-points/package.json +1 -1
  59. package/packages/apps/loyalty-points/src/functions-lib/cron-add-points.ts +1 -1
  60. package/packages/apps/loyalty-points/src/loyalty-create-transaction.ts +1 -1
  61. package/packages/apps/loyalty-points/src/loyalty-points-events.ts +1 -1
  62. package/packages/apps/mandae/CHANGELOG.md +1 -0
  63. package/packages/apps/mandae/README.md +1 -0
  64. package/packages/apps/mandae/lib/index.d.ts +1 -0
  65. package/packages/apps/mandae/lib/index.js +2 -0
  66. package/packages/apps/mandae/lib/index.js.map +1 -0
  67. package/packages/apps/mandae/lib/mandae.d.ts +2 -0
  68. package/packages/apps/mandae/lib/mandae.js +6 -0
  69. package/packages/apps/mandae/lib/mandae.js.map +1 -0
  70. package/packages/apps/mandae/lib-mjs/calculate-mandae.mjs +297 -0
  71. package/packages/apps/mandae/package.json +31 -0
  72. package/packages/apps/mandae/scripts/tests.sh +7 -0
  73. package/packages/apps/mandae/src/index.ts +1 -0
  74. package/packages/apps/mandae/src/mandae.ts +7 -0
  75. package/packages/apps/mandae/tests/calculate-shipping.test.mjs +37 -0
  76. package/packages/apps/mandae/tsconfig.json +6 -0
  77. package/packages/apps/melhor-envio/lib/functions-lib/database.d.ts +5 -4
  78. package/packages/apps/melhor-envio/lib/functions-lib/database.js.map +1 -1
  79. package/packages/apps/melhor-envio/lib/functions-lib/events-to-melhor-envio.d.ts +2 -6
  80. package/packages/apps/melhor-envio/lib/functions-lib/events-to-melhor-envio.js.map +1 -1
  81. package/packages/apps/melhor-envio/lib/functions-lib/tracking-codes.js +1 -1
  82. package/packages/apps/melhor-envio/lib/melhor-envio-events.js +1 -1
  83. package/packages/apps/melhor-envio/lib/melhor-envio-events.js.map +1 -1
  84. package/packages/apps/melhor-envio/package.json +2 -2
  85. package/packages/apps/melhor-envio/src/functions-lib/database.ts +8 -7
  86. package/packages/apps/melhor-envio/src/functions-lib/events-to-melhor-envio.ts +4 -3
  87. package/packages/apps/melhor-envio/src/functions-lib/tracking-codes.ts +3 -3
  88. package/packages/apps/melhor-envio/src/melhor-envio-events.ts +1 -2
  89. package/packages/apps/mercadopago/package.json +2 -2
  90. package/packages/apps/pagarme/package.json +2 -2
  91. package/packages/apps/paghiper/package.json +2 -2
  92. package/packages/apps/pix/package.json +2 -2
  93. package/packages/apps/tiny-erp/lib/event-to-tiny.js +3 -3
  94. package/packages/apps/tiny-erp/lib/event-to-tiny.js.map +1 -1
  95. package/packages/apps/tiny-erp/lib/integration/post-tiny-erp.js +1 -1
  96. package/packages/apps/tiny-erp/lib/integration/post-tiny-erp.js.map +1 -1
  97. package/packages/apps/tiny-erp/lib/tiny-webhook.js +3 -3
  98. package/packages/apps/tiny-erp/lib/tiny-webhook.js.map +1 -1
  99. package/packages/apps/tiny-erp/package.json +2 -2
  100. package/packages/apps/tiny-erp/src/event-to-tiny.ts +3 -3
  101. package/packages/apps/tiny-erp/src/integration/post-tiny-erp.ts +1 -1
  102. package/packages/apps/tiny-erp/src/tiny-webhook.ts +4 -4
  103. package/packages/apps/webhooks/lib/events-to-webhooks-app.js.map +1 -1
  104. package/packages/apps/webhooks/package.json +2 -2
  105. package/packages/apps/webhooks/src/events-to-webhooks-app.ts +2 -2
  106. package/packages/cli/config/firebase.json +17 -1
  107. package/packages/cli/lib/create-auth.js +0 -2
  108. package/packages/cli/lib/login.js +3 -6
  109. package/packages/cli/package.json +1 -1
  110. package/packages/cli/src/create-auth.ts +0 -2
  111. package/packages/cli/src/login.ts +3 -6
  112. package/packages/config/package.json +1 -1
  113. package/packages/emails/package.json +5 -5
  114. package/packages/eslint/package.json +6 -6
  115. package/packages/events/package.json +1 -1
  116. package/packages/feeds/package.json +1 -1
  117. package/packages/firebase/lib/config.d.ts +7 -0
  118. package/packages/firebase/lib/config.js +12 -2
  119. package/packages/firebase/lib/config.js.map +1 -1
  120. package/packages/firebase/lib/handlers/check-store-events.js +17 -11
  121. package/packages/firebase/lib/handlers/check-store-events.js.map +1 -1
  122. package/packages/firebase/lib/index.js +2 -2
  123. package/packages/firebase/lib/index.js.map +1 -1
  124. package/packages/firebase/package.json +1 -1
  125. package/packages/firebase/src/config.ts +12 -1
  126. package/packages/firebase/src/handlers/check-store-events.ts +24 -12
  127. package/packages/firebase/src/index.ts +2 -2
  128. package/packages/i18n/lib/en_us/i19emailWasSentMsg.txt +1 -0
  129. package/packages/i18n/lib/en_us/i19sendLoginLinkByEmail.txt +1 -0
  130. package/packages/i18n/lib/en_us.d.ts +2 -0
  131. package/packages/i18n/lib/en_us.js +2 -0
  132. package/packages/i18n/lib/en_us.js.map +1 -1
  133. package/packages/i18n/lib/pt_br/i19emailWasSentMsg.txt +1 -0
  134. package/packages/i18n/lib/pt_br/i19sendLoginLinkByEmail.txt +1 -0
  135. package/packages/i18n/lib/pt_br.d.ts +2 -0
  136. package/packages/i18n/lib/pt_br.js +2 -0
  137. package/packages/i18n/lib/pt_br.js.map +1 -1
  138. package/packages/i18n/package.json +1 -1
  139. package/packages/i18n/src/en_us.ts +2 -0
  140. package/packages/i18n/src/pt_br.ts +2 -0
  141. package/packages/modules/lib/firebase/call-app-module.js +5 -0
  142. package/packages/modules/lib/firebase/call-app-module.js.map +1 -1
  143. package/packages/modules/package.json +3 -2
  144. package/packages/modules/src/firebase/call-app-module.ts +5 -0
  145. package/packages/passport/lib/firebase.js +1 -1
  146. package/packages/passport/package.json +1 -1
  147. package/packages/passport/src/firebase.ts +1 -1
  148. package/packages/ssr/package.json +3 -3
  149. package/packages/storefront/config/storefront.tailwind.cjs +5 -4
  150. package/packages/storefront/package.json +11 -11
  151. package/packages/storefront/server.d.ts +0 -2
  152. package/packages/storefront/src/helpers/browser-env.ts +1 -8
  153. package/packages/storefront/src/lib/components/AccountLink.vue +1 -1
  154. package/packages/storefront/src/lib/components/Carousel.vue +6 -2
  155. package/packages/storefront/src/lib/components/CheckoutLink.vue +2 -2
  156. package/packages/storefront/src/lib/components/Drawer.vue +3 -3
  157. package/packages/storefront/src/lib/components/ViewTransitions.astro +14 -1
  158. package/packages/storefront/src/lib/composables/use-login-form.ts +80 -0
  159. package/packages/storefront/src/lib/composables/use-sticky-header.ts +8 -5
  160. package/packages/storefront/src/lib/layouts/BaseHead.astro +2 -1
  161. package/packages/storefront/src/lib/scripts/vbeta-app.ts +44 -0
  162. package/packages/storefront/src/lib/ssr-context.ts +23 -5
  163. package/packages/storefront/src/lib/state/customer-session.ts +13 -4
  164. package/packages/test-base/package.json +1 -1
  165. package/packages/types/package.json +1 -1
  166. package/packages/apps/correios/lib-mjs/calculate-correios.mjs +0 -470
  167. package/packages/apps/correios/lib-mjs/correios-ws.mjs +0 -155
  168. package/packages/storefront/src/lib/components/LoginForm.vue +0 -115
@@ -288,7 +288,10 @@ const { fallback = 'animate' } = Astro.props as Props;
288
288
  document.head.append(link);
289
289
  }
290
290
 
291
- if (supportsViewTransitions || getFallback() !== 'none') {
291
+ if (
292
+ (supportsViewTransitions || getFallback() !== 'none') &&
293
+ !location.pathname.startsWith('/app/')
294
+ ) {
292
295
  markScriptsExec();
293
296
 
294
297
  document.addEventListener('click', (ev) => {
@@ -302,7 +305,10 @@ const { fallback = 'animate' } = Astro.props as Props;
302
305
  if (
303
306
  !link ||
304
307
  !(link instanceof HTMLAnchorElement) ||
308
+ link.dataset.astroReload !== undefined ||
309
+ link.hasAttribute('download') ||
305
310
  !link.href ||
311
+ link.pathname.startsWith('/app/') || // "real" SPA routes
306
312
  (link.target && link.target !== '_self') ||
307
313
  link.origin !== location.origin ||
308
314
  ev.button !== 0 || // left clicks only
@@ -382,6 +388,13 @@ const { fallback = 'animate' } = Astro.props as Props;
382
388
  if (
383
389
  el.origin === location.origin &&
384
390
  el.pathname !== location.pathname &&
391
+ !el.pathname.startsWith('/app/') && // "real" SPA routes
392
+ el.dataset.astroReload === undefined &&
393
+ !el.hasAttribute('download') &&
394
+ /* <a role=button> commonly used as no-JS interaction fallback,
395
+ thus, on-click redirect may be prevented after component hydration.
396
+ Shouldn't prefetch. */
397
+ el.role !== 'button' &&
385
398
  transitionEnabledOnThisPage()
386
399
  ) {
387
400
  maybePrefetch(el.pathname);
@@ -0,0 +1,80 @@
1
+ import { ref, watch } from 'vue';
2
+ import { useUrlSearchParams, useThrottleFn } from '@vueuse/core';
3
+ import {
4
+ getAuth,
5
+ sendSignInLinkToEmail,
6
+ signInWithEmailAndPassword,
7
+ } from 'firebase/auth';
8
+ import {
9
+ EMAIL_STORAGE_KEY,
10
+ customerEmail as email,
11
+ initializeFirebaseAuth,
12
+ } from '@@sf/state/customer-session';
13
+
14
+ export interface Props {
15
+ canUseUrlParams?: boolean;
16
+ }
17
+
18
+ const useLoginForm = (props?: Props) => {
19
+ initializeFirebaseAuth();
20
+ const canUseUrlParams = props?.canUseUrlParams !== false;
21
+ const params = canUseUrlParams ? useUrlSearchParams('history') : {};
22
+ const isInitSignUp = params.sign_up !== undefined && params.sign_up !== '0';
23
+ const isInitPasswordSignIn = params.password !== undefined && params.password !== '0';
24
+ const isSignUp = ref(isInitSignUp);
25
+ const isLinkSignIn = ref(!isInitSignUp && !isInitPasswordSignIn);
26
+ watch(isSignUp, (_isSignUp) => {
27
+ if (_isSignUp) {
28
+ isLinkSignIn.value = true;
29
+ params.sign_up = '1';
30
+ } else {
31
+ params.sign_up = '0';
32
+ }
33
+ });
34
+ watch(isLinkSignIn, (_isLinkSignIn) => {
35
+ params.password = _isLinkSignIn ? '0' : '1';
36
+ });
37
+ const password = ref('');
38
+ const isSubmitting = ref(false);
39
+ const submitLogin = useThrottleFn(async (linkActionUrl?: string | null) => {
40
+ isSubmitting.value = true;
41
+ const timestamp = Date.now();
42
+ const firebaseAuth = getAuth();
43
+ if (!email.value) return;
44
+ window.localStorage.setItem(EMAIL_STORAGE_KEY, email.value);
45
+ try {
46
+ if (isLinkSignIn.value) {
47
+ const url = new URL(linkActionUrl || window.location.toString());
48
+ url.searchParams.append('email', email.value);
49
+ await sendSignInLinkToEmail(firebaseAuth, email.value, {
50
+ url: url.toString(),
51
+ handleCodeInApp: true,
52
+ });
53
+ } else {
54
+ await signInWithEmailAndPassword(
55
+ firebaseAuth,
56
+ email.value,
57
+ password.value,
58
+ );
59
+ }
60
+ } catch (error: any) {
61
+ console.warn(error.code);
62
+ console.error(error);
63
+ }
64
+ setTimeout(() => {
65
+ isSubmitting.value = false;
66
+ }, Math.min(2000 - (Date.now() - timestamp), 1));
67
+ }, 2000);
68
+ return {
69
+ isLinkSignIn,
70
+ isSignUp,
71
+ email,
72
+ password,
73
+ isSubmitting,
74
+ submitLogin,
75
+ };
76
+ };
77
+
78
+ export default useLoginForm;
79
+
80
+ export { useLoginForm };
@@ -12,7 +12,7 @@ import {
12
12
  useScroll,
13
13
  watchDebounced,
14
14
  } from '@vueuse/core';
15
- import { isMobile } from '@@sf/sf-lib';
15
+ import { isMobile, isScreenXs } from '@@sf/sf-lib';
16
16
 
17
17
  export interface Props {
18
18
  header: Ref<HTMLElement | null>;
@@ -34,13 +34,16 @@ const useStickyHeader = (props: Props) => {
34
34
  canCreateHeightDiv: true,
35
35
  ...props,
36
36
  };
37
- const { ready, start } = useTimeout(100, { controls: true, immediate: false });
37
+ const { ready, start } = useTimeout(100, {
38
+ controls: true,
39
+ immediate: false,
40
+ });
38
41
  const staticHeight = ref(0);
39
42
  const staticY = ref(0);
40
43
  let heightDiv: HTMLElement | undefined;
41
- const { y: _y } = !import.meta.env.SSR && (isShownOnMobile || !isMobile)
42
- ? useScroll(document)
43
- : { y: ref(0) };
44
+ const canWatchScroll = !import.meta.env.SSR
45
+ && (isShownOnMobile || (!isMobile && !isScreenXs));
46
+ const { y: _y } = canWatchScroll ? useScroll(document) : { y: ref(0) };
44
47
  const y = ref(0);
45
48
  watchDebounced(_y, (nextY) => {
46
49
  y.value = nextY;
@@ -9,7 +9,8 @@ export interface Props {
9
9
 
10
10
  // @ts-ignore
11
11
  const isPWA = pwaInfo !== false; // config/astro/mock-pwa-info.mjs
12
- const hasViewTransitions = Astro.props.hasViewTransitions !== false;
12
+ const hasViewTransitions = Astro.props.hasViewTransitions !== false
13
+ && !Astro.url.pathname.startsWith('/app/');
13
14
  const deployRand = import.meta.env.DEPLOY_RAND || '_';
14
15
  const getIconUrl = (size: number) => {
15
16
  return `/_image?f=png&w=${size}&h=${size}`
@@ -0,0 +1,44 @@
1
+ import { watch } from 'vue';
2
+ import {
3
+ GET_PASSPORT_API_URI,
4
+ session,
5
+ isAuthenticated,
6
+ customer,
7
+ } from '@@sf/state/customer-session';
8
+
9
+ // https://github.com/ecomplus/storefront/tree/master/%40ecomplus/storefront-app compat
10
+ if (!import.meta.env.SSR) {
11
+ const onLoad = () => {
12
+ const { ecomPassport } = window as Record<string, any>;
13
+ watch(isAuthenticated, async () => {
14
+ if (isAuthenticated.value) {
15
+ // @ts-ignore
16
+ window.ECOMCLIENT_API_PASSPORT = GET_PASSPORT_API_URI();
17
+ ecomPassport.setSession({
18
+ auth: {
19
+ ...session.auth,
20
+ id: session.auth?.customer_id,
21
+ level: 3,
22
+ },
23
+ customer: customer.value,
24
+ });
25
+ } else if (ecomPassport.checkLogin()) {
26
+ ecomPassport.logout();
27
+ }
28
+ }, {
29
+ immediate: true,
30
+ });
31
+ watch(customer, (_customer) => {
32
+ if (_customer.display_name || _customer.main_email) {
33
+ ecomPassport.setCustomer(_customer);
34
+ }
35
+ }, {
36
+ immediate: true,
37
+ });
38
+ };
39
+
40
+ const appScript = document.createElement('script');
41
+ appScript.src = 'https://cdn.jsdelivr.net/npm/@ecomplus/storefront-app@2.0.0-beta.186/dist/lib/js/app.js';
42
+ appScript.onload = onLoad;
43
+ document.body.appendChild(appScript);
44
+ }
@@ -29,6 +29,11 @@ if (!globalThis.$apiMergeConfig) {
29
29
  canCache: true,
30
30
  };
31
31
  }
32
+ declare global {
33
+ /* eslint-disable no-var, vars-on-top */
34
+ var $apiPrefetchEndpoints: Array<ApiEndpoint | ':slug'>;
35
+ /* eslint-enable no-var */
36
+ }
32
37
  if (!globalThis.$apiPrefetchEndpoints) {
33
38
  globalThis.$apiPrefetchEndpoints = [];
34
39
  }
@@ -42,12 +47,25 @@ if (!globalThis.$storefront) {
42
47
  };
43
48
  }
44
49
 
50
+ declare global {
51
+ /* eslint-disable no-var, vars-on-top */
52
+ var $storefrontCacheController: undefined
53
+ | ((Astro: AstroGlobal, maxAge: number, sMaxAge?: number) => string | null);
54
+ /* eslint-enable no-var */
55
+ }
45
56
  const setResponseCache = (Astro: AstroGlobal, maxAge: number, sMaxAge?: number) => {
46
57
  const headerName = import.meta.env.PROD ? 'Cache-Control' : 'X-Cache-Control';
47
- let cacheControl = `public, max-age=${maxAge}, must-revalidate`;
48
- if (sMaxAge) cacheControl += `, s-maxage=${sMaxAge}`;
49
- if (sMaxAge || maxAge >= 60) cacheControl += `, stale-while-revalidate=604800`;
50
- Astro.response.headers.set(headerName, cacheControl);
58
+ let cacheControl: string | null = null;
59
+ if (globalThis.$storefrontCacheController) {
60
+ cacheControl = globalThis.$storefrontCacheController(Astro, maxAge, sMaxAge);
61
+ } else {
62
+ cacheControl = `public, max-age=${maxAge}, must-revalidate`;
63
+ if (sMaxAge) cacheControl += `, s-maxage=${sMaxAge}`;
64
+ if (sMaxAge || maxAge >= 60) cacheControl += `, stale-while-revalidate=604800`;
65
+ }
66
+ if (cacheControl) {
67
+ Astro.response.headers.set(headerName, cacheControl);
68
+ }
51
69
  };
52
70
 
53
71
  export type ApiPrefetchEndpoints = Array<ApiEndpoint | ':slug'>;
@@ -99,7 +117,7 @@ const loadRouteContext = async (Astro: Readonly<AstroGlobal>, {
99
117
  } else if (slug) {
100
118
  if (contentCollection) {
101
119
  cmsContent = await config.getContent(`${contentCollection}/${slug}`);
102
- } else if (slug.startsWith('api/')) {
120
+ } else if (slug.startsWith('_api/')) {
103
121
  const err: any = new Error('/api/* routes not implemented on SSR directly');
104
122
  Astro.response.status = 501;
105
123
  err.responseHTML = `<head></head><body>${err.message}</body>`;
@@ -6,6 +6,13 @@ import { computed } from 'vue';
6
6
  import { requestIdleCallback } from '@@sf/sf-lib';
7
7
  import useStorage from '@@sf/state/use-storage';
8
8
 
9
+ export const EMAIL_STORAGE_KEY = 'emailForSignIn';
10
+
11
+ export const GET_PASSPORT_API_URI = () => {
12
+ const { domain } = globalThis.$storefront.settings;
13
+ return `https://${domain}/_api/passport/`;
14
+ };
15
+
9
16
  const storageKey = 'ecomSession';
10
17
  const emptySession = {
11
18
  customer: {
@@ -61,9 +68,8 @@ const authenticate = async () => {
61
68
  throwNoAuth('Can\'t get Firebase user ID token');
62
69
  return;
63
70
  }
64
- const { domain } = window.$storefront.settings;
65
71
  try {
66
- const resAuth = await fetch(`https://${domain}/_api/passport/token`, {
72
+ const resAuth = await fetch(`${GET_PASSPORT_API_URI()}token`, {
67
73
  method: 'POST',
68
74
  headers: {
69
75
  'Content-Type': 'application/json',
@@ -95,8 +101,11 @@ const fetchCustomer = async () => {
95
101
  };
96
102
 
97
103
  let isAuthInitialized = false;
98
- const initializeFirebaseAuth = (canWaitIdle = !window.location.pathname.startsWith('/app/')) => {
104
+ const initializeFirebaseAuth = (canWaitIdle?: boolean) => {
99
105
  if (import.meta.env.SSR || isAuthInitialized) return;
106
+ if (canWaitIdle === undefined) {
107
+ canWaitIdle = !window.location.pathname.startsWith('/app/');
108
+ }
100
109
  isAuthInitialized = true;
101
110
  const runImport = () => import('../scripts/firebase-app')
102
111
  .then(({
@@ -132,7 +141,7 @@ const initializeFirebaseAuth = (canWaitIdle = !window.location.pathname.startsWi
132
141
  const email = urlParams.get('email');
133
142
  if (email) {
134
143
  signInWithEmailLink(firebaseAuth, email, window.location.href)
135
- .then(() => window.localStorage.removeItem('emailForSignIn'))
144
+ .then(() => window.localStorage.removeItem(EMAIL_STORAGE_KEY))
136
145
  .catch(console.error);
137
146
  }
138
147
  }
@@ -2,7 +2,7 @@
2
2
  "name": "@cloudcommerce/test-base",
3
3
  "private": true,
4
4
  "type": "module",
5
- "version": "0.29.0",
5
+ "version": "0.31.0",
6
6
  "description": "E-Com Plus Cloud Commerce basic setup for testing",
7
7
  "main": "lib/index.js",
8
8
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/types",
3
3
  "type": "module",
4
- "version": "0.29.0",
4
+ "version": "0.31.0",
5
5
  "description": "E-Com Plus Cloud Commerce reusable type definitions",
6
6
  "main": "index.ts",
7
7
  "repository": {