27 lines
815 B
Dart
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,
|
|
));
|
|
}
|
|
} |