From d1c4aa9fc6f02120082afd503c341306efe54169 Mon Sep 17 00:00:00 2001 From: Inex Code Date: Sat, 31 Dec 2022 09:04:25 +0300 Subject: [PATCH] feat(about): Add privacy policy and licenses --- assets/translations/en.json | 3 ++- assets/translations/ru.json | 5 +++-- lib/ui/pages/more/about_application.dart | 21 +++++++++++++++++++ .../setup/initializing/initializing.dart | 3 ++- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/assets/translations/en.json b/assets/translations/en.json index 6f23654b..0f5f1c99 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -54,7 +54,8 @@ "about_application_page": { "title": "About", "application_version_text": "Application version v.{}", - "api_version_text": "Server API version v.{}" + "api_version_text": "Server API version v.{}", + "privacy_policy": "Privacy policy" }, "application_settings": { "title": "Application settings", diff --git a/assets/translations/ru.json b/assets/translations/ru.json index 3ab94069..f960a85d 100644 --- a/assets/translations/ru.json +++ b/assets/translations/ru.json @@ -54,7 +54,8 @@ "about_application_page": { "title": "О приложении", "application_version_text": "Версия приложения v.{}", - "api_version_text": "Версия API сервера v.{}" + "api_version_text": "Версия API сервера v.{}", + "privacy_policy": "Политика конфиденциальности" }, "application_settings": { "title": "Настройки приложения", @@ -475,4 +476,4 @@ "length_not_equal": "Длина строки [], должно быть равно {}", "length_longer": "Длина строки [], должно быть меньше либо равно {}" } -} \ No newline at end of file +} diff --git a/lib/ui/pages/more/about_application.dart b/lib/ui/pages/more/about_application.dart index ceefd0c7..7a9dc11e 100644 --- a/lib/ui/pages/more/about_application.dart +++ b/lib/ui/pages/more/about_application.dart @@ -5,6 +5,7 @@ import 'package:selfprivacy/ui/components/brand_header/brand_header.dart'; import 'package:selfprivacy/ui/components/brand_text/brand_text.dart'; import 'package:package_info/package_info.dart'; import 'package:easy_localization/easy_localization.dart'; +import 'package:url_launcher/url_launcher.dart'; class AboutApplicationPage extends StatelessWidget { const AboutApplicationPage({super.key}); @@ -37,6 +38,26 @@ class AboutApplicationPage extends StatelessWidget { .tr(args: [snapshot.data.toString()]), ), ), + const SizedBox(height: 10), + // Button to call showAboutDialog + TextButton( + onPressed: () => showAboutDialog( + context: context, + applicationName: 'SelfPrivacy', + applicationLegalese: '© 2022 SelfPrivacy', + // Link to privacy policy + children: [ + TextButton( + onPressed: () => launchUrl( + Uri.parse('https://selfprivacy.ru/privacy-policy'), + mode: LaunchMode.externalApplication, + ), + child: Text('about_application_page.privacy_policy'.tr()), + ), + ], + ), + child: const Text('Show about dialog'), + ), ], ), ), diff --git a/lib/ui/pages/setup/initializing/initializing.dart b/lib/ui/pages/setup/initializing/initializing.dart index 36ddb8e9..72d82520 100644 --- a/lib/ui/pages/setup/initializing/initializing.dart +++ b/lib/ui/pages/setup/initializing/initializing.dart @@ -122,7 +122,8 @@ class InitializingPage extends StatelessWidget { }, ), ), - if (cubit.state is ServerInstallationEmpty) + if (cubit.state is ServerInstallationEmpty || + cubit.state is ServerInstallationNotFinished) Container( alignment: Alignment.center, child: BrandButton.text(