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:
@@ -55,9 +55,12 @@
|
||||
"min_players_title": "Zu wenig Spieler:innen",
|
||||
"min_players_message": "Es müssen mindestens 2 Spieler:innen hinzugefügt werden",
|
||||
"no_name_title": "Kein Name",
|
||||
"no_name_message": "Jeder Spieler muss einen Namen haben.",
|
||||
"no_name_message": "Jede:r Spieler:in muss einen Namen haben.",
|
||||
|
||||
"select_game_mode": "Spielmodus auswählen",
|
||||
"no_mode_selected": "Wähle einen Spielmodus",
|
||||
"no_default_mode": "Kein Modus",
|
||||
"no_default_description": "Entscheide bei jedem Spiel selber, welchen Modus du spielen möchtest.",
|
||||
"point_limit_description": "Es wird so lange gespielt, bis ein:e Spieler:in mehr als {pointLimit} Punkte erreicht",
|
||||
"@point_limit_description": {
|
||||
"placeholders": {
|
||||
@@ -71,6 +74,7 @@
|
||||
"results": "Ergebnisse",
|
||||
"who_said_cabo": "Wer hat CABO gesagt?",
|
||||
"kamikaze": "Kamikaze",
|
||||
"who_has_kamikaze": "Wer hat Kamikaze?",
|
||||
"done": "Fertig",
|
||||
"next_round": "Nächste Runde",
|
||||
"bonus_points_title": "Bonus-Punkte!",
|
||||
@@ -92,7 +96,21 @@
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
"end_of_game_title": "Spiel beendet",
|
||||
"end_of_game_message": "{playerCount, plural, =1{{names} hat das Spiel mit {points} Punkten gewonnen. Glückwunsch!} other{{names} haben das Spiel mit {points} Punkten gewonnen. Glückwunsch!}}",
|
||||
"@end_of_game_message": {
|
||||
"placeholders": {
|
||||
"playerCount": {
|
||||
"type": "int"
|
||||
},
|
||||
"names": {
|
||||
"type": "String"
|
||||
},
|
||||
"points": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"end_game": "Spiel beenden",
|
||||
"delete_game": "Spiel löschen",
|
||||
"new_game_same_settings": "Neues Spiel mit gleichen Einstellungen",
|
||||
@@ -102,14 +120,15 @@
|
||||
"end_game_title": "Spiel beenden?",
|
||||
"end_game_message": "Möchtest du das Spiel beenden? Das Spiel wird als beendet markiert und kann nicht fortgeführt werden.",
|
||||
|
||||
"game_process": "Spielverlauf",
|
||||
"statistics": "Statistiken",
|
||||
"point_overview": "Punkteübersicht",
|
||||
"scoring_history": "Spielverlauf",
|
||||
"empty_graph_text": "Du musst mindestens eine Runde spielen, damit der Graph des Spielverlaufes angezeigt werden kann.",
|
||||
|
||||
"settings": "Einstellungen",
|
||||
"cabo_penalty": "Cabo-Strafe",
|
||||
"cabo_penalty_subtitle": "... für falsches Cabo sagen",
|
||||
"point_limit": "Punkte-Limit",
|
||||
"point_limit_subtitle": "... hier ist Schluss",
|
||||
"standard_mode": "Standard-Modus",
|
||||
"reset_to_default": "Auf Standard zurücksetzen",
|
||||
"game_data": "Spieldaten",
|
||||
"import_data": "Spieldaten importieren",
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
"player": "Player",
|
||||
"players": "Players",
|
||||
"name": "Name",
|
||||
"back": "Back",
|
||||
"back": "Back",
|
||||
|
||||
"home": "Home",
|
||||
"about": "About",
|
||||
|
||||
"empty_text_1": "Pretty empty here...",
|
||||
"empty_text_2": "Add a new round using the button in the top right corner.",
|
||||
"empty_text_2": "Create a new game using the button in the top right.",
|
||||
"delete_game_title": "Delete game?",
|
||||
"delete_game_message": "Are you sure you want to delete the game \"{gameTitle}\"? This action cannot be undone.",
|
||||
"@delete_game_message": {
|
||||
@@ -46,19 +46,22 @@
|
||||
"select_mode": "Select a mode",
|
||||
"add_player": "Add Player",
|
||||
"create_game": "Create Game",
|
||||
"max_players_title": "Maximum reached",
|
||||
"max_players_message": "A maximum of 5 players can be added.",
|
||||
"no_gameTitle_title": "No Title",
|
||||
"no_gameTitle_message": "You must enter a title for the game.",
|
||||
"no_mode_title": "No Mode",
|
||||
"no_mode_message": "You must select a game mode.",
|
||||
"min_players_title": "Too few players",
|
||||
"min_players_message": "At least 2 players must be added.",
|
||||
"no_name_title": "No Name",
|
||||
"max_players_title": "Player Limit Reached",
|
||||
"max_players_message": "You can add a maximum of 5 players.",
|
||||
"no_gameTitle_title": "Missing Game Title",
|
||||
"no_gameTitle_message": "Please enter a title for your game.",
|
||||
"no_mode_title": "Game Mode Required",
|
||||
"no_mode_message": "Please select a game mode to continue",
|
||||
"min_players_title": "Too Few Players",
|
||||
"min_players_message": "At least 2 players are required to start the game.",
|
||||
"no_name_title": "Missing Player Names",
|
||||
"no_name_message": "Each player must have a name.",
|
||||
|
||||
"select_game_mode": "Select game mode",
|
||||
"point_limit_description": "The game ends when a player reaches more than {pointLimit} points.",
|
||||
"no_mode_selected": "No mode selected",
|
||||
"no_default_mode": "No default mode",
|
||||
"no_default_description": "The default mode gets reset.",
|
||||
"point_limit_description": "The game ends when a player scores more than {pointLimit} points.",
|
||||
"@point_limit_description": {
|
||||
"placeholders": {
|
||||
"pointLimit": {
|
||||
@@ -66,11 +69,12 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"unlimited_description": "There is no limit. The game continues until you decide to stop.",
|
||||
"unlimited_description": "The game continues until you decide to stop playing",
|
||||
|
||||
"results": "Results",
|
||||
"who_said_cabo": "Who said CABO?",
|
||||
"who_said_cabo": "Who called Cabo?",
|
||||
"kamikaze": "Kamikaze",
|
||||
"who_has_kamikaze": "Who has Kamikaze?",
|
||||
"done": "Done",
|
||||
"next_round": "Next Round",
|
||||
"bonus_points_title": "Bonus-Points!",
|
||||
@@ -92,7 +96,21 @@
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
"end_of_game_title": "End of Game",
|
||||
"end_of_game_message": "{playerCount, plural, =1{{names} won the game with {points} points. Congratulations!} other{{names} won the game with {points} points. Congratulations to everyone!}}",
|
||||
"@end_of_game_message": {
|
||||
"placeholders": {
|
||||
"playerCount": {
|
||||
"type": "int"
|
||||
},
|
||||
"names": {
|
||||
"type": "String"
|
||||
},
|
||||
"points": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"end_game": "End Game",
|
||||
"delete_game": "Delete Game",
|
||||
"new_game_same_settings": "New Game with same Settings",
|
||||
@@ -102,14 +120,15 @@
|
||||
"end_game_title": "End the game?",
|
||||
"end_game_message": "Do you want to end the game? The game gets marked as finished and cannot be continued.",
|
||||
|
||||
"game_process": "Scoring History",
|
||||
"statistics": "Statistics",
|
||||
"point_overview": "Point Overview",
|
||||
"scoring_history": "Scoring History",
|
||||
"empty_graph_text": "You must play at least one round for the game progress graph to be displayed.",
|
||||
|
||||
"settings": "Settings",
|
||||
"cabo_penalty": "Cabo Penalty",
|
||||
"cabo_penalty_subtitle": "... for falsely calling Cabo.",
|
||||
"point_limit": "Point Limit",
|
||||
"point_limit_subtitle": "... the game ends here.",
|
||||
"standard_mode": "Default Mode",
|
||||
"reset_to_default": "Reset to Default",
|
||||
"game_data": "Game Data",
|
||||
"import_data": "Import Data",
|
||||
|
||||
@@ -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.
|
||||
///
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
Reference in New Issue
Block a user