From f69c29b38cab7edaa26dd88ac1b4fe0807119956 Mon Sep 17 00:00:00 2001 From: usrnk1 <7547651+usrnk1@users.noreply.github.com> Date: Tue, 14 Jul 2026 10:55:15 +0200 Subject: [PATCH] fix(app): simplify server status indicators --- .../app/src/components/server-status-icon.css | 53 +------------------ .../src/components/session/session-header.tsx | 4 +- packages/app/src/i18n/ar.ts | 2 + packages/app/src/i18n/br.ts | 2 + packages/app/src/i18n/bs.ts | 2 + packages/app/src/i18n/da.ts | 2 + packages/app/src/i18n/de.ts | 2 + packages/app/src/i18n/en.ts | 2 + packages/app/src/i18n/es.ts | 2 + packages/app/src/i18n/fr.ts | 2 + packages/app/src/i18n/ja.ts | 2 + packages/app/src/i18n/ko.ts | 2 + packages/app/src/i18n/no.ts | 2 + packages/app/src/i18n/pl.ts | 2 + packages/app/src/i18n/ru.ts | 2 + packages/app/src/i18n/th.ts | 2 + packages/app/src/i18n/tr.ts | 2 + packages/app/src/i18n/uk.ts | 2 + packages/app/src/i18n/zh.ts | 2 + packages/app/src/i18n/zht.ts | 2 + 20 files changed, 39 insertions(+), 54 deletions(-) diff --git a/packages/app/src/components/server-status-icon.css b/packages/app/src/components/server-status-icon.css index 4b2d74c52c..345c41a199 100644 --- a/packages/app/src/components/server-status-icon.css +++ b/packages/app/src/components/server-status-icon.css @@ -4,7 +4,7 @@ [data-slot="server-status-left"], [data-slot="server-status-right"] { fill: none; - stroke: var(--server-status-color); + stroke: currentColor; } [data-slot="server-status-dot"] { @@ -13,60 +13,9 @@ &[data-state="reconnecting"] { --server-status-color: var(--v2-state-fg-warning); - - [data-slot="server-status-left"] { - animation: server-status-reconnecting-left 1.2s ease-in-out infinite; - } - - [data-slot="server-status-right"] { - animation: server-status-reconnecting-right 1.2s ease-in-out infinite; - } } &[data-state="disconnected"] { --server-status-color: var(--v2-state-fg-danger); - - [data-slot="server-status-left"], - [data-slot="server-status-right"] { - animation: server-status-disconnected 1.2s ease-in-out infinite; - } - } -} - -@keyframes server-status-reconnecting-left { - 0%, - 66%, - 100% { - opacity: 1; - } - 33% { - opacity: 0.5; - } -} - -@keyframes server-status-reconnecting-right { - 0%, - 33%, - 100% { - opacity: 1; - } - 66% { - opacity: 0.5; - } -} - -@keyframes server-status-disconnected { - 0%, - 100% { - opacity: 1; - } - 50% { - opacity: 0.5; - } -} - -@media (prefers-reduced-motion: reduce) { - [data-component="server-status-icon"] [data-slot^="server-status-"] { - animation: none; } } diff --git a/packages/app/src/components/session/session-header.tsx b/packages/app/src/components/session/session-header.tsx index 036c56caf3..7ce71ce2ce 100644 --- a/packages/app/src/components/session/session-header.tsx +++ b/packages/app/src/components/session/session-header.tsx @@ -251,9 +251,9 @@ export function SessionHeader() { }) const serverStatusLabel = createMemo(() => { if (serverStatus() === "disconnected") { - return language.t("app.server.unreachable", { server: serverName(serverSDK().server) }) + return language.t("app.server.status.disconnected", { server: serverName(serverSDK().server) }) } - return language.t("app.server.retrying") + return language.t("app.server.status.reconnecting", { server: serverName(serverSDK().server) }) }) const v2ActionsState = createMemo(() => ({ serverStatus: isDesktop() ? serverStatus() : undefined, diff --git a/packages/app/src/i18n/ar.ts b/packages/app/src/i18n/ar.ts index f3df85429c..d9246600b5 100644 --- a/packages/app/src/i18n/ar.ts +++ b/packages/app/src/i18n/ar.ts @@ -939,6 +939,8 @@ export const dict = { "app.server.unreachable": "تعذر الوصول إلى {{server}}", "app.server.retrying": "جاري إعادة المحاولة تلقائيًا...", + "app.server.status.reconnecting": "جارٍ إعادة الاتصال بـ {{server}}...", + "app.server.status.disconnected": "تعذر الاتصال بـ {{server}}", "app.server.otherServers": "خوادم أخرى", "dialog.server.add.usernamePlaceholder": "اسم المستخدم", "dialog.server.add.passwordPlaceholder": "كلمة المرور", diff --git a/packages/app/src/i18n/br.ts b/packages/app/src/i18n/br.ts index 729d97eab0..47745cfd10 100644 --- a/packages/app/src/i18n/br.ts +++ b/packages/app/src/i18n/br.ts @@ -953,6 +953,8 @@ export const dict = { "app.server.unreachable": "Não foi possível conectar a {{server}}", "app.server.retrying": "Tentando novamente automaticamente...", + "app.server.status.reconnecting": "Reconectando a {{server}}...", + "app.server.status.disconnected": "Não foi possível conectar a {{server}}", "app.server.otherServers": "Outros servidores", "dialog.server.add.usernamePlaceholder": "nome de usuário", "dialog.server.add.passwordPlaceholder": "senha", diff --git a/packages/app/src/i18n/bs.ts b/packages/app/src/i18n/bs.ts index 35489410b0..53bf0d58b2 100644 --- a/packages/app/src/i18n/bs.ts +++ b/packages/app/src/i18n/bs.ts @@ -1029,6 +1029,8 @@ export const dict = { "app.server.unreachable": "Nije moguće pristupiti {{server}}", "app.server.retrying": "Automatski ponovni pokušaj...", + "app.server.status.reconnecting": "Ponovno povezivanje sa {{server}}...", + "app.server.status.disconnected": "Nije moguće povezati se sa {{server}}", "app.server.otherServers": "Drugi serveri", "dialog.server.add.usernamePlaceholder": "korisničko ime", "dialog.server.add.passwordPlaceholder": "lozinka", diff --git a/packages/app/src/i18n/da.ts b/packages/app/src/i18n/da.ts index 49dc54dfd0..6fd790dac4 100644 --- a/packages/app/src/i18n/da.ts +++ b/packages/app/src/i18n/da.ts @@ -1021,6 +1021,8 @@ export const dict = { "app.server.unreachable": "Kunne ikke nå {{server}}", "app.server.retrying": "Prøver igen automatisk...", + "app.server.status.reconnecting": "Opretter forbindelse til {{server}} igen...", + "app.server.status.disconnected": "Kunne ikke oprette forbindelse til {{server}}", "app.server.otherServers": "Andre servere", "dialog.server.add.usernamePlaceholder": "brugernavn", "dialog.server.add.passwordPlaceholder": "adgangskode", diff --git a/packages/app/src/i18n/de.ts b/packages/app/src/i18n/de.ts index dd81ea541a..289e907038 100644 --- a/packages/app/src/i18n/de.ts +++ b/packages/app/src/i18n/de.ts @@ -965,6 +965,8 @@ export const dict = { "app.server.unreachable": "Konnte {{server}} nicht erreichen", "app.server.retrying": "Automatische erneute Verbindung...", + "app.server.status.reconnecting": "Verbindung zu {{server}} wird wiederhergestellt...", + "app.server.status.disconnected": "Verbindung zu {{server}} konnte nicht hergestellt werden", "app.server.otherServers": "Andere Server", "dialog.server.add.usernamePlaceholder": "Benutzername", "dialog.server.add.passwordPlaceholder": "Passwort", diff --git a/packages/app/src/i18n/en.ts b/packages/app/src/i18n/en.ts index 3221ebdab7..b78059caf7 100644 --- a/packages/app/src/i18n/en.ts +++ b/packages/app/src/i18n/en.ts @@ -332,6 +332,8 @@ export const dict = { "app.server.unreachable": "Could not reach {{server}}", "app.server.retrying": "Retrying automatically...", + "app.server.status.reconnecting": "Reconnecting to {{server}}...", + "app.server.status.disconnected": "Couldn't connect to {{server}}", "app.server.otherServers": "Other servers", "dialog.server.title": "Servers", diff --git a/packages/app/src/i18n/es.ts b/packages/app/src/i18n/es.ts index bca7cff34e..f32f03cee9 100644 --- a/packages/app/src/i18n/es.ts +++ b/packages/app/src/i18n/es.ts @@ -1037,6 +1037,8 @@ export const dict = { "app.server.unreachable": "No se pudo conectar con {{server}}", "app.server.retrying": "Reintentando automáticamente...", + "app.server.status.reconnecting": "Reconectando con {{server}}...", + "app.server.status.disconnected": "No se pudo conectar con {{server}}", "app.server.otherServers": "Otros servidores", "dialog.server.add.usernamePlaceholder": "usuario", "dialog.server.add.passwordPlaceholder": "contraseña", diff --git a/packages/app/src/i18n/fr.ts b/packages/app/src/i18n/fr.ts index 6be79b1cfe..d9c0858cb6 100644 --- a/packages/app/src/i18n/fr.ts +++ b/packages/app/src/i18n/fr.ts @@ -965,6 +965,8 @@ export const dict = { "app.server.unreachable": "Impossible de joindre {{server}}", "app.server.retrying": "Nouvelle tentative automatique...", + "app.server.status.reconnecting": "Reconnexion à {{server}}...", + "app.server.status.disconnected": "Impossible de se connecter à {{server}}", "app.server.otherServers": "Autres serveurs", "dialog.server.add.usernamePlaceholder": "nom d'utilisateur", "dialog.server.add.passwordPlaceholder": "mot de passe", diff --git a/packages/app/src/i18n/ja.ts b/packages/app/src/i18n/ja.ts index f2fd3bc64f..8c5fcb825f 100644 --- a/packages/app/src/i18n/ja.ts +++ b/packages/app/src/i18n/ja.ts @@ -946,6 +946,8 @@ export const dict = { "app.server.unreachable": "{{server}} に到達できませんでした", "app.server.retrying": "自動的に再試行中...", + "app.server.status.reconnecting": "{{server}} に再接続しています...", + "app.server.status.disconnected": "{{server}} に接続できませんでした", "app.server.otherServers": "その他のサーバー", "dialog.server.add.usernamePlaceholder": "ユーザー名", "dialog.server.add.passwordPlaceholder": "パスワード", diff --git a/packages/app/src/i18n/ko.ts b/packages/app/src/i18n/ko.ts index 8122ce7a31..195e6ae6f5 100644 --- a/packages/app/src/i18n/ko.ts +++ b/packages/app/src/i18n/ko.ts @@ -790,6 +790,8 @@ export const dict = { "app.server.unreachable": "{{server}}에 연결할 수 없습니다", "app.server.retrying": "자동으로 재시도 중...", + "app.server.status.reconnecting": "{{server}}에 다시 연결하는 중...", + "app.server.status.disconnected": "{{server}}에 연결할 수 없습니다", "app.server.otherServers": "다른 서버", "dialog.server.add.usernamePlaceholder": "사용자 이름", "dialog.server.add.passwordPlaceholder": "비밀번호", diff --git a/packages/app/src/i18n/no.ts b/packages/app/src/i18n/no.ts index 489f0dda5f..dd765fb681 100644 --- a/packages/app/src/i18n/no.ts +++ b/packages/app/src/i18n/no.ts @@ -877,6 +877,8 @@ export const dict = { "app.server.unreachable": "Kunne ikke nå {{server}}", "app.server.retrying": "Prøver på nytt automatisk...", + "app.server.status.reconnecting": "Kobler til {{server}} på nytt...", + "app.server.status.disconnected": "Kunne ikke koble til {{server}}", "app.server.otherServers": "Andre servere", "dialog.server.add.usernamePlaceholder": "brukernavn", "dialog.server.add.passwordPlaceholder": "passord", diff --git a/packages/app/src/i18n/pl.ts b/packages/app/src/i18n/pl.ts index b7e6eef2be..daa7e0f075 100644 --- a/packages/app/src/i18n/pl.ts +++ b/packages/app/src/i18n/pl.ts @@ -952,6 +952,8 @@ export const dict = { "app.server.unreachable": "Nie można połączyć z {{server}}", "app.server.retrying": "Ponawianie automatycznie...", + "app.server.status.reconnecting": "Ponowne łączenie z {{server}}...", + "app.server.status.disconnected": "Nie można połączyć z {{server}}", "app.server.otherServers": "Inne serwery", "dialog.server.add.usernamePlaceholder": "nazwa użytkownika", "dialog.server.add.passwordPlaceholder": "hasło", diff --git a/packages/app/src/i18n/ru.ts b/packages/app/src/i18n/ru.ts index 1f912b3bbe..bf23856d1b 100644 --- a/packages/app/src/i18n/ru.ts +++ b/packages/app/src/i18n/ru.ts @@ -1032,6 +1032,8 @@ export const dict = { "app.server.unreachable": "Не удалось связаться с {{server}}", "app.server.retrying": "Автоматическая повторная попытка...", + "app.server.status.reconnecting": "Повторное подключение к {{server}}...", + "app.server.status.disconnected": "Не удалось подключиться к {{server}}", "app.server.otherServers": "Другие серверы", "dialog.server.add.usernamePlaceholder": "имя пользователя", "dialog.server.add.passwordPlaceholder": "пароль", diff --git a/packages/app/src/i18n/th.ts b/packages/app/src/i18n/th.ts index 81e70a258d..1e149bfecb 100644 --- a/packages/app/src/i18n/th.ts +++ b/packages/app/src/i18n/th.ts @@ -1016,6 +1016,8 @@ export const dict = { "app.server.unreachable": "ไม่สามารถติดต่อ {{server}}", "app.server.retrying": "กำลังลองใหม่โดยอัตโนมัติ...", + "app.server.status.reconnecting": "กำลังเชื่อมต่อกับ {{server}} อีกครั้ง...", + "app.server.status.disconnected": "ไม่สามารถเชื่อมต่อกับ {{server}}", "app.server.otherServers": "เซิร์ฟเวอร์อื่น ๆ", "dialog.server.add.usernamePlaceholder": "ชื่อผู้ใช้", "dialog.server.add.passwordPlaceholder": "รหัสผ่าน", diff --git a/packages/app/src/i18n/tr.ts b/packages/app/src/i18n/tr.ts index 8c3a19b07c..69b7438c73 100644 --- a/packages/app/src/i18n/tr.ts +++ b/packages/app/src/i18n/tr.ts @@ -1036,6 +1036,8 @@ export const dict = { "app.server.unreachable": "{{server}} sunucusuna ulaşılamadı", "app.server.retrying": "Otomatik olarak tekrar deneniyor...", + "app.server.status.reconnecting": "{{server}} sunucusuna yeniden bağlanılıyor...", + "app.server.status.disconnected": "{{server}} sunucusuna bağlanılamadı", "app.server.otherServers": "Diğer sunucular", "dialog.server.add.usernamePlaceholder": "kullanıcı adı", "dialog.server.add.passwordPlaceholder": "parola", diff --git a/packages/app/src/i18n/uk.ts b/packages/app/src/i18n/uk.ts index 294c355826..6c3cce871c 100644 --- a/packages/app/src/i18n/uk.ts +++ b/packages/app/src/i18n/uk.ts @@ -333,6 +333,8 @@ export const dict = { "app.server.unreachable": "Не вдалося досягти {{server}}", "app.server.retrying": "Автоматичне повторення...", + "app.server.status.reconnecting": "Повторне підключення до {{server}}...", + "app.server.status.disconnected": "Не вдалося підключитися до {{server}}", "app.server.otherServers": "Інші сервери", "dialog.server.title": "Сервери", diff --git a/packages/app/src/i18n/zh.ts b/packages/app/src/i18n/zh.ts index a032c73f9d..a8b0cea348 100644 --- a/packages/app/src/i18n/zh.ts +++ b/packages/app/src/i18n/zh.ts @@ -1009,6 +1009,8 @@ export const dict = { "app.server.unreachable": "无法连接到 {{server}}", "app.server.retrying": "正在自动重试...", + "app.server.status.reconnecting": "正在重新连接到 {{server}}...", + "app.server.status.disconnected": "无法连接到 {{server}}", "app.server.otherServers": "其他服务器", "dialog.server.add.usernamePlaceholder": "用户名", "dialog.server.add.passwordPlaceholder": "密码", diff --git a/packages/app/src/i18n/zht.ts b/packages/app/src/i18n/zht.ts index 7f7cb83a5a..11cea72873 100644 --- a/packages/app/src/i18n/zht.ts +++ b/packages/app/src/i18n/zht.ts @@ -1005,6 +1005,8 @@ export const dict = { "app.server.unreachable": "無法連線至 {{server}}", "app.server.retrying": "正在自動重試...", + "app.server.status.reconnecting": "正在重新連線至 {{server}}...", + "app.server.status.disconnected": "無法連線至 {{server}}", "app.server.otherServers": "其他伺服器", "dialog.server.add.usernamePlaceholder": "使用者名稱", "dialog.server.add.passwordPlaceholder": "密碼",