diff --git a/frontend/src/pages/clients/ClientsPage.tsx b/frontend/src/pages/clients/ClientsPage.tsx index 75ca8435f..7e9efeab5 100644 --- a/frontend/src/pages/clients/ClientsPage.tsx +++ b/frontend/src/pages/clients/ClientsPage.tsx @@ -649,7 +649,7 @@ export default function ClientsPage() { ); if (record.enable && isOnline(record.email)) return ( - {t('pages.clients.online')} + {t('pages.clients.online')} ); if (!record.enable) return {t('disabled')}; if (bucket === 'expiring') return {t('depletingSoon')}; diff --git a/frontend/src/styles/utils.css b/frontend/src/styles/utils.css index 7bdc5e360..b0a3b82d0 100644 --- a/frontend/src/styles/utils.css +++ b/frontend/src/styles/utils.css @@ -33,6 +33,14 @@ animation: online-blink 1.1s ease-in-out infinite; } +/* For Tags that carry a status dot: inline layout aligns the dot to + baseline + half x-height (vertical-align: middle), which sits visibly + off-centre next to the label; flex centring is exact. */ +.dot-tag { + display: inline-flex; + align-items: center; +} + @keyframes online-blink { 0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(82, 196, 26, 0.55); } 50% { opacity: 0.35; box-shadow: 0 0 0 4px rgba(82, 196, 26, 0); }