feature/background-image into fusion-app with fixes

- Fix upload flow: capture photo ID from POST /photos response
  - Fix endpoint: use /devices/identificator/{id}/photos/files for listing
  - Fix setBackgroundImage: use device.id (UUID) instead of identificator
  - Redesign screen as photo gallery with grid view
  - Add image compression on pick (maxWidth: 800, quality: 80%)
  - Fix multipart upload: remove content-type header for FormData auto-detection
  - Replace hardcoded Spanish text with i18n in 6 languages
  - Add typed error/success enums (BackgroundImageErrorEvent, BackgroundImageSuccessEvent)
  - Revert initialLocation to splash
  - Add missing translations for contacts and background-image features
This commit is contained in:
2026-03-25 03:52:24 +01:00
45 changed files with 1574 additions and 53 deletions

View File

@@ -663,5 +663,14 @@
"errorActivityData": "Aktivitätsdaten konnten nicht geladen werden",
"errorPedometer": "Der Schrittzähler konnte nicht aktualisiert werden",
"errorContactsMin": "Das Gerät muss mindestens einen Kontakt haben",
"errorContactsMax": "Das Gerät kann nicht mehr als 10 Kontakte haben"
"errorContactsMax": "Das Gerät kann nicht mehr als 10 Kontakte haben",
"customBackground": "Benutzerdefiniertes Hintergrundbild",
"backgroundImageDescription": "Legen Sie ein Foto als benutzerdefinierten Bildschirmschoner für das Gerät fest",
"backgroundImageTapToSelect": "Tippen Sie, um ein Foto auszuwählen",
"backgroundImageTapToChange": "Tippen Sie auf das Bild, um den Bildschirmschoner zu ändern",
"backgroundImageUploaded": "Hintergrundbild aktualisiert",
"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"
}

View File

@@ -795,5 +795,14 @@
"errorActivityData": "Could not load activity data",
"errorPedometer": "Could not update pedometer",
"errorContactsMin": "The device must have at least one contact",
"errorContactsMax": "The device cannot have more than 10 contacts"
"errorContactsMax": "The device cannot have more than 10 contacts",
"customBackground": "Custom background image",
"backgroundImageDescription": "Set a photo as a custom screensaver for the device",
"backgroundImageTapToSelect": "Tap to select a photo",
"backgroundImageTapToChange": "Tap on the image to change the screensaver",
"backgroundImageUploaded": "Background image updated",
"errorBackgroundImageLoad": "Could not load background image",
"errorBackgroundImageUpload": "Could not upload background image",
"errorBackgroundImageSet": "Could not set background image",
"backgroundImageSet": "Background image set successfully"
}

View File

@@ -793,5 +793,14 @@
"errorActivityData": "No se pudieron cargar los datos de actividad",
"errorPedometer": "No se pudo actualizar el podómetro",
"errorContactsMin": "El dispositivo debe tener al menos un contacto",
"errorContactsMax": "El dispositivo no puede tener más de 10 contactos"
"errorContactsMax": "El dispositivo no puede tener más de 10 contactos",
"customBackground": "Fondo de pantalla personalizado",
"backgroundImageDescription": "Configura una foto como protector de pantalla exclusivo para el dispositivo",
"backgroundImageTapToSelect": "Pulsa para seleccionar una foto",
"backgroundImageTapToChange": "Pulsa en la imagen para cambiar el protector de pantalla",
"backgroundImageUploaded": "Imagen de fondo actualizada",
"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"
}

View File

@@ -663,5 +663,14 @@
"errorActivityData": "Impossible de charger les données d'activité",
"errorPedometer": "Impossible de mettre à jour le podomètre",
"errorContactsMin": "L'appareil doit avoir au moins un contact",
"errorContactsMax": "L'appareil ne peut pas avoir plus de 10 contacts"
"errorContactsMax": "L'appareil ne peut pas avoir plus de 10 contacts",
"customBackground": "Image de fond personnalisée",
"backgroundImageDescription": "Définissez une photo comme écran de veille personnalisé pour l'appareil",
"backgroundImageTapToSelect": "Appuyez pour sélectionner une photo",
"backgroundImageTapToChange": "Appuyez sur l'image pour changer l'écran de veille",
"backgroundImageUploaded": "Image de fond mise à jour",
"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"
}

View File

@@ -663,5 +663,14 @@
"errorActivityData": "Impossibile caricare i dati di attività",
"errorPedometer": "Impossibile aggiornare il contapassi",
"errorContactsMin": "Il dispositivo deve avere almeno un contatto",
"errorContactsMax": "Il dispositivo non può avere più di 10 contatti"
"errorContactsMax": "Il dispositivo non può avere più di 10 contatti",
"customBackground": "Immagine di sfondo personalizzata",
"backgroundImageDescription": "Imposta una foto come screensaver personalizzato per il dispositivo",
"backgroundImageTapToSelect": "Tocca per selezionare una foto",
"backgroundImageTapToChange": "Tocca l'immagine per cambiare lo screensaver",
"backgroundImageUploaded": "Immagine di sfondo aggiornata",
"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"
}

View File

@@ -663,5 +663,14 @@
"errorActivityData": "Não foi possível carregar os dados de atividade",
"errorPedometer": "Não foi possível atualizar o pedómetro",
"errorContactsMin": "O dispositivo deve ter pelo menos um contacto",
"errorContactsMax": "O dispositivo não pode ter mais de 10 contactos"
"errorContactsMax": "O dispositivo não pode ter mais de 10 contactos",
"customBackground": "Imagem de fundo personalizada",
"backgroundImageDescription": "Defina uma foto como protetor de ecrã personalizado para o dispositivo",
"backgroundImageTapToSelect": "Toque para selecionar uma foto",
"backgroundImageTapToChange": "Toque na imagem para alterar o protetor de ecrã",
"backgroundImageUploaded": "Imagem de fundo atualizada",
"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"
}