cloudcommerce 0.27.0 → 0.28.1

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 (128) hide show
  1. package/.github/workflows/test-apps.yml +2 -2
  2. package/CHANGELOG.md +37 -0
  3. package/action.yml +2 -2
  4. package/ecomplus-stores/barra-doce/functions/many/package.json +3 -3
  5. package/ecomplus-stores/barra-doce/functions/ssr/content/layout.json +13 -13
  6. package/ecomplus-stores/barra-doce/functions/ssr/content/pages/home.json +10 -10
  7. package/ecomplus-stores/barra-doce/functions/ssr/content/pages/products.json +17 -0
  8. package/ecomplus-stores/barra-doce/functions/ssr/content/settings.json +8 -8
  9. package/ecomplus-stores/barra-doce/functions/ssr/package.json +6 -6
  10. package/ecomplus-stores/barra-doce/functions/ssr/src/components/AccountMenu.vue +11 -11
  11. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopFooter.vue +24 -24
  12. package/ecomplus-stores/barra-doce/functions/ssr/src/layouts/PageFooter.astro +4 -4
  13. package/ecomplus-stores/barra-doce/functions/with-apps/package.json +3 -3
  14. package/ecomplus-stores/barra-doce/package.json +2 -2
  15. package/ecomplus-stores/monocard/functions/many/package.json +3 -3
  16. package/ecomplus-stores/monocard/functions/ssr/content/layout.json +11 -11
  17. package/ecomplus-stores/monocard/functions/ssr/content/pages/home.json +16 -16
  18. package/ecomplus-stores/monocard/functions/ssr/content/pages/products.json +2 -4
  19. package/ecomplus-stores/monocard/functions/ssr/content/settings.json +11 -11
  20. package/ecomplus-stores/monocard/functions/ssr/package.json +6 -6
  21. package/ecomplus-stores/monocard/functions/ssr/src/components/AccountMenu.vue +1 -1
  22. package/ecomplus-stores/monocard/functions/ssr/src/components/DocDescription.vue +33 -0
  23. package/ecomplus-stores/monocard/functions/ssr/src/components/FeatureTabs.vue +3 -3
  24. package/ecomplus-stores/monocard/functions/ssr/src/components/ShopFooter.vue +3 -3
  25. package/ecomplus-stores/monocard/functions/ssr/src/components/ShopHeader.vue +5 -13
  26. package/ecomplus-stores/monocard/functions/ssr/src/layouts/PageFooter.astro +2 -2
  27. package/ecomplus-stores/monocard/functions/ssr/src/main/Home.astro +1 -1
  28. package/ecomplus-stores/monocard/functions/ssr/src/main/Sections.astro +1 -1
  29. package/ecomplus-stores/monocard/functions/with-apps/package.json +3 -3
  30. package/ecomplus-stores/monocard/package.json +2 -2
  31. package/package.json +6 -6
  32. package/packages/api/package.json +1 -1
  33. package/packages/apps/affilate-program/package.json +1 -1
  34. package/packages/apps/correios/package.json +1 -1
  35. package/packages/apps/custom-payment/package.json +1 -1
  36. package/packages/apps/custom-shipping/package.json +1 -1
  37. package/packages/apps/datafrete/package.json +1 -1
  38. package/packages/apps/discounts/package.json +1 -1
  39. package/packages/apps/emails/lib/functios-lib/utils.js +1 -1
  40. package/packages/apps/emails/lib/functios-lib/utils.js.map +1 -1
  41. package/packages/apps/emails/package.json +1 -1
  42. package/packages/apps/emails/src/functios-lib/utils.ts +1 -1
  43. package/packages/apps/fb-conversions/package.json +1 -1
  44. package/packages/apps/flash-courier/package.json +1 -1
  45. package/packages/apps/frenet/package.json +1 -1
  46. package/packages/apps/galaxpay/package.json +1 -1
  47. package/packages/apps/google-analytics/package.json +1 -1
  48. package/packages/apps/jadlog/package.json +1 -1
  49. package/packages/apps/loyalty-points/lib/functions-lib/cron-add-points.d.ts +2 -0
  50. package/packages/apps/loyalty-points/lib/functions-lib/cron-add-points.js +98 -0
  51. package/packages/apps/loyalty-points/lib/functions-lib/cron-add-points.js.map +1 -0
  52. package/packages/apps/loyalty-points/lib/functions-lib/handle-loyalty-points-event.js +59 -23
  53. package/packages/apps/loyalty-points/lib/functions-lib/handle-loyalty-points-event.js.map +1 -1
  54. package/packages/apps/loyalty-points/lib/loyalty-create-transaction.js +9 -4
  55. package/packages/apps/loyalty-points/lib/loyalty-create-transaction.js.map +1 -1
  56. package/packages/apps/loyalty-points/lib/loyalty-list-payments.js +7 -2
  57. package/packages/apps/loyalty-points/lib/loyalty-list-payments.js.map +1 -1
  58. package/packages/apps/loyalty-points/lib/loyalty-points-events.d.ts +3 -1
  59. package/packages/apps/loyalty-points/lib/loyalty-points-events.js +9 -0
  60. package/packages/apps/loyalty-points/lib/loyalty-points-events.js.map +1 -1
  61. package/packages/apps/loyalty-points/package.json +3 -2
  62. package/packages/apps/loyalty-points/src/functions-lib/cron-add-points.ts +104 -0
  63. package/packages/apps/loyalty-points/src/functions-lib/handle-loyalty-points-event.ts +67 -25
  64. package/packages/apps/loyalty-points/src/loyalty-create-transaction.ts +11 -4
  65. package/packages/apps/loyalty-points/src/loyalty-list-payments.ts +9 -2
  66. package/packages/apps/loyalty-points/src/loyalty-points-events.ts +12 -1
  67. package/packages/apps/melhor-envio/package.json +1 -1
  68. package/packages/apps/mercadopago/assets/onload-expression.js +5 -1
  69. package/packages/apps/mercadopago/assets/onload-expression.min.js +1 -1
  70. package/packages/apps/mercadopago/lib/mp-create-transaction.js +16 -6
  71. package/packages/apps/mercadopago/lib/mp-create-transaction.js.map +1 -1
  72. package/packages/apps/mercadopago/package.json +1 -1
  73. package/packages/apps/mercadopago/src/mp-create-transaction.ts +19 -7
  74. package/packages/apps/pagarme/package.json +1 -1
  75. package/packages/apps/paghiper/package.json +1 -1
  76. package/packages/apps/pix/package.json +1 -1
  77. package/packages/apps/tiny-erp/package.json +1 -1
  78. package/packages/apps/webhooks/package.json +1 -1
  79. package/packages/cli/package.json +1 -1
  80. package/packages/config/lib/config.js +2 -2
  81. package/packages/config/lib/config.js.map +1 -1
  82. package/packages/config/package.json +1 -1
  83. package/packages/config/src/config.ts +2 -2
  84. package/packages/emails/package.json +2 -2
  85. package/packages/eslint/package.json +4 -4
  86. package/packages/events/package.json +1 -1
  87. package/packages/feeds/package.json +1 -1
  88. package/packages/firebase/package.json +1 -1
  89. package/packages/i18n/lib/en_us/i19chooseProductDetailsToBuy.txt +1 -0
  90. package/packages/i18n/lib/en_us.d.ts +1 -0
  91. package/packages/i18n/lib/en_us.js +1 -0
  92. package/packages/i18n/lib/en_us.js.map +1 -1
  93. package/packages/i18n/lib/pt_br/i19chooseProductDetailsToBuy.txt +1 -0
  94. package/packages/i18n/lib/pt_br.d.ts +1 -0
  95. package/packages/i18n/lib/pt_br.js +1 -0
  96. package/packages/i18n/lib/pt_br.js.map +1 -1
  97. package/packages/i18n/package.json +1 -1
  98. package/packages/i18n/src/en_us.ts +1 -0
  99. package/packages/i18n/src/pt_br.ts +1 -0
  100. package/packages/modules/package.json +1 -1
  101. package/packages/passport/package.json +1 -1
  102. package/packages/ssr/cloudflare/swr-worker.js +2 -1
  103. package/packages/ssr/lib/firebase/serve-storefront.js +1 -1
  104. package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -1
  105. package/packages/ssr/package.json +3 -3
  106. package/packages/ssr/src/cloudflare/swr-worker.ts +2 -1
  107. package/packages/ssr/src/firebase/serve-storefront.ts +1 -1
  108. package/packages/storefront/astro.config.mjs +20 -3
  109. package/packages/storefront/config/astro/mock-pwa-info.mjs +3 -0
  110. package/packages/storefront/config/storefront.cms.js +2 -2
  111. package/packages/storefront/package.json +4 -4
  112. package/packages/storefront/src/lib/assets/tooltip.css +1 -0
  113. package/packages/storefront/src/lib/components/AccountLink.vue +5 -5
  114. package/packages/storefront/src/lib/components/CheckoutLink.vue +35 -4
  115. package/packages/storefront/src/lib/components/ContentClearfix.vue +1 -1
  116. package/packages/storefront/src/lib/components/PaymentMethodFlag.vue +1 -1
  117. package/packages/storefront/src/lib/composables/use-pitch-bar.ts +2 -2
  118. package/packages/storefront/src/lib/composables/use-sku-selector.ts +151 -0
  119. package/packages/storefront/src/lib/content.d.ts +5 -5
  120. package/packages/storefront/src/lib/layouts/Base.astro +4 -4
  121. package/packages/storefront/src/lib/layouts/BaseHead.astro +18 -14
  122. package/packages/storefront/src/lib/layouts/use-page-header.ts +9 -4
  123. package/packages/storefront/src/lib/layouts/use-page-main.ts +13 -33
  124. package/packages/storefront/src/lib/ssr-context.ts +11 -4
  125. package/packages/test-base/package.json +1 -1
  126. package/packages/types/index.ts +15 -14
  127. package/packages/types/package.json +1 -1
  128. package/ecomplus-stores/monocard/functions/ssr/src/components/DocDescription.astro +0 -30
