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( emit(
state.copyWith( state.copyWith(
trackingType: TrackingMediumType.manga, trackingType: TrackingMediumType.manga,
heroImagePrefix: event.heroImagePrefix,
data: event.manga, data: event.manga,
), ),
); );

View File

@@ -15,10 +15,15 @@ class AnimeDetailsRequestedEvent extends DetailsEvent {
} }
class MangaDetailsRequestedEvent extends DetailsEvent { class MangaDetailsRequestedEvent extends DetailsEvent {
MangaDetailsRequestedEvent(this.manga); MangaDetailsRequestedEvent(
this.manga, {
this.heroImagePrefix,
});
/// The manga to show details about /// The manga to show details about
final MangaTrackingData manga; final MangaTrackingData manga;
final String? heroImagePrefix;
} }
class DetailsUpdatedEvent extends DetailsEvent { class DetailsUpdatedEvent extends DetailsEvent {

View File

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