feat(meta): Implement removing tracking items
This commit is contained in:
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user