Fix grid a fucking gain

This commit is contained in:
2025-02-22 18:13:09 +01:00
parent bbd3583939
commit 795060a05b

View File

@@ -90,73 +90,41 @@ class _MyHomePageState extends State<MyHomePage> {
onRefresh: _refreshGames,
child: SingleChildScrollView(
padding: const EdgeInsets.all(8),
child: Column(
child: Wrap(
spacing: 8,
runSpacing: 8,
children: [
for (var i = 0; i < games.length + 1; i += 2)
Padding(
padding: const EdgeInsets.only(bottom: 8),
child: Row(
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;
});
},
),
),
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
),
],
...games.values.map(
(game) => SizedBox(
width: (MediaQuery.of(context).size.width - 24) / 2,
child: GameCard(
game: game,
onGameUpdated: (game) async {
game = await GameRepository.upsert(game);
setState(() {
games[game.name] = game;
});
},
onDelete: () async {
await GameRepository.delete(game);
setState(() {
games.remove(game.name);
});
},
),
),
),
SizedBox(
width: (MediaQuery.of(context).size.width - 24) / 2,
child: NewGameCard(
onGameCreated: (game) async {
game = await GameRepository.upsert(game);
setState(() {
games[game.name] = game;
});
},
),
),
],
),
),