diff --git a/lib/pages/common/common_controller.dart b/lib/pages/common/common_controller.dart index bc5695f1..dda69716 100644 --- a/lib/pages/common/common_controller.dart +++ b/lib/pages/common/common_controller.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/utils/extension.dart'; +import 'package:easy_debounce/easy_throttle.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; @@ -12,10 +13,13 @@ abstract mixin class ScrollOrRefreshMixin { Future onRefresh(); - FutureOr toTopOrRefresh() { + void toTopOrRefresh() { if (scrollController.hasClients) { if (scrollController.position.pixels == 0) { - return onRefresh(); + EasyThrottle.throttle('topOrRefresh', const Duration(milliseconds: 500), + () { + onRefresh(); + }); } else { animateToTop(); } diff --git a/lib/pages/main/view.dart b/lib/pages/main/view.dart index 4af1ed55..f480106c 100644 --- a/lib/pages/main/view.dart +++ b/lib/pages/main/view.dart @@ -7,6 +7,7 @@ import 'package:PiliPlus/pages/mine/controller.dart'; import 'package:PiliPlus/utils/app_scheme.dart'; import 'package:PiliPlus/utils/extension.dart'; import 'package:PiliPlus/utils/utils.dart'; +import 'package:easy_debounce/easy_throttle.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart'; @@ -141,11 +142,14 @@ class _MainAppState extends State int now = DateTime.now().millisecondsSinceEpoch; if (now - _lastSelectTime < 500) { - if (currentPage is HomePage) { - _homeController.onRefresh(); - } else if (currentPage is DynamicsPage) { - _dynamicController.onRefresh(); - } + EasyThrottle.throttle('topOrRefresh', const Duration(milliseconds: 500), + () { + if (currentPage is HomePage) { + _homeController.onRefresh(); + } else if (currentPage is DynamicsPage) { + _dynamicController.onRefresh(); + } + }); } else { if (currentPage is HomePage) { _homeController.toTopOrRefresh(); diff --git a/lib/pages/video/detail/introduction/widgets/create_fav_page.dart b/lib/pages/video/detail/introduction/widgets/create_fav_page.dart index 170428d5..8712118d 100644 --- a/lib/pages/video/detail/introduction/widgets/create_fav_page.dart +++ b/lib/pages/video/detail/introduction/widgets/create_fav_page.dart @@ -284,6 +284,7 @@ class _CreateFavPageState extends State { ), ), title: TextField( + autofocus: true, readOnly: _attr != null && Utils.isDefault(_attr!), controller: _titleController, style: TextStyle(