fix: Fix hero transition for images

This commit is contained in:
2026-07-25 20:57:14 +02:00
parent 8a31f2b72d
commit 90a7531d72
3 changed files with 17 additions and 5 deletions

View File

@@ -57,6 +57,7 @@ class DetailsBloc extends Bloc<DetailsEvent, DetailsState> {
emit(
state.copyWith(
trackingType: TrackingMediumType.manga,
heroImagePrefix: event.heroImagePrefix,
data: event.manga,
),
);

View File

@@ -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 {

View File

@@ -178,10 +178,13 @@ class AnimeListPageState extends State<AnimeListPage> {
},
child: AnimeCoverImage(
url: anime.thumbnailUrl,
hero: anime.id,
hero: 'grid_${anime.id}',
onTap: () {
context.read<DetailsBloc>().add(
AnimeDetailsRequestedEvent(anime),
AnimeDetailsRequestedEvent(
anime,
heroImagePrefix: 'grid_',
),
);
},
extra: Align(
@@ -227,11 +230,14 @@ class AnimeListPageState extends State<AnimeListPage> {
);
},
child: AnimeCoverImage(
hero: manga.id,
hero: 'grid_${manga.id}',
url: manga.thumbnailUrl,
onTap: () {
context.read<DetailsBloc>().add(
MangaDetailsRequestedEvent(manga),
MangaDetailsRequestedEvent(
manga,
heroImagePrefix: 'grid_'
),
);
},
extra: Align(