mirror of
https://github.com/FoggedLens/deflock-app.git
synced 2026-08-10 13:10:44 +02:00
prevent deletes without being logged in
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
{
|
||||
"2.10.4": {
|
||||
"content": [
|
||||
"• Catch and correct a couple rare map bounds issues"
|
||||
"• Catch and correct a couple rare map bounds issues",
|
||||
"• Prevent queueing a deletion without being logged in"
|
||||
]
|
||||
},
|
||||
"2.10.3": {
|
||||
|
||||
@@ -102,7 +102,8 @@
|
||||
"confirmDeleteTitle": "Knoten löschen",
|
||||
"confirmDeleteMessage": "Sind Sie sicher, dass Sie Knoten #{} löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"deleteReasonLabel": "Grund für Löschung (Optional)",
|
||||
"deleteReasonHint": "z.B. Gerät entfernt, falsche Position, Duplikat..."
|
||||
"deleteReasonHint": "z.B. Gerät entfernt, falsche Position, Duplikat...",
|
||||
"mustBeLoggedInToDelete": "Sie müssen mit einem OpenStreetMap-Konto angemeldet sein, um Kartendaten beizutragen."
|
||||
},
|
||||
"addNode": {
|
||||
"profile": "Profil",
|
||||
|
||||
@@ -139,7 +139,8 @@
|
||||
"confirmDeleteTitle": "Delete Node",
|
||||
"confirmDeleteMessage": "Are you sure you want to delete node #{}? This action cannot be undone.",
|
||||
"deleteReasonLabel": "Reason for Deletion (Optional)",
|
||||
"deleteReasonHint": "e.g., device removed, incorrect location, duplicate..."
|
||||
"deleteReasonHint": "e.g., device removed, incorrect location, duplicate...",
|
||||
"mustBeLoggedInToDelete": "You must be logged in with an OpenStreetMap account to contribute map data."
|
||||
},
|
||||
"addNode": {
|
||||
"profile": "Profile",
|
||||
|
||||
@@ -139,7 +139,8 @@
|
||||
"confirmDeleteTitle": "Eliminar Nodo",
|
||||
"confirmDeleteMessage": "¿Estás seguro de que quieres eliminar el nodo #{}? Esta acción no se puede deshacer.",
|
||||
"deleteReasonLabel": "Razón para Eliminación (Opcional)",
|
||||
"deleteReasonHint": "ej. dispositivo removido, ubicación incorrecta, duplicado..."
|
||||
"deleteReasonHint": "ej. dispositivo removido, ubicación incorrecta, duplicado...",
|
||||
"mustBeLoggedInToDelete": "Debes iniciar sesión con una cuenta de OpenStreetMap para contribuir con datos del mapa."
|
||||
},
|
||||
"addNode": {
|
||||
"profile": "Perfil",
|
||||
|
||||
@@ -139,7 +139,8 @@
|
||||
"confirmDeleteTitle": "Supprimer le Nœud",
|
||||
"confirmDeleteMessage": "Êtes-vous sûr de vouloir supprimer le nœud #{} ? Cette action ne peut pas être annulée.",
|
||||
"deleteReasonLabel": "Raison de Suppression (Optionnel)",
|
||||
"deleteReasonHint": "ex. appareil retiré, emplacement incorrect, doublon..."
|
||||
"deleteReasonHint": "ex. appareil retiré, emplacement incorrect, doublon...",
|
||||
"mustBeLoggedInToDelete": "Vous devez être connecté avec un compte OpenStreetMap pour contribuer aux données cartographiques."
|
||||
},
|
||||
"addNode": {
|
||||
"profile": "Profil",
|
||||
|
||||
@@ -139,7 +139,8 @@
|
||||
"confirmDeleteTitle": "Elimina Nodo",
|
||||
"confirmDeleteMessage": "Sei sicuro di voler eliminare il nodo #{}? Questa azione non può essere annullata.",
|
||||
"deleteReasonLabel": "Motivo per Eliminazione (Opzionale)",
|
||||
"deleteReasonHint": "es. dispositivo rimosso, posizione errata, duplicato..."
|
||||
"deleteReasonHint": "es. dispositivo rimosso, posizione errata, duplicato...",
|
||||
"mustBeLoggedInToDelete": "Devi aver effettuato l'accesso con un account OpenStreetMap per contribuire ai dati della mappa."
|
||||
},
|
||||
"addNode": {
|
||||
"profile": "Profilo",
|
||||
|
||||
@@ -139,7 +139,8 @@
|
||||
"confirmDeleteTitle": "Verwijder Node",
|
||||
"confirmDeleteMessage": "Weet u zeker dat u node #{} wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt.",
|
||||
"deleteReasonLabel": "Reden voor Verwijdering (Optioneel)",
|
||||
"deleteReasonHint": "bijv. apparaat verwijderd, onjuiste locatie, duplicaat..."
|
||||
"deleteReasonHint": "bijv. apparaat verwijderd, onjuiste locatie, duplicaat...",
|
||||
"mustBeLoggedInToDelete": "U moet ingelogd zijn met een OpenStreetMap-account om kaartgegevens bij te dragen."
|
||||
},
|
||||
"addNode": {
|
||||
"profile": "Profiel",
|
||||
|
||||
@@ -139,7 +139,8 @@
|
||||
"confirmDeleteTitle": "Usuń Węzeł",
|
||||
"confirmDeleteMessage": "Czy na pewno chcesz usunąć węzeł #{}? Tej akcji nie można cofnąć.",
|
||||
"deleteReasonLabel": "Powód Usunięcia (Opcjonalny)",
|
||||
"deleteReasonHint": "np. urządzenie usunięte, nieprawidłowa lokalizacja, duplikat..."
|
||||
"deleteReasonHint": "np. urządzenie usunięte, nieprawidłowa lokalizacja, duplikat...",
|
||||
"mustBeLoggedInToDelete": "Musisz być zalogowany na konto OpenStreetMap, aby dodawać dane do mapy."
|
||||
},
|
||||
"addNode": {
|
||||
"profile": "Profil",
|
||||
|
||||
@@ -139,7 +139,8 @@
|
||||
"confirmDeleteTitle": "Excluir Nó",
|
||||
"confirmDeleteMessage": "Tem certeza de que deseja excluir o nó #{}? Esta ação não pode ser desfeita.",
|
||||
"deleteReasonLabel": "Motivo para Exclusão (Opcional)",
|
||||
"deleteReasonHint": "ex. dispositivo removido, localização incorreta, duplicado..."
|
||||
"deleteReasonHint": "ex. dispositivo removido, localização incorreta, duplicado...",
|
||||
"mustBeLoggedInToDelete": "Você precisa estar conectado com uma conta do OpenStreetMap para contribuir com dados do mapa."
|
||||
},
|
||||
"addNode": {
|
||||
"profile": "Perfil",
|
||||
|
||||
@@ -139,7 +139,8 @@
|
||||
"confirmDeleteTitle": "Düğümü Sil",
|
||||
"confirmDeleteMessage": "#{} düğümünü silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.",
|
||||
"deleteReasonLabel": "Silme Nedeni (İsteğe Bağlı)",
|
||||
"deleteReasonHint": "örn. cihaz kaldırıldı, yanlış konum, duplikat..."
|
||||
"deleteReasonHint": "örn. cihaz kaldırıldı, yanlış konum, duplikat...",
|
||||
"mustBeLoggedInToDelete": "Harita verilerine katkıda bulunmak için bir OpenStreetMap hesabıyla oturum açmış olmanız gerekir."
|
||||
},
|
||||
"addNode": {
|
||||
"profile": "Profil",
|
||||
|
||||
@@ -139,7 +139,8 @@
|
||||
"confirmDeleteTitle": "Видалити Вузол",
|
||||
"confirmDeleteMessage": "Ви впевнені, що хочете видалити вузол #{}? Цю дію не можна скасувати.",
|
||||
"deleteReasonLabel": "Причина Видалення (Опціонально)",
|
||||
"deleteReasonHint": "наприклад пристрій видалено, неправильне розташування, дублікат..."
|
||||
"deleteReasonHint": "наприклад пристрій видалено, неправильне розташування, дублікат...",
|
||||
"mustBeLoggedInToDelete": "Ви повинні увійти в обліковий запис OpenStreetMap, щоб надавати дані карти."
|
||||
},
|
||||
"addNode": {
|
||||
"profile": "Профіль",
|
||||
|
||||
@@ -139,7 +139,8 @@
|
||||
"confirmDeleteTitle": "删除节点",
|
||||
"confirmDeleteMessage": "您确定要删除节点 #{} 吗?此操作无法撤销。",
|
||||
"deleteReasonLabel": "删除原因(可选)",
|
||||
"deleteReasonHint": "例如:设备已移除、位置错误、重复..."
|
||||
"deleteReasonHint": "例如:设备已移除、位置错误、重复...",
|
||||
"mustBeLoggedInToDelete": "您必须使用 OpenStreetMap 账户登录才能贡献地图数据。"
|
||||
},
|
||||
"addNode": {
|
||||
"profile": "配置文件",
|
||||
|
||||
@@ -65,6 +65,31 @@ class NodeTagSheet extends StatelessWidget {
|
||||
}
|
||||
|
||||
void deleteNode() async {
|
||||
if (!appState.isLoggedIn) {
|
||||
final shouldLogIn = await showDialog<bool>(
|
||||
context: context,
|
||||
builder: (BuildContext context) => AlertDialog(
|
||||
title: Text(locService.t('node.confirmDeleteTitle')),
|
||||
content: Text(locService.t('node.mustBeLoggedInToDelete')),
|
||||
actions: [
|
||||
TextButton(
|
||||
onPressed: () => Navigator.of(context).pop(false),
|
||||
child: Text(locService.cancel),
|
||||
),
|
||||
TextButton(
|
||||
onPressed: () => Navigator.of(context).pop(true),
|
||||
child: Text(locService.t('actions.logIn')),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
||||
if ((shouldLogIn ?? false) && context.mounted) {
|
||||
Navigator.pushNamed(context, '/settings/osm-account');
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
final result = await showDialog<({bool confirmed, String comment})>(
|
||||
context: context,
|
||||
builder: (BuildContext context) => _DeleteNodeDialog(
|
||||
|
||||
Reference in New Issue
Block a user