cloudcommerce 0.22.2 → 0.22.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/ecomplus-stores/barra-doce/functions/many/package.json +3 -3
  3. package/ecomplus-stores/barra-doce/functions/ssr/package.json +6 -6
  4. package/ecomplus-stores/barra-doce/functions/ssr/src/components/PitchBar.vue +1 -1
  5. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeader.vue +92 -48
  6. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeaderMenu.vue +21 -13
  7. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeaderSubmenu.vue +7 -5
  8. package/ecomplus-stores/barra-doce/functions/ssr/src/layouts/PageHeader.astro +10 -6
  9. package/ecomplus-stores/barra-doce/functions/ssr/src/main/Home.astro +1 -0
  10. package/ecomplus-stores/barra-doce/functions/with-apps/package.json +3 -3
  11. package/ecomplus-stores/barra-doce/package.json +1 -1
  12. package/ecomplus-stores/iluminim/.ecomplus.cd.json +5 -0
  13. package/ecomplus-stores/iluminim/functions/many/package.json +3 -3
  14. package/ecomplus-stores/iluminim/functions/ssr/package.json +6 -6
  15. package/ecomplus-stores/iluminim/functions/ssr/src/layouts/PageHeader.astro +6 -2
  16. package/ecomplus-stores/iluminim/functions/with-apps/package.json +3 -3
  17. package/ecomplus-stores/iluminim/package.json +1 -1
  18. package/package.json +1 -1
  19. package/packages/api/package.json +1 -1
  20. package/packages/apps/affilate-program/package.json +1 -1
  21. package/packages/apps/correios/package.json +1 -1
  22. package/packages/apps/custom-payment/package.json +1 -1
  23. package/packages/apps/custom-shipping/package.json +1 -1
  24. package/packages/apps/datafrete/package.json +1 -1
  25. package/packages/apps/discounts/package.json +1 -1
  26. package/packages/apps/emails/package.json +1 -1
  27. package/packages/apps/fb-conversions/package.json +1 -1
  28. package/packages/apps/flash-courier/package.json +1 -1
  29. package/packages/apps/frenet/package.json +1 -1
  30. package/packages/apps/galaxpay/package.json +1 -1
  31. package/packages/apps/google-analytics/package.json +1 -1
  32. package/packages/apps/jadlog/package.json +1 -1
  33. package/packages/apps/loyalty-points/package.json +1 -1
  34. package/packages/apps/melhor-envio/package.json +1 -1
  35. package/packages/apps/mercadopago/package.json +1 -1
  36. package/packages/apps/pagarme/package.json +1 -1
  37. package/packages/apps/paghiper/package.json +1 -1
  38. package/packages/apps/pix/package.json +1 -1
  39. package/packages/apps/tiny-erp/package.json +1 -1
  40. package/packages/apps/webhooks/package.json +1 -1
  41. package/packages/cli/package.json +1 -1
  42. package/packages/config/package.json +1 -1
  43. package/packages/emails/package.json +1 -1
  44. package/packages/events/package.json +1 -1
  45. package/packages/feeds/package.json +1 -1
  46. package/packages/firebase/package.json +1 -1
  47. package/packages/i18n/package.json +1 -1
  48. package/packages/modules/package.json +1 -1
  49. package/packages/passport/package.json +1 -1
  50. package/packages/ssr/package.json +1 -1
  51. package/packages/storefront/dist/client/_astro/{ShopHeader.dbe9c1f1.js → ShopHeader.1c27e68e.js} +3 -3
  52. package/packages/storefront/dist/client/sw.js +1 -1
  53. package/packages/storefront/dist/server/chunks/{_...fac94758.mjs → _...75363048.mjs} +2 -2
  54. package/packages/storefront/dist/server/chunks/{account@_@astro.460623ee.mjs → account@_@astro.12fbe243.mjs} +1 -1
  55. package/packages/storefront/dist/server/chunks/{endpoint@_@js.35380ea5.mjs → endpoint@_@js.67b66d0a.mjs} +2 -2
  56. package/packages/storefront/dist/server/chunks/{fallback@_@astro.dbc26d2d.mjs → fallback@_@astro.0a6656b6.mjs} +2 -2
  57. package/packages/storefront/dist/server/chunks/{index@_@astro.fec107b9.mjs → index@_@astro.a4c9c84e.mjs} +2 -2
  58. package/packages/storefront/dist/server/chunks/{index@_@astro.c91e679e.mjs → index@_@astro.df499bf2.mjs} +2 -2
  59. package/packages/storefront/dist/server/chunks/pages/{_...slug_.astro.2e2d4770.mjs → _...slug_.astro.a71c9334.mjs} +37 -40
  60. package/packages/storefront/dist/server/chunks/pages/{endpoint.js.6f0f4ede.mjs → endpoint.js.085dadb5.mjs} +1 -1
  61. package/packages/storefront/dist/server/chunks/pages/{fallback.astro.fc8bc7e7.mjs → fallback.astro.055cb7df.mjs} +1 -1
  62. package/packages/storefront/dist/server/chunks/pages/{index.astro.03adcc55.mjs → index.astro.abc34f72.mjs} +1 -1
  63. package/packages/storefront/dist/server/entry.mjs +8 -8
  64. package/packages/storefront/dist/server/renderers.mjs +1 -1
  65. package/packages/storefront/package.json +1 -1
  66. package/packages/storefront/src/lib/components/SharedData.astro +7 -8
  67. package/packages/storefront/src/lib/composables/use-shared-data.ts +18 -0
  68. package/packages/storefront/src/lib/composables/use-shop-header.ts +8 -7
  69. package/packages/storefront/src/lib/composables/use-sticky-header.ts +1 -1
  70. package/packages/types/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.22.3](https://github.com/ecomplus/cloud-commerce/compare/v0.22.2...v0.22.3) (2023-07-26)
6
+
7
+
8
+ ### Features
9
+
10
+ * **storefront:** New `useSharedData` composable to make easier setting data before components SSR ([60cdcf0](https://github.com/ecomplus/cloud-commerce/commit/60cdcf0b3315366c39ef5b481eac53dcfea8bff1))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **storefront:** Update `useShopHeader` to ensure global data is used on function runtime ([abaaad0](https://github.com/ecomplus/cloud-commerce/commit/abaaad0961924995bbb556074f8778e55c34f7b8))
16
+
5
17
  ### [0.22.2](https://github.com/ecomplus/cloud-commerce/compare/v0.22.1...v0.22.2) (2023-07-26)
6
18
 
7
19
 
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/feeds": "^0.22.1",
19
- "@cloudcommerce/firebase": "^0.22.1",
20
- "@cloudcommerce/passport": "^0.22.1"
18
+ "@cloudcommerce/feeds": "^0.22.2",
19
+ "@cloudcommerce/firebase": "^0.22.2",
20
+ "@cloudcommerce/passport": "^0.22.2"
21
21
  }
22
22
  }
@@ -17,14 +17,14 @@
17
17
  },
