cloudcommerce 2.13.1 → 2.14.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 (168) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/ecomplus-stores/barradoce/conf/firebase.json +1 -0
  3. package/ecomplus-stores/barradoce/functions/many/package.json +3 -3
  4. package/ecomplus-stores/barradoce/functions/ssr/content/extra-pages/promocoes.md +1 -1
  5. package/ecomplus-stores/barradoce/functions/ssr/package.json +6 -6
  6. package/ecomplus-stores/barradoce/functions/ssr/src/components/AccountMenu.vue +18 -15
  7. package/ecomplus-stores/barradoce/functions/ssr/src/components/AccountPage.vue +5 -5
  8. package/ecomplus-stores/barradoce/functions/ssr/src/components/LoginForm.vue +16 -10
  9. package/ecomplus-stores/barradoce/functions/ssr/src/components/ShopFooter.vue +1 -1
  10. package/ecomplus-stores/barradoce/functions/ssr/src/pages/sitemap-[index].xml.astro +75 -0
  11. package/ecomplus-stores/barradoce/functions/with-apps/package.json +3 -3
  12. package/ecomplus-stores/barradoce/package.json +2 -2
  13. package/package.json +2 -2
  14. package/packages/api/package.json +1 -1
  15. package/packages/apps/affiliate-program/package.json +1 -1
  16. package/packages/apps/correios/package.json +1 -1
  17. package/packages/apps/custom-payment/package.json +1 -1
  18. package/packages/apps/custom-shipping/package.json +1 -1
  19. package/packages/apps/datafrete/package.json +1 -1
  20. package/packages/apps/discounts/package.json +1 -1
  21. package/packages/apps/emails/package.json +1 -1
  22. package/packages/apps/fb-conversions/package.json +1 -1
  23. package/packages/apps/flash-courier/package.json +1 -1
  24. package/packages/apps/frenet/package.json +1 -1
  25. package/packages/apps/galaxpay/package.json +1 -1
  26. package/packages/apps/google-analytics/package.json +1 -1
  27. package/packages/apps/jadlog/package.json +1 -1
  28. package/packages/apps/loyalty-points/package.json +1 -1
  29. package/packages/apps/mandae/package.json +1 -1
  30. package/packages/apps/melhor-envio/package.json +1 -1
  31. package/packages/apps/mercadopago/package.json +1 -1
  32. package/packages/apps/pagaleve/package.json +1 -1
  33. package/packages/apps/pagarme/package.json +1 -1
  34. package/packages/apps/pagarme-v5/package.json +1 -1
  35. package/packages/apps/paghiper/package.json +1 -1
  36. package/packages/apps/pix/package.json +1 -1
  37. package/packages/apps/tiny-erp/package.json +1 -1
  38. package/packages/apps/webhooks/package.json +1 -1
  39. package/packages/cli/ci/bunny-config-base.sh +4 -6
  40. package/packages/cli/config/firebase.json +1 -1
  41. package/packages/cli/package.json +1 -1
  42. package/packages/config/package.json +1 -1
  43. package/packages/emails/package.json +1 -1
  44. package/packages/eslint/package.json +1 -1
  45. package/packages/events/package.json +1 -1
  46. package/packages/feeds/lib/firebase/render-catalog.js +272 -0
  47. package/packages/feeds/lib/firebase/render-catalog.js.map +1 -0
  48. package/packages/feeds/lib/firebase/render-sitemap.js +42 -0
  49. package/packages/feeds/lib/firebase/render-sitemap.js.map +1 -0
  50. package/packages/feeds/lib/firebase/serve-feeds.js +22 -270
  51. package/packages/feeds/lib/firebase/serve-feeds.js.map +1 -1
  52. package/packages/feeds/package.json +1 -1
  53. package/packages/feeds/src/firebase/render-catalog.ts +286 -0
  54. package/packages/feeds/src/firebase/render-sitemap.ts +46 -0
  55. package/packages/feeds/src/firebase/serve-feeds.ts +22 -283
  56. package/packages/firebase/package.json +1 -1
  57. package/packages/i18n/package.json +1 -1
  58. package/packages/modules/package.json +1 -1
  59. package/packages/passport/package.json +1 -1
  60. package/packages/ssr/package.json +1 -1
  61. package/packages/storefront/dist/client/_astro/{AccountPage.Cf0WE6GF.js → AccountPage.CKu0oakN.js} +1 -1
  62. package/packages/storefront/dist/client/_astro/{CartSidebar.DAvJKL2c.js → CartSidebar.Bxz7ZD9N.js} +1 -1
  63. package/packages/storefront/dist/client/_astro/{ProductDetails.BpZtnS8j.js → ProductDetails.PkZr50hA.js} +1 -1
  64. package/packages/storefront/dist/client/_astro/{ProductShelf.C0TU_sRb.js → ProductShelf.BKz6WXbp.js} +1 -1
  65. package/packages/storefront/dist/client/_astro/{SearchModal.DWNSfxML.js → SearchModal.BIrixnFb.js} +1 -1
  66. package/packages/storefront/dist/client/_astro/SearchShowcase.YMZqG8rj.js +1 -0
  67. package/packages/storefront/dist/client/_astro/ShopHeader.BOLegIRO.js +7 -0
  68. package/packages/storefront/dist/client/_astro/{_slug_.HhgCFKHv.css → _slug_.oAbCb631.css} +1 -1
  69. package/packages/storefront/dist/client/_astro/customer-session.B9MvrBAQ.js +7 -0
  70. package/packages/storefront/dist/client/_astro/ecom-icon.png +0 -0
  71. package/packages/storefront/dist/client/_astro/ecom-icon_12falx.png +0 -0
  72. package/packages/storefront/dist/client/_astro/ecom-icon_15pqnO.png +0 -0
  73. package/packages/storefront/dist/client/_astro/ecom-icon_t3guw.png +0 -0
  74. package/packages/storefront/dist/client/_astro/{firebase-app.CmI1zl7o.js → firebase-app.DPioxxma.js} +1 -1
  75. package/packages/storefront/dist/client/_astro/headphone.webp +0 -0
  76. package/packages/storefront/dist/client/_astro/headphone_T2Jjc.avif +0 -0
  77. package/packages/storefront/dist/client/_astro/headphone_Z1CG18r.webp +0 -0
  78. package/packages/storefront/dist/client/_astro/{hoisted.BeKMioW4.js → hoisted.8Sq2YuJM.js} +1 -1
  79. package/packages/storefront/dist/client/_astro/{hoisted.Bf1gCkSN.js → hoisted.BzVcl7We.js} +1 -1
  80. package/packages/storefront/dist/client/_astro/{hoisted.-C0vLMXT.js → hoisted.CPcG9RpX.js} +1 -1
  81. package/packages/storefront/dist/client/_astro/{index-a8cf6c8f.k99a-gIB.js → index-219c3cac.78peI8kt.js} +3 -3
  82. package/packages/storefront/dist/client/_astro/logo.png +0 -0
  83. package/packages/storefront/dist/client/_astro/logo_1UBsBq.webp +0 -0
  84. package/packages/storefront/dist/client/_astro/logo_Z1K5PE9.png +0 -0
  85. package/packages/storefront/dist/client/_astro/logo_Z1KIIl1.avif +0 -0
  86. package/packages/storefront/dist/client/_astro/passion.webp +0 -0
  87. package/packages/storefront/dist/client/_astro/passion_LHbe9.webp +0 -0
  88. package/packages/storefront/dist/client/_astro/passion_Z23MeUb.avif +0 -0
  89. package/packages/storefront/dist/client/_astro/rect8589.png +0 -0
  90. package/packages/storefront/dist/client/_astro/rect8589_1TtOHY.png +0 -0
  91. package/packages/storefront/dist/client/_astro/rect8589_1f5opX.webp +0 -0
  92. package/packages/storefront/dist/client/_astro/rect8589_IUskt.webp +0 -0
  93. package/packages/storefront/dist/client/_astro/rect8589_Uxfdf.png +0 -0
  94. package/packages/storefront/dist/client/_astro/rect8589_Z15uApA.png +0 -0
  95. package/packages/storefront/dist/client/_astro/rect8589_Z1Ap1Im.avif +0 -0
  96. package/packages/storefront/dist/client/_astro/rect8589_Z1JT1HB.webp +0 -0
  97. package/packages/storefront/dist/client/_astro/rect8589_ZY9mtN.avif +0 -0
  98. package/packages/storefront/dist/client/_astro/rect8589_tMFW0.avif +0 -0
  99. package/packages/storefront/dist/client/_astro/rect859.png +0 -0
  100. package/packages/storefront/dist/client/_astro/rect859_1TgQXS.avif +0 -0
  101. package/packages/storefront/dist/client/_astro/rect859_2Nm1z.avif +0 -0
  102. package/packages/storefront/dist/client/_astro/rect859_DIqwR.png +0 -0
  103. package/packages/storefront/dist/client/_astro/rect859_Z1IKDb2.png +0 -0
  104. package/packages/storefront/dist/client/_astro/rect859_Z29FI4V.webp +0 -0
  105. package/packages/storefront/dist/client/_astro/rect859_Z2kFHGk.avif +0 -0
  106. package/packages/storefront/dist/client/_astro/rect859_ZkpPFI.webp +0 -0
  107. package/packages/storefront/dist/client/_astro/rect859_jXzBi.png +0 -0
  108. package/packages/storefront/dist/client/_astro/rect859_x1l16.webp +0 -0
  109. package/packages/storefront/dist/client/_astro/rect89.webp +0 -0
  110. package/packages/storefront/dist/client/_astro/rect89_1TSfW7.avif +0 -0
  111. package/packages/storefront/dist/client/_astro/rect89_Z1re32x.webp +0 -0
  112. package/packages/storefront/dist/client/_astro/{shopping-cart.Cqc6p5UR.js → shopping-cart.D8fbm2Dv.js} +1 -1
  113. package/packages/storefront/dist/client/_astro/{use-analytics.bP3a5cR0.js → use-analytics.D_peWG3X.js} +1 -1
  114. package/packages/storefront/dist/client/_astro/{use-product-card.Cj9Q-Y1A.js → use-product-card.BCGHZKB5.js} +1 -1
  115. package/packages/storefront/dist/client/_astro/{use-text-value.DT0v9Yj_.js → use-text-value.BFLvKnYE.js} +1 -1
  116. package/packages/storefront/dist/client/assets/cvv.png +0 -0
  117. package/packages/storefront/dist/client/assets/payments.png +0 -0
  118. package/packages/storefront/dist/client/robots.txt +2 -0
  119. package/packages/storefront/dist/client/~fallback.html +112 -0
  120. package/packages/storefront/dist/client/~index.html +137 -0
  121. package/packages/storefront/dist/server/_astro-internal_middleware.mjs +2 -2
  122. package/packages/storefront/dist/server/chunks/404_BUZm2bP1.mjs +5 -0
  123. package/packages/storefront/dist/server/chunks/{CartSidebar_tmly-0ip.mjs → CartSidebar_kQSDOTj2.mjs} +2 -2
  124. package/packages/storefront/dist/server/chunks/{SearchModal_CGNQss2j.mjs → SearchModal_O1xTrm-9.mjs} +2 -2
  125. package/packages/storefront/dist/server/chunks/{_.._Bt6Uzpk2.mjs → _.._6Bd7O3FD.mjs} +1 -1
  126. package/packages/storefront/dist/server/chunks/{_astro-internal_middleware_CqUpziyW.mjs → _astro-internal_middleware_BnKXd-Ev.mjs} +1 -1
  127. package/packages/storefront/dist/server/chunks/{_page__Dz-iZHMh.mjs → _page__CXnal5Rn.mjs} +1 -1
  128. package/packages/storefront/dist/server/chunks/{account_tfs9KFTy.mjs → account_C6XTKIP9.mjs} +1 -1
  129. package/packages/storefront/dist/server/chunks/astro/{assets-service_DSoC_W52.mjs → assets-service_146xb0vN.mjs} +11 -67
  130. package/packages/storefront/dist/server/chunks/{astro_Cu3MZ9xv.mjs → astro_DIU6qHCh.mjs} +34 -79
  131. package/packages/storefront/dist/server/chunks/{index_CGzMgZTN.mjs → index_EbDDnIXs.mjs} +1 -1
  132. package/packages/storefront/dist/server/chunks/{index_BKS_40rA.mjs → index_STpvD2cy.mjs} +1 -1
  133. package/packages/storefront/dist/server/chunks/{node_lZaNT3E1.mjs → node_DHQVZgH_.mjs} +1 -1
  134. package/packages/storefront/dist/server/chunks/pages/{404_CMwuVMu1.mjs → 404_n3mvoSWv.mjs} +94 -1140
  135. package/packages/storefront/dist/server/chunks/pages/{__Dz53F-0T.mjs → __C9Nd4c7_.mjs} +11 -42
  136. package/packages/storefront/dist/server/chunks/pages/{_page__C1x19nYF.mjs → _page__BnXBvVvn.mjs} +4 -20
  137. package/packages/storefront/dist/server/chunks/pages/account_Dk-8R3rY.mjs +22 -0
  138. package/packages/storefront/dist/server/chunks/pages/{index_CqvjdvSg.mjs → index_us3QX6kE.mjs} +5 -22
  139. package/packages/storefront/dist/server/chunks/pages/node_BGdGQ52C.mjs +1864 -0
  140. package/packages/storefront/dist/server/chunks/pages/sitemap-_index__rcX10oKd.mjs +32 -0
  141. package/packages/storefront/dist/server/chunks/pages/~fallback_BNfV6ECv.mjs +22 -0
  142. package/packages/storefront/dist/server/chunks/sitemap-_index__e6mToVZH.mjs +5 -0
  143. package/packages/storefront/dist/server/chunks/{~fallback_CrFe__-f.mjs → ~fallback_Cg1Pbe1d.mjs} +1 -1
  144. package/packages/storefront/dist/server/entry.mjs +18 -17
  145. package/packages/storefront/dist/server/images.dist.csv +37 -0
  146. package/packages/storefront/dist/server/images.src.csv +13 -0
  147. package/packages/storefront/dist/server/manifest_xBcEm6Np.mjs +206 -0
  148. package/packages/storefront/dist/server/middleware.mjs +2 -2
  149. package/packages/storefront/dist/server/renderers.mjs +1 -1
  150. package/packages/storefront/dist/server/static-builds.csv +80 -0
  151. package/packages/storefront/package.json +1 -1
  152. package/packages/storefront/scripts/build-prod.sh +17 -0
  153. package/packages/storefront/src/lib/components/AccountLink.vue +28 -12
  154. package/packages/storefront/src/lib/components/globals/Skeleton.vue +6 -4
  155. package/packages/storefront/src/lib/composables/use-login-form.ts +6 -1
  156. package/packages/storefront/src/lib/scripts/vbeta-app.ts +14 -3
  157. package/packages/storefront/src/lib/state/customer-session.ts +23 -11
  158. package/packages/test-base/package.json +1 -1
  159. package/packages/types/package.json +1 -1
  160. package/packages/storefront/dist/client/_astro/SearchShowcase.CUkbXIRk.js +0 -1
  161. package/packages/storefront/dist/client/_astro/ShopHeader.D7qqQxFD.js +0 -7
  162. package/packages/storefront/dist/client/_astro/customer-session.Cctko5_9.js +0 -7
  163. package/packages/storefront/dist/client/assets/.gitkeep +0 -2
  164. package/packages/storefront/dist/server/chunks/404_BcY_5eJJ.mjs +0 -5
  165. package/packages/storefront/dist/server/chunks/pages/account_B5Z6wDBy.mjs +0 -32
  166. package/packages/storefront/dist/server/chunks/pages/node_mvX6Tssv.mjs +0 -879
  167. package/packages/storefront/dist/server/chunks/pages/~fallback_D2ugBVgc.mjs +0 -32
  168. package/packages/storefront/dist/server/manifest_D4v8KX-D.mjs +0 -206
