feat(meta): Implement removing tracking items

This commit is contained in:
PapaTutuWawa committed 2023-02-06 20:40:18 +01:00
1 parent b240870ebf
commit 8df287b6eb
10 files changed
+153 -19

No files matched your search

+23
View File
@@ -18,6 +18,7 @@ class DetailsBloc extends Bloc<DetailsEvent, DetailsState> {
on<AnimeDetailsRequestedEvent>(_onAnimeRequested);
on<MangaDetailsRequestedEvent>(_onMangaRequested);
on<DetailsUpdatedEvent>(_onDetailsUpdated);
on<ItemRemovedEvent>(_onItemRemoved);
}
Future<void> _onAnimeRequested(AnimeDetailsRequestedEvent event, Emitter<DetailsState> emit) async {
@@ -77,4 +78,26 @@ class DetailsBloc extends Bloc<DetailsEvent, DetailsState> {
);
}
}
Future<void> _onItemRemoved(ItemRemovedEvent event, Emitter<DetailsState> emit) async {
emit(
state.copyWith(
data: null,
),
);
/// Remove the item from the database
final bloc = GetIt.I.get<AnimeListBloc>();
switch (event.trackingType) {
case TrackingMediumType.anime:
bloc.add(AnimeRemovedEvent(event.id));
break;
case TrackingMediumType.manga:
bloc.add(MangaRemovedEvent(event.id));
break;
}
// Navigate back
GetIt.I.get<NavigationBloc>().add(PoppedRouteEvent());
}
}