18
18
  "main": "index.js",
19
19
  "dependencies": {
20
- "@cloudcommerce/api": "^0.22.1",
21
- "@cloudcommerce/firebase": "^0.22.1",
22
- "@cloudcommerce/ssr": "^0.22.1"
20
+ "@cloudcommerce/api": "^0.22.2",
21
+ "@cloudcommerce/firebase": "^0.22.2",
22
+ "@cloudcommerce/ssr": "^0.22.2"
23
23
  },
24
24
  "devDependencies": {
25
- "@cloudcommerce/i18n": "^0.22.1",
26
- "@cloudcommerce/storefront": "^0.22.1",
27
- "@cloudcommerce/types": "^0.22.1",
25
+ "@cloudcommerce/i18n": "^0.22.2",
26
+ "@cloudcommerce/storefront": "^0.22.2",
27
+ "@cloudcommerce/types": "^0.22.2",
28
28
  "@fontsource/croissant-one": "^5.0.5",
29
29
  "@iconify-json/mingcute": "^1.1.7"
30
30
  }
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="bg-base-100 relative z-20">
3
- <div class="container md:w-2/3 mx-auto px-3 py-1">
3
+ <div class="container lg:w-2/3 mx-auto px-3 py-1">
4
4
  <Carousel :autoplay="countValidSlides > 1 ? 7000 : undefined">
