chore: add on dismiss callback to HowToPlayDialog

pull/254/head
arturplaczek 3 years ago
parent f60d29b7d1
commit 12ce2083b3

@ -5,14 +5,24 @@ import 'package:pinball/l10n/l10n.dart';
import 'package:pinball_ui/pinball_ui.dart'; import 'package:pinball_ui/pinball_ui.dart';
class HowToPlayDialog extends StatelessWidget { 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 @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final l10n = context.l10n; final l10n = context.l10n;
const spacing = SizedBox(height: 16); const spacing = SizedBox(height: 16);
return PixelatedDecoration( return WillPopScope(
onWillPop: () {
onDismissCallback.call();
return Future.value(true);
},
child: PixelatedDecoration(
header: Text(l10n.howToPlay), header: Text(l10n.howToPlay),
body: ListView( body: ListView(
children: const [ children: const [
@ -22,6 +32,7 @@ class HowToPlayDialog extends StatelessWidget {
_FlipperControls(), _FlipperControls(),
], ],
), ),
),
); );
} }
} }

@ -9,10 +9,14 @@ import '../../helpers/helpers.dart';
void main() { void main() {
group('HowToPlayDialog', () { group('HowToPlayDialog', () {
testWidgets('displays content', (tester) async { testWidgets('displays dialog', (tester) async {
final l10n = await AppLocalizations.delegate.load(Locale('en')); final l10n = await AppLocalizations.delegate.load(Locale('en'));
await tester.pumpApp(HowToPlayDialog()); await tester.pumpApp(
HowToPlayDialog(
onDismissCallback: () {},
),
);
expect(find.text(l10n.launchControls), findsOneWidget); expect(find.text(l10n.launchControls), findsOneWidget);
}); });

Loading…
Cancel
Save