Fix refresh all button
This commit is contained in:
100
lib/main.dart
100
lib/main.dart
@@ -63,6 +63,14 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
|
||||
Future<void> _refreshGames() async {
|
||||
final games = await GameRepository.getAll();
|
||||
games.forEach((key, game) {
|
||||
game.updateActualVersion().then((_) {
|
||||
GameRepository.upsert(game);
|
||||
setState(() {
|
||||
games[game.name] = game;
|
||||
});
|
||||
});
|
||||
});
|
||||
setState(() {
|
||||
this.games = games;
|
||||
});
|
||||
@@ -91,50 +99,60 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Expanded(
|
||||
child: i < games.length
|
||||
? GameCard(
|
||||
game: games.values.elementAt(i),
|
||||
onGameUpdated: (game) async {
|
||||
game = await GameRepository.upsert(game);
|
||||
setState(() {
|
||||
games[game.name] = game;
|
||||
});
|
||||
},
|
||||
onDelete: () async {
|
||||
await GameRepository.delete(games.values.elementAt(i));
|
||||
setState(() {
|
||||
games.remove(games.values.elementAt(i).name);
|
||||
});
|
||||
},
|
||||
)
|
||||
: NewGameCard(
|
||||
onGameCreated: (game) async {
|
||||
game = await GameRepository.upsert(game);
|
||||
setState(() {
|
||||
games[game.name] = game;
|
||||
});
|
||||
},
|
||||
),
|
||||
child:
|
||||
i < games.length
|
||||
? GameCard(
|
||||
game: games.values.elementAt(i),
|
||||
onGameUpdated: (game) async {
|
||||
game = await GameRepository.upsert(game);
|
||||
setState(() {
|
||||
games[game.name] = game;
|
||||
});
|
||||
},
|
||||
onDelete: () async {
|
||||
await GameRepository.delete(
|
||||
games.values.elementAt(i),
|
||||
);
|
||||
setState(() {
|
||||
games.remove(
|
||||
games.values.elementAt(i).name,
|
||||
);
|
||||
});
|
||||
},
|
||||
)
|
||||
: NewGameCard(
|
||||
onGameCreated: (game) async {
|
||||
game = await GameRepository.upsert(game);
|
||||
setState(() {
|
||||
games[game.name] = game;
|
||||
});
|
||||
},
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 8),
|
||||
Expanded(
|
||||
child: i + 1 < games.length
|
||||
? GameCard(
|
||||
game: games.values.elementAt(i + 1),
|
||||
onGameUpdated: (game) async {
|
||||
game = await GameRepository.upsert(game);
|
||||
setState(() {
|
||||
games[game.name] = game;
|
||||
});
|
||||
},
|
||||
onDelete: () async {
|
||||
await GameRepository.delete(games.values.elementAt(i + 1));
|
||||
setState(() {
|
||||
games.remove(games.values.elementAt(i + 1).name);
|
||||
});
|
||||
},
|
||||
)
|
||||
: const SizedBox(), // Empty space for odd number of items
|
||||
child:
|
||||
i + 1 < games.length
|
||||
? GameCard(
|
||||
game: games.values.elementAt(i + 1),
|
||||
onGameUpdated: (game) async {
|
||||
game = await GameRepository.upsert(game);
|
||||
setState(() {
|
||||
games[game.name] = game;
|
||||
});
|
||||
},
|
||||
onDelete: () async {
|
||||
await GameRepository.delete(
|
||||
games.values.elementAt(i + 1),
|
||||
);
|
||||
setState(() {
|
||||
games.remove(
|
||||
games.values.elementAt(i + 1).name,
|
||||
);
|
||||
});
|
||||
},
|
||||
)
|
||||
: const SizedBox(), // Empty space for odd number of items
|
||||
),
|
||||
],
|
||||
),
|
||||
|
Reference in New Issue
Block a user