Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-05-11 10:06:11 +08:00
parent 49c6cd0ab8
commit 32eeef7866
15 changed files with 253 additions and 320 deletions

View File

@@ -1,3 +1,5 @@
import 'dart:async' show StreamSubscription;
import 'package:PiliPlus/http/dynamics.dart';
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/http/msg.dart';
@@ -20,11 +22,20 @@ class DynamicsTabController
int? mid;
late final MainController mainController = Get.find<MainController>();
final dynamicsController = Get.find<DynamicsController>();
StreamSubscription? _listener;
@override
void onInit() {
super.onInit();
queryData();
if (dynamicsType == .up) {
_listener = dynamicsController.mid.listen((mid) {
if (mid != -1) {
this.mid = mid;
onReload();
}
});
}
}
@override
@@ -92,4 +103,10 @@ class DynamicsTabController
@override
void onChangeAccount(bool isLogin) => onReload();
@override
void onClose() {
_listener?.cancel();
super.onClose();
}
}

View File

@@ -1,5 +1,3 @@
import 'dart:async';
import 'package:PiliPlus/common/widgets/flutter/refresh_indicator.dart';
import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart';
import 'package:PiliPlus/http/loading_state.dart';
@@ -27,8 +25,6 @@ class DynamicsTabPage extends StatefulWidget {
class _DynamicsTabPageState extends State<DynamicsTabPage>
with AutomaticKeepAliveClientMixin, DynMixin {
StreamSubscription? _listener;
DynamicsController dynamicsController = Get.putOrFind(DynamicsController.new);
late final DynamicsTabController controller;
@@ -44,21 +40,6 @@ class _DynamicsTabPageState extends State<DynamicsTabPage>
..mid = dynamicsController.mid.value,
tag: widget.dynamicsType.name,
);
if (widget.dynamicsType == .up) {
_listener = dynamicsController.mid.listen((mid) {
if (mid != -1) {
controller
..mid = mid
..onReload();
}
});
}
}
@override
void dispose() {
_listener?.cancel();
super.dispose();
}
@override