From e892452bcdfde5262b87ffe25e6844b7d023903e Mon Sep 17 00:00:00 2001 From: guozhigq Date: Mon, 31 Jul 2023 11:10:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=94=A8=E6=88=B7=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=8A=A8=E6=80=81panel=E5=B8=83=E5=B1=80=E3=80=81=E6=94=B6?= =?UTF-8?q?=E8=97=8F=E5=88=97=E8=A1=A8=E6=95=B0=E6=8D=AE=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E3=80=81=E6=94=B6=E8=97=8F=E5=A4=B9=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=9B=B4=E6=96=B0=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/main.dart | 2 +- lib/models/user/fav_detail.dart | 2 +- lib/pages/main/view.dart | 6 ++++++ lib/pages/media/view.dart | 12 +++++++++++- lib/pages/member/dynamic/view.dart | 17 ++++++++--------- 5 files changed, 27 insertions(+), 12 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 633e41c4..bd38bb87 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -67,7 +67,7 @@ class MyApp extends StatelessWidget { ), navigatorObservers: [ VideoDetailPage.routeObserver, - SearchPage.routeObserver + SearchPage.routeObserver, ], ); }), diff --git a/lib/models/user/fav_detail.dart b/lib/models/user/fav_detail.dart index 0b9f1ace..d8013b75 100644 --- a/lib/models/user/fav_detail.dart +++ b/lib/models/user/fav_detail.dart @@ -17,7 +17,7 @@ class FavDetailData { ? json['medias'] .map((e) => FavDetailItemData.fromJson(e)) .toList() - : [FavDetailItemData()]; + : []; hasMore = json['has_more']; } } diff --git a/lib/pages/main/view.dart b/lib/pages/main/view.dart index 73823270..95a1ff13 100644 --- a/lib/pages/main/view.dart +++ b/lib/pages/main/view.dart @@ -3,6 +3,7 @@ import 'package:get/get.dart'; import 'package:hive/hive.dart'; import 'package:pilipala/pages/dynamics/index.dart'; import 'package:pilipala/pages/home/index.dart'; +import 'package:pilipala/pages/media/index.dart'; import 'package:pilipala/utils/feed_back.dart'; import 'package:pilipala/utils/storage.dart'; import './controller.dart'; @@ -18,6 +19,7 @@ class _MainAppState extends State with SingleTickerProviderStateMixin { final MainController _mainController = Get.put(MainController()); final HomeController _homeController = Get.put(HomeController()); final DynamicsController _dynamicController = Get.put(DynamicsController()); + final MediaController _mediaController = Get.put(MediaController()); PageController? _pageController; @@ -87,6 +89,10 @@ class _MainAppState extends State with SingleTickerProviderStateMixin { } else { _dynamicController.flag = false; } + + if (currentPage is MediaPage) { + _mediaController.queryFavFolder(); + } } @override diff --git a/lib/pages/media/view.dart b/lib/pages/media/view.dart index 4e3d6c96..e1794d97 100644 --- a/lib/pages/media/view.dart +++ b/lib/pages/media/view.dart @@ -5,11 +5,21 @@ import 'package:pilipala/models/user/fav_folder.dart'; import 'package:pilipala/pages/media/index.dart'; import 'package:pilipala/utils/utils.dart'; -class MediaPage extends StatelessWidget { +class MediaPage extends StatefulWidget { const MediaPage({super.key}); + @override + State createState() => _MediaPageState(); +} + +class _MediaPageState extends State + with AutomaticKeepAliveClientMixin { + @override + bool get wantKeepAlive => true; + @override Widget build(BuildContext context) { + super.build(context); final MediaController mediaController = Get.put(MediaController()); Color primary = Theme.of(context).colorScheme.primary; return Scaffold( diff --git a/lib/pages/member/dynamic/view.dart b/lib/pages/member/dynamic/view.dart index 975e0857..a1d6e8d9 100644 --- a/lib/pages/member/dynamic/view.dart +++ b/lib/pages/member/dynamic/view.dart @@ -24,15 +24,14 @@ class _MemberDynamicPanelState extends State @override Widget build(BuildContext context) { - return Expanded( - child: LoadingMoreList( - ListConfig( - sourceList: source, - itemBuilder: (BuildContext c, DynamicItemModel item, int index) { - return DynamicPanel(item: item); - }, - indicatorBuilder: _buildIndicator, - ), + super.build(context); + return LoadingMoreList( + ListConfig( + sourceList: source, + itemBuilder: (BuildContext c, DynamicItemModel item, int index) { + return DynamicPanel(item: item); + }, + indicatorBuilder: _buildIndicator, ), ); }