changed games buttons

This commit is contained in:
SomnusVeritas
2023-10-21 11:25:12 +02:00
parent f2e0ce1694
commit 7a6c9ec8c7
3 changed files with 41 additions and 21 deletions

View File

@@ -1,12 +1,12 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:maggs_victory_voyage/services/db_helper.dart'; import 'package:maggs_victory_voyage/services/db_helper.dart';
import 'package:maggs_victory_voyage/widgets/GamesButton.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../models/game.dart'; import '../models/game.dart';
import '../models/profile.dart'; import '../models/profile.dart';
import '../services/games_provider.dart'; import '../services/games_provider.dart';
import '../services/profiles_provider.dart'; import '../services/profiles_provider.dart';
import '../widgets/games_button.dart';
class GamesPage extends StatefulWidget { class GamesPage extends StatefulWidget {
const GamesPage({super.key}); const GamesPage({super.key});
@@ -79,7 +79,12 @@ class _GamesPageState extends State<GamesPage> {
} else { } else {
final List<Widget> list = []; final List<Widget> list = [];
for (final game in games) { for (final game in games) {
list.add(const GamesButton()); list.add(
GamesButton(
title: game.name,
buttonPressed: () {},
),
);
} }
return list; return list;
} }

View File

@@ -1,19 +0,0 @@
import 'package:flutter/material.dart';
class GamesButton extends StatelessWidget {
const GamesButton({super.key});
@override
Widget build(BuildContext context) {
return Expanded(
child: Card(
child: Row(children: [
const Text('Title'),
TextButton(
child: const Text('I won'),
onPressed: () {},
)
]),
));
}
}

View File

@@ -0,0 +1,34 @@
import 'package:flutter/material.dart';
class GamesButton extends StatelessWidget {
const GamesButton(
{super.key, required this.title, required this.buttonPressed});
final String title;
final VoidCallback buttonPressed;
@override
Widget build(BuildContext context) {
return Expanded(
child: Card(
child: SizedBox(
width: double.infinity,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
title,
style: Theme.of(context).textTheme.headlineSmall,
),
const Padding(padding: EdgeInsets.symmetric(vertical: 10)),
FloatingActionButton.extended(
onPressed: buttonPressed,
label: const Text('I won'),
icon: const Icon(Icons.celebration),
)
],
),
),
),
);
}
}