fix: 用户页面动态panel布局、收藏列表数据为空异常、收藏夹数据更新逻辑
This commit is contained in:
@ -67,7 +67,7 @@ class MyApp extends StatelessWidget {
|
||||
),
|
||||
navigatorObservers: [
|
||||
VideoDetailPage.routeObserver,
|
||||
SearchPage.routeObserver
|
||||
SearchPage.routeObserver,
|
||||
],
|
||||
);
|
||||
}),
|
||||
|
||||
@ -17,7 +17,7 @@ class FavDetailData {
|
||||
? json['medias']
|
||||
.map<FavDetailItemData>((e) => FavDetailItemData.fromJson(e))
|
||||
.toList()
|
||||
: [FavDetailItemData()];
|
||||
: [];
|
||||
hasMore = json['has_more'];
|
||||
}
|
||||
}
|
||||
|
||||
@ -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<MainApp> 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<MainApp> with SingleTickerProviderStateMixin {
|
||||
} else {
|
||||
_dynamicController.flag = false;
|
||||
}
|
||||
|
||||
if (currentPage is MediaPage) {
|
||||
_mediaController.queryFavFolder();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@ -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<MediaPage> createState() => _MediaPageState();
|
||||
}
|
||||
|
||||
class _MediaPageState extends State<MediaPage>
|
||||
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(
|
||||
|
||||
@ -24,15 +24,14 @@ class _MemberDynamicPanelState extends State<MemberDynamicPanel>
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Expanded(
|
||||
child: LoadingMoreList<DynamicItemModel>(
|
||||
ListConfig<DynamicItemModel>(
|
||||
sourceList: source,
|
||||
itemBuilder: (BuildContext c, DynamicItemModel item, int index) {
|
||||
return DynamicPanel(item: item);
|
||||
},
|
||||
indicatorBuilder: _buildIndicator,
|
||||
),
|
||||
super.build(context);
|
||||
return LoadingMoreList<DynamicItemModel>(
|
||||
ListConfig<DynamicItemModel>(
|
||||
sourceList: source,
|
||||
itemBuilder: (BuildContext c, DynamicItemModel item, int index) {
|
||||
return DynamicPanel(item: item);
|
||||
},
|
||||
indicatorBuilder: _buildIndicator,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user