cloudcommerce 0.1.7 → 0.2.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 (177) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/action.yml +4 -0
  3. package/ecomplus-stores/monocard/functions/core/package.json +1 -1
  4. package/ecomplus-stores/monocard/functions/events/package.json +2 -2
  5. package/ecomplus-stores/monocard/functions/modules/package.json +2 -2
  6. package/ecomplus-stores/monocard/functions/passport/package.json +2 -2
  7. package/ecomplus-stores/monocard/functions/ssr/package.json +6 -6
  8. package/ecomplus-stores/monocard/package.json +1 -1
  9. package/ecomplus-stores/tia-sonia/functions/core/package.json +1 -1
  10. package/ecomplus-stores/tia-sonia/functions/events/package.json +2 -2
  11. package/ecomplus-stores/tia-sonia/functions/modules/package.json +2 -2
  12. package/ecomplus-stores/tia-sonia/functions/passport/package.json +2 -2
  13. package/ecomplus-stores/tia-sonia/functions/ssr/package.json +8 -7
  14. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-acucares.webp +0 -0
  15. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-barras.webp +0 -0
  16. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-bebidas-em-po.webp +0 -0
  17. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-cookies.webp +0 -0
  18. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-granola-tia-sonia.webp +0 -0
  19. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-integrais.webp +0 -0
  20. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-naturais.webp +0 -0
  21. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-pastas-tia-sonia.webp +0 -0
  22. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-snacks.webp +0 -0
  23. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-ultrabar.webp +0 -0
  24. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/daniel-cady.webp +0 -0
  25. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/granola-tradicional-lata-verso.webp +0 -0
  26. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/granola-tradicional-lata.webp +0 -0
  27. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/machu-picchu-1500.jpg +0 -0
  28. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/selo-ibd-120-80.webp +0 -0
  29. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/selo-organico-120-80.webp +0 -0
  30. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/selo-usda-120-80.webp +0 -0
  31. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/selo-vegano-120-80.webp +0 -0
  32. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/tia-sonia-real.png +0 -0
  33. package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/trustvox.png +0 -0
  34. package/ecomplus-stores/tia-sonia/functions/ssr/src/components/AboutUs.astro +77 -0
  35. package/ecomplus-stores/tia-sonia/functions/ssr/src/components/BrandTestimonials.vue +134 -0
  36. package/ecomplus-stores/tia-sonia/functions/ssr/src/components/CategoriesGrid.vue +32 -0
  37. package/ecomplus-stores/tia-sonia/functions/ssr/src/components/CategoriesSlider.vue +105 -7
  38. package/ecomplus-stores/tia-sonia/functions/ssr/src/components/HeroBanner.vue +2 -2
  39. package/ecomplus-stores/tia-sonia/functions/ssr/src/layouts/Base.astro +5 -1
  40. package/ecomplus-stores/tia-sonia/functions/ssr/src/layouts/Pages.astro +1 -1
  41. package/ecomplus-stores/tia-sonia/functions/ssr/src/main/Home.astro +116 -25
  42. package/ecomplus-stores/tia-sonia/package.json +1 -1
  43. package/package.json +12 -12
  44. package/packages/api/package.json +1 -1
  45. package/packages/apps/correios/package.json +1 -1
  46. package/packages/apps/custom-payment/package.json +1 -1
  47. package/packages/apps/custom-shipping/package.json +1 -1
  48. package/packages/apps/datafrete/CHANGELOG.md +1 -0
  49. package/packages/apps/datafrete/README.md +1 -0
  50. package/packages/apps/datafrete/lib/datafrete-webhook.d.ts +4 -0
  51. package/packages/apps/datafrete/lib/datafrete-webhook.js +108 -0
  52. package/packages/apps/datafrete/lib/datafrete-webhook.js.map +1 -0
  53. package/packages/apps/datafrete/lib/datafrete.d.ts +2 -0
  54. package/packages/apps/datafrete/lib/datafrete.js +6 -0
  55. package/packages/apps/datafrete/lib/datafrete.js.map +1 -0
  56. package/packages/apps/datafrete/lib/index.d.ts +1 -0
  57. package/packages/apps/datafrete/lib/index.js +2 -0
  58. package/packages/apps/datafrete/lib/index.js.map +1 -0
  59. package/packages/apps/datafrete/lib-mjs/calculate-datafrete.mjs +277 -0
  60. package/packages/apps/datafrete/package.json +37 -0
  61. package/packages/apps/datafrete/src/datafrete-webhook.ts +131 -0
  62. package/packages/apps/datafrete/src/datafrete.ts +7 -0
  63. package/packages/apps/datafrete/src/index.ts +1 -0
  64. package/packages/apps/datafrete/tsconfig.json +6 -0
  65. package/packages/apps/datafrete/webhook.js +1 -0
  66. package/packages/apps/discounts/package.json +1 -1
  67. package/packages/apps/emails/package.json +1 -1
  68. package/packages/apps/fb-conversions/package.json +2 -2
  69. package/packages/apps/frenet/package.json +1 -1
  70. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/webhook.js +3 -2
  71. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/webhook.js.map +1 -1
  72. package/packages/apps/galaxpay/package.json +1 -1
  73. package/packages/apps/galaxpay/src/functions-lib/galaxpay/webhook.ts +3 -2
  74. package/packages/apps/google-analytics/CHANGELOG.md +1 -0
  75. package/packages/apps/google-analytics/README.md +1 -0
  76. package/packages/apps/google-analytics/lib/google-analytics-events.js +113 -0
  77. package/packages/apps/google-analytics/lib/google-analytics-events.js.map +1 -0
  78. package/packages/apps/google-analytics/lib/index.js +2 -0
  79. package/packages/apps/google-analytics/lib/index.js.map +1 -0
  80. package/packages/apps/google-analytics/package.json +32 -0
  81. package/packages/apps/google-analytics/src/google-analytics-events.ts +151 -0
  82. package/packages/apps/google-analytics/src/index.ts +1 -0
  83. package/packages/apps/google-analytics/tsconfig.json +3 -0
  84. package/packages/apps/google-analytics/types.d.ts +43 -0
  85. package/packages/apps/infinitepay/package.json +1 -1
  86. package/packages/apps/jadlog/package.json +1 -1
  87. package/packages/apps/loyalty-points/package.json +1 -1
  88. package/packages/apps/mercadopago/lib/mp-create-transaction.js +1 -1
  89. package/packages/apps/mercadopago/lib/mp-create-transaction.js.map +1 -1
  90. package/packages/apps/mercadopago/lib/mp-webhook.js +2 -7
  91. package/packages/apps/mercadopago/lib/mp-webhook.js.map +1 -1
  92. package/packages/apps/mercadopago/package.json +1 -1
  93. package/packages/apps/mercadopago/src/mp-create-transaction.ts +1 -1
  94. package/packages/apps/mercadopago/src/mp-webhook.ts +3 -8
  95. package/packages/apps/pagarme/lib/pagarme-webhook.js +1 -1
  96. package/packages/apps/pagarme/lib/pagarme-webhook.js.map +1 -1
  97. package/packages/apps/pagarme/package.json +1 -1
  98. package/packages/apps/pagarme/src/pagarme-webhook.ts +1 -1
  99. package/packages/apps/pix/package.json +1 -1
  100. package/packages/apps/tiny-erp/package.json +1 -1
  101. package/packages/cli/package.json +1 -1
  102. package/packages/config/package.json +1 -1
  103. package/packages/emails/package.json +2 -2
  104. package/packages/events/lib/firebase.js +4 -0
  105. package/packages/events/lib/firebase.js.map +1 -1
  106. package/packages/events/package.json +3 -1
  107. package/packages/events/src/firebase.ts +4 -0
  108. package/packages/firebase/lib/config.d.ts +7 -0
  109. package/packages/firebase/lib/config.js +10 -0
  110. package/packages/firebase/lib/config.js.map +1 -1
  111. package/packages/firebase/package.json +1 -1
  112. package/packages/firebase/src/config.ts +11 -0
  113. package/packages/i18n/package.json +1 -1
  114. package/packages/modules/lib/firebase/call-app-module.js +5 -0
  115. package/packages/modules/lib/firebase/call-app-module.js.map +1 -1
  116. package/packages/modules/package.json +3 -2
  117. package/packages/modules/src/firebase/call-app-module.ts +5 -0
  118. package/packages/passport/package.json +1 -1
  119. package/packages/ssr/package.json +4 -3
  120. package/packages/storefront/.eslintrc.cjs +5 -1
  121. package/packages/storefront/astro.config.mjs +9 -24
  122. package/packages/storefront/client.d.ts +6 -8
  123. package/packages/storefront/dist/client/PitchBar.afe7ff5c.js +1 -0
  124. package/packages/storefront/dist/client/Prices.eaf8a32c.js +1 -0
  125. package/packages/storefront/dist/client/ProductCard.1106b153.js +1 -0
  126. package/packages/storefront/dist/client/assets/_...slug_.fea84512.css +1 -0
  127. package/packages/storefront/dist/client/assets/index.90df622b.css +1 -0
  128. package/packages/storefront/dist/client/chunks/Prices.vue_vue_type_script_setup_true_lang.781b6501.js +1 -0
  129. package/packages/storefront/dist/client/chunks/ecom-utils.63984324.js +1 -0
  130. package/packages/storefront/dist/client/chunks/runtime-core.esm-bundler.fa6cdb60.js +1 -0
  131. package/packages/storefront/dist/client/client.367a6497.js +1 -0
  132. package/packages/storefront/dist/client/hoisted.4671ed15.js +1 -0
  133. package/packages/storefront/dist/client/sw.js +1 -1
  134. package/packages/storefront/dist/client/workbox-e2ee76b5.js +1 -0
  135. package/packages/storefront/dist/server/entry.mjs +359 -537
  136. package/packages/storefront/package.json +10 -9
  137. package/packages/storefront/src/env.d.ts +9 -0
  138. package/packages/storefront/src/lib/assets/tooltip.css +6 -5
  139. package/packages/storefront/src/lib/components/Carousel.vue +259 -0
  140. package/packages/storefront/src/lib/components/CarouselControl.vue +29 -0
  141. package/packages/storefront/src/lib/components/LoginDrawer.vue +1 -1
  142. package/packages/storefront/src/lib/components/PitchBar.vue +44 -0
  143. package/packages/storefront/src/lib/components/Prices.vue +13 -17
  144. package/packages/storefront/src/lib/components/ProductCard.vue +1 -1
  145. package/packages/storefront/src/lib/components/_injection-keys.ts +9 -0
  146. package/packages/storefront/src/lib/components/globals/ALink.vue +26 -0
  147. package/packages/storefront/src/lib/layouts/BaseBody.astro +1 -5
  148. package/packages/storefront/src/lib/layouts/BaseHead.astro +7 -2
  149. package/packages/storefront/src/lib/layouts/PagesHeader.astro +38 -0
  150. package/packages/storefront/src/lib/pages/_vue.ts +3 -2
  151. package/packages/storefront/src/lib/ssr-context.ts +6 -0
  152. package/packages/storefront/src/vue-globals.d.ts +5 -5
  153. package/packages/storefront/tailwind.config.cjs +12 -6
  154. package/packages/storefront/tsconfig.json +2 -2
  155. package/packages/storefront/uno.config.cjs +4 -4
  156. package/packages/types/package.json +1 -1
  157. package/packages/storefront/dist/client/HeaderButtons.6f668467.js +0 -1
  158. package/packages/storefront/dist/client/Prices.2ada125b.js +0 -1
  159. package/packages/storefront/dist/client/ProductCard.e5bdea60.js +0 -1
  160. package/packages/storefront/dist/client/assets/_...slug_.81b9a00c.css +0 -1
  161. package/packages/storefront/dist/client/assets/index.e6a09532.css +0 -1
  162. package/packages/storefront/dist/client/chunks/HeaderButtons.cfa275db.js +0 -1
  163. package/packages/storefront/dist/client/chunks/LoginForm.1ba3ad0d.js +0 -1441
  164. package/packages/storefront/dist/client/chunks/Prices.vue_vue_type_script_setup_true_lang.9a6ab0d6.js +0 -1
  165. package/packages/storefront/dist/client/chunks/_plugin-vue_export-helper.0d33cd48.js +0 -1
  166. package/packages/storefront/dist/client/chunks/ecom-utils.b0a26608.js +0 -1
  167. package/packages/storefront/dist/client/chunks/preload-helper.1de719f8.js +0 -1
  168. package/packages/storefront/dist/client/chunks/price.ecf7fed4.js +0 -1
  169. package/packages/storefront/dist/client/chunks/runtime-core.esm-bundler.45ba83fa.js +0 -1
  170. package/packages/storefront/dist/client/client.4d2b3a73.js +0 -1
  171. package/packages/storefront/dist/client/hoisted.f6ee2883.js +0 -1
  172. package/packages/storefront/dist/client/page.5a6f3db5.js +0 -1
  173. package/packages/storefront/dist/client/workbox-abdc68aa.js +0 -1
  174. package/packages/storefront/dist/client/~partytown/partytown-atomics.js +0 -2
  175. package/packages/storefront/dist/client/~partytown/partytown-media.js +0 -2
  176. package/packages/storefront/dist/client/~partytown/partytown-sw.js +0 -2
  177. package/packages/storefront/dist/client/~partytown/partytown.js +0 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,39 @@
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.2.0](https://github.com/ecomplus/cloud-commerce/compare/v0.1.7...v0.2.0) (2023-01-21)
6
+
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ * **storefront:** `@@components/**` imports no more working
11
+ * **storefront:** `shoppingCartIcon`, `cashbackIcon` fields no more working as Storefront Tailwind config (gen) options
12
+ * **storefront:** Getting money values from dataset no more available
13
+
14
+ ### Features
15
+
16
+ * **datafrete:** Create app to integrate Datafrete shipping gateway ([#103](https://github.com/ecomplus/cloud-commerce/issues/103)) ([5c28ab1](https://github.com/ecomplus/cloud-commerce/commit/5c28ab15ddc45f5d7d5570896cc1dcabec69ac51))
17
+ * **google-analytics:** App to send orders events to GA4 server side ([#102](https://github.com/ecomplus/cloud-commerce/issues/102)) ([899e308](https://github.com/ecomplus/cloud-commerce/commit/899e308a1cc78b5ef3801cab3961af6b0950afbe))
18
+ * **storefront:** Add `autoplay` prop (ms) to Carousel component ([18b91dd](https://github.com/ecomplus/cloud-commerce/commit/18b91dd0589c7ce53120d3fd1c630002ffb5512c))
19
+ * **storefront:** Add `CarouselControl` child-component for headless Carousel ([8c43757](https://github.com/ecomplus/cloud-commerce/commit/8c43757942ca553e4e984ff31d805f6b6a406e31))
20
+ * **storefront:** Add `PitchBar` component with carousel slides ([c86d845](https://github.com/ecomplus/cloud-commerce/commit/c86d845803dbaa7856324ed30ad4ed4033bc23ca))
21
+ * **storefront:** Add new `Carousel.vue` headless component ([9f01ff6](https://github.com/ecomplus/cloud-commerce/commit/9f01ff616eed45d13496b8bf1c8b5153e788c69c))
22
+ * **storefront:** New global Vue component `ALink` ([58b552f](https://github.com/ecomplus/cloud-commerce/commit/58b552fda2849f61148c88a89623a91e3efb9796))
23
+ * **storefront:** Use an object `iconAliases` on UnoCSS/Tailwind configs, add chevron icons aliases ([2cc164d](https://github.com/ecomplus/cloud-commerce/commit/2cc164d7438c8a322f8c106c74681331abe64a47))
24
+
25
+
26
+ ### Bug Fixes
27
+
28
+ * **deps:** Update all non-major dependencies ([#104](https://github.com/ecomplus/cloud-commerce/issues/104)) ([6cb0644](https://github.com/ecomplus/cloud-commerce/commit/6cb0644d463989cccf808974ea08e8fa559531a0))
29
+ * **galaxpay:** Fix the name of the collection ([db63905](https://github.com/ecomplus/cloud-commerce/commit/db6390503e632ad1c3b8ffdbeebaf412c13339c3))
30
+ * **storefront:** Fix `client.d.ts` Window interface ([9ec46c9](https://github.com/ecomplus/cloud-commerce/commit/9ec46c9b2b359f37bcc5e390a03f914c33353b15))
31
+ * **storefront:** Fix TS shims, update Vue globals typedef and add `vue/ref-macros` types ([97fa988](https://github.com/ecomplus/cloud-commerce/commit/97fa988cfb52b96395c588e3b09f1dc1254444ed))
32
+ * **storefront:** Import SW before /head, use `@vite-pwa/astro` ([30e254b](https://github.com/ecomplus/cloud-commerce/commit/30e254ba85671f1a4505111987aeb574632270cc))
33
+
34
+
35
+ * **storefront:** Removing `@[@components](https://github.com/components)` alias for now ([441cfb7](https://github.com/ecomplus/cloud-commerce/commit/441cfb74f26ab0b70caaa97fe724fd205a752f18))
36
+ * **storefront:** Update `Prices` component removing values for secondary [data-sf-prices-*] attrs ([fae36af](https://github.com/ecomplus/cloud-commerce/commit/fae36afb2f3d5c20535f4cd3d3411cb6016069a8))
37
+
5
38
  ### [0.1.7](https://github.com/ecomplus/cloud-commerce/compare/v0.1.6...v0.1.7) (2023-01-04)
6
39
 
7
40
 
package/action.yml CHANGED
@@ -38,6 +38,8 @@ inputs:
38
38
  description: 'App: Optional Galax Pay partner ID'
39
39
  galaxpay-partner-hash:
40
40
  description: 'App: Optional Galax Pay partner hash'
41
+ datafrete-operator-token:
42
+ description: 'App: Random token (https://randomkeygen.com/) to validate Datafrete webhooks'
41
43
 
42
44
  outputs: {}
43
45
 
@@ -89,6 +91,7 @@ runs:
89
91
  TINY_ERP_TOKEN: ${{ inputs.tiny-erp-token }}
90
92
  GALAXPAY_PARTNER_ID: ${{ inputs.galaxpay-partner-id }}
91
93
  GALAXPAY_PARTNER_HASH: ${{ inputs.galaxpay-partner-hash }}
94
+ DATAFRETE_OPERATOR_TOKEN: ${{ inputs.datafrete-operator-token }}
92
95
 
93
96
  run: |
94
97
  export GAC_FILENAME=".gac-$RANDOM.json"
@@ -109,6 +112,7 @@ runs:
109
112
  TINY_ERP_TOKEN=$TINY_ERP_TOKEN
110
113
  GALAXPAY_PARTNER_ID=$GALAXPAY_PARTNER_ID
111
114
  GALAXPAY_PARTNER_HASH=$GALAXPAY_PARTNER_HASH
115
+ DATAFRETE_OPERATOR_TOKEN=$DATAFRETE_OPERATOR_TOKEN
112
116
  " > functions/.env
113
117
  GOOGLE_APPLICATION_CREDENTIALS=$GAC_FILENAME npm run deploy
114
118
 
@@ -15,6 +15,6 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/firebase": "^0.1.6"
18
+ "@cloudcommerce/firebase": "^0.1.7"
19
19
  }
20
20
  }
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/events": "^0.1.6",
19
- "@cloudcommerce/firebase": "^0.1.6"
18
+ "@cloudcommerce/events": "^0.1.7",
19
+ "@cloudcommerce/firebase": "^0.1.7"
20
20
  }
21
21
  }
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/firebase": "^0.1.6",
19
- "@cloudcommerce/modules": "^0.1.6"
18
+ "@cloudcommerce/firebase": "^0.1.7",
19
+ "@cloudcommerce/modules": "^0.1.7"
20
20
  }
21
21
  }
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/firebase": "^0.1.6",
19
- "@cloudcommerce/passport": "^0.1.6"
18
+ "@cloudcommerce/firebase": "^0.1.7",
19
+ "@cloudcommerce/passport": "^0.1.7"
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.6",
23
- "@cloudcommerce/firebase": "^0.1.6",
24
- "@cloudcommerce/ssr": "^0.1.6"
22
+ "@cloudcommerce/api": "^0.1.7",
23
+ "@cloudcommerce/firebase": "^0.1.7",
24
+ "@cloudcommerce/ssr": "^0.1.7"
25
25
  },
26
26
  "devDependencies": {
27
- "@cloudcommerce/i18n": "^0.1.6",
28
- "@cloudcommerce/storefront": "^0.1.6",
29
- "@cloudcommerce/types": "^0.1.6",
27
+ "@cloudcommerce/i18n": "^0.1.7",
28
+ "@cloudcommerce/storefront": "^0.1.7",
29
+ "@cloudcommerce/types": "^0.1.7",
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.6"
26
+ "@cloudcommerce/cli": "^0.1.7"
27
27
  }
28
28
  }
@@ -15,6 +15,6 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/firebase": "^0.1.6"
18
+ "@cloudcommerce/firebase": "^0.1.7"
19
19
  }
20
20
  }
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/events": "^0.1.6",
19
- "@cloudcommerce/firebase": "^0.1.6"
18
+ "@cloudcommerce/events": "^0.1.7",
19
+ "@cloudcommerce/firebase": "^0.1.7"
20
20
  }
21
21
  }
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/firebase": "^0.1.6",
19
- "@cloudcommerce/modules": "^0.1.6"
18
+ "@cloudcommerce/firebase": "^0.1.7",
19
+ "@cloudcommerce/modules": "^0.1.7"
20
20
  }
21
21
  }
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/firebase": "^0.1.6",
19
- "@cloudcommerce/passport": "^0.1.6"
18
+ "@cloudcommerce/firebase": "^0.1.7",
19
+ "@cloudcommerce/passport": "^0.1.7"
20
20
  }
21
21
  }
@@ -19,17 +19,18 @@
19
19
  "dependencies": {
20
20
  "@astrojs/image": "^0.12.1",
21
21
  "@astrojs/node": "^4.0.0",
22
- "@cloudcommerce/api": "^0.1.6",
23
- "@cloudcommerce/firebase": "^0.1.6",
24
- "@cloudcommerce/ssr": "^0.1.6"
22
+ "@cloudcommerce/api": "^0.1.7",
23
+ "@cloudcommerce/firebase": "^0.1.7",
24
+ "@cloudcommerce/ssr": "^0.1.7"
25
25
  },
26
26
  "devDependencies": {
27
- "@cloudcommerce/i18n": "^0.1.6",
28
- "@cloudcommerce/storefront": "^0.1.6",
29
- "@cloudcommerce/types": "^0.1.6",
27
+ "@cloudcommerce/i18n": "^0.1.7",
28
+ "@cloudcommerce/storefront": "^0.1.7",
29
+ "@cloudcommerce/types": "^0.1.7",
30
30
  "@fontsource/dm-serif-text": "^4.5.9",
31
31
  "@fontsource/roboto-condensed": "^4.5.9",
32
- "@iconify-json/tabler": "^1.1.53"
32
+ "@iconify-json/tabler": "^1.1.53",
33
+ "@iconify-json/uim": "^1.1.3"
33
34
  },
34
35
  "pnpm": {
35
36
  "peerDependencyRules": {
@@ -0,0 +1,77 @@
1
+ ---
2
+ import { Picture } from '@astrojs/image/components';
3
+ ---
4
+
5
+ <article class="AboutUs relative">
6
+ <Picture
7
+ src="/img/uploads/machu-picchu-1500.jpg"
8
+ alt="Matchu Pitchu"
9
+ widths={[600, 1500]}
10
+ sizes="(max-width: 599.98px) 600px, 1500px"
11
+ aspectRatio={2.5907}
12
+ quality={75}
13
+ />
14
+ <a
15
+ class="absolute bottom-0 left-0 block w-full uppercase font-bold text-xl p-5
16
+ bg-gradient-to-r from-white/60 via-white/10 to-transparent
17
+ text-base-800 hover:bg-white/60"
18
+ href="https://www.youtube.com/watch?v=hYPVF2SV1WA"
19
+ target="_blank"
20
+ >
21
+ <i class="i-play mr-1"></i>
22
+ Veja o vídeo
23
+ </a>
24
+ <div class="absolute top-0 right-0 h-full flex flex-col
25
+ bg-gradient-to-l from-white to-white/60">
26
+ <div class="grow relative prose pl-20 pr-14 pt-7" style="max-width: 110ch;">
27
+ <Picture
28
+ class="absolute h-2/3 bottom-0 right-6"
29
+ src="/img/uploads/tia-sonia-real.png"
30
+ alt="Foto da Tia Sônia real"
31
+ widths={[200, 564]}
32
+ sizes="(max-width: 639.98px) 200px, 564px"
33
+ aspectRatio={0.7315}
34
+ quality={85}
35
+ />
36
+ <div class="relative z-10">
37
+ <h2 class="font-brand font-normal text-secondary mb-1">
38
+ A Tia Sônia tem uma saborosa história para te contar
39
+ </h2>
40
+ <p class="text-xl">
41
+ Sim, ela é de verdade!
42
+ <br>
43
+ Tia Sônia é uma mãe dedicada e cuidadosa.
44
+ </p>
45
+ <p class="max-w-3/4 xl:max-w-2/3 xl:text-lg">
46
+ A famosa receita de granola caseira foi criada para Marcos, seu filho,
47
+ levar para a sua viagem nas trilhas de Machu Picchu.
48
+ Nessa caminhada, a granola foi compartilhada entre amigos,
49
+ que começaram a incentivar a venda dos produtos...
50
+ </p>
51
+ <p class="hidden lg:block uppercase">
52
+ <a href="/paginas/sobre-tia-sonia" class="font-bold decoration-2">
53
+ Saiba mais</a>
54
+ <a
55
+ href="/paginas/sobre-tia-sonia#apresentacao"
56
+ class="font-bold decoration-2 ml-3"
57
+ >
58
+ Apresentação</a>
59
+ <a
60
+ href="/paginas/sobre-tia-sonia#linha-do-tempo"
61
+ class="font-bold decoration-2 ml-3"
62
+ >
63
+ Linha do tempo</a>
64
+ </p>
65
+ </div>
66
+ </div>
67
+ <a
68
+ class="block w-full text-secondary uppercase font-bold text-xl
69
+ text-center px-3 py-5
70
+ bg-gradient-to-l from-primary to-primary/60 hover:bg-primary"
71
+ href="/paginas/sobre-tia-sonia"
72
+ >
73
+ <i class="i-chevron-right mr-1"></i>
74
+ Conheça nossa história
75
+ </a>
76
+ </div>
77
+ </article>
@@ -0,0 +1,134 @@
1
+ <script lang="ts" setup>
2
+ import { ref } from 'vue';
3
+ import { useElementVisibility } from '@vueuse/core';
4
+
5
+ const title = ref<HTMLElement>(null);
6
+ const isTitleVisible = useElementVisibility(title);
7
+ const ratings = ref([{
8
+ stars: 5,
9
+ text: 'Entrega muito rápida e com a delicadeza de um brinde! Sou cliente fiel Tia Sônia!',
10
+ author: 'Beatriz B',
11
+ date: '10/01/2023',
12
+ }, {
13
+ stars: 5,
14
+ text: `Foram extremamente solícitos quando entrei em contato em razão da entrega.
15
+ Ganhei um brinde para escolher e outro brinde que era um pote de porcelana muito bonito e resistente.
16
+ A loja é muito preocupada com o pós-venda, o que a diferencia das lojas comuns. Muito Obrigado!`,
17
+ author: 'Luiz L',
18
+ date: '10/01/2023',
19
+ }, {
20
+ stars: 5,
21
+ text: 'Produtos de primeira qualidade, muito bem embalado, produtos deliciosos.',
22
+ author: 'Regina R',
23
+ date: '02/01/2023',
24
+ }, {
25
+ stars: 5,
26
+ text: `Adorei os produtos, comprei uma vez até o momento.
27
+ Adquiri algumas unidades da proteína de soja pois estava com um desconto muito bom.
28
+ Sou vegana e adoraria que fizessem esse tipo de promoção de vez em quando.`,
29
+ author: 'Bruna B',
30
+ date: '05/01/2023',
31
+ }]);
32
+ const influencerAvatarSrc = ref('/img/uploads/daniel-cady.webp');
33
+ const trustvoxLogoSrc = ref('/img/uploads/trustvox.png');
34
+ </script>
35
+
36
+ <template>
37
+ <div class="BrandTestimonials p-4">
38
+ <h4 class="text-center text-lg uppercase font-bold px-4" ref="title">
39
+ Garantia de
40
+ <span
41
+ class="inline-block motion-safe:transition delay-300 px-1"
42
+ :class="isTitleVisible ? 'bg-secondary text-white' : null"
43
+ >afeto e comprometimento social</span>
44
+ você sempre terá com a Tia Sônia
45
+ <i class="md:ml-2 text-2xl i-heart text-blue-500 animate-pulse"></i>
46
+ </h4>
47
+ <div class="mx-auto max-w-5xl px-4 md:px-8 pt-10">
48
+ <article class="rounded-lg bg-base-100 p-8 pt-0 sm:pt-8">
49
+ <div class="grid grid-cols-1 gap-8 sm:gap-12 sm:grid-cols-4 lg:grid-cols-5 sm:items-center">
50
+ <img
51
+ alt="Daniel Cady"
52
+ :src="influencerAvatarSrc"
53
+ loading="lazy"
54
+ class="aspect-square rounded-full object-cover w-20 sm:w-full -mt-6 sm:mt-0"
55
+ />
56
+ <blockquote class="sm:col-span-3 lg:col-span-4">
57
+ <p class="text-lg prose">
58
+ E se dica boa é dica compartilhada, apresento para vocês algumas opções de
59
+ Granola da <a href="https://www.instagram.com/tiasoniaoficial/" target="_blank">@tiasoniaoficial</a>
60
+ para todos os gostos e necessidades.
61
+ Sem deixar de lembrar que a Tia Sônia também possui o Clube Nutri,
62
+ que oferece vantagens para profissionais de nutrição.
63
+ </p>
64
+ <cite class="mt-8 inline-flex items-center not-italic">
65
+ <span class="hidden h-px w-6 bg-base-400 sm:inline-block"></span>
66
+ <p class="text-sm uppercase text-base-500 sm:ml-3">
67
+ <strong>Daniel Cady</strong>,
68
+ nutricionista e pós-graduado em Nutrição Clínica Funcional
69
+ </p>
70
+ </cite>
71
+ </blockquote>
72
+ </div>
73
+ </article>
74
+ <article class="mx-auto max-w-screen-xl px-4 sm:px-6 lg:px-8 pt-8 mb-4">
75
+ <h4 class="text-xl sm:text-2xl">
76
+ Tia Sônia faz bem mais feliz! Leia de quem já experimentou:
77
+ </h4>
78
+ <a
79
+ class="mt-4 flex items-center text-base-500 hover:text-base-700"
80
+ href="https://certificados.trustvox.com.br/emporiotiasonia"
81
+ target="_blank"
82
+ rel="noopener"
83
+ >
84
+ <p class="text-3xl text-base-800 whitespace-nowrap">
85
+ <b>4,8</b> <small class="text-base sm:text-lg">/ 5</small>
86
+ </p>
87
+ <div class="ml-4">
88
+ <div class="flex text-yellow-400">
89
+ <i class="i-uim:star"></i>
90
+ <i class="i-uim:star"></i>
91
+ <i class="i-uim:star"></i>
92
+ <i class="i-uim:star"></i>
93
+ <i class="i-uim:star-half-alt"></i>
94
+ </div>
95
+ <div class="flex gap-1 sm:gap-2 items-center">
96
+ <p class="mt-0.5 text-xs">
97
+ <i class="i-external-link"></i>
98
+ Quase <span class="underline underline-offset-3">2000 avaliações</span>
99
+ de clientes reais auditadas por
100
+ </p>
101
+ <img
102
+ class="inline-block w-16"
103
+ :src="trustvoxLogoSrc"
104
+ loading="lazy"
105
+ width="141"
106
+ height="29"
107
+ />
108
+ </div>
109
+ </div>
110
+ </a>
111
+ <div class="mt-8 grid grid-cols-2 lg:grid-cols-4 gap-8 text-sm">
112
+ <blockquote v-for="(rating, i) in ratings" :key="i">
113
+ <div class="flex text-xs">
114
+ <i
115
+ v-for="count in 5"
116
+ :key="`${i}-${count}`"
117
+ class="i-uim:star"
118
+ :class="count <= rating.stars ? 'text-yellow-400' : 'text-base-200'"
119
+ ></i>
120
+ </div>
121
+ <p class="prose">
122
+ {{ rating.text }}
123
+ </p>
124
+ <footer class="mt-4">
125
+ <p class="text-xs text-base-500">
126
+ {{ rating.author }} - {{ rating.date }}
127
+ </p>
128
+ </footer>
129
+ </blockquote>
130
+ </div>
131
+ </article>
132
+ </div>
133
+ </div>
134
+ </template>
@@ -0,0 +1,32 @@
1
+ <script setup lang="ts">
2
+ import type { Categories } from '@cloudcommerce/types';
3
+
4
+ export interface Props {
5
+ categories: Partial<Categories>[],
6
+ }
7
+
8
+ defineProps<Props>();
9
+ </script>
10
+
11
+ <template>
12
+ <nav class="CategoriesGrid flex flex-wrap justify-center gap-3 lg:gap-4">
13
+ <a
14
+ v-for="(category, i) in categories"
15
+ :key="i"
16
+ :href="category.slug"
17
+ class="text-center w-16 underline underline-offset-4 text-xs lowercase
18
+ text-primary-700 hover:text-primary-900 opacity-90 hover:opacity-100"
19
+ >
20
+ <img
21
+ v-if="category.icon"
22
+ :src="category.icon.url"
23
+ :alt="category.icon.alt || category.name"
24
+ loading="lazy"
25
+ width="40"
26
+ height="40"
27
+ class="inline-block mb-2"
28
+ />
29
+ <h3>{{ category.name }}</h3>
30
+ </a>
31
+ </nav>
32
+ </template>
@@ -1,19 +1,117 @@
1
1
  <script setup lang="ts">
2
2
  import type { Categories } from '@cloudcommerce/types';
3
+ import { ref } from 'vue';
4
+ import { useElementVisibility } from '@vueuse/core';
3
5
 
4
6
  export interface Props {
5
7
  categories: Partial<Categories>[],
6
8
  }
7
9
 
8
10
  defineProps<Props>();
11
+ const list = ref<HTMLUListElement | null>(null);
12
+ const move = (isNext = true) => {
13
+ const factor = isNext ? 1 : -1;
14
+ list.value.scrollLeft += (factor * list.value.offsetWidth);
15
+ };
16
+ const next = () => move();
17
+ const prev = () => move(false);
18
+ const listStart = ref<HTMLLIElement | null>(null);
19
+ const listEnd = ref<HTMLLIElement | null>(null);
20
+ const isStartVisible = useElementVisibility(listStart, { scrollTarget: list });
21
+ const isEndVisible = useElementVisibility(listEnd, { scrollTarget: list });
9
22
  </script>
10
23
 
11
24
  <template>
12
- <nav class="CategoriesSlider">
13
- <ul role="list">
14
- <li v-for="(category, i) in categories" :key="i">
15
- {{ category.name }}
16
- </li>
17
- </ul>
18
- </nav>
25
+ <div class="CategoriesSlider px-4 py-3">
26
+ <nav>
27
+ <ul
28
+ role="list"
29
+ class="flex items-center overflow-hidden snap-x snap-mandatory scroll-smooth"
30
+ ref="list"
31
+ >
32
+ <li ref="listStart"></li>
33
+ <li
34
+ v-for="(category, i) in categories"
35
+ :key="i"
36
+ class="text-center font-brand text-lg"
37
+ :class="{
38
+ 'snap-start snap-always sm:snap-align-none sm:snap-normal': !(i % 2),
39
+ 'md:snap-start md:snap-always': !(i % 4),
40
+ 'xl:snap-start xl:snap-always': !(i % 6),
41
+ }"
42
+ >
43
+ <a
44
+ :href="category.slug"
45
+ class="block p-3 rounded-lg text-primary-700
46
+ hover:text-primary-900 hover:bg-gradient-to-t from-white/70"
47
+ >
48
+ <img
49
+ v-if="category.icon"
50
+ :src="category.icon.url"
51
+ :alt="category.icon.alt || category.name"
52
+ loading="lazy"
53
+ width="430"
54
+ height="286"
55
+ />
56
+ <h3>{{ category.name }}</h3>
57
+ </a>
58
+ </li>
59
+ <li ref="listEnd"></li>
60
+ </ul>
61
+ </nav>
62
+ <div class="mt-3 lg:mt-4 text-4xl text-base-700
63
+ flex gap-2 justify-center items-center">
64
+ <div class="basis-1/3 flex justify-end items-center mr-4">
65
+ <a
66
+ href="/busca"
67
+ class="inline-block font-bold uppercase text-sm px-3 py-2
68
+ bg-base-200 opacity-80 hover:opacity-100 rounded"
69
+ >
70
+ Todos os produtos
71
+ </a>
72
+ </div>
73
+ <button
74
+ class="px-3"
75
+ :class="!isStartVisible ? 'opacity-70 hover:opacity-100' : 'opacity-40'"
76
+ @click="prev"
77
+ :disabled="isStartVisible"
78
+ >
79
+ <i class="i-arrow-left-circle"></i>
80
+ </button>
81
+ <button
82
+ class="px-3"
83
+ :class="!isEndVisible ? 'opacity-70 hover:opacity-100' : 'opacity-40'"
84
+ @click="next"
85
+ :disabled="isEndVisible"
86
+ >
87
+ <i class="i-arrow-right-circle"></i>
88
+ </button>
89
+ <div class="basis-1/3 flex items-center ml-4">
90
+ <a
91
+ href="/blog/c/receitas"
92
+ class="inline-block font-bold uppercase text-sm p-2
93
+ opacity-80 hover:opacity-100"
94
+ >
95
+ <i class="i-chevron-right"></i>
96
+ Receitas
97
+ </a>
98
+ </div>
99
+ </div>
100
+ </div>
19
101
  </template>
102
+
103
+ <style scoped>
104
+ li {
105
+ min-width: 50%;
106
+ }
107
+ @screen md {
108
+ li {
109
+ min-width: 25%;
110
+ }
111
+ }
112
+ @screen xl {
113
+ li {
114
+ min-width: 16.6667%;
115
+ }
116
+ }
117
+ </style>
@@ -26,7 +26,7 @@ const isPostLinkHovered = useElementHover(postLink);
26
26
  </script>
27
27
 
28
28
  <template>
29
- <div class="relative">
29
+ <div class="HeroBanner relative">
30
30
  <slot />
31
31
  <Popover
32
32
  v-for="{ product, position } in pointers"
@@ -94,7 +94,7 @@ const isPostLinkHovered = useElementHover(postLink);
94
94
  >
95
95
  <article class="prose">
96
96
  <h3
97
- class="font-brand mb-1 bg-secondary/90 rounded-sm text-white
97
+ class="font-brand font-normal mb-1 bg-secondary/90 rounded-sm text-white
98
98
  inline-block px-3 py-2"
99
99
  style="--un-prose-links: var(--c-primary)"
100
100
  v-html="blogPost.title"