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 {
|
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,50 +99,60 @@ class _MyHomePageState extends State<MyHomePage> {
|
|||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Expanded(
|
Expanded(
|
||||||
child: i < games.length
|
child:
|
||||||
? GameCard(
|
i < games.length
|
||||||
game: games.values.elementAt(i),
|
? GameCard(
|
||||||
onGameUpdated: (game) async {
|
game: games.values.elementAt(i),
|
||||||
game = await GameRepository.upsert(game);
|
onGameUpdated: (game) async {
|
||||||
setState(() {
|
game = await GameRepository.upsert(game);
|
||||||
games[game.name] = game;
|
setState(() {
|
||||||
});
|
games[game.name] = game;
|
||||||
},
|
});
|
||||||
onDelete: () async {
|
},
|
||||||
await GameRepository.delete(games.values.elementAt(i));
|
onDelete: () async {
|
||||||
setState(() {
|
await GameRepository.delete(
|
||||||
games.remove(games.values.elementAt(i).name);
|
games.values.elementAt(i),
|
||||||
});
|
);
|
||||||
},
|
setState(() {
|
||||||
)
|
games.remove(
|
||||||
: NewGameCard(
|
games.values.elementAt(i).name,
|
||||||
onGameCreated: (game) async {
|
);
|
||||||
game = await GameRepository.upsert(game);
|
});
|
||||||
setState(() {
|
},
|
||||||
games[game.name] = game;
|
)
|
||||||
});
|
: NewGameCard(
|
||||||
},
|
onGameCreated: (game) async {
|
||||||
),
|
game = await GameRepository.upsert(game);
|
||||||
|
setState(() {
|
||||||
|
games[game.name] = game;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 8),
|
const SizedBox(width: 8),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: i + 1 < games.length
|
child:
|
||||||
? GameCard(
|
i + 1 < games.length
|
||||||
game: games.values.elementAt(i + 1),
|
? GameCard(
|
||||||
onGameUpdated: (game) async {
|
game: games.values.elementAt(i + 1),
|
||||||
game = await GameRepository.upsert(game);
|
onGameUpdated: (game) async {
|
||||||
setState(() {
|
game = await GameRepository.upsert(game);
|
||||||
games[game.name] = game;
|
setState(() {
|
||||||
});
|
games[game.name] = game;
|
||||||
},
|
});
|
||||||
onDelete: () async {
|
},
|
||||||
await GameRepository.delete(games.values.elementAt(i + 1));
|
onDelete: () async {
|
||||||
setState(() {
|
await GameRepository.delete(
|
||||||
games.remove(games.values.elementAt(i + 1).name);
|
games.values.elementAt(i + 1),
|
||||||
});
|
);
|
||||||
},
|
setState(() {
|
||||||
)
|
games.remove(
|
||||||
: const SizedBox(), // Empty space for odd number of items
|
games.values.elementAt(i + 1).name,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
)
|
||||||
|
: const SizedBox(), // Empty space for odd number of items
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
Reference in New Issue
Block a user