Beta-Version 0.5.3 (#136)

* Updated createGameView ListBuilder

* Added ReorderableListView

* Increment build no

* Fixed bug with wrong medal icon

* change not equal to greater than

* Updated bool var

* Fixed deletion error

* Small translation improvements

* Implemented first version of point overview

* Visual improvements on table

* Added details and sum row

* Updated strings

* Implemented new strings

* Refactoring

* Updated graph displayment

* Moved new views to statistics section

* Added seperator in main menu

* Renaming

* Updated sign

* Updated colors & class name

* Removed empty line

* Updated round index

* Updated types

* Added new kamikaze button and bundles navigation functionality

* Updated lock icon

* Updated button position and design

* Removed title row and changed segmendetControl Padding

* Refactored logic and added comments

* Updated comment

* Chaned icon

* Added comment

* Removed print

* Updated colors

* Changed var name

* Removed unused strings

* Added gameMode

* Changed creation variable

* Updated mode selection

* Updated strings

* Changed mode order

* Implemented default mode selection

* Updated initState

* Removed print

* Removed print

* Removed comments

* Updated config service

* Changed create game view

* Changed icon

* Updated strings

* Updated config

* Updated mode selection logic

* Deleted getter

* Removed not used code

* Implemented reset logic for default game mode

* Updated to 0.5.0

* Hotfix: Pixel Overflow

* Changed the overall return type for gamemodes

* Updated documentation

* Fixed merge issues

* Added Custom button

* Updated strings

* Updated buttons, implemented animatedOpacity

* Keyboard still doesnt works

* Fixed keyboard behaviour

* Changed keyboard height

* Added method getGameSessionById()

* Updated gameSession class

* id gets added to gameSession class at creation

* Cleaned up file

* Added docs and dependency

* Removed toString

* Implemented null safety

* Added named parameter

* Replaced button with custom button

* Updated key

* Updated addGameSessionMethod

* Update README.md

* Added Strings for popup

* Implemented popup & confetti

* Extracted code to method _playFinishAnimation()

* Replaced tenary operator with Visibility Widget

* Replaced tenary operator with Visibility Widget

* Used variable again

* Added delays in constants.dart

* Removed confetti button

* Updated strings

* Removed print

* Added dispose for confettiController

* Implemented missing constant in code

* Updated gameSession logic so more than one player can be winner

* Updated strings

* Updated winner popup

* game names now can have up to 20 chars

* Updated strings

* Added sized box for visual enhancement

* Centered the add player button and made it wider

* New created player textfields get automatically focused

* Added focus nodes for autofocus and navigation between textfields

* Updated version number

* Updated game title textfield with focus node and textaction

* Added focusnodes to dispose

* Update README.md

* Fixed bug with no popup shown

* Fixed bug with out of range error

* Updated listener notification
This commit is contained in:
2025-07-21 13:29:25 +02:00
committed by GitHub
parent c19ce71198
commit d627f33579
24 changed files with 1503 additions and 799 deletions

View File

@@ -365,7 +365,7 @@ abstract class AppLocalizations {
/// No description provided for @no_name_message.
///
/// In de, this message translates to:
/// **'Jeder Spieler muss einen Namen haben.'**
/// **'Jede:r Spieler:in muss einen Namen haben.'**
String get no_name_message;
/// No description provided for @select_game_mode.
@@ -374,6 +374,24 @@ abstract class AppLocalizations {
/// **'Spielmodus auswählen'**
String get select_game_mode;
/// No description provided for @no_mode_selected.
///
/// In de, this message translates to:
/// **'Wähle einen Spielmodus'**
String get no_mode_selected;
/// No description provided for @no_default_mode.
///
/// In de, this message translates to:
/// **'Kein Modus'**
String get no_default_mode;
/// No description provided for @no_default_description.
///
/// In de, this message translates to:
/// **'Entscheide bei jedem Spiel selber, welchen Modus du spielen möchtest.'**
String get no_default_description;
/// No description provided for @point_limit_description.
///
/// In de, this message translates to:
@@ -404,6 +422,12 @@ abstract class AppLocalizations {
/// **'Kamikaze'**
String get kamikaze;
/// No description provided for @who_has_kamikaze.
///
/// In de, this message translates to:
/// **'Wer hat Kamikaze?'**
String get who_has_kamikaze;
/// No description provided for @done.
///
/// In de, this message translates to:
@@ -429,6 +453,18 @@ abstract class AppLocalizations {
String bonus_points_message(
int playerCount, String names, int pointLimit, int bonusPoints);
/// No description provided for @end_of_game_title.
///
/// In de, this message translates to:
/// **'Spiel beendet'**
String get end_of_game_title;
/// No description provided for @end_of_game_message.
///
/// In de, this message translates to:
/// **'{playerCount, plural, =1{{names} hat das Spiel mit {points} Punkten gewonnen. Glückwunsch!} other{{names} haben das Spiel mit {points} Punkten gewonnen. Glückwunsch!}}'**
String end_of_game_message(int playerCount, String names, int points);
/// No description provided for @end_game.
///
/// In de, this message translates to:
@@ -477,11 +513,23 @@ abstract class AppLocalizations {
/// **'Möchtest du das Spiel beenden? Das Spiel wird als beendet markiert und kann nicht fortgeführt werden.'**
String get end_game_message;
/// No description provided for @game_process.
/// No description provided for @statistics.
///
/// In de, this message translates to:
/// **'Statistiken'**
String get statistics;
/// No description provided for @point_overview.
///
/// In de, this message translates to:
/// **'Punkteübersicht'**
String get point_overview;
/// No description provided for @scoring_history.
///
/// In de, this message translates to:
/// **'Spielverlauf'**
String get game_process;
String get scoring_history;
/// No description provided for @empty_graph_text.
///
@@ -501,23 +549,17 @@ abstract class AppLocalizations {
/// **'Cabo-Strafe'**
String get cabo_penalty;
/// No description provided for @cabo_penalty_subtitle.
///
/// In de, this message translates to:
/// **'... für falsches Cabo sagen'**
String get cabo_penalty_subtitle;
/// No description provided for @point_limit.
///
/// In de, this message translates to:
/// **'Punkte-Limit'**
String get point_limit;
/// No description provided for @point_limit_subtitle.
/// No description provided for @standard_mode.
///
/// In de, this message translates to:
/// **'... hier ist Schluss'**
String get point_limit_subtitle;
/// **'Standard-Modus'**
String get standard_mode;
/// No description provided for @reset_to_default.
///

View File

@@ -149,11 +149,21 @@ class AppLocalizationsDe extends AppLocalizations {
String get no_name_title => 'Kein Name';
@override
String get no_name_message => 'Jeder Spieler muss einen Namen haben.';
String get no_name_message => 'Jede:r Spieler:in muss einen Namen haben.';
@override
String get select_game_mode => 'Spielmodus auswählen';
@override
String get no_mode_selected => 'Wähle einen Spielmodus';
@override
String get no_default_mode => 'Kein Modus';
@override
String get no_default_description =>
'Entscheide bei jedem Spiel selber, welchen Modus du spielen möchtest.';
@override
String point_limit_description(int pointLimit) {
return 'Es wird so lange gespielt, bis ein:e Spieler:in mehr als $pointLimit Punkte erreicht';
@@ -172,6 +182,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get kamikaze => 'Kamikaze';
@override
String get who_has_kamikaze => 'Wer hat Kamikaze?';
@override
String get done => 'Fertig';
@@ -195,6 +208,21 @@ class AppLocalizationsDe extends AppLocalizations {
return '$_temp0';
}
@override
String get end_of_game_title => 'Spiel beendet';
@override
String end_of_game_message(int playerCount, String names, int points) {
String _temp0 = intl.Intl.pluralLogic(
playerCount,
locale: localeName,
other:
'$names haben das Spiel mit $points Punkten gewonnen. Glückwunsch!',
one: '$names hat das Spiel mit $points Punkten gewonnen. Glückwunsch!',
);
return '$_temp0';
}
@override
String get end_game => 'Spiel beenden';
@@ -222,7 +250,13 @@ class AppLocalizationsDe extends AppLocalizations {
'Möchtest du das Spiel beenden? Das Spiel wird als beendet markiert und kann nicht fortgeführt werden.';
@override
String get game_process => 'Spielverlauf';
String get statistics => 'Statistiken';
@override
String get point_overview => 'Punkteübersicht';
@override
String get scoring_history => 'Spielverlauf';
@override
String get empty_graph_text =>
@@ -234,14 +268,11 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get cabo_penalty => 'Cabo-Strafe';
@override
String get cabo_penalty_subtitle => '... für falsches Cabo sagen';
@override
String get point_limit => 'Punkte-Limit';
@override
String get point_limit_subtitle => '... hier ist Schluss';
String get standard_mode => 'Standard-Modus';
@override
String get reset_to_default => 'Auf Standard zurücksetzen';

View File

@@ -61,7 +61,7 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get empty_text_2 =>
'Add a new round using the button in the top right corner.';
'Create a new game using the button in the top right.';
@override
String get delete_game_title => 'Delete game?';
@@ -119,31 +119,32 @@ class AppLocalizationsEn extends AppLocalizations {
String get create_game => 'Create Game';
@override
String get max_players_title => 'Maximum reached';
String get max_players_title => 'Player Limit Reached';
@override
String get max_players_message => 'A maximum of 5 players can be added.';
String get max_players_message => 'You can add a maximum of 5 players.';
@override
String get no_gameTitle_title => 'No Title';
String get no_gameTitle_title => 'Missing Game Title';
@override
String get no_gameTitle_message => 'You must enter a title for the game.';
String get no_gameTitle_message => 'Please enter a title for your game.';
@override
String get no_mode_title => 'No Mode';
String get no_mode_title => 'Game Mode Required';
@override
String get no_mode_message => 'You must select a game mode.';
String get no_mode_message => 'Please select a game mode to continue';
@override
String get min_players_title => 'Too few players';
String get min_players_title => 'Too Few Players';
@override
String get min_players_message => 'At least 2 players must be added.';
String get min_players_message =>
'At least 2 players are required to start the game.';
@override
String get no_name_title => 'No Name';
String get no_name_title => 'Missing Player Names';
@override
String get no_name_message => 'Each player must have a name.';
@@ -151,24 +152,36 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get select_game_mode => 'Select game mode';
@override
String get no_mode_selected => 'No mode selected';
@override
String get no_default_mode => 'No default mode';
@override
String get no_default_description => 'The default mode gets reset.';
@override
String point_limit_description(int pointLimit) {
return 'The game ends when a player reaches more than $pointLimit points.';
return 'The game ends when a player scores more than $pointLimit points.';
}
@override
String get unlimited_description =>
'There is no limit. The game continues until you decide to stop.';
'The game continues until you decide to stop playing';
@override
String get results => 'Results';
@override
String get who_said_cabo => 'Who said CABO?';
String get who_said_cabo => 'Who called Cabo?';
@override
String get kamikaze => 'Kamikaze';
@override
String get who_has_kamikaze => 'Who has Kamikaze?';
@override
String get done => 'Done';
@@ -192,6 +205,21 @@ class AppLocalizationsEn extends AppLocalizations {
return '$_temp0';
}
@override
String get end_of_game_title => 'End of Game';
@override
String end_of_game_message(int playerCount, String names, int points) {
String _temp0 = intl.Intl.pluralLogic(
playerCount,
locale: localeName,
other:
'$names won the game with $points points. Congratulations to everyone!',
one: '$names won the game with $points points. Congratulations!',
);
return '$_temp0';
}
@override
String get end_game => 'End Game';
@@ -219,7 +247,13 @@ class AppLocalizationsEn extends AppLocalizations {
'Do you want to end the game? The game gets marked as finished and cannot be continued.';
@override
String get game_process => 'Scoring History';
String get statistics => 'Statistics';
@override
String get point_overview => 'Point Overview';
@override
String get scoring_history => 'Scoring History';
@override
String get empty_graph_text =>
@@ -231,14 +265,11 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get cabo_penalty => 'Cabo Penalty';
@override
String get cabo_penalty_subtitle => '... for falsely calling Cabo.';
@override
String get point_limit => 'Point Limit';
@override
String get point_limit_subtitle => '... the game ends here.';
String get standard_mode => 'Default Mode';
@override
String get reset_to_default => 'Reset to Default';