Skip to content

Commit d78d155

Browse files
committed
feat(ui): add always-visible ATX LED status indicators
- Add ATXStateIndicator component to ActionBar - Show Power/HDD LED status when ATX extension is active - Add popover with Power/Reset buttons for quick access - Add confirmation dialogs for power actions to prevent accidents Note: Long-press support for force power off can be added in a future iteration - the backend already supports "power-long" action. Fixes #729
1 parent c71d32f commit d78d155

File tree

11 files changed

+361
-2
lines changed

11 files changed

+361
-2
lines changed

ui/localization/messages/da.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,11 @@
6565
"advanced_developer_mode_warning_risks": "Brug kun hvis du forstår risiciene",
6666
"advanced_developer_mode_warning_security": "Sikkerheden svækkes, mens den er aktiv",
6767
"advanced_disable_usb_emulation": "Deaktiver USB-emulering",
68+
"advanced_download_diagnostics_button": "Download diagnostik",
69+
"advanced_download_diagnostics_description": "Download systemdiagnostik, nedbrudslogfiler og konfiguration til fejlfinding",
70+
"advanced_download_diagnostics_title": "Download diagnostik",
6871
"advanced_enable_usb_emulation": "Aktivér USB-emulering",
72+
"advanced_error_download_diagnostics": "Diagnostik mislykkedes med at downloade: {error}",
6973
"advanced_error_loopback_disable": "Kunne ikke deaktivere loopback-only-tilstand: {error}",
7074
"advanced_error_loopback_enable": "Kunne ikke aktivere loopback-only-tilstand: {error}",
7175
"advanced_error_reset_config": "Konfigurationen kunne ikke nulstilles: {error}",
@@ -91,6 +95,7 @@
9195
"advanced_ssh_default_user": "Standard SSH-brugeren er",
9296
"advanced_ssh_public_key_label": "Offentlig SSH-nøgle",
9397
"advanced_ssh_public_key_placeholder": "Indtast din offentlige SSH-nøgle",
98+
"advanced_success_download_diagnostics": "Diagnostik blev downloadet",
9499
"advanced_success_loopback_disabled": "Kun loopback-tilstand er deaktiveret. Genstart din enhed for at anvende den.",
95100
"advanced_success_loopback_enabled": "Kun loopback-tilstand aktiveret. Genstart din enhed for at anvende den.",
96101
"advanced_success_reset_config": "Konfigurationen er nulstillet til standard",
@@ -126,6 +131,12 @@
126131
"appearance_theme_system": "System",
127132
"appearance_title": "Udseende",
128133
"attach": "Vedhæft",
134+
"atx_indicator_force_power_off": "Tvangsslukning",
135+
"atx_indicator_power_confirm_description": "Vælg, hvordan trykket på tænd/sluk-knappen skal sendes til maskinen.",
136+
"atx_indicator_power_confirm_title": "Krafthandling",
137+
"atx_indicator_reset_confirm_description": "Er du sikker på, at du vil nulstille computeren? Dette vil genstarte maskinen med det samme.",
138+
"atx_indicator_reset_confirm_title": "Nulstil computeren",
139+
"atx_indicator_title": "ATX-strømstyring",
129140
"atx_power_control_get_state_error": "Kunne ikke hente ATX-strømtilstand: {error}",
130141
"atx_power_control_hdd_led": "HDD-LED",
131142
"atx_power_control_long_power_button": "Langt tryk",

