mirror of
https://gitlab.com/comunic/comunicmobile
synced 2024-12-26 12:58:51 +00:00
Create new settings section
This commit is contained in:
parent
3c8bdd380f
commit
90aca5132a
45
lib/ui/routes/settings/about_settings.dart
Normal file
45
lib/ui/routes/settings/about_settings.dart
Normal file
@ -0,0 +1,45 @@
|
||||
import 'package:comunic/helpers/server_config_helper.dart';
|
||||
import 'package:comunic/ui/widgets/copy_icon.dart';
|
||||
import 'package:comunic/utils/flutter_utils.dart';
|
||||
import 'package:comunic/utils/intl_utils.dart';
|
||||
import 'package:comunic/utils/ui_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:settings_ui/settings_ui.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
/// About application settings
|
||||
///
|
||||
/// @author Pierre Hubert
|
||||
|
||||
class AboutApplicationSettings extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) => SettingsList(
|
||||
sections: [
|
||||
_buildGeneralSection(context),
|
||||
],
|
||||
);
|
||||
|
||||
/// General section
|
||||
SettingsSection _buildGeneralSection(BuildContext context) => SettingsSection(
|
||||
tiles: [
|
||||
SettingsTile(
|
||||
title: tr("Privacy policy"),
|
||||
onPressed: (c) => launch(srvConfig.privacyPolicyURL),
|
||||
),
|
||||
SettingsTile(
|
||||
title: tr("Terms of Use"),
|
||||
onPressed: (c) => launch(srvConfig.termsURL),
|
||||
),
|
||||
SettingsTile(
|
||||
title: tr("Contact us"),
|
||||
subtitle: srvConfig.contactEmail,
|
||||
trailing: CopyIcon(srvConfig.contactEmail),
|
||||
),
|
||||
SettingsTile(
|
||||
title: tr("About this application"),
|
||||
subtitle: isIOS ? null : tr("Learn more about us"),
|
||||
onPressed: (_) => showAboutAppDialog(context),
|
||||
)
|
||||
],
|
||||
);
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
import 'package:comunic/ui/routes/settings/about_settings.dart';
|
||||
import 'package:comunic/ui/routes/settings/account_image_settings.dart';
|
||||
import 'package:comunic/ui/routes/settings/account_privacy_settings.dart';
|
||||
import 'package:comunic/ui/routes/settings/account_security_settings.dart';
|
||||
@ -132,13 +133,21 @@ class __AccountSettingsBodyState extends State<_AccountSettingsBody> {
|
||||
onBuild: () => AccountPrivacySettings(),
|
||||
),
|
||||
|
||||
// Privacy settings
|
||||
// Application settings
|
||||
_SettingsSection(
|
||||
title: tr("Application settings"),
|
||||
subtitle: tr("Manage local application settings"),
|
||||
icon: Icons.smartphone,
|
||||
onBuild: () => ApplicationSettings(),
|
||||
),
|
||||
|
||||
// About settings
|
||||
_SettingsSection(
|
||||
title: tr("About this application"),
|
||||
subtitle: tr("Learn more about us"),
|
||||
icon: Icons.info,
|
||||
onBuild: () => AboutApplicationSettings(),
|
||||
),
|
||||
];
|
||||
|
||||
@override
|
||||
|
@ -1,14 +1,11 @@
|
||||
import 'package:comunic/helpers/preferences_helper.dart';
|
||||
import 'package:comunic/helpers/server_config_helper.dart';
|
||||
import 'package:comunic/ui/widgets/async_screen_widget.dart';
|
||||
import 'package:comunic/ui/widgets/copy_icon.dart';
|
||||
import 'package:comunic/ui/widgets/settings/header_spacer_section.dart';
|
||||
import 'package:comunic/utils/flutter_utils.dart';
|
||||
import 'package:comunic/utils/intl_utils.dart';
|
||||
import 'package:comunic/utils/ui_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:settings_ui/settings_ui.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
/// Application settings
|
||||
///
|
||||
@ -37,7 +34,6 @@ class _ApplicationSettingsState extends State<ApplicationSettings> {
|
||||
sections: [
|
||||
HeadSpacerSection(),
|
||||
_buildAppearanceSection(),
|
||||
_buildGeneralSection(),
|
||||
_buildDebugSection()
|
||||
],
|
||||
);
|
||||
@ -57,31 +53,6 @@ class _ApplicationSettingsState extends State<ApplicationSettings> {
|
||||
],
|
||||
);
|
||||
|
||||
/// General section
|
||||
SettingsSection _buildGeneralSection() => SettingsSection(
|
||||
title: tr("General"),
|
||||
tiles: [
|
||||
SettingsTile(
|
||||
title: tr("Privacy policy"),
|
||||
onPressed: (c) => launch(srvConfig.privacyPolicyURL),
|
||||
),
|
||||
SettingsTile(
|
||||
title: tr("Terms of Use"),
|
||||
onPressed: (c) => launch(srvConfig.termsURL),
|
||||
),
|
||||
SettingsTile(
|
||||
title: tr("Contact us"),
|
||||
subtitle: srvConfig.contactEmail,
|
||||
trailing: CopyIcon(srvConfig.contactEmail),
|
||||
),
|
||||
SettingsTile(
|
||||
title: tr("About this application"),
|
||||
subtitle: isIOS ? null : tr("Learn more about us"),
|
||||
onPressed: (_) => showAboutAppDialog(context),
|
||||
)
|
||||
],
|
||||
);
|
||||
|
||||
/// Debug section
|
||||
SettingsSection _buildDebugSection() => SettingsSection(
|
||||
title: tr("Debug features"),
|
||||
|
Loading…
Reference in New Issue
Block a user