diff --git a/lib/pages/dynamics_tab/controller.dart b/lib/pages/dynamics_tab/controller.dart index fb81cf069..999ecf69b 100644 --- a/lib/pages/dynamics_tab/controller.dart +++ b/lib/pages/dynamics_tab/controller.dart @@ -1,5 +1,6 @@ import 'dart:async' show StreamSubscription; +import 'package:PiliPlus/common/widgets/scroll_physics.dart'; import 'package:PiliPlus/http/dynamics.dart'; import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/http/msg.dart'; @@ -9,13 +10,12 @@ import 'package:PiliPlus/pages/common/common_list_controller.dart'; import 'package:PiliPlus/pages/dynamics/controller.dart'; import 'package:PiliPlus/pages/main/controller.dart'; import 'package:PiliPlus/services/account_service.dart'; -import 'package:PiliPlus/utils/extension/scroll_controller_ext.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; class DynamicsTabController extends CommonListController - with AccountMixin { + with AccountMixin, ReloadMixin { DynamicsTabController({required this.dynamicsType}); final DynamicsTabType dynamicsType; String offset = ''; @@ -76,7 +76,7 @@ class DynamicsTabController @override Future onReload() { - scrollController.jumpToTop(); + reload = true; return super.onReload(); } diff --git a/lib/pages/dynamics_tab/view.dart b/lib/pages/dynamics_tab/view.dart index 4dcc4f669..5b4173cfb 100644 --- a/lib/pages/dynamics_tab/view.dart +++ b/lib/pages/dynamics_tab/view.dart @@ -1,5 +1,6 @@ import 'package:PiliPlus/common/widgets/flutter/refresh_indicator.dart'; import 'package:PiliPlus/common/widgets/loading_widget/http_error.dart'; +import 'package:PiliPlus/common/widgets/scroll_physics.dart'; import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/models/common/dynamic/dynamics_type.dart'; import 'package:PiliPlus/models/dynamics/result.dart'; @@ -54,7 +55,7 @@ class _DynamicsTabPageState extends State key: widget.dynamicsType == .all ? null : PageStorageKey(widget.dynamicsType), - physics: const AlwaysScrollableScrollPhysics(), + physics: ReloadScrollPhysics(controller: controller), controller: controller.scrollController, slivers: [ SliverPadding( diff --git a/lib/pages/video/introduction/ugc/view.dart b/lib/pages/video/introduction/ugc/view.dart index 3e288eeec..57d773ea2 100644 --- a/lib/pages/video/introduction/ugc/view.dart +++ b/lib/pages/video/introduction/ugc/view.dart @@ -525,17 +525,17 @@ class _UgcIntroPanelState extends State { onCancelTriple: introController.onCancelTriple, ), ), - // Obx( - // () => ActionItem( - // icon: const Icon(FontAwesomeIcons.thumbsDown), - // selectIcon: const Icon(FontAwesomeIcons.solidThumbsDown), - // onTap: () => introController.handleAction( - // introController.actionDislikeVideo, - // ), - // selectStatus: introController.hasDislike.value, - // text: "点踩", - // ), - // ), + Obx( + () => ActionItem( + icon: const Icon(FontAwesomeIcons.thumbsDown), + selectIcon: const Icon(FontAwesomeIcons.solidThumbsDown), + onTap: () => introController.handleAction( + introController.actionDislikeVideo, + ), + selectStatus: introController.hasDislike.value, + text: "点踩", + ), + ), Obx( () => ActionItem( animation: introController.tripleAnimation,