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.
- package/CHANGELOG.md +33 -0
- package/action.yml +4 -0
- package/ecomplus-stores/monocard/functions/core/package.json +1 -1
- package/ecomplus-stores/monocard/functions/events/package.json +2 -2
- package/ecomplus-stores/monocard/functions/modules/package.json +2 -2
- package/ecomplus-stores/monocard/functions/passport/package.json +2 -2
- package/ecomplus-stores/monocard/functions/ssr/package.json +6 -6
- package/ecomplus-stores/monocard/package.json +1 -1
- package/ecomplus-stores/tia-sonia/functions/core/package.json +1 -1
- package/ecomplus-stores/tia-sonia/functions/events/package.json +2 -2
- package/ecomplus-stores/tia-sonia/functions/modules/package.json +2 -2
- package/ecomplus-stores/tia-sonia/functions/passport/package.json +2 -2
- package/ecomplus-stores/tia-sonia/functions/ssr/package.json +8 -7
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-acucares.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-barras.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-bebidas-em-po.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-cookies.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-granola-tia-sonia.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-integrais.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-naturais.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-pastas-tia-sonia.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-snacks.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-ultrabar.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/daniel-cady.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/granola-tradicional-lata-verso.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/granola-tradicional-lata.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/machu-picchu-1500.jpg +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/selo-ibd-120-80.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/selo-organico-120-80.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/selo-usda-120-80.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/selo-vegano-120-80.webp +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/tia-sonia-real.png +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/trustvox.png +0 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/src/components/AboutUs.astro +77 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/src/components/BrandTestimonials.vue +134 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/src/components/CategoriesGrid.vue +32 -0
- package/ecomplus-stores/tia-sonia/functions/ssr/src/components/CategoriesSlider.vue +105 -7
- package/ecomplus-stores/tia-sonia/functions/ssr/src/components/HeroBanner.vue +2 -2
- package/ecomplus-stores/tia-sonia/functions/ssr/src/layouts/Base.astro +5 -1
- package/ecomplus-stores/tia-sonia/functions/ssr/src/layouts/Pages.astro +1 -1
- package/ecomplus-stores/tia-sonia/functions/ssr/src/main/Home.astro +116 -25
- package/ecomplus-stores/tia-sonia/package.json +1 -1
- package/package.json +12 -12
- package/packages/api/package.json +1 -1
- package/packages/apps/correios/package.json +1 -1
- package/packages/apps/custom-payment/package.json +1 -1
- package/packages/apps/custom-shipping/package.json +1 -1
- package/packages/apps/datafrete/CHANGELOG.md +1 -0
- package/packages/apps/datafrete/README.md +1 -0
- package/packages/apps/datafrete/lib/datafrete-webhook.d.ts +4 -0
- package/packages/apps/datafrete/lib/datafrete-webhook.js +108 -0
- package/packages/apps/datafrete/lib/datafrete-webhook.js.map +1 -0
- package/packages/apps/datafrete/lib/datafrete.d.ts +2 -0
- package/packages/apps/datafrete/lib/datafrete.js +6 -0
- package/packages/apps/datafrete/lib/datafrete.js.map +1 -0
- package/packages/apps/datafrete/lib/index.d.ts +1 -0
- package/packages/apps/datafrete/lib/index.js +2 -0
- package/packages/apps/datafrete/lib/index.js.map +1 -0
- package/packages/apps/datafrete/lib-mjs/calculate-datafrete.mjs +277 -0
- package/packages/apps/datafrete/package.json +37 -0
- package/packages/apps/datafrete/src/datafrete-webhook.ts +131 -0
- package/packages/apps/datafrete/src/datafrete.ts +7 -0
- package/packages/apps/datafrete/src/index.ts +1 -0
- package/packages/apps/datafrete/tsconfig.json +6 -0
- package/packages/apps/datafrete/webhook.js +1 -0
- package/packages/apps/discounts/package.json +1 -1
- package/packages/apps/emails/package.json +1 -1
- package/packages/apps/fb-conversions/package.json +2 -2
- package/packages/apps/frenet/package.json +1 -1
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/webhook.js +3 -2
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/webhook.js.map +1 -1
- package/packages/apps/galaxpay/package.json +1 -1
- package/packages/apps/galaxpay/src/functions-lib/galaxpay/webhook.ts +3 -2
- package/packages/apps/google-analytics/CHANGELOG.md +1 -0
- package/packages/apps/google-analytics/README.md +1 -0
- package/packages/apps/google-analytics/lib/google-analytics-events.js +113 -0
- package/packages/apps/google-analytics/lib/google-analytics-events.js.map +1 -0
- package/packages/apps/google-analytics/lib/index.js +2 -0
- package/packages/apps/google-analytics/lib/index.js.map +1 -0
- package/packages/apps/google-analytics/package.json +32 -0
- package/packages/apps/google-analytics/src/google-analytics-events.ts +151 -0
- package/packages/apps/google-analytics/src/index.ts +1 -0
- package/packages/apps/google-analytics/tsconfig.json +3 -0
- package/packages/apps/google-analytics/types.d.ts +43 -0
- package/packages/apps/infinitepay/package.json +1 -1
- package/packages/apps/jadlog/package.json +1 -1
- package/packages/apps/loyalty-points/package.json +1 -1
- package/packages/apps/mercadopago/lib/mp-create-transaction.js +1 -1
- package/packages/apps/mercadopago/lib/mp-create-transaction.js.map +1 -1
- package/packages/apps/mercadopago/lib/mp-webhook.js +2 -7
- package/packages/apps/mercadopago/lib/mp-webhook.js.map +1 -1
- package/packages/apps/mercadopago/package.json +1 -1
- package/packages/apps/mercadopago/src/mp-create-transaction.ts +1 -1
- package/packages/apps/mercadopago/src/mp-webhook.ts +3 -8
- package/packages/apps/pagarme/lib/pagarme-webhook.js +1 -1
- package/packages/apps/pagarme/lib/pagarme-webhook.js.map +1 -1
- package/packages/apps/pagarme/package.json +1 -1
- package/packages/apps/pagarme/src/pagarme-webhook.ts +1 -1
- package/packages/apps/pix/package.json +1 -1
- package/packages/apps/tiny-erp/package.json +1 -1
- package/packages/cli/package.json +1 -1
- package/packages/config/package.json +1 -1
- package/packages/emails/package.json +2 -2
- package/packages/events/lib/firebase.js +4 -0
- package/packages/events/lib/firebase.js.map +1 -1
- package/packages/events/package.json +3 -1
- package/packages/events/src/firebase.ts +4 -0
- package/packages/firebase/lib/config.d.ts +7 -0
- package/packages/firebase/lib/config.js +10 -0
- package/packages/firebase/lib/config.js.map +1 -1
- package/packages/firebase/package.json +1 -1
- package/packages/firebase/src/config.ts +11 -0
- package/packages/i18n/package.json +1 -1
- package/packages/modules/lib/firebase/call-app-module.js +5 -0
- package/packages/modules/lib/firebase/call-app-module.js.map +1 -1
- package/packages/modules/package.json +3 -2
- package/packages/modules/src/firebase/call-app-module.ts +5 -0
- package/packages/passport/package.json +1 -1
- package/packages/ssr/package.json +4 -3
- package/packages/storefront/.eslintrc.cjs +5 -1
- package/packages/storefront/astro.config.mjs +9 -24
- package/packages/storefront/client.d.ts +6 -8
- package/packages/storefront/dist/client/PitchBar.afe7ff5c.js +1 -0
- package/packages/storefront/dist/client/Prices.eaf8a32c.js +1 -0
- package/packages/storefront/dist/client/ProductCard.1106b153.js +1 -0
- package/packages/storefront/dist/client/assets/_...slug_.fea84512.css +1 -0
- package/packages/storefront/dist/client/assets/index.90df622b.css +1 -0
- package/packages/storefront/dist/client/chunks/Prices.vue_vue_type_script_setup_true_lang.781b6501.js +1 -0
- package/packages/storefront/dist/client/chunks/ecom-utils.63984324.js +1 -0
- package/packages/storefront/dist/client/chunks/runtime-core.esm-bundler.fa6cdb60.js +1 -0
- package/packages/storefront/dist/client/client.367a6497.js +1 -0
- package/packages/storefront/dist/client/hoisted.4671ed15.js +1 -0
- package/packages/storefront/dist/client/sw.js +1 -1
- package/packages/storefront/dist/client/workbox-e2ee76b5.js +1 -0
- package/packages/storefront/dist/server/entry.mjs +359 -537
- package/packages/storefront/package.json +10 -9
- package/packages/storefront/src/env.d.ts +9 -0
- package/packages/storefront/src/lib/assets/tooltip.css +6 -5
- package/packages/storefront/src/lib/components/Carousel.vue +259 -0
- package/packages/storefront/src/lib/components/CarouselControl.vue +29 -0
- package/packages/storefront/src/lib/components/LoginDrawer.vue +1 -1
- package/packages/storefront/src/lib/components/PitchBar.vue +44 -0
- package/packages/storefront/src/lib/components/Prices.vue +13 -17
- package/packages/storefront/src/lib/components/ProductCard.vue +1 -1
- package/packages/storefront/src/lib/components/_injection-keys.ts +9 -0
- package/packages/storefront/src/lib/components/globals/ALink.vue +26 -0
- package/packages/storefront/src/lib/layouts/BaseBody.astro +1 -5
- package/packages/storefront/src/lib/layouts/BaseHead.astro +7 -2
- package/packages/storefront/src/lib/layouts/PagesHeader.astro +38 -0
- package/packages/storefront/src/lib/pages/_vue.ts +3 -2
- package/packages/storefront/src/lib/ssr-context.ts +6 -0
- package/packages/storefront/src/vue-globals.d.ts +5 -5
- package/packages/storefront/tailwind.config.cjs +12 -6
- package/packages/storefront/tsconfig.json +2 -2
- package/packages/storefront/uno.config.cjs +4 -4
- package/packages/types/package.json +1 -1
- package/packages/storefront/dist/client/HeaderButtons.6f668467.js +0 -1
- package/packages/storefront/dist/client/Prices.2ada125b.js +0 -1
- package/packages/storefront/dist/client/ProductCard.e5bdea60.js +0 -1
- package/packages/storefront/dist/client/assets/_...slug_.81b9a00c.css +0 -1
- package/packages/storefront/dist/client/assets/index.e6a09532.css +0 -1
- package/packages/storefront/dist/client/chunks/HeaderButtons.cfa275db.js +0 -1
- package/packages/storefront/dist/client/chunks/LoginForm.1ba3ad0d.js +0 -1441
- package/packages/storefront/dist/client/chunks/Prices.vue_vue_type_script_setup_true_lang.9a6ab0d6.js +0 -1
- package/packages/storefront/dist/client/chunks/_plugin-vue_export-helper.0d33cd48.js +0 -1
- package/packages/storefront/dist/client/chunks/ecom-utils.b0a26608.js +0 -1
- package/packages/storefront/dist/client/chunks/preload-helper.1de719f8.js +0 -1
- package/packages/storefront/dist/client/chunks/price.ecf7fed4.js +0 -1
- package/packages/storefront/dist/client/chunks/runtime-core.esm-bundler.45ba83fa.js +0 -1
- package/packages/storefront/dist/client/client.4d2b3a73.js +0 -1
- package/packages/storefront/dist/client/hoisted.f6ee2883.js +0 -1
- package/packages/storefront/dist/client/page.5a6f3db5.js +0 -1
- package/packages/storefront/dist/client/workbox-abdc68aa.js +0 -1
- package/packages/storefront/dist/client/~partytown/partytown-atomics.js +0 -2
- package/packages/storefront/dist/client/~partytown/partytown-media.js +0 -2
- package/packages/storefront/dist/client/~partytown/partytown-sw.js +0 -2
- 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
|
|
|
@@ -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.
|
|
23
|
-
"@cloudcommerce/firebase": "^0.1.
|
|
24
|
-
"@cloudcommerce/ssr": "^0.1.
|
|
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.
|
|
28
|
-
"@cloudcommerce/storefront": "^0.1.
|
|
29
|
-
"@cloudcommerce/types": "^0.1.
|
|
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",
|
|
@@ -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.
|
|
23
|
-
"@cloudcommerce/firebase": "^0.1.
|
|
24
|
-
"@cloudcommerce/ssr": "^0.1.
|
|
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.
|
|
28
|
-
"@cloudcommerce/storefront": "^0.1.
|
|
29
|
-
"@cloudcommerce/types": "^0.1.
|
|
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": {
|
|
Binary file
|
|
Binary file
|
package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-bebidas-em-po.webp
ADDED
|
Binary file
|
|
Binary file
|
package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-granola-tia-sonia.webp
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/categoria-pastas-tia-sonia.webp
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/ecomplus-stores/tia-sonia/functions/ssr/public/img/uploads/granola-tradicional-lata.webp
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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
|
-
<
|
|
13
|
-
<
|
|
14
|
-
<
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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"
|