cloudcommerce 0.1.3 → 0.1.5

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 (119) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/ecomplus-stores/monocard/functions/core/package.json +1 -1
  3. package/ecomplus-stores/monocard/functions/events/package.json +2 -2
  4. package/ecomplus-stores/monocard/functions/modules/package.json +2 -2
  5. package/ecomplus-stores/monocard/functions/passport/package.json +2 -2
  6. package/ecomplus-stores/monocard/functions/ssr/package.json +6 -6
  7. package/ecomplus-stores/monocard/package.json +1 -1
  8. package/ecomplus-stores/tia-sonia/functions/core/package.json +1 -1
  9. package/ecomplus-stores/tia-sonia/functions/events/package.json +2 -2
  10. package/ecomplus-stores/tia-sonia/functions/modules/package.json +2 -2
  11. package/ecomplus-stores/tia-sonia/functions/passport/package.json +2 -2
  12. package/ecomplus-stores/tia-sonia/functions/ssr/content/settings.json +1 -1
  13. package/ecomplus-stores/tia-sonia/functions/ssr/package.json +9 -7
  14. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/acai-com-granola.jpg +0 -0
  15. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/cafe-com-tapioca-e-aveia.jpg +0 -0
  16. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/fimdeano1920x736.jpg +0 -0
  17. package/ecomplus-stores/tia-sonia/functions/ssr/src/components/PitchBar.vue +65 -0
  18. package/ecomplus-stores/tia-sonia/functions/ssr/src/components/TheHeader.vue +104 -10
  19. package/ecomplus-stores/tia-sonia/functions/ssr/src/components/header/HeaderBarLink.vue +5 -0
  20. package/ecomplus-stores/tia-sonia/functions/ssr/src/components/header/HeaderButtonLink.vue +1 -1
  21. package/ecomplus-stores/tia-sonia/functions/ssr/src/components/header/HeaderNav.vue +7 -6
  22. package/ecomplus-stores/tia-sonia/functions/ssr/src/layouts/Base.astro +10 -6
  23. package/ecomplus-stores/tia-sonia/functions/ssr/src/layouts/Pages.astro +19 -12
  24. package/ecomplus-stores/tia-sonia/functions/ssr/src/main/Home.astro +32 -9
  25. package/ecomplus-stores/tia-sonia/functions/ssr/tailwind.config.cjs +15 -1
  26. package/ecomplus-stores/tia-sonia/functions/ssr/uno.config.cjs +2 -1
  27. package/ecomplus-stores/tia-sonia/package.json +1 -1
  28. package/package.json +2 -1
  29. package/packages/api/package.json +1 -1
  30. package/packages/apps/correios/package.json +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/discounts/package.json +1 -1
  34. package/packages/apps/emails/package.json +1 -1
  35. package/packages/apps/frenet/events.js +1 -0
  36. package/packages/apps/frenet/lib/frenet-events.d.ts +6 -0
  37. package/packages/apps/frenet/lib/frenet-events.js +19 -0
  38. package/packages/apps/frenet/lib/frenet-events.js.map +1 -0
  39. package/packages/apps/frenet/lib/functions-lib/database.d.ts +18 -0
  40. package/packages/apps/frenet/lib/functions-lib/database.js +128 -0
  41. package/packages/apps/frenet/lib/functions-lib/database.js.map +1 -0
  42. package/packages/apps/frenet/lib/functions-lib/events-to-frenet.d.ts +3 -0
  43. package/packages/apps/frenet/lib/functions-lib/events-to-frenet.js +48 -0
  44. package/packages/apps/frenet/lib/functions-lib/events-to-frenet.js.map +1 -0
  45. package/packages/apps/frenet/lib/functions-lib/fetch-tracking-code.d.ts +2 -0
  46. package/packages/apps/frenet/lib/functions-lib/fetch-tracking-code.js +19 -0
  47. package/packages/apps/frenet/lib/functions-lib/fetch-tracking-code.js.map +1 -0
  48. package/packages/apps/frenet/lib/functions-lib/remove-delivered.d.ts +2 -0
  49. package/packages/apps/frenet/lib/functions-lib/remove-delivered.js +30 -0
  50. package/packages/apps/frenet/lib/functions-lib/remove-delivered.js.map +1 -0
  51. package/packages/apps/frenet/lib/functions-lib/tracking-codes.d.ts +2 -0
  52. package/packages/apps/frenet/lib/functions-lib/tracking-codes.js +138 -0
  53. package/packages/apps/frenet/lib/functions-lib/tracking-codes.js.map +1 -0
  54. package/packages/apps/frenet/lib/functions-lib/update-fulfillments.d.ts +5 -0
  55. package/packages/apps/frenet/lib/functions-lib/update-fulfillments.js +49 -0
  56. package/packages/apps/frenet/lib/functions-lib/update-fulfillments.js.map +1 -0
  57. package/packages/apps/frenet/package.json +11 -3
  58. package/packages/apps/frenet/src/frenet-events.ts +25 -0
  59. package/packages/apps/frenet/src/functions-lib/database.ts +159 -0
  60. package/packages/apps/frenet/src/functions-lib/events-to-frenet.ts +62 -0
  61. package/packages/apps/frenet/src/functions-lib/fetch-tracking-code.ts +22 -0
  62. package/packages/apps/frenet/src/functions-lib/remove-delivered.ts +31 -0
  63. package/packages/apps/frenet/src/functions-lib/tracking-codes.ts +170 -0
  64. package/packages/apps/frenet/src/functions-lib/update-fulfillments.ts +56 -0
  65. package/packages/apps/galaxpay/package.json +1 -1
  66. package/packages/apps/infinitepay/package.json +1 -1
  67. package/packages/apps/jadlog/package.json +1 -1
  68. package/packages/apps/loyalty-points/package.json +1 -1
  69. package/packages/apps/mercadopago/package.json +1 -1
  70. package/packages/apps/pagarme/package.json +1 -1
  71. package/packages/apps/pix/package.json +1 -1
  72. package/packages/apps/tiny-erp/package.json +1 -1
  73. package/packages/cli/package.json +1 -1
  74. package/packages/config/package.json +1 -1
  75. package/packages/emails/package.json +1 -1
  76. package/packages/events/lib/firebase.js +2 -0
  77. package/packages/events/lib/firebase.js.map +1 -1
  78. package/packages/events/package.json +2 -1
  79. package/packages/events/src/firebase.ts +2 -0
  80. package/packages/firebase/lib/config.d.ts +1 -0
  81. package/packages/firebase/lib/config.js +4 -0
  82. package/packages/firebase/lib/config.js.map +1 -1
  83. package/packages/firebase/package.json +1 -1
  84. package/packages/firebase/src/config.ts +5 -0
  85. package/packages/i18n/package.json +1 -1
  86. package/packages/modules/package.json +1 -1
  87. package/packages/passport/package.json +1 -1
  88. package/packages/ssr/package.json +1 -2
  89. package/packages/storefront/dist/client/HeaderButtons.300c19e5.js +1 -0
  90. package/packages/storefront/dist/client/Prices.6c44a513.js +1 -0
  91. package/packages/storefront/dist/client/{ProductCard.7b68cc35.js → ProductCard.69bba7fc.js} +1 -1
  92. package/packages/storefront/dist/client/assets/_...slug_.15bda576.css +1 -0
  93. package/packages/storefront/dist/client/assets/server.4d9646d8.css +1 -0
  94. package/packages/storefront/dist/client/chunks/{HeaderButtons.cbbb059d.js → HeaderButtons.1abd5bf4.js} +1 -1
  95. package/packages/storefront/dist/client/chunks/{LoginForm.ac2f1b1f.js → LoginForm.7e7d6137.js} +1 -1
  96. package/packages/storefront/dist/client/chunks/Prices.vue_vue_type_script_setup_true_lang.e4525076.js +1 -0
  97. package/packages/storefront/dist/client/chunks/_plugin-vue_export-helper.fc452b02.js +1 -0
  98. package/packages/storefront/dist/client/chunks/runtime-core.esm-bundler.b4556b35.js +1 -0
  99. package/packages/storefront/dist/client/client.2a3e5a58.js +1 -0
  100. package/packages/storefront/dist/client/sw.js +1 -1
  101. package/packages/storefront/dist/server/entry.mjs +34 -1558
  102. package/packages/storefront/package.json +4 -5
  103. package/packages/storefront/src/lib/assets/tooltip.css +43 -0
  104. package/packages/storefront/src/lib/components/Prices.vue +2 -2
  105. package/packages/storefront/src/lib/layouts/BaseBody.astro +1 -1
  106. package/packages/storefront/src/lib/pages/_vue.ts +0 -2
  107. package/packages/storefront/tailwind.config.cjs +38 -23
  108. package/packages/storefront/uno.config.cjs +37 -35
  109. package/packages/types/package.json +1 -1
  110. package/ecomplus-stores/tia-sonia/functions/ssr/src/components/TopBar.vue +0 -133
  111. package/ecomplus-stores/tia-sonia/functions/ssr/src/components/header/HeaderNavLink.vue +0 -5
  112. package/packages/storefront/dist/client/HeaderButtons.8acf8a3b.js +0 -1
  113. package/packages/storefront/dist/client/Prices.9099fe99.js +0 -1
  114. package/packages/storefront/dist/client/assets/_...slug_.f19a16ca.css +0 -1
  115. package/packages/storefront/dist/client/assets/server.55b8d73d.css +0 -1
  116. package/packages/storefront/dist/client/chunks/Prices.vue_vue_type_script_setup_true_lang.c37148c1.js +0 -1
  117. package/packages/storefront/dist/client/chunks/_plugin-vue_export-helper.5ccc5d75.js +0 -1
  118. package/packages/storefront/dist/client/chunks/runtime-core.esm-bundler.d5646b29.js +0 -1
  119. package/packages/storefront/dist/client/client.9783ef49.js +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,33 @@
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.1.5](https://github.com/ecomplus/cloud-commerce/compare/v0.1.4...v0.1.5) (2022-12-28)
6
+
7
+
8
+ ### Features
9
+
10
+ * **storefront:** New icon alias `i-cashback` used on Prices component by default ([456ddd4](https://github.com/ecomplus/cloud-commerce/commit/456ddd4c2078ab62f0fae5bb51e2dcfc082f5365))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **storefront:** Merge theme options object as argument for Tailwind/UnoCSS config gen ([a5673f0](https://github.com/ecomplus/cloud-commerce/commit/a5673f0dfbb385bb47109c8221b07ee0b7c134ad))
16
+ * **storefront:** Pass theme options from UnoCSS config to `genTailwindConfig` ([280f1ac](https://github.com/ecomplus/cloud-commerce/commit/280f1ac04e1c9f0167d97365803670246e234f77))
17
+
18
+ ### [0.1.4](https://github.com/ecomplus/cloud-commerce/compare/v0.1.3...v0.1.4) (2022-12-27)
19
+
20
+
21
+ ### Features
22
+
23
+ * **frenet:** Create Frenet app events for shipping status auto-update ([#97](https://github.com/ecomplus/cloud-commerce/issues/97)) ([d71b46b](https://github.com/ecomplus/cloud-commerce/commit/d71b46b617120f143647fa7d4ca4853ebd45568e))
24
+
25
+
26
+ ### Bug Fixes
27
+
28
+ * **deps:** Update dependency unocss to ^0.48.0 ([#98](https://github.com/ecomplus/cloud-commerce/issues/98)) ([d25cc84](https://github.com/ecomplus/cloud-commerce/commit/d25cc84b88a3b9009333cd00e8a03a2b432d1cca))
29
+ * **storefront:** Update default bold/subtle diffs ([7380a8e](https://github.com/ecomplus/cloud-commerce/commit/7380a8e7bb7a26048fe97eebffda7a177ba90db5))
30
+ * **storefront:** Use RGB values on CSS vars to support color utils with opacity ([5c37128](https://github.com/ecomplus/cloud-commerce/commit/5c371288e101b111bdfb7f88da9755ebf03b12b0)), closes [#discussioncomment-4491119](https://github.com/ecomplus/cloud-commerce/issues/discussioncomment-4491119)
31
+
5
32
  ### [0.1.3](https://github.com/ecomplus/cloud-commerce/compare/v0.1.2...v0.1.3) (2022-12-24)
6
33
 
7
34
 
@@ -15,6 +15,6 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/firebase": "^0.1.2"
18
+ "@cloudcommerce/firebase": "^0.1.4"
19
19
  }
20
20
  }
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/events": "^0.1.2",
19
- "@cloudcommerce/firebase": "^0.1.2"
18
+ "@cloudcommerce/events": "^0.1.4",
19
+ "@cloudcommerce/firebase": "^0.1.4"
20
20
  }
21
21
  }
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/firebase": "^0.1.2",
19
- "@cloudcommerce/modules": "^0.1.2"
18
+ "@cloudcommerce/firebase": "^0.1.4",
19
+ "@cloudcommerce/modules": "^0.1.4"
20
20
  }
21
21
  }
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/firebase": "^0.1.2",
19
- "@cloudcommerce/passport": "^0.1.2"
18
+ "@cloudcommerce/firebase": "^0.1.4",
19
+ "@cloudcommerce/passport": "^0.1.4"
20
20
  }
21
21
  }
@@ -19,14 +19,14 @@
19
19
  "dependencies": {
20
20
  "@astrojs/image": "^0.12.1",
21
21
  "@astrojs/node": "^4.0.0",
22
- "@cloudcommerce/api": "^0.1.2",
23
- "@cloudcommerce/firebase": "^0.1.2",
24
- "@cloudcommerce/ssr": "^0.1.2"
22
+ "@cloudcommerce/api": "^0.1.4",
23
+ "@cloudcommerce/firebase": "^0.1.4",
24
+ "@cloudcommerce/ssr": "^0.1.4"
25
25
  },
26
26
  "devDependencies": {
27
- "@cloudcommerce/i18n": "^0.1.2",
28
- "@cloudcommerce/storefront": "^0.1.2",
29
- "@cloudcommerce/types": "^0.1.2",
27
+ "@cloudcommerce/i18n": "^0.1.4",
28
+ "@cloudcommerce/storefront": "^0.1.4",
29
+ "@cloudcommerce/types": "^0.1.4",
30
30
  "@iconify-json/arcticons": "^1.1.34",
31
31
  "@iconify-json/wpf": "^1.1.3",
32
32
  "lottie-web": "^5.10.0",
@@ -23,6 +23,6 @@
23
23
  "url": "https://github.com/ecomplus/cloud-commerce/issues"
24
24
  },
25
25
  "dependencies": {
26
- "@cloudcommerce/cli": "^0.1.2"
26
+ "@cloudcommerce/cli": "^0.1.4"
27
27
  }
28
28
  }
@@ -15,6 +15,6 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/firebase": "^0.1.2"
18
+ "@cloudcommerce/firebase": "^0.1.4"
19
19
  }
20
20
  }
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/events": "^0.1.2",
19
- "@cloudcommerce/firebase": "^0.1.2"
18
+ "@cloudcommerce/events": "^0.1.4",
19
+ "@cloudcommerce/firebase": "^0.1.4"
20
20
  }
21
21
  }
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/firebase": "^0.1.2",
19
- "@cloudcommerce/modules": "^0.1.2"
18
+ "@cloudcommerce/firebase": "^0.1.4",
19
+ "@cloudcommerce/modules": "^0.1.4"
20
20
  }
