cloudcommerce 2.6.3 → 2.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/.github/workflows/test-apps.yml +3 -3
  2. package/CHANGELOG.md +21 -0
  3. package/README.md +2 -0
  4. package/action.yml +2 -2
  5. package/ecomplus-stores/barradoce/.gitpod.yml +1 -1
  6. package/ecomplus-stores/barradoce/.idx/dev.nix +5 -4
  7. package/ecomplus-stores/barradoce/functions/many/package.json +3 -3
  8. package/ecomplus-stores/barradoce/functions/ssr/content/pages/home.json +3 -0
  9. package/ecomplus-stores/barradoce/functions/ssr/content/pages/products.json +3 -0
  10. package/ecomplus-stores/barradoce/functions/ssr/content/reviews.json +71 -0
  11. package/ecomplus-stores/barradoce/functions/ssr/content/types.d.ts +5 -0
  12. package/ecomplus-stores/barradoce/functions/ssr/package.json +6 -6
  13. package/ecomplus-stores/barradoce/functions/ssr/src/components/BuyerReviews.vue +83 -0
  14. package/ecomplus-stores/barradoce/functions/ssr/src/components/CheckoutPage.vue +6 -6
  15. package/ecomplus-stores/barradoce/functions/ssr/src/components/FooterStamps.vue +4 -4
  16. package/ecomplus-stores/barradoce/functions/ssr/src/components/ProductDetails.vue +36 -5
  17. package/ecomplus-stores/barradoce/functions/ssr/src/components/ShippingCalculator.vue +1 -1
  18. package/ecomplus-stores/barradoce/functions/ssr/src/env.d.ts +1 -0
  19. package/ecomplus-stores/barradoce/functions/ssr/src/main/content/Sections.astro +4 -0
  20. package/ecomplus-stores/barradoce/functions/with-apps/package.json +3 -3
  21. package/ecomplus-stores/barradoce/package.json +2 -2
  22. package/package.json +7 -7
  23. package/packages/api/package.json +1 -1
  24. package/packages/apps/affiliate-program/package.json +1 -1
  25. package/packages/apps/correios/package.json +1 -1
  26. package/packages/apps/custom-payment/package.json +1 -1
  27. package/packages/apps/custom-shipping/package.json +1 -1
  28. package/packages/apps/datafrete/package.json +1 -1
  29. package/packages/apps/discounts/package.json +1 -1
  30. package/packages/apps/emails/package.json +1 -1
  31. package/packages/apps/fb-conversions/package.json +1 -1
  32. package/packages/apps/flash-courier/package.json +1 -1
  33. package/packages/apps/frenet/package.json +1 -1
  34. package/packages/apps/galaxpay/package.json +1 -1
  35. package/packages/apps/google-analytics/package.json +1 -1
  36. package/packages/apps/jadlog/package.json +1 -1
  37. package/packages/apps/loyalty-points/package.json +1 -1
  38. package/packages/apps/mandae/package.json +1 -1
  39. package/packages/apps/melhor-envio/package.json +1 -1
  40. package/packages/apps/mercadopago/package.json +1 -1
  41. package/packages/apps/pagarme/package.json +2 -2
  42. package/packages/apps/pagarme-v5/package.json +1 -1
  43. package/packages/apps/paghiper/package.json +1 -1
  44. package/packages/apps/pix/package.json +1 -1
  45. package/packages/apps/tiny-erp/package.json +1 -1
  46. package/packages/apps/webhooks/package.json +1 -1
  47. package/packages/cli/package.json +2 -2
  48. package/packages/config/package.json +1 -1
  49. package/packages/emails/package.json +2 -2
  50. package/packages/eslint/package.json +6 -6
  51. package/packages/events/package.json +1 -1
  52. package/packages/feeds/package.json +1 -1
  53. package/packages/firebase/package.json +2 -2
  54. package/packages/i18n/package.json +1 -1
  55. package/packages/modules/package.json +1 -1
  56. package/packages/passport/package.json +1 -1
  57. package/packages/ssr/lib/lib/cron-ssr-save-views.js +8 -85
  58. package/packages/ssr/lib/lib/cron-ssr-save-views.js.map +1 -1
  59. package/packages/ssr/package.json +5 -5
  60. package/packages/ssr/src/lib/cron-ssr-save-views.ts +8 -91
  61. package/packages/storefront/dist/client/_astro/AccountPage.B4WZaOzX.js +1 -0
  62. package/packages/storefront/dist/client/_astro/CartSidebar.DAGdpIcU.js +1 -0
  63. package/packages/storefront/dist/client/_astro/HeroSlider.Dq_9kcdU.js +1 -0
  64. package/packages/storefront/dist/client/_astro/PitchBar.BwLlIs6F.js +1 -0
  65. package/packages/storefront/dist/client/_astro/Prices.BgHTq5id.js +1 -0
  66. package/packages/storefront/dist/client/_astro/ProductDetails.CnYNdPl5.js +7 -0
  67. package/packages/storefront/dist/client/_astro/ProductShelf.kfADQTUO.js +1 -0
  68. package/packages/storefront/dist/client/_astro/SearchModal.DcmvABes.js +1 -0
  69. package/packages/storefront/dist/client/_astro/SearchShowcase.C9GWwOnF.js +1 -0
  70. package/packages/storefront/dist/client/_astro/ShippingCalculator.DE01D7dt.js +1 -0
  71. package/packages/storefront/dist/client/_astro/ShopHeader.Cf4t6O6z.js +7 -0
  72. package/packages/storefront/dist/client/_astro/_commonjsHelpers.Cpj98o6Y.js +1 -0
  73. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.CBemkWnU.js +5 -0
  74. package/packages/storefront/dist/client/_astro/{_slug_.4W7qhV-L.css → _slug_.DX_OkMX7.css} +1 -1
  75. package/packages/storefront/dist/client/_astro/{afetch.OifQZgwR.js → afetch.DPLba2tr.js} +1 -1
  76. package/packages/storefront/dist/client/_astro/client.CdXC84C5.js +1 -0
  77. package/packages/storefront/dist/client/_astro/customer-session.CNe1heRH.js +7 -0
  78. package/packages/storefront/dist/client/_astro/{firebase-app.iLdzDVjL.js → firebase-app.CBckq0Sj.js} +1 -1
  79. package/packages/storefront/dist/client/_astro/{format-money.1_HtF5S2.js → format-money.DINpWB0x.js} +1 -1
  80. package/packages/storefront/dist/client/_astro/grid-title.D4m7-g3h.js +1 -0
  81. package/packages/storefront/dist/client/_astro/hoisted.B2rH1xwX.js +8 -0
  82. package/packages/storefront/dist/client/_astro/hoisted.DBPXHTEb.js +1 -0
  83. package/packages/storefront/dist/client/_astro/hoisted.EBqhuD5o.js +1 -0
  84. package/packages/storefront/dist/client/_astro/{hoisted.GaT7bmE3.js → hoisted.ut_nNM_H.js} +1 -1
  85. package/packages/storefront/dist/client/_astro/i18n.B3skIOFg.js +1 -0
  86. package/packages/storefront/dist/client/_astro/img-sizes.rFK7so02.js +1 -0
  87. package/packages/storefront/dist/client/_astro/img.D5a6GzeE.js +1 -0
  88. package/packages/storefront/dist/client/_astro/index.CFw6O-Kt.js +1 -0
  89. package/packages/storefront/dist/client/_astro/index.DBfgCyd-.js +1 -0
  90. package/packages/storefront/dist/client/_astro/{modules-info.HP6478mG.js → modules-info.BHKiT6oA.js} +1 -1
  91. package/packages/storefront/dist/client/_astro/name.BZA9xqh-.js +1 -0
  92. package/packages/storefront/dist/client/_astro/photoswipe.esm.C0FT-EY-.js +4 -0
  93. package/packages/storefront/dist/client/_astro/price.CHiL6Z1J.js +1 -0
  94. package/packages/storefront/dist/client/_astro/sf-utils.Cigv01cN.js +13 -0
  95. package/packages/storefront/dist/client/_astro/shopping-cart.D-w8Z-4p.js +1 -0
  96. package/packages/storefront/dist/client/_astro/use-analytics.CQDdNgwF.js +1 -0
  97. package/packages/storefront/dist/client/_astro/use-cms-preview.4Hq7LCmA.js +1 -0
  98. package/packages/storefront/dist/client/_astro/use-product-card.CQRlRsNX.js +1 -0
  99. package/packages/storefront/dist/client/_astro/use-text-value.UjCYLWjm.js +4 -0
  100. package/packages/storefront/dist/client/img/uploads/logo.png +0 -0
  101. package/packages/storefront/dist/server/chunks/{CartSidebar_3_1aFp67.mjs → CartSidebar_BmwcZuxv.mjs} +36 -4
  102. package/packages/storefront/dist/server/chunks/{SearchModal_2azP1u7P.mjs → SearchModal_BvEnUvAx.mjs} +4 -3
  103. package/packages/storefront/dist/server/chunks/_.._DORZHe_Z.mjs +5 -0
  104. package/packages/storefront/dist/server/chunks/{_page__qqIVxbal.mjs → _page__DU3kNewy.mjs} +1 -1
  105. package/packages/storefront/dist/server/chunks/{account_vK6pmJlz.mjs → account_CaTloREf.mjs} +1 -1
  106. package/packages/storefront/dist/server/chunks/astro/{assets-service_631fRtTy.mjs → assets-service_B77Hm2ue.mjs} +2 -2
  107. package/packages/storefront/dist/server/chunks/{astro_u-oSb215.mjs → astro_ISB6VLqs.mjs} +178 -59
  108. package/packages/storefront/dist/server/chunks/index_BTDpenpc.mjs +5 -0
  109. package/packages/storefront/dist/server/chunks/index_D0q4ab_n.mjs +5 -0
  110. package/packages/storefront/dist/server/chunks/{node_zqXXqc-u.mjs → node_C7sdLKL4.mjs} +1 -1
  111. package/packages/storefront/dist/server/chunks/pages/{__ZucPYaOo.mjs → __B4CsSrck.mjs} +1751 -344
  112. package/packages/storefront/dist/server/chunks/pages/{_page__0sN9U0SD.mjs → _page__sb5Idhgp.mjs} +2 -3
  113. package/packages/storefront/dist/server/chunks/pages/{account_OQr_6KN1.mjs → account_iWjHfkwu.mjs} +2 -3
  114. package/packages/storefront/dist/server/chunks/pages/{index_3IjgOEIq.mjs → index_BZlpKBRL.mjs} +41 -4
  115. package/packages/storefront/dist/server/chunks/pages/node_GFu-CQ19.mjs +852 -0
  116. package/packages/storefront/dist/server/chunks/pages/{~fallback_133FK-CP.mjs → ~fallback_C07rzeay.mjs} +2 -3
  117. package/packages/storefront/dist/server/chunks/{index__05fnqFh.mjs → ~fallback_YpJa9BIL.mjs} +1 -1
  118. package/packages/storefront/dist/server/entry.mjs +751 -912
  119. package/packages/storefront/dist/server/manifest_KFjAaJaC.mjs +201 -0
  120. package/packages/storefront/dist/server/renderers.mjs +1 -1
  121. package/packages/storefront/package.json +7 -7
  122. package/packages/storefront/src/lib/components/Carousel.vue +6 -0
  123. package/packages/storefront/src/lib/content.d.ts +4 -1
  124. package/packages/storefront/src/lib/custom-content.d.ts +9 -0
  125. package/packages/storefront/src/lib/ssr-context.ts +6 -4
  126. package/packages/test-base/package.json +1 -1
  127. package/packages/types/package.json +1 -1
  128. package/packages/storefront/dist/client/_astro/AccountPage.0M6_FdU6.js +0 -1
  129. package/packages/storefront/dist/client/_astro/CartSidebar.L0Vbhsdt.js +0 -1
  130. package/packages/storefront/dist/client/_astro/HeroSlider.ju9TsLrJ.js +0 -1
  131. package/packages/storefront/dist/client/_astro/PitchBar.yqD9ycx5.js +0 -1
  132. package/packages/storefront/dist/client/_astro/Prices.xI1rdM1e.js +0 -1
  133. package/packages/storefront/dist/client/_astro/ProductDetails.FQtM5kpd.js +0 -7
  134. package/packages/storefront/dist/client/_astro/ProductShelf.-4fsYkPB.js +0 -1
  135. package/packages/storefront/dist/client/_astro/ProductShelf.GAAhKdTN.js +0 -1
  136. package/packages/storefront/dist/client/_astro/QuantitySelector.v7L8EYOR.js +0 -1
  137. package/packages/storefront/dist/client/_astro/SearchModal.rasg5jV6.js +0 -1
  138. package/packages/storefront/dist/client/_astro/SearchShowcase.kA6jICYo.js +0 -1
  139. package/packages/storefront/dist/client/_astro/ShopHeader.v_L96Y90.js +0 -7
  140. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.xATGHWd9.js +0 -5
  141. package/packages/storefront/dist/client/_astro/client.YJ00ta5M.js +0 -1
  142. package/packages/storefront/dist/client/_astro/customer-session.ZD6tLDQJ.js +0 -7
  143. package/packages/storefront/dist/client/_astro/grid-title.pK2Nn3i-.js +0 -1
  144. package/packages/storefront/dist/client/_astro/hoisted.ICXGWNEA.js +0 -1
  145. package/packages/storefront/dist/client/_astro/hoisted.XOXTrHqn.js +0 -1
  146. package/packages/storefront/dist/client/_astro/i18n.zhlBzJt8.js +0 -1
  147. package/packages/storefront/dist/client/_astro/img-sizes.gxAI9JNh.js +0 -1
  148. package/packages/storefront/dist/client/_astro/img.AnjeGdy_.js +0 -1
  149. package/packages/storefront/dist/client/_astro/index.KfrHdfOH.js +0 -1
  150. package/packages/storefront/dist/client/_astro/index.ShNlAyu1.js +0 -1
  151. package/packages/storefront/dist/client/_astro/name.VA3MEpe0.js +0 -1
  152. package/packages/storefront/dist/client/_astro/photoswipe.esm.Ylh9TGkz.js +0 -4
  153. package/packages/storefront/dist/client/_astro/price.Easct8WC.js +0 -1
  154. package/packages/storefront/dist/client/_astro/sf-utils.c42cbZ9W.js +0 -13
  155. package/packages/storefront/dist/client/_astro/shopping-cart.nSNNOrp9.js +0 -1
  156. package/packages/storefront/dist/client/_astro/use-analytics.wTmoP8B1.js +0 -1
  157. package/packages/storefront/dist/client/_astro/use-product-card.UFr8SCuD.js +0 -1
  158. package/packages/storefront/dist/client/_astro/use-text-value.lKqoIagH.js +0 -4
  159. package/packages/storefront/dist/server/chunks/_.._19fCuQdO.mjs +0 -5
  160. package/packages/storefront/dist/server/chunks/pages/node_OmjWRf8D.mjs +0 -112
  161. package/packages/storefront/dist/server/chunks/~fallback_Wahcp9Wk.mjs +0 -5
  162. package/packages/storefront/dist/server/manifest_9FASPYUE.mjs +0 -202
  163. /package/packages/storefront/dist/client/_astro/{index-bea2a320.eWykogwr.js → index-bea2a320.CHELEM8n.js} +0 -0
  164. /package/packages/storefront/dist/client/_astro/{photoswipe-lightbox.esm.dZBqKD9u.js → photoswipe-lightbox.esm.BbYxSZIB.js} +0 -0
  165. /package/packages/storefront/dist/client/_astro/{photoswipe.0V7m2jWu.js → photoswipe.CNpEZKfy.js} +0 -0
  166. /package/packages/storefront/dist/client/_astro/{server-data.4C60Esyt.js → server-data.CUHTES8a.js} +0 -0
  167. /package/packages/storefront/dist/server/chunks/{photoswipe_IcWDJiwc.mjs → photoswipe_wusPJBJF.mjs} +0 -0
