From 4f685f290d26b0e538974d6c4d9d216d4a20170b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maty=C3=A1=C5=A1=20Caras?= Date: Mon, 26 Feb 2024 23:31:56 +0100 Subject: [PATCH] chore: version 1.1.0 (#36) Reviewed-on: https://git.mnau.xyz/hernik/prasule/pulls/36 --- .flutter | 2 +- CHANGELOG.md | 4 ++ android/settings.gradle | 2 +- lib/l10n/app_cs.arb | 2 +- lib/l10n/app_en.arb | 2 +- lib/util/graphs.dart | 32 +++++++++- lib/views/home.dart | 8 ++- lib/views/recurring_view.dart | 18 +++--- lib/views/settings/edit_categories.dart | 8 +++ lib/views/setup.dart | 18 ++++-- pubspec.lock | 84 ++++++++++++------------- pubspec.yaml | 4 +- 12 files changed, 119 insertions(+), 65 deletions(-) diff --git a/.flutter b/.flutter index b7e7d46..1751123 160000 --- a/.flutter +++ b/.flutter @@ -1 +1 @@ -Subproject commit b7e7d46a046ba8a22897a514bf2311a0f81ab198 +Subproject commit 1751123cde4ffad08ae27bdee4f8ddebd033fe76 diff --git a/CHANGELOG.md b/CHANGELOG.md index 00c4570..f1f88fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# 1.1.0 +- Fix indicators for Pie Chart +- Fix entries not showing up immediately after creation +- Fix localization errors # 1.0.0 - Change icon diff --git a/android/settings.gradle b/android/settings.gradle index 1d6d19b..985a6e2 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -20,7 +20,7 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" id "com.android.application" version "7.3.0" apply false - id "org.jetbrains.kotlin.android" version "1.7.10" apply false + id "org.jetbrains.kotlin.android" version "1.9.22" apply false } include ":app" diff --git a/lib/l10n/app_cs.arb b/lib/l10n/app_cs.arb index 5b6a09c..83b55c2 100644 --- a/lib/l10n/app_cs.arb +++ b/lib/l10n/app_cs.arb @@ -7,7 +7,7 @@ "next": "Další", "back": "Zpět", "finish": "Dokončit", - "errorEmptyName": "Název peněženky nemůže být prázdný!", + "errorEmptyName": "Název nemůže být prázdný!", "welcome": "Vítejte!", "welcomeAboutPrasule": "Prašule je správce výdajů navržený pro lidi, kteří nechtějí vyplňovat každý malý detail.", "welcomeInstruction": "Na této obrazovce si nastavíte svoji 'peněženku', ve které budou zaznamenány vaše výdaje uspořádané do kategorií, které si nastavíte hned potom.", diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 4281354..9d49ef4 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -7,7 +7,7 @@ "next": "Next", "back": "Back", "finish": "Finish", - "errorEmptyName": "Wallet name cannot be empty", + "errorEmptyName": "Name cannot be empty", "welcome": "Welcome!", "welcomeAboutPrasule": "Prašule is an expense tracker tool designed for people, who don't want to spend too much time filling in all the little details.", "welcomeInstruction": "On this screen you will set up your 'wallet', in which you will track your expenses categorized under categories, which you can later set in the settings menu.", diff --git a/lib/util/graphs.dart b/lib/util/graphs.dart index 6ad292e..3abf042 100644 --- a/lib/util/graphs.dart +++ b/lib/util/graphs.dart @@ -428,11 +428,39 @@ class _CategoriesPieChartState extends State { (index) => Padding( padding: const EdgeInsets.all(8), child: Indicator( - size: touchedIndex == index ? 18 : 16, + size: (touchedIndex != -1 && + touchedIndex == + widget.categories + .where( + (element) => widget.entries + .where( + (w) => + w.category.id == + element + .id, // TODO: more elegant fix + ) + .isNotEmpty, + ) + .toList() + .indexOf(widget.categories[index])) + ? 18 + : 16, color: widget.categories[index].color, text: widget.categories[index].name, textStyle: TextStyle( - fontWeight: (touchedIndex == index) + fontWeight: (touchedIndex != -1 && + touchedIndex == + widget.categories + .where( + (element) => widget.entries + .where( + (w) => + w.category.id == element.id, + ) + .isNotEmpty, + ) + .toList() + .indexOf(widget.categories[index])) ? FontWeight.bold : FontWeight.normal, ), diff --git a/lib/views/home.dart b/lib/views/home.dart index 58c72fb..23c82e9 100644 --- a/lib/views/home.dart +++ b/lib/views/home.dart @@ -247,7 +247,9 @@ class _HomeViewState extends State { .then((value) async { wallets = await WalletManager.listWallets(); selectedWallet = await WalletManager.loadWallet( - selectedWallet!.name,); + selectedWallet!.name, + ); + setState(() {}); }); } else if (value == AppLocalizations.of(context).about) { showAbout(context); @@ -650,7 +652,7 @@ class _HomeViewState extends State { await showAdaptiveDialog( context: context, builder: (c) => StatefulBuilder( - builder: (ctx, setState) => AlertDialog.adaptive( + builder: (ctx, setDialogState) => AlertDialog.adaptive( actions: [ TextButton( onPressed: () async { @@ -764,7 +766,7 @@ class _HomeViewState extends State { 1 && !value)) return; selectedLanguages[index] = value; - setState(() {}); + setDialogState(() {}); }, ), const SizedBox( diff --git a/lib/views/recurring_view.dart b/lib/views/recurring_view.dart index cc2f4c1..faa6cde 100644 --- a/lib/views/recurring_view.dart +++ b/lib/views/recurring_view.dart @@ -125,14 +125,16 @@ class _RecurringEntriesViewState extends State { floatingActionButton: FloatingActionButton( child: const Icon(Icons.add), onPressed: () { - Navigator.of(context).push( - platformRoute( - (p0) => CreateRecurringEntryView( - w: selectedWallet!, - locale: locale, - ), - ), - ); + Navigator.of(context) + .push( + platformRoute( + (p0) => CreateRecurringEntryView( + w: selectedWallet!, + locale: locale, + ), + ), + ) + .then((value) => setState(() {})); }, ), body: Center( diff --git a/lib/views/settings/edit_categories.dart b/lib/views/settings/edit_categories.dart index 1de0cf8..d6cf5ad 100644 --- a/lib/views/settings/edit_categories.dart +++ b/lib/views/settings/edit_categories.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:dynamic_color/dynamic_color.dart'; import 'package:flex_color_picker/flex_color_picker.dart'; @@ -152,6 +153,13 @@ class _EditCategoriesViewState extends State { onTap: () async { final icon = await showIconPicker( context, + iconPackModes: [ + if (!Platform.isIOS && !Platform.isMacOS) + IconPack.material, + if (Platform.isIOS || Platform.isMacOS) + IconPack.cupertino, + ], + // adaptiveDialog: true, ); if (icon != null) { selectedWallet!.categories[i].icon = icon; diff --git a/lib/views/setup.dart b/lib/views/setup.dart index e97a659..f07a572 100644 --- a/lib/views/setup.dart +++ b/lib/views/setup.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:currency_picker/currency_picker.dart'; import 'package:dynamic_color/dynamic_color.dart'; @@ -153,10 +154,11 @@ class _SetupViewState extends State { return; } final wallet = Wallet( - name: name, - currency: _selectedCurrency, - categories: categories, - starterBalance: double.parse(_balanceController.text),); + name: name, + currency: _selectedCurrency, + categories: categories, + starterBalance: double.parse(_balanceController.text), + ); await WalletManager.saveWallet(wallet); if (widget.newWallet && context.mounted) { @@ -340,6 +342,14 @@ class _SetupViewState extends State { onTap: () async { final icon = await showIconPicker( context, + iconPackModes: [ + if (!Platform.isIOS && + !Platform.isMacOS) + IconPack.material, + if (Platform.isIOS || Platform.isMacOS) + IconPack.cupertino, + ], + // adaptiveDialog: true, ); if (icon != null) categories[i].icon = icon; final materialEnabled = diff --git a/pubspec.lock b/pubspec.lock index d5f3b26..adbb95b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -109,10 +109,10 @@ packages: dependency: transitive description: name: built_value - sha256: a3ec2e0f967bc47f69f95009bb93db936288d61d5343b9436e378b28a2f830c6 + sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e url: "https://pub.dev" source: hosted - version: "8.9.0" + version: "8.9.1" characters: dependency: transitive description: @@ -213,10 +213,10 @@ packages: dependency: "direct main" description: name: dio - sha256: "797e1e341c3dd2f69f2dad42564a6feff3bfb87187d05abb93b9609e6f1645c3" + sha256: "49af28382aefc53562459104f64d16b9dfd1e8ef68c862d5af436cc8356ce5a8" url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "5.4.1" dots_indicator: dependency: transitive description: @@ -277,10 +277,10 @@ packages: dependency: "direct main" description: name: fl_chart - sha256: b5e2b0f13d93f8c532b5a2786bfb44580de1f50b927bf95813fa1af617e9caf8 + sha256: "00b74ae680df6b1135bdbea00a7d1fc072a9180b7c3f3702e4b19a9943f5ed7d" url: "https://pub.dev" source: hosted - version: "0.66.1" + version: "0.66.2" flex_color_picker: dependency: "direct main" description: @@ -499,10 +499,10 @@ packages: dependency: transitive description: name: image - sha256: "49a0d4b0c12402853d3f227fe7c315601b238d126aa4caa5dbb2dcf99421aa4a" + sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" url: "https://pub.dev" source: hosted - version: "4.1.6" + version: "4.1.7" integration_test: dependency: "direct dev" description: flutter @@ -560,26 +560,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: cdd14e3836065a1f6302a236ec8b5f700695c803c57ae11a1c84df31e6bcf831 url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.3" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "9b2ef90589911d665277464e0482b209d39882dffaaf4ef69a3561a3354b2ebc" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.2" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: fd3cd66cb2bcd7b50dcd3b413af49d78051f809c8b3f6e047962765c15a0d23d url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.0" lints: dependency: transitive description: @@ -840,10 +840,10 @@ packages: dependency: transitive description: name: shared_preferences_web - sha256: "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21" + sha256: "9aee1089b36bd2aafe06582b7d7817fd317ef05fc30e6ba14bff247d0933042a" url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.3.0" shared_preferences_windows: dependency: transitive description: @@ -981,26 +981,26 @@ packages: dependency: "direct dev" description: name: test - sha256: a1f7595805820fcc05e5c52e3a231aedd0b72972cb333e8c738a8b1239448b6f + sha256: "7ee446762c2c50b3bd4ea96fe13ffac69919352bd3b4b17bac3f3465edc58073" url: "https://pub.dev" source: hosted - version: "1.24.9" + version: "1.25.2" test_api: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" test_core: dependency: transitive description: name: test_core - sha256: a757b14fc47507060a162cc2530d9a4a2f92f5100a952c7443b5cad5ef5b106a + sha256: "2bc4b4ecddd75309300d8096f781c0e3280ca1ef85beda558d33fcbedc2eead4" url: "https://pub.dev" source: hosted - version: "0.5.9" + version: "0.6.0" timing: dependency: transitive description: @@ -1021,26 +1021,26 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: c512655380d241a337521703af62d2c122bf7b77a46ff7dd750092aa9433499c + sha256: "0ecc004c62fd3ed36a2ffcbe0dd9700aee63bd7532d0b642a488b1ec310f492e" url: "https://pub.dev" source: hosted - version: "6.2.4" + version: "6.2.5" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "507dc655b1d9cb5ebc756032eb785f114e415f91557b73bf60b7e201dfedeb2f" + sha256: d4ed0711849dd8e33eb2dd69c25db0d0d3fdc37e0a62e629fe32f57a22db2745 url: "https://pub.dev" source: hosted - version: "6.2.2" + version: "6.3.0" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: "75bb6fe3f60070407704282a2d295630cab232991eb52542b18347a8a941df03" + sha256: "9149d493b075ed740901f3ee844a38a00b33116c7c5c10d7fb27df8987fb51d5" url: "https://pub.dev" source: hosted - version: "6.2.4" + version: "6.2.5" url_launcher_linux: dependency: transitive description: @@ -1061,18 +1061,18 @@ packages: dependency: transitive description: name: url_launcher_platform_interface - sha256: a932c3a8082e118f80a475ce692fde89dc20fddb24c57360b96bc56f7035de1f + sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" url_launcher_web: dependency: transitive description: name: url_launcher_web - sha256: fff0932192afeedf63cdd50ecbb1bc825d31aed259f02bb8dba0f3b729a5e88b + sha256: "3692a459204a33e04bc94f5fb91158faf4f2c8903281ddd82915adecdb1a901d" url: "https://pub.dev" source: hosted - version: "2.2.3" + version: "2.3.0" url_launcher_windows: dependency: transitive description: @@ -1101,10 +1101,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: a2662fb1f114f4296cf3f5a50786a2d888268d7776cf681aa17d660ffa23b246 url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.0.0" watcher: dependency: transitive description: @@ -1117,18 +1117,18 @@ packages: dependency: transitive description: name: web - sha256: "4188706108906f002b3a293509234588823c8c979dc83304e229ff400c996b05" + sha256: "1d9158c616048c38f712a6646e317a3426da10e884447626167240d45209cbad" url: "https://pub.dev" source: hosted - version: "0.4.2" + version: "0.5.0" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: "939ab60734a4f8fa95feacb55804fa278de28bdeef38e616dc08e44a84adea23" + sha256: "1d8e795e2a8b3730c41b8a98a2dff2e0fb57ae6f0764a1c46ec5915387d257b2" url: "https://pub.dev" source: hosted - version: "2.4.3" + version: "2.4.4" webdriver: dependency: transitive description: @@ -1157,10 +1157,10 @@ packages: dependency: transitive description: name: win32 - sha256: "464f5674532865248444b4c3daca12bd9bf2d7c47f759ce2617986e7229494a8" + sha256: "5a751eddf9db89b3e5f9d50c20ab8612296e4e8db69009788d6c8b060a84191c" url: "https://pub.dev" source: hosted - version: "5.2.0" + version: "4.1.4" xdg_directories: dependency: transitive description: @@ -1186,5 +1186,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.3.0-279.1.beta <4.0.0" - flutter: ">=3.16.0" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.19.0" diff --git a/pubspec.yaml b/pubspec.yaml index b4873e0..8a2a40a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: prasule description: Open-source private expense tracker -version: 1.0.0+6 +version: 1.1.0+7 environment: sdk: '>=3.1.0-262.2.beta <4.0.0' @@ -23,7 +23,7 @@ dependencies: flutter: sdk: flutter flutter_file_dialog: ^3.0.2 - flutter_iconpicker: ^3.2.4 + flutter_iconpicker: <3.4.0 flutter_localizations: sdk: flutter flutter_slidable: ^3.0.0