ui/localization/messages/de.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,11 @@
6565
"advanced_developer_mode_warning_risks": "Verwenden Sie es nur, wenn Sie die Risiken verstehen",
6666
"advanced_developer_mode_warning_security": "Die Sicherheit wird im aktiven Zustand geschwächt",
6767
"advanced_disable_usb_emulation": "USB-Emulation deaktivieren",
68+
"advanced_download_diagnostics_button": "Diagnose herunterladen",
69+
"advanced_download_diagnostics_description": "Laden Sie Systemdiagnosedaten, Absturzprotokolle und Konfigurationsdateien zur Fehlerbehebung herunter.",
70+
"advanced_download_diagnostics_title": "Diagnose herunterladen",
6871
"advanced_enable_usb_emulation": "USB-Emulation aktivieren",
72+
"advanced_error_download_diagnostics": "Fehler beim Herunterladen der Diagnosedaten: {error}",
6973
"advanced_error_loopback_disable": "Der Nur-Loopback-Modus konnte nicht deaktiviert werden: {error}",
7074
"advanced_error_loopback_enable": "Der Nur-Loopback-Modus konnte nicht aktiviert werden: {error}",
7175
"advanced_error_reset_config": "Konfiguration konnte nicht zurückgesetzt werden: {error}",
@@ -91,6 +95,7 @@
9195
"advanced_ssh_default_user": "Der Standard-SSH-Benutzer ist",
9296
"advanced_ssh_public_key_label": "Öffentlicher SSH-Schlüssel",
9397
"advanced_ssh_public_key_placeholder": "Geben Sie Ihren öffentlichen SSH-Schlüssel ein",
98+
"advanced_success_download_diagnostics": "Diagnosedaten erfolgreich heruntergeladen",
9499
"advanced_success_loopback_disabled": "Nur-Loopback-Modus deaktiviert. Starten Sie Ihr Gerät neu, um die Funktion anzuwenden.",
95100
"advanced_success_loopback_enabled": "Nur-Loopback-Modus aktiviert. Starten Sie Ihr Gerät neu, um die Funktion anzuwenden.",
96101
"advanced_success_reset_config": "Konfiguration erfolgreich auf Standard zurückgesetzt",
@@ -126,6 +131,12 @@
126131
"appearance_theme_system": "System",
127132
"appearance_title": "Darstellung",
128133
"attach": "Anhängen",
134+
"atx_indicator_force_power_off": "Strom abschalten",
135+
"atx_indicator_power_confirm_description": "Wählen Sie aus, wie das Drücken des Ein-/Ausschalters an das Gerät gesendet werden soll.",
136+
"atx_indicator_power_confirm_title": "Kraftaktion",
137+
"atx_indicator_reset_confirm_description": "Sind Sie sicher, dass Sie den Computer zurücksetzen möchten? Dadurch wird das Gerät sofort neu gestartet.",
138+
"atx_indicator_reset_confirm_title": "Computer zurücksetzen",
139+
"atx_indicator_title": "ATX-Stromversorgung",
129140
"atx_power_control_get_state_error": "ATX-Stromversorgungsstatus konnte nicht abgerufen werden: {error}",
130141
"atx_power_control_hdd_led": "Festplatten-LED",
131142
"atx_power_control_long_power_button": "Langes Drücken",

