feat: statistic detail view
Some checks failed
Pull Request Pipeline / lint (pull_request) Failing after 47s
Pull Request Pipeline / test (pull_request) Successful in 48s
Pull Request Pipeline / localizations (pull_request) Failing after 27s

This commit is contained in:
2026-05-25 00:39:01 +02:00
parent 72442b5375
commit bfb40d2eab
16 changed files with 406 additions and 143 deletions

View File

@@ -21,6 +21,13 @@
"color_yellow": "Gelb",
"confirm": "Bestätigen",
"could_not_add_player": "Spieler:in {playerName} konnte nicht hinzugefügt werden",
"@could_not_add_player": {
"placeholders": {
"playerName": {
"type": "String"
}
}
},
"create_game": "Spielvorlage erstellen",
"create_group": "Gruppe erstellen",
"create_match": "Spiel erstellen",

View File

@@ -20,23 +20,29 @@
"color_teal": "Teal",
"color_yellow": "Yellow",
"confirm": "Confirm",
"could_not_add_player": "Could not add player",
"could_not_add_player": "Could not add player {playerName}",
"@could_not_add_player": {
"placeholders": {
"playerName": {
"type": "String"
}
}
},
"create_game": "Create Game",
"create_group": "Create Group",
"create_match": "Create match",
"create_new_group": "Create new group",
"create_new_match": "Create new match",
"create_statistic": "Create statistic",
"create_statistic_classifier_subtitle": "Select which key metric you want to display",
"create_statistic_classifier_title": "Classifier",
"create_statistic_games_subtitle": "Select the filtered games",
"create_statistic_games_title": "Games",
"create_statistic_groups_subtitle": "Select the filtered groups",
"create_statistic_groups_title": "Groups",
"create_statistic_scope_subtitle": "Select the main filter for your statistic. This will determine which data is used to calculate the selected classifier.",
"create_statistic_scope_title": "Scope",
"create_statistic_timeframe_subtitle": "Select a timeframe for which the data will be filtered. Only matches that ended within the selected timeframe will be included in the statistic.",
"create_statistic_timeframe_title": "Timeframe",
"which_key_metric": "Select which key metric you want to display",
"classifier": "Classifier",
"select_the_filtered_games": "Select the filtered games",
"games": "Games",
"select_the_filtered_groups": "Select the filtered groups",
"select_main_filter": "Select the main filter for your statistic. This will determine which data is used to calculate the selected classifier.",
"scope": "Scope",
"select_a_timeframe_for_which_data_will_be_filtered": "Select a timeframe for which the data will be filtered. Only matches that ended within the selected timeframe will be included in the statistic.",
"timeframe": "Timeframe",
"created_on": "Created on",
"data": "Data",
"data_successfully_deleted": "Data successfully deleted",
@@ -54,6 +60,7 @@
}
}
},
"filter": "Filter",
"delete_group": "Delete Group",
"delete_match": "Delete Match",
"delete_player": "Delete player?",
@@ -120,6 +127,7 @@
"no_results_entered_yet": "No results entered yet",
"no_second_match_available": "No second match available",
"no_statistics_available": "No statistics available",
"no_statistics_created_yet": "No statistics created yet",
"none": "None",
"none_group": "None",
"not_available": "Not available",

View File

