diff --git a/packages/client/src/components/MkLaunchPad.vue b/packages/client/src/components/MkLaunchPad.vue
index b1f42ec76b..bc268f2e95 100644
--- a/packages/client/src/components/MkLaunchPad.vue
+++ b/packages/client/src/components/MkLaunchPad.vue
@@ -29,7 +29,12 @@
>
{{ item.text }}
-
@@ -41,7 +46,12 @@
>
{{ item.text }}
-
@@ -163,13 +173,16 @@ function close() {
left: 32px;
color: var(--indicator);
font-size: 8px;
- animation: blink 1s infinite;
@media (max-width: 500px) {
top: 16px;
left: 16px;
}
}
+
+ > .animateIndicator {
+ animation: blink 1s infinite;
+ }
}
}
diff --git a/packages/client/src/components/MkMenu.vue b/packages/client/src/components/MkMenu.vue
index 2d8fde610b..dea14ef053 100644
--- a/packages/client/src/components/MkMenu.vue
+++ b/packages/client/src/components/MkMenu.vue
@@ -52,7 +52,12 @@
{{
item.text
}}
-
@@ -74,7 +79,12 @@
{{
item.text
}}
-
@@ -92,7 +102,12 @@
class="avatar"
disableLink
/>
-
@@ -158,7 +173,12 @@
{{
item.text
}}
-
@@ -483,6 +503,9 @@ onBeforeUnmount(() => {
left: 13px;
color: var(--indicator);
font-size: 12px;
+ }
+
+ > .animateIndicator {
animation: blink 1s infinite;
}
}
diff --git a/packages/client/src/style.scss b/packages/client/src/style.scss
index 966e44f924..d110e516e0 100644
--- a/packages/client/src/style.scss
+++ b/packages/client/src/style.scss
@@ -710,6 +710,15 @@ hr {
transform: scale3d(1, 1, 1);
}
}
+
+ @keyframes blink {
+ 0% {
+ opacity: 1;
+ }
+ 100% {
+ opacity: 1;
+ }
+ }
}
._anime_bounce {
diff --git a/packages/client/src/ui/_common_/navbar-for-mobile.vue b/packages/client/src/ui/_common_/navbar-for-mobile.vue
index 39abb7c261..03a8e6d8a7 100644
--- a/packages/client/src/ui/_common_/navbar-for-mobile.vue
+++ b/packages/client/src/ui/_common_/navbar-for-mobile.vue
@@ -62,6 +62,9 @@
@@ -82,7 +85,10 @@
class="icon ph-dots-three-outline ph-bold ph-lg ph-fw ph-lg"
>{{ i18n.ts.more }}
-
@@ -341,6 +347,9 @@ function more() {
left: 20px;
color: var(--navIndicator);
font-size: 8px;
+ }
+
+ > .animateIndicator {
animation: blink 1s infinite;
}
diff --git a/packages/client/src/ui/_common_/navbar.vue b/packages/client/src/ui/_common_/navbar.vue
index 7905c331c7..f63be18cbe 100644
--- a/packages/client/src/ui/_common_/navbar.vue
+++ b/packages/client/src/ui/_common_/navbar.vue
@@ -66,6 +66,9 @@
@@ -88,6 +91,7 @@
updateAvailable
"
class="indicator"
+ :class="{ animateIndicator: $store.state.animation }"
>{{ i18n.ts.controlPanel }}
@@ -102,7 +106,10 @@
class="icon ph-dots-three-outline ph-bold ph-fw ph-lg"
>{{ i18n.ts.more }}
-
@@ -419,6 +426,9 @@ function more(ev: MouseEvent) {
left: 20px;
color: var(--navIndicator);
font-size: 8px;
+ }
+
+ > .animateIndicator {
animation: blink 1s infinite;
}
@@ -602,6 +612,9 @@ function more(ev: MouseEvent) {
left: 24px;
color: var(--navIndicator);
font-size: 8px;
+ }
+
+ > .animateIndicator {
animation: blink 1s infinite;
}
diff --git a/packages/client/src/ui/deck.vue b/packages/client/src/ui/deck.vue
index 270a92a5ee..944ee17e5c 100644
--- a/packages/client/src/ui/deck.vue
+++ b/packages/client/src/ui/deck.vue
@@ -119,7 +119,10 @@
@click="drawerMenuShowing = true"
>
@@ -136,7 +139,10 @@
@click="mainRouter.push('/my/notifications')"
>
@@ -551,6 +557,9 @@ async function deleteProfile() {
left: 0;
color: var(--indicator);
font-size: 16px;
+ }
+
+ > .animateIndicator {
animation: blink 1s infinite;
}
diff --git a/packages/client/src/ui/universal.vue b/packages/client/src/ui/universal.vue
index c9e66cf345..e7a1f97f37 100644
--- a/packages/client/src/ui/universal.vue
+++ b/packages/client/src/ui/universal.vue
@@ -39,7 +39,10 @@
>
@@ -74,7 +77,10 @@
:class="buttonAnimIndex === 1 ? 'on' : ''"
>
@@ -95,6 +101,7 @@
>
@@ -692,6 +699,9 @@ console.log(mainRouter.currentRoute.value.name);
left: 0;
color: var(--indicator);
font-size: 16px;
+ }
+
+ > .animateIndicator {
animation: blink 1s infinite;
}
}
@@ -713,6 +723,9 @@ console.log(mainRouter.currentRoute.value.name);
left: 0;
color: var(--indicator);
font-size: 16px;
+ }
+
+ > .animateIndicator {
animation: blink 1s infinite;
}