ui/localization/messages/en.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@
6969
"advanced_download_diagnostics_description": "Download system diagnostics, crash logs, and configuration for troubleshooting",
7070
"advanced_download_diagnostics_title": "Download Diagnostics",
7171
"advanced_enable_usb_emulation": "Enable USB Emulation",
72-
"advanced_error_loopback_disable": "Failed to disable loopback-only mode: {error}",
7372
"advanced_error_download_diagnostics": "Failed to download diagnostics: {error}",
73+
"advanced_error_loopback_disable": "Failed to disable loopback-only mode: {error}",
7474
"advanced_error_loopback_enable": "Failed to enable loopback-only mode: {error}",
7575
"advanced_error_reset_config": "Failed to reset configuration: {error}",
7676
"advanced_error_set_dev_channel": "Failed to set dev channel state: {error}",
@@ -95,8 +95,8 @@
9595
"advanced_ssh_default_user": "The default SSH user is",
9696
"advanced_ssh_public_key_label": "SSH Public Key",
9797
"advanced_ssh_public_key_placeholder": "Enter your SSH public key",
98-
"advanced_success_loopback_disabled": "Loopback-only mode disabled. Restart your device to apply.",
9998
"advanced_success_download_diagnostics": "Diagnostics downloaded successfully",
99+
"advanced_success_loopback_disabled": "Loopback-only mode disabled. Restart your device to apply.",
100100
"advanced_success_loopback_enabled": "Loopback-only mode enabled. Restart your device to apply.",
101101
"advanced_success_reset_config": "Configuration reset to default successfully",
102102
"advanced_success_update_ssh_key": "SSH key updated successfully",
@@ -131,6 +131,12 @@
131131
"appearance_theme_system": "System",
132132
"appearance_title": "Appearance",
133133
"attach": "Attach",
134+
"atx_indicator_force_power_off": "Force Power Off",
135+
"atx_indicator_power_confirm_description": "Choose how to send the power button press to the machine.",
136+
"atx_indicator_power_confirm_title": "Power Action",
137+
"atx_indicator_reset_confirm_description": "Are you sure you want to reset the computer? This will immediately restart the machine.",
138+
"atx_indicator_reset_confirm_title": "Reset Computer",
139+
"atx_indicator_title": "ATX Power Control",
134140
"atx_power_control_get_state_error": "Failed to get ATX power state: {error}",
135141
"atx_power_control_hdd_led": "HDD LED",
136142
"atx_power_control_long_power_button": "Long Press",

ui/localization/messages/es.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,11 @@
6565
"advanced_developer_mode_warning_risks": "Úselo solo si comprende los riesgos.",
6666
"advanced_developer_mode_warning_security": "La seguridad se debilita mientras está activa",
6767
"advanced_disable_usb_emulation": "Deshabilitar la emulación USB",
68+
"advanced_download_diagnostics_button": "Descargar Diagnóstico",
69+
"advanced_download_diagnostics_description": "Descargue diagnósticos del sistema, registros de fallos y configuración para la solución de problemas",
70+
"advanced_download_diagnostics_title": "Descargar Diagnóstico",
6871
"advanced_enable_usb_emulation": "Habilitar emulación USB",
72+
"advanced_error_download_diagnostics": "No se pudieron descargar los diagnósticos: {error}",
6973
"advanced_error_loopback_disable": "No se pudo deshabilitar el modo de solo bucle invertido: {error}",
7074
"advanced_error_loopback_enable": "No se pudo habilitar el modo de solo bucle invertido: {error}",
7175
"advanced_error_reset_config": "No se pudo restablecer la configuración: {error}",
@@ -91,6 +95,7 @@
9195
"advanced_ssh_default_user": "El usuario SSH predeterminado es",
9296
"advanced_ssh_public_key_label": "Clave pública SSH",
9397
"advanced_ssh_public_key_placeholder": "Ingrese su clave pública SSH",
98+
"advanced_success_download_diagnostics": "Diagnóstico descargado exitosamente",
9499
"advanced_success_loopback_disabled": "El modo de solo bucle invertido está deshabilitado. Reinicie el dispositivo para aplicarlo.",
95100
"advanced_success_loopback_enabled": "Modo de solo bucle invertido habilitado. Reinicie el dispositivo para aplicarlo.",
96101
"advanced_success_reset_config": "La configuración se restableció a los valores predeterminados correctamente",
@@ -126,6 +131,12 @@
126131
"appearance_theme_system": "Sistema",
127132
"appearance_title": "Apariencia",
128133
"attach": "Adjuntar",
134+
"atx_indicator_force_power_off": "Apagado forzado",
135+
"atx_indicator_power_confirm_description": "Elija cómo enviar la pulsación del botón de encendido a la máquina.",
136+
"atx_indicator_power_confirm_title": "Acción de poder",
137+
"atx_indicator_reset_confirm_description": "¿Seguro que desea reiniciar el equipo? Esto lo reiniciará inmediatamente.",
138+
"atx_indicator_reset_confirm_title": "Reiniciar la computadora",
139+
"atx_indicator_title": "Control de alimentación ATX",
129140
"atx_power_control_get_state_error": "No se pudo obtener el estado de energía ATX: {error}",
130141
"atx_power_control_hdd_led": "LED del disco duro",
131142
"atx_power_control_long_power_button": "Pulsación larga",

