From d59971cb86fce8419e73c58a27e6cf53d9e97dee Mon Sep 17 00:00:00 2001 From: HuyNguyen Date: Mon, 9 Oct 2023 15:08:08 +0700 Subject: [PATCH] TW-783: Support show version app in settings --- .../settings_dashboard/settings/settings.dart | 4 ++++ .../enum/settings/settings_enum.dart | 5 +++++ lib/utils/platform_infos.dart | 21 ++++++++++--------- lib/widgets/log_view.dart | 5 ++++- 4 files changed, 24 insertions(+), 11 deletions(-) diff --git a/lib/pages/settings_dashboard/settings/settings.dart b/lib/pages/settings_dashboard/settings/settings.dart index 9fd0bd1c42..14e1677ee1 100644 --- a/lib/pages/settings_dashboard/settings/settings.dart +++ b/lib/pages/settings_dashboard/settings/settings.dart @@ -8,6 +8,7 @@ import 'package:fluffychat/pages/bootstrap/bootstrap_dialog.dart'; import 'package:fluffychat/pages/connect/connect_page_mixin.dart'; import 'package:fluffychat/presentation/enum/settings/settings_enum.dart'; import 'package:fluffychat/presentation/extensions/client_extension.dart'; +import 'package:fluffychat/utils/platform_infos.dart'; import 'package:fluffychat/utils/url_launcher.dart'; import 'package:fluffychat/widgets/matrix.dart'; import 'package:flutter/material.dart'; @@ -46,6 +47,7 @@ class SettingsController extends State with ConnectPageMixin { SettingEnum.appLanguage, SettingEnum.devices, SettingEnum.help, + SettingEnum.about, SettingEnum.logout, ]; @@ -184,6 +186,8 @@ class SettingsController extends State with ConnectPageMixin { AppConfig.supportUrl, ).openUrlInAppBrowser(); break; + case SettingEnum.about: + PlatformInfos.showDialog(context); case SettingEnum.logout: logoutAction(); break; diff --git a/lib/presentation/enum/settings/settings_enum.dart b/lib/presentation/enum/settings/settings_enum.dart index 889993dc4e..59faf9f487 100644 --- a/lib/presentation/enum/settings/settings_enum.dart +++ b/lib/presentation/enum/settings/settings_enum.dart @@ -10,6 +10,7 @@ enum SettingEnum { appLanguage, devices, help, + about, logout; String titleSettings(BuildContext context) { @@ -28,6 +29,8 @@ enum SettingEnum { return L10n.of(context)!.devices; case SettingEnum.help: return L10n.of(context)!.help; + case SettingEnum.about: + return L10n.of(context)!.about; case SettingEnum.logout: return L10n.of(context)!.logout; default: @@ -72,6 +75,8 @@ enum SettingEnum { return Icons.devices; case SettingEnum.help: return Icons.question_mark; + case SettingEnum.about: + return Icons.privacy_tip_outlined; case SettingEnum.logout: return Icons.logout_outlined; default: diff --git a/lib/utils/platform_infos.dart b/lib/utils/platform_infos.dart index 493ed4da71..0ec701355e 100644 --- a/lib/utils/platform_infos.dart +++ b/lib/utils/platform_infos.dart @@ -46,18 +46,19 @@ abstract class PlatformInfos { useRootNavigator: false, children: [ Text('Version: $version'), - OutlinedButton( - onPressed: () => UrlLauncher(context, AppConfig.sourceCodeUrl) - .openUrlInAppBrowser(), - child: Text(L10n.of(context)!.sourceCode), - ), - OutlinedButton( - onPressed: () => UrlLauncher(context, AppConfig.emojiFontUrl) - .openUrlInAppBrowser(), - child: const Text(AppConfig.emojiFontName), + Padding( + padding: const EdgeInsets.only(bottom: 8), + child: OutlinedButton( + onPressed: () => UrlLauncher(context, AppConfig.sourceCodeUrl) + .openUrlInAppBrowser(), + child: Text(L10n.of(context)!.sourceCode), + ), ), OutlinedButton( - onPressed: () => context.go('logs'), + onPressed: () { + context.go('/logs'); + Navigator.of(context).pop(); + }, child: const Text('Logs'), ), ], diff --git a/lib/widgets/log_view.dart b/lib/widgets/log_view.dart index 8e62f7b86c..94d9b72d03 100644 --- a/lib/widgets/log_view.dart +++ b/lib/widgets/log_view.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; import 'package:matrix/matrix.dart'; @@ -22,7 +23,9 @@ class LogViewerState extends State { backgroundColor: Colors.black, appBar: AppBar( title: Text(logLevel.toString()), - leading: const BackButton(), + leading: BackButton( + onPressed: () => context.go('/'), + ), actions: [ IconButton( icon: const Icon(Icons.zoom_in_outlined),