diff --git a/lib/pages/search_trending/view.dart b/lib/pages/search_trending/view.dart index ad4a4c71..7c456660 100644 --- a/lib/pages/search_trending/view.dart +++ b/lib/pages/search_trending/view.dart @@ -61,7 +61,7 @@ class _SearchTrendingPageState extends State { ? min(640.0, maxWidth * 0.6) : maxWidth; final height = width * 528 / 1125; - _offset = height - 56 - Get.mediaQuery.padding.top; + _offset = height - 56 - MediaQuery.paddingOf(context).top; listener(); final removePadding = maxWidth > width; return Scaffold( diff --git a/lib/pages/video/introduction/pgc/widgets/pgc_panel.dart b/lib/pages/video/introduction/pgc/widgets/pgc_panel.dart index 2d8ba756..d38a33fd 100644 --- a/lib/pages/video/introduction/pgc/widgets/pgc_panel.dart +++ b/lib/pages/video/introduction/pgc/widgets/pgc_panel.dart @@ -158,9 +158,9 @@ class _PgcPanelState extends State { return Container( width: 150, height: 60, - margin: EdgeInsets.only( - right: index == widget.pages.length - 1 ? 0 : 10, - ), + margin: index != widget.pages.length - 1 + ? const EdgeInsets.only(right: 10) + : null, child: Material( color: theme.colorScheme.onInverseSurface, borderRadius: const BorderRadius.all(Radius.circular(6)), diff --git a/lib/pages/video/introduction/ugc/widgets/page.dart b/lib/pages/video/introduction/ugc/widgets/page.dart index dbe9872e..bc8fd6b8 100644 --- a/lib/pages/video/introduction/ugc/widgets/page.dart +++ b/lib/pages/video/introduction/ugc/widgets/page.dart @@ -145,9 +145,9 @@ class _PagesPanelState extends State { final item = pages[i]; return Container( width: 150, - margin: EdgeInsets.only( - right: i != pages.length - 1 ? 10 : 0, - ), + margin: i != pages.length - 1 + ? const EdgeInsets.only(right: 10) + : null, child: Material( color: theme.colorScheme.onInverseSurface, borderRadius: const BorderRadius.all(Radius.circular(6)), @@ -158,7 +158,9 @@ class _PagesPanelState extends State { Get.back(); } widget.ugcIntroController.onChangeEpisode( - item..bvid ??= widget.bvid, + item + ..bvid ??= widget.bvid + ..cover ??= widget.cover, ); if (widget.list != null && widget diff --git a/lib/pages/video/view.dart b/lib/pages/video/view.dart index 090a9a07..66e3ad2c 100644 --- a/lib/pages/video/view.dart +++ b/lib/pages/video/view.dart @@ -1945,11 +1945,14 @@ class _VideoDetailPageVState extends State ], Padding( padding: const EdgeInsets.symmetric(horizontal: 12), - child: SeasonPanel( - heroTag: heroTag, - onTap: false, - showEpisodes: showEpisodes, - ugcIntroController: ugcIntroController, + child: Obx( + () => SeasonPanel( + key: ValueKey(introController.videoDetail.value), + heroTag: heroTag, + onTap: false, + showEpisodes: showEpisodes, + ugcIntroController: ugcIntroController, + ), ), ), Expanded( diff --git a/lib/pages/video/widgets/header_control.dart b/lib/pages/video/widgets/header_control.dart index 105a1272..4e143fce 100644 --- a/lib/pages/video/widgets/header_control.dart +++ b/lib/pages/video/widgets/header_control.dart @@ -77,7 +77,7 @@ class HeaderControlState extends TripleState { late CommonIntroController introController = videoDetailCtr.isUgc ? ugcIntroController : pgcIntroController; - late final isPortrait = widget.isPortrait; + bool get isPortrait => widget.isPortrait; late final horizontalScreen = videoDetailCtr.horizontalScreen; RxString now = ''.obs; Timer? clock;