import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:tunas/domains/account/account_bloc.dart'; import 'package:tunas/pages/transactions/widgets/transaction_add_form.dart'; class TransactionAddDialog extends StatelessWidget { const TransactionAddDialog({super.key}); static void show(BuildContext context) => showDialog( context: context, barrierDismissible: false, useRootNavigator: false, builder: (_) => BlocProvider.value( value: BlocProvider.of(context), child: const TransactionAddDialog() ) ); static void hide(BuildContext context) => Navigator.pop(context); @override Widget build(BuildContext context) { return AlertDialog( title: Text('Add transaction'), actions: [ TextButton( onPressed: () => TransactionAddDialog.hide(context), child: Text('Close') ), TextButton( onPressed: () => context.read().add(TransactionAdd()), child: Text('Add') ), ], content: SizedBox( height: 400, child: TransactionAddForm(), ) ); } }