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 { final MetadataRepository _metadataRepository; BudgetBloc({required MetadataRepository metadataRepository}) : _metadataRepository = metadataRepository, super(const BudgetState()) { on(_onBudgetsLoad); _metadataRepository .getBudgetsStream() .listen((budgets) => add(BudgetsLoad(budgets))); } _onBudgetsLoad( BudgetsLoad event, Emitter emit ) { emit(state.copyWith( budgets: event.budgets, )); } }