28 lines
854 B
Dart
28 lines
854 B
Dart
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/category.dart';
|
|
|
|
part 'category_event.dart';
|
|
part 'category_state.dart';
|
|
|
|
class CategoryBloc extends Bloc<CategoryEvent, CategoryState> {
|
|
final AccountRepository _accountRepository;
|
|
|
|
CategoryBloc({required AccountRepository accountRepository}) : _accountRepository = accountRepository, super(const CategoryState()) {
|
|
on<CategoriesLoad>(_onCategoriesLoad);
|
|
|
|
_accountRepository
|
|
.getCategoriesStream()
|
|
.listen((categories) => add(CategoriesLoad(categories)));
|
|
}
|
|
|
|
_onCategoriesLoad(
|
|
CategoriesLoad event, Emitter<CategoryState> emit
|
|
) {
|
|
emit(state.copyWith(
|
|
categories: event.categories,
|
|
));
|
|
}
|
|
}
|