@@ -221,8 +221,8 @@ abstract class AppLocalizations {
/// No description provided for @could_not_add_player.
///
/// In en, this message translates to:
/// **'Could not add player'**
String could_not_add_player(Object playerName);
/// **'Could not add player {playerName}'**
String could_not_add_player(String playerName);
/// No description provided for @create_game.
///
@@ -260,65 +260,59 @@ abstract class AppLocalizations {
/// **'Create statistic'**
String get create_statistic;
/// No description provided for @create_statistic_classifier_subtitle.
/// No description provided for @which_key_metric.
///
/// In en, this message translates to:
/// **'Select which key metric you want to display'**
String get create_statistic_classifier_subtitle;
String get which_key_metric;
/// No description provided for @create_statistic_classifier_title.
/// No description provided for @classifier.
///
/// In en, this message translates to:
/// **'Classifier'**
String get create_statistic_classifier_title;
String get classifier;
/// No description provided for @create_statistic_games_subtitle.
/// No description provided for @select_the_filtered_games.
///
/// In en, this message translates to:
/// **'Select the filtered games'**
String get create_statistic_games_subtitle;
String get select_the_filtered_games;
/// No description provided for @create_statistic_games_title.
/// No description provided for @games.
///
/// In en, this message translates to:
/// **'Games'**
String get create_statistic_games_title;
String get games;
/// No description provided for @create_statistic_groups_subtitle.
/// No description provided for @select_the_filtered_groups.
///
/// In en, this message translates to:
/// **'Select the filtered groups'**
String get create_statistic_groups_subtitle;
String get select_the_filtered_groups;
/// No description provided for @create_statistic_groups_title.
///
/// In en, this message translates to:
/// **'Groups'**
String get create_statistic_groups_title;
/// No description provided for @create_statistic_scope_subtitle.
/// No description provided for @select_main_filter.
///
/// In en, this message translates to:
/// **'Select the main filter for your statistic. This will determine which data is used to calculate the selected classifier.'**
String get create_statistic_scope_subtitle;
String get select_main_filter;
/// No description provided for @create_statistic_scope_title.
/// No description provided for @scope.
///
/// In en, this message translates to:
/// **'Scope'**
String get create_statistic_scope_title;
String get scope;
/// No description provided for @create_statistic_timeframe_subtitle.
/// No description provided for @select_a_timeframe_for_which_data_will_be_filtered.
///
/// In en, this message translates to:
/// **'Select a timeframe for which the data will be filtered. Only matches that ended within the selected timeframe will be included in the statistic.'**
String get create_statistic_timeframe_subtitle;
String get select_a_timeframe_for_which_data_will_be_filtered;
/// No description provided for @create_statistic_timeframe_title.
/// No description provided for @timeframe.
///
/// In en, this message translates to:
/// **'Timeframe'**
String get create_statistic_timeframe_title;
String get timeframe;
/// No description provided for @created_on.
///
@@ -380,6 +374,12 @@ abstract class AppLocalizations {
/// **'If you delete this game template, {count, plural, =1{1 match} other{{count} matches}} using this game template will also be deleted.'**
String delete_game_with_matches_warning(int count);
/// No description provided for @filter.
///
/// In en, this message translates to:
/// **'Filter'**
String get filter;
/// No description provided for @delete_group.
///
/// In en, this message translates to:
@@ -776,6 +776,12 @@ abstract class AppLocalizations {
/// **'No statistics available'**
String get no_statistics_available;
/// No description provided for @no_statistics_created_yet.
///
/// In en, this message translates to:
/// **'No statistics created yet'**
String get no_statistics_created_yet;
/// No description provided for @none.
///
/// In en, this message translates to:

View File

@@ -69,7 +69,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get confirm => 'Bestätigen';
@override
String could_not_add_player(Object playerName) {
String could_not_add_player(String playerName) {
return 'Spieler:in $playerName konnte nicht hinzugefügt werden';
}
@@ -92,39 +92,33 @@ class AppLocalizationsDe extends AppLocalizations {
String get create_statistic => 'Statistik erstellen';
@override
String get create_statistic_classifier_subtitle =>
'Wähle die anzuzeigende Hauptmetrik aus';
String get which_key_metric => 'Select which key metric you want to display';
@override
String get create_statistic_classifier_title => 'Klassifikator';
String get classifier => 'Classifier';
@override
String get create_statistic_games_subtitle =>
'Wähle die gefilterten Spielvorlagen';
String get select_the_filtered_games => 'Select the filtered games';
@override
String get create_statistic_games_title => 'Spielvorlagen';
String get games => 'Games';
@override
String get create_statistic_groups_subtitle =>
'Wähle die gefilterten Gruppen';
String get select_the_filtered_groups => 'Select the filtered groups';
@override
String get create_statistic_groups_title => 'Gruppen';
String get select_main_filter =>
'Select the main filter for your statistic. This will determine which data is used to calculate the selected classifier.';
@override
String get create_statistic_scope_subtitle =>
'Wähle den Hauptfilter für deine Statistik. Er bestimmt, welche Daten zur Berechnung des Klassifikators verwendet werden.';
String get scope => 'Scope';
@override
String get create_statistic_scope_title => 'Bereich';
String get select_a_timeframe_for_which_data_will_be_filtered =>
'Select a timeframe for which the data will be filtered. Only matches that ended within the selected timeframe will be included in the statistic.';
@override
String get create_statistic_timeframe_subtitle =>
'Wähle einen Zeitraum, nach dem die Daten gefiltert werden. Nur Spiele, die innerhalb des Zeitraums beendet wurden, fließen in die Statistik ein.';
@override
String get create_statistic_timeframe_title => 'Zeitraum';
String get timeframe => 'Timeframe';
@override
String get created_on => 'Erstellt am';
@@ -166,6 +160,9 @@ class AppLocalizationsDe extends AppLocalizations {
return 'Wenn du diese Spielvorlage löschst, $_temp0 mit dieser Spielvorlage ebenfalls gelöscht.';
}
@override
String get filter => 'Filter';
@override
String get delete_group => 'Gruppe löschen';
@@ -369,6 +366,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get no_statistics_available => 'Keine Statistiken verfügbar';
@override
String get no_statistics_created_yet => 'No statistics created yet';
@override
String get none => 'Kein';

View File

@@ -69,8 +69,8 @@ class AppLocalizationsEn extends AppLocalizations {
String get confirm => 'Confirm';
@override
String could_not_add_player(Object playerName) {
return 'Could not add player';
String could_not_add_player(String playerName) {
return 'Could not add player $playerName';
}
@override
@@ -92,37 +92,33 @@ class AppLocalizationsEn extends AppLocalizations {
String get create_statistic => 'Create statistic';
@override
String get create_statistic_classifier_subtitle =>
'Select which key metric you want to display';
String get which_key_metric => 'Select which key metric you want to display';
@override
String get create_statistic_classifier_title => 'Classifier';
String get classifier => 'Classifier';
@override
String get create_statistic_games_subtitle => 'Select the filtered games';
String get select_the_filtered_games => 'Select the filtered games';
@override
String get create_statistic_games_title => 'Games';
String get games => 'Games';
@override
String get create_statistic_groups_subtitle => 'Select the filtered groups';
String get select_the_filtered_groups => 'Select the filtered groups';
@override
String get create_statistic_groups_title => 'Groups';
@override
String get create_statistic_scope_subtitle =>
String get select_main_filter =>
'Select the main filter for your statistic. This will determine which data is used to calculate the selected classifier.';
@override
String get create_statistic_scope_title => 'Scope';
String get scope => 'Scope';
@override
String get create_statistic_timeframe_subtitle =>
String get select_a_timeframe_for_which_data_will_be_filtered =>
'Select a timeframe for which the data will be filtered. Only matches that ended within the selected timeframe will be included in the statistic.';
@override
String get create_statistic_timeframe_title => 'Timeframe';
String get timeframe => 'Timeframe';
@override
String get created_on => 'Created on';
@@ -164,6 +160,9 @@ class AppLocalizationsEn extends AppLocalizations {
return 'If you delete this game template, $_temp0 using this game template will also be deleted.';
}
@override
String get filter => 'Filter';
@override
String get delete_group => 'Delete Group';
@@ -367,6 +366,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get no_statistics_available => 'No statistics available';
@override
String get no_statistics_created_yet => 'No statistics created yet';
@override
String get none => 'None';