feat(legacy): add pull-to-refresh for control_panel and location

Introduce a shared RefreshableErrorState widget that wraps the retry
hint in a RefreshIndicator with an explicit 'pull down to retry'
caption, so users can recover from load failures without navigating
away. Wire it into the location screen's error fallbacks and make the
control_panel body pull-to-refresh at any time, invalidating the device
list so the dashboard picks up fresh data.
This commit is contained in:
2026-04-17 09:44:29 +02:00
parent 2942d7393e
commit 72d44b81df
11 changed files with 123 additions and 40 deletions

View File

@@ -668,6 +668,7 @@
"frequentPlaceUpdated": "Häufiger Ort aktualisiert",
"frequentPlaceDeleted": "Häufiger Ort gelöscht",
"errorGeneric": "Etwas ist schiefgelaufen. Bitte versuchen Sie es erneut.",
"pullDownToRetry": "Zum Wiederholen nach unten ziehen",
"errorGeofenceCreate": "Die Sicherheitszone konnte nicht erstellt werden",
"errorGeofenceUpdate": "Die Sicherheitszone konnte nicht aktualisiert werden",
"errorGeofenceDelete": "Die Sicherheitszone konnte nicht gelöscht werden",

View File

@@ -836,6 +836,7 @@
"frequentPlaceUpdated": "Frequent place updated",
"frequentPlaceDeleted": "Frequent place deleted",
"errorGeneric": "Something went wrong. Please try again.",
"pullDownToRetry": "Pull down to retry",
"errorGeofenceCreate": "Could not create the safety zone",
"errorGeofenceUpdate": "Could not update the safety zone",
"errorGeofenceDelete": "Could not delete the safety zone",

View File

@@ -837,6 +837,7 @@
"frequentPlaceUpdated": "Lugar frecuente actualizado",
"frequentPlaceDeleted": "Lugar frecuente eliminado",
"errorGeneric": "Algo salió mal. Inténtalo de nuevo.",
"pullDownToRetry": "Desliza hacia abajo para reintentar",
"errorGeofenceCreate": "No se pudo crear la zona de seguridad",
"errorGeofenceUpdate": "No se pudo actualizar la zona de seguridad",
"errorGeofenceDelete": "No se pudo eliminar la zona de seguridad",

View File

@@ -668,6 +668,7 @@
"frequentPlaceUpdated": "Lieu fréquent mis à jour",
"frequentPlaceDeleted": "Lieu fréquent supprimé",
"errorGeneric": "Une erreur est survenue. Veuillez réessayer.",
"pullDownToRetry": "Tirez vers le bas pour réessayer",
"errorGeofenceCreate": "Impossible de créer la zone de sécurité",
"errorGeofenceUpdate": "Impossible de mettre à jour la zone de sécurité",
"errorGeofenceDelete": "Impossible de supprimer la zone de sécurité",

View File

@@ -668,6 +668,7 @@
"frequentPlaceUpdated": "Luogo frequente aggiornato",
"frequentPlaceDeleted": "Luogo frequente eliminato",
"errorGeneric": "Qualcosa è andato storto. Riprova.",
"pullDownToRetry": "Trascina verso il basso per riprovare",
"errorGeofenceCreate": "Impossibile creare la zona di sicurezza",
"errorGeofenceUpdate": "Impossibile aggiornare la zona di sicurezza",
"errorGeofenceDelete": "Impossibile eliminare la zona di sicurezza",

View File

@@ -668,6 +668,7 @@
"frequentPlaceUpdated": "Local frequente atualizado",
"frequentPlaceDeleted": "Local frequente eliminado",
"errorGeneric": "Algo correu mal. Tente novamente.",
"pullDownToRetry": "Deslize para baixo para tentar novamente",
"errorGeofenceCreate": "Não foi possível criar a zona de segurança",
"errorGeofenceUpdate": "Não foi possível atualizar a zona de segurança",
"errorGeofenceDelete": "Não foi possível eliminar a zona de segurança",