mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-06-06 13:14:11 +00:00
Add pulse animation to client online status indicator
- Adds a CSS pulse animation (scale + opacity) to the badge dot when a client is online and enabled - Applies to both desktop table and mobile card views - Makes online/offline status distinguishable at a glance without needing to tap for tooltips, especially on mobile Closes #4442
This commit is contained in:
parent
f9ae0347c6
commit
19b226895d
1 changed files with 11 additions and 2 deletions
|
|
@ -336,7 +336,7 @@ function confirmBulkDelete() {
|
||||||
<template v-else-if="isClientOnline(client.email)">{{ t('online') }}</template>
|
<template v-else-if="isClientOnline(client.email)">{{ t('online') }}</template>
|
||||||
<template v-else>{{ t('offline') }}</template>
|
<template v-else>{{ t('offline') }}</template>
|
||||||
</template>
|
</template>
|
||||||
<a-badge :color="statusBadgeColor(client)" />
|
<a-badge :color="statusBadgeColor(client)" :class="{ 'client-online-pulse': client.enable && isClientOnline(client.email) }" />
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
<div class="client-id-stack">
|
<div class="client-id-stack">
|
||||||
<a-tooltip :title="client.email">
|
<a-tooltip :title="client.email">
|
||||||
|
|
@ -440,7 +440,7 @@ function confirmBulkDelete() {
|
||||||
<template v-else-if="isClientOnline(client.email)">{{ t('online') }}</template>
|
<template v-else-if="isClientOnline(client.email)">{{ t('online') }}</template>
|
||||||
<template v-else>{{ t('offline') }}</template>
|
<template v-else>{{ t('offline') }}</template>
|
||||||
</template>
|
</template>
|
||||||
<a-badge :color="statusBadgeColor(client)" />
|
<a-badge :color="statusBadgeColor(client)" :class="{ 'client-online-pulse': client.enable && isClientOnline(client.email) }" />
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
<a-tooltip :title="client.email">
|
<a-tooltip :title="client.email">
|
||||||
<span class="client-email">{{ client.email }}</span>
|
<span class="client-email">{{ client.email }}</span>
|
||||||
|
|
@ -838,4 +838,13 @@ function confirmBulkDelete() {
|
||||||
width: 9px;
|
width: 9px;
|
||||||
height: 9px;
|
height: 9px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.client-online-pulse :deep(.ant-badge-status-dot) {
|
||||||
|
animation: client-online-pulse 1.2s ease-in-out infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes client-online-pulse {
|
||||||
|
0%, 100% { transform: scale(1); opacity: 1; }
|
||||||
|
50% { transform: scale(1.6); opacity: 0.3; }
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue