added more blocs
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:tunas/domains/account/account_bloc.dart';
|
||||
import 'package:tunas/domains/category/category_bloc.dart';
|
||||
import 'package:tunas/domains/transaction/transaction_bloc.dart';
|
||||
import 'package:tunas/pages/transactions/widgets/transaction_form.dart';
|
||||
import 'package:tunas/repositories/account/models/transaction.dart';
|
||||
|
||||
@@ -8,13 +9,16 @@ class TransactionAddDialog extends StatelessWidget {
|
||||
const TransactionAddDialog({super.key});
|
||||
|
||||
static void show(BuildContext context, Transaction? transaction) {
|
||||
context.read<AccountBloc>().add(TransactionSetCurrent(transaction));
|
||||
context.read<TransactionBloc>().add(TransactionSetCurrent(transaction));
|
||||
showDialog(
|
||||
context: context,
|
||||
barrierDismissible: false,
|
||||
useRootNavigator: false,
|
||||
builder: (_) => BlocProvider.value(
|
||||
value: BlocProvider.of<AccountBloc>(context),
|
||||
builder: (_) => MultiBlocProvider(
|
||||
providers: [
|
||||
BlocProvider.value(value: BlocProvider.of<TransactionBloc>(context)),
|
||||
BlocProvider.value(value: BlocProvider.of<CategoryBloc>(context)),
|
||||
],
|
||||
child: const TransactionAddDialog()
|
||||
)
|
||||
);
|
||||
@@ -29,14 +33,14 @@ class TransactionAddDialog extends StatelessWidget {
|
||||
icon: const Icon(Icons.close)
|
||||
),
|
||||
IconButton(
|
||||
onPressed: () => context.read<AccountBloc>().add(const TransactionAdd()),
|
||||
onPressed: () => context.read<TransactionBloc>().add(const TransactionAdd()),
|
||||
icon: const Icon(Icons.save)
|
||||
),
|
||||
];
|
||||
|
||||
if (currentTransaction != null) {
|
||||
actions.add(IconButton(
|
||||
onPressed: () => context.read<AccountBloc>().add(const TransactionDeleteCurrent()),
|
||||
onPressed: () => context.read<TransactionBloc>().add(const TransactionDeleteCurrent()),
|
||||
icon: const Icon(Icons.delete)
|
||||
));
|
||||
}
|
||||
@@ -46,7 +50,7 @@ class TransactionAddDialog extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BlocBuilder<AccountBloc, AccountState>(
|
||||
return BlocBuilder<TransactionBloc, TransactionState>(
|
||||
buildWhen: (previous, current) => previous.currentTransaction != current.currentTransaction,
|
||||
builder: (context, state) => AlertDialog(
|
||||
title: Text(state.currentTransaction == null ? 'Add Transaction' : 'Edit Transaction'),
|
||||
|
||||
Reference in New Issue
Block a user