5
5
  <li
6
6
  v-for="(slide, i) in slides"
@@ -8,59 +8,101 @@
8
8
  ]"
9
9
  >
10
10
  <div class="container 2xl:max-w-7xl
11
- mx-auto px-1 lg:pr-3 lg:pl-5 xl:pr-7 xl:pl-9 2xl:pr-0 2xl:pl-2
12
- flex md:grid grid-flow-col grid-cols-3 lg:grid-cols-none lg:auto-cols-max
13
- justify-between items-center">
14
- <div class="basis-1/4 lg:hidden">
15
- <button
16
- class="px-2 my-1"
17
- :aria-label="$t.i19toggleMenu"
18
- @click="isSidenavOpen = !isSidenavOpen"
11
+ mx-auto px-1 lg:pr-3 lg:pl-5 xl:pr-7 xl:pl-9 2xl:pr-0 2xl:pl-2">
12
+ <div class="flex justify-between items-center">
13
+ <div
14
+ class="basis-1/4 lg:basis-auto lg:me-5"
15
+ :class="!isSticky ? 'lg:hidden' : null"
19
16
  >
20
- <i
21
- class="text-base-500 text-3xl"
22
- :class="isSidenavOpen ? 'i-close' : 'i-menu-line'"
23
- ></i>
24
- </button>
25
- </div>
26
- <slot name="logo" />
27
- <ShopHeaderMenu class="hidden lg:block" v-bind="{ inlineMenuTrees }" />
28
- <div class="basis-1/4 px-2 flex justify-end items-center gap-3 lg:gap-4">
29
- <button
30
- :aria-label="$t.i19searchProducts"
31
- @click="isSearchOpen = !isSearchOpen"
32
- >
33
- <i class="i-search-3-line w-7 h-7
34
- text-base-700 hover:text-primary hover:scale-110 active:scale-125"></i>
35
- </button>
36
- <AccountMenu
37
- class="hidden sm:block"
38
- :aria-label="$t.i19myAccount"
39
- :service-links="serviceLinks"
40
- >
41
- <template #button="{ open }">
17
+ <button
18
+ class="px-2 my-1"
19
+ :aria-label="$t.i19toggleMenu"
20
+ @click="isSidenavOpen = !isSidenavOpen"
21
+ >
42
22
  <i
43
- class="i-user-2-line w-7 h-7
44
- text-base-600 hover:text-primary hover:scale-110 active:scale-125"
45
- :class="open ? 'text-base-800 scale-110' : null"
23
+ class="text-base-600 text-3xl"
24
+ :class="isSidenavOpen ? 'i-close' : 'i-menu-line'"
46
25
  ></i>