@@ -106,11 +106,11 @@ jobs:
106
106
  ${{ steps.npm-paths.outputs.LIB_PATH }}
107
107
  ${{ steps.npm-paths.outputs.BIN_PATH }}
108
108
  ~/.npm-global/bin
109
- key: ${{ runner.os }}-npm-globals-firebase-tools-12.6.1
109
+ key: ${{ runner.os }}-npm-globals-firebase-tools-12.6.2
110
110
 
111
111
  - if: steps.npm-g-cache.outputs.cache-hit != 'true'
112
112
  shell: bash
113
- run: npm install -g firebase-tools@12.6.1
113
+ run: npm install -g firebase-tools@12.6.2
114
114
 
115
115
  - name: Initialize Firebase emulators
116
116
  shell: bash
package/CHANGELOG.md CHANGED
@@ -2,6 +2,43 @@
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.28.1](https://github.com/ecomplus/cloud-commerce/compare/v0.28.0...v0.28.1) (2023-10-15)
6
+
7
+
8
+ ### Features
9
+
10
+ * **i18n:** Add `i19chooseProductDetailsToBuy` ([2b8aea7](https://github.com/ecomplus/cloud-commerce/commit/2b8aea72fc75c1700ef6ef691742052d5e51ce07))
11
+ * **ssr:** Edit Cloudflare SWR worker to support URL rewrites /__swr/* ([528aab0](https://github.com/ecomplus/cloud-commerce/commit/528aab0d7398983f9c43662c8b949f5ca8c5e1d3))
12
+ * **storefront:** Handle optional `settings.assetsPrefix` field to support deploy with external CDN ([46d6c43](https://github.com/ecomplus/cloud-commerce/commit/46d6c431a951a510508ed6d4078035e3fbbf2304))
13
+ * **storefront:** New `useSkuSelector` composable ([2865f1e](https://github.com/ecomplus/cloud-commerce/commit/2865f1efc7e3c8a909aca70fe85045fb3804ae2d))
14
+ * **storefront:** New optional props `cartId` and `cartItem` for `<CheckoutLink>` ([5295149](https://github.com/ecomplus/cloud-commerce/commit/529514968bb786cb4754912837aa9505989f3873))
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **ssr:** Prevent overwriting Link response header if already set on storefront render output ([3e30407](https://github.com/ecomplus/cloud-commerce/commit/3e30407781485b16fd285e3e94083ea04e86ba19))
20
+ * **storefront:** Update link fields from settings on `<CheckoutLink>` and `<AccountLink>` ([af6808e](https://github.com/ecomplus/cloud-commerce/commit/af6808e17273b358ed274d8b79b421d4fded1042))
21
+
22
+ ## [0.28.0](https://github.com/ecomplus/cloud-commerce/compare/v0.27.0...v0.28.0) (2023-10-06)
23
+
24
+
25
+ ### ⚠ BREAKING CHANGES
26
+
27
+ * **storefront:** content/layout.json must be edited with fields in camelCase
28
+ * Content `settings` object (and `config.settingsContent`) changed
29
+ * **storefront:** `PageContent` interface editted, content/pages hero and sections must be updated with new fields in camelCase
30
+
31
+ ### Bug Fixes
32
+
33
+ * **loyalty points:** Add points after some days gap with cron to prevent fast cancellations ([#250](https://github.com/ecomplus/cloud-commerce/issues/250)) ([4eb705c](https://github.com/ecomplus/cloud-commerce/commit/4eb705cea98884255745ae7222bb8e2a264e625a))
34
+ * **mercadopago:** Updating with https://github.com/ecomplus/app-mercadopago/commit/0205afd64e31fc19776343b8a355d43deb6a911d ([#249](https://github.com/ecomplus/cloud-commerce/issues/249)) ([47a03e6](https://github.com/ecomplus/cloud-commerce/commit/47a03e60551d9fb2e17a079cedff00106b05e967))
35
+ * **storefront:** Minor fix `<ContentClearfix>` with horizontal scroll on large devices ([03b1d8d](https://github.com/ecomplus/cloud-commerce/commit/03b1d8da4fb01f0bc8dc7701ff71ad9ce0bdd858))
36
+
37
+
38
+ * Edit settings types to camelCase fields ([47aec28](https://github.com/ecomplus/cloud-commerce/commit/47aec28bffd1e33ed2b2d715aac7611cf2ef3403))
39
+ * **storefront:** Expect hero/sections content with camelCase for easy parsing and props bypass ([70d976b](https://github.com/ecomplus/cloud-commerce/commit/70d976b1b1600fff9772db275bb57d85b08dc07e))
40
+ * **storefront:** Expect layout content fields camelCase ([e9404ea](https://github.com/ecomplus/cloud-commerce/commit/e9404ea61f72a5aa50858104ee58b1c3b1d88d9e))
41
+
5
42
  ## [0.27.0](https://github.com/ecomplus/cloud-commerce/compare/v0.26.7...v0.27.0) (2023-10-06)
6
43
 
7
44
 
package/action.yml CHANGED
@@ -133,11 +133,11 @@ runs:
133
133
  ${{ steps.npm-paths.outputs.LIB_PATH }}
134
134
  ${{ steps.npm-paths.outputs.BIN_PATH }}
135
135
  ~/.npm-global/bin
136
- key: ${{ runner.os }}-npm-g-firebase-tools-12.6.1
136
+ key: ${{ runner.os }}-npm-g-firebase-tools-12.6.2
137
137
 
138
138
  - if: ${{ github.event_name == 'push' && steps.npm-g-cache.outputs.cache-hit != 'true' }}
139
139
  shell: bash
140
- run: npm i --location=global firebase-tools@12.6.1
140
+ run: npm i --location=global firebase-tools@12.6.2
141
141
 
142
142
  - if: steps.npm-cache-many.outputs.cache-hit != 'true'
143
143
  name: Install codebase "many" dependencies
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/feeds": "^0.26.7",
19
- "@cloudcommerce/firebase": "^0.26.7",
20
- "@cloudcommerce/passport": "^0.26.7"
18
+ "@cloudcommerce/feeds": "^0.28.0",
19
+ "@cloudcommerce/firebase": "^0.28.0",
20
+ "@cloudcommerce/passport": "^0.28.0"
21
21
  }
22
22
  }
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "metatags": {
3
- "og_image": "",
4
- "fb_app_id": "",
5
- "twitter_username": ""
3
+ "ogImage": "",
4
+ "fbAppId": "",
5
+ "twitterUsername": ""
6
6
  },
7
- "custom_code": {
7
+ "customCode": {
8
8
  "css": "",
9
- "html_head": "",
10
- "html_body": ""
9
+ "htmlHead": "",
10
+ "htmlBody": ""
11
11
  },
12
12
  "header": {
13
- "pitch_bar": [
13
+ "pitchBar": [
14
14
  {
15
15
  "href": "",
16
16
  "html": "<d-md>Ganhe tempo: </d-md>Compre online e retire <d-md>pessoalmente</d-md> na <b>loja em Moema</b>, SP"
@@ -20,20 +20,20 @@
20
20
  "html": "<b>Frete grátis</b> <d-md>para todo Brasil</d-md> a partir de {free_shipping_from_value}"
21
21
  }
22
22
  ],
23
- "inline_menu_categories": {
23
+ "inlineMenuCategories": {
24
24
  "featured": [],
25
25
  "random": 7
26
26
  },
27
- "alphabetical_sort_submenu": false
27
+ "isAlphabeticalSortSubmenu": false
28
28
  },
29
29
  "footer": {
30
- "categories_list": {
31
- "enabled": true,
30
+ "categoriesList": {
31
+ "isActive": true,
32
32
  "title": "",
33
33
  "categories": []
34
34
  },
35
- "pages_list": {
36
- "enabled": true,
35
+ "pagesList": {
36
+ "isActive": true,
37
37
  "title": "",
38
38
  "links": []
39
39
  },
@@ -1,31 +1,31 @@
1
1
  {
2
- "meta_title": "",
3
- "meta_description": "",
2
+ "metaTitle": "",
3
+ "metaDescription": "",
4
4
  "hero": {
5
5
  "autoplay": 9000,
6
6
  "slides": [
7
7
  {
8
- "start": "",
9
- "end": "",
8
+ "startsAt": "",
9
+ "endsAt": "",
10
10
  "alt": "FORMAS DE TABLETES | Diversos modelos em diversos materiais | A partir de R$7,90",
11
11
  "img": "/img/uploads/banner-forma-decora.jpg",
12
- "mobile_img": "",
12
+ "mobileImg": "",
13
13
  "href": "/categoria/formas-de-barra-e-tablete-de-chocolate",
14
14
  "title": "Formas de tabletes",
15
15
  "subtitle": "Acetato, 3 partes, Polipropileno, Poliestireno, Policarbonato",
16
- "button_link": "/categoria/formas-de-barra-e-tablete-de-chocolate",
17
- "button_text": "A partir de R$ 7,90"
16
+ "buttonLink": "/categoria/formas-de-barra-e-tablete-de-chocolate",
17
+ "buttonText": "A partir de R$ 7,90"
18
18
  }
19
19
  ]
20
20
  },
21
21
  "sections": [
22
22
  {
23
23
  "type": "product-shelf",
24
- "collection_id": null,
24
+ "collectionIdAndInfo": null,
25
25
  "sort": "-price_discount",
26
26
  "title": "",
27
- "headless": false,
28
- "shuffle": false,
27
+ "isHeadless": false,
28
+ "isShuffle": false,
29
29
  "limit": 12,
30
30
  "page": 1
31
31
  }
@@ -0,0 +1,17 @@
1
+ {
2
+ "sections": [
3
+ {
4
+ "type": "breadcrumbs"
5
+ },
6
+ {
7
+ "type": "product-details",
8
+ "hasDescription": true
9
+ },
10
+ {
11
+ "type": "related-products"
12
+ },
13
+ {
14
+ "type": "product-specifications"
15
+ }
16
+ ]
17
+ }
@@ -4,17 +4,17 @@
4
4
  "description": "Loja de utensílios de confeitaria e acessórios de festa. Tudo o que precisa para fazer bolos, chocolates, biscoitos e muito mais.",
5
5
  "logo": "/img/uploads/logo-barradoce.webp",
6
6
  "icon": "/img/uploads/ecom-icon.png",
7
- "primary_color": "#f06606",
8
- "secondary_color": "#ff7c04",
7
+ "primaryColor": "#f06606",
8
+ "secondaryColor": "#ff7c04",
9
9
  "email": "",
10
10
  "phone": "",
11
11
  "address": "",
12
- "corporate_name": "",
13
- "doc_number": "",
12
+ "corporateName": "",
13
+ "docNumber": "",
14
14
  "lang": "pt_br",
15
15
  "currency": "BRL",
16
- "currency_symbol": "R$",
17
- "country_code": "BR",
16
+ "currencySymbol": "R$",
17
+ "countryCode": "BR",
18
18
  "whatsapp": "(31) 9 8272-1558",
19
19
  "instagram": "https://www.instagram.com/ecomclub/",
20
20
  "facebook": "https://www.facebook.com/ecom.clubpage/",
@@ -23,13 +23,13 @@
23
23
  "tiktok": "",
24
24
  "pinterest": "",
25
25
  "threads": "",
26
- "service_links": [
26
+ "serviceLinks": [
27
27
  {
28
28
  "title": "Fale conosco",
29
29
  "href": "/pages/contato"
30
30
  }
31
31
  ],
32
- "payment_methods": [
32
+ "paymentMethods": [
33
33
  "pix",
34
34
  "visa",
35
35
  "mastercard",
@@ -17,14 +17,14 @@
17
17
  },
18
18
  "main": "index.js",
19
19
  "dependencies": {
20
- "@cloudcommerce/api": "^0.26.7",
21
- "@cloudcommerce/firebase": "^0.26.7",
22
- "@cloudcommerce/ssr": "^0.26.7"
20
+ "@cloudcommerce/api": "^0.28.0",
21
+ "@cloudcommerce/firebase": "^0.28.0",
22
+ "@cloudcommerce/ssr": "^0.28.0"
23
23
  },
24
24
  "devDependencies": {
25
- "@cloudcommerce/i18n": "^0.26.7",
26
- "@cloudcommerce/storefront": "^0.26.7",
27
- "@cloudcommerce/types": "^0.26.7",
25
+ "@cloudcommerce/i18n": "^0.28.0",
26
+ "@cloudcommerce/storefront": "^0.28.0",
27
+ "@cloudcommerce/types": "^0.28.0",
28
28
  "@fontsource/croissant-one": "^5.0.9",
29
29
  "@iconify-json/mingcute": "^1.1.9"
30
30
  }
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <Menu
3
3
  as="div"
4
- class="relative text-center text-sm text-base-800"
4
+ class="text-base-800 relative text-center text-sm"
5
5
  v-slot="{ open }"
6
6
  >
7
7
  <div v-if="open">
@@ -11,12 +11,12 @@
11
11
  <slot name="button" v-bind="{ open }" />
12
12
  </MenuButton>
13
13
  <Fade>
14
- <MenuItems class="absolute -right-8 mt-2 w-56
15
- rounded shadow ring-1 ring-black/5 bg-white
16
- divide-y divide-base-100 focus:outline-none">
17
- <div class="p-3 text-base-600">
14
+ <MenuItems class="divide-base-100 absolute -right-8 mt-2
15
+ w-56 divide-y rounded bg-white shadow
16
+ ring-1 ring-black/5 focus:outline-none">
17
+ <div class="text-base-600 p-3">
18
18
  {{ `${$t.i19hello} ${customerName || $t.i19visitor}` }}
19
- <AccountLink role="button" class="ui-btn-sm ui-btn-primary block my-1">
19
+ <AccountLink role="button" class="ui-btn-sm ui-btn-primary my-1 block">
20
20
  {{ $t.i19accessMyAccount }}
21
21
  </AccountLink>
22
22
  <AccountLink v-if="!isLogged" is-sign-up class="ui-link block">
@@ -46,7 +46,7 @@
46
46
  <MenuItem
47
47
  as="li"
48
48
  v-slot="{ active }"
49
- v-for="({ title, href }, i) in $settings.service_links"
49
+ v-for="({ title, href }, i) in $settings.serviceLinks"
50
50
  :key="`s-${i}`"
51
51
  >
52
52
  <ALink
@@ -58,16 +58,16 @@
58
58
  </ALink>
59
59
  </MenuItem>
60
60
  <MenuItem as="li">
61
- <div class="flex justify-center gap-2 p-2 text-base-500 text-base">
61
+ <div class="text-base-500 flex justify-center gap-2 p-2 text-base">
62
62
  <span v-for="(href, network) in socialNetworks" :key="network">
63
- <SocialNetworkLink :network="network" class="p-1 hover:text-primary" />
63
+ <SocialNetworkLink :network="network" class="hover:text-primary p-1" />
64
64
  </span>
65
65
  </div>
66
66
  </MenuItem>
67
67
  <MenuItem v-if="isLogged" as="li">
68
- <button @click="logout" class="p-2 text-right text-base-800">
68
+ <button @click="logout" class="text-base-800 p-2 text-right">
69
69
  <span class="text-base-600">{{ $t.i19logout }}</span>
70
- <i class="i-align-arrow-left-fill text-lg ml-1"></i>
70
+ <i class="i-align-arrow-left-fill ml-1 text-lg"></i>
71
71
  </button>
72
72
  </MenuItem>
73
73
  </ul>
@@ -1,26 +1,26 @@
1
1
  <template>
2
- <footer class="w-screen bg-base-50 border-t border-base-100 py-2">
2
+ <footer class="bg-base-50 border-base-100 w-screen border-t py-2">
3
3
  <div class="ui-section">
4
- <div class="pb-7 border-b border-base-200
5
- flex justify-between flex-wrap lg:flex-nowrap sm:gap-x-10 gap-y-5">
4
+ <div class="border-base-200 flex flex-wrap
5
+ justify-between gap-y-5 border-b pb-7 sm:gap-x-10 lg:flex-nowrap">
6
6
  <div class="shrink">
7
7
  <slot name="logo" />
8
8
  <div v-if="$settings.description" class="prose">
9
9
  <p>{{ $settings.description }}</p>
10
10
  </div>
11
- <div class="flex gap-2 text-base-500">
11
+ <div class="text-base-500 flex gap-2">
12
12
  <span v-for="(href, network) in socialNetworks" :key="network">
13
- <SocialNetworkLink :network="network" class="p-1 hover:text-primary">
13
+ <SocialNetworkLink :network="network" class="hover:text-primary p-1">
14
14
  <template v-if="network === 'whatsapp'" #append>
15
- <span class="ml-1 text-sm text-base-600">
15
+ <span class="text-base-600 ml-1 text-sm">
16
16
  {{ $settings.whatsapp }}
17
17
  </span>
18
18
  </template>
19
19
  </SocialNetworkLink>
20
20
  </span>
21
21
  </div>
22
- <div v-if="$settings.address || $settings.phone" class="mt-3 text-base-700">
23
- <address v-if="$settings.address" class="inline-block mr-4">
22
+ <div v-if="$settings.address || $settings.phone" class="text-base-700 mt-3">
23
+ <address v-if="$settings.address" class="mr-4 inline-block">
24
24
  {{ $settings.address }}
25
25
  </address>
26
26
  <ALink
@@ -34,7 +34,7 @@
34
34
  </div>
35
35
  </div>
36
36
  <div v-if="categories?.length" class="basis-1/2 sm:basis-auto">
37
- <div class="text-lg font-medium mb-2.5">
37
+ <div class="mb-2.5 text-lg font-medium">
38
38
  {{ categoriesColTitle || $t.i19categories }}
39
39
  </div>
40
40
  <ul
@@ -55,7 +55,7 @@
55
55
  </ul>
56
56
  </div>
57
57
  <div v-if="pageLinks?.length" class="basis-1/2 sm:basis-auto">
58
- <div class="text-lg font-medium mb-2.5">
58
+ <div class="mb-2.5 text-lg font-medium">
59
59
  {{ pagesColTitle || $t.i19institutional }}
60
60
  </div>
61
61
  <ul
@@ -73,48 +73,48 @@
73
73
  </div>
74
74
  </div>
75
75
  <div class="ui-section">
76
- <div class="flex flex-wrap lg:flex-nowrap justify-between items-start gap-5">
77
- <ul class="flex gap-y-3 gap-x-6 lg:gap-x-8 items-center
78
- md:flex-wrap mx-auto md:mx-0 overflow-x-auto md:overflow-hidden">
76
+ <div class="flex flex-wrap items-start justify-between gap-5 lg:flex-nowrap">
77
+ <ul class="mx-auto flex items-center gap-x-6 gap-y-3
78
+ overflow-x-auto md:mx-0 md:flex-wrap md:overflow-hidden lg:gap-x-8">
79
79
  <li v-for="(stamp, i) in stamps" :key="i">
80
80
  <ALink :href="stamp.href?.replace('{domain}', $settings.domain || '')">
81
81
  <slot :name="`picture-${i}`" />
82
82
  <span v-if="!stamp.img" class="flex items-center">
83
83
  <span
84
84
  v-if="stamp.icon"
85
- class="text-4xl mr-2
86
- [&>*]:bg-gradient-to-br [&>*]:from-secondary-300 [&>*]:to-secondary-600"
85
+ class="[&>*]:from-secondary-300 [&>*]:to-secondary-600
86
+ mr-2 text-4xl [&>*]:bg-gradient-to-br"
87
87
  >
88
88
  <i v-if="stamp.icon === 'lock'" class="i-lock-closed"></i>
89
89
  <i v-else-if="stamp.icon === 'check'" class="i-check-badge"></i>
90
90
  <i v-else class="i-arrow-path-rounded-square"></i>
91
91
  </span>
92
- <span class="text-sm font-medium text-base-600 max-w-[140px]">
92
+ <span class="text-base-600 max-w-[140px] text-sm font-medium">
93
93
  {{ stamp.alt }}
94
94
  <i
95
95
  v-if="stamp.href && stamp.href.charAt(0) !== '/'"
96
- class="bg-base-400 ml-0.5 i-arrow-top-right-on-square"
96
+ class="bg-base-400 i-arrow-top-right-on-square ml-0.5"
97
97
  ></i>
98
98
  </span>
99
99
  </span>
100
100
  </ALink>
101
101
  </li>
102
102
  </ul>
103
- <div class="flex flex-wrap md:flex-nowrap justify-end items-center
104
- gap-4 text-2xl mx-auto md:mx-0 overflow-x-auto md:overflow-hidden">
103
+ <div class="mx-auto flex flex-wrap items-center justify-end
104
+ gap-4 overflow-x-auto text-2xl md:mx-0 md:flex-nowrap md:overflow-hidden">
105
105
  <PaymentMethodFlag
106
- v-for="paymentMethod in $settings.payment_methods"
106
+ v-for="paymentMethod in $settings.paymentMethods"
107
107
  :key="paymentMethod"
108
108
  :flag="paymentMethod"
109
109
  />
110
110
  </div>
111
111
  </div>
112
- <div class="mt-7 text-xs text-center md:text-left
113
- md:flex justify-between gap-4">
112
+ <div class="mt-7 justify-between gap-4 text-center
113
+ text-xs md:flex md:text-left">
114
114
  <div class="mb-3 md:mb-0">
115
- @ {{ new Date().getFullYear() }} {{ $settings.corporate_name }}
115
+ @ {{ new Date().getFullYear() }} {{ $settings.corporateName }}
116
116
  {{ $settings.address ? `/ ${$settings.address}` : '' }}
117
- / {{ $settings.doc_number }}
117
+ / {{ $settings.docNumber }}
118
118
  </div>
119
119
  <ALink href="https://www.ecomplus.io/" class="italic text-[#37003c]">
120
120
  powered by <b>E-Com Plus</b>
@@ -14,13 +14,13 @@ const layoutContent = await getContent('layout');
14
14
  const {
15
15
  footer: {
16
16
  stamps,
17
- categories_list: categoriesList,
18
- pages_list: pagesList,
17
+ categoriesList,
18
+ pagesList,
19
19
  },
20
20
  } = layoutContent;
21
21
  let mainCategories: ShopFooterProps['categories'];
22
22
  let pageLinks: ShopFooterProps['pageLinks'];
23
- if (categoriesList?.enabled) {
23
+ if (categoriesList?.isActive) {
24
24
  if (categoriesList.categories?.length) {
25
25
  mainCategories = categoriesList.categories;
26
26
  } else {
@@ -29,7 +29,7 @@ if (categoriesList?.enabled) {
29
29
  mainCategories = filterMainCategories(categories);
30
30
  }
31
31
  }
32
- if (pagesList?.enabled) {
32
+ if (pagesList?.isActive) {
33
33
  if (pagesList.links?.length) {
34
34
  pageLinks = pagesList.links;
35
35
  } else {
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/events": "^0.26.7",
19
- "@cloudcommerce/firebase": "^0.26.7",
20
- "@cloudcommerce/modules": "^0.26.7"
18
+ "@cloudcommerce/events": "^0.28.0",
19
+ "@cloudcommerce/firebase": "^0.28.0",
20
+ "@cloudcommerce/modules": "^0.28.0"
21
21
  }
22
22
  }
@@ -23,9 +23,9 @@
23
23
  "url": "https://github.com/ecomplus/cloud-commerce/issues"
24
24
  },
25
25
  "dependencies": {
26
- "@cloudcommerce/cli": "^0.26.7"
26
+ "@cloudcommerce/cli": "^0.28.0"
27
27
  },
28
28
  "devDependencies": {
29
- "@cloudcommerce/eslint": "^0.26.7"
29
+ "@cloudcommerce/eslint": "^0.28.0"
30
30
  }
31
31
  }
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/feeds": "^0.26.7",
19
- "@cloudcommerce/firebase": "^0.26.7",
20
- "@cloudcommerce/passport": "^0.26.7"
18
+ "@cloudcommerce/feeds": "^0.28.0",
19
+ "@cloudcommerce/firebase": "^0.28.0",
20
+ "@cloudcommerce/passport": "^0.28.0"
21
21
  }
22
22
  }
@@ -1,30 +1,30 @@
1
1
  {
2
2
  "metatags": {
3
- "og_image": "",
4
- "fb_app_id": "",
5
- "twitter_username": ""
3
+ "ogImage": "",
4
+ "fbAppId": "",
5
+ "twitterUsername": ""
6
6
  },
7
- "custom_code": {
7
+ "customCode": {
8
8
  "css": "",
9
- "html_head": "",
10
- "html_body": ""
9
+ "htmlHead": "",
10
+ "htmlBody": ""
11
11
  },
12
12
  "header": {
13
- "pitch_bar": [
13
+ "pitchBar": [
14
14
  {
15
15
  "href": "",
16
16
  "html": "<b>Frete grátis</b> para todo Brasil"
17
17
  }
18
18
  ],
19
- "inline_menu_categories": {
19
+ "inlineMenuCategories": {
20
20
  "featured": [],
21
21
  "random": 7
22
22
  },
23
- "alphabetical_sort_submenu": false
23
+ "isAlphabeticalSortSubmenu": false
24
24
  },
25
25
  "footer": {
26
- "pages_list": {
27
- "enabled": true,
26
+ "pagesList": {
27
+ "isActive": true,
28
28
  "title": "",
29
29
  "links": []
30
30
  },
@@ -1,43 +1,43 @@
1
1
  {
2
- "meta_title": "",
3
- "meta_description": "",
2
+ "metaTitle": "",
3
+ "metaDescription": "",
4
4
  "hero": {
5
5
  "autoplay": 9000,
6
6
  "slides": [
7
7
  {
8
- "start": "",
9
- "end": "",
8
+ "startsAt": "",
9
+ "endsAt": "",
10
10
  "img": "/img/uploads/rect89.webp",
11
11
  "alt": "Headset banner",
12
- "mobile_img": "/img/uploads/headphone.webp",
12
+ "mobileImg": "/img/uploads/headphone.webp",
13
13
  "href": "/headset",
14
14
  "title": "20% off on first purchase",
15
15
  "subtitle": "At demoStore you can shop the best tech of 2023. Enjoy and get 10% off on your first purchase!",
16
- "button_link": "/",
17
- "button_text": "See"
16
+ "buttonLink": "/",
17
+ "buttonText": "See"
18
18
  },
19
19
  {
20
- "start": "",
21
- "end": "",
20
+ "startsAt": "",
21
+ "endsAt": "",
22
22
  "img": "/img/uploads/rect859.png",
23
23
  "alt": "",
24
- "mobile_img": "",
24
+ "mobileImg": "",
25
25
  "href": "",
26
26
  "title": "",
27
27
  "subtitle": "",
28
- "button_link": "",
29
- "button_text": ""
28
+ "buttonLink": "",
29
+ "buttonText": ""
30
30
  }
31
31
  ]
32
32
  },
33
33
  "sections": [
34
34
  {
35
35
  "type": "product-shelf",
36
- "collection_id": null,
36
+ "collectionIdAndInfo": null,
37
37
  "sort": "-price_discount",
38
38
  "title": "",
39
- "headless": false,
40
- "shuffle": false,
39
+ "isHeadless": false,
40
+ "isShuffle": false,
41
41
  "limit": 12,
42
42
  "page": 1
43
43
  },
@@ -55,7 +55,7 @@
55
55
  {
56
56
  "img": "/img/uploads/rect89.webp",
57
57
  "href": "/banner-3",
58
- "mobile_img": "/img/uploads/headphone.webp"
58
+ "mobileImg": "/img/uploads/headphone.webp"
59
59
  }
60
60
  ]
61
61
  }
@@ -4,14 +4,12 @@
4
4
  "type": "breadcrumbs"
5
5
  },
6
6
  {
7
- "type": "product-details"
7
+ "type": "product-details",
8
+ "hasDescription": true
8
9
  },
9
10
  {
10
11
  "type": "related-products"
11
12
  },
12
- {
13
- "type": "doc-description"
14
- },
15
13
  {
16
14
  "type": "product-specifications"
17
15
  }