diff --git a/package.json b/package.json
index 7fd501c6..2dee24ad 100644
--- a/package.json
+++ b/package.json
@@ -103,6 +103,7 @@
"vee-validate": "^3.4.8",
"vue-async-computed": "^3.9.0",
"vue-carousel": "^0.18.0",
+ "vue-check-view": "^0.3.0",
"vue-circular-count-down-timer": "^2.0.0",
"vue-clickaway": "^2.2.2",
"vue-clipboard2": "^0.3.1",
diff --git a/src/renderer/assets/images/pages/promo/cyber-month/smooth-1.svg b/src/renderer/assets/images/pages/promo/cyber-month/smooth-1.svg
new file mode 100644
index 00000000..8f8c8fcd
--- /dev/null
+++ b/src/renderer/assets/images/pages/promo/cyber-month/smooth-1.svg
@@ -0,0 +1,14 @@
+
diff --git a/src/renderer/assets/images/pages/promo/cyber-month/smooth-2.svg b/src/renderer/assets/images/pages/promo/cyber-month/smooth-2.svg
new file mode 100644
index 00000000..2d1d314e
--- /dev/null
+++ b/src/renderer/assets/images/pages/promo/cyber-month/smooth-2.svg
@@ -0,0 +1,12 @@
+
diff --git a/src/renderer/assets/images/pages/promo/cyber-month/smooth-3.svg b/src/renderer/assets/images/pages/promo/cyber-month/smooth-3.svg
new file mode 100644
index 00000000..617895eb
--- /dev/null
+++ b/src/renderer/assets/images/pages/promo/cyber-month/smooth-3.svg
@@ -0,0 +1,17 @@
+
diff --git a/src/renderer/assets/images/pages/promo/cyber-month/smooth-img.png b/src/renderer/assets/images/pages/promo/cyber-month/smooth-img.png
new file mode 100644
index 00000000..5532bb9c
Binary files /dev/null and b/src/renderer/assets/images/pages/promo/cyber-month/smooth-img.png differ
diff --git a/src/renderer/locales/en.js b/src/renderer/locales/en.js
index ca97559e..4f91512e 100644
--- a/src/renderer/locales/en.js
+++ b/src/renderer/locales/en.js
@@ -5793,6 +5793,23 @@ module.exports = {
}
],
btn: 'Get it now'
+ },
+ smooth_life: {
+ title: 'Smooth out your digital life',
+ items: [
+ {
+ title: 'Auto Device Sync',
+ desc: 'Seamlessly access your data across all devices with automatic synchronization.'
+ },
+ {
+ title: 'Effortless Management',
+ desc: 'Create, save, and autofill login details, addresses, credit cards, and more for a hassle-free digital life.'
+ },
+ {
+ title: 'Item Recovery',
+ desc: 'Easily restore recently deleted items or previous versions to keep your data intact and organized.'
+ }
+ ]
}
}
},
diff --git a/src/renderer/nuxt.config.js b/src/renderer/nuxt.config.js
index b0e499a3..22575b1a 100644
--- a/src/renderer/nuxt.config.js
+++ b/src/renderer/nuxt.config.js
@@ -84,15 +84,11 @@ module.exports = {
{ ssr: true, src: '@/plugins/onpremise/mixins.js' },
// UI
- { ssr: false, src: '@/plugins/ui/circle-countdown-timer.js' },
- { ssr: false, src: '@/plugins/ui/clipboard.js' },
+ { ssr: false, src: '@/plugins/ui/client-only.js' },
{ ssr: true, src: '@/plugins/ui/element.js' },
{ ssr: true, src: '@/plugins/ui/fontawesome.js' },
{ ssr: true, src: '@/plugins/ui/katex.js' },
- { ssr: true, src: '@/plugins/ui/vee.js' },
- { ssr: false, src: '@/plugins/ui/vue-virtual-scroller.js' },
- { ssr: false, src: '@/plugins/ui/youtube.js' },
- { ssr: false, src: '@/plugins/ui/vue-carousel.js' }
+ { ssr: true, src: '@/plugins/ui/vee.js' }
],
buildModules: [
'@nuxt/typescript-build',
diff --git a/src/renderer/pages/promo/cyber-month.vue b/src/renderer/pages/promo/cyber-month.vue
index 9fb516ad..c874b16c 100644
--- a/src/renderer/pages/promo/cyber-month.vue
+++ b/src/renderer/pages/promo/cyber-month.vue
@@ -4,11 +4,13 @@
-
+
+
+
{{ $t('promo.cyber_month.nav.btn') }}
@@ -137,6 +139,7 @@
@@ -148,9 +151,13 @@
"
:alt="item.title"
class="h-11 w-11"
+ :class="{ 'green-svg': index + 1 === currentSecurityItem }"
>
-
+
{{ item.title }}
@@ -161,15 +168,10 @@
-
+
@@ -186,6 +188,43 @@
+
+
+
+ {{ $t('promo.cyber_month.smooth_life.title') }}
+
+
+
+
+
+
+ {{ item.title }}
+
+
+ {{ item.desc }}
+
+
+
+
+
+
+
+
+
@@ -212,7 +251,32 @@
diff --git a/src/renderer/plugins/ui/circle-countdown-timer.js b/src/renderer/plugins/ui/circle-countdown-timer.js
deleted file mode 100644
index 49a2737c..00000000
--- a/src/renderer/plugins/ui/circle-countdown-timer.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import Vue from 'vue'
-import CircularCountDownTimer from 'vue-circular-count-down-timer'
-
-Vue.use(CircularCountDownTimer)
diff --git a/src/renderer/plugins/ui/client-only.js b/src/renderer/plugins/ui/client-only.js
new file mode 100644
index 00000000..93a8e6f5
--- /dev/null
+++ b/src/renderer/plugins/ui/client-only.js
@@ -0,0 +1,15 @@
+import Vue from 'vue'
+import CircularCountDownTimer from 'vue-circular-count-down-timer'
+import Clipboard from 'vue-clipboard2'
+import { RecycleScroller } from 'vue-virtual-scroller'
+import 'vue-virtual-scroller/dist/vue-virtual-scroller.css'
+import VueYouTubeEmbed from 'vue-youtube-embed'
+import VueCarousel from 'vue-carousel'
+import checkView from 'vue-check-view'
+
+Vue.use(CircularCountDownTimer)
+Vue.use(Clipboard)
+Vue.component('RecycleScroller', RecycleScroller)
+Vue.use(VueYouTubeEmbed, { global: true })
+Vue.use(VueCarousel)
+Vue.use(checkView)
diff --git a/src/renderer/plugins/ui/clipboard.js b/src/renderer/plugins/ui/clipboard.js
deleted file mode 100644
index a6f3fdcf..00000000
--- a/src/renderer/plugins/ui/clipboard.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import Vue from 'vue'
-import Clipboard from 'vue-clipboard2'
-
-Vue.use(Clipboard)
diff --git a/src/renderer/plugins/ui/vue-carousel.js b/src/renderer/plugins/ui/vue-carousel.js
deleted file mode 100644
index 37f4baf7..00000000
--- a/src/renderer/plugins/ui/vue-carousel.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import Vue from 'vue'
-import VueCarousel from 'vue-carousel'
-Vue.use(VueCarousel)
diff --git a/src/renderer/plugins/ui/vue-virtual-scroller.js b/src/renderer/plugins/ui/vue-virtual-scroller.js
deleted file mode 100644
index 3370e764..00000000
--- a/src/renderer/plugins/ui/vue-virtual-scroller.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import Vue from 'vue'
-import { RecycleScroller } from 'vue-virtual-scroller'
-import 'vue-virtual-scroller/dist/vue-virtual-scroller.css'
-
-Vue.component('RecycleScroller', RecycleScroller)
diff --git a/src/renderer/plugins/ui/youtube.js b/src/renderer/plugins/ui/youtube.js
deleted file mode 100644
index 814baae8..00000000
--- a/src/renderer/plugins/ui/youtube.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import Vue from 'vue'
-
-import VueYouTubeEmbed from 'vue-youtube-embed'
-
-Vue.use(VueYouTubeEmbed)
-
-Vue.use(VueYouTubeEmbed, { global: true })
diff --git a/yarn.lock b/yarn.lock
index 36383f02..6ca2ba49 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -13363,6 +13363,11 @@ vue-carousel@^0.18.0:
regenerator-runtime "^0.12.1"
vue "^2.5.17"
+vue-check-view@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/vue-check-view/-/vue-check-view-0.3.0.tgz#813509a73916dd99483eaa4b1b24ca189c50ca7b"
+ integrity sha512-2IR2m4MCgOG/9UQaIn7cvvqbDcvUmPavun8nBMieRxGbhqvlUorjLIwJqvuFXruBO73HXXbCcrVKxnGr4ub5ag==
+
vue-circular-count-down-timer@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/vue-circular-count-down-timer/-/vue-circular-count-down-timer-2.0.0.tgz#11a28b4c0837df7d32bf9fc15c1c9cb6d707f547"