cloudcommerce 0.26.6 → 0.27.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-apps.yml +2 -2
- package/.gitmodules +0 -3
- package/.vscode/settings.json +3 -1
- package/CHANGELOG.md +50 -0
- package/action.yml +2 -2
- 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/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/{iluminim → monocard}/SETUP.md +12 -0
- package/ecomplus-stores/{iluminim → monocard}/SETUP.pt-BR.md +12 -0
- package/ecomplus-stores/monocard/functions/config.json +1 -1
- package/ecomplus-stores/monocard/functions/{core → many}/package.json +4 -2
- package/ecomplus-stores/monocard/functions/ssr/.eslintrc.cjs +1 -1
- package/ecomplus-stores/monocard/functions/ssr/content/layout.json +25 -10
- package/ecomplus-stores/{iluminim → monocard}/functions/ssr/content/pages/home.json +12 -19
- 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/src/assets/card.css +99 -0
- package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/assets/style.css +16 -7
- package/ecomplus-stores/monocard/functions/ssr/src/components/AccountMenu.vue +5 -14
- package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/components/Banner.vue +6 -4
- package/ecomplus-stores/monocard/functions/ssr/src/components/Breadcrumbs.astro +44 -0
- package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/components/CartSidebar.vue +1 -1
- 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/{iluminim → monocard}/functions/ssr/src/components/ProductCard.vue +1 -1
- package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/components/ShopFooter.vue +9 -35
- 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/{iluminim → monocard}/functions/ssr/src/layouts/PageFooter.astro +3 -19
- package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/layouts/PageHeader.astro +7 -14
- 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/scripts/InlineScripts.astro +6 -6
- package/ecomplus-stores/monocard/functions/ssr/tailwind.config.cjs +1 -11
- package/ecomplus-stores/monocard/functions/{events → 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 +7 -7
- package/packages/api/package.json +1 -1
- package/packages/apps/affilate-program/package.json +2 -2
- package/packages/apps/correios/package.json +3 -4
- package/packages/apps/custom-payment/package.json +1 -1
- package/packages/apps/custom-shipping/package.json +1 -1
- package/packages/apps/datafrete/package.json +3 -3
- package/packages/apps/discounts/package.json +1 -1
- package/packages/apps/emails/package.json +2 -2
- package/packages/apps/fb-conversions/package.json +3 -3
- package/packages/apps/flash-courier/package.json +2 -2
- package/packages/apps/frenet/package.json +3 -3
- package/packages/apps/galaxpay/package.json +3 -3
- package/packages/apps/google-analytics/package.json +3 -3
- package/packages/apps/jadlog/package.json +2 -2
- package/packages/apps/loyalty-points/package.json +1 -1
- package/packages/apps/melhor-envio/package.json +3 -3
- package/packages/apps/mercadopago/package.json +3 -3
- package/packages/apps/pagarme/package.json +4 -4
- package/packages/apps/paghiper/package.json +3 -3
- package/packages/apps/pix/package.json +3 -3
- package/packages/apps/tiny-erp/lib/integration/export-order-to-tiny.js +22 -0
- package/packages/apps/tiny-erp/lib/integration/export-order-to-tiny.js.map +1 -1
- package/packages/apps/tiny-erp/lib/integration/helpers/format-tiny-date.js +2 -2
- package/packages/apps/tiny-erp/lib/integration/helpers/format-tiny-date.js.map +1 -1
- package/packages/apps/tiny-erp/lib/integration/import-order-from-tiny.js +7 -1
- package/packages/apps/tiny-erp/lib/integration/import-order-from-tiny.js.map +1 -1
- package/packages/apps/tiny-erp/lib/integration/import-product-from-tiny.js +14 -5
- package/packages/apps/tiny-erp/lib/integration/import-product-from-tiny.js.map +1 -1
- package/packages/apps/tiny-erp/lib/integration/parsers/order-from-tiny.js +9 -1
- package/packages/apps/tiny-erp/lib/integration/parsers/order-from-tiny.js.map +1 -1
- package/packages/apps/tiny-erp/lib/integration/parsers/order-to-tiny.js +8 -6
- package/packages/apps/tiny-erp/lib/integration/parsers/order-to-tiny.js.map +1 -1
- package/packages/apps/tiny-erp/lib/integration/parsers/product-from-tiny.js +118 -38
- package/packages/apps/tiny-erp/lib/integration/parsers/product-from-tiny.js.map +1 -1
- package/packages/apps/tiny-erp/lib/integration/parsers/product-to-tiny.js +8 -0
- package/packages/apps/tiny-erp/lib/integration/parsers/product-to-tiny.js.map +1 -1
- package/packages/apps/tiny-erp/package.json +3 -3
- package/packages/apps/tiny-erp/src/integration/export-order-to-tiny.ts +24 -0
- package/packages/apps/tiny-erp/src/integration/helpers/format-tiny-date.ts +2 -2
- package/packages/apps/tiny-erp/src/integration/import-order-from-tiny.ts +8 -1
- package/packages/apps/tiny-erp/src/integration/import-product-from-tiny.ts +17 -5
- package/packages/apps/tiny-erp/src/integration/parsers/order-from-tiny.ts +13 -1
- package/packages/apps/tiny-erp/src/integration/parsers/order-to-tiny.ts +11 -6
- package/packages/apps/tiny-erp/src/integration/parsers/product-from-tiny.ts +144 -41
- package/packages/apps/tiny-erp/src/integration/parsers/product-to-tiny.ts +10 -0
- package/packages/apps/webhooks/package.json +3 -3
- package/packages/cli/package.json +2 -2
- package/packages/config/package.json +1 -1
- package/packages/emails/package.json +4 -4
- package/packages/eslint/base.eslintrc.cjs +3 -0
- package/packages/eslint/package.json +5 -4
- package/packages/eslint/storefront.eslintrc.cjs +8 -1
- package/packages/events/package.json +2 -2
- package/packages/feeds/package.json +1 -1
- package/packages/firebase/package.json +3 -3
- package/packages/i18n/package.json +1 -1
- package/packages/modules/package.json +3 -3
- package/packages/passport/package.json +2 -2
- 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 +3 -3
- package/packages/ssr/src/firebase/serve-storefront.ts +24 -8
- package/packages/storefront/.auto-imports.d.ts +65 -0
- package/packages/storefront/astro.config.mjs +24 -1
- package/packages/storefront/client.d.ts +1 -0
- package/packages/storefront/config/astro/context-directive.mjs +21 -0
- package/packages/storefront/config/astro/index.d.ts +8 -0
- package/packages/storefront/config/storefront.tailwind.cjs +0 -1
- 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/_...05c626ea.mjs +28 -0
- 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 +6 -5
- package/packages/storefront/scripts/build-prod.sh +3 -2
- package/packages/storefront/server.d.ts +1 -0
- package/packages/storefront/src/lib/$storefront.d.ts +8 -8
- package/packages/storefront/src/lib/assets/base.css +13 -0
- package/packages/storefront/src/lib/assets/reset.css +11 -2
- package/packages/storefront/src/lib/components/Carousel.vue +93 -72
- package/packages/storefront/src/lib/components/CarouselControl.vue +13 -7
- package/packages/storefront/src/lib/components/ContentClearfix.vue +17 -0
- package/packages/storefront/src/lib/components/Drawer.vue +3 -3
- package/packages/storefront/src/lib/components/PaymentMethodFlag.vue +1 -1
- package/packages/storefront/src/lib/components/QuantitySelector.vue +4 -4
- package/packages/storefront/src/lib/components/QuantitySelectorControl.vue +2 -2
- package/packages/storefront/src/lib/components/ViewTransitions.astro +409 -0
- package/packages/storefront/src/lib/components/globals/AImg.vue +2 -1
- package/packages/storefront/src/lib/layouts/BaseBody.astro +1 -1
- package/packages/storefront/src/lib/layouts/BaseHead.astro +28 -5
- 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/iluminim/.devcontainer/devcontainer.json +0 -30
- package/ecomplus-stores/iluminim/.editorconfig +0 -13
- package/ecomplus-stores/iluminim/.eslintrc.cjs +0 -3
- package/ecomplus-stores/iluminim/.firebaserc +0 -5
- package/ecomplus-stores/iluminim/.github/renovate.json +0 -5
- package/ecomplus-stores/iluminim/.github/workflows/build-and-deploy.yml +0 -36
- package/ecomplus-stores/iluminim/.github/workflows/calibreapp-image-actions.yml +0 -23
- package/ecomplus-stores/iluminim/.gitpod.yml +0 -12
- package/ecomplus-stores/iluminim/.idx/dev.nix +0 -24
- package/ecomplus-stores/iluminim/.nvmrc +0 -1
- package/ecomplus-stores/iluminim/.vscode/extensions.json +0 -8
- package/ecomplus-stores/iluminim/.vscode/launch.json +0 -11
- package/ecomplus-stores/iluminim/.vscode/settings.json +0 -10
- package/ecomplus-stores/iluminim/README.md +0 -31
- package/ecomplus-stores/iluminim/functions/config.json +0 -3
- package/ecomplus-stores/iluminim/functions/example.env +0 -10
- package/ecomplus-stores/iluminim/functions/many/package.json +0 -22
- package/ecomplus-stores/iluminim/functions/ssr/.eslintrc.cjs +0 -6
- package/ecomplus-stores/iluminim/functions/ssr/astro.config.mjs +0 -4
- package/ecomplus-stores/iluminim/functions/ssr/content/layout.json +0 -57
- package/ecomplus-stores/iluminim/functions/ssr/content/settings.json +0 -65
- package/ecomplus-stores/iluminim/functions/ssr/index.js +0 -18
- package/ecomplus-stores/iluminim/functions/ssr/package.json +0 -31
- package/ecomplus-stores/iluminim/functions/ssr/public/admin/.gitkeep +0 -2
- package/ecomplus-stores/iluminim/functions/ssr/public/assets/cms-preview.css +0 -274
- package/ecomplus-stores/iluminim/functions/ssr/public/assets/cms.css +0 -114
- package/ecomplus-stores/iluminim/functions/ssr/public/assets/cvv.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/assets/img-placeholder.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/assets/payments.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/assets/ssl-safe.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/icon.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/large-icon.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/banner-chamada-desktop-9x81zmd91q.webp +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/banner2.webp +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/chamada-mobile-q1c6om6jx4.webp +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/headphone.webp +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/logo.webp +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/og-image.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/passion.webp +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/rect8589.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/rect859.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/rect89.webp +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/robots.txt +0 -6
- package/ecomplus-stores/iluminim/functions/ssr/scripts/build.sh +0 -14
- package/ecomplus-stores/iluminim/functions/ssr/src/components/AccountMenu.vue +0 -95
- package/ecomplus-stores/iluminim/functions/ssr/src/components/Countdown.vue +0 -79
- package/ecomplus-stores/iluminim/functions/ssr/src/components/HeroSlider.vue +0 -52
- package/ecomplus-stores/iluminim/functions/ssr/src/components/PitchBar.vue +0 -56
- package/ecomplus-stores/iluminim/functions/ssr/src/components/Prices.vue +0 -95
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ProductsCountdown.vue +0 -20
- package/ecomplus-stores/iluminim/functions/ssr/src/components/SearchModal.vue +0 -6
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeader.vue +0 -158
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeaderMenu.vue +0 -58
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeaderSubmenu.vue +0 -88
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopSidenav.vue +0 -61
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopSidenavCategory.vue +0 -80
- package/ecomplus-stores/iluminim/functions/ssr/src/env.d.ts +0 -13
- package/ecomplus-stores/iluminim/functions/ssr/src/layouts/Base.astro +0 -16
- package/ecomplus-stores/iluminim/functions/ssr/src/main/Fallback.astro +0 -10
- package/ecomplus-stores/iluminim/functions/ssr/src/main/Home.astro +0 -49
- package/ecomplus-stores/iluminim/functions/ssr/src/main/Sections.astro +0 -42
- package/ecomplus-stores/iluminim/functions/ssr/src/main/Wildcard.astro +0 -18
- package/ecomplus-stores/iluminim/functions/ssr/src/pages/[...slug].astro +0 -40
- package/ecomplus-stores/iluminim/functions/ssr/src/pages/_vue.ts +0 -3
- package/ecomplus-stores/iluminim/functions/ssr/src/pages/app/account.astro +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/pages/app/index.astro +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/pages/index.astro +0 -37
- package/ecomplus-stores/iluminim/functions/ssr/src/scripts/InlineScripts.astro +0 -10
- package/ecomplus-stores/iluminim/functions/ssr/tailwind.config.cjs +0 -13
- package/ecomplus-stores/iluminim/functions/ssr/tsconfig.json +0 -12
- package/ecomplus-stores/iluminim/functions/ssr/uno.config.cjs +0 -5
- package/ecomplus-stores/iluminim/functions/with-apps/package.json +0 -22
- package/ecomplus-stores/iluminim/package.json +0 -31
- package/ecomplus-stores/iluminim/scripts/install.sh +0 -14
- package/ecomplus-stores/monocard/README.pt-BR.md +0 -102
- package/ecomplus-stores/monocard/functions/core/index.js +0 -9
- package/ecomplus-stores/monocard/functions/events/index.js +0 -9
- package/ecomplus-stores/monocard/functions/modules/index.js +0 -9
- package/ecomplus-stores/monocard/functions/modules/package.json +0 -21
- package/ecomplus-stores/monocard/functions/passport/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/endpoint@_@js.11be892a.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/packages/storefront/src/lib/components/ContentClearfix.astro +0 -12
- /package/ecomplus-stores/{iluminim → monocard}/functions/many/index.js +0 -0
- /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/content/blog/.gitkeep +0 -0
- /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/content/extra-pages/contato.json +0 -0
- /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/content/extra-pages/terms.json +0 -0
- /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/content/extra-pages/trocas.json +0 -0
- /package/ecomplus-stores/{iluminim/functions/ssr/src/layouts/Checkout.astro → monocard/functions/ssr/public/admin/.gitkeep} +0 -0
- /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/public/img/uploads/ecom-icon.png +0 -0
- /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/components/BannersGrid.astro +0 -0
- /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/components/CartItem.vue +0 -0
- /package/ecomplus-stores/monocard/functions/ssr/src/components/{FeatureTabs.astro → FeaturesSection.astro} +0 -0
- /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/components/ProductShelf.vue +0 -0
- /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/pages/~fallback.astro +0 -0
- /package/ecomplus-stores/{iluminim → monocard}/functions/with-apps/index.js +0 -0
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<footer class="w-screen bg-base-
|
|
2
|
+
<footer class="w-screen bg-black text-base-300 border-t border-base-100 py-2">
|
|
3
3
|
<div class="ui-section">
|
|
4
4
|
<div class="pb-7 border-b border-base-200
|
|
5
5
|
flex justify-between flex-wrap lg:flex-nowrap sm:gap-x-10 gap-y-5">
|
|
6
6
|
<div class="shrink">
|
|
7
7
|
<slot name="logo" />
|
|
8
|
-
<div v-if="$settings.description" class="prose">
|
|
8
|
+
<div v-if="$settings.description" class="prose prose-invert">
|
|
9
9
|
<p>{{ $settings.description }}</p>
|
|
10
10
|
</div>
|
|
11
|
-
<div class="flex gap-2 text-base-
|
|
11
|
+
<div class="flex gap-2 text-base-400">
|
|
12
12
|
<span v-for="(href, network) in socialNetworks" :key="network">
|
|
13
13
|
<SocialNetworkLink :network="network" class="p-1 hover:text-primary">
|
|
14
14
|
<template v-if="network === 'whatsapp'" #append>
|
|
15
|
-
<span class="ml-1 text-sm text-base-
|
|
15
|
+
<span class="ml-1 text-sm text-base-300">
|
|
16
16
|
{{ $settings.whatsapp }}
|
|
17
17
|
</span>
|
|
18
18
|
</template>
|
|
19
19
|
</SocialNetworkLink>
|
|
20
20
|
</span>
|
|
21
21
|
</div>
|
|
22
|
-
<div v-if="$settings.address || $settings.phone" class="mt-3 text-base-
|
|
22
|
+
<div v-if="$settings.address || $settings.phone" class="mt-3 text-base-200">
|
|
23
23
|
<address v-if="$settings.address" class="inline-block mr-4">
|
|
24
24
|
{{ $settings.address }}
|
|
25
25
|
</address>
|
|
@@ -33,27 +33,6 @@
|
|
|
33
33
|
</ALink>
|
|
34
34
|
</div>
|
|
35
35
|
</div>
|
|
36
|
-
<div v-if="categories?.length" class="basis-1/2 sm:basis-auto">
|
|
37
|
-
<div class="text-lg font-medium mb-2.5">
|
|
38
|
-
{{ categoriesColTitle || $t.i19categories }}
|
|
39
|
-
</div>
|
|
40
|
-
<ul
|
|
41
|
-
class="text-sm"
|
|
42
|
-
:class="categories.length > 4
|
|
43
|
-
? 'grid md:grid-cols-2 gap-x-5 gap-y-1.5' : 'space-y-1.5'"
|
|
44
|
-
>
|
|
45
|
-
<li v-for="({ name, slug }, i) in categories" :key="`c-${i}`">
|
|
46
|
-
<ALink :href="`/${slug}`" class="ui-link text-base-600">
|
|
47
|
-
{{ name }}
|
|
48
|
-
</ALink>
|
|
49
|
-
</li>
|
|
50
|
-
<li>
|
|
51
|
-
<ALink href="/s" class="ui-link text-base-900">
|
|
52
|
-
{{ $t.i19allProducts }}
|
|
53
|
-
</ALink>
|
|
54
|
-
</li>
|
|
55
|
-
</ul>
|
|
56
|
-
</div>
|
|
57
36
|
<div v-if="pageLinks?.length" class="basis-1/2 sm:basis-auto">
|
|
58
37
|
<div class="text-lg font-medium mb-2.5">
|
|
59
38
|
{{ pagesColTitle || $t.i19institutional }}
|
|
@@ -64,7 +43,7 @@
|
|
|
64
43
|
? 'grid md:grid-cols-2 gap-x-5 gap-y-1.5' : 'space-y-1.5'"
|
|
65
44
|
>
|
|
66
45
|
<li v-for="({ title, href }, i) in pageLinks" :key="`p-${i}`">
|
|
67
|
-
<ALink :href="href" class="ui-link text-base-
|
|
46
|
+
<ALink :href="href" class="ui-link text-base-50">
|
|
68
47
|
{{ title }}
|
|
69
48
|
</ALink>
|
|
70
49
|
</li>
|
|
@@ -89,7 +68,7 @@
|
|
|
89
68
|
<i v-else-if="stamp.icon === 'check'" class="i-check-badge"></i>
|
|
90
69
|
<i v-else class="i-arrow-path-rounded-square"></i>
|
|
91
70
|
</span>
|
|
92
|
-
<span class="text-sm font-medium text-base-
|
|
71
|
+
<span class="text-sm font-medium text-base-300 max-w-[140px]">
|
|
93
72
|
{{ stamp.alt }}
|
|
94
73
|
<i
|
|
95
74
|
v-if="stamp.href && stamp.href.charAt(0) !== '/'"
|
|
@@ -106,6 +85,7 @@
|
|
|
106
85
|
v-for="paymentMethod in $settings.payment_methods"
|
|
107
86
|
:key="paymentMethod"
|
|
108
87
|
:flag="paymentMethod"
|
|
88
|
+
class="!text-base-50"
|
|
109
89
|
/>
|
|
110
90
|
</div>
|
|
111
91
|
</div>
|
|
@@ -116,7 +96,7 @@
|
|
|
116
96
|
{{ $settings.address ? `/ ${$settings.address}` : '' }}
|
|
117
97
|
/ {{ $settings.doc_number }}
|
|
118
98
|
</div>
|
|
119
|
-
<ALink href="https://www.ecomplus.io/" class="italic text-[
|
|
99
|
+
<ALink href="https://www.ecomplus.io/" class="italic text-[rgb(239,235,240)]">
|
|
120
100
|
powered by <b>E-Com Plus</b>
|
|
121
101
|
</ALink>
|
|
122
102
|
</div>
|
|
@@ -125,7 +105,6 @@
|
|
|
125
105
|
</template>
|
|
126
106
|
|
|
127
107
|
<script setup lang="ts">
|
|
128
|
-
import type { Categories } from '@cloudcommerce/api/types';
|
|
129
108
|
import type { LayoutContent } from '@@sf/content';
|
|
130
109
|
import { socialNetworks } from '@@sf/sf-lib';
|
|
131
110
|
import SocialNetworkLink from '@@sf/components/SocialNetworkLink.vue';
|
|
@@ -133,11 +112,6 @@ import PaymentMethodFlag from '@@sf/components/PaymentMethodFlag.vue';
|
|
|
133
112
|
|
|
134
113
|
export interface Props {
|
|
135
114
|
stamps?: LayoutContent['footer']['stamps'];
|
|
136
|
-
categories?: Array<Partial<Categories> & {
|
|
137
|
-
name: string;
|
|
138
|
-
slug: string;
|
|
139
|
-
}>;
|
|
140
|
-
categoriesColTitle?: string;
|
|
141
115
|
pageLinks?: Array<{
|
|
142
116
|
title: string;
|
|
143
117
|
href: string;
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
>
|
|
20
20
|
<i
|
|
21
21
|
class="text-base-100 text-3xl"
|
|
22
|
-
:class="isSidenavOpen ? 'i-close' : 'i-menu'"
|
|
22
|
+
:class="isSidenavOpen ? 'i-close' : 'i-menu-3-line'"
|
|
23
23
|
></i>
|
|
24
24
|
</button>
|
|
25
25
|
</div>
|
|
@@ -29,22 +29,28 @@
|
|
|
29
29
|
v-bind="{ isSticky, ...headerNavLinks }"
|
|
30
30
|
/>
|
|
31
31
|
<div class="basis-1/4 px-2 flex justify-end items-center gap-3 lg:gap-4">
|
|
32
|
-
<AccountMenu
|
|
33
|
-
class="hidden sm:block"
|
|
34
|
-
:aria-label="$t.i19myAccount"
|
|
35
|
-
:service-links="serviceLinks"
|
|
36
|
-
>
|
|
32
|
+
<AccountMenu class="hidden sm:block">
|
|
37
33
|
<template #button="{ open }">
|
|
38
34
|
<i
|
|
39
|
-
class="i-account w-7 h-7
|
|
35
|
+
class="i-account-pin-circle-line w-7 h-7
|
|
40
36
|
hover:text-primary hover:scale-110 active:scale-125"
|
|
41
37
|
:class="open ? 'text-white scale-110' : 'text-base-200'"
|
|
42
38
|
></i>
|
|
43
39
|
</template>
|
|
44
40
|
</AccountMenu>
|
|
45
|
-
<button
|
|
46
|
-
|
|
41
|
+
<button
|
|
42
|
+
:aria-label="$t.i19openCart"
|
|
43
|
+
@click="isCartOpen = !isCartOpen"
|
|
44
|
+
class="relative group"
|
|
45
|
+
>
|
|
46
|
+
<i class="i-shopping-bag-3-line w-7 h-7
|
|
47
47
|
text-base-200 hover:text-primary hover:scale-110 active:scale-125"></i>
|
|
48
|
+
<span
|
|
49
|
+
v-if="delayedTotalItems"
|
|
50
|
+
class="ui-badge-pill-sm absolute -top-1 -right-1.5"
|
|
51
|
+
>
|
|
52
|
+
{{ delayedTotalItems }}
|
|
53
|
+
</span>
|
|
48
54
|
</button>
|
|
49
55
|
</div>
|
|
50
56
|
</div>
|
|
@@ -53,46 +59,93 @@
|
|
|
53
59
|
:has-close-button="false"
|
|
54
60
|
position="absolute"
|
|
55
61
|
:class="isSticky ? 'mt-2 md:mt-3' : 'mt-3 sm:mt-4 md:mt-5'"
|
|
56
|
-
:style="{
|
|
62
|
+
:style="{
|
|
63
|
+
height: `calc(100vh - ${positionY}px + .5rem)`,
|
|
64
|
+
maxHeight: `calc(100dvh - ${positionY}px + .5rem)`,
|
|
65
|
+
}"
|
|
57
66
|
>
|
|
58
67
|
<ShopSidenav class="bg-white pt-6" />
|
|
59
68
|
</Drawer>
|
|
69
|
+
<Teleport v-if="isMounted" to="#teleported-overlap">
|
|
70
|
+
<Drawer
|
|
71
|
+
v-model="isCartOpen"
|
|
72
|
+
placement="end"
|
|
73
|
+
backdrop-target="#teleported-overlap"
|
|
74
|
+
>
|
|
75
|
+
<Suspense>
|
|
76
|
+
<CartSidebar v-if="isCartOpenOnce" @close="isCartOpen = false" />
|
|
77
|
+
<template #fallback>
|
|
78
|
+
<Skeleton class="pt-16 px-6" is-bold />
|
|
79
|
+
</template>
|
|
80
|
+
</Suspense>
|
|
81
|
+
</Drawer>
|
|
82
|
+
</Teleport>
|
|
60
83
|
</header>
|
|
61
84
|
</template>
|
|
62
85
|
|
|
63
86
|
<script setup lang="ts">
|
|
64
|
-
import
|
|
65
|
-
|
|
66
|
-
|
|
87
|
+
import {
|
|
88
|
+
ref,
|
|
89
|
+
watch,
|
|
90
|
+
onMounted,
|
|
91
|
+
defineAsyncComponent,
|
|
92
|
+
getCurrentInstance,
|
|
93
|
+
} from 'vue';
|
|
94
|
+
import { watchOnce } from '@vueuse/core';
|
|
95
|
+
import { totalItems } from '@@sf/state/shopping-cart';
|
|
96
|
+
import {
|
|
97
|
+
type Props as UseShopHeaderProps,
|
|
98
|
+
useShopHeader,
|
|
99
|
+
} from '@@sf/composables/use-shop-header';
|
|
67
100
|
import Drawer from '@@sf/components/Drawer.vue';
|
|
68
101
|
import ShopSidenav from '~/components/ShopSidenav.vue';
|
|
69
102
|
import ShopHeaderMenu from '~/components/ShopHeaderMenu.vue';
|
|
70
103
|
import AccountMenu from '~/components/AccountMenu.vue';
|
|
71
104
|
|
|
72
|
-
export interface Props {
|
|
73
|
-
categories: CategoriesList;
|
|
74
|
-
menuCategorySlugs?: string[];
|
|
75
|
-
menuRandomCategories?: number;
|
|
76
|
-
isAlphabeticalSortSubmenu?: boolean;
|
|
77
|
-
serviceLinks?: Array<{
|
|
78
|
-
title: string;
|
|
79
|
-
href: string;
|
|
80
|
-
}>;
|
|
81
|
-
}
|
|
105
|
+
export interface Props extends Omit<UseShopHeaderProps, 'header'> {}
|
|
82
106
|
|
|
107
|
+
const CartSidebar = defineAsyncComponent(() => import('~/components/CartSidebar.vue'));
|
|
83
108
|
const props = defineProps<Props>();
|
|
84
109
|
const header = ref<HTMLElement | null>(null);
|
|
85
|
-
const {
|
|
86
|
-
isSticky,
|
|
87
|
-
positionY,
|
|
88
|
-
} = useShopHeader({ ...props, header });
|
|
110
|
+
const { isSticky, positionY } = useShopHeader({ ...props, header });
|
|
89
111
|
const isSidenavOpen = ref(false);
|
|
112
|
+
const isSearchOpen = ref(false);
|
|
113
|
+
const isSearchOpenOnce = ref(false);
|
|
114
|
+
watchOnce(isSearchOpen, () => {
|
|
115
|
+
isSearchOpenOnce.value = true;
|
|
116
|
+
});
|
|
117
|
+
const isCartOpen = ref(false);
|
|
118
|
+
const isCartOpenOnce = ref(false);
|
|
119
|
+
watchOnce(isCartOpen, () => {
|
|
120
|
+
isCartOpenOnce.value = true;
|
|
121
|
+
});
|
|
122
|
+
const isMounted = ref(false);
|
|
123
|
+
const delayedTotalItems = ref(0);
|
|
124
|
+
onMounted(() => {
|
|
125
|
+
isMounted.value = true;
|
|
126
|
+
watch(totalItems, (newTotalItems, prevTotalItems) => {
|
|
127
|
+
if (typeof prevTotalItems === 'number') {
|
|
128
|
+
if (prevTotalItems < newTotalItems) {
|
|
129
|
+
isCartOpen.value = true;
|
|
130
|
+
} else if (prevTotalItems && !newTotalItems) {
|
|
131
|
+
isCartOpen.value = false;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
delayedTotalItems.value = newTotalItems;
|
|
135
|
+
}, { immediate: true });
|
|
136
|
+
});
|
|
90
137
|
const vm = getCurrentInstance();
|
|
91
|
-
const metafields =
|
|
138
|
+
const metafields = {
|
|
139
|
+
support_url: '',
|
|
140
|
+
business_lp_url: '',
|
|
141
|
+
monocard_slug: '',
|
|
142
|
+
monodot_slug: '',
|
|
143
|
+
...vm?.appContext.app.config.globalProperties.$settings.metafields,
|
|
144
|
+
};
|
|
92
145
|
const headerNavLinks = {
|
|
93
|
-
supportUrl: metafields.support_url
|
|
94
|
-
businessLpUrl: metafields.business_lp_url
|
|
95
|
-
monocardSlug: metafields.monocard_slug
|
|
96
|
-
monodotSlug: metafields.monodot_slug
|
|
146
|
+
supportUrl: metafields.support_url,
|
|
147
|
+
businessLpUrl: metafields.business_lp_url,
|
|
148
|
+
monocardSlug: metafields.monocard_slug,
|
|
149
|
+
monodotSlug: metafields.monodot_slug,
|
|
97
150
|
};
|
|
98
151
|
</script>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<footer class="text-base">
|
|
13
13
|
<div class="flex items-center px-2 py-4 bg-base-100">
|
|
14
14
|
<AccountLink class="p-2 grow flex items-center gap-3">
|
|
15
|
-
<i class="i-account text-4xl text-base-500 m-0"></i>
|
|
15
|
+
<i class="i-account-pin-circle-line text-4xl text-base-500 m-0"></i>
|
|
16
16
|
<span class="leading-tight">
|
|
17
17
|
{{ `${$t.i19hello} ${customerName || $t.i19visitor}` }}
|
|
18
18
|
<small class="block lowercase font-semibold text-primary">
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
class="p-2 text-right text-base-800"
|
|
27
27
|
>
|
|
28
28
|
<span class="text-base-600">{{ $t.i19logout }}</span>
|
|
29
|
-
<i class="i-logout text-lg ml-1"></i>
|
|
29
|
+
<i class="i-logout-circle-r-line text-lg ml-1"></i>
|
|
30
30
|
</button>
|
|
31
31
|
</div>
|
|
32
32
|
<ul class="flex gap-3 p-4 bg-base-200 text-xl text-base-700">
|
|
@@ -47,7 +47,7 @@ import {
|
|
|
47
47
|
isLogged,
|
|
48
48
|
logout,
|
|
49
49
|
} from '@@sf/state/customer-session';
|
|
50
|
-
import { socialNetworks } from '@@sf/
|
|
50
|
+
import { socialNetworks } from '@@sf/sf-lib';
|
|
51
51
|
import AccountLink from '@@sf/components/AccountLink.vue';
|
|
52
52
|
import SocialNetworkLink from '@@sf/components/SocialNetworkLink.vue';
|
|
53
53
|
import ShopSidenavCategory from '~/components/ShopSidenavCategory.vue';
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
:class="isOpen ? 'bg-base-100' : null"
|
|
12
12
|
>
|
|
13
13
|
<i :class="!isOpen
|
|
14
|
-
? 'i-arrow-right float-right mb-0 mt-1 text-xl text-base-500'
|
|
15
|
-
: 'i-arrow-left text-lg'"></i>
|
|
14
|
+
? 'i-arrow-right-line float-right mb-0 mt-1 text-xl text-base-500'
|
|
15
|
+
: 'i-arrow-left-line text-lg'"></i>
|
|
16
16
|
<AImg
|
|
17
17
|
v-if="!isOpen && categoryTree.icon"
|
|
18
18
|
:picture="categoryTree.icon"
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
/// <reference path="../.astro/types.d.ts" />
|
|
2
1
|
/// <reference types="@astrojs/image/client" />
|
|
3
2
|
/// <reference types="vite-plugin-pwa/client" />
|
|
3
|
+
/// <reference types="vue/ref-macros" />
|
|
4
4
|
/// <reference types="@cloudcommerce/storefront/client" />
|
|
5
5
|
/// <reference types="@cloudcommerce/storefront/server" />
|
|
6
|
+
|
|
7
|
+
/* eslint-disable import/newline-after-import */
|
|
8
|
+
|
|
9
|
+
declare module '*.vue' {
|
|
10
|
+
import { type DefineComponent } from 'vue';
|
|
11
|
+
const component: DefineComponent<{}, {}, any>;
|
|
12
|
+
export default component;
|
|
13
|
+
}
|
|
@@ -1,50 +1,15 @@
|
|
|
1
1
|
---
|
|
2
|
-
import
|
|
3
|
-
import Base from '@@sf/layouts/Base.astro';
|
|
2
|
+
import SfBase from '@@sf/layouts/Base.astro';
|
|
4
3
|
import InlineScripts from '~/scripts/InlineScripts.astro';
|
|
5
|
-
import '
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
pageContext: PageContext;
|
|
9
|
-
title?: string;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const { pageContext, title } = Astro.props as Props;
|
|
4
|
+
import '~/assets/style.css';
|
|
5
|
+
import 'uno.css';
|
|
6
|
+
import '@fontsource-variable/inter/index.css';
|
|
13
7
|
---
|
|
14
8
|
|
|
15
|
-
<
|
|
9
|
+
<SfBase>
|
|
10
|
+
<Fragment slot="base-head">
|
|
11
|
+
<slot name="base-head" />
|
|
12
|
+
</Fragment>
|
|
16
13
|
<InlineScripts slot="before-head-end" />
|
|
17
14
|
<slot />
|
|
18
|
-
</
|
|
19
|
-
|
|
20
|
-
<style is:global>
|
|
21
|
-
@font-face {
|
|
22
|
-
font-family: 'Favorit';
|
|
23
|
-
src: url('/assets/fonts/FavoritPro-Regular.woff2') format('woff2');
|
|
24
|
-
font-weight: normal;
|
|
25
|
-
font-style: normal;
|
|
26
|
-
font-display: swap;
|
|
27
|
-
}
|
|
28
|
-
:root {
|
|
29
|
-
--font-brand: "Favorit", sans-serif;
|
|
30
|
-
--custom-font-sans: "Inter";
|
|
31
|
-
--c-on-primary: rgb(0, 0, 0);
|
|
32
|
-
--un-prose-links: rgb(var(--rgb-primary-700));
|
|
33
|
-
}
|
|
34
|
-
@supports (font-variation-settings: normal) {
|
|
35
|
-
:root {
|
|
36
|
-
--custom-font-sans: "InterVariable";
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
html {
|
|
40
|
-
scroll-behavior: smooth;
|
|
41
|
-
}
|
|
42
|
-
body {
|
|
43
|
-
overflow-x: hidden;
|
|
44
|
-
}
|
|
45
|
-
a, button, button > * {
|
|
46
|
-
transition: background-color var(--transition),
|
|
47
|
-
color var(--transition), border-color var(--transition),
|
|
48
|
-
opacity var(--transition), transform var(--transition-fast);
|
|
49
|
-
}
|
|
50
|
-
</style>
|
|
15
|
+
</SfBase>
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
---
|
|
2
|
-
import { filterMainCategories } from '@@sf/composables/use-shop-header';
|
|
3
|
-
import useSharedData from '@@sf/composables/use-shared-data';
|
|
4
|
-
import Picture from '@@sf/components/Picture.astro';
|
|
5
2
|
import {
|
|
6
3
|
type Props as ShopFooterProps,
|
|
7
4
|
default as ShopFooter,
|
|
@@ -14,21 +11,10 @@ const layoutContent = await getContent('layout');
|
|
|
14
11
|
const {
|
|
15
12
|
footer: {
|
|
16
13
|
stamps,
|
|
17
|
-
categories_list: categoriesList,
|
|
18
14
|
pages_list: pagesList,
|
|
19
15
|
},
|
|
20
16
|
} = layoutContent;
|
|
21
|
-
let mainCategories: ShopFooterProps['categories'];
|
|
22
17
|
let pageLinks: ShopFooterProps['pageLinks'];
|
|
23
|
-
if (categoriesList?.enabled) {
|
|
24
|
-
if (categoriesList.categories?.length) {
|
|
25
|
-
mainCategories = categoriesList.categories;
|
|
26
|
-
} else {
|
|
27
|
-
// Will wait and reuse categories loaded from <PageHeader>
|
|
28
|
-
const { value: categories } = await useSharedData({ field: 'categories' });
|
|
29
|
-
mainCategories = filterMainCategories(categories);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
18
|
if (pagesList?.enabled) {
|
|
33
19
|
if (pagesList.links?.length) {
|
|
34
20
|
pageLinks = pagesList.links;
|
|
@@ -47,20 +33,18 @@ if (pagesList?.enabled) {
|
|
|
47
33
|
|
|
48
34
|
<ShopFooter
|
|
49
35
|
{stamps}
|
|
50
|
-
categories={mainCategories}
|
|
51
|
-
categoriesColTitle={categoriesList?.title}
|
|
52
36
|
{pageLinks}
|
|
53
37
|
pagesColTitle={pagesList?.title}
|
|
54
38
|
>
|
|
55
39
|
<Fragment slot="logo">
|
|
56
40
|
<a href="/">
|
|
57
41
|
<LogoHeading>
|
|
58
|
-
<
|
|
42
|
+
<img
|
|
59
43
|
src={settings.logo}
|
|
60
44
|
alt={settings.name}
|
|
61
|
-
|
|
45
|
+
width="150"
|
|
46
|
+
height="24.5"
|
|
62
47
|
loading="lazy"
|
|
63
|
-
class="max-w-[150px]"
|
|
64
48
|
/>
|
|
65
49
|
</LogoHeading>
|
|
66
50
|
</a>
|
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
import usePageHeader from '@@sf/layouts/use-page-header';
|
|
3
|
-
import useSharedData from '@@sf/composables/use-shared-data';
|
|
4
|
-
import Picture from '@@sf/components/Picture.astro';
|
|
5
3
|
import PitchBar from '~/components/PitchBar.vue';
|
|
6
4
|
import ShopHeader from '~/components/ShopHeader.vue';
|
|
7
5
|
|
|
8
6
|
const { routeContext } = Astro.locals;
|
|
9
7
|
const { settings, isHomepage } = routeContext;
|
|
10
8
|
const LogoHeading = isHomepage ? 'h1' : 'h2';
|
|
11
|
-
const {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} = await usePageHeader({ routeContext });
|
|
15
|
-
const { inlineClientJS } = await useSharedData({
|
|
16
|
-
field: 'categories',
|
|
17
|
-
value: categories?.map(({ _id, ...c }) => c),
|
|
9
|
+
const { pitchBar, shopHeader } = await usePageHeader({
|
|
10
|
+
routeContext,
|
|
11
|
+
listedCategoryFields: null,
|
|
18
12
|
});
|
|
19
13
|
---
|
|
20
14
|
|
|
@@ -22,19 +16,18 @@ const { inlineClientJS } = await useSharedData({
|
|
|
22
16
|
{pitchBar.slides.length > 1 && <PitchBar {...pitchBar} client:idle />}
|
|
23
17
|
{pitchBar.slides.length === 1 && <PitchBar {...pitchBar} />}
|
|
24
18
|
</slot>
|
|
25
|
-
<script is:inline set:html={inlineClientJS} />
|
|
26
19
|
<ShopHeader {...shopHeader} client:load>
|
|
27
20
|
<Fragment slot="logo">
|
|
28
21
|
<a href="/">
|
|
29
22
|
<LogoHeading>
|
|
30
|
-
<
|
|
31
|
-
slot="logo-picture"
|
|
23
|
+
<img
|
|
32
24
|
src={settings.logo}
|
|
33
25
|
alt={settings.name}
|
|
34
|
-
|
|
26
|
+
width="150"
|
|
27
|
+
height="24.5"
|
|
35
28
|
fetchpriority="high"
|
|
36
29
|
loading="eager"
|
|
37
|
-
class="hover:drop-shadow-sm
|
|
30
|
+
class="hover:drop-shadow-sm mx-auto"
|
|
38
31
|
/>
|
|
39
32
|
</LogoHeading>
|
|
40
33
|
</a>
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
import type { PageContext } from '@@sf/ssr-context';
|
|
3
|
-
import api from '@cloudcommerce/api';
|
|
4
2
|
import LottiePhoneNFC from '~/components/LottiePhoneNFC.vue';
|
|
5
3
|
import CasesGrid from '~/components/CasesGrid.astro';
|
|
6
|
-
import
|
|
4
|
+
import FeaturesSection from '~/components/FeaturesSection.astro';
|
|
7
5
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const { settings } = Astro.props.pageContext;
|
|
13
|
-
const products = (await api.get('products')).data.result;
|
|
6
|
+
const { routeContext } = Astro.locals;
|
|
7
|
+
const { settings } = routeContext;
|
|
14
8
|
---
|
|
15
9
|
|
|
16
10
|
<main>
|
|
@@ -70,7 +64,7 @@ const products = (await api.get('products')).data.result;
|
|
|
70
64
|
</div>
|
|
71
65
|
</div>
|
|
72
66
|
<div class="lg:col-span-4 mt-5 lg:mt-7 h-96 sm:h-auto">
|
|
73
|
-
<LottiePhoneNFC client:
|
|
67
|
+
<LottiePhoneNFC client:idle />
|
|
74
68
|
</div>
|
|
75
69
|
</div>
|
|
76
70
|
</article>
|
|
@@ -80,7 +74,7 @@ const products = (await api.get('products')).data.result;
|
|
|
80
74
|
<div class="max-w-lg mx-auto mt-7">
|
|
81
75
|
<a href="/#avaliacoes" class="text-lg text-primary-600 hover:text-primary-800
|
|
82
76
|
font-brand lowercase flex gap-1 sm:gap-2 items-center justify-center">
|
|
83
|
-
<i class="i-
|
|
77
|
+
<i class="i-arrow-down-s-line text-3xl animate-bounce -mb-1.5"></i>
|
|
84
78
|
<span class="underline underline-offset-4 decoration-primary">
|
|
85
79
|
O que profissionais e times dizem</span>
|
|
86
80
|
<div class="hidden sm:flex gap-0.5 text-xs text-yellow-400">
|
|
@@ -94,7 +88,7 @@ const products = (await api.get('products')).data.result;
|
|
|
94
88
|
</div>
|
|
95
89
|
</section>
|
|
96
90
|
<section class="bg-gradient-to-br from-white to-base-100 py-9">
|
|
97
|
-
<
|
|
91
|
+
<FeaturesSection />
|
|
98
92
|
</section>
|
|
99
93
|
<section id="produtos"></section>
|
|
100
94
|
</main>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { usePageSections } from '@@sf/layouts/use-page-main';
|
|
3
|
+
import BannersGrid from '~/components/BannersGrid.astro';
|
|
4
|
+
import ProductShelf from '~/components/ProductShelf.vue';
|
|
5
|
+
import Breadcrumbs from '~/components/Breadcrumbs.astro';
|
|
6
|
+
import DocDescription from '~/components/DocDescription.astro';
|
|
7
|
+
|
|
8
|
+
const { routeContext } = Astro.locals;
|
|
9
|
+
const { sections } = await usePageSections({
|
|
10
|
+
routeContext,
|
|
11
|
+
handleCustomSection: async (type, content) => {
|
|
12
|
+
if (type === 'c:foo') return { props: { ...content, foo: 'bar' } };
|
|
13
|
+
return { props: content };
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
/* `apiContext` is surelly set here (from Wildcard.astro)
|
|
17
|
+
cause route resource is required to define sections from content. */
|
|
18
|
+
const { apiContext: { doc: apiDoc } } = routeContext;
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
<article class="my-9 md:my-12">
|
|
22
|
+
{sections.map(async ({ type, props }) => {
|
|
23
|
+
switch (type) {
|
|
24
|
+
case 'product-shelf':
|
|
25
|
+
return <ProductShelf {...props} client:visible />
|
|
26
|
+
case 'banners-grid':
|
|
27
|
+
return <BannersGrid {...props} />
|
|
28
|
+
case 'breadcrumbs':
|
|
29
|
+
return apiDoc && <Breadcrumbs {...props} apiDoc={apiDoc} />
|
|
30
|
+
case 'doc-description':
|
|
31
|
+
return apiDoc && <DocDescription apiDoc={apiDoc} />
|
|
32
|
+
case 'c:foo':
|
|
33
|
+
return <div data-foo={props.foo}></div>
|
|
34
|
+
default:
|
|
35
|
+
return <div data-section={type}></div>
|
|
36
|
+
}
|
|
37
|
+
})}
|
|
38
|
+
</article>
|
|
@@ -1,23 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
pageContext: PageContext;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
const {
|
|
9
|
-
pageContext: { apiResource, apiDoc },
|
|
10
|
-
} = Astro.props as Props;
|
|
2
|
+
import Sections from '~/main/Sections.astro';
|
|
3
|
+
const { fetchingApiContext } = Astro.locals.routeContext;
|
|
4
|
+
await fetchingApiContext;
|
|
11
5
|
---
|
|
12
6
|
|
|
13
7
|
<main>
|
|
14
|
-
|
|
15
|
-
<h1>Hello <span class="text-gradient">{apiDoc.name}</span></h1>
|
|
16
|
-
<hr>
|
|
17
|
-
<div class="mt-3">
|
|
18
|
-
<mark>{apiDoc._id}</mark> from <i>{apiResource}</i>
|
|
19
|
-
<p>{Math.random()}</p>
|
|
20
|
-
<em>Lorem ipsum dolor sit amet</em>
|
|
21
|
-
</div>
|
|
22
|
-
}
|
|
8
|
+
<Sections />
|
|
23
9
|
</main>
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
import api from '@cloudcommerce/api';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import loadRouteContext, { RouteContext } from '@@sf/ssr-context';
|
|
4
|
+
import BaseHead from '@@sf/layouts/BaseHead.astro';
|
|
5
|
+
import Base from '~/layouts/Base.astro';
|
|
6
|
+
import PageHeader from '~/layouts/PageHeader.astro';
|
|
7
|
+
import PageFooter from '~/layouts/PageFooter.astro';
|
|
5
8
|
import WildcardMain from '~/main/Wildcard.astro';
|
|
6
9
|
|
|
7
10
|
if (String(Astro.params.slug).endsWith('.css.map')) {
|
|
8
11
|
return new Response(null, { status: 404 });
|
|
9
12
|
}
|
|
10
13
|
|
|
11
|
-
let
|
|
14
|
+
let routeContext: RouteContext | undefined;
|
|
12
15
|
let loadError: any;
|
|
13
16
|
try {
|
|
14
|
-
|
|
17
|
+
routeContext = await loadRouteContext(Astro);
|
|
15
18
|
} catch (err: any) {
|
|
16
19
|
if (err.astroResponse) {
|
|
17
20
|
return err.astroResponse;
|
|
@@ -26,11 +29,14 @@ export async function getStaticPaths() {
|
|
|
26
29
|
---
|
|
27
30
|
|
|
28
31
|
<!DOCTYPE html>
|
|
29
|
-
<html lang={
|
|
30
|
-
{
|
|
31
|
-
<
|
|
32
|
-
<
|
|
33
|
-
|
|
32
|
+
<html lang={routeContext?.lang.replace('_', '-')}>
|
|
33
|
+
{routeContext &&
|
|
34
|
+
<Base>
|
|
35
|
+
<BaseHead slot="base-head" />
|
|
36
|
+
<PageHeader />
|
|
37
|
+
<WildcardMain />
|
|
38
|
+
<PageFooter />
|
|
39
|
+
</Base>
|
|
34
40
|
}
|
|
35
41
|
{loadError && <Fragment set:html={loadError.responseHTML} />}
|
|
36
42
|
</html>
|