From 009fba1e2544d8c4f38c5a6169b495247b5ab458 Mon Sep 17 00:00:00 2001 From: tom-anders <13141438+tom-anders@users.noreply.github.com> Date: Sun, 23 Mar 2025 16:33:54 +0100 Subject: [PATCH] fix: prevent move list from resizing when first move is made --- lib/src/view/game/game_player.dart | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/src/view/game/game_player.dart b/lib/src/view/game/game_player.dart index d9cd931065..758a9f8d93 100644 --- a/lib/src/view/game/game_player.dart +++ b/lib/src/view/game/game_player.dart @@ -152,9 +152,9 @@ class GamePlayer extends StatelessWidget { ), if (timeToMove != null) MoveExpiration(timeToMove: timeToMove!, mePlaying: mePlaying) - else if (materialDiff != null) + else MaterialDifferenceDisplay( - materialDiff: materialDiff!, + materialDiff: materialDiff, materialDifferenceFormat: materialDifferenceFormat, ), // to avoid shifts use an empty text widget @@ -322,26 +322,28 @@ class MaterialDifferenceDisplay extends StatelessWidget { this.materialDifferenceFormat = MaterialDifferenceFormat.materialDifference, }); - final MaterialDiffSide materialDiff; + final MaterialDiffSide? materialDiff; final MaterialDifferenceFormat? materialDifferenceFormat; @override Widget build(BuildContext context) { final IMap piecesToRender = - (materialDifferenceFormat == MaterialDifferenceFormat.capturedPieces - ? materialDiff.capturedPieces - : materialDiff.pieces); + materialDiff != null + ? (materialDifferenceFormat == MaterialDifferenceFormat.capturedPieces + ? materialDiff!.capturedPieces + : materialDiff!.pieces) + : IMap(); return materialDifferenceFormat?.visible ?? true ? Row( children: [ for (final role in Role.values) - for (int i = 0; i < piecesToRender[role]!; i++) + for (int i = 0; i < (piecesToRender.get(role) ?? 0); i++) Icon(_iconByRole[role], size: 13, color: textShade(context, 0.5)), const SizedBox(width: 3), Text( style: TextStyle(fontSize: 13, color: textShade(context, 0.5)), - materialDiff.score > 0 ? '+${materialDiff.score}' : '', + materialDiff != null && materialDiff!.score > 0 ? '+${materialDiff!.score}' : '', ), ], )