41 lines
1.2 KiB
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(),
|
|
)
|
|
);
|
|
}
|
|
} |