47
- </template>
48
- </AccountMenu>
49
- <button
50
- :aria-label="$t.i19openCart"
51
- @click="isCartOpen = !isCartOpen"
52
- class="relative group text-primary-500"
53
- >
54
- <i class="i-shopping-bag-3-fill w-7 h-7 group-hover:text-primary
55
- group-hover:scale-110 group-active:scale-125"></i>
56
- <span
57
- v-if="delayedTotalItems"
58
- class="ui-badge-pill-sm absolute -top-1 -right-1.5"
26
+ </button>
27
+ </div>
28
+ <div class="lg:grow" :class="isSticky ? '[&_img]:max-w-[170px]' : null">
29
+ <slot name="logo" />
30
+ </div>
31
+ <div class="basis-1/4 px-2 flex justify-end items-center gap-3 lg:gap-4">
32
+ <form
33
+ action="/search"
34
+ method="get"
35
+ class="hidden lg:block w-[400px] relative mb-1"
36
+ @submit.prevent="searchTerm
37
+ ? (isSearchOpen = !isSearchOpen)
38
+ : searchInput?.focus()"
39
+ >
40
+ <label for="HeaderSearch" class="sr-only">
41
+ {{ $t.i19searchProducts }}
42
+ </label>
43
+ <input
44
+ ref="searchInput"
45
+ type="search"
46
+ id="HeaderSearch"
47
+ name="term"
48
+ v-model="searchTerm"
49
+ :placeholder="$t.i19searchProducts"
50
+ class="w-full rounded-md py-2.5 pe-10 sm:text-sm
51
+ bg-gradient-to-br from-primary-50/10 to-primary-50/80
52
+ border-primary-200 shadow-sm"
53
+ />
54
+ <span class="absolute inset-y-0 end-0 px-1 grid place-content-center">
55
+ <button
56
+ type="submit"
57
+ class="p-1 text-2xl text-primary-600 hover:text-primary"
58
+ >
59
+ <span class="sr-only">{{ $t.i19search }}</span>
60
+ <i class="i-search-3-line"></i>
61
+ </button>
62
+ </span>
63
+ </form>
64
+ <button
65
+ :aria-label="$t.i19searchProducts"
66
+ @click="isSearchOpen = !isSearchOpen"
67
+ class="lg:hidden"
68
+ >
69
+ <i class="i-search-3-line w-7 h-7
70
+ text-base-700 hover:text-primary hover:scale-110 active:scale-125"></i>
71
+ </button>
72
+ <AccountMenu
73
+ class="hidden sm:block"
74
+ :aria-label="$t.i19myAccount"
75
+ :service-links="serviceLinks"
76
+ >
77
+ <template #button="{ open }">
78
+ <i
79
+ class="i-user-2-line w-7 h-7
80
+ text-base-600 hover:text-primary hover:scale-110 active:scale-125"
81
+ :class="open ? 'text-base-800 scale-110' : null"
82
+ ></i>
83
+ </template>
84
+ </AccountMenu>
85
+ <button
86
+ :aria-label="$t.i19openCart"
87
+ @click="isCartOpen = !isCartOpen"
88
+ class="relative group text-primary-500"
59
89
  >
60
- {{ delayedTotalItems }}
61
- </span>
62
- </button>
90
+ <i class="i-shopping-bag-3-fill w-7 h-7 group-hover:text-primary
91
+ group-hover:scale-110 group-active:scale-125"></i>
92
+ <span
93
+ v-if="delayedTotalItems"
94
+ class="ui-badge-pill-sm absolute -top-1 -right-1.5"
95
+ >
96
+ {{ delayedTotalItems }}
97
+ </span>
98
+ </button>
99
+ </div>
63
100
  </div>
101
+ <ShopHeaderMenu
102
+ v-show="!isSticky"
103
+ v-bind="{ inlineMenuTrees }"
104
+ class="hidden lg:block px-3 2xl:px-8 mt-3"
105
+ />
64
106
  </div>
65
107
  <Drawer
66
108
  v-model="isSidenavOpen"
@@ -124,6 +166,8 @@ const isSearchOpen = ref(false);
124
166
  const isCartOpen = ref(false);
125
167
  const isMounted = ref(false);
126
168
  const delayedTotalItems = ref(0);
