diff --git a/lib/config/app_config.dart b/lib/config/app_config.dart index 3b042ce..8c50c09 100644 --- a/lib/config/app_config.dart +++ b/lib/config/app_config.dart @@ -1,4 +1,9 @@ abstract class AppConfig { static const String applicationName = 'FluffyChat'; static const String defaultHomeserver = 'matrix.tchncs.de'; + static const String privacyUrl = 'https://fluffychat.im/en/privacy.html'; + static const String sourceCodeUrl = + 'https://gitlab.com/ChristianPauly/fluffychat-flutter'; + static const String supportUrl = + 'https://gitlab.com/ChristianPauly/fluffychat-flutter/issues'; } diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index d01e703..cd75f56 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -1059,6 +1059,11 @@ "type": "text", "placeholders": {} }, + "privacy": "Privacy", + "@privacy": { + "type": "text", + "placeholders": {} + }, "publicRooms": "Public Rooms", "@publicRooms": { "type": "text", diff --git a/lib/views/homeserver_picker.dart b/lib/views/homeserver_picker.dart index 9f83252..b1bc842 100644 --- a/lib/views/homeserver_picker.dart +++ b/lib/views/homeserver_picker.dart @@ -3,11 +3,12 @@ import 'dart:math'; import 'package:fluffychat/components/dialogs/simple_dialogs.dart'; import 'package:fluffychat/components/matrix.dart'; import 'package:fluffychat/config/app_config.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:fluffychat/utils/app_route.dart'; import 'package:fluffychat/utils/sentry_controller.dart'; import 'package:fluffychat/views/sign_up.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_gen/gen_l10n/l10n.dart'; +import 'package:url_launcher/url_launcher.dart'; class HomeserverPicker extends StatelessWidget { Future _setHomeserverAction(BuildContext context) async { @@ -54,7 +55,21 @@ class HomeserverPicker extends StatelessWidget { children: [ Hero( tag: 'loginBanner', - child: Image.asset('assets/fluffychat-banner.png'), + child: InkWell( + onTap: () => showAboutDialog( + context: context, + children: [ + RaisedButton( + child: Text(L10n.of(context).privacy), + onPressed: () => launch(AppConfig.privacyUrl), + ) + ], + applicationIcon: + Image.asset('assets/logo.png', width: 100, height: 100), + applicationName: AppConfig.applicationName, + ), + child: Image.asset('assets/fluffychat-banner.png'), + ), ), Padding( padding: const EdgeInsets.all(16.0), @@ -91,15 +106,12 @@ class HomeserverPicker extends StatelessWidget { Padding( padding: const EdgeInsets.only(left: 16.0, right: 16.0, top: 16.0), - child: Opacity( - opacity: 0.75, - child: Text( - L10n.of(context).byDefaultYouWillBeConnectedTo( - AppConfig.defaultHomeserver), - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 16, - ), + child: Text( + L10n.of(context).byDefaultYouWillBeConnectedTo( + AppConfig.defaultHomeserver), + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 16, ), ), ), diff --git a/lib/views/settings.dart b/lib/views/settings.dart index e62e1b2..20bee60 100644 --- a/lib/views/settings.dart +++ b/lib/views/settings.dart @@ -544,8 +544,12 @@ class _SettingsState extends State { ListTile( trailing: Icon(Icons.help), title: Text(L10n.of(context).help), - onTap: () => launch( - 'https://gitlab.com/ChristianPauly/fluffychat-flutter/issues'), + onTap: () => launch(AppConfig.supportUrl), + ), + ListTile( + trailing: Icon(Icons.privacy_tip_rounded), + title: Text(L10n.of(context).privacy), + onTap: () => launch(AppConfig.privacyUrl), ), ListTile( trailing: Icon(Icons.link), @@ -560,8 +564,7 @@ class _SettingsState extends State { ListTile( trailing: Icon(Icons.code), title: Text(L10n.of(context).sourceCode), - onTap: () => launch( - 'https://gitlab.com/ChristianPauly/fluffychat-flutter'), + onTap: () => launch(AppConfig.sourceCodeUrl), ), ], ), diff --git a/pubspec.lock b/pubspec.lock index df278fd..87bfa7d 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1053,5 +1053,5 @@ packages: source: hosted version: "0.1.2" sdks: - dart: ">=2.10.0-110 <=2.11.0-161.0.dev" + dart: ">=2.10.0-110 <2.11.0" flutter: ">=1.20.0 <2.0.0"