From 0822039a5f031574e77c6d1568be82906c55414a Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 7 Mar 2026 21:50:25 +0100 Subject: [PATCH] Fix: Not updated match view after updating matches players --- .../views/main_menu/match_view/match_view.dart | 2 +- lib/presentation/widgets/tiles/match_tile.dart | 16 ++++------------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/lib/presentation/views/main_menu/match_view/match_view.dart b/lib/presentation/views/main_menu/match_view/match_view.dart index e5a4e29..8cca4a0 100644 --- a/lib/presentation/views/main_menu/match_view/match_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_view.dart @@ -144,7 +144,7 @@ class _MatchViewState extends State { if (mounted) { setState(() { final loadedMatches = results[0] as List; - matches = loadedMatches + matches = [...loadedMatches] ..sort((a, b) => b.createdAt.compareTo(a.createdAt)); isLoading = false; }); diff --git a/lib/presentation/widgets/tiles/match_tile.dart b/lib/presentation/widgets/tiles/match_tile.dart index 2f990cb..7231787 100644 --- a/lib/presentation/widgets/tiles/match_tile.dart +++ b/lib/presentation/widgets/tiles/match_tile.dart @@ -5,7 +5,6 @@ import 'package:intl/intl.dart'; import 'package:tallee/core/common.dart'; import 'package:tallee/core/custom_theme.dart'; import 'package:tallee/data/dto/match.dart'; -import 'package:tallee/data/dto/player.dart'; import 'package:tallee/l10n/generated/app_localizations.dart'; import 'package:tallee/presentation/widgets/tiles/text_icon_tile.dart'; @@ -41,20 +40,13 @@ class MatchTile extends StatefulWidget { } class _MatchTileState extends State { - late List _allPlayers; - - @override - void initState() { - super.initState(); - _allPlayers = [...widget.match.players]; - _allPlayers.sort((a, b) => a.name.compareTo(b.name)); - } - @override Widget build(BuildContext context) { final match = widget.match; final group = widget.match.group; final winner = widget.match.winner; + final players = [...widget.match.players] + ..sort((a, b) => a.name.compareTo(b.name)); final loc = AppLocalizations.of(context); return GestureDetector( @@ -197,7 +189,7 @@ class _MatchTileState extends State { const SizedBox(height: 12), ], - if (_allPlayers.isNotEmpty && widget.compact == false) ...[ + if (players.isNotEmpty && widget.compact == false) ...[ Text( loc.players, style: const TextStyle( @@ -210,7 +202,7 @@ class _MatchTileState extends State { Wrap( spacing: 6, runSpacing: 6, - children: _allPlayers.map((player) { + children: players.map((player) { return TextIconTile(text: player.name, iconEnabled: false); }).toList(), ),