feat: implement alerts, disable functions, and battery night mode settings

- Rename sms_alert feature to alerts with toggle list from device capabilities
  - Implement disable functions (keyboard, GPS) with device settings update
  - Implement battery night mode with dedicated view model
  - Add keyboard, gps, nightMode fields to DeviceSettingsEntity/Model
  - Fix photos endpoint to use /photos/files for file content
This commit is contained in:
2026-03-25 05:03:40 +01:00
parent 8d453dc980
commit 6d30a59651
31 changed files with 1723 additions and 90 deletions

View File

@@ -672,5 +672,30 @@
"errorBackgroundImageLoad": "Das Hintergrundbild konnte nicht geladen werden",
"errorBackgroundImageUpload": "Das Hintergrundbild konnte nicht hochgeladen werden",
"errorBackgroundImageSet": "Das Hintergrundbild konnte nicht festgelegt werden",
"backgroundImageSet": "Hintergrundbild erfolgreich festgelegt"
"backgroundImageSet": "Hintergrundbild erfolgreich festgelegt",
"alerts": "Warnungen",
"alertsDescription": "Legen Sie die Parameter fest, die die Überwachung und Warnungen des Geräts steuern.",
"alertsUpdated": "Warnungen aktualisiert",
"errorAlertUpdate": "Warnungen konnten nicht aktualisiert werden",
"alertSos": "Notfall",
"alertFalldown": "Sturz",
"alertLowBattery": "Niedriger Akkustand",
"alertGeofenceIn": "Zoneneintritt",
"alertGeofenceOut": "Zonenaustritt",
"alertDisconnect": "Getrennt",
"alertBraceletRemoved": "Armband entfernt",
"alertStandstill": "Längere Inaktivität",
"alertAbnormalHeartRate": "Abnormale Herzfrequenz",
"alertReconnect": "Wieder verbunden",
"alertMovement": "Bewegung",
"disableFunctionsKeyboard": "Wähltastatur",
"disableFunctionsGps": "GPS-Positionierung",
"disableFunctionsNightMode": "Nachtmodus",
"disableFunctionsUpdated": "Funktionen aktualisiert",
"errorDisableFunctions": "Funktionen konnten nicht aktualisiert werden",
"batteryNightSaving": "Nächtliche Batterieschonung",
"batteryNightModeTitle": "Nächtlicher Energiesparmodus",
"batteryNightModeDescription": "Die Uhr spart Batterie und trennt sich zwischen 22:00 und 06:00 Uhr von allen Netzwerken.",
"batteryNightModeUpdated": "Nachtmodus aktualisiert",
"errorBatteryNightMode": "Der Nachtmodus konnte nicht aktualisiert werden"
}

View File

@@ -602,7 +602,7 @@
"legacyNotifications": "Notifications",
"remoteManagement": "Remote Management",
"remoteOnOff": "Scheduled On/Off",
"smsAlert": "SMS Alerts",
"alerts": "Alerts",
"sosContacts": "SOS Contacts",
"sound": "Sounds",
"volumeControl": "Volume control",
@@ -804,5 +804,29 @@
"errorBackgroundImageLoad": "Could not load background image",
"errorBackgroundImageUpload": "Could not upload background image",
"errorBackgroundImageSet": "Could not set background image",
"backgroundImageSet": "Background image set successfully"
"backgroundImageSet": "Background image set successfully",
"alertsDescription": "Set the parameters that control monitoring and alerts for the device.",
"alertsUpdated": "Alerts updated",
"errorAlertUpdate": "Could not update alerts",
"alertSos": "Emergency",
"alertFalldown": "Fall",
"alertLowBattery": "Low battery",
"alertGeofenceIn": "Zone entry",
"alertGeofenceOut": "Zone exit",
"alertDisconnect": "Disconnected",
"alertBraceletRemoved": "Bracelet removed",
"alertStandstill": "Prolonged inactivity",
"alertAbnormalHeartRate": "Abnormal heart rate",
"alertReconnect": "Reconnected",
"alertMovement": "Movement",
"disableFunctionsKeyboard": "Dial keypad",
"disableFunctionsGps": "GPS positioning",
"disableFunctionsNightMode": "Night mode",
"disableFunctionsUpdated": "Functions updated",
"errorDisableFunctions": "Could not update functions",
"batteryNightSaving": "Night battery saving",
"batteryNightModeTitle": "Night energy saving mode",
"batteryNightModeDescription": "The watch will save battery and disconnect from all networks between 22:00 and 06:00.",
"batteryNightModeUpdated": "Night mode updated",
"errorBatteryNightMode": "Could not update night mode"
}

