added more blocs
This commit is contained in:
@@ -1,10 +1,27 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:tunas/repositories/account/account_repository.dart';
|
||||
import 'package:tunas/repositories/account/models/budget.dart';
|
||||
|
||||
part 'budget_event.dart';
|
||||
part 'budget_state.dart';
|
||||
|
||||
class BudgetBloc extends Bloc<BudgetEvent, BudgetState> {
|
||||
BudgetBloc(super.initialState);
|
||||
final AccountRepository _accountRepository;
|
||||
|
||||
BudgetBloc({required AccountRepository accountRepository}) : _accountRepository = accountRepository, super(const BudgetState()) {
|
||||
on<BudgetsLoad>(_onBudgetsLoad);
|
||||
|
||||
_accountRepository
|
||||
.getBudgetsStream()
|
||||
.listen((budgets) => add(BudgetsLoad(budgets)));
|
||||
}
|
||||
|
||||
_onBudgetsLoad(
|
||||
BudgetsLoad event, Emitter<BudgetState> emit
|
||||
) {
|
||||
emit(state.copyWith(
|
||||
budgets: event.budgets,
|
||||
));
|
||||
}
|
||||
}
|
||||
@@ -5,4 +5,12 @@ sealed class BudgetEvent extends Equatable {
|
||||
|
||||
@override
|
||||
List<Object> get props => [];
|
||||
}
|
||||
|
||||
final class BudgetsLoad extends BudgetEvent {
|
||||
final List<Budget> budgets;
|
||||
const BudgetsLoad(this.budgets);
|
||||
|
||||
@override
|
||||
List<Object> get props => [budgets];
|
||||
}
|
||||
@@ -1,6 +1,20 @@
|
||||
part of 'budget_bloc.dart';
|
||||
|
||||
final class BudgetState extends Equatable {
|
||||
final List<Budget> budgets;
|
||||
|
||||
const BudgetState({
|
||||
this.budgets = const [],
|
||||
});
|
||||
|
||||
BudgetState copyWith({
|
||||
List<Budget>? budgets,
|
||||
}) {
|
||||
return BudgetState(
|
||||
budgets: budgets ?? this.budgets,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
List<Object?> get props => [];
|
||||
}
|
||||
List<Object?> get props => [budgets];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user