Added empty build for teams & player in match tile / detail view
All checks were successful
Pull Request Pipeline / lint (pull_request) Successful in 46s
Pull Request Pipeline / test (pull_request) Successful in 47s
Pull Request Pipeline / localizations (pull_request) Successful in 27s

This commit is contained in:
2026-05-23 16:12:58 +02:00
parent 6d17539af2
commit 99c3c3c257
7 changed files with 77 additions and 24 deletions

View File

@@ -96,6 +96,7 @@
"no_license_text_available": "Kein Lizenztext verfügbar", "no_license_text_available": "Kein Lizenztext verfügbar",
"no_licenses_found": "Keine Lizenzen gefunden", "no_licenses_found": "Keine Lizenzen gefunden",
"no_matches_created_yet": "Noch keine Spiele erstellt", "no_matches_created_yet": "Noch keine Spiele erstellt",
"no_players_available": "Keine Spieler:innen verfügbar",
"no_players_created_yet": "Noch keine Spieler:in erstellt", "no_players_created_yet": "Noch keine Spieler:in erstellt",
"no_players_found_with_that_name": "Keine Spieler:in mit diesem Namen gefunden", "no_players_found_with_that_name": "Keine Spieler:in mit diesem Namen gefunden",
"no_players_selected": "Keine Spieler:innen ausgewählt", "no_players_selected": "Keine Spieler:innen ausgewählt",
@@ -103,6 +104,7 @@
"no_results_entered_yet": "Noch keine Ergebnisse eingetragen", "no_results_entered_yet": "Noch keine Ergebnisse eingetragen",
"no_second_match_available": "Kein zweites Spiel verfügbar", "no_second_match_available": "Kein zweites Spiel verfügbar",
"no_statistics_available": "Keine Statistiken verfügbar", "no_statistics_available": "Keine Statistiken verfügbar",
"no_teams_available": "Keine Teams verfügbar",
"none": "Kein", "none": "Kein",
"none_group": "Keine", "none_group": "Keine",
"not_available": "Nicht verfügbar", "not_available": "Nicht verfügbar",

View File

@@ -96,6 +96,7 @@
"no_license_text_available": "No license text available", "no_license_text_available": "No license text available",
"no_licenses_found": "No licenses found", "no_licenses_found": "No licenses found",
"no_matches_created_yet": "No matches created yet", "no_matches_created_yet": "No matches created yet",
"no_players_available": "No players available",
"no_players_created_yet": "No players created yet", "no_players_created_yet": "No players created yet",
"no_players_found_with_that_name": "No players found with that name", "no_players_found_with_that_name": "No players found with that name",
"no_players_selected": "No players selected", "no_players_selected": "No players selected",
@@ -103,6 +104,7 @@
"no_results_entered_yet": "No results entered yet", "no_results_entered_yet": "No results entered yet",
"no_second_match_available": "No second match available", "no_second_match_available": "No second match available",
"no_statistics_available": "No statistics available", "no_statistics_available": "No statistics available",
"no_teams_available": "No teams available",
"none": "None", "none": "None",
"none_group": "None", "none_group": "None",
"not_available": "Not available", "not_available": "Not available",

View File

