added more blocs

This commit is contained in:
2024-02-07 18:54:48 +01:00
parent 3610c466d2
commit c5ede79dc4
32 changed files with 668 additions and 429 deletions

View File

@@ -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,
));
}
}

View File

@@ -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];
}

View File

@@ -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];
}