From 8908813d5684e4f6dc21bdc6c979f32ec3e5c549 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr> Date: Thu, 7 Dec 2023 11:20:15 +0100 Subject: [PATCH] Add username in settings page --- android/gradle.properties | 4 +- assets/translations/en.json | 1 + assets/translations/fr.json | 1 + .../metadata/android/en-US/changelogs/47.txt | 1 + .../metadata/android/fr-FR/changelogs/47.txt | 1 + lib/ui/screens/settings.dart | 22 +++++----- lib/ui/widgets/settings_form.dart | 44 +++++++++++-------- pubspec.yaml | 2 +- 8 files changed, 44 insertions(+), 32 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/47.txt create mode 100644 fastlane/metadata/android/fr-FR/changelogs/47.txt diff --git a/android/gradle.properties b/android/gradle.properties index 7d3ad5f..2c9d43c 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,5 +1,5 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true -app.versionName=0.0.46 -app.versionCode=46 +app.versionName=0.0.47 +app.versionCode=47 diff --git a/assets/translations/en.json b/assets/translations/en.json index 39f4360..4ff99c8 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -26,6 +26,7 @@ "top_artists_title": "Top artists ({daysCount} days)", "settings_title": "Settings", + "settings_title_global": "Global:", "settings_label_username": "Username: ", "settings_label_security_token": "Security token: ", "settings_title_days_count": "Days counts: ", diff --git a/assets/translations/fr.json b/assets/translations/fr.json index a6958bd..bbf6d69 100644 --- a/assets/translations/fr.json +++ b/assets/translations/fr.json @@ -26,6 +26,7 @@ "top_artists_title": "Top artistes ({daysCount} jours)", "settings_title": "Paramètres", + "settings_title_global": "Généraux :", "settings_label_username": "Utilisateur : ", "settings_label_security_token": "Jeton de sécurité : ", "settings_title_days_count": "Nombre de jours : ", diff --git a/fastlane/metadata/android/en-US/changelogs/47.txt b/fastlane/metadata/android/en-US/changelogs/47.txt new file mode 100644 index 0000000..6c2d828 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/47.txt @@ -0,0 +1 @@ +Add "username" parameter. diff --git a/fastlane/metadata/android/fr-FR/changelogs/47.txt b/fastlane/metadata/android/fr-FR/changelogs/47.txt new file mode 100644 index 0000000..8c8e28b --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/47.txt @@ -0,0 +1 @@ +Ajout du paramètre "nom d'utilisateur". diff --git a/lib/ui/screens/settings.dart b/lib/ui/screens/settings.dart index f9eb4d6..79851e7 100644 --- a/lib/ui/screens/settings.dart +++ b/lib/ui/screens/settings.dart @@ -9,17 +9,17 @@ class ScreenSettings extends StatelessWidget { @override Widget build(BuildContext context) { - return Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.max, - children: <Widget>[ - SizedBox(height: 8), - AppTitle1(text: tr('settings_title')), - SizedBox(height: 8), - AppTitle2(text: tr('settings_title_days_count')), - SettingsForm(), - ], + return Material( + color: Theme.of(context).colorScheme.background, + child: ListView( + padding: const EdgeInsets.symmetric(horizontal: 4), + physics: const BouncingScrollPhysics(), + children: <Widget>[ + SizedBox(height: 8), + AppTitle1(text: tr('settings_title')), + SettingsForm(), + ], + ), ); } } diff --git a/lib/ui/widgets/settings_form.dart b/lib/ui/widgets/settings_form.dart index 4c981f2..aad22f5 100644 --- a/lib/ui/widgets/settings_form.dart +++ b/lib/ui/widgets/settings_form.dart @@ -1,9 +1,11 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:unicons/unicons.dart'; import 'package:scrobbles/config/default_settings.dart'; import 'package:scrobbles/cubit/settings_cubit.dart'; +import 'package:scrobbles/ui/widgets/app_titles.dart'; class SettingsForm extends StatefulWidget { const SettingsForm({super.key}); @@ -81,25 +83,31 @@ class _SettingsFormState extends State<SettingsForm> { crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.max, children: <Widget>[ + SizedBox(height: 8), + AppTitle2(text: tr('settings_title_global')), + // Username - // Text('settings_label_username').tr(), - // TextFormField( - // controller: usernameController, - // decoration: InputDecoration( - // border: UnderlineInputBorder(), - // ), - // ), - // SizedBox(height: 16), - - // Security token - // Text('settings_label_security_token').tr(), - // TextFormField( - // controller: securityTokenController, - // decoration: InputDecoration( - // border: UnderlineInputBorder(), - // ), - // ), - // SizedBox(height: 20), + Text('settings_label_username').tr(), + TextFormField( + controller: usernameController, + decoration: InputDecoration( + border: UnderlineInputBorder(), + suffixIcon: ElevatedButton( + style: ElevatedButton.styleFrom( + shape: new RoundedRectangleBorder( + borderRadius: new BorderRadius.circular(6.0), + ), + ), + child: Icon(UniconsLine.save), + onPressed: () { + saveSettings(); + }, + ), + ), + ), + + SizedBox(height: 8), + AppTitle2(text: tr('settings_title_days_count')), // Statistics (recent) Row( diff --git a/pubspec.yaml b/pubspec.yaml index 52dd805..6235665 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: Display scrobbles data and charts publish_to: 'none' -version: 0.0.46+46 +version: 0.0.47+47 environment: sdk: '^3.0.0' -- GitLab