diff --git a/lib/src/ui/bloc/details_bloc.dart b/lib/src/ui/bloc/details_bloc.dart index 9224a59..944c9b8 100644 --- a/lib/src/ui/bloc/details_bloc.dart +++ b/lib/src/ui/bloc/details_bloc.dart @@ -57,6 +57,7 @@ class DetailsBloc extends Bloc { emit( state.copyWith( trackingType: TrackingMediumType.manga, + heroImagePrefix: event.heroImagePrefix, data: event.manga, ), ); diff --git a/lib/src/ui/bloc/details_event.dart b/lib/src/ui/bloc/details_event.dart index a41ea28..ba38e76 100644 --- a/lib/src/ui/bloc/details_event.dart +++ b/lib/src/ui/bloc/details_event.dart @@ -15,10 +15,15 @@ class AnimeDetailsRequestedEvent extends DetailsEvent { } class MangaDetailsRequestedEvent extends DetailsEvent { - MangaDetailsRequestedEvent(this.manga); + MangaDetailsRequestedEvent( + this.manga, { + this.heroImagePrefix, + }); /// The manga to show details about final MangaTrackingData manga; + + final String? heroImagePrefix; } class DetailsUpdatedEvent extends DetailsEvent { diff --git a/lib/src/ui/pages/anime_list.dart b/lib/src/ui/pages/anime_list.dart index 24e949e..8a0faf7 100644 --- a/lib/src/ui/pages/anime_list.dart +++ b/lib/src/ui/pages/anime_list.dart @@ -178,10 +178,13 @@ class AnimeListPageState extends State { }, child: AnimeCoverImage( url: anime.thumbnailUrl, - hero: anime.id, + hero: 'grid_${anime.id}', onTap: () { context.read().add( - AnimeDetailsRequestedEvent(anime), + AnimeDetailsRequestedEvent( + anime, + heroImagePrefix: 'grid_', + ), ); }, extra: Align( @@ -227,11 +230,14 @@ class AnimeListPageState extends State { ); }, child: AnimeCoverImage( - hero: manga.id, + hero: 'grid_${manga.id}', url: manga.thumbnailUrl, onTap: () { context.read().add( - MangaDetailsRequestedEvent(manga), + MangaDetailsRequestedEvent( + manga, + heroImagePrefix: 'grid_' + ), ); }, extra: Align(