package/CHANGELOG.md CHANGED
@@ -2,6 +2,34 @@
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.14.1](https://github.com/ecomplus/cloud-commerce/compare/v2.14.0...v2.14.1) (2024-04-16)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **storefront:** Prevent hydration mismatch with `<AccountLink>` on logged state ([a4d1be9](https://github.com/ecomplus/cloud-commerce/commit/a4d1be9a171fe292794da2b0013f34d9b690a567))
11
+ * **storefront:** Properly set `ecomPassport` session auth for vbeta-app ([a6d8e4e](https://github.com/ecomplus/cloud-commerce/commit/a6d8e4ebf27f134fc29da0ab5025c8bc73431426))
12
+
13
+ ## [2.14.0](https://github.com/ecomplus/cloud-commerce/compare/v2.13.1...v2.14.0) (2024-04-16)
14
+
15
+
16
+ ### Features
17
+
18
+ * **feeds:** Start rendering catalog sitemap (categories/brands/products) on /sitemap-catalog.xml ([c52ffd7](https://github.com/ecomplus/cloud-commerce/commit/c52ffd738f72c00902e306c8565a0950b1d35c1b))
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * **cli:** Properly bypass CMS (/admin/) routes on bunny.net CDN ([a35df9d](https://github.com/ecomplus/cloud-commerce/commit/a35df9d1ab000a0f6be0b4caeb5c47afe6993216))
24
+ * **cli:** Update bunny.net edge rules config to bypass all .xml URLs (sitemap and catalogs) ([31dc5c1](https://github.com/ecomplus/cloud-commerce/commit/31dc5c18f12c41d50b8fb0198369564cc92fd0ff))
25
+ * **feeds:** Properly set response headers on products catalog ([269d30a](https://github.com/ecomplus/cloud-commerce/commit/269d30a0e9d9e8c559e49148b91559c0d94f18c3))
26
+ * **storefront:** Add `isSubmitReady` state to login form composable ([4ce2418](https://github.com/ecomplus/cloud-commerce/commit/4ce2418f720ab0d8e82e33a4ec9a1cd5574cbf71))
27
+ * **storefront:** Edit production build script to add sitemap URL (with domain) on static robots.txt ([4f19fae](https://github.com/ecomplus/cloud-commerce/commit/4f19fae9a49aa5db77b15be9e7c8fe202f9cb4bb))
28
+ * **storefront:** Fix `<AccountLink>` with separated login URL ([26ba81d](https://github.com/ecomplus/cloud-commerce/commit/26ba81d9e2ef7590cfb1759a8f9f303b39991701))
29
+ * **storefront:** Prevent error with skeleton with less than 5 rows ([2c9c009](https://github.com/ecomplus/cloud-commerce/commit/2c9c0099d49915d93eb5ae0dbcd041c843be108e))
30
+ * **storefront:** Set Firebase Auth `languageCode` with default store settings language ([15c93b6](https://github.com/ecomplus/cloud-commerce/commit/15c93b6fe0e3186b38ac3a5659a4be0622ea8de1))
31
+ * **storefront:** Update vbeta-app script with `@ecomplus/storefront-app@2.0.0-beta.199` ([57f6878](https://github.com/ecomplus/cloud-commerce/commit/57f68787f684a0d9d56d747b7c9a1a5acfe45ee5))
32
+
5
33
  ### [2.13.1](https://github.com/ecomplus/cloud-commerce/compare/v2.13.0...v2.13.1) (2024-04-15)
6
34
 
7
35
  ## [2.13.0](https://github.com/ecomplus/cloud-commerce/compare/v2.12.2...v2.13.0) (2024-04-15)
@@ -3,6 +3,7 @@
3
3
  "redirects": [
4
4
  { "source": "/blog", "destination": "/blog/1", "type": 301 },
5
5
  { "source": "/pages/:slug*", "destination": "/p/:slug", "type": 301 },
6
+ { "source": "/sitemap.xml", "destination": "/sitemap-index.xml", "type": 302 },
6
7
  { "source": "/posts/*/*/:slug*", "destination": "/posts/:slug", "type": 301 },
7
8
  { "source": "/12-cavity-spool-cakes-mini-cake-pan-wilton", "destination": "/categoria/formas-de-bolo", "type": 301 },
8
9
  { "source": "/20-pc-beginning-buttercream-decorating-wilton", "destination": "/categoria/bicos-de-confeitar", "type": 301 },
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/feeds": "^2.12.2",
19
- "@cloudcommerce/firebase": "^2.12.2",
20
- "@cloudcommerce/passport": "^2.12.2"
18
+ "@cloudcommerce/feeds": "^2.14.0",
19
+ "@cloudcommerce/firebase": "^2.14.0",
20
+ "@cloudcommerce/passport": "^2.14.0"
21
21
  }
22
22
  }
@@ -12,7 +12,7 @@ sections: [
12
12
  "type": "search-showcase",
13
13
  "fixedParams": {
14
14
  "sort": "-price_discount",
15
- "price_discount>": 1
15
+ "price_discount>": 1.01
16
16
  }
17
17
  }
18
18
  ]
@@ -19,16 +19,16 @@
19
19
  },
20
20
  "main": "index.js",
21
21
  "dependencies": {
22
- "@cloudcommerce/api": "^2.12.2",
23
- "@cloudcommerce/firebase": "^2.12.2",
24
- "@cloudcommerce/ssr": "^2.12.2",
22
+ "@cloudcommerce/api": "^2.14.0",
23
+ "@cloudcommerce/firebase": "^2.14.0",
24
+ "@cloudcommerce/ssr": "^2.14.0",
25
25
  "@headlessui/vue": "^1.7.18",
26
26
  "micromark": "^4.0.0"
27
27
  },
28
28
  "devDependencies": {
29
- "@cloudcommerce/i18n": "^2.12.2",
30
- "@cloudcommerce/storefront": "^2.12.2",
31
- "@cloudcommerce/types": "^2.12.2",
29
+ "@cloudcommerce/i18n": "^2.14.0",
30
+ "@cloudcommerce/storefront": "^2.14.0",
31
+ "@cloudcommerce/types": "^2.14.0",
32
32
  "@iconify-json/mingcute": "^1.1.16",
33
33
  "photoswipe": "^5.4.3"
34
34
  }
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <Menu
3
3
  as="div"
4
- class="text-base-800 relative text-center text-sm"
4
+ class="relative text-center text-sm text-base-800"
5
5
  v-slot="{ open }"
6
6
  >
7
7
  <div v-if="open">
@@ -17,20 +17,20 @@
17
17
  </MenuButton>
18
18
  </AccountLink>
19
19
  <Fade>
20
- <MenuItems class="divide-base-100 absolute -right-8 mt-2
21
- w-56 divide-y rounded bg-white shadow
20
+ <MenuItems class="absolute -right-8 mt-2 w-56
21
+ divide-y divide-base-100 rounded bg-white shadow
22
22
  ring-1 ring-black/5 focus:outline-none">
23
- <div class="text-base-600 p-3">
23
+ <div class="p-3 text-base-600">
24
24
  {{ `${$t.i19hello} ${customerName || $t.i19visitor}` }}
25
- <AccountLink role="button" class="ui-btn-sm ui-btn-primary my-1 block">
26
- {{ $t.i19accessMyAccount }}
25
+ <AccountLink role="button" class="my-1 block ui-btn-sm ui-btn-primary">
26
+ {{ isLogged ? $t.i19myAccount : $t.i19accessMyAccount }}
27
27
  </AccountLink>
28
- <AccountLink v-if="!isLogged" is-sign-up class="ui-link block">
28
+ <AccountLink v-if="!isLogged" is-sign-up class="block ui-link">
29
29
  {{ $t.i19createAnAccount }}
30
30
  </AccountLink>
31
31
  </div>
32
32
  <ul class="list-none">
33
- <MenuItem as="li" v-slot="{ active }">
33
+ <MenuItem v-if="isLogged" as="li" v-slot="{ active }">
34
34
  <AccountLink
35
35
  to="orders"
36
36
  class="block p-2"
@@ -39,13 +39,13 @@
39
39
  {{ $t.i19myOrders }}
40
40
  </AccountLink>
41
41
  </MenuItem>
42
- <MenuItem as="li" v-slot="{ active }">
42
+ <MenuItem v-if="isLogged" as="li" v-slot="{ active }">
43
43
  <AccountLink
44
44
  to="favorites"
45
45
  class="block p-2"
46
46
  :class="active ? 'bg-base-100 text-primary' : null"
47
47
  >
48
- <i class="i-star-line mr-1"></i>
48
+ <i class="mr-1 i-star-line"></i>
49
49
  {{ $t.i19myFavorites }}
50
50
  </AccountLink>
51
51
  </MenuItem>
@@ -64,19 +64,22 @@
64
64
  </ALink>
65
65
  </MenuItem>
66
66
  <MenuItem as="li">
67
- <div class="text-base-500 flex justify-center gap-2 p-2 text-base">
67
+ <div class="flex justify-center gap-2 p-2 text-base text-base-500">
68
68
  <span v-for="(href, network) in socialNetworks" :key="network">
69
69
  <SocialNetworkLink
70
70
  :network="network"
71
- class="hover:text-primary p-1"
71
+ class="p-1 hover:text-primary"
72
72
  />
73
73
  </span>
74
74
  </div>
75
75
  </MenuItem>
76
76
  <MenuItem v-if="isLogged" as="li">
77
- <button @click="logout" class="text-base-800 p-2 text-right">
78
- <span class="text-base-600">{{ $t.i19logout }}</span>
79
- <i class="i-align-arrow-left-fill ml-1 text-lg"></i>
77
+ <button
78
+ @click="logout"
79
+ class="p-2 text-right text-base-400 hover:text-danger-800"
80
+ >
81
+ <span class="text-danger-800">{{ $t.i19logout }}</span>
82
+ <i class="ml-1 text-lg i-align-arrow-left-fill"></i>
80
83
  </button>
81
84
  </MenuItem>
82
85
  </ul>
@@ -1,10 +1,10 @@
1
1
  <template>
2
- <article class="from-secondary-700 to-secondary-950 flex min-h-screen w-full
3
- flex-col justify-center bg-gradient-to-br">
2
+ <article class="flex min-h-screen w-full flex-col justify-center
3
+ bg-gradient-to-br from-secondary-700 to-secondary-950">
4
4
  <div class="mx-auto p-4">
5
- <section class="ui-section text-center">
5
+ <section class="text-center ui-section">
6
6
  <a href="/" class="text-base-200 hover:text-white">
7
- <i class="i-arrow-right-line mr-1 rotate-180"></i>
7
+ <i class="mr-1 rotate-180 i-arrow-right-line"></i>
8
8
  {{ $t.i19goToStore }}
9
9
  </a>
10
10
  </section>
@@ -20,7 +20,7 @@
20
20
  </template>
21
21
  </LoginForm>
22
22
  </section>
23
- <nav v-if="$settings.serviceLinks?.length" class="ui-section px-0">
23
+ <nav v-if="$settings.serviceLinks?.length" class="px-0 ui-section">
24
24
  <ul class="mx-auto flex max-w-sm flex-wrap items-center
25
25
  justify-evenly gap-4 px-3">
26
26
  <li
@@ -1,10 +1,10 @@
1
1
  <template>
2
2
  <form
3
- class="text-base-800 w-full max-w-sm bg-white p-6 text-base md:p-8"
3
+ class="w-full max-w-sm bg-white p-6 text-base text-base-800 md:p-8"
4
4
  @submit.prevent="() => submitLogin(loginLinkActionUrl)"
5
5
  >
6
6
  <slot name="head" />
7
- <p class="text-base-600 mb-4 text-2xl font-light">
7
+ <p class="mb-4 text-2xl font-light text-base-600">
8
8
  {{ $t.i19hello }}
9
9
  <span v-if="customerName">{{ customerName }}</span>
10
10
  <span v-else class="lowercase">{{ $t.i19visitor }}</span>
@@ -36,32 +36,36 @@
36
36
  <a
37
37
  v-show="!isSignUp && !isLinkSignInBlocked"
38
38
  href="?password"
39
- class="text-base-500 ui-link text-right text-sm lowercase"
39
+ class="text-right text-sm lowercase text-base-500 ui-link"
40
40
  @click.prevent="isLinkSignIn = !isLinkSignIn"
41
41
  >
42
42
  {{ isLinkSignIn ? $t.i19enterWithPassword : $t.i19iForgotMyPassword }}
43
43
  </a>
44
44
  <button
45
45
  type="submit"
46
- :disabled="isSubmitting"
47
- class="ui-btn-lg ui-btn-primary mb-2 mt-5 w-full"
48
- :class="isSubmitting && 'opacity-50'"
46
+ :disabled="!isSubmitReady"
47
+ class="mb-2 mt-5 flex w-full
48
+ items-center justify-center gap-3 ui-btn-lg ui-btn-primary"
49
+ :class="!isSubmitReady && 'opacity-50'"
49
50
  >
50
- {{ isSignUp ? $t.i19signUp : $t.i19accessMyAccount }}
51
+ <Fade slide="left">
52
+ <Spinner v-if="!isSubmitReady" class="size-4" />
53
+ </Fade>
54
+ <span>{{ isSignUp ? $t.i19signUp : $t.i19accessMyAccount }}</span>
51
55
  </button>
52
56
  </div>
53
57
  <Fade speed="slow">
54
58
  <p
55
59
  v-if="isEmailSentMsg"
56
- class="text-success-800 absolute left-0 top-0 mt-4 font-medium"
60
+ class="absolute left-0 top-0 mt-4 font-medium text-success-800"
57
61
  >
58
- <i class="i-check mr-1"></i>
62
+ <i class="mr-1 i-check"></i>
59
63
  {{ $t.i19emailWasSentMsg }}
60
64
  </p>
61
65
  </Fade>
62
66
  <a
63
67
  href="?sign_up"
64
- class="ui-btn-lg ui-btn-contrast block w-full text-center"
68
+ class="block w-full text-center ui-btn-lg ui-btn-contrast"
65
69
  @click.prevent="isSignUp = !isSignUp"
66
70
  >
67
71
  {{ isSignUp ? $t.i19accessMyAccount : $t.i19createAnAccount }}
@@ -73,6 +77,7 @@
73
77
  <script lang="ts" setup>
74
78
  import useLoginForm from '@@sf/composables/use-login-form';
75
79
  import { customerName } from '@@sf/state/customer-session';
80
+ import Spinner from '@@sf/components/Spinner.vue';
76
81
 
77
82
  export interface Props {
78
83
  loginLinkActionUrl?: string | null;
@@ -85,6 +90,7 @@ const {
85
90
  email,
86
91
  password,
87
92
  isSubmitting,
93
+ isSubmitReady,
88
94
  submitLogin,
89
95
  } = useLoginForm();
90
96
  const isEmailSentMsg = ref(false);
@@ -72,7 +72,7 @@
72
72
  </a>
73
73
  </li>
74
74
  <li>
75
- <a href="/s" class="text-base-900 ui-link">
75
+ <a href="/s/" class="text-base-900 ui-link">
76
76
  {{ $t.i19allProducts }}
77
77
  </a>
78
78
  </li>
@@ -0,0 +1,75 @@
1
+ ---
2
+ import { type RouteContext, loadRouteContext } from '@@sf/ssr-context';
3
+ import { countBlogPages } from './blog/_blog-pages';
4
+
5
+ let routeContext: RouteContext;
6
+ try {
7
+ routeContext = await loadRouteContext(Astro);
8
+ } catch (err: any) {
9
+ return err.astroResponse;
10
+ }
11
+ const { settings: { domain }, getContent } = routeContext;
12
+ const { index } = Astro.params;
13
+
14
+ Astro.response.headers.set('Content-Type', 'application/xml; charset=UTF-8');
15
+
16
+ let xml = '<?xml version="1.0" encoding="UTF-8"?>';
17
+ if (index === 'index') {
18
+ xml += `
19
+ <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
20
+ <sitemap><loc>https://${domain}/sitemap-0.xml</loc></sitemap>
21
+ <sitemap><loc>https://${domain}/sitemap-catalog.xml</loc></sitemap>
22
+ </sitemapindex>`;
23
+ } else {
24
+ const { postSlugs, totalPages } = await countBlogPages();
25
+ xml += `
26
+ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
27
+ <url>
28
+ <loc>https://${domain}/</loc>
29
+ <changefreq>daily</changefreq>
30
+ <priority>1</priority>
31
+ </url>
32
+ <url>
33
+ <loc>https://${domain}/s/</loc>
34
+ <changefreq>daily</changefreq>
35
+ <priority>0.8</priority>
36
+ </url>`;
37
+ for (let i = 1; i <= totalPages; i++) {
38
+ xml += `
39
+ <url>
40
+ <loc>https://${domain}/blog/${i}</loc>
41
+ <changefreq>weekly</changefreq>
42
+ <priority>0.8</priority>
43
+ </url>`;
44
+ }
45
+ postSlugs.forEach((postSlug) => {
46
+ xml += `
47
+ <url>
48
+ <loc>https://${domain}/posts/${postSlug}</loc>
49
+ <changefreq>monthly</changefreq>
50
+ <priority>0.8</priority>
51
+ </url>`;
52
+ });
53
+ const pageSlugs = await getContent('extra-pages/');
54
+ pageSlugs.forEach((pageSlug) => {
55
+ xml += `
56
+ <url>
57
+ <loc>https://${domain}/p/${pageSlug}</loc>
58
+ <changefreq>monthly</changefreq>
59
+ <priority>0.7</priority>
60
+ </url>`;
61
+ });
62
+ xml += `
63
+ </urlset>`;
64
+ }
65
+
66
+ export const partial = true;
67
+
68
+ export async function getStaticPaths() {
69
+ return [{
70
+ params: { index: 'index' },
71
+ }];
72
+ }
73
+ ---
74
+
75
+ <Fragment set:html={xml} />
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/events": "^2.12.2",
19
- "@cloudcommerce/firebase": "^2.12.2",
20
- "@cloudcommerce/modules": "^2.12.2"
18
+ "@cloudcommerce/events": "^2.14.0",
19
+ "@cloudcommerce/firebase": "^2.14.0",
20
+ "@cloudcommerce/modules": "^2.14.0"
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.12.2"
29
+ "@cloudcommerce/cli": "^2.14.0"
30
30
  },
31
31
  "devDependencies": {
32
- "@cloudcommerce/eslint": "^2.12.2",
32
+ "@cloudcommerce/eslint": "^2.14.0",
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.13.1",
4
+ "version": "2.14.1",
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>",
@@ -36,7 +36,7 @@
36
36
  "vite": "^5.2.8",
37
37
  "vitest": "^1.5.0",
38
38
  "zx": "^7.2.3",
39
- "@cloudcommerce/eslint": "2.13.1"
39
+ "@cloudcommerce/eslint": "2.14.1"
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.13.1",
4
+ "version": "2.14.1",
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.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app for simple affiliate program",
6
6
  "main": "lib/index.js",
7
7
  "files": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-correios",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app for Correios shipping calculation",
6
6
  "main": "lib/index.js",
7
7
  "files": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-custom-payment",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app for simple custom payment methods",
6
6
  "main": "lib/index.js",
7
7
  "files": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-custom-shipping",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app for custom shipping methods",
6
6
  "main": "lib/custom-shipping.js",
7
7
  "files": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-datafrete",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
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.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app for complex discount rules",
6
6
  "main": "lib/discounts.js",
7
7
  "files": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-emails",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce default transactional email app",
6
6
  "main": "lib/index.js",
7
7
  "files": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-fb-conversions",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
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
  "files": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-flash-courier",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app to integrate Flash Courier",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-frenet",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app for Frenet shipping calculation",
6
6
  "main": "lib/frenet.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-galaxpay",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app to integrate Galax Pay for recurring payments",
6
6
  "main": "lib/galaxpay.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-google-analytics",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app to send carts/orders events to GA Measurement Protocol",
6
6
  "main": "lib/index.js",
7
7
  "files": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-jadlog",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app for Jadlog shipping calculation",
6
6
  "main": "lib/index.js",
7
7
  "files": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-loyalty-points",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app to handle simple loyalty points programs",
6
6
  "main": "lib/loyalty-points.js",
7
7
  "files": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-mandae",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app to integrate Mandaê shipping intermediator",
6
6
  "main": "lib/index.js",
7
7
  "files": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-melhor-envio",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app to integrate Melhor Envio",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-mercadopago",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app to integrate Mercado Pago",
6
6
  "main": "lib/mercadopago.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-pagaleve",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app to integrate Pagaleve",
6
6
  "main": "lib/pagaleve.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-pagarme",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app to integrate Pagar.me",
6
6
  "main": "lib/pagarme.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-pagarme-v5",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app to integrate Pagar.me API v5 with recurring payments",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-paghiper",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app to integrate PagHiper",
6
6
  "main": "lib/paghiper.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-pix",
3
3
  "type": "module",
4
- "version": "2.13.1",
4
+ "version": "2.14.1",
5
5
  "description": "e-com.plus Cloud Commerce app to integrate Pix API (Bacen)",
6
6
  "main": "lib/pix.js",
7
7
  "exports": {