21
21
  }
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/firebase": "^0.1.2",
19
- "@cloudcommerce/passport": "^0.1.2"
18
+ "@cloudcommerce/firebase": "^0.1.4",
19
+ "@cloudcommerce/passport": "^0.1.4"
20
20
  }
21
21
  }
@@ -5,7 +5,7 @@
5
5
  "logo": "/img/uploads/tiasonia-logo.png",
6
6
  "icon": "/img/uploads/large-icon.png",
7
7
  "primary_color": "#fdda25",
8
- "secondary_color": "#0057b7",
8
+ "secondary_color": "#1b365d",
9
9
  "email": "",
10
10
  "phone": "",
11
11
  "address": "",
@@ -19,15 +19,17 @@
19
19
  "dependencies": {
20
20
  "@astrojs/image": "^0.12.1",
21
21
  "@astrojs/node": "^4.0.0",
22
- "@cloudcommerce/api": "^0.1.2",
23
- "@cloudcommerce/firebase": "^0.1.2",
24
- "@cloudcommerce/ssr": "^0.1.2"
22
+ "@cloudcommerce/api": "^0.1.4",
23
+ "@cloudcommerce/firebase": "^0.1.4",
24
+ "@cloudcommerce/ssr": "^0.1.4"
25
25
  },
26
26
  "devDependencies": {
27
- "@cloudcommerce/i18n": "^0.1.2",
28
- "@cloudcommerce/storefront": "^0.1.2",
29
- "@cloudcommerce/types": "^0.1.2",
30
- "@fontsource/dm-serif-text": "^4.5.9"
27
+ "@cloudcommerce/i18n": "^0.1.4",
28
+ "@cloudcommerce/storefront": "^0.1.4",
29
+ "@cloudcommerce/types": "^0.1.4",
30
+ "@fontsource/dm-serif-text": "^4.5.9",
31
+ "@fontsource/roboto-condensed": "^4.5.9",
32
+ "@iconify-json/tabler": "^1.1.53"
31
33
  },