View File

@@ -600,7 +600,7 @@
"legacyNotifications": "Notificaciones",
"remoteManagement": "Programación remota",
"remoteOnOff": "Encendido y Apagado Programado",
"smsAlert": "Alertas SMS",
"alerts": "Alertas",
"sosContacts": "Agenda SOS",
"sound": "Sonidos",
"volumeControl": "Control de volumen",
@@ -802,5 +802,29 @@
"errorBackgroundImageLoad": "No se pudo cargar la imagen de fondo",
"errorBackgroundImageUpload": "No se pudo subir la imagen de fondo",
"errorBackgroundImageSet": "No se pudo asignar la imagen de fondo",
"backgroundImageSet": "Imagen de fondo asignada correctamente"
"backgroundImageSet": "Imagen de fondo asignada correctamente",
"alertsDescription": "Establece los parámetros que controlan el monitoreo y las alertas del dispositivo.",
"alertsUpdated": "Alertas actualizadas",
"errorAlertUpdate": "No se pudieron actualizar las alertas",
"alertSos": "Emergencia",
"alertFalldown": "Caída",
"alertLowBattery": "Batería baja",
"alertGeofenceIn": "Entrada a zona",
"alertGeofenceOut": "Salida de zona",
"alertDisconnect": "Desconectado",
"alertBraceletRemoved": "Pulsera quitada",
"alertStandstill": "Inactividad prolongada",
"alertAbnormalHeartRate": "Ritmo cardíaco anormal",
"alertReconnect": "Reconectado",
"alertMovement": "Movimiento",
"disableFunctionsKeyboard": "Teclado de marcación",
"disableFunctionsGps": "Posicionamiento GPS",
"disableFunctionsNightMode": "Modo nocturno",
"disableFunctionsUpdated": "Funciones actualizadas",
"errorDisableFunctions": "No se pudieron actualizar las funciones",
"batteryNightSaving": "Ahorro nocturno de batería",
"batteryNightModeTitle": "Modo de ahorro de energía nocturno",
"batteryNightModeDescription": "El reloj ahorrará batería y se desconectará de todas las redes entre las 22:00 y las 06:00.",
"batteryNightModeUpdated": "Modo nocturno actualizado",
"errorBatteryNightMode": "No se pudo actualizar el modo nocturno"
}

View File

@@ -672,5 +672,30 @@
"errorBackgroundImageLoad": "Impossible de charger l'image de fond",
"errorBackgroundImageUpload": "Impossible de télécharger l'image de fond",
"errorBackgroundImageSet": "Impossible de définir l'image de fond",
"backgroundImageSet": "Image de fond définie avec succès"
"backgroundImageSet": "Image de fond définie avec succès",
"alerts": "Alertes",
"alertsDescription": "Définissez les paramètres de surveillance et d'alertes de l'appareil.",
"alertsUpdated": "Alertes mises à jour",
"errorAlertUpdate": "Impossible de mettre à jour les alertes",
"alertSos": "Urgence",
"alertFalldown": "Chute",
"alertLowBattery": "Batterie faible",
"alertGeofenceIn": "Entrée de zone",
"alertGeofenceOut": "Sortie de zone",
"alertDisconnect": "Déconnecté",
"alertBraceletRemoved": "Bracelet retiré",
"alertStandstill": "Inactivité prolongée",
"alertAbnormalHeartRate": "Rythme cardiaque anormal",
"alertReconnect": "Reconnecté",
"alertMovement": "Mouvement",
"disableFunctionsKeyboard": "Clavier de numérotation",
"disableFunctionsGps": "Positionnement GPS",
"disableFunctionsNightMode": "Mode nuit",
"disableFunctionsUpdated": "Fonctions mises à jour",
"errorDisableFunctions": "Impossible de mettre à jour les fonctions",
"batteryNightSaving": "Économie nocturne de batterie",
"batteryNightModeTitle": "Mode d'économie d'énergie nocturne",
"batteryNightModeDescription": "La montre économisera la batterie et se déconnectera de tous les réseaux entre 22h00 et 06h00.",
"batteryNightModeUpdated": "Mode nuit mis à jour",
"errorBatteryNightMode": "Impossible de mettre à jour le mode nuit"
}

