cloudcommerce 0.6.12 → 0.7.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/CHANGELOG.md +23 -0
- package/action.yml +2 -2
- package/ecomplus-stores/monocard/functions/core/package.json +1 -1
- package/ecomplus-stores/monocard/functions/events/package.json +2 -2
- package/ecomplus-stores/monocard/functions/modules/package.json +2 -2
- package/ecomplus-stores/monocard/functions/passport/package.json +2 -2
- package/ecomplus-stores/monocard/functions/ssr/content/settings.json +2 -2
- package/ecomplus-stores/monocard/functions/ssr/package.json +6 -6
- package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/card-phone.png +0 -0
- package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/qrcode-camera.png +0 -0
- package/ecomplus-stores/monocard/functions/ssr/src/components/CasesGrid.astro +1 -1
- package/ecomplus-stores/monocard/functions/ssr/src/components/FeatureTabs.astro +23 -0
- package/ecomplus-stores/monocard/functions/ssr/src/components/FeatureTabs.vue +225 -0
- package/ecomplus-stores/monocard/functions/ssr/src/components/ShopHeaderMenu.vue +2 -2
- package/ecomplus-stores/monocard/functions/ssr/src/layouts/Base.astro +1 -0
- package/ecomplus-stores/monocard/functions/ssr/src/layouts/Pages.astro +0 -1
- package/ecomplus-stores/monocard/functions/ssr/src/main/Home.astro +3 -3
- package/ecomplus-stores/monocard/package.json +1 -1
- package/ecomplus-stores/tia-sonia/functions/ssr/src/layouts/PagesHeader.astro +0 -11
- package/package.json +6 -6
- package/packages/api/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 +1 -1
- package/packages/apps/frenet/package.json +1 -1
- package/packages/apps/galaxpay/package.json +1 -1
- package/packages/apps/google-analytics/package.json +1 -1
- package/packages/apps/infinitepay/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/lib/integration/after-tiny-queue.js +2 -2
- package/packages/apps/tiny-erp/lib/integration/after-tiny-queue.js.map +1 -1
- package/packages/apps/tiny-erp/lib/integration/import-order-from-tiny.js +4 -3
- 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 +19 -19
- package/packages/apps/tiny-erp/lib/integration/import-product-from-tiny.js.map +1 -1
- package/packages/apps/tiny-erp/lib/integration/parsers/order-to-tiny.js +5 -3
- 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 +11 -11
- 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 +19 -10
- package/packages/apps/tiny-erp/lib/integration/parsers/product-to-tiny.js.map +1 -1
- package/packages/apps/tiny-erp/package.json +1 -1
- package/packages/apps/tiny-erp/src/integration/after-tiny-queue.ts +2 -2
- package/packages/apps/tiny-erp/src/integration/import-order-from-tiny.ts +4 -3
- package/packages/apps/tiny-erp/src/integration/import-product-from-tiny.ts +18 -18
- package/packages/apps/tiny-erp/src/integration/parsers/order-to-tiny.ts +5 -3
- package/packages/apps/tiny-erp/src/integration/parsers/product-from-tiny.ts +11 -11
- package/packages/apps/tiny-erp/src/integration/parsers/product-to-tiny.ts +21 -11
- package/packages/apps/webhooks/package.json +1 -1
- package/packages/cli/config/firebase.json +21 -2
- package/packages/cli/package.json +1 -1
- package/packages/config/package.json +1 -1
- package/packages/emails/package.json +2 -2
- package/packages/events/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/package.json +5 -5
- package/packages/storefront/.base.eslintrc.cjs +1 -1
- package/packages/storefront/astro.config.mjs +1 -1
- package/packages/storefront/dist/client/_astro/ShopHeader.e93c8274.js +4 -0
- package/packages/storefront/dist/client/_astro/{firebase-app.7ce2ebb1.js → firebase-app.72e91a3e.js} +72 -72
- package/packages/storefront/dist/client/sw.js +1 -1
- package/packages/storefront/dist/server/chunks/{astro.2e59789d.mjs → astro.9781c0a7.mjs} +217 -272
- package/packages/storefront/dist/server/chunks/{image-pool.78b6d784.mjs → image-pool.c24d15b2.mjs} +1202 -1202
- package/packages/storefront/dist/server/chunks/pages/{all.f49a350f.mjs → all.3a2f4354.mjs} +218 -289
- package/packages/storefront/dist/server/entry.mjs +16 -363
- package/packages/storefront/package.json +11 -11
- package/packages/storefront/scripts/build-prod.sh +7 -0
- package/packages/storefront/src/lib/components/Picture.astro +94 -0
- package/packages/storefront/src/lib/layouts/BaseHead.astro +2 -8
- package/packages/storefront/ssr-runtime/Picture.ssr.astro +0 -0
- package/packages/storefront/ssr-runtime/get-image.ts +4 -0
- package/packages/storefront/ssr-runtime/get-picture.ts +126 -0
- package/packages/types/package.json +1 -1
- package/ecomplus-stores/monocard/functions/ssr/src/components/UsageSteps.astro +0 -21
- package/ecomplus-stores/monocard/functions/ssr/src/components/UsageSteps.vue +0 -155
- package/packages/storefront/dist/client/_astro/ShopHeader.301e109b.js +0 -4
- package/packages/storefront/src/lib/ssr/Picture.astro +0 -27
- package/packages/storefront/src/lib/ssr/image.ts +0 -68
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [0.7.0](https://github.com/ecomplus/cloud-commerce/compare/v0.6.13...v0.7.0) (2023-03-17)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### ⚠ BREAKING CHANGES
|
|
9
|
+
|
|
10
|
+
* **storefront:** Imports `@@sf/ssr/*` no more working
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* **tiny:** Updating with https://github.com/ecomplus/app-tiny-erp ([259ae68](https://github.com/ecomplus/cloud-commerce/commit/259ae688d23e2094f6d41194aeaa1494aaf39c5b))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **deps:** Update all non-major dependencies ([#130](https://github.com/ecomplus/cloud-commerce/issues/130)) ([876775e](https://github.com/ecomplus/cloud-commerce/commit/876775e253b14719e8bc73d389c2bb6fa475be9b))
|
|
20
|
+
* **deps:** Update all non-major dependencies ([#131](https://github.com/ecomplus/cloud-commerce/issues/131)) ([9b63c62](https://github.com/ecomplus/cloud-commerce/commit/9b63c620e8732905dd501fa574fd5341ac0d6157))
|
|
21
|
+
* **storefront:** Moved `@@sf/components/Picture` with fixed vwesioned src ([fb1254b](https://github.com/ecomplus/cloud-commerce/commit/fb1254b96b05c4d9d900bc4ffb067f0de0132042))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
* **storefront:** Removing `lib/ssr` dir and `image` module ([a66c1f5](https://github.com/ecomplus/cloud-commerce/commit/a66c1f502a2a1a47a84f8cfe270ec9f0236ac369))
|
|
25
|
+
|
|
26
|
+
### [0.6.13](https://github.com/ecomplus/cloud-commerce/compare/v0.6.12...v0.6.13) (2023-03-02)
|
|
27
|
+
|
|
5
28
|
### [0.6.12](https://github.com/ecomplus/cloud-commerce/compare/v0.6.11...v0.6.12) (2023-03-02)
|
|
6
29
|
|
|
7
30
|
### [0.6.11](https://github.com/ecomplus/cloud-commerce/compare/v0.6.10...v0.6.11) (2023-03-01)
|
package/action.yml
CHANGED
|
@@ -136,7 +136,7 @@ runs:
|
|
|
136
136
|
run: |
|
|
137
137
|
export GAC_FILENAME=".gac-$RANDOM.json"
|
|
138
138
|
echo $FIREBASE_SERVICE_ACCOUNT > $GAC_FILENAME
|
|
139
|
-
printf "DEPLOY_RAND=$RANDOM
|
|
139
|
+
printf "DEPLOY_RAND=$RANDOM$RANDOM
|
|
140
140
|
ECOM_AUTHENTICATION_ID=$ECOM_AUTHENTICATION_ID
|
|
141
141
|
ECOM_API_KEY=$ECOM_API_KEY
|
|
142
142
|
ECOM_STORE_ID=$ECOM_STORE_ID
|
|
@@ -172,7 +172,7 @@ runs:
|
|
|
172
172
|
env:
|
|
173
173
|
ECOM_STORE_ID: ${{ env.ecom_store_id }}
|
|
174
174
|
run: |
|
|
175
|
-
printf "DEPLOY_RAND=$RANDOM
|
|
175
|
+
printf "DEPLOY_RAND=$RANDOM$RANDOM
|
|
176
176
|
ECOM_STORE_ID=$ECOM_STORE_ID
|
|
177
177
|
" > functions/ssr/.env
|
|
178
178
|
if [ ! -f ".firebaserc" ]; then
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"metafields": {
|
|
25
25
|
"support_url": "https://ajuda.monocard.com.br/",
|
|
26
26
|
"business_lp_url": "https://empresas.monocard.com.br/",
|
|
27
|
-
"monocard_slug": "
|
|
28
|
-
"monodot_slug": "
|
|
27
|
+
"monocard_slug": "cartao-personalizado",
|
|
28
|
+
"monodot_slug": "monodot"
|
|
29
29
|
},
|
|
30
30
|
"modules": {
|
|
31
31
|
"list_payments": {
|
|
@@ -19,15 +19,15 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@astrojs/image": "^0.15.1",
|
|
21
21
|
"@astrojs/node": "^5.0.4",
|
|
22
|
-
"@cloudcommerce/api": "^0.6.
|
|
23
|
-
"@cloudcommerce/firebase": "^0.6.
|
|
24
|
-
"@cloudcommerce/ssr": "^0.6.
|
|
22
|
+
"@cloudcommerce/api": "^0.6.13",
|
|
23
|
+
"@cloudcommerce/firebase": "^0.6.13",
|
|
24
|
+
"@cloudcommerce/ssr": "^0.6.13",
|
|
25
25
|
"@vueuse/motion": "2.0.0-beta.22"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@cloudcommerce/i18n": "^0.6.
|
|
29
|
-
"@cloudcommerce/storefront": "^0.6.
|
|
30
|
-
"@cloudcommerce/types": "^0.6.
|
|
28
|
+
"@cloudcommerce/i18n": "^0.6.13",
|
|
29
|
+
"@cloudcommerce/storefront": "^0.6.13",
|
|
30
|
+
"@cloudcommerce/types": "^0.6.13",
|
|
31
31
|
"@fontsource/inter": "^4.5.15",
|
|
32
32
|
"@iconify-json/ri": "^1.1.5",
|
|
33
33
|
"@iconify-json/wpf": "^1.1.4",
|
|
Binary file
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
import Picture from '@@sf/components/Picture.astro';
|
|
3
|
+
import FeatureTabs from '~/components/FeatureTabs.vue';
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<FeatureTabs client:visible>
|
|
7
|
+
<Picture
|
|
8
|
+
slot="picture-nfc"
|
|
9
|
+
src={'/img/uploads/card-phone.png'}
|
|
10
|
+
alt="Monocard com tecnologia NFC: aproxime o smartphone para compartilhar"
|
|
11
|
+
widths={[494, 588]}
|
|
12
|
+
sizes="(max-width: 500px) 247px, 294px"
|
|
13
|
+
class="sm:h-72 mx-auto"
|
|
14
|
+
/>
|
|
15
|
+
<Picture
|
|
16
|
+
slot="picture-qrcode"
|
|
17
|
+
src={'/img/uploads/qrcode-camera.png'}
|
|
18
|
+
alt="Monocard com QR Code: basta escanear o código QR para conectar"
|
|
19
|
+
widths={[220, 262]}
|
|
20
|
+
sizes="(max-width: 500px) 110px, 131px"
|
|
21
|
+
class="sm:h-72 pb-3 sm:pt-3 mx-auto"
|
|
22
|
+
/>
|
|
23
|
+
</FeatureTabs>
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<article class="container px-8 my-4 mx-auto text-center">
|
|
3
|
+
<h3
|
|
4
|
+
ref="title"
|
|
5
|
+
class="text-xl md:text-2xl lg:text-3xl font-semibold text-base-700
|
|
6
|
+
inline-block lg:text-left"
|
|
7
|
+
:style="{ minWidth: titleMinWidth, minHeight: titleMinHeight }"
|
|
8
|
+
>
|
|
9
|
+
<span class="block lg:inline">
|
|
10
|
+
Uma ferramenta poderosa para
|
|
11
|
+
</span>
|
|
12
|
+
<Fade speed="slow">
|
|
13
|
+
<span
|
|
14
|
+
v-if="copyKeyword"
|
|
15
|
+
class="text-3xl font-bold text-transparent bg-clip-text bg-gradient-to-tr
|
|
16
|
+
from-secondary-600 to-secondary-900"
|
|
17
|
+
>
|
|
18
|
+
{{ copyKeyword }}
|
|
19
|
+
</span>
|
|
20
|
+
</Fade>
|
|
21
|
+
</h3>
|
|
22
|
+
<TabGroup as="div" class="max-w-3xl mx-auto mt-9">
|
|
23
|
+
<TabList class="flex space-x-1 rounded-md bg-base-100/70 p-1">
|
|
24
|
+
<Tab
|
|
25
|
+
as="template"
|
|
26
|
+
v-for="(step, i) in [
|
|
27
|
+
'Compartilhe como quiser',
|
|
28
|
+
'Personalize seu perfil',
|
|
29
|
+
]"
|
|
30
|
+
:key="i"
|
|
31
|
+
v-slot="{ selected }"
|
|
32
|
+
>
|
|
33
|
+
<button
|
|
34
|
+
class="w-full rounded-sm px-4 py-2.5 text-sm md:text-base
|
|
35
|
+
font-medium leading-5 text-black
|
|
36
|
+
ring-primary-100 ring-opacity-60 ring-offset-2 ring-offset-primary-400
|
|
37
|
+
focus:outline-none focus:ring-2 block relative"
|
|
38
|
+
:class="selected ? 'bg-primary-100/30 text-black' : null"
|
|
39
|
+
>
|
|
40
|
+
<span class="z-10 relative">{{ step }}</span>
|
|
41
|
+
</button>
|
|
42
|
+
</Tab>
|
|
43
|
+
</TabList>
|
|
44
|
+
<TabPanels class="text-left w-72 mx-auto sm:w-auto sm:px-5 mt-4">
|
|
45
|
+
<TabPanel v-motion-fade-visible>
|
|
46
|
+
<div class="prose mb-8">
|
|
47
|
+
<h4 class="text-2xl xl:text-3xl leading-snug mb-5">
|
|
48
|
+
Conecte instantaneamente
|
|
49
|
+
<small class="text-lg xl:text-xl leading-tight
|
|
50
|
+
text-base-500 font-normal block">
|
|
51
|
+
e compartilhe todos os seus contatos
|
|
52
|
+
</small>
|
|
53
|
+
</h4>
|
|
54
|
+
<div class="flex gap-4 items-center text-2xl mb-4 text-base-700">
|
|
55
|
+
<div class="flex items-center">
|
|
56
|
+
<div class="bg-base-300 text-base-900 rounded-l text-lg
|
|
57
|
+
h-8 flex gap-2 items-center pl-2 pr-0.5">
|
|
58
|
+
<i class="i-loader-2-fill my-0"></i>
|
|
59
|
+
<i class="i-qr-code-line my-0"></i>
|
|
60
|
+
<i class="i-link-m my-0"></i>
|
|
61
|
+
</div>
|
|
62
|
+
<div class="relative w-6 h-8 overflow-hidden">
|
|
63
|
+
<div class="absolute -top-0.5 w-6 overflow-hidden inline-block">
|
|
64
|
+
<div class="h-9 bg-base-300
|
|
65
|
+
rotate-45 transform origin-top-left"></div>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
<div class="grid grid-cols-4 md:grid-cols-8 gap-4">
|
|
70
|
+
<i class="i-pix my-0"></i>
|
|
71
|
+
<i class="i-whatsapp my-0"></i>
|
|
72
|
+
<i class="i-instagram my-0"></i>
|
|
73
|
+
<i class="i-tiktok my-0"></i>
|
|
74
|
+
<i class="i-linkedin my-0"></i>
|
|
75
|
+
<i class="i-facebook my-0"></i>
|
|
76
|
+
<i class="i-mail-send-line my-0"></i>
|
|
77
|
+
<i class="i-add-circle-fill my-0 text-secondary-700"></i>
|
|
78
|
+
</div>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
<div class="grid grid-cols-1 sm:grid-cols-2 gap-x-10">
|
|
82
|
+
<div class="prose">
|
|
83
|
+
<slot name="picture-nfc" />
|
|
84
|
+
<h4 class="flex gap-3 items-center">
|
|
85
|
+
<i class="i-loader-2-fill text-4xl my-0"></i>
|
|
86
|
+
<span class="font-normal font-brand lowercase">
|
|
87
|
+
Aproximação
|
|
88
|
+
</span>
|
|
89
|
+
</h4>
|
|
90
|
+
<p>
|
|
91
|
+
Basta aproximar seu Monocard a um smartphone compatível
|
|
92
|
+
com a tecnologia NFC para compartilhar suas informações,
|
|
93
|
+
não é necessário baixar aplicativos.
|
|
94
|
+
</p>
|
|
95
|
+
</div>
|
|
96
|
+
<div class="prose mt-5 sm:mt-0">
|
|
97
|
+
<slot name="picture-qrcode" />
|
|
98
|
+
<h4 class="flex gap-3 items-center">
|
|
99
|
+
<i class="i-qr-code-line text-4xl my-0"></i>
|
|
100
|
+
<span class="font-normal font-brand lowercase">
|
|
101
|
+
QR Code
|
|
102
|
+
</span>
|
|
103
|
+
</h4>
|
|
104
|
+
<p>
|
|
105
|
+
O Monocard e o Monodot possuem QR Code que permite
|
|
106
|
+
leitura através da câmera.
|
|
107
|
+
Acessibilidade para os smartphones que não são compatíveis com NFC.
|
|
108
|
+
</p>
|
|
109
|
+
</div>
|
|
110
|
+
<div class="sm:col-span-2">
|
|
111
|
+
<div class="prose">
|
|
112
|
+
<h4 class="flex flex-wrap gap-3 items-center">
|
|
113
|
+
<i class="i-link-m text-4xl my-0"></i>
|
|
114
|
+
<span class="font-normal font-brand lowercase">
|
|
115
|
+
Link
|
|
116
|
+
</span>
|
|
117
|
+
<ALink
|
|
118
|
+
class="text-base-700 decoration-base-300"
|
|
119
|
+
href="https://mono.direct/carlos"
|
|
120
|
+
>
|
|
121
|
+
<small class="font-normal font-mono text-sm
|
|
122
|
+
bg-base-200 px-2 py-1 rounded-sm">
|
|
123
|
+
https://mono.direct/<b>seunome</b>
|
|
124
|
+
</small>
|
|
125
|
+
</ALink>
|
|
126
|
+
</h4>
|
|
127
|
+
<p>
|
|
128
|
+
Envie seu cartão de visitas digital por mensagens de texto,
|
|
129
|
+
e-mails, link na bio e outros canais com seu URL Monodirect.
|
|
130
|
+
</p>
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
|
+
<div class="mt-5 flex gap-3 lg:gap-4
|
|
135
|
+
text-xl lg:text-2xl font-brand lowercase">
|
|
136
|
+
<a
|
|
137
|
+
:href="$settings.metafields.monocard_slug"
|
|
138
|
+
class="primary border-4 border-primary
|
|
139
|
+
hover:border-primary-bold active:primary-bold
|
|
140
|
+
rounded-full px-4 py-1.5 lg:px-7 lg:py-3"
|
|
141
|
+
>
|
|
142
|
+
Monte seu cartão
|
|
143
|
+
</a>
|
|
144
|
+
<a
|
|
145
|
+
:href="$settings.metafields.business_lp_url"
|
|
146
|
+
class="hidden sm:block
|
|
147
|
+
bg-transparent text-black border-4 border-primary
|
|
148
|
+
hover:bg-primary-100 hover:border-primary-bold active:primary-bold
|
|
149
|
+
rounded-full px-4 py-2 xl:px-6 xl:py-3"
|
|
150
|
+
>
|
|
151
|
+
Para empresas
|
|
152
|
+
</a>
|
|
153
|
+
</div>
|
|
154
|
+
</TabPanel>
|
|
155
|
+
<TabPanel
|
|
156
|
+
class="flex flex-wrap md:flex-nowrap items-start justify-between"
|
|
157
|
+
v-motion-fade-visible
|
|
158
|
+
>
|
|
159
|
+
<div class="md:order-last rounded-xl overflow-hidden shadow-lg
|
|
160
|
+
mt-4 md:mt-5 mb-2 md:mb-0 mx-auto md:mx-0 h-44 md:h-auto">
|
|
161
|
+
<slot name="picture-edit" />
|
|
162
|
+
</div>
|
|
163
|
+
<div class="md:basis-1/2 prose">
|
|
164
|
+
<h4>Editar o perfil é rápido e fácil</h4>
|
|
165
|
+
<p>
|
|
166
|
+
Adicione sua foto ou o logo de sua empresa em seu perfil.
|
|
167
|
+
Disponibilize todos os contatos que desejar, WhatsApp,
|
|
168
|
+
LinkedIn, Instagram, TikTok, Twitter, loja, website
|
|
169
|
+
e até mesmo Pix.
|
|
170
|
+
</p>
|
|
171
|
+
<p class="font-medium">
|
|
172
|
+
Tudo em um único link apontado diretamente pelo
|
|
173
|
+
seu cartão de visitas inteligente.
|
|
174
|
+
</p>
|
|
175
|
+
</div>
|
|
176
|
+
</TabPanel>
|
|
177
|
+
</TabPanels>
|
|
178
|
+
</TabGroup>
|
|
179
|
+
</article>
|
|
180
|
+
</template>
|
|
181
|
+
|
|
182
|
+
<script setup lang="ts">
|
|
183
|
+
import {
|
|
184
|
+
ref,
|
|
185
|
+
nextTick,
|
|
186
|
+
onMounted,
|
|
187
|
+
onBeforeUnmount,
|
|
188
|
+
} from 'vue';
|
|
189
|
+
import { useDebounceFn } from '@vueuse/core';
|
|
190
|
+
import {
|
|
191
|
+
TabGroup,
|
|
192
|
+
TabList,
|
|
193
|
+
Tab,
|
|
194
|
+
TabPanels,
|
|
195
|
+
TabPanel,
|
|
196
|
+
} from '@headlessui/vue';
|
|
197
|
+
|
|
198
|
+
const title = ref<null | HTMLHeadingElement>(null);
|
|
199
|
+
const titleMinWidth = ref<null | string>(null);
|
|
200
|
+
const titleMinHeight = ref<null | string>(null);
|
|
201
|
+
const fixTitleSize = () => {
|
|
202
|
+
titleMinWidth.value = `${title.value.offsetWidth}px`;
|
|
203
|
+
titleMinHeight.value = `${title.value.offsetHeight}px`;
|
|
204
|
+
};
|
|
205
|
+
const onResize = useDebounceFn(() => fixTitleSize(), 400);
|
|
206
|
+
const copyKeyword = ref<null | string>('networking');
|
|
207
|
+
let keywordInterval: null | ReturnType<typeof setInterval> = null;
|
|
208
|
+
onMounted(() => {
|
|
209
|
+
keywordInterval = setInterval(() => {
|
|
210
|
+
fixTitleSize();
|
|
211
|
+
const oldValue = copyKeyword.value;
|
|
212
|
+
nextTick(() => {
|
|
213
|
+
copyKeyword.value = null;
|
|
214
|
+
setTimeout(() => {
|
|
215
|
+
copyKeyword.value = oldValue === 'networking' ? 'negócios' : 'networking';
|
|
216
|
+
}, 300);
|
|
217
|
+
});
|
|
218
|
+
}, 3000);
|
|
219
|
+
window.addEventListener('resize', onResize);
|
|
220
|
+
});
|
|
221
|
+
onBeforeUnmount(() => {
|
|
222
|
+
clearInterval(keywordInterval);
|
|
223
|
+
window.removeEventListener('resize', onResize);
|
|
224
|
+
});
|
|
225
|
+
</script>
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
>
|
|
42
42
|
<MenuItem as="li">
|
|
43
43
|
<a
|
|
44
|
-
:href="monocardSlug"
|
|
44
|
+
:href="`/${monocardSlug}`"
|
|
45
45
|
class="flex gap-3 px-5 py-2.5 hover:bg-black"
|
|
46
46
|
>
|
|
47
47
|
<h4 class="basis-4/6 text-right">
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
</span>
|
|
54
54
|
</a>
|
|
55
55
|
<a
|
|
56
|
-
:href="monodotSlug"
|
|
56
|
+
:href="`${monodotSlug}`"
|
|
57
57
|
class="flex gap-3 px-5 py-2.5 hover:bg-black"
|
|
58
58
|
>
|
|
59
59
|
<h4 class="basis-4/6 text-right">
|
|
@@ -3,7 +3,7 @@ import type { PageContext } from '@@sf/ssr-context';
|
|
|
3
3
|
import api from '@cloudcommerce/api';
|
|
4
4
|
import LottiePhoneNFC from '~/components/LottiePhoneNFC.vue';
|
|
5
5
|
import CasesGrid from '~/components/CasesGrid.astro';
|
|
6
|
-
import
|
|
6
|
+
import FeatureTabs from '~/components/FeatureTabs.astro';
|
|
7
7
|
|
|
8
8
|
export interface Props {
|
|
9
9
|
pageContext: PageContext;
|
|
@@ -13,7 +13,7 @@ const { settings } = Astro.props.pageContext;
|
|
|
13
13
|
const products = (await api.get('products')).data.result;
|
|
14
14
|
---
|
|
15
15
|
|
|
16
|
-
<main
|
|
16
|
+
<main>
|
|
17
17
|
<section class="bg-white">
|
|
18
18
|
<article class="container mx-auto px-8">
|
|
19
19
|
<div class="grid grid-cols-1 lg:grid-cols-7">
|
|
@@ -94,7 +94,7 @@ const products = (await api.get('products')).data.result;
|
|
|
94
94
|
</div>
|
|
95
95
|
</section>
|
|
96
96
|
<section class="bg-gradient-to-br from-white to-base-100 py-9">
|
|
97
|
-
<
|
|
97
|
+
<FeatureTabs />
|
|
98
98
|
</section>
|
|
99
99
|
<section id="produtos"></section>
|
|
100
100
|
</main>
|
|
@@ -4,7 +4,6 @@ import type CmsHeader from '@@sf/types/cms-header';
|
|
|
4
4
|
import type CmsContacts from '@@sf/types/cms-contacts';
|
|
5
5
|
import type { PageContext } from '@@sf/ssr-context';
|
|
6
6
|
import { i19buyOnWhatsApp } from '@@i18n';
|
|
7
|
-
import { getImage } from '@@sf/ssr/image';
|
|
8
7
|
import TheHeader, { Props as TheHeaderProps } from '@@components/TheHeader.vue';
|
|
9
8
|
import HeaderNav from '@@components/header/HeaderNav.vue';
|
|
10
9
|
import HeaderButtons, { Props as HeaderButtonsProps } from '@@components/header/HeaderButtons.vue';
|
|
@@ -76,16 +75,6 @@ globalThis.TopBarProps = {
|
|
|
76
75
|
contacts,
|
|
77
76
|
};
|
|
78
77
|
globalThis.TheHeaderProps = {
|
|
79
|
-
logo: {
|
|
80
|
-
...await getImage({
|
|
81
|
-
src: settings.logo,
|
|
82
|
-
width: 150,
|
|
83
|
-
format: 'webp',
|
|
84
|
-
quality: 90,
|
|
85
|
-
...logoTransformOptions,
|
|
86
|
-
}) as any,
|
|
87
|
-
alt: settings.name,
|
|
88
|
-
},
|
|
89
78
|
logoAltHeading: Astro.url.pathname === '/' ? 'h1' : 'h2',
|
|
90
79
|
...theHeaderProps,
|
|
91
80
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cloudcommerce",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.7.0",
|
|
5
5
|
"description": "Open fair-code headless commerce platform: API-first, microservices based, event driven and cloud native",
|
|
6
6
|
"main": "packages/api/lib/index.js",
|
|
7
7
|
"author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
|
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
"@commitlint/cli": "^17.4.4",
|
|
20
20
|
"@commitlint/config-conventional": "^17.4.4",
|
|
21
21
|
"@commitlint/rules": "^17.4.4",
|
|
22
|
-
"@types/node": "^18.
|
|
23
|
-
"@typescript-eslint/eslint-plugin": "^5.54.
|
|
24
|
-
"@typescript-eslint/parser": "^5.54.
|
|
25
|
-
"esbuild": "^0.17.
|
|
26
|
-
"eslint": "^8.
|
|
22
|
+
"@types/node": "^18.15.1",
|
|
23
|
+
"@typescript-eslint/eslint-plugin": "^5.54.1",
|
|
24
|
+
"@typescript-eslint/parser": "^5.54.1",
|
|
25
|
+
"esbuild": "^0.17.11",
|
|
26
|
+
"eslint": "^8.36.0",
|
|
27
27
|
"eslint-config-airbnb-base": "^15.0.0",
|
|
28
28
|
"eslint-plugin-import": "^2.27.5",
|
|
29
29
|
"eslint-plugin-vue": "^9.9.0",
|