169
+ const searchTerm = ref('');
170
+ const searchInput = ref<HTMLElement | null>(null);
127
171
  onMounted(() => {
128
172
  isMounted.value = true;
129
173
  watch(totalItems, (newTotalItems, prevTotalItems) => {
@@ -1,18 +1,36 @@
1
1
  <template>
2
2
  <nav>
3
3
  <ul
4
- class="flex gap-4 xl:gap-5 text-base-700"
4
+ class="flex justify-between gap-1.5 text-base-700"
5
5
  :class="inlineMenuTrees.length < 7 ? 'text-base' : 'text-sm'"
6
6
  >
7
7
  <li v-for="(categoryTree, i) in inlineMenuTrees" :key="i">
8
8
  <ShopHeaderSubmenu
9
9
  v-if="categoryTree.subcategories.length"
10
10
  :category-tree="categoryTree"
11
+ :class="[
12
+ i < 4 ? '[&_.Popover]:translate-x-0 [&_.Popover]:-left-2' : null,
13
+ i > 3 ? '[&_.Popover]:text-right [&_.Popover]:-right-2' : null,
14
+ ]"
11
15
  >
12
16
  <template #button="{ open }">
13
17
  <span class="hover:text-primary group">
18
+ <span class="hidden lg:inline text-secondary-400">
19
+ <i v-if="categoryTree.slug.includes('confeitar')"
20
+ class="i-cupcake-line me-1"></i>
21
+ <i v-else-if="categoryTree.slug.includes('cortadores')"
22
+ class="i-scissors-2-line me-1"></i>
23
+ <i v-else-if="categoryTree.slug.includes('panificacao')"
24
+ class="i-bread-line me-1"></i>
25
+ <i v-else-if="categoryTree.slug.includes('embalagens')"
26
+ class="i-package-2-line me-1"></i>
27
+ <i v-else-if="categoryTree.slug.includes('chocolate')"
28
+ class="i-cookie-man-line me-1"></i>
29
+ <i v-else-if="categoryTree.slug.includes('ingredientes')"
30
+ class="i-drop-line me-1"></i>
31
+ </span>
14
32
  <h3
15
- class="group-hover:underline inline"
33
+ class="group-hover:underline inline tracking-tight"
16
34
  :class="[
17
35
  inlineMenuTrees.length < 7 ? 'decoration-2' : null,
18
36
  open ? 'underline' : null,
@@ -20,12 +38,6 @@
20
38
  >
21
39
  {{ categoryTree.name }}
22
40
  </h3>
23
- <i
24
- v-if="hasOneLevelSubcategories"
25
- class="i-down-line ml-1 transition-transform
26
- text-base-400 group-hover:text-primary-subtle"
27
- :class="open ? 'rotate-180' : null"
28
- ></i>
29
41
  </span>
30
42
  </template>
31
43
  </ShopHeaderSubmenu>
@@ -44,15 +56,11 @@
44
56
 
45
57
  <script setup lang="ts">
46
58
  import type { CategoryTree } from '@@sf/composables/use-shop-header';
47
- import { computed } from 'vue';
48
59
  import ShopHeaderSubmenu from '~/components/ShopHeaderSubmenu.vue';
49
60
 
50
61
  export interface Props {
51
62
  inlineMenuTrees: CategoryTree[];
52
63
  }
53
64
 
54
- const props = defineProps<Props>();
55
- const hasOneLevelSubcategories = computed(() => {
56
- return !!props.inlineMenuTrees.find(({ subcategories }) => !subcategories.length);
57
- });
65
+ defineProps<Props>();
58
66
  </script>
@@ -6,10 +6,10 @@
6
6
  <div class="relative">
7
7
  <Fade>
8
8
  <PopoverPanel
9
- class="absolute z-20 top-3 left-1/2 -translate-x-1/2 !transform
10
- px-6 py-4 rounded backdrop-blur-md shadow bg-white/80
9
+ class="Popover absolute z-20 top-3 !transform
10
+ px-7 py-5 rounded backdrop-blur-md shadow bg-white/80
11
11
  text-base text-base-700"
12
- :class="countMenuCols === 1 ? 'w-60'
12
+ :class="countMenuCols === 1 ? 'w-auto'
13
13
  : countMenuCols === 2 ? `w-screen ${(categoryPicture ? 'max-w-lg' : 'max-w-sm')}`
14
14
  : countMenuCols === 3 ? `w-screen ${(categoryPicture ? 'max-w-xl' : 'max-w-md')}`
15
15
  : countMenuCols < 6 ? 'w-screen max-w-3xl' : 'w-screen max-w-5xl'"
@@ -19,10 +19,12 @@
19
19
  <li
20
20
  v-for="(subcategory, i) in subcategoryLinks"
21
21
  :key="`link-${i}`"
22
- :class="subcategoryLinks.length > 10 ? 'text-sm mb-1' : 'mb-2'"
22
+ class="text-sm mb-2"
23
23
  >
24
24
  <a :href="`/${subcategory.slug}`" class="hover:text-primary">
25
- <h3>{{ subcategory.name }}</h3>
25
+ <h3 :class="countMenuCols === 1 ? 'whitespace-nowrap' : null">
26
+ {{ subcategory.name }}
27
+ </h3>
26
28
  </a>
27
29
  </li>
28
30
  </ul>
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  import usePageHeader from '@@sf/layouts/use-page-header';
3
- import SharedData from '@@sf/components/SharedData.astro';
3
+ import useSharedData from '@@sf/composables/use-shared-data';
4
4
  import Picture from '@@sf/components/Picture.astro';
5
5
  import PitchBar from '~/components/PitchBar.vue';
6
6
  import ShopHeader from '~/components/ShopHeader.vue';
@@ -12,25 +12,29 @@ const {
12
12
  pitchBar,
13
13
  shopHeader: { categories, ...shopHeader },
14
14
  } = await usePageHeader({ routeContext });
15
+ const { inlineClientJS } = useSharedData({
16
+ field: 'categories',
17
+ value: categories?.map(({ _id, ...c }) => c),
18
+ });
15
19
  ---
16
20
 
17
21
  <slot name="pitch-bar">
18
22
  {pitchBar.slides.length > 1 && <PitchBar {...pitchBar} client:idle />}
19
23
  {pitchBar.slides.length === 1 && <PitchBar {...pitchBar} />}
20
24
  </slot>
21
- <SharedData field="categories" value={categories?.map(({ _id, ...c }) => c)} />
25
+ <script is:inline set:html={inlineClientJS} />
22
26
  <ShopHeader {...shopHeader} client:load>
23
27
  <Fragment slot="logo">
24
- <a href="/">
25
- <LogoHeading>
28
+ <a href="/" class="inline-block">
29
+ <LogoHeading class="inline-block">
26
30
  <Picture
27
31
  slot="logo-picture"
28
32
  src={settings.logo}
29
33
  alt={settings.name}
30
- widths={[300]}
34
+ widths={[280, 400]}
31
35
  fetchpriority="high"
32
36
  loading="eager"
33
- class="hover:drop-shadow-sm max-w-[150px] mx-auto"
37
+ class="hover:drop-shadow-sm max-w-[140px] md:max-w-[200px] mx-auto md:mx-none"
34
38
  />
35
39
  </LogoHeading>
36
40
  </a>
@@ -26,4 +26,5 @@ const heroSlides = heroSlider.slides;
26
26
  </HeroSlider>
27
27
  }
28
28
  <Sections />
29
+ <div style="height: 1000px;"></div>
29
30
  </main>
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/events": "^0.22.1",
19
- "@cloudcommerce/firebase": "^0.22.1",
20
- "@cloudcommerce/modules": "^0.22.1"
18
+ "@cloudcommerce/events": "^0.22.2",
19
+ "@cloudcommerce/firebase": "^0.22.2",
20
+ "@cloudcommerce/modules": "^0.22.2"
21
21
  }
22
22
  }
