diff --git a/lib/global.dart b/lib/global.dart index 2371ca3..fb7da16 100644 --- a/lib/global.dart +++ b/lib/global.dart @@ -4,10 +4,13 @@ const String name = "loris"; const String version = "v0.1 'is this thing on'"; const String useragent = "$name/$version"; const String website = "https://git.kittycat.homes/zoe/slothmu"; +const String legalese = "todo"; + const Map defaultHeaders = { "User-Agent": useragent, "accept": "application/json", "Content-Type": "application/json" }; + const List bad = ["gab.com", "spinster.xyz", "truthsocial.com"]; const List availableLocales = [Locale("en"), Locale("de")]; diff --git a/lib/i18n/en_US.json b/lib/i18n/en_US.json new file mode 100644 index 0000000..146fbcd --- /dev/null +++ b/lib/i18n/en_US.json @@ -0,0 +1,3 @@ +{ +} + \ No newline at end of file diff --git a/lib/pages/settings/about.dart b/lib/pages/settings/about.dart new file mode 100644 index 0000000..adc79b9 --- /dev/null +++ b/lib/pages/settings/about.dart @@ -0,0 +1,25 @@ +import 'package:flutter/material.dart'; +import 'package:localization/localization.dart'; +import '../../global.dart' as global; + +class AboutSettings extends StatelessWidget { + const AboutSettings({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return Row(mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ + Text("about".i18n()), + TextButton.icon( + onPressed: () { + showAboutDialog( + context: context, + applicationName: global.name, + applicationVersion: global.version, + applicationLegalese: global.legalese, + ); + }, + icon: const Icon(Icons.question_mark), + label: Text("show-about-page".i18n())) + ]); + } +} diff --git a/lib/pages/settings/account.dart b/lib/pages/settings/account.dart index 9e6c00f..65e2256 100644 --- a/lib/pages/settings/account.dart +++ b/lib/pages/settings/account.dart @@ -21,6 +21,7 @@ class LogoutButton extends StatelessWidget { @override Widget build(BuildContext context) { return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ FutureBuilder( future: settings.loadInstanceUrl(), diff --git a/lib/pages/settings/settings.dart b/lib/pages/settings/settings.dart index ca73fb4..11a503d 100644 --- a/lib/pages/settings/settings.dart +++ b/lib/pages/settings/settings.dart @@ -1,12 +1,17 @@ import 'package:flutter/material.dart'; import 'package:localization/localization.dart'; import './account.dart' as account; +import './about.dart' as about; Widget settings(context) { final List categories = [ SettingsPanel( title: "account-settings".i18n(), content: const account.AccountSettings()), + SettingsPanel( + title: "about".i18n(), + content: const about.AboutSettings(), + ) ]; return Padding( padding: const EdgeInsets.all(24), diff --git a/pubspec.lock b/pubspec.lock index a043b12..2c9ba5b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -104,7 +104,7 @@ packages: name: http url: "https://pub.dartlang.org" source: hosted - version: "0.13.4" + version: "0.13.5" http_parser: dependency: transitive description: @@ -188,7 +188,7 @@ packages: name: path_provider_windows url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.1.1" platform: dependency: transitive description: @@ -272,7 +272,7 @@ packages: name: shelf url: "https://pub.dartlang.org" source: hosted - version: "1.3.1" + version: "1.3.2" sky_engine: dependency: transitive description: flutter @@ -333,7 +333,7 @@ packages: name: url_launcher url: "https://pub.dartlang.org" source: hosted - version: "6.1.4" + version: "6.1.5" url_launcher_android: dependency: transitive description: @@ -375,7 +375,7 @@ packages: name: url_launcher_web url: "https://pub.dartlang.org" source: hosted - version: "2.0.12" + version: "2.0.13" url_launcher_windows: dependency: transitive description: