From 8ae85c925d4795338dba1d3656fb22abd4d56b95 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 23 Nov 2025 14:29:23 +0100 Subject: [PATCH 1/4] Fixed double --- lib/presentation/widgets/tiles/statistics_tile.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/presentation/widgets/tiles/statistics_tile.dart b/lib/presentation/widgets/tiles/statistics_tile.dart index 3692167..6e3b9b2 100644 --- a/lib/presentation/widgets/tiles/statistics_tile.dart +++ b/lib/presentation/widgets/tiles/statistics_tile.dart @@ -80,7 +80,7 @@ class StatisticsTile extends StatelessWidget { const Spacer(), Center( child: Text( - values[index].$2 <= 1 + values[index].$2 <= 1 && values[index].$2 is double ? values[index].$2.toStringAsFixed(2) : values[index].$2.toString(), textAlign: TextAlign.center, From 9e8bab1a6055be5732047074fc64e49a20203613 Mon Sep 17 00:00:00 2001 From: mathiskirchner Date: Sun, 23 Nov 2025 15:21:40 +0100 Subject: [PATCH 2/4] add artificial delay to group list loading --- lib/presentation/views/main_menu/groups_view.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/presentation/views/main_menu/groups_view.dart b/lib/presentation/views/main_menu/groups_view.dart index e9af8b9..7d852bc 100644 --- a/lib/presentation/views/main_menu/groups_view.dart +++ b/lib/presentation/views/main_menu/groups_view.dart @@ -34,7 +34,10 @@ class _GroupsViewState extends State { void initState() { super.initState(); db = Provider.of(context, listen: false); - _allGroupsFuture = db.groupDao.getAllGroups(); + _allGroupsFuture = Future.delayed( + const Duration(milliseconds: 400), + () => db.groupDao.getAllGroups(), + ); } @override From 26fadf5093ee49ef0575fdfe7bba1d23042137fc Mon Sep 17 00:00:00 2001 From: mathiskirchner Date: Sun, 23 Nov 2025 15:22:59 +0100 Subject: [PATCH 3/4] add artificial delay to loadPlayerList for skeleton loading --- lib/presentation/views/main_menu/create_group_view.dart | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/presentation/views/main_menu/create_group_view.dart b/lib/presentation/views/main_menu/create_group_view.dart index b077bbc..11f241c 100644 --- a/lib/presentation/views/main_menu/create_group_view.dart +++ b/lib/presentation/views/main_menu/create_group_view.dart @@ -54,7 +54,11 @@ class _CreateGroupViewState extends State { } void loadPlayerList() { - _allPlayersFuture = db.playerDao.getAllPlayers(); + _allPlayersFuture = Future.delayed( + const Duration(milliseconds: 400), + () => db.playerDao.getAllPlayers(), + ); + suggestedPlayers = skeletonData; _allPlayersFuture.then((loadedPlayers) { setState(() { loadedPlayers.sort((a, b) => a.name.compareTo(b.name)); From 604a541392c0bfb30b19e4bca62be7268f22ce93 Mon Sep 17 00:00:00 2001 From: mathiskirchner Date: Sun, 23 Nov 2025 17:09:52 +0100 Subject: [PATCH 4/4] set delay in all future builders to 250ms --- lib/presentation/views/main_menu/create_group_view.dart | 2 +- lib/presentation/views/main_menu/groups_view.dart | 2 +- lib/presentation/views/main_menu/home_view.dart | 2 +- lib/presentation/views/main_menu/statistics_view.dart | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/presentation/views/main_menu/create_group_view.dart b/lib/presentation/views/main_menu/create_group_view.dart index 11f241c..59f72ed 100644 --- a/lib/presentation/views/main_menu/create_group_view.dart +++ b/lib/presentation/views/main_menu/create_group_view.dart @@ -55,7 +55,7 @@ class _CreateGroupViewState extends State { void loadPlayerList() { _allPlayersFuture = Future.delayed( - const Duration(milliseconds: 400), + const Duration(milliseconds: 250), () => db.playerDao.getAllPlayers(), ); suggestedPlayers = skeletonData; diff --git a/lib/presentation/views/main_menu/groups_view.dart b/lib/presentation/views/main_menu/groups_view.dart index 7d852bc..aaef1a5 100644 --- a/lib/presentation/views/main_menu/groups_view.dart +++ b/lib/presentation/views/main_menu/groups_view.dart @@ -35,7 +35,7 @@ class _GroupsViewState extends State { super.initState(); db = Provider.of(context, listen: false); _allGroupsFuture = Future.delayed( - const Duration(milliseconds: 400), + const Duration(milliseconds: 250), () => db.groupDao.getAllGroups(), ); } diff --git a/lib/presentation/views/main_menu/home_view.dart b/lib/presentation/views/main_menu/home_view.dart index 34e4be3..2230a91 100644 --- a/lib/presentation/views/main_menu/home_view.dart +++ b/lib/presentation/views/main_menu/home_view.dart @@ -27,7 +27,7 @@ class _HomeViewState extends State { _groupCountFuture = db.groupDao.getGroupCount(); Future.wait([_gameCountFuture, _groupCountFuture]).then((_) async { - await Future.delayed(const Duration(milliseconds: 50)); + await Future.delayed(const Duration(milliseconds: 250)); if (mounted) { setState(() { isLoading = false; diff --git a/lib/presentation/views/main_menu/statistics_view.dart b/lib/presentation/views/main_menu/statistics_view.dart index 02eab46..6107586 100644 --- a/lib/presentation/views/main_menu/statistics_view.dart +++ b/lib/presentation/views/main_menu/statistics_view.dart @@ -29,7 +29,7 @@ class _StatisticsViewState extends State { _playersFuture = db.playerDao.getAllPlayers(); Future.wait([_gamesFuture, _playersFuture]).then((results) async { - await Future.delayed(const Duration(milliseconds: 200)); + await Future.delayed(const Duration(milliseconds: 250)); final games = results[0] as List; final players = results[1] as List; winCounts = _calculateWinsForAllPlayers(games, players);