Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-04-30 18:50:25 +08:00
parent 23813eb224
commit ddf7d82656
3 changed files with 2 additions and 31 deletions

View File

@@ -2,7 +2,6 @@ import 'dart:async';
import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/utils/extension.dart'; import 'package:PiliPlus/utils/extension.dart';
import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@@ -12,19 +11,6 @@ abstract mixin class ScrollOrRefreshMixin {
void animateToTop() => scrollController.animToTop(); void animateToTop() => scrollController.animToTop();
Future<void> onRefresh(); Future<void> onRefresh();
void toTopOrRefresh() {
if (scrollController.hasClients) {
if (scrollController.position.pixels == 0) {
EasyThrottle.throttle('topOrRefresh', const Duration(milliseconds: 500),
() {
onRefresh();
});
} else {
animateToTop();
}
}
}
} }
abstract class CommonController<R, T> extends GetxController abstract class CommonController<R, T> extends GetxController

View File

@@ -188,21 +188,6 @@ class DynamicsController extends GetxController
scrollController.animToTop(); scrollController.animToTop();
} }
@override
FutureOr<void> toTopOrRefresh() {
final ctr = controller;
if (scrollController.hasClients && ctr.scrollController.hasClients) {
if (scrollController.position.pixels == 0 &&
ctr.scrollController.position.pixels == 0) {
return onRefresh();
} else {
animateToTop();
}
} else {
super.toTopOrRefresh();
}
}
@override @override
void onClose() { void onClose() {
tabController.dispose(); tabController.dispose();

View File

@@ -152,9 +152,9 @@ class _MainAppState extends State<MainApp>
}); });
} else { } else {
if (currentPage is HomePage) { if (currentPage is HomePage) {
_homeController.toTopOrRefresh(); _homeController.animateToTop();
} else if (currentPage is DynamicsPage) { } else if (currentPage is DynamicsPage) {
_dynamicController.toTopOrRefresh(); _dynamicController.animateToTop();
} }
} }
_lastSelectTime = now; _lastSelectTime = now;