@@ -23,6 +23,6 @@
23
23
  "url": "https://github.com/ecomplus/cloud-commerce/issues"
24
24
  },
25
25
  "dependencies": {
26
- "@cloudcommerce/cli": "^0.22.1"
26
+ "@cloudcommerce/cli": "^0.22.2"
27
27
  }
28
28
  }
@@ -0,0 +1,5 @@
1
+ {
2
+ "trigger": "64bffc6b5e6069037072e98d",
3
+ "resource": "products",
4
+ "slug": "fita_led_verde_5050_1_metros,kit_20_luminaria_plafon_25w_led_embutir_branco_frio,luminaria_arandela_led_8w_sobrepor_branco_quente_preto,luminaria_arandela_led_18w_interna_branco_quente,kit_5_lampada_led_dicroica_65w_gu10_branco_quente_or_inmetro,kit_10_luminaria_arandela_led_5w_sobrepor_tartaruga_branco_quente_preto,kit_20_5050_smd_modulo_3led_impermeavel_12v_branco_frio"
5
+ }
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/feeds": "^0.22.1",
19
- "@cloudcommerce/firebase": "^0.22.1",
20
- "@cloudcommerce/passport": "^0.22.1"
18
+ "@cloudcommerce/feeds": "^0.22.2",
19
+ "@cloudcommerce/firebase": "^0.22.2",
20
+ "@cloudcommerce/passport": "^0.22.2"
21
21
  }
