fix: dyn red

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2024-11-24 13:59:07 +08:00
parent 0ff53ddbde
commit d3bd218718
3 changed files with 11 additions and 17 deletions

View File

@@ -23,9 +23,7 @@ class DynamicsTabController extends CommonController {
@override
Future onRefresh() async {
if (dynamicsType == 'all') {
if (mainController.navigationBars[1]['count'] != 0) {
mainController.clearUnread();
}
mainController.setCount();
}
offset = '';
await queryData();

View File

@@ -49,34 +49,30 @@ class MainController extends GetxController {
_lastCheckAt = DateTime.now().millisecondsSinceEpoch;
}
getUnreadDynamic();
} else {
checkDynamic = false;
}
}
}
void getUnreadDynamic() async {
if (!userLogin.value || dynIndex == null || dynIndex == -1) {
if (!userLogin.value || dynIndex == -1) {
return;
}
await GrpcRepo.dynRed().then((res) {
if (res['status']) {
navigationBars[dynIndex!]['count'] = res['data'];
setCount(res['data']);
}
});
}
void setCount([int count = 0]) async {
dynIndex ??= navigationBars.indexWhere((e) => e['id'] == 1);
if (dynIndex == -1 || navigationBars[dynIndex!]['count'] == count) return;
navigationBars[dynIndex!]['count'] = count; // 修改 count 属性为新的值
navigationBars.refresh();
}
void clearUnread() async {
if (dynamicBadgeType != DynamicBadgeMode.hidden) {
navigationBars[dynIndex!]['count'] = 0; // 修改 count 属性为新的值
navigationBars.refresh();
}
}
void checkUnreadDynamic() {
if (dynIndex == null ||
dynIndex == -1 ||
if (dynIndex == -1 ||
!userLogin.value ||
dynamicBadgeType == DynamicBadgeMode.hidden ||
!checkDynamic) return;

View File

@@ -110,7 +110,7 @@ class _MainAppState extends State<MainApp>
_lastSelectTime = DateTime.now().millisecondsSinceEpoch;
}
_dynamicController.flag = true;
_mainController.clearUnread();
_mainController.setCount();
} else {
_dynamicController.flag = false;
}