32
34
  "pnpm": {
33
35
  "peerDependencyRules": {
@@ -0,0 +1,65 @@
1
+ <script setup lang="ts">
2
+ import { ref, computed } from 'vue';
3
+
4
+ type Slide = {
5
+ icon?: 'shipping' | 'credit-card' | 'discount' | 'cashback',
6
+ image?: string | null,
7
+ title?: string,
8
+ html: string,
9
+ };
10
+ const slides = ref<Slide[]>([{
11
+ icon: 'shipping',
12
+ title: 'Frete grátis',
13
+ html: 'Compras acima de R$ 100,00',
14
+ }, {
15
+ icon: 'credit-card',
16
+ title: 'Parcele sem juros',
17
+ html: 'Até 3x sem juros no cartão',
18
+ }, {
19
+ icon: 'cashback',
20
+ title: 'Cachback',
21
+ html: '5% de volta em todas as compras',
22
+ }, {
23
+ icon: 'discount',
24
+ title: 'Desconto no Pix',
25
+ html: 'Mais 5% de desconto pagando com Pix',
26
+ }]);
27
+ const slideIndex = ref(0);
28
+ const slide = computed(() => {
29
+ return slides.value[slideIndex.value];
30
+ });
31
+ const prev = () => {
32
+ if (slideIndex.value) {
33
+ slideIndex.value -= 1;
34
+ } else {
35
+ slideIndex.value = slides.value.length - 1;
36
+ }
37
+ };
38
+ const next = () => {
39
+ if (slideIndex.value < slides.value.length - 1) {
40
+ slideIndex.value += 1;
41
+ } else {
42
+ slideIndex.value = 0;
43
+ }
44
+ };
45
+ </script>
46
+
47
+ <template>
48
+ <div class="PitchBar w-full p-2 bg-white/60 leading-snug">
49
+ <div class="flex justify-between items-center max-w-4xl m-auto">
50
+ <button class="i-chevron-left text-2xl text-base-600" @click="prev"></button>
51
+ <div class="flex items-center gap-2 lg:gap-3 text-base-800">
52
+ <span v-if="slide.icon" class="text-2xl">
53
+ <i v-if="slide.icon === 'shipping'" class="i-truck-delivery"></i>
54
+ <i v-else-if="slide.icon === 'credit-card'" class="i-credit-card"></i>
55
+ <i v-else-if="slide.icon === 'discount'" class="i-percentage"></i>
56
+ <i v-else-if="slide.icon === 'cashback'" class="i-cashback"></i>
57
+ </span>
58
+ <img v-if="slide.image" :src="slide.image" class="max-h-8" />
59
+ <strong v-if="slide.title" v-html="slide.title" class="uppercase"></strong>
60
+ <span v-html="slide.html"></span>
61
+ </div>
62
+ <button class="i-chevron-right text-2xl text-base-600" @click="next"></button>
63
+ </div>
64
+ </div>
65
+ </template>
@@ -36,7 +36,7 @@ watch(y, (newY, oldY) => {
36
36
 
37
37
  <template>
38
38
  <header
39
- class="header z-50 sticky top-0"
39
+ class="TheHeader z-50 sticky top-0"
40
40
  :class="[
41
41
  isHidden ? 'opacity-0 -translate-y-full' : null,
42
42
  isSticky ? 'bg-white/80 backdrop-blur-md shadow' : null,
@@ -45,20 +45,113 @@ watch(y, (newY, oldY) => {
45
45
  ref="header"
46
46
  >
47
47
  <div
48
- class="container mx-auto py-1 sm:py-2 px-2 md:px-4 xl:px-7"
48
+ class="container mx-auto relative py-1 sm:py-2 px-2 md:px-4 xl:px-7"
49
49
  :class="isSticky
50
50
  ? 'overflow-hidden'
51
- : 'bg-white/70 rounded-t-md xl:py-4 -mb-1 mt-20'"
51
+ : 'bg-white/70 rounded-t-md rounded-tl-none lg:pt-3 xl:pt-4 xl:pb-3'"
52
+ :style="{ marginTop: isSticky ? null : '70px' }"
52
53
  >
53
- <div class="grid grid-flow-col auto-cols-max justify-between items-center">
54
+ <div
55
+ v-if="!isSticky"
56
+ class="absolute top-0 left-0 w-full flex justify-between"
57
+ style="height: 66px; margin-top: -60px"
58
+ >
59
+ <div class="mt-auto" style="padding-bottom: 6px">
60
+ <a
61
+ class="inline-block bg-white/70 text-secondary font-bold uppercase
62
+ rounded-t-md px-4 py-2 mr-2 lg:mr-3"
63
+ href="#"
64
+ >
65
+ <i class="i-building-store mr-1"></i> Conheça a Tia Sônia
66
+ </a>
67
+ <a
68
+ class="inline-block bg-secondary-subtle/70 text-white font-bold uppercase
69
+ rounded-t-md px-4 py-2"
70
+ href="#"
71
+ >
72
+ <i class="i-chevron-down mr-1"></i> Marcas parceiras
73
+ </a>
74
+ </div>
75
+ <div class="h-full flex flex-col-reverse justify-between text-sm text-right mr-4">
76
+ <div>
77
+ <a class="secondary hover:secondary-bold rounded p-2 px-3 mr-2" href="#">
78
+ <i class="i-calendar-time mr-1"></i> Assinatura Tia Sônia
79
+ <b class="ml-1">10% OFF</b>
80
+ </a>
81
+ <a class="primary-subtle hover:primary rounded p-2 px-3" href="#">
82
+ Indique e ganhe <i class="i-pig-money ml-1"></i>
83
+ </a>
84
+ </div>
85
+ <div class="text-white pr-1">
86
+ <nav>
87
+ <ul class="flex flex-row-reverse gap-3 lg:gap-4">
88
+ <li>
89
+ <a href="#">
90
+ <strong>Para Você</strong>
91
+ </a>
92
+ </li>
93
+ <li>
94
+ <a href="#">
95
+ Área do lojista
96
+ </a>
97
+ </li>
98
+ <li>
99
+ <a href="#">
100
+ Onde encontrar
101
+ </a>
102
+ </li>
103
+ <li>
104
+ <a href="#">
105
+ Contato
106
+ </a>
107
+ </li>
108
+ <li>
109
+ <a href="#">
110
+ <i class="i-notes"></i> Prescritores
111
+ </a>
112
+ </li>
113
+ </ul>
114
+ </nav>
115
+ </div>
116
+ </div>
117
+ </div>
118
+ <div class="grid grid-flow-col grid-cols-3 justify-between items-center">
54
119
  <slot name="aside">
55
120
  <div class="header__aside md:hidden">
56
121
  <div class="i-bars-3-bottom-left"></div>
57
122
  </div>
58
123
  </slot>
59
- <nav class="">
60
- <ul>
61
- <li><a href="#">Página inicial</a></li>
124
+ <nav>
125
+ <ul class="flex items-center gap-2 md:gap-3 text-sm">
126
+ <li>
127
+ <a
128
+ class="text-on-primary font-bold uppercase rounded px-4 py-2"
129
+ :class="isSticky ? 'bg-primary' : 'bg-primary/80'"
130
+ href="#"
131
+ >
132
+ <i class="i-chevron-down mr-1"></i> Produtos
133
+ </a>
134
+ </li>
135
+ <li class="flex-grow">
136
+ <form>
137
+ <label for="header-search" class="mb-2 sr-only">
138
+ Buscar
139
+ </label>
140
+ <div class="relative text-base-700">
141
+ <div class="absolute inset-y-0 left-0
142
+ flex items-center pl-3 pt-1 pointer-events-none">
143
+ <i class="i-search"></i>
144
+ </div>
145
+ <input
146
+ type="search"
147
+ id="header-search"
148
+ class="w-full pr-4 py-2 pl-9 text-sm bg-white/80 rounded border-none"
149
+ placeholder="Buscar granolas, snacks, coquinho ..."
150
+ required
151
+ />
152
+ </div>
153
+ </form>
154
+ </li>
62
155
  </ul>
63
156
  </nav>
64
157
  <slot name="logo" v-bind="{ logo }">
@@ -67,14 +160,15 @@ watch(y, (newY, oldY) => {
67
160
  <img
68
161
  v-bind="logo"
69
162
  ref="logoImg"
163
+ class="w-auto mx-auto"
70
164
  :style="isSticky
71
- ? 'margin-bottom: -40px; height: 80px; width: auto'
72
- : 'margin-top: -50%'"
165
+ ? 'height: 80px; margin-bottom: -40px'
166
+ : 'height: 122px; margin-top: -76px'"
73
167
  />
74
168
  </component>
75
169
  </a>
76
170
  </slot>
77
- <div class="flex items-center">
171
+ <div class="flex items-center justify-end">
78
172
  <slot name="actions">
79
173
  <slot name="nav" />
80
174
  <slot name="search" />
@@ -0,0 +1,5 @@
1
+ <template>
2
+ <a class="text-2xl text-secondary hover:text-secondary-bold ml-2">
3
+ <slot />
4
+ </a>
5
+ </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <a class="text-2xl text-gray-accent hover:text-primary no-underline ml-2">
2
+ <a class="text-2xl text-secondary hover:text-secondary-bold ml-2">
3
3
  <slot />
4
4
  </a>
5
5
  </template>
@@ -1,9 +1,10 @@
1
- <script lang="ts" setup>
2
- import HeaderNavLink from '@@components/header/HeaderNavLink.vue';
3
- </script>
4
-
5
1
  <template>
6
- <nav class="font-semibold px-3">
7
- <HeaderNavLink>nav</HeaderNavLink>
2
+ <nav class="font-bold uppercase text-sm px-3 flex gap-2 lg:gap-4">
3
+ <a href="#" class="text-secondary hover:text-secondary-bold">
4
+ Mais vendidos
5
+ </a>
6
+ <a href="#" class="text-primary-800 hover:text-primary-900">
7
+ Promoções
8
+ </a>
8
9
  </nav>
9
10
  </template>
@@ -2,6 +2,10 @@
2
2
  import type { PageContext } from '@@sf/ssr-context';
3
3
  import Base from '@@sf/layouts/Base.astro';
4
4
  import '@fontsource/dm-serif-text';
5
+ import '@fontsource/roboto-condensed';
6
+ import '@fontsource/roboto-condensed/400-italic.css';
7
+ import '@fontsource/roboto-condensed/700.css';
8
+ import '@fontsource/roboto-condensed/700-italic.css';
5
9
  import InlineScripts from '~/scripts/InlineScripts.astro';
6
10
 
7
11
  export interface Props {
@@ -19,11 +23,11 @@ const { pageContext, title } = Astro.props as Props;
19
23
 
20
24
  <style is:global>
21
25
  :root {
22
- --custom-font-sans: Roboto;
26
+ --custom-font-sans: "Roboto Condensed";
23
27
  --font-brand: "DM Serif Text", serif;
24
28
  --c-brand-yellow: rgb(253, 218, 37);
25
- --c-brand-blue: rgb(0, 87, 183);
26
- --c-brand-dark-blue: rgb(27, 54, 93);
29
+ --c-brand-blue: rgb(27, 54, 93);
30
+ --c-brand-light-blue: rgb(0, 87, 183);
27
31
  --un-prose-links: var(--c-secondary);
28
32
  }
29
33
  html {
@@ -31,9 +35,9 @@ html {
31
35
  }
32
36
  body {
33
37
  overflow-x: hidden;
34
- background-color: var(--c-secondary);
38
+ background-color: var(--c-brand-light-blue);
35
39
  }
36
- body > * {
37
- @apply bg-white;
40
+ a {
41
+ transition: color var(--transition), background-color var(--transition);
38
42
  }
39
43
  </style>
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  import type { PageContext } from '@@sf/ssr-context';
3
+ import { Image } from '@astrojs/image/components';
3
4
  import Base from '~/layouts/Base.astro';
4
5
  import Header from '~/layouts/PagesHeader.astro';
5
6
 
@@ -12,24 +13,30 @@ const { pageContext, title } = Astro.props as Props;
12
13
  ---
13
14
 
14
15
  <Base pageContext={pageContext} title={title}>
15
- <img
16
- src="/img/uploads/granolas-espalhadas.png"
17
- width="477"
18
- height="396"
19
- fetchpriority="low"
20
- class="fixed bg-transparent rotate-180 top-0 -left-10 lg:left-6 max-w-full -z-10"
21
- />
22
16
  <slot name="header">
23
17
  <Header pageContext={pageContext} />
24
18
  </slot>
25
- <main class="container mx-auto p-6">
19
+ <main class="container mx-auto">
26
20
  <slot />
27
21
  </main>
28
- <img
22
+ <Image
23
+ src="/img/uploads/granolas-espalhadas.png"
24
+ alt="Granolas Tia Sônia espalhadas"
25
+ format="webp"
26
+ width={650}
27
+ height={540}
28
+ fetchpriority="low"
29
+ class="fixed bg-transparent rotate-90 -bottom-40 inset-x-1/2 -z-10"
30
+ style="max-width: clamp(250px, 325px, 125vw); margin-left: clamp(200px, 600px, 40vw)"
31
+ />
32
+ <Image
29
33
  src="/img/uploads/granolas-espalhadas.png"
30
- width="477"
31
- height="396"
34
+ alt="Granolas Tia Sônia espalhadas"
35
+ format="webp"
36
+ width={650}
37
+ height={540}
32
38
  fetchpriority="low"
33
- class="fixed bg-transparent -bottom-70 -right-60 -z-10"
39
+ class="fixed bg-transparent rotate-270 -bottom-30 inset-x-1/2 -z-10"
40
+ style="max-width: clamp(250px, 325px, 125vw); margin-left: clamp(-57vw, -950px, -200px)"
34
41
  />
35
42
  </Base>
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  import type { PageContext } from '@@sf/ssr-context';
3
3
  import api from '@cloudcommerce/api';
4
+ import { Image } from '@astrojs/image/components';
5
+ import PitchBar from '@@components/PitchBar.vue';
4
6
 
5
7
  export interface Props {
6
8
  pageContext: PageContext;
@@ -9,12 +11,33 @@ export interface Props {
9
11
  const products = (await api.get('products')).data.result;
10
12
  ---
11
13
 
12
- <h1 class="font-brand">
13
- Welcome to
14
- <span class="text-secondary font-sans font-black">FEITO NA BAHIA</span>
15
- </h1>
16
- <ul role="list" class="mt-3 fs-20">
17
- {products.map((product) => <li>
18
- <a href={`/${product.slug}`}>{product.sku}</a>
19
- </li>)}
20
- </ul>
14
+ <section class="relative">
15
+ <PitchBar class="absolute top-0 left-0" client:idle />
16
+ <div class="grid grid-cols-2">
17
+ <Image
18
+ src="/img/uploads/acai-com-granola.jpg"
19
+ alt="Açaí com morango, banana, manga e granola Tia Sônia"
20
+ format={'webp'}
21
+ width={1080}
22
+ height={1080}
23
+ />
24
+ <Image
25
+ src="/img/uploads/cafe-com-tapioca-e-aveia.jpg"
26
+ alt="Açaí com morango, banana, manga e granola Tia Sônia"
27
+ format={'webp'}
28
+ width={1080}
29
+ height={1080}
30
+ />
31
+ </div>
32
+ </section>
33
+ <article class="bg-white p-6">
34
+ <h1 class="font-brand">
35
+ Welcome to
36
+ <span class="text-secondary font-sans font-bold">FEITO NA BAHIA</span>
37
+ </h1>
38
+ <ul role="list" class="mt-3 fs-20">
39
+ {products.map((product) => <li>
40
+ <a href={`/${product.slug}`}>{product.sku}</a>
41
+ </li>)}
42
+ </ul>
43
+ </article>
@@ -1,2 +1,16 @@
1
+ process.env.STOREFRONT_BASE_DIR = __dirname;
2
+
1
3
  // eslint-disable-next-line import/no-extraneous-dependencies
2
- module.exports = require('@cloudcommerce/storefront/tailwind.config.cjs');
4
+ const defaultConfig = require('@cloudcommerce/storefront/tailwind.config.cjs');
5
+
6
+ const themeOptions = {
7
+ generalIcons: 'tabler',
8
+ shoppingCartIcon: 'paper-bag',
9
+ cashbackIcon: 'arrow-back-up',
10
+ };
11
+ const genTailwindConfig = () => defaultConfig.genTailwindConfig(themeOptions);
12
+
13
+ module.exports = {
14
+ ...genTailwindConfig(),
15
+ themeOptions,
16
+ };
@@ -1,4 +1,5 @@
1
1
  // eslint-disable-next-line import/no-extraneous-dependencies
2
2
  const { genUnoCSSConfig } = require('@cloudcommerce/storefront/uno.config');
3
+ const { themeOptions } = require('./tailwind.config.cjs');
3
4
 
4
- export default genUnoCSSConfig();
5
+ export default genUnoCSSConfig(themeOptions);
@@ -23,6 +23,6 @@
23
23
  "url": "https://github.com/ecomplus/cloud-commerce/issues"
24
24
  },
25
25
  "dependencies": {
26
- "@cloudcommerce/cli": "^0.1.2"
26
+ "@cloudcommerce/cli": "^0.1.4"
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.1.3",
4
+ "version": "0.1.5",
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>",
@@ -38,6 +38,7 @@
38
38
  "zx": "^7.1.1"
39
39
  },
40
40
  "scripts": {
41
+ "fix-install": "bash scripts/pre-install.sh && pnpm i",
41
42
  "postinstall": "husky install && pnpm run -r prepare-monorepo",
42
43
  "new-pkg": "bash scripts/new-package.sh",
43
44
  "build": "turbo run build",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/api",
3
3
  "type": "module",
4
- "version": "0.1.3",
4
+ "version": "0.1.5",
5
5
  "description": "E-Com Plus Cloud Commerce APIs client/adapter",
6
6
  "main": "lib/api.js",
7
7
  "types": "lib/api.d.ts",