22
22
  }
@@ -17,14 +17,14 @@
17
17
  },
18
18
  "main": "index.js",
19
19
  "dependencies": {
20
- "@cloudcommerce/api": "^0.22.1",
21
- "@cloudcommerce/firebase": "^0.22.1",
22
- "@cloudcommerce/ssr": "^0.22.1"
20
+ "@cloudcommerce/api": "^0.22.2",
21
+ "@cloudcommerce/firebase": "^0.22.2",
22
+ "@cloudcommerce/ssr": "^0.22.2"
23
23
  },
24
24
  "devDependencies": {
25
- "@cloudcommerce/i18n": "^0.22.1",
26
- "@cloudcommerce/storefront": "^0.22.1",
27
- "@cloudcommerce/types": "^0.22.1",
25
+ "@cloudcommerce/i18n": "^0.22.2",
26
+ "@cloudcommerce/storefront": "^0.22.2",
27
+ "@cloudcommerce/types": "^0.22.2",
28
28
  "@fontsource-variable/heebo": "^5.0.5",
29
29
  "@iconify-json/carbon": "^1.1.18"
30
30
  }
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  import usePageHeader from '@@sf/layouts/use-page-header';
3
- import SharedData from '@@sf/components/SharedData.astro';
3
+ import useSharedData from '@@sf/composables/use-shared-data';
4
4
  import Picture from '@@sf/components/Picture.astro';
5
5
  import PitchBar from '~/components/PitchBar.vue';
6
6
  import ShopHeader from '~/components/ShopHeader.vue';
@@ -12,13 +12,17 @@ const {
12
12
  pitchBar,
13
13
  shopHeader: { categories, ...shopHeader },
14
14
  } = await usePageHeader({ routeContext });
15
+ const { inlineClientJS } = useSharedData({
16
+ field: 'categories',
17
+ value: categories?.map(({ _id, ...c }) => c),
18
+ });
15
19
  ---
16
20
 
17
21
  <slot name="pitch-bar">
18
22
  {pitchBar.slides.length > 1 && <PitchBar {...pitchBar} client:idle />}
19
23
  {pitchBar.slides.length === 1 && <PitchBar {...pitchBar} />}
20
24
  </slot>
21
- <SharedData field="categories" value={categories?.map(({ _id, ...c }) => c)} />
25
+ <script is:inline set:html={inlineClientJS} />
22
26
  <ShopHeader {...shopHeader} client:load>
23
27
  <Fragment slot="logo">
24
28
  <a href="/">
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/events": "^0.22.1",
19
- "@cloudcommerce/firebase": "^0.22.1",
20
- "@cloudcommerce/modules": "^0.22.1"
18
+ "@cloudcommerce/events": "^0.22.2",
19
+ "@cloudcommerce/firebase": "^0.22.2",
20
+ "@cloudcommerce/modules": "^0.22.2"
21
21
  }
