From e0d7a231c998973d0db4cd42ce359e6e404a61b6 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 17 Aug 2025 20:23:41 +0200 Subject: [PATCH 1/3] Updated page titles --- lib/l10n/arb/app_de.arb | 4 +++- lib/l10n/arb/app_en.arb | 4 +++- lib/l10n/generated/app_localizations.dart | 14 +++++++++++++- lib/l10n/generated/app_localizations_de.dart | 8 +++++++- lib/l10n/generated/app_localizations_en.dart | 8 +++++++- .../views/about/licenses/license_detail_view.dart | 1 + .../views/about/licenses/license_view.dart | 1 + .../views/home/active_game/active_game_view.dart | 6 ++---- .../views/home/active_game/graph_view.dart | 2 +- .../home/active_game/mode_selection_view.dart | 4 +++- .../views/home/active_game/points_view.dart | 2 +- lib/presentation/views/home/create_game_view.dart | 2 +- lib/presentation/views/home/main_menu_view.dart | 2 +- lib/presentation/views/home/settings_view.dart | 1 + 14 files changed, 45 insertions(+), 14 deletions(-) diff --git a/lib/l10n/arb/app_de.arb b/lib/l10n/arb/app_de.arb index a1e4c26..63f4a30 100644 --- a/lib/l10n/arb/app_de.arb +++ b/lib/l10n/arb/app_de.arb @@ -10,6 +10,8 @@ "delete": "Löschen", "cancel": "Abbrechen", "game": "Spiel", + "games": "Spiele", + "gamemode": "Spielmodus", "ok": "OK", "player": "Spieler:in", "players": "Spieler:innen", @@ -126,7 +128,7 @@ "end_game_message": "Möchtest du das Spiel beenden? Das Spiel wird als beendet markiert und kann nicht fortgeführt werden.", "statistics": "Statistiken", - "point_overview": "Punkteübersicht", + "point_overview": "Punktetabelle", "scoring_history": "Spielverlauf", "empty_graph_text": "Du musst mindestens eine Runde spielen, damit der Graph des Spielverlaufes angezeigt werden kann.", diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index 9ba17c4..e1f57fb 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -10,6 +10,8 @@ "delete": "Delete", "cancel": "Cancel", "game": "Game", + "games": "Games", + "gamemode": "Gamemode", "ok": "OK", "player": "Player", "players": "Players", @@ -40,7 +42,7 @@ "yes": "Yes", "no": "No", "bad_rating_title": "Not satisfied?", - "bad_rating_message": "If you are not satisfied with the app, please let me know before leaving a bad rating. I will try to fix the issue as soon as possible.", + "bad_rating_message": "Feel free to send me an email directly so we can solve your problem!", "contact_email": "Contact via E-Mail", "email_subject": "Feedback: Cabo Counter App", "email_body": "I have the following feedback...", diff --git a/lib/l10n/generated/app_localizations.dart b/lib/l10n/generated/app_localizations.dart index 890e1ca..eb3620c 100644 --- a/lib/l10n/generated/app_localizations.dart +++ b/lib/l10n/generated/app_localizations.dart @@ -152,6 +152,18 @@ abstract class AppLocalizations { /// **'Spiel'** String get game; + /// No description provided for @games. + /// + /// In de, this message translates to: + /// **'Spiele'** + String get games; + + /// No description provided for @gamemode. + /// + /// In de, this message translates to: + /// **'Spielmodus'** + String get gamemode; + /// No description provided for @ok. /// /// In de, this message translates to: @@ -546,7 +558,7 @@ abstract class AppLocalizations { /// No description provided for @point_overview. /// /// In de, this message translates to: - /// **'Punkteübersicht'** + /// **'Punktetabelle'** String get point_overview; /// No description provided for @scoring_history. diff --git a/lib/l10n/generated/app_localizations_de.dart b/lib/l10n/generated/app_localizations_de.dart index bb930f3..4611788 100644 --- a/lib/l10n/generated/app_localizations_de.dart +++ b/lib/l10n/generated/app_localizations_de.dart @@ -35,6 +35,12 @@ class AppLocalizationsDe extends AppLocalizations { @override String get game => 'Spiel'; + @override + String get games => 'Spiele'; + + @override + String get gamemode => 'Spielmodus'; + @override String get ok => 'OK'; @@ -265,7 +271,7 @@ class AppLocalizationsDe extends AppLocalizations { String get statistics => 'Statistiken'; @override - String get point_overview => 'Punkteübersicht'; + String get point_overview => 'Punktetabelle'; @override String get scoring_history => 'Spielverlauf'; diff --git a/lib/l10n/generated/app_localizations_en.dart b/lib/l10n/generated/app_localizations_en.dart index ff9c81a..2072fd8 100644 --- a/lib/l10n/generated/app_localizations_en.dart +++ b/lib/l10n/generated/app_localizations_en.dart @@ -35,6 +35,12 @@ class AppLocalizationsEn extends AppLocalizations { @override String get game => 'Game'; + @override + String get games => 'Games'; + + @override + String get gamemode => 'Gamemode'; + @override String get ok => 'OK'; @@ -101,7 +107,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get bad_rating_message => - 'If you are not satisfied with the app, please let me know before leaving a bad rating. I will try to fix the issue as soon as possible.'; + 'Feel free to send me an email directly so we can solve your problem!'; @override String get contact_email => 'Contact via E-Mail'; diff --git a/lib/presentation/views/about/licenses/license_detail_view.dart b/lib/presentation/views/about/licenses/license_detail_view.dart index efae60c..787c686 100644 --- a/lib/presentation/views/about/licenses/license_detail_view.dart +++ b/lib/presentation/views/about/licenses/license_detail_view.dart @@ -17,6 +17,7 @@ class LicenseDetailView extends StatelessWidget { middle: Text( AppLocalizations.of(context).license_details, ), + previousPageTitle: AppLocalizations.of(context).licenses, ), child: SafeArea( child: SingleChildScrollView( diff --git a/lib/presentation/views/about/licenses/license_view.dart b/lib/presentation/views/about/licenses/license_view.dart index d8edaa3..0b54f76 100644 --- a/lib/presentation/views/about/licenses/license_view.dart +++ b/lib/presentation/views/about/licenses/license_view.dart @@ -16,6 +16,7 @@ class LicenseView extends StatelessWidget { return CupertinoPageScaffold( navigationBar: CupertinoNavigationBar( middle: Text(AppLocalizations.of(context).licenses), + previousPageTitle: AppLocalizations.of(context).about, ), child: SafeArea( child: ListView.builder( diff --git a/lib/presentation/views/home/active_game/active_game_view.dart b/lib/presentation/views/home/active_game/active_game_view.dart index 754df18..4434787 100644 --- a/lib/presentation/views/home/active_game/active_game_view.dart +++ b/lib/presentation/views/home/active_game/active_game_view.dart @@ -57,10 +57,8 @@ class _ActiveGameViewState extends State { gameSession.playerScores, sortedPlayerIndices); return CupertinoPageScaffold( navigationBar: CupertinoNavigationBar( - middle: Text( - gameSession.gameTitle, - overflow: TextOverflow.ellipsis, - ), + previousPageTitle: AppLocalizations.of(context).games, + middle: Text(AppLocalizations.of(context).overview), ), child: SafeArea( child: SingleChildScrollView( diff --git a/lib/presentation/views/home/active_game/graph_view.dart b/lib/presentation/views/home/active_game/graph_view.dart index d67507a..f23be15 100644 --- a/lib/presentation/views/home/active_game/graph_view.dart +++ b/lib/presentation/views/home/active_game/graph_view.dart @@ -28,7 +28,7 @@ class _GraphViewState extends State { return CupertinoPageScaffold( navigationBar: CupertinoNavigationBar( middle: Text(AppLocalizations.of(context).scoring_history), - previousPageTitle: AppLocalizations.of(context).back, + previousPageTitle: AppLocalizations.of(context).overview, ), child: SafeArea( child: Visibility( diff --git a/lib/presentation/views/home/active_game/mode_selection_view.dart b/lib/presentation/views/home/active_game/mode_selection_view.dart index 0424dab..86db5ff 100644 --- a/lib/presentation/views/home/active_game/mode_selection_view.dart +++ b/lib/presentation/views/home/active_game/mode_selection_view.dart @@ -18,7 +18,9 @@ class ModeSelectionMenu extends StatelessWidget { Widget build(BuildContext context) { return CupertinoPageScaffold( navigationBar: CupertinoNavigationBar( - middle: Text(AppLocalizations.of(context).select_game_mode), + middle: Text(AppLocalizations.of(context).gamemode), + previousPageTitle: + !showDeselection ? AppLocalizations.of(context).new_game : '', ), child: ListView( children: [ diff --git a/lib/presentation/views/home/active_game/points_view.dart b/lib/presentation/views/home/active_game/points_view.dart index 8c08467..7844872 100644 --- a/lib/presentation/views/home/active_game/points_view.dart +++ b/lib/presentation/views/home/active_game/points_view.dart @@ -19,7 +19,7 @@ class _PointsViewState extends State { return CupertinoPageScaffold( navigationBar: CupertinoNavigationBar( middle: Text(AppLocalizations.of(context).point_overview), - previousPageTitle: AppLocalizations.of(context).back, + previousPageTitle: AppLocalizations.of(context).overview, ), child: SafeArea(child: LayoutBuilder(builder: (context, constraints) { const double caboFieldWidthFactor = 0.2; diff --git a/lib/presentation/views/home/create_game_view.dart b/lib/presentation/views/home/create_game_view.dart index 3b54a03..d92a375 100644 --- a/lib/presentation/views/home/create_game_view.dart +++ b/lib/presentation/views/home/create_game_view.dart @@ -80,7 +80,7 @@ class _CreateGameViewState extends State { return CupertinoPageScaffold( resizeToAvoidBottomInset: false, navigationBar: CupertinoNavigationBar( - previousPageTitle: AppLocalizations.of(context).overview, + previousPageTitle: AppLocalizations.of(context).games, middle: Text(AppLocalizations.of(context).new_game), ), child: SafeArea( diff --git a/lib/presentation/views/home/main_menu_view.dart b/lib/presentation/views/home/main_menu_view.dart index d99d61c..3363511 100644 --- a/lib/presentation/views/home/main_menu_view.dart +++ b/lib/presentation/views/home/main_menu_view.dart @@ -75,7 +75,7 @@ class _MainMenuViewState extends State { }); }, icon: const Icon(CupertinoIcons.settings, size: 30)), - middle: Text(AppLocalizations.of(context).app_name), + middle: Text(AppLocalizations.of(context).games), trailing: IconButton( onPressed: () => Navigator.push( context, diff --git a/lib/presentation/views/home/settings_view.dart b/lib/presentation/views/home/settings_view.dart index bbc471e..d8e8d6c 100644 --- a/lib/presentation/views/home/settings_view.dart +++ b/lib/presentation/views/home/settings_view.dart @@ -32,6 +32,7 @@ class _SettingsViewState extends State { return CupertinoPageScaffold( navigationBar: CupertinoNavigationBar( middle: Text(AppLocalizations.of(context).settings), + previousPageTitle: AppLocalizations.of(context).games, ), child: SafeArea( child: SingleChildScrollView( From cd3ac1f0f9fc4b290d6b35625097d90facd862d8 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 17 Aug 2025 20:27:36 +0200 Subject: [PATCH 2/3] Edited descriptio --- lib/l10n/arb/app_de.arb | 2 +- lib/l10n/arb/app_en.arb | 2 +- lib/l10n/generated/app_localizations.dart | 2 +- lib/l10n/generated/app_localizations_de.dart | 2 +- lib/l10n/generated/app_localizations_en.dart | 2 +- pubspec.yaml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/l10n/arb/app_de.arb b/lib/l10n/arb/app_de.arb index 63f4a30..bd83532 100644 --- a/lib/l10n/arb/app_de.arb +++ b/lib/l10n/arb/app_de.arb @@ -76,7 +76,7 @@ } } }, - "unlimited_description": "Dem Spiel sind keine Grenzen gesetzt. Es wird so lange gespielt, bis ihr keine Lust mehr habt.", + "unlimited_description": "Es wird so lange gespielt, bis ihr keine Lust mehr habt. Das Spiel kann jederzeit manuell beendet werden.", "results": "Ergebnisse", "who_said_cabo": "Wer hat CABO gesagt?", diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index e1f57fb..8fa17c1 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -76,7 +76,7 @@ } } }, - "unlimited_description": "The game continues until you decide to stop playing", + "unlimited_description": "The game continues until you decide to stop playing. The game can be ended manually at any time.", "results": "Results", "who_said_cabo": "Who called Cabo?", diff --git a/lib/l10n/generated/app_localizations.dart b/lib/l10n/generated/app_localizations.dart index eb3620c..ad31f5a 100644 --- a/lib/l10n/generated/app_localizations.dart +++ b/lib/l10n/generated/app_localizations.dart @@ -437,7 +437,7 @@ abstract class AppLocalizations { /// No description provided for @unlimited_description. /// /// In de, this message translates to: - /// **'Dem Spiel sind keine Grenzen gesetzt. Es wird so lange gespielt, bis ihr keine Lust mehr habt.'** + /// **'Es wird so lange gespielt, bis ihr keine Lust mehr habt. Das Spiel kann jederzeit manuell beendet werden.'** String get unlimited_description; /// No description provided for @results. diff --git a/lib/l10n/generated/app_localizations_de.dart b/lib/l10n/generated/app_localizations_de.dart index 4611788..069a214 100644 --- a/lib/l10n/generated/app_localizations_de.dart +++ b/lib/l10n/generated/app_localizations_de.dart @@ -189,7 +189,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get unlimited_description => - 'Dem Spiel sind keine Grenzen gesetzt. Es wird so lange gespielt, bis ihr keine Lust mehr habt.'; + 'Es wird so lange gespielt, bis ihr keine Lust mehr habt. Das Spiel kann jederzeit manuell beendet werden.'; @override String get results => 'Ergebnisse'; diff --git a/lib/l10n/generated/app_localizations_en.dart b/lib/l10n/generated/app_localizations_en.dart index 2072fd8..777d979 100644 --- a/lib/l10n/generated/app_localizations_en.dart +++ b/lib/l10n/generated/app_localizations_en.dart @@ -186,7 +186,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get unlimited_description => - 'The game continues until you decide to stop playing'; + 'The game continues until you decide to stop playing. The game can be ended manually at any time.'; @override String get results => 'Results'; diff --git a/pubspec.yaml b/pubspec.yaml index dc9eb58..1dbde3a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -2,7 +2,7 @@ name: cabo_counter description: "Mobile app for the card game Cabo" publish_to: 'none' -version: 0.5.6+661 +version: 0.5.7+661 environment: sdk: ^3.5.4 From 354922b93d1a1716d22784e0e7d8d303a60421f9 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 17 Aug 2025 20:33:54 +0200 Subject: [PATCH 3/3] Updated navigation for creating a game --- .../views/home/active_game/active_game_view.dart | 2 +- lib/presentation/views/home/create_game_view.dart | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/presentation/views/home/active_game/active_game_view.dart b/lib/presentation/views/home/active_game/active_game_view.dart index 4434787..60ae16d 100644 --- a/lib/presentation/views/home/active_game/active_game_view.dart +++ b/lib/presentation/views/home/active_game/active_game_view.dart @@ -221,7 +221,7 @@ class _ActiveGameViewState extends State { backgroundColorActivated: CustomTheme.backgroundColor, onTap: () { - Navigator.pushReplacement( + Navigator.push( context, CupertinoPageRoute( builder: (_) => CreateGameView( diff --git a/lib/presentation/views/home/create_game_view.dart b/lib/presentation/views/home/create_game_view.dart index d92a375..8b18bfc 100644 --- a/lib/presentation/views/home/create_game_view.dart +++ b/lib/presentation/views/home/create_game_view.dart @@ -452,10 +452,12 @@ class _CreateGameViewState extends State { gameManager.addGameSession(gameSession); final session = gameManager.getGameSessionById(id) ?? gameSession; - Navigator.pushReplacement( - context, - CupertinoPageRoute( - builder: (context) => ActiveGameView(gameSession: session))); + Navigator.pushAndRemoveUntil( + context, + CupertinoPageRoute( + builder: (context) => ActiveGameView(gameSession: session)), + (Route route) => route.isFirst, + ); } @override