Files
Krezus/lib/domains/budget/budget_bloc.dart
2024-02-17 14:16:07 +01:00

27 lines
815 B
Dart

import 'package:equatable/equatable.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:tunas/repositories/metadata/models/budget.dart';
import 'package:tunas/repositories/metadata/metadata_repository.dart';
part 'budget_event.dart';
part 'budget_state.dart';
class BudgetBloc extends Bloc<BudgetEvent, BudgetState> {
final MetadataRepository _metadataRepository;
BudgetBloc({required MetadataRepository metadataRepository}) : _metadataRepository = metadataRepository, super(const BudgetState()) {
on<BudgetsLoad>(_onBudgetsLoad);
_metadataRepository
.getBudgetsStream()
.listen((budgets) => add(BudgetsLoad(budgets)));
}
_onBudgetsLoad(
BudgetsLoad event, Emitter<BudgetState> emit
) {
emit(state.copyWith(
budgets: event.budgets,
));
}
}