Fix duplicate hero tag.

This commit is contained in:
2025-02-15 10:35:09 +08:00
parent c9b7ea97bf
commit a2b113ca20
2 changed files with 122 additions and 80 deletions

View File

@@ -47,6 +47,7 @@ class ComicPage extends StatefulWidget {
required this.sourceKey,
this.cover,
this.title,
this.heroID,
});
final String id;
@@ -57,6 +58,8 @@ class ComicPage extends StatefulWidget {
final String? title;
final int? heroID;
@override
State<ComicPage> createState() => _ComicPageState();
}
@@ -86,6 +89,7 @@ class _ComicPageState extends LoadingState<ComicPage, ComicDetails>
title: widget.title,
sourceKey: widget.sourceKey,
cid: widget.id,
heroID: widget.heroID,
);
}
@@ -225,7 +229,7 @@ class _ComicPageState extends LoadingState<ComicPage, ComicDetails>
children: [
const SizedBox(width: 16),
Hero(
tag: "cover${comic.id}${comic.sourceKey}",
tag: "cover${widget.heroID}",
child: Container(
decoration: BoxDecoration(
color: context.colorScheme.primaryContainer,
@@ -776,6 +780,7 @@ class _ComicPageLoadingPlaceHolder extends StatelessWidget {
this.title,
required this.sourceKey,
required this.cid,
this.heroID,
});
final String? cover;
@@ -786,6 +791,8 @@ class _ComicPageLoadingPlaceHolder extends StatelessWidget {
final String cid;
final int? heroID;
@override
Widget build(BuildContext context) {
Widget buildContainer(double? width, double? height,
@@ -870,7 +877,7 @@ class _ComicPageLoadingPlaceHolder extends StatelessWidget {
}
return Hero(
tag: "cover$cid$sourceKey",
tag: "cover$heroID",
child: Container(
decoration: BoxDecoration(
color: context.colorScheme.primaryContainer,