@@ -632,6 +632,12 @@ abstract class AppLocalizations {
/// **'No matches created yet'** /// **'No matches created yet'**
String get no_matches_created_yet; String get no_matches_created_yet;
/// No description provided for @no_players_available.
///
/// In en, this message translates to:
/// **'No players available'**
String get no_players_available;
/// No description provided for @no_players_created_yet. /// No description provided for @no_players_created_yet.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@@ -674,6 +680,12 @@ abstract class AppLocalizations {
/// **'No statistics available'** /// **'No statistics available'**
String get no_statistics_available; String get no_statistics_available;
/// No description provided for @no_teams_available.
///
/// In en, this message translates to:
/// **'No teams available'**
String get no_teams_available;
/// No description provided for @none. /// No description provided for @none.
/// ///
/// In en, this message translates to: /// In en, this message translates to:

View File

@@ -291,6 +291,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get no_matches_created_yet => 'Noch keine Spiele erstellt'; String get no_matches_created_yet => 'Noch keine Spiele erstellt';
@override
String get no_players_available => 'Keine Spieler:innen verfügbar';
@override @override
String get no_players_created_yet => 'Noch keine Spieler:in erstellt'; String get no_players_created_yet => 'Noch keine Spieler:in erstellt';
@@ -313,6 +316,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get no_statistics_available => 'Keine Statistiken verfügbar'; String get no_statistics_available => 'Keine Statistiken verfügbar';
@override
String get no_teams_available => 'Keine Teams verfügbar';
@override @override
String get none => 'Kein'; String get none => 'Kein';

View File

@@ -291,6 +291,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get no_matches_created_yet => 'No matches created yet'; String get no_matches_created_yet => 'No matches created yet';
@override
String get no_players_available => 'No players available';
@override @override
String get no_players_created_yet => 'No players created yet'; String get no_players_created_yet => 'No players created yet';
@@ -313,6 +316,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get no_statistics_available => 'No statistics available'; String get no_statistics_available => 'No statistics available';
@override
String get no_teams_available => 'No teams available';
@override @override
String get none => 'None'; String get none => 'None';

View File

@@ -162,15 +162,24 @@ class _MatchDetailViewState extends State<MatchDetailView> {
title: loc.teams, title: loc.teams,
icon: Icons.scoreboard, icon: Icons.scoreboard,
horizontalAlignment: CrossAxisAlignment.start, horizontalAlignment: CrossAxisAlignment.start,
content: Wrap( content:
alignment: WrapAlignment.start, localMatch.teams != null && localMatch.teams!.isNotEmpty
crossAxisAlignment: WrapCrossAlignment.start, ? Wrap(
spacing: 12, alignment: WrapAlignment.start,
runSpacing: 8, crossAxisAlignment: WrapCrossAlignment.start,
children: (localMatch.teams ?? []).map((team) { spacing: 12,
return TeamCard(team: team); runSpacing: 8,
}).toList(), children: (localMatch.teams ?? []).map((team) {
), return TeamCard(team: team);
}).toList(),
)
: Text(
loc.no_teams_available,
style: const TextStyle(
fontSize: 14,
color: CustomTheme.textColor,
),
),
), ),
] else ...[ ] else ...[
// Players // Players
@@ -178,19 +187,26 @@ class _MatchDetailViewState extends State<MatchDetailView> {
title: loc.players, title: loc.players,
icon: Icons.people, icon: Icons.people,
horizontalAlignment: CrossAxisAlignment.start, horizontalAlignment: CrossAxisAlignment.start,
content: Wrap( content: localMatch.players.isNotEmpty
alignment: WrapAlignment.start, ? Wrap(
crossAxisAlignment: WrapCrossAlignment.start, alignment: WrapAlignment.start,
spacing: 12, crossAxisAlignment: WrapCrossAlignment.start,
runSpacing: 8, spacing: 12,
children: localMatch.players.map((player) { runSpacing: 8,
return TextIconTile( children: localMatch.players.map((player) {
text: player.name, return TextIconTile(
suffixText: getNameCountText(player), text: player.name,
iconEnabled: false, suffixText: getNameCountText(player),
); );
}).toList(), }).toList(),
), )
: Text(
loc.no_players_available,
style: const TextStyle(
fontSize: 14,
color: CustomTheme.textColor,
),
),
), ),
], ],
const SizedBox(height: 15), const SizedBox(height: 15),

View File

@@ -221,7 +221,9 @@ class _MatchTileState extends State<MatchTile> {
const SizedBox(height: 12), const SizedBox(height: 12),
], ],
if (match.teams != null && match.teams!.isNotEmpty) ...[ if (match.teams != null &&
match.teams!.isNotEmpty &&
match.isTeamMatch) ...[
// Team display // Team display
Text( Text(
loc.teams, loc.teams,
@@ -275,10 +277,17 @@ class _MatchTileState extends State<MatchTile> {
return TextIconTile( return TextIconTile(
text: player.name, text: player.name,
suffixText: getNameCountText(player), suffixText: getNameCountText(player),
iconEnabled: false,
); );
}).toList(), }).toList(),
), ),
] else ...[
Text(
loc.no_players_available,
style: const TextStyle(
fontSize: 14,
color: CustomTheme.hintColor,
),
),
], ],
], ],
), ),