opt anim to top

opt refresh

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-05-23 22:37:57 +08:00
parent 0a9897f6a4
commit 81cfe3efe1
28 changed files with 154 additions and 43 deletions

View File

@@ -2,8 +2,11 @@ import 'package:PiliPlus/common/widgets/scroll_physics.dart';
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/models/common/fav_type.dart';
import 'package:PiliPlus/models/user/fav_folder.dart';
import 'package:PiliPlus/pages/fav/article/controller.dart';
import 'package:PiliPlus/pages/fav/topic/controller.dart';
import 'package:PiliPlus/pages/fav/video/controller.dart';
import 'package:PiliPlus/pages/fav_folder_sort/view.dart';
import 'package:PiliPlus/utils/extension.dart';
import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart';
@@ -122,6 +125,23 @@ class _FavPageState extends State<FavPage> with SingleTickerProviderStateMixin {
isScrollable: true,
tabAlignment: TabAlignment.start,
tabs: FavTabType.values.map((item) => Tab(text: item.title)).toList(),
onTap: (index) {
try {
if (!_tabController.indexIsChanging) {
switch (FavTabType.values[index]) {
case FavTabType.video:
_favController.scrollController.animToTop();
case FavTabType.article:
Get.find<FavArticleController>()
.scrollController
.animToTop();
case FavTabType.topic:
Get.find<FavTopicController>().scrollController.animToTop();
default:
}
}
} catch (_) {}
},
),
),
body: SafeArea(