22
22
  }
@@ -23,6 +23,6 @@
23
23
  "url": "https://github.com/ecomplus/cloud-commerce/issues"
24
24
  },
25
25
  "dependencies": {
26
- "@cloudcommerce/cli": "^0.22.1"
26
+ "@cloudcommerce/cli": "^0.22.2"
27
27
  }
28
28
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloudcommerce",
3
3
  "type": "module",
4
- "version": "0.22.2",
4
+ "version": "0.22.3",
5
5
  "description": "Open fair-code headless commerce platform: API-first, microservices based, event driven and cloud native",
6
6
  "main": "packages/api/lib/index.js",
7
7
  "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/api",
3
3
  "type": "module",
4
- "version": "0.22.2",
4
+ "version": "0.22.3",
5
5
  "description": "E-Com Plus Cloud Commerce APIs client/adapter",
6
6
  "main": "lib/api.js",
7
7
  "types": "lib/api.d.ts",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-affilate-program",
3
3
  "type": "module",
4
- "version": "0.22.2",
4
+ "version": "0.22.3",
5
5
  "description": "E-Com Plus Cloud Commerce app for simple affiliate program",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-correios",
3
3
  "type": "module",
4
- "version": "0.22.2",
4
+ "version": "0.22.3",
5
5
  "description": "E-Com Plus Cloud Commerce app for Correios shipping calculation",
6
6
  "main": "lib/correios.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-custom-payment",
3
3
  "type": "module",
4
- "version": "0.22.2",
4
+ "version": "0.22.3",
5
5
  "description": "E-Com Plus Cloud Commerce app for simple custom payment methods",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-custom-shipping",
3
3
  "type": "module",
4
- "version": "0.22.2",
4
+ "version": "0.22.3",
5
5
  "description": "E-Com Plus Cloud Commerce app for custom shipping methods",
6
6
  "main": "lib/custom-shipping.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-datafrete",
3
3
  "type": "module",
4
- "version": "0.22.2",
4
+ "version": "0.22.3",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Datafrete shipping gateway ",
6
6
  "main": "lib/datafrete.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-discounts",
3
3
  "type": "module",
4
- "version": "0.22.2",
4
+ "version": "0.22.3",
5
5
  "description": "E-Com Plus Cloud Commerce app for complex discount rules",
6
6
  "main": "lib/discounts.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-emails",
3
3
  "type": "module",
4
- "version": "0.22.2",
4
+ "version": "0.22.3",
5
5
  "description": "E-Com Plus Cloud Commerce default transactional email app",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-fb-conversions",
3
3
  "type": "module",
4
- "version": "0.22.2",
4
+ "version": "0.22.3",
5
5
  "description": "E-Com Plus Cloud Commerce app to send carts/orders to Facebook Conversions API",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-flash-courier",
3
3
  "type": "module",
4
- "version": "0.22.2",
4
+ "version": "0.22.3",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Flash Courier",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-frenet",
3
3
  "type": "module",
4
- "version": "0.22.2",
4
+ "version": "0.22.3",
5
5
  "description": "E-Com Plus Cloud Commerce app for Frenet shipping calculation",
6
6
  "main": "lib/frenet.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-galaxpay",
3
3
  "type": "module",
4
- "version": "0.22.2",
4
+ "version": "0.22.3",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Galax Pay for recurring payments",
6
6
  "main": "lib/galaxpay.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-google-analytics",
3
3
  "type": "module",
4
- "version": "0.22.2",
4
+ "version": "0.22.3",
5
5
  "description": "E-Com Plus Cloud Commerce app to send carts/orders events to GA Measurement Protocol",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-jadlog",
3
3
  "type": "module",
4
- "version": "0.22.2",
4
+ "version": "0.22.3",
5
5
  "description": "E-Com Plus Cloud Commerce app for Jadlog shipping calculation",
6
6
  "main": "lib/index.js",
7
7
  "repository": {