24 lines
800 B
Dart
24 lines
800 B
Dart
import 'dart:async';
|
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
import 'package:finlytic_app/features/favorites/repositories/favorites_repository.dart';
|
|
import 'favorites_event.dart';
|
|
import 'favorites_state.dart';
|
|
|
|
class FavoritesBloc extends Bloc<FavoritesEvent, FavoritesState> {
|
|
final FavoritesRepository repository;
|
|
|
|
FavoritesBloc({required this.repository}) : super(FavoritesInitial()) {
|
|
on<LoadFavorites>(_onLoadFavorites);
|
|
}
|
|
|
|
Future<void> _onLoadFavorites(LoadFavorites event, Emitter<FavoritesState> emit) async {
|
|
emit(FavoritesLoading());
|
|
try {
|
|
final favorites = await repository.fetchFavoritesDetails(event.symbols);
|
|
emit(FavoritesLoaded(favorites));
|
|
} catch (e) {
|
|
emit(const FavoritesError("Fehler beim Laden der Favoriten."));
|
|
}
|
|
}
|
|
}
|