ui/localization/messages/fr.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,11 @@
6565
"advanced_developer_mode_warning_risks": "À utiliser uniquement si vous comprenez les risques",
6666
"advanced_developer_mode_warning_security": "La sécurité est affaiblie lorsqu'elle est active",
6767
"advanced_disable_usb_emulation": "Désactiver l'émulation USB",
68+
"advanced_download_diagnostics_button": "Télécharger les diagnostics",
69+
"advanced_download_diagnostics_description": "Téléchargez les diagnostics système, les journaux d'erreurs et la configuration pour le dépannage.",
70+
"advanced_download_diagnostics_title": "Télécharger les diagnostics",
6871
"advanced_enable_usb_emulation": "Activer l'émulation USB",
72+
"advanced_error_download_diagnostics": "Échec du téléchargement des diagnostics : {error}",
6973
"advanced_error_loopback_disable": "Échec de la désactivation du mode de bouclage uniquement : {error}",
7074
"advanced_error_loopback_enable": "Échec de l'activation du mode de bouclage uniquement : {error}",
7175
"advanced_error_reset_config": "Échec de la réinitialisation de la configuration : {error}",
@@ -91,6 +95,7 @@
9195
"advanced_ssh_default_user": "L'utilisateur SSH par défaut est",
9296
"advanced_ssh_public_key_label": "Clé publique SSH",
9397
"advanced_ssh_public_key_placeholder": "Entrez votre clé publique SSH",
98+
"advanced_success_download_diagnostics": "Diagnostics téléchargés avec succès",
9499
"advanced_success_loopback_disabled": "Mode de bouclage désactivé. Redémarrez votre appareil pour appliquer le mode de bouclage.",
95100
"advanced_success_loopback_enabled": "Mode de bouclage activé. Redémarrez votre appareil pour appliquer la fonction.",
96101
"advanced_success_reset_config": "La configuration par défaut a été réinitialisée avec succès",
@@ -126,6 +131,12 @@
126131
"appearance_theme_system": "Système",
127132
"appearance_title": "Apparence",
128133
"attach": "Attacher",
134+
"atx_indicator_force_power_off": "Forcer l'arrêt",
135+
"atx_indicator_power_confirm_description": "Choisissez comment envoyer la commande d'appui sur le bouton d'alimentation à la machine.",
136+
"atx_indicator_power_confirm_title": "Action de puissance",
137+
"atx_indicator_reset_confirm_description": "Êtes-vous sûr de vouloir réinitialiser l'ordinateur ? Cela redémarrera immédiatement la machine.",
138+
"atx_indicator_reset_confirm_title": "Réinitialiser l'ordinateur",
139+
"atx_indicator_title": "Contrôle d'alimentation ATX",
129140
"atx_power_control_get_state_error": "Échec de l'obtention de l'état d'alimentation ATX : {error}",
130141
"atx_power_control_hdd_led": "Voyant du disque dur",
131142
"atx_power_control_long_power_button": "Appui long",