@@ -1,4 +1,4 @@
1
- name: Run module and app tests
1
+ name: Module and app tests
2
2
 
3
3
  on:
4
4
  pull_request:
@@ -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.3.0
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.3.0
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,27 @@
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.6.5](https://github.com/ecomplus/cloud-commerce/compare/v2.6.4...v2.6.5) (2024-02-29)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **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))
11
+ * **storefront:** Bump Astro to latest v4.4.6 ([be8239b](https://github.com/ecomplus/cloud-commerce/commit/be8239bf7966cb742ddac0365163d3281ea0c41a))
12
+ * **storefront:** Prevent `<Carousel>` scroll reset on mobile browser bar toogle ([9817280](https://github.com/ecomplus/cloud-commerce/commit/9817280dd4f16931de50dddb662208a21a83ed56))
13
+
14
+ ### [2.6.4](https://github.com/ecomplus/cloud-commerce/compare/v2.6.3...v2.6.4) (2024-02-27)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **deps:** Bump nodemailer to latest v6.9.10 [security] ([e4fa4a0](https://github.com/ecomplus/cloud-commerce/commit/e4fa4a0f8332c8d1003fa8bbe0ea74d0e9386a45))
20
+ * **deps:** Bump Vite to latest v5.1.4 (security) ([d511823](https://github.com/ecomplus/cloud-commerce/commit/d511823200f8aee1aa0479693954e95ae694980d))
21
+ * **deps:** Update non-major dependencies ([#333](https://github.com/ecomplus/cloud-commerce/issues/333)) ([2b4e6b1](https://github.com/ecomplus/cloud-commerce/commit/2b4e6b1ad25be1beb1a830e728e493d9c8d04948))
22
+ * **ssr:** Ensure "ISR" fetching fresh HTML (skip CDN cache) on update ([c40ca88](https://github.com/ecomplus/cloud-commerce/commit/c40ca888f2d8a6e1e9ddfe5598dc362a39c9fa8b))
23
+ * **storefront:** Bump Vue to latest v3.4.20 ([8270105](https://github.com/ecomplus/cloud-commerce/commit/8270105dab4c059a38426619c1f22a3a4a08dd17))
24
+ * **storefront:** Handle custom content types with new `@@sf/custom-content` module ([f6507fd](https://github.com/ecomplus/cloud-commerce/commit/f6507fdd37a57e146f06bea7d3c21ab1665543df))
25
+
5
26
  ### [2.6.3](https://github.com/ecomplus/cloud-commerce/compare/v2.6.2...v2.6.3) (2024-02-24)
6
27
 
7
28
 
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # e-com.plus Open Cloud Commerce
2
2
 
3
+ [![Starter build and deploy](https://github.com/ecomplus/store/workflows/Build%20and%20deploy/badge.svg)](https://github.com/ecomplus/store/actions/workflows/build-and-deploy.yml) [![Module and app tests](https://github.com/ecomplus/cloud-commerce/workflows/Module%20and%20app%20tests/badge.svg)](https://github.com/ecomplus/cloud-commerce/actions/workflows/test-apps.yml) [![CodeFactor](https://www.codefactor.io/repository/github/ecomplus/cloud-commerce/badge)](https://www.codefactor.io/repository/github/ecomplus/cloud-commerce) [![MIT license](https://img.shields.io/badge/license-MIT-emerald.svg)](https://opensource.org/licenses/MIT) [![demo.ecomplus.app](https://img.shields.io/badge/demo-Store-purple)](https://demo.ecomplus.app/)
4
+
3
5
  Open source eCommerce platform to use on top of headless commerce APIs, it includes:
4
6
  - High performant and fully customizable [Astro](https://astro.build/) + [Vue](https://vuejs.org/) storefront;
5
7
  - Storefront CMS and page builder;
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.3.0
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.3.0
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
@@ -7,6 +7,6 @@ vscode:
7
7
  - vue.volar
8
8
  - bradlc.vscode-tailwindcss
9
9
  ports:
10
- - port: 3000
10
+ - port: 4123
11
11
  onOpen: open-preview
12
12
  visibility: public
@@ -6,11 +6,12 @@
6
6
  ];
7
7
  idx.extensions = [
8
8
  "vue.volar"
9
- # Other recommended extensions crashing launch
10
- # "dbaeumer.vscode-eslint",
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.2",
19
- "@cloudcommerce/firebase": "^2.6.2",
20
- "@cloudcommerce/passport": "^2.6.2"
18
+ "@cloudcommerce/feeds": "^2.6.4",
19
+ "@cloudcommerce/firebase": "^2.6.4",
20
+ "@cloudcommerce/passport": "^2.6.4"
21
21
  }
22
22
  }
@@ -48,6 +48,9 @@
48
48
  "isShuffle": false,
49
49
  "limit": 8,
50
50
  "page": 3
51
+ },
52
+ {
53
+ "type": "c:reviews"
51
54
  }
52
55
  ]
53
56
  }
@@ -13,6 +13,9 @@
13
13
  },
14
14
  {
15
15
  "type": "product-specifications"
16
+ },
17
+ {
18
+ "type": "c:reviews"
16
19
  }
17
20
  ]
18
21
  }
@@ -0,0 +1,71 @@
1
+ {
2
+ "autoplay": 9000,
3
+ "title": "Depoimentos de clientes reais, certificados pelo Google",
4
+ "reviews": [
5
+ {
6
+ "avatar": "https://lh3.googleusercontent.com/a-/AD_cMMTgyC1zBm0ma9jfmV5g_MpZt4naAWxHAlgJpXdZlPXpiao=s50-k-rwu-cc",
7
+ "name": "Wendy Soares",
8
+ "comment": "Agilidade na entrega, ótimos produtos."
9
+ },
10
+ {
11
+ "avatar": "https://lh3.googleusercontent.com/a/AAcHTtetWBpPZY6jrMFSVXlr6BO7IJQG_NYnM-2Q5CJBvBAL=s50-k-rwu-cc",
12
+ "name": "Valquiria Pereira da Silva",
13
+ "comment": "Amei!!!!! Rapidez e qualidade"
14
+ },
15
+ {
16
+ "avatar": "https://lh3.googleusercontent.com/a/AAcHTtdUKMA6T15-PbX1z3aTDH2RpSrst8hhPD9XH8xiRPAO=s50-k-rwu-cc",
17
+ "name": "Anna Lo Iacono",
18
+ "comment": "Muitas novidades em produtos de confeitaria e muita variedade. Atendimento e entrega rápida."
19
+ },
20
+ {
21
+ "avatar": "https://lh3.googleusercontent.com/a-/AD_cMMRoYdd3ufKtNb3c2TX5UHlfRqKCrzk_V2GfLX_oT-wke0k=s50-k-rwu-cc",
22
+ "name": "Janaina Janzantt",
23
+ "comment": "Boa e sempre são muito pontuais"
24
+ },
25
+ {
26
+ "avatar": "https://lh3.googleusercontent.com/a-/AD_cMMTaPrjdyD8o3hvQUVFXcc1_n2b5LI-N6J0esJr4RiOEcA=s50-k-rwu-cc",
27
+ "name": "Jaqueline Oliveira",
28
+ "comment": "Bom atendimento e entrega rápida l!"
29
+ },
30
+ {
31
+ "avatar": "https://lh3.googleusercontent.com/a-/AD_cMMRQMTe7T-XBa-cYq4uvomU5yqBPWq6rdh2bMP9aev-k3xk=s50-k-rwu-cc",
32
+ "name": "Solange Corsini",
33
+ "comment": "Todos meus pedidos chegaram em perfeito estado, muito bem embalados e conforme descrito no site. Super aprovado."
34
+ },
35
+ {
36
+ "avatar": "https://lh3.googleusercontent.com/a-/AD_cMMT98ZGW8hiCpxRNeRdfojqFzI8PEvWd7NDDJGUy_I9r_CKr=s50-k-rwu-cc",
37
+ "name": "Paulo Tavares",
38
+ "comment": "Pedido foi enviado rapidamente e tudo chegou em excelente estado."
39
+ },
40
+ {
41
+ "avatar": "https://lh3.googleusercontent.com/a-/AD_cMMTqIzLYHCVag0vvyGR-VE4oF2Mwgud8k3BhteXYdWe_Y0Q=s50-k-rwu-cc",
42
+ "name": "Katya Cunha",
43
+ "comment": "Uma loja com um ótimo atendimento, e onde você encontra de quase tudo para confeitaria"
44
+ },
45
+ {
46
+ "avatar": "https://lh3.googleusercontent.com/a-/AD_cMMTwHwnJUsRZK_kEnLc5U3GuNsYSQZNGC7pcIYPKR1mZJpY=s50-k-rwu-cc",
47
+ "name": "Luciana Zimmermann",
48
+ "comment": "Optei por retirar os produtos por ser próximo a minha casa e porque sempre é um prazer ir até loja, até mesmo para conferir as novidades e pegar uns itens de última de hora."
49
+ },
50
+ {
51
+ "avatar": "https://lh3.googleusercontent.com/a-/AD_cMMTDp1l7Bp9EssvheMxkpjHS-wfnYELjsb2qonSRUAFDn_Az=s50-k-rwu-cc",
52
+ "name": "Pati Zelleroff Cake Designer",
53
+ "comment": "Entrega rápida, variedade!!!"
54
+ },
55
+ {
56
+ "avatar": "https://lh3.googleusercontent.com/a-/AD_cMMSUjP_C1-Y6qDrWg97PMqw1Ll08p_6aJJsVIgZ0G6jhjlI=s50-k-rwu-cc",
57
+ "name": "Ligia Cristina Leite",
58
+ "comment": "Único lugar que encontramos alguns produtos específicos de confeitaria e chocolateria."
59
+ },
60
+ {
61
+ "avatar": "https://lh3.googleusercontent.com/a-/ALV-UjVrkfeyxevFRpCmJzbbM96jFfI9ASZ4qXl800AjJy9KEHg=s50-k-rwu-cc",
62
+ "name": "Camila Ortiz",
63
+ "comment": "Foi super rápida a entrega ( dentro do prazo) e veio tudo certinho! Comprarei novamente com certeza!"
64
+ },
65
+ {
66
+ "name": "Daniella Angelim Sandes",
67
+ "avatar": "https://lh3.googleusercontent.com/a-/ALV-UjUoBw3p3uue9dvp026FANMEP4oaCJ-1vEhCpAZUIuLiGYrr=s50-k-rwu-cc",
68
+ "comment": "Site bem estruturado, fácil acesso, vc encontra de tudo, produtos chegam muito bem embalado e rápido!"
69
+ }
70
+ ]
71
+ }
@@ -0,0 +1,5 @@
1
+ declare module '@@sf/custom-content' {
2
+ export interface CustomContent {
3
+ 'reviews': typeof import('content/reviews.json');
4
+ }
5
+ }
@@ -19,16 +19,16 @@
19
19
  },
20
20
  "main": "index.js",
21
21
  "dependencies": {
22
- "@cloudcommerce/api": "^2.6.2",
23
- "@cloudcommerce/firebase": "^2.6.2",
24
- "@cloudcommerce/ssr": "^2.6.2",
22
+ "@cloudcommerce/api": "^2.6.4",
23
+ "@cloudcommerce/firebase": "^2.6.4",
24
+ "@cloudcommerce/ssr": "^2.6.4",
25
25
  "@headlessui/vue": "^1.7.18",
26
26
  "micromark": "^4.0.0"
27
27
  },
28
28
  "devDependencies": {
29
- "@cloudcommerce/i18n": "^2.6.2",
30
- "@cloudcommerce/storefront": "^2.6.2",
31
- "@cloudcommerce/types": "^2.6.2",
29
+ "@cloudcommerce/i18n": "^2.6.4",
30
+ "@cloudcommerce/storefront": "^2.6.4",
31
+ "@cloudcommerce/types": "^2.6.4",
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="ui-section flex flex-wrap
5
- items-center justify-center gap-6 lg:gap-12">
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 m-0 text-3xl"></i>
11
- <span class="text-base-600 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 mt-4 lg:mt-8">
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-arrow-top-right-on-square ml-0.5"></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="[&>*]:from-success-200 [&>*]:to-success-700 mr-2
14
- text-4xl [&>*]:bg-gradient-to-br"
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="text-base-600 max-w-[140px] text-sm font-medium">
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-arrow-top-right-on-square ml-0.5"
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 i-arrow-path-rounded-square-16-solid"></i>
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 font-normal ui-badge-pill">
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 rounded border-2
70
- border-base-50 border-t-secondary-100 p-4 lg:mt-4">
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
@@ -17,7 +17,7 @@
17
17
  class="text-xs font-normal text-base-500 ui-link"
18
18
  >
19
19
  Não sei meu CEP
20
- <i class="mr-1 opacity-50 i-arrow-top-right-on-square"></i>
20
+ <i class="mr-1 opacity-50 i-external-link-line"></i>
21
21
  </ALink>
22
22
  </label>
23
23
  <div class="relative max-w-52">
@@ -1,3 +1,4 @@
1
+ /// <reference path="../content/types" />
1
2
  /// <reference types="astro/client" />
2
3
  /// <reference types="vite-plugin-pwa/client" />
3
4
  /// <reference types="vue/ref-macros" />
@@ -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.2",
19
- "@cloudcommerce/firebase": "^2.6.2",
20
- "@cloudcommerce/modules": "^2.6.2"
18
+ "@cloudcommerce/events": "^2.6.4",
19
+ "@cloudcommerce/firebase": "^2.6.4",
20
+ "@cloudcommerce/modules": "^2.6.4"
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.2"
29
+ "@cloudcommerce/cli": "^2.6.4"
30
30
  },
31
31
  "devDependencies": {
32
- "@cloudcommerce/eslint": "^2.6.2",
32
+ "@cloudcommerce/eslint": "^2.6.4",
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.6.3",
4
+ "version": "2.6.5",
5
5
  "description": "Open fair-code headless commerce platform: API-first, microservices based, event driven and cloud native",
6
6
  "main": "packages/api/lib/index.js",
7
7
  "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
@@ -23,9 +23,9 @@
23
23
  "@commitlint/cli": "^18.6.1",
24
24
  "@commitlint/config-conventional": "^18.6.2",
25
25
  "@commitlint/rules": "^18.6.1",
26
- "@types/node": "^18.19.17",
27
- "dotenv": "^16.4.4",
28
- "eslint": "^8.56.0",
26
+ "@types/node": "^18.19.18",
27
+ "dotenv": "^16.4.5",
28
+ "eslint": "^8.57.0",
29
29
  "husky": "^9.0.11",
30
30
  "lint-staged": "^15.2.2",
31
31
  "standard-version": "^9.5.0",
@@ -33,10 +33,10 @@
33
33
  "turbo": "^1.12.4",
34
34
  "typescript": "~5.2.2",
35
35
  "uglify-js": "^3.17.4",
36
- "vite": "^5.0.11",
37
- "vitest": "^1.3.0",
36
+ "vite": "^5.1.4",
37
+ "vitest": "^1.3.1",
38
38
  "zx": "^7.2.3",
39
- "@cloudcommerce/eslint": "2.6.3"
39
+ "@cloudcommerce/eslint": "2.6.5"
40
40
  },
41
41
  "scripts": {
42
42
  "fix-install": "bash scripts/pre-install.sh && pnpm i",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/api",
3
3
  "type": "module",
4
- "version": "2.6.3",
4
+ "version": "2.6.5",
5
5
  "description": "E-Com Plus Cloud Commerce APIs client/adapter",
6
6
  "main": "lib/api.js",
7
7
  "types": "lib/api.d.ts",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-affiliate-program",
3
3
  "type": "module",
4
- "version": "2.6.3",
4
+ "version": "2.6.5",
5
5
  "description": "E-Com Plus Cloud Commerce app for simple affiliate program",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-correios",
3
3
  "type": "module",
4
- "version": "2.6.3",
4
+ "version": "2.6.5",
5
5
  "description": "E-Com Plus Cloud Commerce app for Correios shipping calculation",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-custom-payment",
3
3
  "type": "module",
4
- "version": "2.6.3",
4
+ "version": "2.6.5",
5
5
  "description": "E-Com Plus Cloud Commerce app for simple custom payment methods",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-custom-shipping",
3
3
  "type": "module",
4
- "version": "2.6.3",
4
+ "version": "2.6.5",
5
5
  "description": "E-Com Plus Cloud Commerce app for custom shipping methods",
6
6
  "main": "lib/custom-shipping.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-datafrete",
3
3
  "type": "module",
4
- "version": "2.6.3",
4
+ "version": "2.6.5",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Datafrete shipping gateway ",
6
6
  "main": "lib/datafrete.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-discounts",
3
3
  "type": "module",
4
- "version": "2.6.3",
4
+ "version": "2.6.5",
5
5
  "description": "E-Com Plus Cloud Commerce app for complex discount rules",
6
6
  "main": "lib/discounts.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-emails",
3
3
  "type": "module",
4
- "version": "2.6.3",
4
+ "version": "2.6.5",
5
5
  "description": "E-Com Plus Cloud Commerce default transactional email app",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-fb-conversions",
3
3
  "type": "module",
4
- "version": "2.6.3",
4
+ "version": "2.6.5",
5
5
  "description": "E-Com Plus Cloud Commerce app to send carts/orders to Facebook Conversions API",
6
6
  "main": "lib/index.js",
7
7
  "repository": {