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; }