ui/localization/messages/it.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,11 @@
6565
"advanced_developer_mode_warning_risks": "Utilizzare solo se si comprendono i rischi",
6666
"advanced_developer_mode_warning_security": "La sicurezza è indebolita mentre è attiva",
6767
"advanced_disable_usb_emulation": "Disabilita l'emulazione USB",
68+
"advanced_download_diagnostics_button": "Scarica Diagnostica",
69+
"advanced_download_diagnostics_description": "Scarica la diagnostica di sistema, i registri degli arresti anomali e la configurazione per la risoluzione dei problemi",
70+
"advanced_download_diagnostics_title": "Scarica Diagnostica",
6871
"advanced_enable_usb_emulation": "Abilita emulazione USB",
72+
"advanced_error_download_diagnostics": "Impossibile scaricare la diagnostica: {error}",
6973
"advanced_error_loopback_disable": "Impossibile disabilitare la modalità solo loopback: {error}",
7074
"advanced_error_loopback_enable": "Impossibile abilitare la modalità solo loopback: {error}",
7175
"advanced_error_reset_config": "Impossibile reimpostare la configurazione: {error}",
@@ -91,6 +95,7 @@
9195
"advanced_ssh_default_user": "L'utente SSH predefinito è",
9296
"advanced_ssh_public_key_label": "Chiave pubblica SSH",
9397
"advanced_ssh_public_key_placeholder": "Inserisci la tua chiave pubblica SSH",
98+
"advanced_success_download_diagnostics": "Diagnostica scaricata correttamente",
9499
"advanced_success_loopback_disabled": "Modalità loopback-only disattivata. Riavvia il dispositivo per applicare la modifica.",
95100
"advanced_success_loopback_enabled": "Modalità loopback abilitata. Riavvia il dispositivo per applicare la modifica.",
96101
"advanced_success_reset_config": "Configurazione ripristinata ai valori predefiniti con successo",
@@ -126,6 +131,12 @@
126131
"appearance_theme_system": "Sistema",
127132
"appearance_title": "Aspetto",
128133
"attach": "Allega",
134+
"atx_indicator_force_power_off": "Forza lo spegnimento",
135+
"atx_indicator_power_confirm_description": "Scegli come inviare la pressione del pulsante di accensione alla macchina.",
136+
"atx_indicator_power_confirm_title": "Azione di potenza",
137+
"atx_indicator_reset_confirm_description": "Vuoi davvero reimpostare il computer? Questo riavvierà immediatamente il computer.",
138+
"atx_indicator_reset_confirm_title": "Reimpostare il computer",
139+
"atx_indicator_title": "Controllo di potenza ATX",
129140
"atx_power_control_get_state_error": "Impossibile ottenere lo stato di alimentazione ATX: {error}",
130141
"atx_power_control_hdd_led": "LED dell'HDD",
131142
"atx_power_control_long_power_button": "Pressione lunga",

ui/localization/messages/nb.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,11 @@
6565
"advanced_developer_mode_warning_risks": "Bruk kun hvis du forstår risikoene",
6666
"advanced_developer_mode_warning_security": "Sikkerheten svekkes mens den er aktiv",
6767
"advanced_disable_usb_emulation": "Deaktiver USB-emulering",
68+
"advanced_download_diagnostics_button": "Last ned diagnostikk",
69+
"advanced_download_diagnostics_description": "Last ned systemdiagnostikk, krasjlogger og konfigurasjon for feilsøking",
70+
"advanced_download_diagnostics_title": "Last ned diagnostikk",
6871
"advanced_enable_usb_emulation": "Aktiver USB-emulering",
72+
"advanced_error_download_diagnostics": "Kunne ikke laste ned diagnostikk: {error}",
6973
"advanced_error_loopback_disable": "Klarte ikke å deaktivere kun loopback-modus: {error}",
7074
"advanced_error_loopback_enable": "Kunne ikke aktivere kun loopback-modus: {error}",
7175
"advanced_error_reset_config": "Kunne ikke tilbakestille konfigurasjonen: {error}",
@@ -91,6 +95,7 @@
9195
"advanced_ssh_default_user": "Standard SSH-brukeren er",
9296
"advanced_ssh_public_key_label": "SSH offentlig nøkkel",
9397
"advanced_ssh_public_key_placeholder": "Skriv inn din offentlige SSH-nøkkel",
98+
"advanced_success_download_diagnostics": "Diagnostikken er lastet ned",
9499
"advanced_success_loopback_disabled": "Kun tilbakekoblingsmodus deaktivert. Start enheten på nytt for å bruke den.",
95100
"advanced_success_loopback_enabled": "Kun tilbakekoblingsmodus aktivert. Start enheten på nytt for å bruke den.",
96101
"advanced_success_reset_config": "Konfigurasjonen ble tilbakestilt til standard",
@@ -126,6 +131,12 @@
126131
"appearance_theme_system": "System",
127132
"appearance_title": "Utseende",
128133
"attach": "Legg ved",
134+
"atx_indicator_force_power_off": "Tving avslåing",
135+
"atx_indicator_power_confirm_description": "Velg hvordan du vil sende av/på-knappen til maskinen.",
136+
"atx_indicator_power_confirm_title": "Krafthandling",
137+
"atx_indicator_reset_confirm_description": "Er du sikker på at du vil tilbakestille datamaskinen? Dette vil umiddelbart starte maskinen på nytt.",
138+
"atx_indicator_reset_confirm_title": "Tilbakestill datamaskinen",
139+
"atx_indicator_title": "ATX-strømstyring",
129140
"atx_power_control_get_state_error": "Klarte ikke å hente ATX-strømstatus: {error}",
130141
"atx_power_control_hdd_led": "HDD-LED",
131142
"atx_power_control_long_power_button": "Langt trykk",

