cloudcommerce 2.6.4 → 2.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/test-apps.yml +2 -2
- package/CHANGELOG.md +30 -0
- package/action.yml +2 -2
- package/{commitlint.config.cjs → commitlint.config.mjs} +2 -2
- package/ecomplus-stores/barradoce/.gitpod.yml +1 -1
- package/ecomplus-stores/barradoce/.idx/dev.nix +5 -4
- package/ecomplus-stores/barradoce/functions/many/package.json +3 -3
- package/ecomplus-stores/barradoce/functions/ssr/content/pages/home.json +106 -8
- package/ecomplus-stores/barradoce/functions/ssr/content/pages/products.json +3 -0
- package/ecomplus-stores/barradoce/functions/ssr/content/types.d.ts +1 -1
- package/ecomplus-stores/barradoce/functions/ssr/package.json +6 -6
- package/ecomplus-stores/barradoce/functions/ssr/src/components/BuyerReviews.vue +83 -0
- package/ecomplus-stores/barradoce/functions/ssr/src/components/CheckoutPage.vue +6 -6
- package/ecomplus-stores/barradoce/functions/ssr/src/components/FooterStamps.vue +4 -4
- package/ecomplus-stores/barradoce/functions/ssr/src/components/ProductDetails.vue +36 -5
- package/ecomplus-stores/barradoce/functions/ssr/src/components/ProductShelf.vue +8 -7
- package/ecomplus-stores/barradoce/functions/ssr/src/components/ShippingCalculator.vue +1 -1
- package/ecomplus-stores/barradoce/functions/ssr/src/main/content/Sections.astro +4 -0
- package/ecomplus-stores/barradoce/functions/with-apps/package.json +3 -3
- package/ecomplus-stores/barradoce/package.json +2 -2
- package/package.json +5 -5
- package/packages/api/package.json +1 -1
- package/packages/apps/affiliate-program/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/package.json +1 -1
- package/packages/apps/discounts/package.json +1 -1
- package/packages/apps/emails/package.json +1 -1
- package/packages/apps/fb-conversions/package.json +1 -1
- package/packages/apps/flash-courier/package.json +1 -1
- package/packages/apps/frenet/package.json +1 -1
- package/packages/apps/galaxpay/package.json +1 -1
- package/packages/apps/google-analytics/package.json +1 -1
- package/packages/apps/jadlog/package.json +1 -1
- package/packages/apps/loyalty-points/package.json +1 -1
- package/packages/apps/mandae/package.json +1 -1
- package/packages/apps/melhor-envio/package.json +1 -1
- package/packages/apps/mercadopago/package.json +1 -1
- package/packages/apps/pagarme/package.json +1 -1
- package/packages/apps/pagarme-v5/package.json +1 -1
- package/packages/apps/paghiper/package.json +1 -1
- package/packages/apps/pix/package.json +1 -1
- package/packages/apps/tiny-erp/package.json +1 -1
- package/packages/apps/webhooks/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/eslint/package.json +1 -1
- package/packages/events/package.json +1 -1
- package/packages/feeds/package.json +1 -1
- package/packages/firebase/package.json +1 -1
- package/packages/i18n/package.json +1 -1
- package/packages/modules/package.json +1 -1
- package/packages/passport/package.json +1 -1
- package/packages/ssr/lib/lib/cron-ssr-save-views.js +7 -85
- package/packages/ssr/lib/lib/cron-ssr-save-views.js.map +1 -1
- package/packages/ssr/package.json +3 -3
- package/packages/ssr/src/lib/cron-ssr-save-views.ts +7 -91
- package/packages/storefront/dist/client/_astro/{AccountPage.B4WZaOzX.js → AccountPage.Cq0jrJE5.js} +1 -1
- package/packages/storefront/dist/client/_astro/{CartSidebar.DAGdpIcU.js → CartSidebar.DkX2BE1w.js} +1 -1
- package/packages/storefront/dist/client/_astro/{HeroSlider.Dq_9kcdU.js → HeroSlider.CZujn8cU.js} +1 -1
- package/packages/storefront/dist/client/_astro/{PitchBar.BwLlIs6F.js → PitchBar.DhcSEQPV.js} +1 -1
- package/packages/storefront/dist/client/_astro/{Prices.BgHTq5id.js → Prices.D1uItqV5.js} +1 -1
- package/packages/storefront/dist/client/_astro/{ProductDetails.CnYNdPl5.js → ProductDetails.DDNMc2oj.js} +1 -1
- package/packages/storefront/dist/client/_astro/ProductShelf.BwRDTU-V.js +1 -0
- package/packages/storefront/dist/client/_astro/{SearchModal.DcmvABes.js → SearchModal.DgrtGsIu.js} +1 -1
- package/packages/storefront/dist/client/_astro/{SearchShowcase.C9GWwOnF.js → SearchShowcase.DggdcmcI.js} +1 -1
- package/packages/storefront/dist/client/_astro/{ShippingCalculator.DE01D7dt.js → ShippingCalculator.B5JIh5xw.js} +1 -1
- package/packages/storefront/dist/client/_astro/{ShopHeader.Cf4t6O6z.js → ShopHeader.CIsQLhMR.js} +2 -2
- package/packages/storefront/dist/client/_astro/{_plugin-vue_export-helper.CBemkWnU.js → _plugin-vue_export-helper.3R8ooc_r.js} +3 -3
- package/packages/storefront/dist/client/_astro/{_slug_.DX_OkMX7.css → _slug_.CnXAH2gj.css} +1 -1
- package/packages/storefront/dist/client/_astro/client.mwowSQrH.js +1 -0
- package/packages/storefront/dist/client/_astro/{customer-session.CNe1heRH.js → customer-session.BAjMMoBA.js} +1 -1
- package/packages/storefront/dist/client/_astro/{format-money.DINpWB0x.js → format-money.vLicYTv9.js} +1 -1
- package/packages/storefront/dist/client/_astro/{grid-title.D4m7-g3h.js → grid-title.CxNZApGL.js} +1 -1
- package/packages/storefront/dist/client/_astro/{hoisted.EBqhuD5o.js → hoisted.B8Lw6O9a.js} +1 -1
- package/packages/storefront/dist/client/_astro/{hoisted.B2rH1xwX.js → hoisted.D4m7OTKi.js} +1 -1
- package/packages/storefront/dist/client/_astro/{hoisted.ut_nNM_H.js → hoisted.DSAg3dYh.js} +1 -1
- package/packages/storefront/dist/client/_astro/hoisted.D_dlmSy5.js +1 -0
- package/packages/storefront/dist/client/_astro/{i18n.B3skIOFg.js → i18n.BE5r_SIU.js} +1 -1
- package/packages/storefront/dist/client/_astro/{img.D5a6GzeE.js → img.CB-F9VLo.js} +1 -1
- package/packages/storefront/dist/client/_astro/{index.DBfgCyd-.js → index.BAyyMfaO.js} +1 -1
- package/packages/storefront/dist/client/_astro/{index.CFw6O-Kt.js → index.CTTHpJlV.js} +1 -1
- package/packages/storefront/dist/client/_astro/{modules-info.BHKiT6oA.js → modules-info.C6KJuGeB.js} +1 -1
- package/packages/storefront/dist/client/_astro/name.CIPngEFN.js +1 -0
- package/packages/storefront/dist/client/_astro/sf-utils.xmJHVMAX.js +13 -0
- package/packages/storefront/dist/client/_astro/{shopping-cart.D-w8Z-4p.js → shopping-cart.DGvCZWRZ.js} +1 -1
- package/packages/storefront/dist/client/_astro/{use-analytics.CQDdNgwF.js → use-analytics.BWhF_fCv.js} +1 -1
- package/packages/storefront/dist/client/_astro/{use-cms-preview.4Hq7LCmA.js → use-cms-preview.CPGTKut8.js} +1 -1
- package/packages/storefront/dist/client/_astro/{use-product-card.CQRlRsNX.js → use-product-card.C-RbCwna.js} +1 -1
- package/packages/storefront/dist/client/_astro/{use-text-value.UjCYLWjm.js → use-text-value.D4Rw7N4D.js} +1 -1
- package/packages/storefront/dist/server/chunks/{CartSidebar_BmwcZuxv.mjs → CartSidebar_lUckG0fs.mjs} +1 -1
- package/packages/storefront/dist/server/chunks/{SearchModal_BvEnUvAx.mjs → SearchModal_B2f22Mff.mjs} +1 -1
- package/packages/storefront/dist/server/chunks/{_.._DORZHe_Z.mjs → _.._CvgSOb3Z.mjs} +1 -1
- package/packages/storefront/dist/server/chunks/{_page__DU3kNewy.mjs → _page__Ex4FhYrc.mjs} +1 -1
- package/packages/storefront/dist/server/chunks/{account_CaTloREf.mjs → account_B7sLjsXD.mjs} +1 -1
- package/packages/storefront/dist/server/chunks/astro/{assets-service_B77Hm2ue.mjs → assets-service_BOyOfKDQ.mjs} +1 -1
- package/packages/storefront/dist/server/chunks/{astro_ISB6VLqs.mjs → astro_B5LBy7PI.mjs} +8 -4
- package/packages/storefront/dist/server/chunks/{index_BTDpenpc.mjs → index_BOh755yP.mjs} +1 -1
- package/packages/storefront/dist/server/chunks/{index_D0q4ab_n.mjs → index_C2hkTn-w.mjs} +1 -1
- package/packages/storefront/dist/server/chunks/{node_C7sdLKL4.mjs → node_DavlI8UF.mjs} +1 -1
- package/packages/storefront/dist/server/chunks/pages/{__B4CsSrck.mjs → __RXg_hYeF.mjs} +57 -18
- package/packages/storefront/dist/server/chunks/pages/{_page__sb5Idhgp.mjs → _page__Dyte93f2.mjs} +2 -2
- package/packages/storefront/dist/server/chunks/pages/{account_iWjHfkwu.mjs → account_C66y6_Y9.mjs} +2 -2
- package/packages/storefront/dist/server/chunks/pages/{index_BZlpKBRL.mjs → index_EO1hhrt8.mjs} +2 -2
- package/packages/storefront/dist/server/chunks/pages/{node_GFu-CQ19.mjs → node_hc25rqYt.mjs} +3 -3
- package/packages/storefront/dist/server/chunks/pages/{~fallback_C07rzeay.mjs → ~fallback_-K3esUV3.mjs} +2 -2
- package/packages/storefront/dist/server/chunks/{~fallback_YpJa9BIL.mjs → ~fallback_DQ6yB81s.mjs} +1 -1
- package/packages/storefront/dist/server/entry.mjs +625 -601
- package/packages/storefront/dist/server/{manifest_KFjAaJaC.mjs → manifest_bZVxjk3o.mjs} +3 -3
- package/packages/storefront/dist/server/renderers.mjs +1 -1
- package/packages/storefront/package.json +3 -3
- package/packages/storefront/src/lib/components/Carousel.vue +6 -0
- package/packages/storefront/src/lib/composables/use-product-shelf.ts +23 -4
- package/packages/storefront/src/lib/layouts/use-page-main.ts +6 -7
- package/packages/test-base/package.json +1 -1
- package/packages/types/package.json +1 -1
- package/packages/storefront/dist/client/_astro/ProductShelf.kfADQTUO.js +0 -1
- package/packages/storefront/dist/client/_astro/client.CdXC84C5.js +0 -1
- package/packages/storefront/dist/client/_astro/hoisted.DBPXHTEb.js +0 -1
- package/packages/storefront/dist/client/_astro/name.BZA9xqh-.js +0 -1
- package/packages/storefront/dist/client/_astro/sf-utils.Cigv01cN.js +0 -13
|
@@ -104,11 +104,11 @@ jobs:
|
|
|
104
104
|
${{ steps.npm-paths.outputs.LIB_PATH }}
|
|
105
105
|
${{ steps.npm-paths.outputs.BIN_PATH }}
|
|
106
106
|
~/.npm-global/bin
|
|
107
|
-
key: ${{ runner.os }}-npm-globals-firebase-tools-13.
|
|
107
|
+
key: ${{ runner.os }}-npm-globals-firebase-tools-13.4.0
|
|
108
108
|
|
|
109
109
|
- if: steps.npm-g-cache.outputs.cache-hit != 'true'
|
|
110
110
|
shell: bash
|
|
111
|
-
run: npm install -g firebase-tools@13.
|
|
111
|
+
run: npm install -g firebase-tools@13.4.0
|
|
112
112
|
|
|
113
113
|
- name: Initialize Firebase emulators
|
|
114
114
|
shell: bash
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,36 @@
|
|
|
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
|
+
### [2.7.3](https://github.com/ecomplus/cloud-commerce/compare/v2.7.2...v2.7.3) (2024-03-01)
|
|
6
|
+
|
|
7
|
+
### [2.7.2](https://github.com/ecomplus/cloud-commerce/compare/v2.7.1...v2.7.2) (2024-03-01)
|
|
8
|
+
|
|
9
|
+
### [2.7.1](https://github.com/ecomplus/cloud-commerce/compare/v2.7.0...v2.7.1) (2024-03-01)
|
|
10
|
+
|
|
11
|
+
## [2.7.0](https://github.com/ecomplus/cloud-commerce/compare/v2.6.5...v2.7.0) (2024-03-01)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **storefront:** New `orderedProductIds` optional prop to product shelf composable ([2ee2f6b](https://github.com/ecomplus/cloud-commerce/commit/2ee2f6bd8902fe105d28115704f34082a1fa213a))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* **emails:** Bump nodemailer to v6.9.11 ([d2bbb33](https://github.com/ecomplus/cloud-commerce/commit/d2bbb33f6b27412702e733b9036d7686dcdf55a0))
|
|
22
|
+
* **storefront:** Fix parsing shelf `collectionIdAndInfo` from CMS content for categories/brands ([88640ba](https://github.com/ecomplus/cloud-commerce/commit/88640ba9534e72e165c77a1fdd1d5c8abddddf4a))
|
|
23
|
+
* **storefront:** Update `usePageMain` to properly support `titleLink` from section CMS content ([162a7a0](https://github.com/ecomplus/cloud-commerce/commit/162a7a05d787f143f14b8e88bb80e2423d92aa6f))
|
|
24
|
+
* **storefront:** Update Vue to latest v3.4.21 ([482dc36](https://github.com/ecomplus/cloud-commerce/commit/482dc360f68d6a02afd01c1276884df8fa9758ae))
|
|
25
|
+
|
|
26
|
+
### [2.6.5](https://github.com/ecomplus/cloud-commerce/compare/v2.6.4...v2.6.5) (2024-02-29)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Bug Fixes
|
|
30
|
+
|
|
31
|
+
* **ssr:** Revert bump bunny.net CDN cache with /purge request only, then refresh with simple URL get ([72518e0](https://github.com/ecomplus/cloud-commerce/commit/72518e0bdfcfca308696f47a10699f8b9c53239b))
|
|
32
|
+
* **storefront:** Bump Astro to latest v4.4.6 ([be8239b](https://github.com/ecomplus/cloud-commerce/commit/be8239bf7966cb742ddac0365163d3281ea0c41a))
|
|
33
|
+
* **storefront:** Prevent `<Carousel>` scroll reset on mobile browser bar toogle ([9817280](https://github.com/ecomplus/cloud-commerce/commit/9817280dd4f16931de50dddb662208a21a83ed56))
|
|
34
|
+
|
|
5
35
|
### [2.6.4](https://github.com/ecomplus/cloud-commerce/compare/v2.6.3...v2.6.4) (2024-02-27)
|
|
6
36
|
|
|
7
37
|
|
package/action.yml
CHANGED
|
@@ -138,11 +138,11 @@ runs:
|
|
|
138
138
|
${{ steps.npm-paths.outputs.LIB_PATH }}
|
|
139
139
|
${{ steps.npm-paths.outputs.BIN_PATH }}
|
|
140
140
|
~/.npm-global/bin
|
|
141
|
-
key: ${{ runner.os }}-npm-g-firebase-tools-13.
|
|
141
|
+
key: ${{ runner.os }}-npm-g-firebase-tools-13.4.0
|
|
142
142
|
|
|
143
143
|
- if: github.event_name == 'push' && steps.npm-g-cache.outputs.cache-hit != 'true'
|
|
144
144
|
shell: bash
|
|
145
|
-
run: npm i --location=global firebase-tools@13.
|
|
145
|
+
run: npm i --location=global firebase-tools@13.4.0
|
|
146
146
|
|
|
147
147
|
- if: github.event_name == 'push'
|
|
148
148
|
uses: dorny/paths-filter@v3.0.1
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable import/no-extraneous-dependencies */
|
|
2
|
-
|
|
2
|
+
import rulesChecks from '@commitlint/rules';
|
|
3
3
|
|
|
4
4
|
const forceTypeCase = (field, parsed) => {
|
|
5
5
|
switch (parsed.type) {
|
|
@@ -21,7 +21,7 @@ const forceTypeCase = (field, parsed) => {
|
|
|
21
21
|
return [true];
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
export default {
|
|
25
25
|
extends: ['@commitlint/config-conventional'],
|
|
26
26
|
plugins: [
|
|
27
27
|
{
|
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
];
|
|
7
7
|
idx.extensions = [
|
|
8
8
|
"vue.volar"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
# "astro-build.astro-vscode",
|
|
12
|
-
# "bradlc.vscode-tailwindcss",
|
|
9
|
+
"astro-build.astro-vscode"
|
|
10
|
+
"bradlc.vscode-tailwindcss"
|
|
13
11
|
];
|
|
12
|
+
idx.workspace.onCreate = {
|
|
13
|
+
npm-install = "npm install && npm install --prefix functions/ssr";
|
|
14
|
+
};
|
|
14
15
|
idx.previews = {
|
|
15
16
|
enable = true;
|
|
16
17
|
previews = [
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
},
|
|
16
16
|
"main": "index.js",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@cloudcommerce/feeds": "^2.6.
|
|
19
|
-
"@cloudcommerce/firebase": "^2.6.
|
|
20
|
-
"@cloudcommerce/passport": "^2.6.
|
|
18
|
+
"@cloudcommerce/feeds": "^2.6.5",
|
|
19
|
+
"@cloudcommerce/firebase": "^2.6.5",
|
|
20
|
+
"@cloudcommerce/passport": "^2.6.5"
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -22,32 +22,130 @@
|
|
|
22
22
|
{
|
|
23
23
|
"type": "product-shelf",
|
|
24
24
|
"collectionIdAndInfo": null,
|
|
25
|
-
"sort": "
|
|
26
|
-
"title": "",
|
|
25
|
+
"sort": "",
|
|
26
|
+
"title": "Caixas e latas para Páscoa",
|
|
27
|
+
"titleLink": "/categorias/caixas-e-latas-de-pascoa",
|
|
28
|
+
"orderedProductIds": [
|
|
29
|
+
"63c5654e4834634f73375f94",
|
|
30
|
+
"62eab1aaeb85911216a3bece",
|
|
31
|
+
"61f165267963422eeed4bcdc",
|
|
32
|
+
"61f160d67963422eeed4abe8",
|
|
33
|
+
"63c56cf34834634f7337716e",
|
|
34
|
+
"60ec8de8f8aba90b3a15f56b",
|
|
35
|
+
"60ebbc6ef8aba90b3a157c58",
|
|
36
|
+
"65cf540e87ab487fbfba0ae4",
|
|
37
|
+
"65cf540d87ab487fbfba0ae2",
|
|
38
|
+
"61f161037963422eeed4accd",
|
|
39
|
+
"65c3c0d987ab487fbfae35a3",
|
|
40
|
+
"65c3e74e87ab487fbfae799e",
|
|
41
|
+
"65c274122cd6b65959255c87",
|
|
42
|
+
"65c3c0d887ab487fbfae359f"
|
|
43
|
+
],
|
|
27
44
|
"isHeadless": false,
|
|
28
45
|
"isShuffle": false,
|
|
29
|
-
"limit":
|
|
46
|
+
"limit": null,
|
|
30
47
|
"page": 1
|
|
31
48
|
},
|
|
32
49
|
{
|
|
33
50
|
"type": "product-shelf",
|
|
34
51
|
"collectionIdAndInfo": null,
|
|
52
|
+
"sort": "",
|
|
53
|
+
"title": "Papéis embrulho para Ovos de Páscoa",
|
|
54
|
+
"titleLink": "/categorias/papel-embrulho-para-pascoa",
|
|
55
|
+
"orderedProductIds": [
|
|
56
|
+
"6594ce732cd6b65959f0f9df",
|
|
57
|
+
"6594ce492cd6b65959f0f9bd",
|
|
58
|
+
"63c53fb54834634f7337015f",
|
|
59
|
+
"63d280b5b9e5be0778470cc9",
|
|
60
|
+
"61f165287963422eeed4bce4",
|
|
61
|
+
"6595a4fb2cd6b65959f1eb17",
|
|
62
|
+
"65ae7fe02cd6b659590cef82"
|
|
63
|
+
],
|
|
64
|
+
"isHeadless": false,
|
|
65
|
+
"isShuffle": false,
|
|
66
|
+
"limit": null,
|
|
67
|
+
"page": 1
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"type": "product-shelf",
|
|
71
|
+
"collectionIdAndInfo": "63a9ab6d4834634f731f41df:categories::/categorias/transfers-e-formas-decoradas-de-pascoa",
|
|
72
|
+
"sort": "-sales",
|
|
73
|
+
"title": "Transfers e blisters para Páscoa",
|
|
74
|
+
"titleLink": "",
|
|
75
|
+
"isHeadless": false,
|
|
76
|
+
"isShuffle": false,
|
|
77
|
+
"limit": 8,
|
|
78
|
+
"page": 1
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"type": "product-shelf",
|
|
82
|
+
"collectionIdAndInfo": "63a9a0934834634f731f34f9:categories::/categorias/cortadores-de-pascoa",
|
|
83
|
+
"sort": "-sales",
|
|
84
|
+
"title": "Cortadores de Páscoa",
|
|
85
|
+
"titleLink": "",
|
|
86
|
+
"isHeadless": false,
|
|
87
|
+
"isShuffle": false,
|
|
88
|
+
"limit": 8,
|
|
89
|
+
"page": 1
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"type": "product-shelf",
|
|
93
|
+
"collectionIdAndInfo": "63a99f7e4834634f731f3276:categories::/categorias/moldes-de-silicone-para-pascoa",
|
|
35
94
|
"sort": "-sales",
|
|
36
|
-
"title": "
|
|
95
|
+
"title": "Moldes de silicone para Páscoa",
|
|
96
|
+
"titleLink": "",
|
|
37
97
|
"isHeadless": false,
|
|
38
98
|
"isShuffle": false,
|
|
39
99
|
"limit": 8,
|
|
40
|
-
"page":
|
|
100
|
+
"page": 1
|
|
41
101
|
},
|
|
42
102
|
{
|
|
43
103
|
"type": "product-shelf",
|
|
44
104
|
"collectionIdAndInfo": null,
|
|
45
|
-
"sort": "
|
|
46
|
-
"title": "
|
|
105
|
+
"sort": "",
|
|
106
|
+
"title": "Formas de chocolate para Páscoa",
|
|
107
|
+
"titleLink": "/categorias/formas-de-chocolate-para-pascoa",
|
|
108
|
+
"orderedProductIds": [
|
|
109
|
+
"63a451194834634f731b9c22",
|
|
110
|
+
"63a458ac4834634f731ba9b9",
|
|
111
|
+
"60eb53e4f8aba90b3a1551b6",
|
|
112
|
+
"60eb5387f8aba90b3a15516e",
|
|
113
|
+
"63a3028c4834634f731a2776",
|
|
114
|
+
"60eb527af8aba90b3a15508d",
|
|
115
|
+
"60eb5387f8aba90b3a15516e",
|
|
116
|
+
"63a449d34834634f731b91a1",
|
|
117
|
+
"60eb5348f8aba90b3a15514f",
|
|
118
|
+
"65a4955e2cd6b6595901b85c"
|
|
119
|
+
],
|
|
120
|
+
"isHeadless": false,
|
|
121
|
+
"isShuffle": false,
|
|
122
|
+
"limit": null,
|
|
123
|
+
"page": 1
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"type": "product-shelf",
|
|
127
|
+
"collectionIdAndInfo": "63a99cbb4834634f731f2f0d:categories::/categorias/confeitos-e-granulados-de-pascoa",
|
|
128
|
+
"sort": "-sales",
|
|
129
|
+
"title": "Confeitos de açúcar para Páscoa",
|
|
130
|
+
"titleLink": "",
|
|
47
131
|
"isHeadless": false,
|
|
48
132
|
"isShuffle": false,
|
|
49
133
|
"limit": 8,
|
|
50
|
-
"page":
|
|
134
|
+
"page": 1
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"type": "product-shelf",
|
|
138
|
+
"collectionIdAndInfo": "63a996bc4834634f731f27f2:categories::/categorias/fitas-decorativas-de-pascoa",
|
|
139
|
+
"sort": "-sales",
|
|
140
|
+
"title": "Fitas decorativas para Páscoa",
|
|
141
|
+
"titleLink": "",
|
|
142
|
+
"isHeadless": false,
|
|
143
|
+
"isShuffle": false,
|
|
144
|
+
"limit": 8,
|
|
145
|
+
"page": 1
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"type": "c:reviews"
|
|
51
149
|
}
|
|
52
150
|
]
|
|
53
151
|
}
|
|
@@ -19,16 +19,16 @@
|
|
|
19
19
|
},
|
|
20
20
|
"main": "index.js",
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@cloudcommerce/api": "^2.6.
|
|
23
|
-
"@cloudcommerce/firebase": "^2.6.
|
|
24
|
-
"@cloudcommerce/ssr": "^2.6.
|
|
22
|
+
"@cloudcommerce/api": "^2.6.5",
|
|
23
|
+
"@cloudcommerce/firebase": "^2.6.5",
|
|
24
|
+
"@cloudcommerce/ssr": "^2.6.5",
|
|
25
25
|
"@headlessui/vue": "^1.7.18",
|
|
26
26
|
"micromark": "^4.0.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@cloudcommerce/i18n": "^2.6.
|
|
30
|
-
"@cloudcommerce/storefront": "^2.6.
|
|
31
|
-
"@cloudcommerce/types": "^2.6.
|
|
29
|
+
"@cloudcommerce/i18n": "^2.6.5",
|
|
30
|
+
"@cloudcommerce/storefront": "^2.6.5",
|
|
31
|
+
"@cloudcommerce/types": "^2.6.5",
|
|
32
32
|
"@iconify-json/mingcute": "^1.1.16",
|
|
33
33
|
"photoswipe": "^5.4.3"
|
|
34
34
|
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<section id="reviews" class="bg-white">
|
|
3
|
+
<div class="ui-section">
|
|
4
|
+
<div class="text-center">
|
|
5
|
+
<h4
|
|
6
|
+
v-if="title"
|
|
7
|
+
class="text-center text-base-900 ui-title"
|
|
8
|
+
>
|
|
9
|
+
{{ title }}
|
|
10
|
+
</h4>
|
|
11
|
+
<ALink
|
|
12
|
+
class="mt-1.5 inline-block text-sm text-base-600 ui-link"
|
|
13
|
+
href="https://customerreviews.google.com/v/merchant?q=barradoce.com.br&c=BR&v=19&hl=pt_BR"
|
|
14
|
+
>
|
|
15
|
+
<i class="mr-0.5 i-external-link-line"></i>
|
|
16
|
+
Ver avaliações no Google
|
|
17
|
+
</ALink>
|
|
18
|
+
</div>
|
|
19
|
+
<Carousel class="mt-8 pb-9">
|
|
20
|
+
<li
|
|
21
|
+
v-for="({ name, avatar, comment }, i) in reviews" :key="i"
|
|
22
|
+
class="shrink-0 basis-full px-1.5 md:basis-1/3 md:px-3"
|
|
23
|
+
>
|
|
24
|
+
<blockquote class="h-full rounded bg-secondary-100/10 p-6 sm:p-8">
|
|
25
|
+
<div class="flex items-center gap-4">
|
|
26
|
+
<AImg
|
|
27
|
+
v-if="avatar"
|
|
28
|
+
:picture="{ url: avatar }"
|
|
29
|
+
:alt="`Avatar no comentário de ${name}`"
|
|
30
|
+
class="size-11 rounded-full object-cover"
|
|
31
|
+
/>
|
|
32
|
+
<div>
|
|
33
|
+
<div class="flex gap-0.5 text-yellow-400">
|
|
34
|
+
<i v-for="n in 5" :key="`${i}-${n}`" class="i-star-solid"></i>
|
|
35
|
+
</div>
|
|
36
|
+
<p class="mt-0.5 line-clamp-1 text-sm
|
|
37
|
+
font-medium text-base-800">
|
|
38
|
+
{{ name }}
|
|
39
|
+
</p>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
<p
|
|
43
|
+
class="mt-5 line-clamp-5 text-base-600 md:line-clamp-6"
|
|
44
|
+
:class="[
|
|
45
|
+
comment.length < 40 && 'text-xl',
|
|
46
|
+
comment.length > 39 && comment.length < 60 && 'text-lg',
|
|
47
|
+
]"
|
|
48
|
+
>
|
|
49
|
+
{{ comment }}
|
|
50
|
+
</p>
|
|
51
|
+
</blockquote>
|
|
52
|
+
</li>
|
|
53
|
+
<template #controls>
|
|
54
|
+
<div class="relative mx-auto mt-3 max-w-20
|
|
55
|
+
text-3xl text-primary-400">
|
|
56
|
+
<CarouselControl is-prev>
|
|
57
|
+
<i class="rotate-180 i-arrow-right-line
|
|
58
|
+
hover:scale-110 hover:text-primary"></i>
|
|
59
|
+
</CarouselControl>
|
|
60
|
+
<CarouselControl>
|
|
61
|
+
<i class="i-arrow-right-line
|
|
62
|
+
hover:scale-110 hover:text-primary"></i>
|
|
63
|
+
</CarouselControl>
|
|
64
|
+
</div>
|
|
65
|
+
</template>
|
|
66
|
+
</Carousel>
|
|
67
|
+
</div>
|
|
68
|
+
</section>
|
|
69
|
+
</template>
|
|
70
|
+
|
|
71
|
+
<script setup lang="ts">
|
|
72
|
+
export interface Props {
|
|
73
|
+
autoplay?: number;
|
|
74
|
+
title?: string;
|
|
75
|
+
reviews: {
|
|
76
|
+
name: string;
|
|
77
|
+
avatar?: string;
|
|
78
|
+
comment: string;
|
|
79
|
+
}[];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
defineProps<Props>();
|
|
83
|
+
</script>
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<article class="flex min-h-screen flex-col justify-end">
|
|
3
3
|
<section class="bg-base-50">
|
|
4
|
-
<div class="
|
|
5
|
-
|
|
4
|
+
<div class="flex flex-wrap items-center
|
|
5
|
+
justify-center gap-6 ui-section lg:gap-12">
|
|
6
6
|
<a href="/">
|
|
7
7
|
<slot name="logo" />
|
|
8
8
|
</a>
|
|
9
9
|
<div class="flex items-center gap-2">
|
|
10
|
-
<i class="bg-success-400 i-shield-check-solid
|
|
11
|
-
<span class="text-base
|
|
10
|
+
<i class="m-0 bg-success-400 text-3xl i-shield-check-solid"></i>
|
|
11
|
+
<span class="text-base text-base-600">
|
|
12
12
|
{{ $t.i19safeBuy }}
|
|
13
13
|
</span>
|
|
14
14
|
</div>
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
<section class="grow">
|
|
18
18
|
<article id="storefront-app"></article>
|
|
19
19
|
</section>
|
|
20
|
-
<section class="bg-base-50
|
|
20
|
+
<section class="mt-4 bg-base-50 lg:mt-8">
|
|
21
21
|
<nav class="ui-section-slim">
|
|
22
22
|
<ul class="mt-6 flex flex-wrap justify-center gap-6 lg:gap-8">
|
|
23
23
|
<li
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
>
|
|
27
27
|
<ALink :href="href" target="blank" class="text-base-700 ui-link">
|
|
28
28
|
{{ title }}
|
|
29
|
-
<i class="bg-base-300 i-
|
|
29
|
+
<i class="ml-0.5 bg-base-300 i-external-link-line"></i>
|
|
30
30
|
</ALink>
|
|
31
31
|
</li>
|
|
32
32
|
</ul>
|
|
@@ -10,18 +10,18 @@
|
|
|
10
10
|
<span v-if="!stamp.img" class="flex items-center">
|
|
11
11
|
<span
|
|
12
12
|
v-if="stamp.icon"
|
|
13
|
-
class="
|
|
14
|
-
|
|
13
|
+
class="mr-2 text-4xl [&>*]:bg-gradient-to-br
|
|
14
|
+
[&>*]:from-success-200 [&>*]:to-success-700"
|
|
15
15
|
>
|
|
16
16
|
<i v-if="stamp.icon === 'lock'" class="i-lock-closed"></i>
|
|
17
17
|
<i v-else-if="stamp.icon === 'check'" class="i-check-badge"></i>
|
|
18
18
|
<i v-else class="i-arrow-path-rounded-square"></i>
|
|
19
19
|
</span>
|
|
20
|
-
<span class="
|
|
20
|
+
<span class="max-w-[140px] text-sm font-medium text-base-600">
|
|
21
21
|
{{ stamp.alt }}
|
|
22
22
|
<i
|
|
23
23
|
v-if="stamp.href && stamp.href.charAt(0) !== '/'"
|
|
24
|
-
class="bg-base-400 i-
|
|
24
|
+
class="ml-0.5 bg-base-400 i-external-link-line"
|
|
25
25
|
></i>
|
|
26
26
|
</span>
|
|
27
27
|
</span>
|
|
@@ -8,16 +8,30 @@
|
|
|
8
8
|
</div>
|
|
9
9
|
<div class="top-0 pt-4 transition-transform
|
|
10
10
|
lg:sticky lg:pb-4 lg:sticky-header:translate-y-24">
|
|
11
|
-
<ul class="flax-wrap mb-3 flex gap-2">
|
|
11
|
+
<ul class="flax-wrap mb-3 flex gap-2 overflow-hidden lg:grid xl:flex">
|
|
12
12
|
<li class="flex items-center gap-1 py-1 font-normal ui-badge-pill">
|
|
13
|
-
<i class="m-0 text-secondary-700
|
|
13
|
+
<i class="m-0 text-secondary-700
|
|
14
|
+
i-arrow-path-rounded-square-16-solid"></i>
|
|
14
15
|
<span class="whitespace-nowrap text-sm">devolução grátis</span>
|
|
15
16
|
</li>
|
|
16
|
-
<li class="flex items-center gap-1 py-1
|
|
17
|
+
<li class="flex items-center gap-1 bg-transparent py-1
|
|
18
|
+
font-normal ui-badge-pill">
|
|
17
19
|
<i class="m-0 text-secondary-700 i-building-storefront-solid"></i>
|
|
18
20
|
<span class="whitespace-nowrap text-sm">desde 1984</span>
|
|
19
21
|
</li>
|
|
20
22
|
</ul>
|
|
23
|
+
<a class="my-2 flex items-center gap-2 xl:my-3" href="#reviews">
|
|
24
|
+
<div class="flex gap-0.5 text-yellow-400">
|
|
25
|
+
<i v-for="n in 5" :key="`s${n}`" class="m-0 i-star-solid"></i>
|
|
26
|
+
</div>
|
|
27
|
+
<span class="flex flex-wrap items-end gap-x-1.5">
|
|
28
|
+
<span>
|
|
29
|
+
<span class="font-medium">4,9</span>
|
|
30
|
+
<span class="font-light text-base-500">/5</span>
|
|
31
|
+
</span>
|
|
32
|
+
<small class="shrink-0 text-base-700">(470+ avaliações)</small>
|
|
33
|
+
</span>
|
|
34
|
+
</a>
|
|
21
35
|
<h1 class="text-lg text-base-600 ui-text-brand">
|
|
22
36
|
{{ title }}
|
|
23
37
|
</h1>
|
|
@@ -66,8 +80,25 @@
|
|
|
66
80
|
{{ $t.i19addToCart }}
|
|
67
81
|
</button>
|
|
68
82
|
</div>
|
|
69
|
-
<div class="mt-6
|
|
70
|
-
|
|
83
|
+
<div class="mt-6 flex flex-col
|
|
84
|
+
items-start justify-start gap-3 rounded
|
|
85
|
+
border-2 border-base-50 border-t-secondary-100 p-4 sm:flex-row
|
|
86
|
+
sm:justify-between lg:mt-4 lg:grid">
|
|
87
|
+
<div
|
|
88
|
+
v-if="!product.production_time"
|
|
89
|
+
class="flex items-center gap-2.5 sm:order-last lg:order-none"
|
|
90
|
+
>
|
|
91
|
+
<div class="relative flex size-3">
|
|
92
|
+
<span class="absolute inline-flex size-full animate-ping rounded-full
|
|
93
|
+
bg-success-200 opacity-75"></span>
|
|
94
|
+
<span class="relative inline-flex
|
|
95
|
+
size-3 rounded-full bg-success-300"></span>
|
|
96
|
+
</div>
|
|
97
|
+
<span class="text-balance text-sm
|
|
98
|
+
font-medium lowercase text-base-800">
|
|
99
|
+
Em estoque, pronto para envio
|
|
100
|
+
</span>
|
|
101
|
+
</div>
|
|
71
102
|
<ShippingCalculator
|
|
72
103
|
:shipped-items="[{ ...product, quantity }]"
|
|
73
104
|
has-label
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<section class="ui-section">
|
|
3
3
|
<div v-if="title" class="mx-auto mb-4 max-w-prose text-center">
|
|
4
|
-
<h2
|
|
4
|
+
<h2>
|
|
5
5
|
<ALink
|
|
6
6
|
:href="titleLink"
|
|
7
|
-
|
|
7
|
+
class="text-3xl text-base-700 ui-text-brand"
|
|
8
|
+
:class="titleLink && 'ui-link decoration-primary/40'"
|
|
8
9
|
>
|
|
9
10
|
{{ title }}
|
|
10
11
|
</ALink>
|
|
@@ -26,11 +27,11 @@
|
|
|
26
27
|
<DefineCarouselControl v-slot="{ isPrev }">
|
|
27
28
|
<CarouselControl
|
|
28
29
|
v-show="products.length > 2"
|
|
29
|
-
class=":uno:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
lg:
|
|
30
|
+
class=":uno: !top-1/2 size-12 rounded-full bg-transparent
|
|
31
|
+
text-3xl leading-none text-primary ring-black/5 backdrop-blur-md
|
|
32
|
+
transition-opacity group-hover/shelf:opacity-90
|
|
33
|
+
lg:bg-white/80 lg:text-2xl
|
|
34
|
+
lg:opacity-0 lg:shadow-sm lg:ring-1 lg:hover:bg-primary-200"
|
|
34
35
|
:class="isPrev ? '!-left-4' : '!-right-4'"
|
|
35
36
|
:is-prev="isPrev"
|
|
36
37
|
/>
|
|
@@ -13,6 +13,7 @@ import SearchShowcase from '~/components/SearchShowcase.vue';
|
|
|
13
13
|
import PageTitle from '~/components/PageTitle.vue';
|
|
14
14
|
import ContentEntry from '~/components/ContentEntry.vue';
|
|
15
15
|
import middSearchEngine from '~/state/midd-search-engine';
|
|
16
|
+
import BuyerReviews from '~/components/BuyerReviews.vue';
|
|
16
17
|
|
|
17
18
|
const { routeContext } = Astro.locals;
|
|
18
19
|
const { sections } = await usePageSections({
|
|
@@ -72,6 +73,9 @@ cause route resource is required to define sections from content. */
|
|
|
72
73
|
return <ContentEntry {...props} />;
|
|
73
74
|
case 'custom-html':
|
|
74
75
|
return <ContentClearfix html={props.html} />;
|
|
76
|
+
case 'c:reviews':
|
|
77
|
+
const reviewsContent = await routeContext.getContent('reviews');
|
|
78
|
+
return <BuyerReviews {...reviewsContent} client:sf="lazy,interaction" />;
|
|
75
79
|
case 'c:foo':
|
|
76
80
|
return <div data-foo={props.foo}></div>;
|
|
77
81
|
default:
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
},
|
|
16
16
|
"main": "index.js",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@cloudcommerce/events": "^2.6.
|
|
19
|
-
"@cloudcommerce/firebase": "^2.6.
|
|
20
|
-
"@cloudcommerce/modules": "^2.6.
|
|
18
|
+
"@cloudcommerce/events": "^2.6.5",
|
|
19
|
+
"@cloudcommerce/firebase": "^2.6.5",
|
|
20
|
+
"@cloudcommerce/modules": "^2.6.5"
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
"url": "https://github.com/ecomplus/cloud-commerce/issues"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@cloudcommerce/cli": "^2.6.
|
|
29
|
+
"@cloudcommerce/cli": "^2.6.5"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@cloudcommerce/eslint": "^2.6.
|
|
32
|
+
"@cloudcommerce/eslint": "^2.6.5",
|
|
33
33
|
"husky": "^9.0.10",
|
|
34
34
|
"lint-staged": "^15.2.2"
|
|
35
35
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cloudcommerce",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.7.3",
|
|
5
5
|
"description": "Open fair-code headless commerce platform: API-first, microservices based, event driven and cloud native",
|
|
6
6
|
"main": "packages/api/lib/index.js",
|
|
7
7
|
"author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
"packages/!(storefront)/**/*.ts": "eslint --fix"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@commitlint/cli": "^
|
|
24
|
-
"@commitlint/config-conventional": "^
|
|
25
|
-
"@commitlint/rules": "^
|
|
23
|
+
"@commitlint/cli": "^19.0.3",
|
|
24
|
+
"@commitlint/config-conventional": "^19.0.3",
|
|
25
|
+
"@commitlint/rules": "^19.0.3",
|
|
26
26
|
"@types/node": "^18.19.18",
|
|
27
27
|
"dotenv": "^16.4.5",
|
|
28
28
|
"eslint": "^8.57.0",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"vite": "^5.1.4",
|
|
37
37
|
"vitest": "^1.3.1",
|
|
38
38
|
"zx": "^7.2.3",
|
|
39
|
-
"@cloudcommerce/eslint": "2.
|
|
39
|
+
"@cloudcommerce/eslint": "2.7.3"
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
42
|
"fix-install": "bash scripts/pre-install.sh && pnpm i",
|