View File

@@ -672,5 +672,30 @@
"errorBackgroundImageLoad": "Impossibile caricare l'immagine di sfondo",
"errorBackgroundImageUpload": "Impossibile caricare l'immagine di sfondo",
"errorBackgroundImageSet": "Impossibile impostare l'immagine di sfondo",
"backgroundImageSet": "Immagine di sfondo impostata con successo"
"backgroundImageSet": "Immagine di sfondo impostata con successo",
"alerts": "Avvisi",
"alertsDescription": "Imposta i parametri che controllano il monitoraggio e gli avvisi del dispositivo.",
"alertsUpdated": "Avvisi aggiornati",
"errorAlertUpdate": "Impossibile aggiornare gli avvisi",
"alertSos": "Emergenza",
"alertFalldown": "Caduta",
"alertLowBattery": "Batteria scarica",
"alertGeofenceIn": "Ingresso zona",
"alertGeofenceOut": "Uscita zona",
"alertDisconnect": "Disconnesso",
"alertBraceletRemoved": "Braccialetto rimosso",
"alertStandstill": "Inattività prolungata",
"alertAbnormalHeartRate": "Frequenza cardiaca anomala",
"alertReconnect": "Riconnesso",
"alertMovement": "Movimento",
"disableFunctionsKeyboard": "Tastierino di composizione",
"disableFunctionsGps": "Posizionamento GPS",
"disableFunctionsNightMode": "Modalità notturna",
"disableFunctionsUpdated": "Funzioni aggiornate",
"errorDisableFunctions": "Impossibile aggiornare le funzioni",
"batteryNightSaving": "Risparmio notturno batteria",
"batteryNightModeTitle": "Modalità risparmio energetico notturno",
"batteryNightModeDescription": "L'orologio risparmierà batteria e si disconnetterà da tutte le reti tra le 22:00 e le 06:00.",
"batteryNightModeUpdated": "Modalità notturna aggiornata",
"errorBatteryNightMode": "Impossibile aggiornare la modalità notturna"
}

View File

@@ -672,5 +672,30 @@
"errorBackgroundImageLoad": "Não foi possível carregar a imagem de fundo",
"errorBackgroundImageUpload": "Não foi possível carregar a imagem de fundo",
"errorBackgroundImageSet": "Não foi possível definir a imagem de fundo",
"backgroundImageSet": "Imagem de fundo definida com sucesso"
"backgroundImageSet": "Imagem de fundo definida com sucesso",
"alerts": "Alertas",
"alertsDescription": "Define os parâmetros que controlam a monitorização e os alertas do dispositivo.",
"alertsUpdated": "Alertas atualizados",
"errorAlertUpdate": "Não foi possível atualizar os alertas",
"alertSos": "Emergência",
"alertFalldown": "Queda",
"alertLowBattery": "Bateria fraca",
"alertGeofenceIn": "Entrada na zona",
"alertGeofenceOut": "Saída da zona",
"alertDisconnect": "Desconectado",
"alertBraceletRemoved": "Pulseira removida",
"alertStandstill": "Inatividade prolongada",
"alertAbnormalHeartRate": "Frequência cardíaca anormal",
"alertReconnect": "Reconectado",
"alertMovement": "Movimento",
"disableFunctionsKeyboard": "Teclado de marcação",
"disableFunctionsGps": "Posicionamento GPS",
"disableFunctionsNightMode": "Modo noturno",
"disableFunctionsUpdated": "Funções atualizadas",
"errorDisableFunctions": "Não foi possível atualizar as funções",
"batteryNightSaving": "Economia noturna de bateria",
"batteryNightModeTitle": "Modo de economia de energia noturno",
"batteryNightModeDescription": "O relógio poupará bateria e desconectar-se-á de todas as redes entre as 22:00 e as 06:00.",
"batteryNightModeUpdated": "Modo noturno atualizado",
"errorBatteryNightMode": "Não foi possível atualizar o modo noturno"
}