feat(about): Add privacy policy and licenses

pull/158/head
Inex Code 2022-12-31 09:04:25 +03:00
parent 12de989df6
commit d1c4aa9fc6
4 changed files with 28 additions and 4 deletions

View File

@ -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",

View File

@ -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": "Длина строки [], должно быть меньше либо равно {}"
}
}
}

View File

@ -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'),
),
],
),
),

View File

@ -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(