From 63b780d976b5427751776c5c6f00a913b85febd5 Mon Sep 17 00:00:00 2001 From: emavgl Date: Sun, 5 Nov 2023 16:50:11 +0100 Subject: [PATCH] Add the possibility to specify the number of decimal digits --- .flutter-plugins-dependencies | 2 +- lib/helpers/records-utility-functions.dart | 4 +- lib/main.dart | 2 + lib/records/edit-record-page.dart | 2 +- lib/services/service-config.dart | 3 + lib/settings/customization-page.dart | 32 +++++++- lib/settings/i18n/settings-page.i18n.dart | 20 ++++- pubspec.lock | 90 ++++++++++------------ 8 files changed, 97 insertions(+), 58 deletions(-) diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index 486f524a..46ec95c0 100644 --- a/.flutter-plugins-dependencies +++ b/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"file_picker","path":"/home/emavgl/.pub-cache/hosted/pub.dev/file_picker-6.0.0/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/home/emavgl/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"share_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/share_plus-7.2.1/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/home/emavgl/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.3.4/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"/home/emavgl/.pub-cache/hosted/pub.dev/sqflite-2.3.0/","native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"/home/emavgl/.pub-cache/hosted/pub.dev/url_launcher_ios-6.1.5/","native_build":true,"dependencies":[]}],"android":[{"name":"file_picker","path":"/home/emavgl/.pub-cache/hosted/pub.dev/file_picker-6.0.0/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"flutter_plugin_android_lifecycle","path":"/home/emavgl/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.16/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"/home/emavgl/.pub-cache/hosted/pub.dev/path_provider_android-2.2.0/","native_build":true,"dependencies":[]},{"name":"share_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/share_plus-7.2.1/","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"/home/emavgl/.pub-cache/hosted/pub.dev/shared_preferences_android-2.2.1/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/home/emavgl/.pub-cache/hosted/pub.dev/sqflite-2.3.0/","native_build":true,"dependencies":[]},{"name":"system_theme","path":"/home/emavgl/.pub-cache/hosted/pub.dev/system_theme-2.3.1/","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"/home/emavgl/.pub-cache/hosted/pub.dev/url_launcher_android-6.1.0/","native_build":true,"dependencies":[]}],"macos":[{"name":"package_info_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/home/emavgl/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"share_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/share_plus-7.2.1/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/home/emavgl/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.3.4/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"/home/emavgl/.pub-cache/hosted/pub.dev/sqflite-2.3.0/","native_build":true,"dependencies":[]},{"name":"system_theme","path":"/home/emavgl/.pub-cache/hosted/pub.dev/system_theme-2.3.1/","native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"/home/emavgl/.pub-cache/hosted/pub.dev/url_launcher_macos-3.0.7/","native_build":true,"dependencies":[]}],"linux":[{"name":"package_info_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":false,"dependencies":[]},{"name":"path_provider_linux","path":"/home/emavgl/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[]},{"name":"share_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/share_plus-7.2.1/","native_build":false,"dependencies":["url_launcher_linux"]},{"name":"shared_preferences_linux","path":"/home/emavgl/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.3.2/","native_build":false,"dependencies":["path_provider_linux"]},{"name":"system_theme","path":"/home/emavgl/.pub-cache/hosted/pub.dev/system_theme-2.3.1/","native_build":true,"dependencies":[]},{"name":"url_launcher_linux","path":"/home/emavgl/.pub-cache/hosted/pub.dev/url_launcher_linux-3.0.6/","native_build":true,"dependencies":[]}],"windows":[{"name":"package_info_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":false,"dependencies":[]},{"name":"path_provider_windows","path":"/home/emavgl/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/","native_build":false,"dependencies":[]},{"name":"share_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/share_plus-7.2.1/","native_build":true,"dependencies":["url_launcher_windows"]},{"name":"shared_preferences_windows","path":"/home/emavgl/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.3.2/","native_build":false,"dependencies":["path_provider_windows"]},{"name":"system_theme","path":"/home/emavgl/.pub-cache/hosted/pub.dev/system_theme-2.3.1/","native_build":true,"dependencies":[]},{"name":"url_launcher_windows","path":"/home/emavgl/.pub-cache/hosted/pub.dev/url_launcher_windows-3.0.8/","native_build":true,"dependencies":[]}],"web":[{"name":"file_picker","path":"/home/emavgl/.pub-cache/hosted/pub.dev/file_picker-6.0.0/","dependencies":[]},{"name":"package_info_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","dependencies":[]},{"name":"share_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/share_plus-7.2.1/","dependencies":["url_launcher_web"]},{"name":"shared_preferences_web","path":"/home/emavgl/.pub-cache/hosted/pub.dev/shared_preferences_web-2.2.1/","dependencies":[]},{"name":"system_theme_web","path":"/home/emavgl/.pub-cache/hosted/pub.dev/system_theme_web-0.0.2/","dependencies":[]},{"name":"url_launcher_web","path":"/home/emavgl/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.19/","dependencies":[]}]},"dependencyGraph":[{"name":"file_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"package_info_plus","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"share_plus","dependencies":["url_launcher_web","url_launcher_windows","url_launcher_linux"]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]},{"name":"system_theme","dependencies":["system_theme_web"]},{"name":"system_theme_web","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2023-10-29 11:55:10.461625","version":"3.10.6"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"file_picker","path":"/home/emavgl/.pub-cache/hosted/pub.dev/file_picker-6.1.1/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/home/emavgl/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"share_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/share_plus-7.2.1/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/home/emavgl/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.3.4/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"/home/emavgl/.pub-cache/hosted/pub.dev/sqflite-2.3.0/","native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"/home/emavgl/.pub-cache/hosted/pub.dev/url_launcher_ios-6.2.0/","native_build":true,"dependencies":[]}],"android":[{"name":"file_picker","path":"/home/emavgl/.pub-cache/hosted/pub.dev/file_picker-6.1.1/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"flutter_plugin_android_lifecycle","path":"/home/emavgl/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.17/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"/home/emavgl/.pub-cache/hosted/pub.dev/path_provider_android-2.2.1/","native_build":true,"dependencies":[]},{"name":"share_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/share_plus-7.2.1/","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"/home/emavgl/.pub-cache/hosted/pub.dev/shared_preferences_android-2.2.1/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/home/emavgl/.pub-cache/hosted/pub.dev/sqflite-2.3.0/","native_build":true,"dependencies":[]},{"name":"system_theme","path":"/home/emavgl/.pub-cache/hosted/pub.dev/system_theme-2.3.1/","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"/home/emavgl/.pub-cache/hosted/pub.dev/url_launcher_android-6.2.0/","native_build":true,"dependencies":[]}],"macos":[{"name":"package_info_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/home/emavgl/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"share_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/share_plus-7.2.1/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/home/emavgl/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.3.4/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"/home/emavgl/.pub-cache/hosted/pub.dev/sqflite-2.3.0/","native_build":true,"dependencies":[]},{"name":"system_theme","path":"/home/emavgl/.pub-cache/hosted/pub.dev/system_theme-2.3.1/","native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"/home/emavgl/.pub-cache/hosted/pub.dev/url_launcher_macos-3.1.0/","native_build":true,"dependencies":[]}],"linux":[{"name":"package_info_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":false,"dependencies":[]},{"name":"path_provider_linux","path":"/home/emavgl/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[]},{"name":"share_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/share_plus-7.2.1/","native_build":false,"dependencies":["url_launcher_linux"]},{"name":"shared_preferences_linux","path":"/home/emavgl/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.3.2/","native_build":false,"dependencies":["path_provider_linux"]},{"name":"system_theme","path":"/home/emavgl/.pub-cache/hosted/pub.dev/system_theme-2.3.1/","native_build":true,"dependencies":[]},{"name":"url_launcher_linux","path":"/home/emavgl/.pub-cache/hosted/pub.dev/url_launcher_linux-3.1.0/","native_build":true,"dependencies":[]}],"windows":[{"name":"package_info_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":false,"dependencies":[]},{"name":"path_provider_windows","path":"/home/emavgl/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/","native_build":false,"dependencies":[]},{"name":"share_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/share_plus-7.2.1/","native_build":true,"dependencies":["url_launcher_windows"]},{"name":"shared_preferences_windows","path":"/home/emavgl/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.3.2/","native_build":false,"dependencies":["path_provider_windows"]},{"name":"system_theme","path":"/home/emavgl/.pub-cache/hosted/pub.dev/system_theme-2.3.1/","native_build":true,"dependencies":[]},{"name":"url_launcher_windows","path":"/home/emavgl/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.0/","native_build":true,"dependencies":[]}],"web":[{"name":"file_picker","path":"/home/emavgl/.pub-cache/hosted/pub.dev/file_picker-6.1.1/","dependencies":[]},{"name":"package_info_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","dependencies":[]},{"name":"share_plus","path":"/home/emavgl/.pub-cache/hosted/pub.dev/share_plus-7.2.1/","dependencies":["url_launcher_web"]},{"name":"shared_preferences_web","path":"/home/emavgl/.pub-cache/hosted/pub.dev/shared_preferences_web-2.2.1/","dependencies":[]},{"name":"system_theme_web","path":"/home/emavgl/.pub-cache/hosted/pub.dev/system_theme_web-0.0.2/","dependencies":[]},{"name":"url_launcher_web","path":"/home/emavgl/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.19/","dependencies":[]}]},"dependencyGraph":[{"name":"file_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"package_info_plus","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"share_plus","dependencies":["url_launcher_web","url_launcher_windows","url_launcher_linux"]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]},{"name":"system_theme","dependencies":["system_theme_web"]},{"name":"system_theme_web","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2023-11-05 16:49:06.029763","version":"3.10.6"} \ No newline at end of file diff --git a/lib/helpers/records-utility-functions.dart b/lib/helpers/records-utility-functions.dart index 4717fcc4..83960ff4 100644 --- a/lib/helpers/records-utility-functions.dart +++ b/lib/helpers/records-utility-functions.dart @@ -1,4 +1,5 @@ import 'dart:collection'; +import 'dart:developer'; import "package:collection/collection.dart"; import 'package:flutter/cupertino.dart'; import 'package:i18n_extension/i18n_widget.dart'; @@ -27,9 +28,10 @@ List groupRecordsByDay(List records) { final defaultNumberFormat = new NumberFormat("#######.0#", "en_US"); -String getCurrencyValueString(double? value, {bool useLocale = true, decimalDigits = 2}) { +String getCurrencyValueString(double? value, {bool useLocale = true}) { if (value == null) return ""; NumberFormat numberFormat; + int decimalDigits = ServiceConfig.sharedPreferences?.getInt("numDecimalDigits") ?? 2; if (useLocale) { try { Locale myLocale = I18n.locale; diff --git a/lib/main.dart b/lib/main.dart index 81d46df5..06fa1fc2 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -6,11 +6,13 @@ import 'package:piggybank/services/service-config.dart'; import 'package:piggybank/shell.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:piggybank/style.dart'; +import 'package:shared_preferences/shared_preferences.dart'; main() async { WidgetsFlutterBinding.ensureInitialized(); PackageInfo packageInfo = await PackageInfo.fromPlatform(); ServiceConfig.isPremium = packageInfo.packageName.endsWith("pro"); + ServiceConfig.sharedPreferences = await SharedPreferences.getInstance(); runApp( App( lightTheme: await MaterialThemeInstance.getLightTheme(), diff --git a/lib/records/edit-record-page.dart b/lib/records/edit-record-page.dart index 3d3499f0..191849ba 100644 --- a/lib/records/edit-record-page.dart +++ b/lib/records/edit-record-page.dart @@ -103,7 +103,7 @@ class EditRecordPageState extends State { super.initState(); if (passedRecord != null) { record = passedRecord; - _textEditingController.text = getCurrencyValueString(record!.value!.abs(), useLocale: false); + _textEditingController.text = getCurrencyValueString(record!.value!.abs()); if (record!.recurrencePatternId != null) { database.getRecurrentRecordPattern(record!.recurrencePatternId).then((value) { if (value != null) { diff --git a/lib/services/service-config.dart b/lib/services/service-config.dart index bb689607..9e41484b 100644 --- a/lib/services/service-config.dart +++ b/lib/services/service-config.dart @@ -1,3 +1,5 @@ +import 'package:shared_preferences/shared_preferences.dart'; + import 'database/database-interface.dart'; import 'database/sqlite-database.dart'; @@ -8,4 +10,5 @@ class ServiceConfig { static final DatabaseInterface database = SqliteDatabase.instance; static bool isPremium = false; // set in main.dart + static SharedPreferences? sharedPreferences; // set in main.dart } diff --git a/lib/settings/customization-page.dart b/lib/settings/customization-page.dart index 08626398..ce7afbfa 100644 --- a/lib/settings/customization-page.dart +++ b/lib/settings/customization-page.dart @@ -21,6 +21,7 @@ class CustomizationPageState extends State { setState(() { themeColorDropdownValue = themeColorDropDownValues[themeColorDropdownValueIndex]; themeStyleDropdownValue = themeStyleDropDownValues[themeStyleDropdownValueIndex]; + decimalDigitsValue = prefs.getInt('numDecimalDigits') ?? 2; }); }); } @@ -32,6 +33,9 @@ class CustomizationPageState extends State { List themeColorDropDownValues = ["Default".i18n, "System".i18n, "Monthly Image".i18n]; String themeColorDropdownValue = "Default".i18n; + List decimalDigitsValues = [0, 1, 2]; + int decimalDigitsValue = 2; + Widget buildThemeStyleDropdownButton() { return DropdownButton( padding: EdgeInsets.all(15), @@ -72,6 +76,25 @@ class CustomizationPageState extends State { ); } + Widget buildDecimalDigitsDropdownButton() { + return DropdownButton( + padding: EdgeInsets.all(15), + underline: SizedBox(), + value: decimalDigitsValue, + onChanged: (int? value) { + setState(() { + decimalDigitsValue = value!; + prefs.setInt("numDecimalDigits", value); + }); + }, + items: decimalDigitsValues.map>((int value) { + return DropdownMenuItem( + value: value, + child: Text(value.toString()), + ); + }).toList(), + ); + } @override Widget build(BuildContext context) { @@ -84,12 +107,17 @@ class CustomizationPageState extends State { ListTile( trailing: buildThemeColorDropdownButton(), title: Text("Colors".i18n), - subtitle: Text("Select the app theme color - Require App restart".i18n), + subtitle: Text("Select the app theme color".i18n + " - " + "Require App restart".i18n), ), ListTile( trailing: buildThemeStyleDropdownButton(), title: Text("Theme style".i18n), - subtitle: Text("Select the app theme style - Require App restart".i18n), + subtitle: Text("Select the app theme style".i18n + " - " + "Require App restart".i18n), + ), + ListTile( + trailing: buildDecimalDigitsDropdownButton(), + title: Text("Decimal digits".i18n), + subtitle: Text("Select the number of decimal digits".i18n), ), ], ), diff --git a/lib/settings/i18n/settings-page.i18n.dart b/lib/settings/i18n/settings-page.i18n.dart index 86b1221c..10938e50 100644 --- a/lib/settings/i18n/settings-page.i18n.dart +++ b/lib/settings/i18n/settings-page.i18n.dart @@ -170,12 +170,24 @@ extension Localization on String { "it_it": "Stile del tema", } + { - "en_us": "Select the app theme style - Require App restart", - "it_it": "Seleziona il tema dell'app - Richiede riavvio dell'app", + "en_us": "Decimal digits", + "it_it": "Cifre decimali", } + { - "en_us": "Select the app theme color - Require App restart", - "it_it": "Seleziona il colore dell'app - Richiede riavvio dell'app", + "en_us": "Require App restart", + "it_it": "Richiede riavvio dell'app", + } + + { + "en_us": "Select the app theme style", + "it_it": "Seleziona il tema dell'app", + } + + { + "en_us": "Select the app theme color", + "it_it": "Seleziona il colore dell'app", + } + + { + "en_us": "Select the number of decimal digits", + "it_it": "Seleziona il numero di cifre decimali", } + { "en_us": "Colors", diff --git a/pubspec.lock b/pubspec.lock index e92efe29..532a4284 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -109,10 +109,10 @@ packages: dependency: transitive description: name: built_value - sha256: a8de5955205b4d1dbbbc267daddf2178bd737e4bab8987c04a500478c9651e74 + sha256: "723b4021e903217dfc445ec4cf5b42e27975aece1fc4ebbc1ca6329c2d9fb54e" url: "https://pub.dev" source: hosted - version: "8.6.3" + version: "8.7.0" characters: dependency: transitive description: @@ -149,10 +149,10 @@ packages: dependency: transitive description: name: collection - sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 + sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" url: "https://pub.dev" source: hosted - version: "1.17.2" + version: "1.17.1" community_charts_common: dependency: "direct main" description: @@ -253,10 +253,10 @@ packages: dependency: "direct main" description: name: file_picker - sha256: "903dd4ba13eae7cef64acc480e91bf54c3ddd23b5b90b639c170f3911e489620" + sha256: "4e42aacde3b993c5947467ab640882c56947d9d27342a5b6f2895b23956954a6" url: "https://pub.dev" source: hosted - version: "6.0.0" + version: "6.1.1" fixnum: dependency: transitive description: @@ -287,10 +287,10 @@ packages: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: f185ac890306b5779ecbd611f52502d8d4d63d27703ef73161ca0407e815f02c + sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da url: "https://pub.dev" source: hosted - version: "2.0.16" + version: "2.0.17" flutter_speed_dial: dependency: "direct main" description: @@ -385,10 +385,10 @@ packages: dependency: "direct main" description: name: intl - sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" + sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6 url: "https://pub.dev" source: hosted - version: "0.18.1" + version: "0.18.0" io: dependency: transitive description: @@ -425,18 +425,18 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.15" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.2.0" meta: dependency: transitive description: @@ -457,10 +457,10 @@ packages: dependency: "direct main" description: name: month_picker_dialog - sha256: da384937255c898ddbd60416bc27d85bfb7940992c0579bb12e5ed16aba9239c + sha256: a00373068fb81a63c6665cb33ea0850822598357ddd3bd702c57c09c72da7c9f url: "https://pub.dev" source: hosted - version: "2.0.2" + version: "2.2.1" nested: dependency: transitive description: @@ -521,10 +521,10 @@ packages: dependency: transitive description: name: path_provider_android - sha256: "6b8b19bd80da4f11ce91b2d1fb931f3006911477cec227cce23d3253d80df3f1" + sha256: e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72 url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.2.1" path_provider_foundation: dependency: transitive description: @@ -734,10 +734,10 @@ packages: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.9.1" sprintf: dependency: transitive description: @@ -758,10 +758,10 @@ packages: dependency: transitive description: name: sqflite_common - sha256: "1b92f368f44b0dee2425bb861cfa17b6f6cf3961f762ff6f941d20b33355660a" + sha256: "8ed044102f3135add97be8653662052838859f5400075ef227f8ad72ae320803" url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.5.0+1" stack_trace: dependency: transitive description: @@ -830,26 +830,26 @@ packages: dependency: "direct dev" description: name: test - sha256: "13b41f318e2a5751c3169137103b60c584297353d4b1761b66029bae6411fe46" + sha256: "3dac9aecf2c3991d09b9cdde4f98ded7b30804a88a0d7e4e7e1678e78d6b97f4" url: "https://pub.dev" source: hosted - version: "1.24.3" + version: "1.24.1" test_api: dependency: transitive description: name: test_api - sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" + sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb url: "https://pub.dev" source: hosted - version: "0.6.0" + version: "0.5.1" test_core: dependency: transitive description: name: test_core - sha256: "99806e9e6d95c7b059b7a0fc08f07fc53fabe54a829497f0d9676299f1e8637e" + sha256: "5138dbffb77b2289ecb12b81c11ba46036590b72a64a7a90d6ffb880f1a29e93" url: "https://pub.dev" source: hosted - version: "0.5.3" + version: "0.5.1" timing: dependency: transitive description: @@ -878,42 +878,42 @@ packages: dependency: transitive description: name: url_launcher_android - sha256: b04af59516ab45762b2ca6da40fa830d72d0f6045cd97744450b73493fa76330 + sha256: "31222ffb0063171b526d3e569079cf1f8b294075ba323443fdc690842bfd4def" url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "6.2.0" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: "7c65021d5dee51813d652357bc65b8dd4a6177082a9966bc8ba6ee477baa795f" + sha256: "4ac97281cf60e2e8c5cc703b2b28528f9b50c8f7cebc71df6bdf0845f647268a" url: "https://pub.dev" source: hosted - version: "6.1.5" + version: "6.2.0" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - sha256: b651aad005e0cb06a01dbd84b428a301916dc75f0e7ea6165f80057fee2d8e8e + sha256: "9f2d390e096fdbe1e6e6256f97851e51afc2d9c423d3432f1d6a02a8a9a8b9fd" url: "https://pub.dev" source: hosted - version: "3.0.6" + version: "3.1.0" url_launcher_macos: dependency: transitive description: name: url_launcher_macos - sha256: b55486791f666e62e0e8ff825e58a023fd6b1f71c49926483f1128d3bbd8fe88 + sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234 url: "https://pub.dev" source: hosted - version: "3.0.7" + version: "3.1.0" url_launcher_platform_interface: dependency: transitive description: name: url_launcher_platform_interface - sha256: "95465b39f83bfe95fcb9d174829d6476216f2d548b79c38ab2506e0458787618" + sha256: "980e8d9af422f477be6948bdfb68df8433be71f5743a188968b0c1b887807e50" url: "https://pub.dev" source: hosted - version: "2.1.5" + version: "2.2.0" url_launcher_web: dependency: transitive description: @@ -926,10 +926,10 @@ packages: dependency: transitive description: name: url_launcher_windows - sha256: "95fef3129dc7cfaba2bc3d5ba2e16063bb561fc6d78e63eee16162bc70029069" + sha256: "7754a1ad30ee896b265f8d14078b0513a4dba28d358eabb9d5f339886f4a1adc" url: "https://pub.dev" source: hosted - version: "3.0.8" + version: "3.1.0" uuid: dependency: "direct main" description: @@ -962,14 +962,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.0" - web: - dependency: transitive - description: - name: web - sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 - url: "https://pub.dev" - source: hosted - version: "0.1.4-beta" web_socket_channel: dependency: transitive description: @@ -1011,5 +1003,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.1.0-185.0.dev <4.0.0" + dart: ">=3.0.0 <4.0.0" flutter: ">=3.10.0"