Files
Krezus/lib/pages/transactions/widgets/transaction_add_dialog.dart

41 lines
1.2 KiB
Dart

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<AccountBloc>(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<AccountBloc>().add(TransactionAdd()),
child: Text('Add')
),
],
content: SizedBox(
height: 400,
child: TransactionAddForm(),
)
);
}
}