refactor dyn uplist

Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-06-27 09:45:18 +08:00
parent 840f8d5a25
commit 5d15bf5e59
9 changed files with 228 additions and 275 deletions

View File

@@ -27,9 +27,7 @@ class DynamicsTabPage extends StatefulWidget {
class _DynamicsTabPageState extends State<DynamicsTabPage>
with AutomaticKeepAliveClientMixin, DynMixin {
StreamSubscription? _listener;
DynamicsController dynamicsController = Get.putOrFind(DynamicsController.new);
final dynamicsController = Get.putOrFind(DynamicsController.new);
late final DynamicsTabController controller;
@override
@@ -38,38 +36,22 @@ class _DynamicsTabPageState extends State<DynamicsTabPage>
@override
void initState() {
controller = Get.putOrFind(
() =>
DynamicsTabController(dynamicsType: widget.dynamicsType)
..mid = dynamicsController.mid.value,
() => DynamicsTabController(dynamicsType: widget.dynamicsType),
tag: widget.dynamicsType.name,
);
super.initState();
if (widget.dynamicsType == DynamicsTabType.up) {
_listener = dynamicsController.mid.listen((mid) {
if (mid != -1) {
controller
..mid = mid
..onReload();
}
});
}
}
@override
void dispose() {
_listener?.cancel();
dynamicsController.mid.close();
super.dispose();
Future<void> onRefresh() {
dynamicsController.singleRefresh();
return controller.onRefresh();
}
@override
Widget build(BuildContext context) {
super.build(context);
return refreshIndicator(
onRefresh: () {
dynamicsController.queryFollowUp();
return controller.onRefresh();
},
onRefresh: onRefresh,
child: CustomScrollView(
physics: const AlwaysScrollableScrollPhysics(),
controller: controller.scrollController,