From 1007a88dd2917675f667505bf851abef30a04005 Mon Sep 17 00:00:00 2001 From: stopflock Date: Wed, 1 Oct 2025 21:15:42 -0500 Subject: [PATCH] about/info translations, version in settings --- README.md | 3 ++ assets/info.txt | 57 ++++++++++++++++++++++++++++++++ lib/dev_config.dart | 2 +- lib/screens/settings_screen.dart | 13 ++++++++ 4 files changed, 74 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d4cb3e2..df99396 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,9 @@ cp lib/keys.dart.example lib/keys.dart ## Roadmap ### Current Development +- Network status indicator option in advanced +- Help button with links to email, discord, and website +- Move download button? - Clean cache when nodes have disappeared / been deleted by others - Clean up dev_config - Improve offline area node refresh live display diff --git a/assets/info.txt b/assets/info.txt index 6ed03a4..ebfc2f1 100644 --- a/assets/info.txt +++ b/assets/info.txt @@ -71,3 +71,60 @@ Teil der breiteren DeFlock-Initiative zur Förderung von Überwachungstransparen Besuchen Sie: deflock.me Gebaut mit Flutter • Open Source + +--- + +🇮🇹 ITALIANO + +DeFlock - Trasparenza della Sorveglianza + +DeFlock è un'app mobile orientata alla privacy per mappare l'infrastruttura di sorveglianza pubblica utilizzando OpenStreetMap. Documenta telecamere, ALPR, rilevatori di spari e altri dispositivi di sorveglianza nella tua comunità per rendere questa infrastruttura visibile e ricercabile. + +• Mappatura con capacità offline con aree scaricabili +• Upload diretto su OpenStreetMap con OAuth2 +• Profili integrati per i principali produttori +• Rispettoso della privacy - nessun dato utente raccolto +• Multipli fornitori di mappe (OSM, immagini satellitari) + +Parte della più ampia iniziativa DeFlock per promuovere la trasparenza della sorveglianza. + +Visita: deflock.me +Costruito con Flutter • Open Source + +--- + +🇵🇹 PORTUGUÊS + +DeFlock - Transparência da Vigilância + +DeFlock é um aplicativo móvel focado na privacidade para mapear infraestrutura de vigilância pública usando OpenStreetMap. Documente câmeras, ALPRs, detectores de tiros e outros dispositivos de vigilância em sua comunidade para tornar essa infraestrutura visível e pesquisável. + +• Mapeamento com capacidade offline com áreas para download +• Upload direto para OpenStreetMap com OAuth2 +• Perfis integrados para principais fabricantes +• Respeitoso à privacidade - nenhum dado do usuário coletado +• Múltiplos provedores de mapas (OSM, imagens de satélite) + +Parte da iniciativa mais ampla DeFlock para promover transparência na vigilância. + +Visite: deflock.me +Construído com Flutter • Código Aberto + +--- + +🇨🇳 中文 + +DeFlock - 监控透明化 + +DeFlock 是一款注重隐私的移动应用,使用 OpenStreetMap 绘制公共监控基础设施。记录您社区中的摄像头、车牌识别系统、枪击探测器和其他监控设备,使这些基础设施可见且可搜索。 + +• 具有可下载区域的离线映射功能 +• 使用 OAuth2 直接上传到 OpenStreetMap +• 主要制造商的内置配置文件 +• 尊重隐私 - 不收集用户数据 +• 多个地图提供商(OSM、卫星图像) + +DeFlock 更广泛倡议的一部分,旨在促进监控透明化。 + +访问:deflock.me +使用 Flutter 构建 • 开源 diff --git a/lib/dev_config.dart b/lib/dev_config.dart index 54aa0ca..3448a6d 100644 --- a/lib/dev_config.dart +++ b/lib/dev_config.dart @@ -36,7 +36,7 @@ const double kAddPinYOffset = 0.0; // Client name and version for OSM uploads ("created_by" tag) const String kClientName = 'DeFlock'; -const String kClientVersion = '1.0.0'; +const String kClientVersion = '1.0.1'; // Development/testing features - set to false for production builds const bool kEnableDevelopmentModes = false; // Set to false to hide sandbox/simulate modes and force production mode diff --git a/lib/screens/settings_screen.dart b/lib/screens/settings_screen.dart index fe55788..1eeb06a 100644 --- a/lib/screens/settings_screen.dart +++ b/lib/screens/settings_screen.dart @@ -73,6 +73,19 @@ class SettingsScreen extends StatelessWidget { subtitle: locService.t('settings.aboutSubtitle'), onTap: () => Navigator.pushNamed(context, '/settings/about'), ), + const Divider(), + + // Version display + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), + child: Text( + 'Version: $kClientVersion', + style: Theme.of(context).textTheme.bodySmall?.copyWith( + color: Theme.of(context).textTheme.bodySmall?.color?.withOpacity(0.6), + ), + textAlign: TextAlign.center, + ), + ), ], ), ),