ui/localization/messages/sv.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,11 @@
6565
"advanced_developer_mode_warning_risks": "Använd endast om du förstår riskerna",
6666
"advanced_developer_mode_warning_security": "Säkerheten försvagas medan den är aktiv",
6767
"advanced_disable_usb_emulation": "Inaktivera USB-emulering",
68+
"advanced_download_diagnostics_button": "Ladda ner diagnostik",
69+
"advanced_download_diagnostics_description": "Ladda ner systemdiagnostik, kraschloggar och konfiguration för felsökning",
70+
"advanced_download_diagnostics_title": "Ladda ner diagnostik",
6871
"advanced_enable_usb_emulation": "Aktivera USB-emulering",
72+
"advanced_error_download_diagnostics": "Misslyckades med att ladda ner diagnostik: {error}",
6973
"advanced_error_loopback_disable": "Misslyckades med att inaktivera endast loopback-läge: {error}",
7074
"advanced_error_loopback_enable": "Misslyckades med att aktivera endast loopback-läge: {error}",
7175
"advanced_error_reset_config": "Misslyckades med att återställa konfigurationen: {error}",
@@ -91,6 +95,7 @@
9195
"advanced_ssh_default_user": "Standard SSH-användaren är",
9296
"advanced_ssh_public_key_label": "SSH-publik nyckel",
9397
"advanced_ssh_public_key_placeholder": "Ange din offentliga SSH-nyckel",
98+
"advanced_success_download_diagnostics": "Diagnostiken har laddats ner",
9499
"advanced_success_loopback_disabled": "Endast loopback-läge inaktiverat. Starta om enheten för att tillämpa det.",
95100
"advanced_success_loopback_enabled": "Endast loopback-läge aktiverat. Starta om enheten för att tillämpa.",
96101
"advanced_success_reset_config": "Konfigurationen återställdes till standardinställningarna",
@@ -126,6 +131,12 @@
126131
"appearance_theme_system": "System",
127132
"appearance_title": "Utseende",
128133
"attach": "Bifoga",
134+
"atx_indicator_force_power_off": "Tvingad avstängning",
135+
"atx_indicator_power_confirm_description": "Välj hur strömbrytartrycket ska skickas till maskinen.",
136+
"atx_indicator_power_confirm_title": "Kraftåtgärd",
137+
"atx_indicator_reset_confirm_description": "Är du säker på att du vill återställa datorn? Detta startar om maskinen omedelbart.",
138+
"atx_indicator_reset_confirm_title": "Återställ datorn",
139+
"atx_indicator_title": "ATX-strömkontroll",
129140
"atx_power_control_get_state_error": "Misslyckades med att hämta ATX-strömstatus: {error}",
130141
"atx_power_control_hdd_led": "Hårddisk-LED",
131142
"atx_power_control_long_power_button": "Långt tryck",

0 commit comments

Comments
 (0)