simple popup

This commit is contained in:
SomnusVeritas
2023-10-21 11:39:29 +02:00
parent 7a6c9ec8c7
commit 9c08cab231
2 changed files with 55 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:maggs_victory_voyage/services/db_helper.dart';
import 'package:maggs_victory_voyage/widgets/games_popup.dart';
import 'package:provider/provider.dart';
import '../models/game.dart';
@@ -82,7 +83,16 @@ class _GamesPageState extends State<GamesPage> {
list.add(
GamesButton(
title: game.name,
buttonPressed: () {},
buttonPressed: () {
showDialog(
context: context,
builder: (context) => GamesPopup(
withPlacements: game.rewards.length > 1,
game: game,
onSubmitted: (_) {},
),
);
},
),
);
}

View File

@@ -0,0 +1,44 @@
import 'package:flutter/material.dart';
import '../models/game.dart';
typedef IntCallback = Function(int);
class GamesPopup extends StatelessWidget {
const GamesPopup({
super.key,
this.withPlacements = false,
required this.onSubmitted,
required this.game,
});
final bool withPlacements;
final IntCallback onSubmitted;
final Game game;
@override
Widget build(BuildContext context) {
return SizedBox(
height: 400,
width: 400,
child: AlertDialog(
title: _getTitle(withPlacements),
content: _getContent(withPlacements),
),
);
}
Widget _getTitle(bool withPlacements) {
if (withPlacements) {
return const Text('Which place did you achieve?');
}
return Text('Confirm you won at ${game.name}');
}
Widget _getContent(bool withPlacements) {
if (withPlacements) {
return const Text('');
} else {
return const Text('');
}
}
}