cloudcommerce 0.26.5 → 0.26.7
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/CHANGELOG.md +26 -0
- package/ecomplus-stores/barra-doce/functions/many/package.json +3 -3
- package/ecomplus-stores/barra-doce/functions/ssr/package.json +6 -6
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeader.vue +4 -1
- package/ecomplus-stores/barra-doce/functions/with-apps/package.json +3 -3
- package/ecomplus-stores/barra-doce/package.json +2 -2
- package/ecomplus-stores/barra-doce/scripts/install.sh +12 -2
- package/ecomplus-stores/iluminim/scripts/install.sh +12 -2
- package/ecomplus-stores/monocard/.firebaserc +1 -1
- package/ecomplus-stores/monocard/.github/build-and-deploy +1 -0
- package/ecomplus-stores/monocard/.github/workflows/build-and-deploy.yml +1 -0
- package/ecomplus-stores/monocard/README.md +11 -82
- package/ecomplus-stores/monocard/SETUP.md +129 -0
- package/ecomplus-stores/monocard/{README.pt-BR.md → SETUP.pt-BR.md} +39 -12
- package/ecomplus-stores/monocard/functions/config.json +1 -1
- package/ecomplus-stores/monocard/functions/{passport → many}/index.js +5 -0
- package/ecomplus-stores/monocard/functions/{events → many}/package.json +4 -3
- package/ecomplus-stores/monocard/functions/ssr/.eslintrc.cjs +1 -1
- package/ecomplus-stores/monocard/functions/ssr/content/blog/.gitkeep +0 -0
- package/ecomplus-stores/monocard/functions/ssr/content/extra-pages/contato.json +11 -0
- package/ecomplus-stores/monocard/functions/ssr/content/extra-pages/terms.json +11 -0
- package/ecomplus-stores/monocard/functions/ssr/content/extra-pages/trocas.json +11 -0
- package/ecomplus-stores/monocard/functions/ssr/content/layout.json +25 -10
- package/ecomplus-stores/monocard/functions/ssr/content/pages/home.json +63 -0
- package/ecomplus-stores/monocard/functions/ssr/content/pages/products.json +19 -0
- package/ecomplus-stores/monocard/functions/ssr/content/settings.json +22 -2
- package/ecomplus-stores/monocard/functions/ssr/package.json +8 -9
- package/ecomplus-stores/monocard/functions/ssr/public/admin/.gitkeep +0 -0
- package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/ecom-icon.png +0 -0
- package/ecomplus-stores/monocard/functions/ssr/src/assets/card.css +99 -0
- package/ecomplus-stores/monocard/functions/ssr/src/assets/style.css +74 -0
- package/ecomplus-stores/monocard/functions/ssr/src/components/AccountMenu.vue +5 -14
- package/ecomplus-stores/monocard/functions/ssr/src/components/Banner.vue +59 -0
- package/ecomplus-stores/monocard/functions/ssr/src/components/BannersGrid.astro +25 -0
- package/ecomplus-stores/monocard/functions/ssr/src/components/Breadcrumbs.astro +44 -0
- package/ecomplus-stores/monocard/functions/ssr/src/components/CartItem.vue +64 -0
- package/ecomplus-stores/monocard/functions/ssr/src/components/CartSidebar.vue +66 -0
- package/ecomplus-stores/monocard/functions/ssr/src/components/DemoVideo.vue +8 -3
- package/ecomplus-stores/monocard/functions/ssr/src/components/DocDescription.astro +30 -0
- package/ecomplus-stores/monocard/functions/ssr/src/components/FeatureTabs.vue +2 -2
- package/ecomplus-stores/monocard/functions/ssr/src/components/LottiePhoneNFC.vue +12 -9
- package/ecomplus-stores/monocard/functions/ssr/src/components/MonocardCustomizer.vue +8 -105
- package/ecomplus-stores/monocard/functions/ssr/src/components/Prices.vue +10 -27
- package/ecomplus-stores/monocard/functions/ssr/src/components/ProductCard.vue +117 -0
- package/ecomplus-stores/monocard/functions/ssr/src/components/ProductShelf.vue +57 -0
- package/ecomplus-stores/monocard/functions/ssr/src/components/ShopFooter.vue +123 -0
- package/ecomplus-stores/monocard/functions/ssr/src/components/ShopHeader.vue +85 -32
- package/ecomplus-stores/monocard/functions/ssr/src/components/ShopHeaderMenu.vue +1 -1
- package/ecomplus-stores/monocard/functions/ssr/src/components/ShopSidenav.vue +3 -3
- package/ecomplus-stores/monocard/functions/ssr/src/components/ShopSidenavCategory.vue +2 -2
- package/ecomplus-stores/monocard/functions/ssr/src/env.d.ts +9 -1
- package/ecomplus-stores/monocard/functions/ssr/src/layouts/Base.astro +9 -44
- package/ecomplus-stores/monocard/functions/ssr/src/layouts/PageFooter.astro +52 -0
- package/ecomplus-stores/monocard/functions/ssr/src/layouts/PageHeader.astro +35 -0
- package/ecomplus-stores/monocard/functions/ssr/src/main/Fallback.astro +0 -5
- package/ecomplus-stores/monocard/functions/ssr/src/main/Home.astro +6 -12
- package/ecomplus-stores/monocard/functions/ssr/src/main/Sections.astro +38 -0
- package/ecomplus-stores/monocard/functions/ssr/src/main/Wildcard.astro +4 -18
- package/ecomplus-stores/monocard/functions/ssr/src/pages/[...slug].astro +15 -9
- package/ecomplus-stores/monocard/functions/ssr/src/pages/comprar/index.astro +19 -9
- package/ecomplus-stores/monocard/functions/ssr/src/pages/index.astro +16 -10
- package/ecomplus-stores/monocard/functions/ssr/src/pages/~fallback.astro +25 -0
- package/ecomplus-stores/monocard/functions/ssr/src/scripts/InlineScripts.astro +6 -6
- package/ecomplus-stores/monocard/functions/ssr/tailwind.config.cjs +1 -11
- package/ecomplus-stores/monocard/functions/{modules → with-apps}/index.js +3 -0
- package/ecomplus-stores/monocard/functions/{modules → with-apps}/package.json +4 -3
- package/ecomplus-stores/monocard/package.json +4 -1
- package/ecomplus-stores/monocard/scripts/install.sh +12 -2
- package/ecomplus-stores/tia-sonia/scripts/install.sh +12 -2
- package/package.json +4 -4
- package/packages/api/package.json +1 -1
- package/packages/apps/affilate-program/package.json +1 -1
- package/packages/apps/correios/package.json +1 -1
- package/packages/apps/custom-payment/package.json +1 -1
- package/packages/apps/custom-shipping/package.json +1 -1
- package/packages/apps/datafrete/package.json +1 -1
- package/packages/apps/discounts/package.json +1 -1
- package/packages/apps/emails/package.json +1 -1
- package/packages/apps/fb-conversions/package.json +2 -2
- package/packages/apps/flash-courier/package.json +1 -1
- package/packages/apps/frenet/package.json +2 -2
- package/packages/apps/galaxpay/package.json +1 -1
- package/packages/apps/google-analytics/package.json +1 -1
- package/packages/apps/jadlog/package.json +1 -1
- package/packages/apps/loyalty-points/package.json +1 -1
- package/packages/apps/melhor-envio/package.json +1 -1
- package/packages/apps/mercadopago/package.json +1 -1
- package/packages/apps/pagarme/package.json +2 -2
- package/packages/apps/paghiper/package.json +1 -1
- package/packages/apps/pix/package.json +1 -1
- package/packages/apps/tiny-erp/package.json +1 -1
- package/packages/apps/webhooks/package.json +1 -1
- package/packages/cli/package.json +2 -2
- package/packages/config/package.json +1 -1
- package/packages/emails/package.json +1 -1
- package/packages/eslint/package.json +3 -3
- package/packages/events/package.json +1 -1
- package/packages/feeds/package.json +1 -1
- package/packages/firebase/package.json +2 -2
- package/packages/i18n/package.json +1 -1
- package/packages/modules/package.json +1 -1
- package/packages/passport/package.json +1 -1
- package/packages/ssr/lib/firebase/serve-storefront.js +23 -8
- package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -1
- package/packages/ssr/package.json +2 -2
- package/packages/ssr/src/firebase/serve-storefront.ts +24 -8
- package/packages/storefront/dist/client/_astro/{Carousel.9ad2e1dc.js → Carousel.4bf71bce.js} +1 -1
- package/packages/storefront/dist/client/_astro/{CartSidebar.a6c6a885.js → CartSidebar.05b12b39.js} +1 -1
- package/packages/storefront/dist/client/_astro/{HeroSlider.ee1e6200.js → HeroSlider.fe108a14.js} +1 -1
- package/packages/storefront/dist/client/_astro/{PitchBar.6111676e.js → PitchBar.2c821b77.js} +1 -1
- package/packages/storefront/dist/client/_astro/{Prices.04ff8fce.js → Prices.78eb0a61.js} +1 -1
- package/packages/storefront/dist/client/_astro/{ProductShelf.085721d6.js → ProductShelf.46d8a51c.js} +1 -1
- package/packages/storefront/dist/client/_astro/ShopHeader.3694a82b.js +4 -0
- package/packages/storefront/dist/client/_astro/_...slug_.a4a7a874.css +1 -0
- 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/{firebase-app.8c541cce.js → firebase-app.3f59f3c7.js} +3 -3
- package/packages/storefront/dist/client/_astro/headphone_1Ekzdh.avif +0 -0
- package/packages/storefront/dist/client/_astro/headphone_Z1GbHcH.webp +0 -0
- package/packages/storefront/dist/client/_astro/{hoisted.85fdcf03.js → hoisted.648beb9d.js} +1 -1
- package/packages/storefront/dist/client/_astro/index.fadf28bd.js +1 -0
- 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/{modules-info.e5d77bf3.js → modules-info.df822732.js} +1 -1
- package/packages/storefront/dist/client/_astro/passion_1LvKlp.webp +0 -0
- package/packages/storefront/dist/client/_astro/passion_2PSWs.avif +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_1A8K2Q.webp +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_1ND0he.png +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_1mIaKd.png +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_LhopI.avif +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_Z1NFjiR.avif +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_Z2a06Gx.png +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_Z2nulUU.webp +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_ZH7hsH.avif +0 -0
- package/packages/storefront/dist/client/_astro/rect8589_ZorpIx.webp +0 -0
- package/packages/storefront/dist/client/_astro/rect859_1CcLjM.avif +0 -0
- package/packages/storefront/dist/client/_astro/rect859_1IVKep.png +0 -0
- package/packages/storefront/dist/client/_astro/rect859_1zkdb4.webp +0 -0
- package/packages/storefront/dist/client/_astro/rect859_299fN7.avif +0 -0
- package/packages/storefront/dist/client/_astro/rect859_CnIof.png +0 -0
- package/packages/storefront/dist/client/_astro/rect859_Z1OtQaE.avif +0 -0
- package/packages/storefront/dist/client/_astro/rect859_flB3g.png +0 -0
- package/packages/storefront/dist/client/_astro/rect859_rsWaw.webp +0 -0
- package/packages/storefront/dist/client/_astro/rect859_sLbkT.webp +0 -0
- package/packages/storefront/dist/client/_astro/rect89_1yf5jS.avif +0 -0
- package/packages/storefront/dist/client/_astro/rect89_GQBli.webp +0 -0
- package/packages/storefront/dist/client/~fallback.html +67 -0
- package/packages/storefront/dist/client/~index.html +113 -0
- package/packages/storefront/dist/server/chunks/{CartSidebar.41b20543.mjs → CartSidebar.4179ad81.mjs} +4 -12
- package/packages/storefront/dist/server/chunks/{SearchModal.5f5e6a15.mjs → SearchModal.146ce2f7.mjs} +4 -11
- package/packages/storefront/dist/server/chunks/{endpoint@_@js.11be892a.mjs → _...05c626ea.mjs} +3 -10
- package/packages/storefront/dist/server/chunks/{account@_@astro.204fba92.mjs → account@_@astro.5eaddaf8.mjs} +2 -9
- package/packages/storefront/dist/server/chunks/{index@_@astro.19e0f502.mjs → index@_@astro.25a343cc.mjs} +3 -10
- package/packages/storefront/dist/server/chunks/{index@_@astro.b37a6ac9.mjs → index@_@astro.2d2f2e33.mjs} +3 -10
- package/packages/storefront/dist/server/chunks/pages/{_...slug_.astro.36e8882b.mjs → _...slug_.astro.0808946e.mjs} +1836 -450
- package/packages/storefront/dist/server/chunks/pages/index.astro.d4145872.mjs +186 -0
- package/packages/storefront/dist/server/chunks/pages/{~fallback.astro.ba4c2475.mjs → ~fallback.astro.84d4765b.mjs} +6 -23
- package/packages/storefront/dist/server/chunks/{~fallback@_@astro.6bb4c4b4.mjs → ~fallback@_@astro.86d710c3.mjs} +3 -10
- package/packages/storefront/dist/server/entry.mjs +7 -14
- package/packages/storefront/dist/server/images.dist.csv +30 -0
- package/packages/storefront/dist/server/images.src.csv +11 -0
- package/packages/storefront/dist/server/renderers.mjs +2 -9
- package/packages/storefront/dist/server/static-builds.csv +51 -0
- package/packages/storefront/package.json +3 -3
- package/packages/storefront/scripts/build-prod.sh +3 -2
- package/packages/storefront/server.d.ts +1 -0
- package/packages/storefront/src/lib/assets/base.css +8 -0
- package/packages/storefront/src/lib/assets/reset.css +11 -2
- package/packages/storefront/src/lib/components/ContentClearfix.astro +4 -1
- package/packages/storefront/src/lib/components/Drawer.vue +1 -1
- package/packages/storefront/src/lib/layouts/BaseBody.astro +3 -1
- package/packages/storefront/src/lib/layouts/BaseHead.astro +8 -3
- package/packages/storefront/src/lib/layouts/use-page-header.ts +2 -2
- package/packages/test-base/package.json +1 -1
- package/packages/types/package.json +1 -1
- package/pnpm-workspace.yaml +2 -0
- package/ecomplus-stores/monocard/functions/core/index.js +0 -9
- package/ecomplus-stores/monocard/functions/core/package.json +0 -20
- package/ecomplus-stores/monocard/functions/events/index.js +0 -9
- package/ecomplus-stores/monocard/functions/passport/package.json +0 -21
- package/ecomplus-stores/monocard/functions/ssr/content/blog.json +0 -18
- package/ecomplus-stores/monocard/functions/ssr/content/brands.json +0 -24
- package/ecomplus-stores/monocard/functions/ssr/content/categories.json +0 -24
- package/ecomplus-stores/monocard/functions/ssr/content/collections.json +0 -24
- package/ecomplus-stores/monocard/functions/ssr/content/home.json +0 -45
- package/ecomplus-stores/monocard/functions/ssr/content/maintenance.json +0 -6
- package/ecomplus-stores/monocard/functions/ssr/content/pages/contato.json +0 -6
- package/ecomplus-stores/monocard/functions/ssr/content/pages/entrega.json +0 -6
- package/ecomplus-stores/monocard/functions/ssr/content/pages/faq.json +0 -6
- package/ecomplus-stores/monocard/functions/ssr/content/pages/pagamentos.json +0 -6
- package/ecomplus-stores/monocard/functions/ssr/content/pages/privacidade.json +0 -6
- package/ecomplus-stores/monocard/functions/ssr/content/pages/sobre-nos.json +0 -6
- package/ecomplus-stores/monocard/functions/ssr/content/pages/termos.json +0 -6
- package/ecomplus-stores/monocard/functions/ssr/content/pages/trocas.json +0 -6
- package/ecomplus-stores/monocard/functions/ssr/content/posts/esta-loja-e-um-pwa.json +0 -9
- package/ecomplus-stores/monocard/functions/ssr/content/products.json +0 -32
- package/ecomplus-stores/monocard/functions/ssr/content/search.json +0 -8
- package/ecomplus-stores/monocard/functions/ssr/content/widgets/analytics.json +0 -11
- package/ecomplus-stores/monocard/functions/ssr/content/widgets/compre-confie.json +0 -11
- package/ecomplus-stores/monocard/functions/ssr/content/widgets/ebit.json +0 -11
- package/ecomplus-stores/monocard/functions/ssr/content/widgets/fb-pixel.json +0 -12
- package/ecomplus-stores/monocard/functions/ssr/content/widgets/gmc-ratings.json +0 -12
- package/ecomplus-stores/monocard/functions/ssr/content/widgets/minicart.json +0 -6
- package/ecomplus-stores/monocard/functions/ssr/content/widgets/offers-notification.json +0 -11
- package/ecomplus-stores/monocard/functions/ssr/content/widgets/opinioes-verificadas.json +0 -18
- package/ecomplus-stores/monocard/functions/ssr/content/widgets/product-card.json +0 -10
- package/ecomplus-stores/monocard/functions/ssr/content/widgets/product.json +0 -13
- package/ecomplus-stores/monocard/functions/ssr/content/widgets/search-engine.json +0 -8
- package/ecomplus-stores/monocard/functions/ssr/content/widgets/search.json +0 -6
- package/ecomplus-stores/monocard/functions/ssr/content/widgets/tag-manager.json +0 -12
- package/ecomplus-stores/monocard/functions/ssr/content/widgets/tawkto.json +0 -12
- package/ecomplus-stores/monocard/functions/ssr/content/widgets/trustvox.json +0 -15
- package/ecomplus-stores/monocard/functions/ssr/content/widgets/user.json +0 -5
- package/ecomplus-stores/monocard/functions/ssr/public/admin/config.json +0 -1
- package/ecomplus-stores/monocard/functions/ssr/public/assets/cms-preview.css +0 -274
- package/ecomplus-stores/monocard/functions/ssr/public/assets/cms.css +0 -114
- package/ecomplus-stores/monocard/functions/ssr/public/assets/cvv.png +0 -0
- package/ecomplus-stores/monocard/functions/ssr/public/assets/fonts/FavoritPro-Regular.woff2 +0 -0
- package/ecomplus-stores/monocard/functions/ssr/public/assets/fonts/MyriadPro-Regular.woff2 +0 -0
- package/ecomplus-stores/monocard/functions/ssr/public/assets/ssl-safe.png +0 -0
- package/ecomplus-stores/monocard/functions/ssr/src/layouts/Pages.astro +0 -50
- package/ecomplus-stores/monocard/functions/ssr/src/pages/fallback.astro +0 -21
- package/packages/storefront/dist/client/_astro/ShopHeader.7e485e35.js +0 -4
- package/packages/storefront/dist/client/_astro/_...slug_.b693913e.css +0 -1
- package/packages/storefront/dist/client/_astro/index.ea57babe.js +0 -1
- package/packages/storefront/dist/server/chunks/_...4a2548d2.mjs +0 -35
- package/packages/storefront/dist/server/chunks/pages/endpoint.js.f7a896a1.mjs +0 -119
- package/packages/storefront/dist/server/chunks/pages/index.astro.3145bd93.mjs +0 -1649
- /package/ecomplus-stores/monocard/functions/ssr/src/components/{FeatureTabs.astro → FeaturesSection.astro} +0 -0
|
@@ -22,16 +22,31 @@
|
|
|
22
22
|
},
|
|
23
23
|
"alphabetical_sort_submenu": false
|
|
24
24
|
},
|
|
25
|
-
"service_links": [
|
|
26
|
-
{
|
|
27
|
-
"title": "Edite seu Monocard",
|
|
28
|
-
"href": "https://mono.direct/login"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"title": "Fale conosco",
|
|
32
|
-
"href": "https://ajuda.monocard.com.br/"
|
|
33
|
-
}
|
|
34
|
-
],
|
|
35
25
|
"footer": {
|
|
26
|
+
"pages_list": {
|
|
27
|
+
"enabled": true,
|
|
28
|
+
"title": "",
|
|
29
|
+
"links": []
|
|
30
|
+
},
|
|
31
|
+
"stamps": [
|
|
32
|
+
{
|
|
33
|
+
"img": "",
|
|
34
|
+
"alt": "Troca garantida",
|
|
35
|
+
"icon": "exchange",
|
|
36
|
+
"href": "/p/trocas"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"img": "",
|
|
40
|
+
"alt": "Google Navegação Segura",
|
|
41
|
+
"icon": "check",
|
|
42
|
+
"href": "https://transparencyreport.google.com/safe-browsing/search?url={domain}"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"img": "",
|
|
46
|
+
"alt": "Conexão SSL",
|
|
47
|
+
"icon": "lock",
|
|
48
|
+
"href": ""
|
|
49
|
+
}
|
|
50
|
+
]
|
|
36
51
|
}
|
|
37
52
|
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta_title": "",
|
|
3
|
+
"meta_description": "",
|
|
4
|
+
"hero": {
|
|
5
|
+
"autoplay": 9000,
|
|
6
|
+
"slides": [
|
|
7
|
+
{
|
|
8
|
+
"start": "",
|
|
9
|
+
"end": "",
|
|
10
|
+
"img": "/img/uploads/rect89.webp",
|
|
11
|
+
"alt": "Headset banner",
|
|
12
|
+
"mobile_img": "/img/uploads/headphone.webp",
|
|
13
|
+
"href": "/headset",
|
|
14
|
+
"title": "20% off on first purchase",
|
|
15
|
+
"subtitle": "At demoStore you can shop the best tech of 2023. Enjoy and get 10% off on your first purchase!",
|
|
16
|
+
"button_link": "/",
|
|
17
|
+
"button_text": "See"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"start": "",
|
|
21
|
+
"end": "",
|
|
22
|
+
"img": "/img/uploads/rect859.png",
|
|
23
|
+
"alt": "",
|
|
24
|
+
"mobile_img": "",
|
|
25
|
+
"href": "",
|
|
26
|
+
"title": "",
|
|
27
|
+
"subtitle": "",
|
|
28
|
+
"button_link": "",
|
|
29
|
+
"button_text": ""
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"sections": [
|
|
34
|
+
{
|
|
35
|
+
"type": "product-shelf",
|
|
36
|
+
"collection_id": null,
|
|
37
|
+
"sort": "-price_discount",
|
|
38
|
+
"title": "",
|
|
39
|
+
"headless": false,
|
|
40
|
+
"shuffle": false,
|
|
41
|
+
"limit": 12,
|
|
42
|
+
"page": 1
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"type": "banners-grid",
|
|
46
|
+
"banners": [
|
|
47
|
+
{
|
|
48
|
+
"img": "/img/uploads/rect8589.png",
|
|
49
|
+
"href": "/banner-1"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"img": "/img/uploads/passion.webp",
|
|
53
|
+
"href": "/banner-2"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"img": "/img/uploads/rect89.webp",
|
|
57
|
+
"href": "/banner-3",
|
|
58
|
+
"mobile_img": "/img/uploads/headphone.webp"
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"domain": "
|
|
2
|
+
"domain": "ecom2monocard.web.app",
|
|
3
3
|
"name": "Monocard",
|
|
4
4
|
"description": "Monocard - O seu último cartão de visitas",
|
|
5
5
|
"logo": "/img/uploads/logo.webp",
|
|
6
|
-
"icon": "/img/icon.png",
|
|
6
|
+
"icon": "/img/uploads/ecom-icon.png",
|
|
7
7
|
"primary_color": "#92F7B6",
|
|
8
8
|
"email": "",
|
|
9
9
|
"phone": "",
|
|
@@ -21,6 +21,26 @@
|
|
|
21
21
|
"youtube": "https://www.youtube.com/channel/UCBlIxK5JAub0E1EX_qHdzmA",
|
|
22
22
|
"tiktok": "",
|
|
23
23
|
"pinterest": "",
|
|
24
|
+
"threads": "",
|
|
25
|
+
"service_links": [
|
|
26
|
+
{
|
|
27
|
+
"title": "Edite seu Monocard",
|
|
28
|
+
"href": "https://mono.direct/login"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"title": "Fale conosco",
|
|
32
|
+
"href": "https://ajuda.monocard.com.br/"
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"payment_methods": [
|
|
36
|
+
"pix",
|
|
37
|
+
"visa",
|
|
38
|
+
"mastercard",
|
|
39
|
+
"elo",
|
|
40
|
+
"amex",
|
|
41
|
+
"hipercard",
|
|
42
|
+
"boleto"
|
|
43
|
+
],
|
|
24
44
|
"metafields": {
|
|
25
45
|
"support_url": "https://ajuda.monocard.com.br/",
|
|
26
46
|
"business_lp_url": "https://empresas.monocard.com.br/",
|
|
@@ -17,19 +17,18 @@
|
|
|
17
17
|
},
|
|
18
18
|
"main": "index.js",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@cloudcommerce/api": "^0.
|
|
21
|
-
"@cloudcommerce/firebase": "^0.
|
|
22
|
-
"@cloudcommerce/ssr": "^0.
|
|
20
|
+
"@cloudcommerce/api": "^0.26.6",
|
|
21
|
+
"@cloudcommerce/firebase": "^0.26.6",
|
|
22
|
+
"@cloudcommerce/ssr": "^0.26.6",
|
|
23
23
|
"@vueuse/motion": "2.0.0-beta.22"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@cloudcommerce/i18n": "^0.
|
|
27
|
-
"@cloudcommerce/storefront": "^0.
|
|
28
|
-
"@cloudcommerce/types": "^0.
|
|
29
|
-
"@fontsource/inter": "^
|
|
26
|
+
"@cloudcommerce/i18n": "^0.26.6",
|
|
27
|
+
"@cloudcommerce/storefront": "^0.26.6",
|
|
28
|
+
"@cloudcommerce/types": "^0.26.6",
|
|
29
|
+
"@fontsource-variable/inter": "^5.0.8",
|
|
30
30
|
"@iconify-json/ri": "^1.1.8",
|
|
31
31
|
"@iconify-json/wpf": "^1.1.4",
|
|
32
|
-
"lottie-web": "^5.
|
|
33
|
-
"lozad": "^1.16.0"
|
|
32
|
+
"lottie-web": "^5.12.2"
|
|
34
33
|
}
|
|
35
34
|
}
|
|
File without changes
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
.card {
|
|
2
|
+
color: var(--color);
|
|
3
|
+
width: 320px;
|
|
4
|
+
height: 190px;
|
|
5
|
+
-webkit-perspective: 600px;
|
|
6
|
+
-moz-perspective: 600px;
|
|
7
|
+
perspective:600px;
|
|
8
|
+
}
|
|
9
|
+
.card__part {
|
|
10
|
+
box-shadow: 1px 1px #aaa3a3;
|
|
11
|
+
top: 0;
|
|
12
|
+
position: absolute;
|
|
13
|
+
z-index: 1000;
|
|
14
|
+
left: 0;
|
|
15
|
+
display: inline-block;
|
|
16
|
+
width: 320px;
|
|
17
|
+
height: 190px;
|
|
18
|
+
background: var(--background-color);
|
|
19
|
+
border-radius: 8px;
|
|
20
|
+
-webkit-transition: all .5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
|
21
|
+
-moz-transition: all .5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
|
22
|
+
-ms-transition: all .5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
|
23
|
+
-o-transition: all .5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
|
24
|
+
transition: all .5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
|
25
|
+
transform-style: preserve-3d;
|
|
26
|
+
-webkit-transform-style: preserve-3d;
|
|
27
|
+
-moz-transform-style: preserve-3d;
|
|
28
|
+
backface-visibility: hidden;
|
|
29
|
+
-webkit-backface-visibility: hidden;
|
|
30
|
+
-moz-backface-visibility: hidden;
|
|
31
|
+
}
|
|
32
|
+
.card__front {
|
|
33
|
+
padding: 18px;
|
|
34
|
+
transform: rotateY(0);
|
|
35
|
+
-webkit-transform: rotateY(0);
|
|
36
|
+
-moz-transform: rotateY(0);
|
|
37
|
+
}
|
|
38
|
+
.card__back {
|
|
39
|
+
display: flex;
|
|
40
|
+
align-items: center;
|
|
41
|
+
justify-content: space-around;
|
|
42
|
+
transform: rotateY(-180deg);
|
|
43
|
+
-webkit-transform: rotateY(-180deg);
|
|
44
|
+
-moz-transform: rotateY(-180deg);
|
|
45
|
+
}
|
|
46
|
+
.card__back img {
|
|
47
|
+
max-width: 256px;
|
|
48
|
+
max-height: 154px;
|
|
49
|
+
}
|
|
50
|
+
.card__logo {
|
|
51
|
+
height: 16px;
|
|
52
|
+
}
|
|
53
|
+
.card__front-logo{
|
|
54
|
+
position: absolute;
|
|
55
|
+
top: 18px;
|
|
56
|
+
right: 18px;
|
|
57
|
+
}
|
|
58
|
+
.card__square {
|
|
59
|
+
border-radius: 5px;
|
|
60
|
+
height: 30px;
|
|
61
|
+
}
|
|
62
|
+
.card__space-75 {
|
|
63
|
+
margin-top: 100px;
|
|
64
|
+
width: 75%;
|
|
65
|
+
float: left;
|
|
66
|
+
}
|
|
67
|
+
.card__space-25 {
|
|
68
|
+
margin-top: 30px;
|
|
69
|
+
width: 25%;
|
|
70
|
+
float: right;
|
|
71
|
+
text-align: right;
|
|
72
|
+
}
|
|
73
|
+
.card__label {
|
|
74
|
+
font-size: 10px;
|
|
75
|
+
text-transform: uppercase;
|
|
76
|
+
color: rgba(255,255,255,0.8);
|
|
77
|
+
letter-spacing: 1px;
|
|
78
|
+
}
|
|
79
|
+
.card__info {
|
|
80
|
+
margin-bottom: 0;
|
|
81
|
+
margin-top: 5px;
|
|
82
|
+
font-size: 16px;
|
|
83
|
+
line-height: 18px;
|
|
84
|
+
color: var(--color);
|
|
85
|
+
letter-spacing: 1px;
|
|
86
|
+
text-transform: uppercase;
|
|
87
|
+
}
|
|
88
|
+
.card:not(.card--no-back):hover .card__front,
|
|
89
|
+
.card--show-back .card__front {
|
|
90
|
+
transform: rotateY(180deg);
|
|
91
|
+
-webkit-transform: rotateY(180deg);
|
|
92
|
+
-moz-transform: rotateY(180deg);
|
|
93
|
+
}
|
|
94
|
+
.card:not(.card--no-back):hover .card__back,
|
|
95
|
+
.card--show-back .card__back {
|
|
96
|
+
transform: rotateY(0deg);
|
|
97
|
+
-webkit-transform: rotateY(0deg);
|
|
98
|
+
-moz-transform: rotateY(0deg);
|
|
99
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--custom-font-sans: "Inter Variable";
|
|
3
|
+
--c-on-primary: rgb(0, 0, 0);
|
|
4
|
+
--un-prose-links: rgb(var(--rgb-primary-700));
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
html {
|
|
8
|
+
scroll-behavior: smooth;
|
|
9
|
+
}
|
|
10
|
+
body {
|
|
11
|
+
overflow-x: hidden;
|
|
12
|
+
}
|
|
13
|
+
a, button, button > * {
|
|
14
|
+
transition: background-color var(--transition),
|
|
15
|
+
color var(--transition), border-color var(--transition),
|
|
16
|
+
opacity var(--transition), transform var(--transition-fast);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.ui-link {
|
|
20
|
+
@apply not-prose font-medium text-primary underline underline-offset-4
|
|
21
|
+
decoration-primary/70 hover:text-primary-bold active:text-primary-subtle;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
[class*=ui-btn] {
|
|
25
|
+
@apply not-prose inline-block text-base font-medium px-4 py-2 rounded
|
|
26
|
+
border-2 border-transparent focus:ring-1 focus:ring-offset-1 active:ring-2;
|
|
27
|
+
}
|
|
28
|
+
.ui-btn-sm {
|
|
29
|
+
@apply text-sm px-3 py-1.5 border-1;
|
|
30
|
+
}
|
|
31
|
+
.ui-btn-lg {
|
|
32
|
+
@apply font-bold px-6 py-2.5 active:ring-3;
|
|
33
|
+
}
|
|
34
|
+
.ui-btn-primary {
|
|
35
|
+
@apply primary border-primary hover:primary-bold ring-primary/30;
|
|
36
|
+
}
|
|
37
|
+
.ui-btn-secondary {
|
|
38
|
+
@apply bg-secondary-100/50 text-secondary border-secondary
|
|
39
|
+
hover:secondary ring-secondary/30;
|
|
40
|
+
}
|
|
41
|
+
.ui-btn-contrast {
|
|
42
|
+
@apply bg-white text-primary hover:bg-primary-100 ring-white/30;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.ui-text-brand, .ui-title {
|
|
46
|
+
@apply font-brand font-black italic;
|
|
47
|
+
}
|
|
48
|
+
.ui-title {
|
|
49
|
+
@apply not-prose text-3xl xl:text-5xl;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
[class*=ui-badge] {
|
|
53
|
+
@apply text-center px-2.5 py-0.5 rounded-md font-semibold
|
|
54
|
+
inline-block bg-secondary-200 text-secondary-900;
|
|
55
|
+
}
|
|
56
|
+
[class*=ui-badge-pill] {
|
|
57
|
+
@apply py-0 rounded-full;
|
|
58
|
+
}
|
|
59
|
+
.ui-badge-pill-sm {
|
|
60
|
+
@apply text-xs min-w-[1rem] px-0.5;
|
|
61
|
+
}
|
|
62
|
+
.ui-badge-pill-lg {
|
|
63
|
+
@apply text-lg min-w-[1.75rem] px-2;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
[class*=ui-section] {
|
|
67
|
+
@apply container 2xl:max-w-7xl mx-auto px-4 sm:px-2 my-6 md:my-8;
|
|
68
|
+
}
|
|
69
|
+
.ui-section {
|
|
70
|
+
@apply sm:px-2 my-6 md:my-8;
|
|
71
|
+
}
|
|
72
|
+
.ui-section-slim {
|
|
73
|
+
@apply my-3;
|
|
74
|
+
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<div v-if="open">
|
|
8
8
|
<span v-once>{{ initializeFirebaseAuth() }}</span>
|
|
9
9
|
</div>
|
|
10
|
-
<MenuButton class="outline-none">
|
|
10
|
+
<MenuButton class="outline-none" :aria-label="$t.i19myAccount">
|
|
11
11
|
<slot name="button" v-bind="{ open }" />
|
|
12
12
|
</MenuButton>
|
|
13
13
|
<Fade>
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
divide-y divide-base-100 focus:outline-none">
|
|
17
17
|
<div class="p-3 text-base-600">
|
|
18
18
|
{{ `${$t.i19hello} ${customerName || $t.i19visitor}` }}
|
|
19
|
-
<AccountLink class="
|
|
19
|
+
<AccountLink role="button" class="ui-btn-sm ui-btn-primary block my-1">
|
|
20
20
|
{{ $t.i19accessMyAccount }}
|
|
21
21
|
</AccountLink>
|
|
22
22
|
<AccountLink
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
<MenuItem
|
|
41
41
|
as="li"
|
|
42
42
|
v-slot="{ active }"
|
|
43
|
-
v-for="({ title, href }, i) in
|
|
43
|
+
v-for="({ title, href }, i) in $settings.service_links"
|
|
44
44
|
:key="`s-${i}`"
|
|
45
45
|
>
|
|
46
46
|
<ALink
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
<MenuItem v-if="isLogged" as="li">
|
|
68
68
|
<button @click="logout" class="p-2 text-right text-base-800">
|
|
69
69
|
<span class="text-base-600">{{ $t.i19logout }}</span>
|
|
70
|
-
<i class="i-logout text-lg ml-1"></i>
|
|
70
|
+
<i class="i-logout-circle-r-line text-lg ml-1"></i>
|
|
71
71
|
</button>
|
|
72
72
|
</MenuItem>
|
|
73
73
|
</ul>
|
|
@@ -83,7 +83,7 @@ import {
|
|
|
83
83
|
MenuItems,
|
|
84
84
|
MenuItem,
|
|
85
85
|
} from '@headlessui/vue';
|
|
86
|
-
import { socialNetworks } from '@@sf/
|
|
86
|
+
import { socialNetworks } from '@@sf/sf-lib';
|
|
87
87
|
import {
|
|
88
88
|
customerName,
|
|
89
89
|
initializeFirebaseAuth,
|
|
@@ -92,13 +92,4 @@ import {
|
|
|
92
92
|
} from '@@sf/state/customer-session';
|
|
93
93
|
import AccountLink from '@@sf/components/AccountLink.vue';
|
|
94
94
|
import SocialNetworkLink from '@@sf/components/SocialNetworkLink.vue';
|
|
95
|
-
|
|
96
|
-
export interface Props {
|
|
97
|
-
serviceLinks?: Array<{
|
|
98
|
-
title: string;
|
|
99
|
-
href: string;
|
|
100
|
-
}>;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
defineProps<Props>();
|
|
104
95
|
</script>
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
class="mx-auto overflow-x-hidden"
|
|
4
|
+
:class="hasHeader ? 'grid grid-cols-1 sm:grid-cols-2 items-center' : null"
|
|
5
|
+
>
|
|
6
|
+
<ALink
|
|
7
|
+
:href="href"
|
|
8
|
+
:class="hasHeader
|
|
9
|
+
? 'sm:order-last [&_img]:max-w-full sm:[&_img]:max-w-none'
|
|
10
|
+
+ ' [&_img]:aspect-video sm:[&_img]:aspect-[2.5] [&_img]:object-cover'
|
|
11
|
+
: '[&_img]:max-w-full'"
|
|
12
|
+
>
|
|
13
|
+
<slot name="picture" />
|
|
14
|
+
</ALink>
|
|
15
|
+
<div
|
|
16
|
+
v-if="hasHeader"
|
|
17
|
+
class="p-12 xl:ps-32 mb-3 sm:mb-0"
|
|
18
|
+
>
|
|
19
|
+
<Component
|
|
20
|
+
v-if="parsedTitle"
|
|
21
|
+
:is="headingTag"
|
|
22
|
+
class="ui-title mt-1"
|
|
23
|
+
>
|
|
24
|
+
{{ parsedTitle }}
|
|
25
|
+
</Component>
|
|
26
|
+
<p v-if="parsedSubtitle" class="text-lg mt-4 md:mt-6">
|
|
27
|
+
{{ parsedSubtitle }}
|
|
28
|
+
</p>
|
|
29
|
+
<ALink
|
|
30
|
+
v-if="parsedButtonText"
|
|
31
|
+
:href="buttonLink"
|
|
32
|
+
class="ui-btn-lg ui-btn-contrast min-w-[150px] mt-7 md:mt-10"
|
|
33
|
+
>
|
|
34
|
+
{{ parsedButtonText }}
|
|
35
|
+
</ALink>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
</template>
|
|
39
|
+
|
|
40
|
+
<script setup lang="ts">
|
|
41
|
+
import {
|
|
42
|
+
type Props as UseBannerProps,
|
|
43
|
+
useBanner,
|
|
44
|
+
} from '@@sf/composables/use-banner';
|
|
45
|
+
|
|
46
|
+
export type Props = UseBannerProps & {
|
|
47
|
+
headingTag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
51
|
+
headingTag: 'h3',
|
|
52
|
+
});
|
|
53
|
+
const {
|
|
54
|
+
hasHeader,
|
|
55
|
+
parsedTitle,
|
|
56
|
+
parsedSubtitle,
|
|
57
|
+
parsedButtonText,
|
|
58
|
+
} = useBanner(props);
|
|
59
|
+
</script>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { Props as UseBannerProps } from '@@sf/composables/use-banner';
|
|
3
|
+
import BannerPictures from '@@sf/components/BannerPictures.astro';
|
|
4
|
+
import Banner from '~/components/Banner.vue';
|
|
5
|
+
|
|
6
|
+
export type Props = {
|
|
7
|
+
title?: string;
|
|
8
|
+
titleLink?: string;
|
|
9
|
+
banners: UseBannerProps[];
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const { banners } = Astro.props;
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<section class="ui-section">
|
|
16
|
+
<ul class="flex flex-wrap lg:flex-nowrap gap-4">
|
|
17
|
+
{banners.map((banner) => (
|
|
18
|
+
<li class="lg:flex-1 [&_img]:w-full [&_img]:object-cover">
|
|
19
|
+
<Banner {...banner}>
|
|
20
|
+
<BannerPictures {...banner} slot="picture" />
|
|
21
|
+
</Banner>
|
|
22
|
+
</li>
|
|
23
|
+
))}
|
|
24
|
+
</ul>
|
|
25
|
+
</section>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
import {
|
|
3
|
+
type Props as UseBreadcrumbsProps,
|
|
4
|
+
useBreadcrumbs,
|
|
5
|
+
} from '@@sf/composables/use-breadcrumbs';
|
|
6
|
+
|
|
7
|
+
export interface Props extends UseBreadcrumbsProps {}
|
|
8
|
+
|
|
9
|
+
const { breadcrumbs, inlineJSONLd } = await useBreadcrumbs(Astro.props);
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
{breadcrumbs.length > 0 &&
|
|
13
|
+
<section class="ui-section-slim">
|
|
14
|
+
<nav aria-label="Breadcrumb" class="w-full overflow-hidden text-lg md:text-sm">
|
|
15
|
+
<ol class="flex items-center gap-1 text-base-600">
|
|
16
|
+
<li>
|
|
17
|
+
<a href="/" class="hover:text-primary">
|
|
18
|
+
<span class="sr-only"> Home </span>
|
|
19
|
+
<i class="i-home"></i>
|
|
20
|
+
</a>
|
|
21
|
+
</li>
|
|
22
|
+
{breadcrumbs.map(({ name, link }, i) =>
|
|
23
|
+
<>
|
|
24
|
+
{i + 1 < breadcrumbs.length
|
|
25
|
+
? <li class="text-base-300">
|
|
26
|
+
<i class="i-chevron-right"></i>
|
|
27
|
+
</li>
|
|
28
|
+
<li class="whitespace-nowrap">
|
|
29
|
+
<a href={link} class="hover:text-primary">{name}</a>
|
|
30
|
+
</li>
|
|
31
|
+
: <li class="hidden lg:block text-base-300">
|
|
32
|
+
<i class="i-chevron-right"></i>
|
|
33
|
+
</li>
|
|
34
|
+
<li class="hidden lg:block whitespace-nowrap overflow-hidden text-ellipsis">
|
|
35
|
+
<span class="text-base-500">{name}</span>
|
|
36
|
+
</li>
|
|
37
|
+
}
|
|
38
|
+
</>
|
|
39
|
+
)}
|
|
40
|
+
</ol>
|
|
41
|
+
</nav>
|
|
42
|
+
{inlineJSONLd && <script type="application/ld+json" set:html={inlineJSONLd} />}
|
|
43
|
+
</section>
|
|
44
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<article class="relative bg-white shadow-sm">
|
|
3
|
+
<ALink :href="link" class="flex items-center gap-5 p-4 group">
|
|
4
|
+
<AImg
|
|
5
|
+
v-if="image"
|
|
6
|
+
:picture="image"
|
|
7
|
+
:alt="title"
|
|
8
|
+
class="w-20 h-20 object-cover"
|
|
9
|
+
/>
|
|
10
|
+
<p class="py-2 flex-auto text-sm text-base-700
|
|
11
|
+
group-hover:text-base-900 group-hover:underline">
|
|
12
|
+
{{ title }}
|
|
13
|
+
</p>
|
|
14
|
+
</ALink>
|
|
15
|
+
<button
|
|
16
|
+
v-if="cartItem._id"
|
|
17
|
+
@click.stop="removeCartItem(cartItem._id)"
|
|
18
|
+
class="absolute top-0 right-0 p-2 opacity-70 hover:opacity-100"
|
|
19
|
+
:aria-label="$t.i19remove"
|
|
20
|
+
>
|
|
21
|
+
<span class="w-5 h-5 text-sm leading-none flex flex-col justify-center
|
|
22
|
+
rounded-full border-3 text-danger-800 border-danger-700/30">
|
|
23
|
+
<i class="i-close my-0 mx-auto"></i>
|
|
24
|
+
</span>
|
|
25
|
+
</button>
|
|
26
|
+
<div class="flex justify-between items-center border-t-2 border-base-100">
|
|
27
|
+
<div class="border-r-2 border-base-100">
|
|
28
|
+
<QuantitySelector
|
|
29
|
+
v-model="cartItem.quantity"
|
|
30
|
+
:min="cartItem.min_quantity"
|
|
31
|
+
:max="cartItem.max_quantity"
|
|
32
|
+
/>
|
|
33
|
+
</div>
|
|
34
|
+
<Prices
|
|
35
|
+
:base-price="cartItem.base_price"
|
|
36
|
+
:price="finalPrice"
|
|
37
|
+
:has-cashback="false"
|
|
38
|
+
:has-price-options="false"
|
|
39
|
+
class="px-4 py-2.5 text-[95%] text-right"
|
|
40
|
+
/>
|
|
41
|
+
</div>
|
|
42
|
+
</article>
|
|
43
|
+
</template>
|
|
44
|
+
|
|
45
|
+
<script setup lang="ts">
|
|
46
|
+
import { removeCartItem } from '@@sf/state/shopping-cart';
|
|
47
|
+
import {
|
|
48
|
+
type Props as UseCartItemProps,
|
|
49
|
+
useCartItem,
|
|
50
|
+
} from '@@sf/composables/use-cart-item';
|
|
51
|
+
import QuantitySelector from '@@sf/components/QuantitySelector.vue';
|
|
52
|
+
import Prices from '~/components/Prices.vue';
|
|
53
|
+
|
|
54
|
+
export type Props = UseCartItemProps;
|
|
55
|
+
|
|
56
|
+
const props = defineProps<Props>();
|
|
57
|
+
const {
|
|
58
|
+
cartItem,
|
|
59
|
+
title,
|
|
60
|
+
link,
|
|
61
|
+
image,
|
|
62
|
+
finalPrice,
|
|
63
|
+
} = useCartItem(props);
|
|
64
|
+
</script>
|