diff --git a/lib/pages/fav_search/view.dart b/lib/pages/fav_search/view.dart index e85fbd5e1..d3d60e186 100644 --- a/lib/pages/fav_search/view.dart +++ b/lib/pages/fav_search/view.dart @@ -4,6 +4,7 @@ import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/pages/follow/widgets/follow_item.dart'; import 'package:PiliPlus/pages/history/widgets/item.dart'; import 'package:PiliPlus/utils/grid.dart'; +import 'package:PiliPlus/utils/utils.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:PiliPlus/pages/fav_detail/widget/fav_video_card.dart'; @@ -20,7 +21,10 @@ class FavSearchPage extends StatefulWidget { } class _FavSearchPageState extends State { - final FavSearchController _favSearchCtr = Get.put(FavSearchController()); + final FavSearchController _favSearchCtr = Get.put( + FavSearchController(), + tag: Utils.generateRandomString(8), + ); @override Widget build(BuildContext context) { diff --git a/lib/pages/html/view.dart b/lib/pages/html/view.dart index b638f2739..bea617ad6 100644 --- a/lib/pages/html/view.dart +++ b/lib/pages/html/view.dart @@ -38,7 +38,10 @@ class HtmlRenderPage extends StatefulWidget { class _HtmlRenderPageState extends State with TickerProviderStateMixin { - final HtmlRenderController _htmlRenderCtr = Get.put(HtmlRenderController()); + late final HtmlRenderController _htmlRenderCtr = Get.put( + HtmlRenderController(), + tag: Utils.makeHeroTag(id), + ); late String title; late String id; late String url; diff --git a/lib/pages/member/new/content/member_dynamic/member_dynamic.dart b/lib/pages/member/new/content/member_dynamic/member_dynamic.dart index 7ee7be009..689dce4d5 100644 --- a/lib/pages/member/new/content/member_dynamic/member_dynamic.dart +++ b/lib/pages/member/new/content/member_dynamic/member_dynamic.dart @@ -6,6 +6,7 @@ import 'package:PiliPlus/pages/member/new/content/member_dynamic/member_dynamic_ import 'package:flutter/material.dart'; import 'package:get/get.dart'; +@Deprecated('Use MemberDynamicsPage instead') class MemberDynamic extends StatefulWidget { const MemberDynamic({ super.key, diff --git a/lib/pages/member/view.dart b/lib/pages/member/view.dart index 80ee61188..1dbbc720f 100644 --- a/lib/pages/member/view.dart +++ b/lib/pages/member/view.dart @@ -17,6 +17,7 @@ import 'widgets/conis.dart'; import 'widgets/profile.dart'; import 'widgets/seasons.dart'; +@Deprecated('Use MemberPageNew instead') class MemberPage extends StatefulWidget { const MemberPage({super.key}); diff --git a/lib/pages/subscription_detail/view.dart b/lib/pages/subscription_detail/view.dart index a181115ba..29483b647 100644 --- a/lib/pages/subscription_detail/view.dart +++ b/lib/pages/subscription_detail/view.dart @@ -23,9 +23,9 @@ class SubDetailPage extends StatefulWidget { class _SubDetailPageState extends State { late final ScrollController _controller = ScrollController(); - final SubDetailController _subDetailController = - Get.put(SubDetailController()); - late StreamController titleStreamC; // a + late final SubDetailController _subDetailController = + Get.put(SubDetailController(), tag: Utils.makeHeroTag(id)); + late StreamController titleStreamC; late Future _futureBuilderFuture; late String id; diff --git a/lib/pages/video/detail/controller.dart b/lib/pages/video/detail/controller.dart index 3235a8112..40c3903df 100644 --- a/lib/pages/video/detail/controller.dart +++ b/lib/pages/video/detail/controller.dart @@ -1615,18 +1615,20 @@ class VideoDetailController extends GetxController child: NoteListPage( oid: oid.value, enableSlide: false, + heroTag: heroTag, ), ) : NoteListPage( oid: oid.value, enableSlide: false, + heroTag: heroTag, ), isFullScreen: () => plPlayerController.isFullScreen.value, ); } else { childKey.currentState?.showBottomSheet( backgroundColor: Colors.transparent, - (context) => NoteListPage(oid: oid.value), + (context) => NoteListPage(oid: oid.value, heroTag: heroTag), ); } } diff --git a/lib/pages/video/detail/introduction/widgets/intro_detail.dart b/lib/pages/video/detail/introduction/widgets/intro_detail.dart index fc03443ba..4fc98cc6a 100644 --- a/lib/pages/video/detail/introduction/widgets/intro_detail.dart +++ b/lib/pages/video/detail/introduction/widgets/intro_detail.dart @@ -8,6 +8,7 @@ import 'package:PiliPlus/common/widgets/stat/danmu.dart'; import 'package:PiliPlus/common/widgets/stat/view.dart'; import 'package:PiliPlus/utils/utils.dart'; +@Deprecated('deprecated') class IntroDetail extends StatelessWidget { const IntroDetail({ super.key, diff --git a/lib/pages/video/detail/note/note_list_page.dart b/lib/pages/video/detail/note/note_list_page.dart index 55202fc7b..06f396c98 100644 --- a/lib/pages/video/detail/note/note_list_page.dart +++ b/lib/pages/video/detail/note/note_list_page.dart @@ -15,10 +15,12 @@ class NoteListPage extends CommonSlidePage { const NoteListPage({ super.key, super.enableSlide, + required this.heroTag, this.oid, this.upperMid, }); + final dynamic heroTag; final dynamic oid; final dynamic upperMid; @@ -29,11 +31,12 @@ class NoteListPage extends CommonSlidePage { class _NoteListPageState extends CommonSlidePageState { late final _controller = Get.put( NoteListPageCtr(oid: widget.oid, upperMid: widget.upperMid), + tag: widget.heroTag, ); @override void dispose() { - Get.delete(); + Get.delete(tag: widget.heroTag); super.dispose(); } diff --git a/lib/pages/video/detail/reply_new/view.dart b/lib/pages/video/detail/reply_new/view.dart index b2d0d1ed8..05a134b3f 100644 --- a/lib/pages/video/detail/reply_new/view.dart +++ b/lib/pages/video/detail/reply_new/view.dart @@ -12,6 +12,7 @@ import 'package:get/get_rx/src/rx_workers/utils/debouncer.dart'; import 'toolbar_icon_button.dart'; +@Deprecated('Use ReplyPage instead') class VideoReplyNewDialog extends StatefulWidget { final int? oid; final int? root; diff --git a/lib/pages/whisper_detail/view.dart b/lib/pages/whisper_detail/view.dart index bc9441329..0d8b85625 100644 --- a/lib/pages/whisper_detail/view.dart +++ b/lib/pages/whisper_detail/view.dart @@ -6,6 +6,7 @@ import 'package:PiliPlus/models/msg/session.dart'; import 'package:PiliPlus/pages/common/common_publish_page.dart'; import 'package:PiliPlus/pages/emote/view.dart'; import 'package:PiliPlus/utils/extension.dart'; +import 'package:PiliPlus/utils/utils.dart'; import 'package:flutter/material.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; @@ -29,7 +30,10 @@ class WhisperDetailPage extends CommonPublishPage { class _WhisperDetailPageState extends CommonPublishPageState { - final _whisperDetailController = Get.put(WhisperDetailController()); + final _whisperDetailController = Get.put( + WhisperDetailController(), + tag: Utils.makeHeroTag(Get.parameters['talkerId']), + ); @override Widget build(BuildContext context) {