Fix refresh all button

This commit is contained in:
2025-02-22 17:17:31 +01:00
parent 8fd0511242
commit 82f8748177

View File

@@ -63,6 +63,14 @@ class _MyHomePageState extends State<MyHomePage> {
Future<void> _refreshGames() async { Future<void> _refreshGames() async {
final games = await GameRepository.getAll(); final games = await GameRepository.getAll();
games.forEach((key, game) {
game.updateActualVersion().then((_) {
GameRepository.upsert(game);
setState(() {
games[game.name] = game;
});
});
});
setState(() { setState(() {
this.games = games; this.games = games;
}); });
@@ -91,7 +99,8 @@ class _MyHomePageState extends State<MyHomePage> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Expanded( Expanded(
child: i < games.length child:
i < games.length
? GameCard( ? GameCard(
game: games.values.elementAt(i), game: games.values.elementAt(i),
onGameUpdated: (game) async { onGameUpdated: (game) async {
@@ -101,9 +110,13 @@ class _MyHomePageState extends State<MyHomePage> {
}); });
}, },
onDelete: () async { onDelete: () async {
await GameRepository.delete(games.values.elementAt(i)); await GameRepository.delete(
games.values.elementAt(i),
);
setState(() { setState(() {
games.remove(games.values.elementAt(i).name); games.remove(
games.values.elementAt(i).name,
);
}); });
}, },
) )
@@ -118,7 +131,8 @@ class _MyHomePageState extends State<MyHomePage> {
), ),
const SizedBox(width: 8), const SizedBox(width: 8),
Expanded( Expanded(
child: i + 1 < games.length child:
i + 1 < games.length
? GameCard( ? GameCard(
game: games.values.elementAt(i + 1), game: games.values.elementAt(i + 1),
onGameUpdated: (game) async { onGameUpdated: (game) async {
@@ -128,9 +142,13 @@ class _MyHomePageState extends State<MyHomePage> {
}); });
}, },
onDelete: () async { onDelete: () async {
await GameRepository.delete(games.values.elementAt(i + 1)); await GameRepository.delete(
games.values.elementAt(i + 1),
);
setState(() { setState(() {
games.remove(games.values.elementAt(i + 1).name); games.remove(
games.values.elementAt(i + 1).name,
);
}); });
}, },
) )