chore: add on dismiss callback to HowToPlayDialog

pull/254/head
arturplaczek 3 years ago
parent d54beef599
commit 3f150c77a3

@ -4,25 +4,40 @@ import 'package:flutter/material.dart';
import 'package:pinball/l10n/l10n.dart';
class HowToPlayDialog extends StatelessWidget {
const HowToPlayDialog({Key? key}) : super(key: key);
const HowToPlayDialog({
Key? key,
required this.onDismissCallback,
}) : super(key: key);
final VoidCallback onDismissCallback;
@override
Widget build(BuildContext context) {
final l10n = context.l10n;
const spacing = SizedBox(height: 16);
return Dialog(
child: Padding(
padding: const EdgeInsets.all(20),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Text(l10n.howToPlay),
spacing,
const _LaunchControls(),
spacing,
const _FlipperControls(),
],
return WillPopScope(
onWillPop: () {
Future.delayed(
kThemeAnimationDuration,
onDismissCallback.call,
);
return Future.value(true);
},
child: Dialog(
child: Padding(
padding: const EdgeInsets.all(20),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Text(l10n.howToPlay),
spacing,
const _LaunchControls(),
spacing,
const _FlipperControls(),
],
),
),
),
);

@ -9,7 +9,11 @@ import '../../helpers/helpers.dart';
void main() {
group('HowToPlayDialog', () {
testWidgets('displays dialog', (tester) async {
await tester.pumpApp(HowToPlayDialog());
await tester.pumpApp(
HowToPlayDialog(
onDismissCallback: () {},
),
);
expect(find.byType(Dialog), findsOneWidget);
});

Loading…
Cancel
Save