cloudcommerce 0.24.1 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/test-e2e.yml +2 -2
- package/CHANGELOG.md +43 -0
- package/action.yml +2 -2
- package/ecomplus-stores/barra-doce/.idx/dev.nix +24 -0
- package/ecomplus-stores/barra-doce/functions/many/package.json +3 -3
- package/ecomplus-stores/barra-doce/functions/ssr/content/extra-pages/contato.json +11 -0
- package/ecomplus-stores/barra-doce/functions/ssr/content/extra-pages/terms.json +11 -0
- package/ecomplus-stores/barra-doce/functions/ssr/content/extra-pages/trocas.json +11 -0
- package/ecomplus-stores/barra-doce/functions/ssr/content/layout.json +30 -0
- package/ecomplus-stores/barra-doce/functions/ssr/content/settings.json +3 -3
- package/ecomplus-stores/barra-doce/functions/ssr/package.json +7 -7
- package/ecomplus-stores/barra-doce/functions/ssr/src/assets/style.css +2 -2
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopFooter.vue +149 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeader.vue +2 -2
- package/ecomplus-stores/barra-doce/functions/ssr/src/layouts/PageFooter.astro +68 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/layouts/PageHeader.astro +1 -1
- package/ecomplus-stores/barra-doce/functions/ssr/src/main/Home.astro +6 -6
- package/ecomplus-stores/barra-doce/functions/ssr/src/pages/index.astro +2 -0
- package/ecomplus-stores/barra-doce/functions/with-apps/package.json +3 -3
- package/ecomplus-stores/barra-doce/package.json +2 -2
- package/ecomplus-stores/iluminim/.idx/dev.nix +24 -0
- package/ecomplus-stores/iluminim/functions/many/package.json +3 -3
- package/ecomplus-stores/iluminim/functions/ssr/content/extra-pages/contato.json +11 -0
- package/ecomplus-stores/iluminim/functions/ssr/content/extra-pages/terms.json +11 -0
- package/ecomplus-stores/iluminim/functions/ssr/content/extra-pages/trocas.json +11 -0
- package/ecomplus-stores/iluminim/functions/ssr/content/layout.json +30 -0
- package/ecomplus-stores/iluminim/functions/ssr/package.json +7 -7
- package/ecomplus-stores/iluminim/functions/ssr/src/assets/style.css +2 -2
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopFooter.vue +149 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeader.vue +2 -2
- package/ecomplus-stores/iluminim/functions/ssr/src/layouts/PageFooter.astro +68 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/layouts/PageHeader.astro +1 -1
- package/ecomplus-stores/iluminim/functions/ssr/src/pages/index.astro +2 -0
- package/ecomplus-stores/iluminim/functions/with-apps/package.json +3 -3
- package/ecomplus-stores/iluminim/package.json +2 -2
- package/ecomplus-stores/monocard/.idx/dev.nix +24 -0
- package/ecomplus-stores/monocard/functions/ssr/package.json +1 -1
- package/ecomplus-stores/tia-sonia/.idx/dev.nix +24 -0
- package/package.json +6 -6
- package/packages/api/package.json +1 -1
- package/packages/apps/affilate-program/package.json +1 -1
- package/packages/apps/correios/package.json +5 -3
- package/packages/apps/correios/tests/calculate-shipping.test.mjs +45 -0
- package/packages/apps/custom-payment/package.json +1 -1
- package/packages/apps/custom-shipping/package.json +4 -2
- package/packages/apps/custom-shipping/tests/calculate-shipping.test.mjs +37 -0
- package/packages/apps/datafrete/package.json +2 -2
- package/packages/apps/discounts/package.json +1 -1
- package/packages/apps/emails/package.json +1 -1
- package/packages/apps/fb-conversions/package.json +2 -2
- package/packages/apps/flash-courier/package.json +2 -2
- package/packages/apps/frenet/package.json +2 -2
- package/packages/apps/galaxpay/package.json +2 -2
- package/packages/apps/google-analytics/package.json +2 -2
- package/packages/apps/jadlog/package.json +2 -2
- package/packages/apps/loyalty-points/package.json +4 -2
- package/packages/apps/loyalty-points/tests/1-list-payments.test.mjs +37 -0
- package/packages/apps/loyalty-points/tests/2-create-transaction.test.mjs +41 -0
- package/packages/apps/melhor-envio/package.json +2 -2
- package/packages/apps/mercadopago/package.json +5 -3
- package/packages/apps/mercadopago/tests/1-list-payments.test.mjs +37 -0
- package/packages/apps/mercadopago/tests/2-create-transaction.test.mjs +42 -0
- package/packages/apps/pagarme/package.json +2 -2
- package/packages/apps/paghiper/package.json +2 -2
- package/packages/apps/pix/package.json +2 -2
- package/packages/apps/tiny-erp/package.json +2 -2
- package/packages/apps/webhooks/package.json +2 -2
- package/packages/cli/lib/cli.js +5 -1
- package/packages/cli/package.json +1 -1
- package/packages/cli/src/cli.ts +5 -1
- package/packages/config/package.json +1 -1
- package/packages/emails/package.json +2 -2
- package/packages/eslint/package.json +5 -5
- package/packages/events/package.json +1 -1
- package/packages/feeds/package.json +1 -1
- package/packages/firebase/package.json +2 -2
- package/packages/i18n/lib/en_us/i19allProducts.txt +1 -0
- package/packages/i18n/lib/en_us/i19institutional.txt +1 -0
- package/packages/i18n/lib/en_us.d.ts +2 -0
- package/packages/i18n/lib/en_us.js +2 -0
- package/packages/i18n/lib/en_us.js.map +1 -1
- package/packages/i18n/lib/pt_br/i19allProducts.txt +1 -0
- package/packages/i18n/lib/pt_br/i19institutional.txt +1 -0
- package/packages/i18n/lib/pt_br.d.ts +2 -0
- package/packages/i18n/lib/pt_br.js +2 -0
- package/packages/i18n/lib/pt_br.js.map +1 -1
- package/packages/i18n/package.json +1 -1
- package/packages/i18n/src/en_us.ts +2 -0
- package/packages/i18n/src/pt_br.ts +2 -0
- package/packages/modules/package.json +4 -3
- package/packages/modules/tests/modules.test.mjs +7 -8
- package/packages/passport/package.json +1 -1
- package/packages/ssr/lib/firebase/serve-storefront.js +44 -33
- package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -1
- package/packages/ssr/package.json +6 -6
- package/packages/ssr/src/firebase/serve-storefront.ts +45 -34
- package/packages/storefront/config/storefront.cms.js +3 -1
- package/packages/storefront/config/storefront.config.mjs +8 -2
- package/packages/storefront/dist/client/_astro/{Carousel.63d511ab.js → Carousel.926668f2.js} +1 -1
- package/packages/storefront/dist/client/_astro/CartSidebar.eadba34f.js +1 -0
- package/packages/storefront/dist/client/_astro/HeroSlider.1f0524aa.js +1 -0
- package/packages/storefront/dist/client/_astro/PitchBar.7407eeaf.js +1 -0
- package/packages/storefront/dist/client/_astro/Prices.562a32ab.js +1 -0
- package/packages/storefront/dist/client/_astro/ProductShelf.763cd2ca.js +1 -0
- package/packages/storefront/dist/client/_astro/SearchModal.cffd4c2d.js +1 -0
- package/packages/storefront/dist/client/_astro/ShopHeader.126900a6.js +4 -0
- package/packages/storefront/dist/client/_astro/_...slug_.36cd433d.css +1 -0
- package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.ee681fa8.js +1 -0
- package/packages/storefront/dist/client/_astro/api.a2eda23e.js +1 -0
- package/packages/storefront/dist/client/_astro/client.e6d9439a.js +1 -0
- package/packages/storefront/dist/client/_astro/{firebase-app.1df8af9a.js → firebase-app.93857bfb.js} +121 -91
- package/packages/storefront/dist/client/_astro/format-money.923559cc.js +1 -0
- package/packages/storefront/dist/client/_astro/img.ec6ba316.js +1 -0
- package/packages/storefront/dist/client/_astro/index.709ac149.js +1 -0
- package/packages/storefront/dist/client/_astro/modules-info.48980668.js +1 -0
- package/packages/storefront/dist/client/manifest.webmanifest +1 -1
- package/packages/storefront/dist/client/sw.js +1 -1
- package/packages/storefront/dist/server/chunks/CartSidebar.2b555408.mjs +393 -0
- package/packages/storefront/dist/server/chunks/SearchModal.f418e188.mjs +44 -0
- package/packages/storefront/dist/server/chunks/_...d32bcc0c.mjs +35 -0
- package/packages/storefront/dist/server/chunks/{account@_@astro.a02ffb0b.mjs → account@_@astro.0106855f.mjs} +12 -4
- package/packages/storefront/dist/server/chunks/{astro.a7611b51.mjs → astro.bb5b7191.mjs} +141 -91
- package/packages/storefront/dist/server/chunks/{_...5323ec5a.mjs → endpoint@_@js.35807882.mjs} +12 -4
- package/packages/storefront/dist/server/chunks/{index@_@astro.d898498a.mjs → index@_@astro.477f5af1.mjs} +12 -4
- package/packages/storefront/dist/server/chunks/{index@_@astro.42c693b9.mjs → index@_@astro.e5a61d6e.mjs} +12 -4
- package/packages/storefront/dist/server/chunks/pages/{_...slug_.astro.0f33557e.mjs → _...slug_.astro.fd8a229f.mjs} +673 -937
- package/packages/storefront/dist/server/chunks/pages/{account.astro.9325adb2.mjs → account.astro.3b21bff8.mjs} +1 -1
- package/packages/storefront/dist/server/chunks/pages/endpoint.js.247079ba.mjs +119 -0
- package/packages/storefront/dist/server/chunks/pages/{index.astro.0f31fa39.mjs → index.astro.dab642f5.mjs} +605 -58
- package/packages/storefront/dist/server/chunks/pages/{~fallback.astro.bd93f01e.mjs → ~fallback.astro.7630c0d6.mjs} +25 -7
- package/packages/storefront/dist/server/chunks/{~fallback@_@astro.d17419ae.mjs → ~fallback@_@astro.65227dd7.mjs} +12 -4
- package/packages/storefront/dist/server/entry.mjs +28 -11
- package/packages/storefront/dist/server/manifest.webmanifest +1 -1
- package/packages/storefront/dist/server/renderers.mjs +80 -25
- package/packages/storefront/package.json +9 -8
- package/packages/storefront/src/helpers/server-data.ts +14 -17
- package/packages/storefront/src/images/use-ssr-picture.ts +18 -3
- package/packages/storefront/src/lib/components/BannerPictures.astro +4 -4
- package/packages/storefront/src/lib/components/PaymentMethodFlag.vue +2 -2
- package/packages/storefront/src/lib/components/SharedData.astro +1 -1
- package/packages/storefront/src/lib/composables/use-shared-data.ts +18 -3
- package/packages/storefront/src/lib/content.d.ts +36 -2
- package/packages/storefront/src/lib/layouts/Base.astro +3 -2
- package/packages/storefront/src/lib/layouts/use-page-main.ts +2 -2
- package/packages/storefront/src/lib/ssr-context.ts +1 -1
- package/packages/test-base/CHANGELOG.md +1 -0
- package/packages/test-base/README.md +7 -0
- package/packages/test-base/lib/endpoints.js +23 -0
- package/packages/test-base/lib/endpoints.js.map +1 -0
- package/packages/test-base/lib/index.js +4 -0
- package/packages/test-base/lib/index.js.map +1 -0
- package/packages/test-base/lib/playloads.js +14 -0
- package/packages/test-base/lib/playloads.js.map +1 -0
- package/packages/test-base/package.json +28 -0
- package/packages/test-base/payloads/calculate-shipping.json +37 -0
- package/packages/test-base/payloads/create-transaction.json +116 -0
- package/packages/test-base/payloads/list-payments.json +125 -0
- package/packages/test-base/src/endpoints.ts +37 -0
- package/packages/test-base/src/index.ts +3 -0
- package/packages/test-base/src/playloads.ts +24 -0
- package/packages/test-base/tsconfig.json +3 -0
- package/packages/types/package.json +1 -1
- package/ecomplus-stores/barra-doce/functions/ssr/content/extra-pages/.gitkeep +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/content/extra-pages/.gitkeep +0 -0
- package/packages/storefront/dist/client/_astro/HeroSlider.8d2ea532.js +0 -1
- package/packages/storefront/dist/client/_astro/PitchBar.c2a2ad79.js +0 -1
- package/packages/storefront/dist/client/_astro/Prices.8572765c.js +0 -1
- package/packages/storefront/dist/client/_astro/ProductShelf.4a105932.js +0 -1
- package/packages/storefront/dist/client/_astro/ShopHeader.2400b065.js +0 -4
- package/packages/storefront/dist/client/_astro/_...slug_.a786e016.css +0 -1
- package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.48e557ba.js +0 -1
- package/packages/storefront/dist/client/_astro/client.9dbf6b61.js +0 -1
- package/packages/storefront/dist/client/_astro/ecom-icon_CDmhA.png +0 -0
- package/packages/storefront/dist/client/_astro/ecom-icon_Z27EX9f.png +0 -0
- package/packages/storefront/dist/client/_astro/ecom-icon_Zo1CLq.png +0 -0
- package/packages/storefront/dist/client/_astro/headphone_22qtrt.avif +0 -0
- package/packages/storefront/dist/client/_astro/headphone_247ud8.avif +0 -0
- package/packages/storefront/dist/client/_astro/headphone_Z1hoMcQ.webp +0 -0
- package/packages/storefront/dist/client/_astro/headphone_Z1j5MXv.webp +0 -0
- package/packages/storefront/dist/client/_astro/img.7def76a1.js +0 -1
- package/packages/storefront/dist/client/_astro/index.c0c35ead.js +0 -1
- package/packages/storefront/dist/client/_astro/logo_144owC.webp +0 -0
- package/packages/storefront/dist/client/_astro/logo_1ug3XF.png +0 -0
- package/packages/storefront/dist/client/_astro/logo_Z1EIN1I.avif +0 -0
- package/packages/storefront/dist/client/_astro/passion_29BEzB.webp +0 -0
- package/packages/storefront/dist/client/_astro/passion_2sykkb.avif +0 -0
- package/packages/storefront/dist/client/_astro/passion_HYj6i.webp +0 -0
- package/packages/storefront/dist/client/_astro/passion_Z18ANwS.avif +0 -0
- package/packages/storefront/dist/client/_astro/passion_ZK2FPz.webp +0 -0
- package/packages/storefront/dist/client/_astro/passion_pVNbE.avif +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_1EUYOa.webp +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_1Sqf3x.png +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_1VeSii.avif +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_2wFECM.png +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_7mg8W.png +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_Kv492.webp +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_Z1DNkkN.webp +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_Z1IS4wy.avif +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_Zt4vbx.avif +0 -0
- package/packages/storefront/dist/client/_astro/rect859_1Bqr36.webp +0 -0
- package/packages/storefront/dist/client/_astro/rect859_1pj5UP.png +0 -0
- package/packages/storefront/dist/client/_astro/rect859_2dVuzq.avif +0 -0
- package/packages/storefront/dist/client/_astro/rect859_HaXay.png +0 -0
- package/packages/storefront/dist/client/_astro/rect859_Z100iy0.png +0 -0
- package/packages/storefront/dist/client/_astro/rect859_Z2i1RBz.avif +0 -0
- package/packages/storefront/dist/client/_astro/rect859_ZMRWqJ.webp +0 -0
- package/packages/storefront/dist/client/_astro/rect859_mPQHw.avif +0 -0
- package/packages/storefront/dist/client/_astro/rect859_xyq7d.webp +0 -0
- package/packages/storefront/dist/client/_astro/rect89_1DkX0O.webp +0 -0
- package/packages/storefront/dist/client/_astro/rect89_2uIqYp.avif +0 -0
- package/packages/storefront/dist/client/_astro/rect89_Z1rGPGT.webp +0 -0
- package/packages/storefront/dist/client/_astro/rect89_ZAjmIj.avif +0 -0
- package/packages/storefront/dist/client/~fallback.html +0 -98
- package/packages/storefront/dist/client/~index.html +0 -134
- package/packages/storefront/dist/server/images.dist.csv +0 -38
- package/packages/storefront/dist/server/images.src.csv +0 -11
- package/packages/storefront/dist/server/stylesheets.csv +0 -1
|
@@ -1,11 +1,214 @@
|
|
|
1
|
-
import { c as createAstro, a as createComponent, r as renderTemplate, b as renderComponent, m as maybeRenderHead, d as addAttribute, u as unescapeHTML
|
|
2
|
-
import { $ as $$Picture, p as parseShippingPhrase,
|
|
3
|
-
import {
|
|
1
|
+
import { c as createAstro, a as createComponent, r as renderTemplate, b as renderComponent, F as Fragment, m as maybeRenderHead, d as addAttribute, u as unescapeHTML } from '../astro.bb5b7191.mjs';
|
|
2
|
+
import { _ as _export_sfc, s as socialNetworks, S as SocialNetworkLink, $ as $$Picture, p as parseShippingPhrase, C as Carousel, a as CarouselControl, b as availableExtraDiscount, c as installmentsOption, d as discountOption, l as loyaltyPointsPrograms, e as addProductToCart, f as loadRouteContext, g as $$BaseHead, h as $$PageHeader, j as $$Base } from './_...slug_.astro.fd8a229f.mjs';
|
|
3
|
+
import { useSSRContext, defineComponent, computed, mergeProps, createVNode, resolveDynamicComponent, resolveComponent, withCtx, renderSlot, openBlock, createBlock, createCommentVNode, createTextVNode, toDisplayString, ref, shallowReactive, withDirectives, vShow, Fragment as Fragment$1, renderList, withModifiers, withAsyncContext } from 'vue';
|
|
4
|
+
import { ssrRenderAttrs, ssrInterpolate, ssrRenderVNode, ssrRenderSlot, ssrRenderList, ssrRenderComponent, ssrRenderStyle, ssrRenderClass, ssrRenderAttr } from 'vue/server-renderer';
|
|
4
5
|
import api from '@cloudcommerce/api';
|
|
5
6
|
import { inStock, price, name, img, onPromotion } from '@ecomplus/utils';
|
|
6
|
-
import { ssrRenderAttrs, ssrRenderVNode, ssrRenderSlot, ssrInterpolate, ssrRenderComponent, ssrRenderStyle, ssrRenderList } from 'vue/server-renderer';
|
|
7
7
|
import { useElementHover, watchOnce } from '@vueuse/core';
|
|
8
8
|
|
|
9
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
10
|
+
__name: "PaymentMethodFlag",
|
|
11
|
+
props: {
|
|
12
|
+
as: { default: "i" },
|
|
13
|
+
flag: {}
|
|
14
|
+
},
|
|
15
|
+
setup(__props, { expose: __expose }) {
|
|
16
|
+
__expose();
|
|
17
|
+
const props = __props;
|
|
18
|
+
const iconClassName = computed(() => {
|
|
19
|
+
switch (props.flag) {
|
|
20
|
+
case "pix":
|
|
21
|
+
return "i-pix text-[#77B6A8]";
|
|
22
|
+
case "visa":
|
|
23
|
+
return "i-visa";
|
|
24
|
+
case "mastercard":
|
|
25
|
+
return "i-mastercard";
|
|
26
|
+
case "elo":
|
|
27
|
+
return "i-elo";
|
|
28
|
+
case "amex":
|
|
29
|
+
return "i-amex";
|
|
30
|
+
case "hipercard":
|
|
31
|
+
return "i-hipercard";
|
|
32
|
+
case "diners":
|
|
33
|
+
return "i-dinersclub";
|
|
34
|
+
case "discover":
|
|
35
|
+
return "i-discover";
|
|
36
|
+
default:
|
|
37
|
+
return "";
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
const __returned__ = { props, iconClassName };
|
|
41
|
+
Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
|
|
42
|
+
return __returned__;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
function _sfc_ssrRender$6(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
|
|
46
|
+
if (!$setup.iconClassName) {
|
|
47
|
+
_push(`<b${ssrRenderAttrs(mergeProps({ class: "tracking-tighter leading-none mb-1 text-black text-[57%]" }, _attrs))}>${ssrInterpolate($setup.props.flag)}</b>`);
|
|
48
|
+
} else {
|
|
49
|
+
ssrRenderVNode(_push, createVNode(resolveDynamicComponent($props.as), mergeProps({ class: $setup.iconClassName }, _attrs), null), _parent);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const _sfc_setup$6 = _sfc_main$6.setup;
|
|
53
|
+
_sfc_main$6.setup = (props, ctx) => {
|
|
54
|
+
const ssrContext = useSSRContext();
|
|
55
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/lib/components/PaymentMethodFlag.vue");
|
|
56
|
+
return _sfc_setup$6 ? _sfc_setup$6(props, ctx) : void 0;
|
|
57
|
+
};
|
|
58
|
+
const PaymentMethodFlag = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["ssrRender", _sfc_ssrRender$6]]);
|
|
59
|
+
|
|
60
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
61
|
+
__name: "ShopFooter",
|
|
62
|
+
props: {
|
|
63
|
+
stamps: {}
|
|
64
|
+
},
|
|
65
|
+
setup(__props, { expose: __expose }) {
|
|
66
|
+
__expose();
|
|
67
|
+
const __returned__ = { get socialNetworks() {
|
|
68
|
+
return socialNetworks;
|
|
69
|
+
}, SocialNetworkLink, PaymentMethodFlag };
|
|
70
|
+
Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
|
|
71
|
+
return __returned__;
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
function _sfc_ssrRender$5(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
|
|
75
|
+
const _component_ALink = resolveComponent("ALink");
|
|
76
|
+
_push(`<footer${ssrRenderAttrs(mergeProps({ class: "w-screen bg-base-50 border-t border-base-100 py-2" }, _attrs))}><div class="ui-section"><div class="pb-7 border-b border-base-200 flex"><div class="text-base">`);
|
|
77
|
+
ssrRenderSlot(_ctx.$slots, "logo", {}, null, _push, _parent);
|
|
78
|
+
_push(`<p class="my-3">${ssrInterpolate(_ctx.$settings.description)}</p><div class="flex gap-2 text-base-500"><!--[-->`);
|
|
79
|
+
ssrRenderList($setup.socialNetworks, (href, network) => {
|
|
80
|
+
_push(`<span>`);
|
|
81
|
+
_push(ssrRenderComponent($setup["SocialNetworkLink"], {
|
|
82
|
+
network,
|
|
83
|
+
class: "p-1 hover:text-primary"
|
|
84
|
+
}, null, _parent));
|
|
85
|
+
_push(`</span>`);
|
|
86
|
+
});
|
|
87
|
+
_push(`<!--]--></div></div></div></div><div class="ui-section"><div class="flex justify-between items-start gap-5"><ul class="flex flex-wrap gap-y-3 gap-x-6 lg:gap-x-8"><!--[-->`);
|
|
88
|
+
ssrRenderList($props.stamps, (stamp, i) => {
|
|
89
|
+
_push(`<li>`);
|
|
90
|
+
_push(ssrRenderComponent(_component_ALink, {
|
|
91
|
+
href: stamp.href?.replace("{domain}", _ctx.$settings.domain || "")
|
|
92
|
+
}, {
|
|
93
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
94
|
+
if (_push2) {
|
|
95
|
+
ssrRenderSlot(_ctx.$slots, `picture-${i}`, {}, null, _push2, _parent2, _scopeId);
|
|
96
|
+
if (!stamp.img) {
|
|
97
|
+
_push2(`<span class="flex items-center"${_scopeId}>`);
|
|
98
|
+
if (stamp.icon) {
|
|
99
|
+
_push2(`<span class="text-4xl mr-2 [&>*]:bg-gradient-to-br [&>*]:from-success-200 [&>*]:to-success-700"${_scopeId}>`);
|
|
100
|
+
if (stamp.icon === "lock") {
|
|
101
|
+
_push2(`<i class="i-lock-closed"${_scopeId}></i>`);
|
|
102
|
+
} else if (stamp.icon === "check") {
|
|
103
|
+
_push2(`<i class="i-check-badge"${_scopeId}></i>`);
|
|
104
|
+
} else {
|
|
105
|
+
_push2(`<i class="i-arrow-path-rounded-square"${_scopeId}></i>`);
|
|
106
|
+
}
|
|
107
|
+
_push2(`</span>`);
|
|
108
|
+
} else {
|
|
109
|
+
_push2(`<!---->`);
|
|
110
|
+
}
|
|
111
|
+
_push2(`<span class="text-sm font-medium text-base-600 max-w-[140px]"${_scopeId}>${ssrInterpolate(stamp.alt)} `);
|
|
112
|
+
if (stamp.href && stamp.href.charAt(0) !== "/") {
|
|
113
|
+
_push2(`<i class="bg-base-400 ml-0.5 i-arrow-top-right-on-square"${_scopeId}></i>`);
|
|
114
|
+
} else {
|
|
115
|
+
_push2(`<!---->`);
|
|
116
|
+
}
|
|
117
|
+
_push2(`</span></span>`);
|
|
118
|
+
} else {
|
|
119
|
+
_push2(`<!---->`);
|
|
120
|
+
}
|
|
121
|
+
} else {
|
|
122
|
+
return [
|
|
123
|
+
renderSlot(_ctx.$slots, `picture-${i}`),
|
|
124
|
+
!stamp.img ? (openBlock(), createBlock("span", {
|
|
125
|
+
key: 0,
|
|
126
|
+
class: "flex items-center"
|
|
127
|
+
}, [
|
|
128
|
+
stamp.icon ? (openBlock(), createBlock("span", {
|
|
129
|
+
key: 0,
|
|
130
|
+
class: "text-4xl mr-2 [&>*]:bg-gradient-to-br [&>*]:from-success-200 [&>*]:to-success-700"
|
|
131
|
+
}, [
|
|
132
|
+
stamp.icon === "lock" ? (openBlock(), createBlock("i", {
|
|
133
|
+
key: 0,
|
|
134
|
+
class: "i-lock-closed"
|
|
135
|
+
})) : stamp.icon === "check" ? (openBlock(), createBlock("i", {
|
|
136
|
+
key: 1,
|
|
137
|
+
class: "i-check-badge"
|
|
138
|
+
})) : (openBlock(), createBlock("i", {
|
|
139
|
+
key: 2,
|
|
140
|
+
class: "i-arrow-path-rounded-square"
|
|
141
|
+
}))
|
|
142
|
+
])) : createCommentVNode("", true),
|
|
143
|
+
createVNode("span", { class: "text-sm font-medium text-base-600 max-w-[140px]" }, [
|
|
144
|
+
createTextVNode(toDisplayString(stamp.alt) + " ", 1),
|
|
145
|
+
stamp.href && stamp.href.charAt(0) !== "/" ? (openBlock(), createBlock("i", {
|
|
146
|
+
key: 0,
|
|
147
|
+
class: "bg-base-400 ml-0.5 i-arrow-top-right-on-square"
|
|
148
|
+
})) : createCommentVNode("", true)
|
|
149
|
+
])
|
|
150
|
+
])) : createCommentVNode("", true)
|
|
151
|
+
];
|
|
152
|
+
}
|
|
153
|
+
}),
|
|
154
|
+
_: 2
|
|
155
|
+
}, _parent));
|
|
156
|
+
_push(`</li>`);
|
|
157
|
+
});
|
|
158
|
+
_push(`<!--]--></ul><div class="flex flex-wrap md:flex-nowrap justify-end items-center gap-4 text-3xl md:text-2xl"><!--[-->`);
|
|
159
|
+
ssrRenderList(_ctx.$settings.payment_methods, (paymentMethod) => {
|
|
160
|
+
_push(ssrRenderComponent($setup["PaymentMethodFlag"], {
|
|
161
|
+
key: paymentMethod,
|
|
162
|
+
flag: paymentMethod
|
|
163
|
+
}, null, _parent));
|
|
164
|
+
});
|
|
165
|
+
_push(`<!--]--></div></div><div class="mt-6 text-xs text-center md:text-left md:flex justify-between gap-4"><div class="mb-3 md:mb-0"> @ ${ssrInterpolate(( new Date()).getFullYear())} ${ssrInterpolate(_ctx.$settings.corporate_name)} ${ssrInterpolate(_ctx.$settings.address ? `/ ${_ctx.$settings.address}` : "")} / ${ssrInterpolate(_ctx.$settings.doc_number)}</div>`);
|
|
166
|
+
_push(ssrRenderComponent(_component_ALink, {
|
|
167
|
+
href: "https://www.ecomplus.io/",
|
|
168
|
+
class: "italic text-[#37003c]"
|
|
169
|
+
}, {
|
|
170
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
171
|
+
if (_push2) {
|
|
172
|
+
_push2(` powered by <b${_scopeId}>E-Com Plus</b>`);
|
|
173
|
+
} else {
|
|
174
|
+
return [
|
|
175
|
+
createTextVNode(" powered by "),
|
|
176
|
+
createVNode("b", null, "E-Com Plus")
|
|
177
|
+
];
|
|
178
|
+
}
|
|
179
|
+
}),
|
|
180
|
+
_: 1
|
|
181
|
+
}, _parent));
|
|
182
|
+
_push(`</div></div></footer>`);
|
|
183
|
+
}
|
|
184
|
+
const _sfc_setup$5 = _sfc_main$5.setup;
|
|
185
|
+
_sfc_main$5.setup = (props, ctx) => {
|
|
186
|
+
const ssrContext = useSSRContext();
|
|
187
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/components/ShopFooter.vue");
|
|
188
|
+
return _sfc_setup$5 ? _sfc_setup$5(props, ctx) : void 0;
|
|
189
|
+
};
|
|
190
|
+
const ShopFooter = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["ssrRender", _sfc_ssrRender$5]]);
|
|
191
|
+
|
|
192
|
+
const $$Astro$6 = createAstro("https://ecom2-demo.web.app");
|
|
193
|
+
const $$PageFooter = createComponent(async ($$result, $$props, $$slots) => {
|
|
194
|
+
const Astro2 = $$result.createAstro($$Astro$6, $$props, $$slots);
|
|
195
|
+
Astro2.self = $$PageFooter;
|
|
196
|
+
const { routeContext } = Astro2.locals;
|
|
197
|
+
const { settings, getContent, isHomepage } = routeContext;
|
|
198
|
+
const LogoHeading = isHomepage ? "h2" : "h3";
|
|
199
|
+
const layoutContent = await getContent("layout");
|
|
200
|
+
const {
|
|
201
|
+
footer: { stamps }
|
|
202
|
+
} = layoutContent;
|
|
203
|
+
return renderTemplate`${renderComponent($$result, "ShopFooter", ShopFooter, { "stamps": stamps }, { "logo": ($$result2) => renderTemplate`${renderComponent($$result2, "Fragment", Fragment, { "slot": "logo" }, { "default": ($$result3) => renderTemplate`
|
|
204
|
+
${maybeRenderHead()}<a href="/">
|
|
205
|
+
${renderComponent($$result3, "LogoHeading", LogoHeading, {}, { "default": ($$result4) => renderTemplate`
|
|
206
|
+
${renderComponent($$result4, "Picture", $$Picture, { "src": settings.logo, "alt": settings.name, "widths": [300], "loading": "lazy", "class": "max-w-[150px]" })}
|
|
207
|
+
` })}
|
|
208
|
+
</a>
|
|
209
|
+
` })}` })}`;
|
|
210
|
+
}, "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/layouts/PageFooter.astro", void 0);
|
|
211
|
+
|
|
9
212
|
const useProductShelf = (props) => {
|
|
10
213
|
const title = ref(props.title || "");
|
|
11
214
|
const titleLink = ref(props.titleLink || "");
|
|
@@ -216,8 +419,8 @@ const $$BannerPictures = createComponent(async ($$result, $$props, $$slots) => {
|
|
|
216
419
|
subtitle,
|
|
217
420
|
buttonText,
|
|
218
421
|
index,
|
|
219
|
-
class: className = "max-w-screen-2xl",
|
|
220
|
-
mobileClass = "max-w-screen-sm"
|
|
422
|
+
class: className = "max-w-screen-sm sm:max-w-[828px] md:max-w-screen-2xl",
|
|
423
|
+
mobileClass = "max-w-screen-sm sm:max-w-screen-lg"
|
|
221
424
|
} = Astro2.props;
|
|
222
425
|
const hasHeader = title || subtitle || buttonText;
|
|
223
426
|
let { widths, mobileWidths } = Astro2.props;
|
|
@@ -225,16 +428,17 @@ const $$BannerPictures = createComponent(async ($$result, $$props, $$slots) => {
|
|
|
225
428
|
if (mobileImg) {
|
|
226
429
|
widths = [1536, 2048];
|
|
227
430
|
} else {
|
|
228
|
-
widths = [
|
|
431
|
+
widths = [640, 828, 1536, 2048];
|
|
229
432
|
if (hasHeader) {
|
|
230
433
|
widths = widths.map((w) => w / 2);
|
|
231
434
|
}
|
|
232
435
|
}
|
|
233
436
|
}
|
|
234
437
|
if (!mobileWidths?.length) {
|
|
235
|
-
mobileWidths = [
|
|
438
|
+
mobileWidths = [640, 1024];
|
|
236
439
|
}
|
|
237
|
-
return renderTemplate`${img && renderTemplate`${renderComponent($$result, "Picture", $$Picture, { "src": img, "alt": alt || "", "widths": widths, "fetchpriority": index === 0 ? "high" : "low", "loading": index === 0 ? "eager" : "lazy", "class": `${mobileImg ? "hidden md:block " : ""}mx-auto
|
|
440
|
+
return renderTemplate`${img && renderTemplate`${renderComponent($$result, "Picture", $$Picture, { "src": img, "alt": alt || "", "widths": widths, "fetchpriority": index === 0 ? "high" : "low", "loading": index === 0 ? "eager" : "lazy", "class": `${mobileImg ? "hidden md:block " : ""}mx-auto text-sm text-opacity-70 ${className}` })}`}
|
|
441
|
+
${mobileImg && renderTemplate`${renderComponent($$result, "Picture", $$Picture, { "src": mobileImg, "alt": alt || "", "widths": mobileWidths, "fetchpriority": index === 0 ? "high" : "low", "loading": index === 0 ? "eager" : "lazy", "class": `md:hidden mx-auto text-sm text-opacity-70 ${mobileClass}` })}`}`;
|
|
238
442
|
}, "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/components/BannerPictures.astro", void 0);
|
|
239
443
|
|
|
240
444
|
const useBanner = (props) => {
|
|
@@ -258,7 +462,7 @@ const useBanner = (props) => {
|
|
|
258
462
|
};
|
|
259
463
|
};
|
|
260
464
|
|
|
261
|
-
const _sfc_main$
|
|
465
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
262
466
|
__name: "Banner",
|
|
263
467
|
props: {
|
|
264
468
|
img: {},
|
|
@@ -285,11 +489,12 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
285
489
|
return __returned__;
|
|
286
490
|
}
|
|
287
491
|
});
|
|
288
|
-
function _sfc_ssrRender$
|
|
492
|
+
function _sfc_ssrRender$4(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
|
|
493
|
+
const _component_ALink = resolveComponent("ALink");
|
|
289
494
|
_push(`<div${ssrRenderAttrs(mergeProps({
|
|
290
495
|
class: ["mx-auto overflow-x-hidden", $setup.hasHeader ? "grid grid-cols-1 sm:grid-cols-2 items-center" : null]
|
|
291
496
|
}, _attrs))}>`);
|
|
292
|
-
|
|
497
|
+
_push(ssrRenderComponent(_component_ALink, {
|
|
293
498
|
href: $props.href,
|
|
294
499
|
class: $setup.hasHeader ? "sm:order-last [&_img]:max-w-full sm:[&_img]:max-w-none [&_img]:aspect-video sm:[&_img]:aspect-[2.5] [&_img]:object-cover" : "[&_img]:max-w-full"
|
|
295
500
|
}, {
|
|
@@ -303,7 +508,7 @@ function _sfc_ssrRender$3(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
|
|
|
303
508
|
}
|
|
304
509
|
}),
|
|
305
510
|
_: 3
|
|
306
|
-
}
|
|
511
|
+
}, _parent));
|
|
307
512
|
if ($setup.hasHeader) {
|
|
308
513
|
_push(`<div class="p-12 xl:ps-32 mb-3 sm:mb-0">`);
|
|
309
514
|
if ($setup.parsedTitle) {
|
|
@@ -328,7 +533,7 @@ function _sfc_ssrRender$3(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
|
|
|
328
533
|
_push(`<!---->`);
|
|
329
534
|
}
|
|
330
535
|
if ($setup.parsedButtonText) {
|
|
331
|
-
|
|
536
|
+
_push(ssrRenderComponent(_component_ALink, {
|
|
332
537
|
href: $props.buttonLink,
|
|
333
538
|
class: "ui-btn-lg ui-btn-contrast min-w-[150px] mt-7 md:mt-10"
|
|
334
539
|
}, {
|
|
@@ -342,7 +547,7 @@ function _sfc_ssrRender$3(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
|
|
|
342
547
|
}
|
|
343
548
|
}),
|
|
344
549
|
_: 1
|
|
345
|
-
}
|
|
550
|
+
}, _parent));
|
|
346
551
|
} else {
|
|
347
552
|
_push(`<!---->`);
|
|
348
553
|
}
|
|
@@ -352,15 +557,15 @@ function _sfc_ssrRender$3(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
|
|
|
352
557
|
}
|
|
353
558
|
_push(`</div>`);
|
|
354
559
|
}
|
|
355
|
-
const _sfc_setup$
|
|
356
|
-
_sfc_main$
|
|
560
|
+
const _sfc_setup$4 = _sfc_main$4.setup;
|
|
561
|
+
_sfc_main$4.setup = (props, ctx) => {
|
|
357
562
|
const ssrContext = useSSRContext();
|
|
358
563
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/components/Banner.vue");
|
|
359
|
-
return _sfc_setup$
|
|
564
|
+
return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0;
|
|
360
565
|
};
|
|
361
|
-
const Banner = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
566
|
+
const Banner = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["ssrRender", _sfc_ssrRender$4]]);
|
|
362
567
|
|
|
363
|
-
const _sfc_main$
|
|
568
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
364
569
|
__name: "HeroSlider",
|
|
365
570
|
props: {
|
|
366
571
|
autoplay: {},
|
|
@@ -373,7 +578,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
373
578
|
return __returned__;
|
|
374
579
|
}
|
|
375
580
|
});
|
|
376
|
-
function _sfc_ssrRender$
|
|
581
|
+
function _sfc_ssrRender$3(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
|
|
377
582
|
_push(`<section${ssrRenderAttrs(mergeProps({ class: "relative mx-auto" }, _attrs))}>`);
|
|
378
583
|
_push(ssrRenderComponent($setup["Carousel"], {
|
|
379
584
|
autoplay: $props.autoplay,
|
|
@@ -458,7 +663,7 @@ function _sfc_ssrRender$2(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
|
|
|
458
663
|
_push2(`<!--]-->`);
|
|
459
664
|
} else {
|
|
460
665
|
return [
|
|
461
|
-
(openBlock(true), createBlock(Fragment, null, renderList($props.slides, (slide, i) => {
|
|
666
|
+
(openBlock(true), createBlock(Fragment$1, null, renderList($props.slides, (slide, i) => {
|
|
462
667
|
return openBlock(), createBlock("li", {
|
|
463
668
|
key: i,
|
|
464
669
|
class: "shrink-0 basis-full"
|
|
@@ -478,20 +683,26 @@ function _sfc_ssrRender$2(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
|
|
|
478
683
|
}, _parent));
|
|
479
684
|
_push(`</section>`);
|
|
480
685
|
}
|
|
481
|
-
const _sfc_setup$
|
|
482
|
-
_sfc_main$
|
|
686
|
+
const _sfc_setup$3 = _sfc_main$3.setup;
|
|
687
|
+
_sfc_main$3.setup = (props, ctx) => {
|
|
483
688
|
const ssrContext = useSSRContext();
|
|
484
689
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/components/HeroSlider.vue");
|
|
485
|
-
return _sfc_setup$
|
|
690
|
+
return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
|
|
486
691
|
};
|
|
487
|
-
const HeroSlider = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
692
|
+
const HeroSlider = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["ssrRender", _sfc_ssrRender$3]]);
|
|
488
693
|
|
|
489
694
|
const $$Astro$4 = createAstro("https://ecom2-demo.web.app");
|
|
490
695
|
const $$BannersGrid = createComponent(async ($$result, $$props, $$slots) => {
|
|
491
696
|
const Astro2 = $$result.createAstro($$Astro$4, $$props, $$slots);
|
|
492
697
|
Astro2.self = $$BannersGrid;
|
|
493
698
|
const { banners } = Astro2.props;
|
|
494
|
-
return renderTemplate`${maybeRenderHead()}<section class="ui-section"
|
|
699
|
+
return renderTemplate`${maybeRenderHead()}<section class="ui-section">
|
|
700
|
+
<ul class="flex flex-wrap lg:flex-nowrap gap-4">
|
|
701
|
+
${banners.map((banner) => renderTemplate`<li class="lg:flex-1 [&_img]:w-full [&_img]:object-cover">
|
|
702
|
+
${renderComponent($$result, "Banner", Banner, { ...banner }, { "picture": ($$result2) => renderTemplate`${renderComponent($$result2, "BannerPictures", $$BannerPictures, { ...banner, "slot": "picture" })}` })}
|
|
703
|
+
</li>`)}
|
|
704
|
+
</ul>
|
|
705
|
+
</section>`;
|
|
495
706
|
}, "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/components/BannersGrid.astro", void 0);
|
|
496
707
|
|
|
497
708
|
const useProductCard = (props) => {
|
|
@@ -572,6 +783,329 @@ const useProductCard = (props) => {
|
|
|
572
783
|
};
|
|
573
784
|
};
|
|
574
785
|
|
|
786
|
+
const getPriceWithDiscount = (price, discount) => {
|
|
787
|
+
const { type, value } = discount;
|
|
788
|
+
let priceWithDiscount;
|
|
789
|
+
if (value) {
|
|
790
|
+
if (type === "percentage") {
|
|
791
|
+
priceWithDiscount = price * ((100 - value) / 100);
|
|
792
|
+
} else {
|
|
793
|
+
priceWithDiscount = price - value;
|
|
794
|
+
}
|
|
795
|
+
return priceWithDiscount > 0 ? priceWithDiscount : 0;
|
|
796
|
+
}
|
|
797
|
+
return price;
|
|
798
|
+
};
|
|
799
|
+
const usePrices = (props) => {
|
|
800
|
+
const _product = computed(() => {
|
|
801
|
+
return props.product || {
|
|
802
|
+
price: props.price || 0,
|
|
803
|
+
base_price: props.basePrice
|
|
804
|
+
};
|
|
805
|
+
});
|
|
806
|
+
const hasVariedPrices = computed(() => {
|
|
807
|
+
const { variations } = _product.value;
|
|
808
|
+
if (variations) {
|
|
809
|
+
const productPrice = price(_product.value);
|
|
810
|
+
for (let i = 0; i < variations.length; i++) {
|
|
811
|
+
const price$1 = price({
|
|
812
|
+
..._product.value,
|
|
813
|
+
...variations[i]
|
|
814
|
+
});
|
|
815
|
+
if (price$1 > productPrice) {
|
|
816
|
+
return true;
|
|
817
|
+
}
|
|
818
|
+
}
|
|
819
|
+
}
|
|
820
|
+
return false;
|
|
821
|
+
});
|
|
822
|
+
const salePrice = computed(() => {
|
|
823
|
+
const price$1 = price(_product.value);
|
|
824
|
+
const discount = availableExtraDiscount.value;
|
|
825
|
+
if (discount && (!discount.min_amount || price$1 > discount.min_amount)) {
|
|
826
|
+
return getPriceWithDiscount(price$1, discount);
|
|
827
|
+
}
|
|
828
|
+
return price$1;
|
|
829
|
+
});
|
|
830
|
+
const comparePrice = computed(() => {
|
|
831
|
+
if (onPromotion(_product.value)) {
|
|
832
|
+
return _product.value.base_price;
|
|
833
|
+
}
|
|
834
|
+
const price$1 = price(_product.value);
|
|
835
|
+
if (price$1 > salePrice.value) {
|
|
836
|
+
return price$1;
|
|
837
|
+
}
|
|
838
|
+
return 0;
|
|
839
|
+
});
|
|
840
|
+
const installmentsObject = computed(() => {
|
|
841
|
+
return props.installmentsOption || installmentsOption.value || { max_number: 1 };
|
|
842
|
+
});
|
|
843
|
+
const installmentsNumber = computed(() => {
|
|
844
|
+
if (installmentsObject.value.max_number <= 1) {
|
|
845
|
+
return 1;
|
|
846
|
+
}
|
|
847
|
+
const minInstallment = installmentsObject.value.min_installment || 5;
|
|
848
|
+
const maxInstallmentsNumber = Math.floor(salePrice.value / minInstallment);
|
|
849
|
+
return Math.min(maxInstallmentsNumber, installmentsObject.value.max_number);
|
|
850
|
+
});
|
|
851
|
+
const monthlyInterest = computed(() => {
|
|
852
|
+
return installmentsObject.value.monthly_interest || 0;
|
|
853
|
+
});
|
|
854
|
+
const installmentValue = computed(() => {
|
|
855
|
+
if (installmentsNumber.value >= 2) {
|
|
856
|
+
if (!monthlyInterest.value) {
|
|
857
|
+
return salePrice.value / installmentsNumber.value;
|
|
858
|
+
}
|
|
859
|
+
const interest = monthlyInterest.value / 100;
|
|
860
|
+
return salePrice.value * interest / (1 - (1 + interest) ** -installmentsNumber.value);
|
|
861
|
+
}
|
|
862
|
+
return 0;
|
|
863
|
+
});
|
|
864
|
+
const discountObject = computed(() => {
|
|
865
|
+
const discount = props.discountOption || discountOption.value;
|
|
866
|
+
if (discount && (!discount.min_amount || discount.min_amount <= salePrice.value) && (!props.isAmountTotal || discount.apply_at === "total")) {
|
|
867
|
+
return discount;
|
|
868
|
+
}
|
|
869
|
+
return {};
|
|
870
|
+
});
|
|
871
|
+
const discountLabel = computed(() => {
|
|
872
|
+
const { label } = discountObject.value;
|
|
873
|
+
if (label) {
|
|
874
|
+
if (label.includes(" ")) {
|
|
875
|
+
return label;
|
|
876
|
+
}
|
|
877
|
+
return `via ${label}`;
|
|
878
|
+
}
|
|
879
|
+
return "";
|
|
880
|
+
});
|
|
881
|
+
const priceWithDiscount = computed(() => {
|
|
882
|
+
return getPriceWithDiscount(salePrice.value, discountObject.value);
|
|
883
|
+
});
|
|
884
|
+
const pointsProgramObject = computed(() => {
|
|
885
|
+
if (props.loyaltyPointsProgram) {
|
|
886
|
+
return props.loyaltyPointsProgram;
|
|
887
|
+
}
|
|
888
|
+
const pointsPrograms = loyaltyPointsPrograms.value;
|
|
889
|
+
if (pointsPrograms) {
|
|
890
|
+
const programIds = Object.keys(pointsPrograms);
|
|
891
|
+
for (let i = 0; i < programIds.length; i++) {
|
|
892
|
+
const program = pointsPrograms[programIds[i]];
|
|
893
|
+
if (program?.earn_percentage && program.earn_percentage > 0) {
|
|
894
|
+
return program;
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
}
|
|
898
|
+
return { ratio: 0 };
|
|
899
|
+
});
|
|
900
|
+
const pointsMinPrice = computed(() => {
|
|
901
|
+
return pointsProgramObject.value.min_subtotal_to_earn || 0;
|
|
902
|
+
});
|
|
903
|
+
const pointsProgramName = computed(() => {
|
|
904
|
+
return pointsProgramObject.value.name || "";
|
|
905
|
+
});
|
|
906
|
+
const earnPointsPercentage = computed(() => {
|
|
907
|
+
return pointsProgramObject.value.earn_percentage || 0;
|
|
908
|
+
});
|
|
909
|
+
const cashbackPercentage = computed(() => {
|
|
910
|
+
return earnPointsPercentage.value * pointsProgramObject.value.ratio;
|
|
911
|
+
});
|
|
912
|
+
const cashbackValue = computed(() => {
|
|
913
|
+
return cashbackPercentage.value >= 1 ? salePrice.value * (cashbackPercentage.value / 100) : 0;
|
|
914
|
+
});
|
|
915
|
+
return {
|
|
916
|
+
hasVariedPrices,
|
|
917
|
+
salePrice,
|
|
918
|
+
comparePrice,
|
|
919
|
+
installmentsObject,
|
|
920
|
+
installmentsNumber,
|
|
921
|
+
monthlyInterest,
|
|
922
|
+
installmentValue,
|
|
923
|
+
discountObject,
|
|
924
|
+
discountLabel,
|
|
925
|
+
priceWithDiscount,
|
|
926
|
+
pointsProgramObject,
|
|
927
|
+
pointsMinPrice,
|
|
928
|
+
pointsProgramName,
|
|
929
|
+
earnPointsPercentage,
|
|
930
|
+
cashbackPercentage,
|
|
931
|
+
cashbackValue
|
|
932
|
+
};
|
|
933
|
+
};
|
|
934
|
+
|
|
935
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
936
|
+
__name: "Prices",
|
|
937
|
+
props: {
|
|
938
|
+
isBig: { type: Boolean },
|
|
939
|
+
isLiteral: { type: Boolean },
|
|
940
|
+
hasCashback: { type: Boolean, default: true },
|
|
941
|
+
hasPriceOptions: { type: Boolean, default: true },
|
|
942
|
+
product: {},
|
|
943
|
+
price: {},
|
|
944
|
+
basePrice: {},
|
|
945
|
+
isAmountTotal: { type: Boolean },
|
|
946
|
+
installmentsOption: {},
|
|
947
|
+
discountOption: {},
|
|
948
|
+
loyaltyPointsProgram: {}
|
|
949
|
+
},
|
|
950
|
+
setup(__props, { expose: __expose }) {
|
|
951
|
+
__expose();
|
|
952
|
+
const props = __props;
|
|
953
|
+
const {
|
|
954
|
+
hasVariedPrices,
|
|
955
|
+
salePrice,
|
|
956
|
+
comparePrice,
|
|
957
|
+
cashbackPercentage,
|
|
958
|
+
cashbackValue,
|
|
959
|
+
installmentsNumber,
|
|
960
|
+
monthlyInterest,
|
|
961
|
+
installmentValue,
|
|
962
|
+
priceWithDiscount,
|
|
963
|
+
discountLabel
|
|
964
|
+
} = usePrices(props);
|
|
965
|
+
const __returned__ = { props, hasVariedPrices, salePrice, comparePrice, cashbackPercentage, cashbackValue, installmentsNumber, monthlyInterest, installmentValue, priceWithDiscount, discountLabel };
|
|
966
|
+
Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
|
|
967
|
+
return __returned__;
|
|
968
|
+
}
|
|
969
|
+
});
|
|
970
|
+
function _sfc_ssrRender$2(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
|
|
971
|
+
const _component_Fade = resolveComponent("Fade");
|
|
972
|
+
_push(`<div${ssrRenderAttrs(mergeProps({
|
|
973
|
+
class: ["text-base-600 [&>div]:[font-size:90%] [&_small]:lowercase [&_small]:[font-size:92%]", $props.isBig ? "text-lg" : null],
|
|
974
|
+
"data-prices": ""
|
|
975
|
+
}, _attrs))}>`);
|
|
976
|
+
if ($setup.comparePrice) {
|
|
977
|
+
_push(`<span class="text-base-500 mr-1 text-[87%]">`);
|
|
978
|
+
if ($props.isLiteral) {
|
|
979
|
+
_push(`<small>${ssrInterpolate(`${"De"} `)}</small>`);
|
|
980
|
+
} else {
|
|
981
|
+
_push(`<!---->`);
|
|
982
|
+
}
|
|
983
|
+
_push(`<s>${ssrInterpolate(_ctx.$money($setup.comparePrice))}</s>`);
|
|
984
|
+
if ($props.isLiteral) {
|
|
985
|
+
_push(`<small>${ssrInterpolate(` ${"Por"}`)}</small>`);
|
|
986
|
+
} else {
|
|
987
|
+
_push(`<!---->`);
|
|
988
|
+
}
|
|
989
|
+
_push(`</span>`);
|
|
990
|
+
} else {
|
|
991
|
+
_push(`<!---->`);
|
|
992
|
+
}
|
|
993
|
+
_push(`<strong class="${ssrRenderClass([$props.isBig ? "text-5xl block" : null, "inline-block text-base-800"])}">`);
|
|
994
|
+
if ($setup.hasVariedPrices) {
|
|
995
|
+
_push(`<small>${ssrInterpolate(`${"A partir de"} `)}</small>`);
|
|
996
|
+
} else {
|
|
997
|
+
_push(`<!---->`);
|
|
998
|
+
}
|
|
999
|
+
_push(` ${ssrInterpolate(_ctx.$money($setup.salePrice))}</strong>`);
|
|
1000
|
+
_push(ssrRenderComponent(_component_Fade, { slide: "down" }, {
|
|
1001
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
1002
|
+
if (_push2) {
|
|
1003
|
+
if ($setup.cashbackValue && $props.hasCashback) {
|
|
1004
|
+
_push2(`<div class="relative z-10"${_scopeId}><span${ssrRenderAttr("data-tooltip", "Receba $1 de volta".replace("$1", _ctx.$percentage($setup.cashbackPercentage)))}${_scopeId}><i class="i-arrow-uturn-left mr-1"${_scopeId}></i><span class="font-medium"${_scopeId}>${ssrInterpolate(_ctx.$money($setup.cashbackValue))}</span><small${_scopeId}> cashback</small></span></div>`);
|
|
1005
|
+
} else {
|
|
1006
|
+
_push2(`<!---->`);
|
|
1007
|
+
}
|
|
1008
|
+
} else {
|
|
1009
|
+
return [
|
|
1010
|
+
$setup.cashbackValue && $props.hasCashback ? (openBlock(), createBlock("div", {
|
|
1011
|
+
key: 0,
|
|
1012
|
+
class: "relative z-10"
|
|
1013
|
+
}, [
|
|
1014
|
+
createVNode("span", {
|
|
1015
|
+
"data-tooltip": "Receba $1 de volta".replace("$1", _ctx.$percentage($setup.cashbackPercentage))
|
|
1016
|
+
}, [
|
|
1017
|
+
createVNode("i", { class: "i-arrow-uturn-left mr-1" }),
|
|
1018
|
+
createVNode("span", { class: "font-medium" }, toDisplayString(_ctx.$money($setup.cashbackValue)), 1),
|
|
1019
|
+
createVNode("small", null, " cashback")
|
|
1020
|
+
], 8, ["data-tooltip"])
|
|
1021
|
+
])) : createCommentVNode("", true)
|
|
1022
|
+
];
|
|
1023
|
+
}
|
|
1024
|
+
}),
|
|
1025
|
+
_: 1
|
|
1026
|
+
}, _parent));
|
|
1027
|
+
_push(ssrRenderComponent(_component_Fade, { slide: "down" }, {
|
|
1028
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
1029
|
+
if (_push2) {
|
|
1030
|
+
if ($setup.installmentValue && $props.hasPriceOptions) {
|
|
1031
|
+
_push2(`<div${_scopeId}>`);
|
|
1032
|
+
if ($props.isLiteral) {
|
|
1033
|
+
_push2(`<small${_scopeId}>${ssrInterpolate(`${"At\xE9"} `)}</small>`);
|
|
1034
|
+
} else {
|
|
1035
|
+
_push2(`<!---->`);
|
|
1036
|
+
}
|
|
1037
|
+
_push2(` ${ssrInterpolate($setup.installmentsNumber)}x `);
|
|
1038
|
+
if ($props.isLiteral) {
|
|
1039
|
+
_push2(`<small${_scopeId}>${ssrInterpolate(` ${"De"} `)}</small>`);
|
|
1040
|
+
} else {
|
|
1041
|
+
_push2(`<!---->`);
|
|
1042
|
+
}
|
|
1043
|
+
_push2(`<span${_scopeId}>${ssrInterpolate(_ctx.$money($setup.installmentValue))}</span>`);
|
|
1044
|
+
if (!$setup.monthlyInterest && $props.isLiteral) {
|
|
1045
|
+
_push2(`<small${_scopeId}>${ssrInterpolate("Sem juros")}</small>`);
|
|
1046
|
+
} else {
|
|
1047
|
+
_push2(`<!---->`);
|
|
1048
|
+
}
|
|
1049
|
+
_push2(`</div>`);
|
|
1050
|
+
} else {
|
|
1051
|
+
_push2(`<!---->`);
|
|
1052
|
+
}
|
|
1053
|
+
} else {
|
|
1054
|
+
return [
|
|
1055
|
+
$setup.installmentValue && $props.hasPriceOptions ? (openBlock(), createBlock("div", { key: 0 }, [
|
|
1056
|
+
$props.isLiteral ? (openBlock(), createBlock("small", { key: 0 }, toDisplayString(`${"At\xE9"} `))) : createCommentVNode("", true),
|
|
1057
|
+
createTextVNode(" " + toDisplayString($setup.installmentsNumber) + "x ", 1),
|
|
1058
|
+
$props.isLiteral ? (openBlock(), createBlock("small", { key: 1 }, toDisplayString(` ${"De"} `))) : createCommentVNode("", true),
|
|
1059
|
+
createVNode("span", null, toDisplayString(_ctx.$money($setup.installmentValue)), 1),
|
|
1060
|
+
!$setup.monthlyInterest && $props.isLiteral ? (openBlock(), createBlock("small", { key: 2 }, toDisplayString("Sem juros"))) : createCommentVNode("", true)
|
|
1061
|
+
])) : createCommentVNode("", true)
|
|
1062
|
+
];
|
|
1063
|
+
}
|
|
1064
|
+
}),
|
|
1065
|
+
_: 1
|
|
1066
|
+
}, _parent));
|
|
1067
|
+
_push(ssrRenderComponent(_component_Fade, { slide: "down" }, {
|
|
1068
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
1069
|
+
if (_push2) {
|
|
1070
|
+
if ($setup.priceWithDiscount < $setup.salePrice && $props.hasPriceOptions) {
|
|
1071
|
+
_push2(`<div${_scopeId}>`);
|
|
1072
|
+
if (!$setup.discountLabel) {
|
|
1073
|
+
_push2(`<small${_scopeId}>${ssrInterpolate(`${"A partir de"} `)}</small>`);
|
|
1074
|
+
} else {
|
|
1075
|
+
_push2(`<!---->`);
|
|
1076
|
+
}
|
|
1077
|
+
_push2(`<span${_scopeId}>${ssrInterpolate(_ctx.$money($setup.priceWithDiscount))}</span>`);
|
|
1078
|
+
if ($setup.discountLabel) {
|
|
1079
|
+
_push2(`<small${_scopeId}>${ssrInterpolate(` ${$setup.discountLabel}`)}</small>`);
|
|
1080
|
+
} else {
|
|
1081
|
+
_push2(`<!---->`);
|
|
1082
|
+
}
|
|
1083
|
+
_push2(`</div>`);
|
|
1084
|
+
} else {
|
|
1085
|
+
_push2(`<!---->`);
|
|
1086
|
+
}
|
|
1087
|
+
} else {
|
|
1088
|
+
return [
|
|
1089
|
+
$setup.priceWithDiscount < $setup.salePrice && $props.hasPriceOptions ? (openBlock(), createBlock("div", { key: 0 }, [
|
|
1090
|
+
!$setup.discountLabel ? (openBlock(), createBlock("small", { key: 0 }, toDisplayString(`${"A partir de"} `))) : createCommentVNode("", true),
|
|
1091
|
+
createVNode("span", null, toDisplayString(_ctx.$money($setup.priceWithDiscount)), 1),
|
|
1092
|
+
$setup.discountLabel ? (openBlock(), createBlock("small", { key: 1 }, toDisplayString(` ${$setup.discountLabel}`), 1)) : createCommentVNode("", true)
|
|
1093
|
+
])) : createCommentVNode("", true)
|
|
1094
|
+
];
|
|
1095
|
+
}
|
|
1096
|
+
}),
|
|
1097
|
+
_: 1
|
|
1098
|
+
}, _parent));
|
|
1099
|
+
_push(`</div>`);
|
|
1100
|
+
}
|
|
1101
|
+
const _sfc_setup$2 = _sfc_main$2.setup;
|
|
1102
|
+
_sfc_main$2.setup = (props, ctx) => {
|
|
1103
|
+
const ssrContext = useSSRContext();
|
|
1104
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/components/Prices.vue");
|
|
1105
|
+
return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
|
|
1106
|
+
};
|
|
1107
|
+
const Prices = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["ssrRender", _sfc_ssrRender$2]]);
|
|
1108
|
+
|
|
575
1109
|
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
576
1110
|
__name: "ProductCard",
|
|
577
1111
|
props: {
|
|
@@ -606,13 +1140,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
606
1140
|
}
|
|
607
1141
|
});
|
|
608
1142
|
function _sfc_ssrRender$1(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
|
|
1143
|
+
const _component_ALink = resolveComponent("ALink");
|
|
609
1144
|
const _component_AImg = resolveComponent("AImg");
|
|
610
1145
|
_push(`<article${ssrRenderAttrs(mergeProps({
|
|
611
1146
|
ref: "card",
|
|
612
1147
|
"data-sku": $setup.product.sku,
|
|
613
1148
|
class: "relative h-full max-w-[350px] mx-auto py-3 group"
|
|
614
1149
|
}, _attrs))}>`);
|
|
615
|
-
|
|
1150
|
+
_push(ssrRenderComponent(_component_ALink, {
|
|
616
1151
|
href: $setup.link,
|
|
617
1152
|
class: "flex flex-col h-full rounded overflow-hidden group-hover:shadow group-hover:ring-1 ring-black/5"
|
|
618
1153
|
}, {
|
|
@@ -620,7 +1155,7 @@ function _sfc_ssrRender$1(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
|
|
|
620
1155
|
if (_push2) {
|
|
621
1156
|
_push2(`<div class="aspect-square p-2 motion-safe:group-hover:scale-110 transition-transform"${_scopeId}><div class="relative w-full h-full bg-white rounded overflow-hidden group-hover:rounded-none"${_scopeId}>`);
|
|
622
1157
|
if ($setup.images?.length) {
|
|
623
|
-
_push2(
|
|
1158
|
+
_push2(`<span class="text-xs text-opacity-70"${_scopeId}>`);
|
|
624
1159
|
_push2(ssrRenderComponent(_component_AImg, {
|
|
625
1160
|
picture: $setup.images[0],
|
|
626
1161
|
alt: $setup.title,
|
|
@@ -635,7 +1170,7 @@ function _sfc_ssrRender$1(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
|
|
|
635
1170
|
} else {
|
|
636
1171
|
_push2(`<!---->`);
|
|
637
1172
|
}
|
|
638
|
-
_push2(
|
|
1173
|
+
_push2(`</span>`);
|
|
639
1174
|
} else {
|
|
640
1175
|
_push2(`<div class="w-full h-full bg-gradient-to-br from-base-50/20 to-base-100"${_scopeId}></div>`);
|
|
641
1176
|
}
|
|
@@ -682,7 +1217,10 @@ function _sfc_ssrRender$1(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
|
|
|
682
1217
|
return [
|
|
683
1218
|
createVNode("div", { class: "aspect-square p-2 motion-safe:group-hover:scale-110 transition-transform" }, [
|
|
684
1219
|
createVNode("div", { class: "relative w-full h-full bg-white rounded overflow-hidden group-hover:rounded-none" }, [
|
|
685
|
-
$setup.images?.length ? (openBlock(), createBlock(
|
|
1220
|
+
$setup.images?.length ? (openBlock(), createBlock("span", {
|
|
1221
|
+
key: 0,
|
|
1222
|
+
class: "text-xs text-opacity-70"
|
|
1223
|
+
}, [
|
|
686
1224
|
createVNode(_component_AImg, {
|
|
687
1225
|
picture: $setup.images[0],
|
|
688
1226
|
alt: $setup.title,
|
|
@@ -694,7 +1232,7 @@ function _sfc_ssrRender$1(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
|
|
|
694
1232
|
alt: $setup.title,
|
|
695
1233
|
class: "absolute top-0 left-0 block w-full h-full object-cover opacity-0 group-hover:opacity-100 transition-opacity motion-safe:duration-300 text-transparent z-10"
|
|
696
1234
|
}, null, 8, ["picture", "alt"])) : createCommentVNode("", true)
|
|
697
|
-
]
|
|
1235
|
+
])) : (openBlock(), createBlock("div", {
|
|
698
1236
|
key: 1,
|
|
699
1237
|
class: "w-full h-full bg-gradient-to-br from-base-50/20 to-base-100"
|
|
700
1238
|
}))
|
|
@@ -741,7 +1279,7 @@ function _sfc_ssrRender$1(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
|
|
|
741
1279
|
}
|
|
742
1280
|
}),
|
|
743
1281
|
_: 1
|
|
744
|
-
}
|
|
1282
|
+
}, _parent));
|
|
745
1283
|
_push(`</article>`);
|
|
746
1284
|
}
|
|
747
1285
|
const _sfc_setup$1 = _sfc_main$1.setup;
|
|
@@ -788,25 +1326,21 @@ function _sfc_ssrRender(_ctx, _push, _parent, _attrs, $props, $setup, $data, $op
|
|
|
788
1326
|
_push(`<section${ssrRenderAttrs(mergeProps({ class: "ui-section" }, _attrs))}>`);
|
|
789
1327
|
if ($setup.title) {
|
|
790
1328
|
_push(`<div class="max-w-prose mx-auto text-center mb-2"><h2 class="ui-text-brand text-3xl">`);
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
}, _parent));
|
|
807
|
-
} else {
|
|
808
|
-
_push(`<span class="text-base-700">${ssrInterpolate($setup.title)}</span>`);
|
|
809
|
-
}
|
|
1329
|
+
_push(ssrRenderComponent(_component_ALink, {
|
|
1330
|
+
href: $setup.titleLink,
|
|
1331
|
+
class: $setup.titleLink ? "ui-link" : "text-base-700"
|
|
1332
|
+
}, {
|
|
1333
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
1334
|
+
if (_push2) {
|
|
1335
|
+
_push2(`${ssrInterpolate($setup.title)}`);
|
|
1336
|
+
} else {
|
|
1337
|
+
return [
|
|
1338
|
+
createTextVNode(toDisplayString($setup.title), 1)
|
|
1339
|
+
];
|
|
1340
|
+
}
|
|
1341
|
+
}),
|
|
1342
|
+
_: 1
|
|
1343
|
+
}, _parent));
|
|
810
1344
|
_push(`</h2></div>`);
|
|
811
1345
|
} else {
|
|
812
1346
|
_push(`<!---->`);
|
|
@@ -846,7 +1380,7 @@ function _sfc_ssrRender(_ctx, _push, _parent, _attrs, $props, $setup, $data, $op
|
|
|
846
1380
|
_push2(`<!--]-->`);
|
|
847
1381
|
} else {
|
|
848
1382
|
return [
|
|
849
|
-
(openBlock(true), createBlock(Fragment, null, renderList($setup.products, (product) => {
|
|
1383
|
+
(openBlock(true), createBlock(Fragment$1, null, renderList($setup.products, (product) => {
|
|
850
1384
|
return openBlock(), createBlock("li", {
|
|
851
1385
|
key: product._id,
|
|
852
1386
|
class: "basis-1/2 md:basis-1/3 lg:basis-1/4 shrink-0"
|
|
@@ -882,7 +1416,8 @@ const $$Sections = createComponent(async ($$result, $$props, $$slots) => {
|
|
|
882
1416
|
return { props: content };
|
|
883
1417
|
}
|
|
884
1418
|
});
|
|
885
|
-
return renderTemplate`${maybeRenderHead()}<article class="my-9 md:my-12"
|
|
1419
|
+
return renderTemplate`${maybeRenderHead()}<article class="my-9 md:my-12">
|
|
1420
|
+
${sections.map(({ type, props }) => {
|
|
886
1421
|
switch (type) {
|
|
887
1422
|
case "product-shelf":
|
|
888
1423
|
return renderTemplate`${renderComponent($$result, "ProductShelf", ProductShelf, { ...props, "client:visible": true, "client:component-hydration": "visible", "client:component-path": "~/components/ProductShelf.vue", "client:component-export": "default" })}`;
|
|
@@ -893,7 +1428,8 @@ const $$Sections = createComponent(async ($$result, $$props, $$slots) => {
|
|
|
893
1428
|
default:
|
|
894
1429
|
return renderTemplate`<div${addAttribute(type, "data-section")}></div>`;
|
|
895
1430
|
}
|
|
896
|
-
})}
|
|
1431
|
+
})}
|
|
1432
|
+
</article>`;
|
|
897
1433
|
}, "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/main/Sections.astro", void 0);
|
|
898
1434
|
|
|
899
1435
|
const $$Astro$2 = createAstro("https://ecom2-demo.web.app");
|
|
@@ -903,7 +1439,10 @@ const $$Home = createComponent(async ($$result, $$props, $$slots) => {
|
|
|
903
1439
|
const { routeContext } = Astro2.locals;
|
|
904
1440
|
const { heroSlider } = await usePageHero({ routeContext });
|
|
905
1441
|
const heroSlides = heroSlider.slides;
|
|
906
|
-
return renderTemplate`${maybeRenderHead()}<main
|
|
1442
|
+
return renderTemplate`${maybeRenderHead()}<main>
|
|
1443
|
+
${heroSlider.slides.length && renderTemplate`${renderComponent($$result, "HeroSlider", HeroSlider, { ...heroSlider, "client:load": true, "client:component-hydration": "load", "client:component-path": "~/components/HeroSlider.vue", "client:component-export": "default" }, { "picture-0": ($$result2) => renderTemplate`${heroSlides[0] && renderTemplate`${renderComponent($$result2, "BannerPictures", $$BannerPictures, { "slot": "picture-0", ...heroSlides[0], "index": 0 })}`}`, "picture-1": ($$result2) => renderTemplate`${heroSlides[1] && renderTemplate`${renderComponent($$result2, "BannerPictures", $$BannerPictures, { "slot": "picture-1", ...heroSlides[1], "index": 1 })}`}`, "picture-2": ($$result2) => renderTemplate`${heroSlides[2] && renderTemplate`${renderComponent($$result2, "BannerPictures", $$BannerPictures, { "slot": "picture-2", ...heroSlides[2], "index": 2 })}`}`, "picture-3": ($$result2) => renderTemplate`${heroSlides[3] && renderTemplate`${renderComponent($$result2, "BannerPictures", $$BannerPictures, { "slot": "picture-3", ...heroSlides[3], "index": 3 })}`}`, "picture-4": ($$result2) => renderTemplate`${heroSlides[4] && renderTemplate`${renderComponent($$result2, "BannerPictures", $$BannerPictures, { "slot": "picture-4", ...heroSlides[4], "index": 4 })}`}`, "picture-5": ($$result2) => renderTemplate`${heroSlides[5] && renderTemplate`${renderComponent($$result2, "BannerPictures", $$BannerPictures, { "slot": "picture-5", ...heroSlides[5], "index": 5 })}`}`, "picture-6": ($$result2) => renderTemplate`${heroSlides[6] && renderTemplate`${renderComponent($$result2, "BannerPictures", $$BannerPictures, { "slot": "picture-6", ...heroSlides[6], "index": 6 })}`}`, "picture-7": ($$result2) => renderTemplate`${heroSlides[7] && renderTemplate`${renderComponent($$result2, "BannerPictures", $$BannerPictures, { "slot": "picture-7", ...heroSlides[7], "index": 7 })}`}`, "picture-8": ($$result2) => renderTemplate`${heroSlides[8] && renderTemplate`${renderComponent($$result2, "BannerPictures", $$BannerPictures, { "slot": "picture-8", ...heroSlides[8], "index": 8 })}`}`, "picture-9": ($$result2) => renderTemplate`${heroSlides[9] && renderTemplate`${renderComponent($$result2, "BannerPictures", $$BannerPictures, { "slot": "picture-9", ...heroSlides[9], "index": 9 })}`}` })}`}
|
|
1444
|
+
${renderComponent($$result, "Sections", $$Sections, {})}
|
|
1445
|
+
</main>`;
|
|
907
1446
|
}, "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/main/Home.astro", void 0);
|
|
908
1447
|
|
|
909
1448
|
const $$Astro$1 = createAstro("https://ecom2-demo.web.app");
|
|
@@ -920,7 +1459,15 @@ const $$Index$1 = createComponent(async ($$result, $$props, $$slots) => {
|
|
|
920
1459
|
}
|
|
921
1460
|
loadError = err;
|
|
922
1461
|
}
|
|
923
|
-
return renderTemplate`<html${addAttribute(routeContext?.lang.replace("_", "-"), "lang")}
|
|
1462
|
+
return renderTemplate`<html${addAttribute(routeContext?.lang.replace("_", "-"), "lang")}>
|
|
1463
|
+
${routeContext && renderTemplate`${renderComponent($$result, "Base", $$Base, {}, { "base-head": ($$result2) => renderTemplate`${renderComponent($$result2, "BaseHead", $$BaseHead, { "slot": "base-head" })}`, "default": ($$result2) => renderTemplate`
|
|
1464
|
+
|
|
1465
|
+
${renderComponent($$result2, "PageHeader", $$PageHeader, {})}
|
|
1466
|
+
${renderComponent($$result2, "HomeMain", $$Home, {})}
|
|
1467
|
+
${renderComponent($$result2, "PageFooter", $$PageFooter, {})}
|
|
1468
|
+
` })}`}
|
|
1469
|
+
${loadError && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": ($$result2) => renderTemplate`${unescapeHTML(loadError.responseHTML)}` })}`}
|
|
1470
|
+
</html>`;
|
|
924
1471
|
}, "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/index.astro", void 0);
|
|
925
1472
|
|
|
926
1473
|
const $$file$1 = "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/index.astro";
|
|
@@ -950,4 +1497,4 @@ const index = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
|
|
950
1497
|
url: $$url
|
|
951
1498
|
}, Symbol.toStringTag, { value: 'Module' }));
|
|
952
1499
|
|
|
953
|
-
export { index as a, index$1 as i };
|
|
1500
|
+
export { Prices as P, index as a, index$1 as i };
|