From 99d0b1c46864143982068d9dd751f3c551d870a3 Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Sat, 29 Mar 2025 21:03:19 +0800 Subject: [PATCH] mod: btn to view all fav pgc Signed-off-by: bggRGjQaUbCoE --- lib/pages/bangumi/view.dart | 41 +++++++++++++++++++++++++++++- lib/pages/fav/note/child_view.dart | 12 +++++---- lib/pages/fav/pgc/child_view.dart | 7 +++-- lib/pages/fav/view.dart | 1 + 4 files changed, 53 insertions(+), 8 deletions(-) diff --git a/lib/pages/bangumi/view.dart b/lib/pages/bangumi/view.dart index 3c529255..8fd21ed8 100644 --- a/lib/pages/bangumi/view.dart +++ b/lib/pages/bangumi/view.dart @@ -90,7 +90,6 @@ class _BangumiPageState extends State Padding( padding: const EdgeInsets.only(left: 16), child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Obx( () => Text( @@ -99,6 +98,7 @@ class _BangumiPageState extends State Theme.of(context).textTheme.titleMedium, ), ), + const Spacer(), IconButton( tooltip: '刷新', onPressed: () { @@ -112,6 +112,45 @@ class _BangumiPageState extends State size: 20, ), ), + Obx(() => _bangumiController.isLogin.value + ? Padding( + padding: const EdgeInsets.symmetric( + horizontal: 10), + child: GestureDetector( + onTap: () { + Get.toNamed( + '/fav', + arguments: widget.tabType == + TabType.bangumi + ? 1 + : 2, + ); + }, + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + '查看全部', + strutStyle: StrutStyle( + leading: 0, height: 1), + style: TextStyle( + height: 1, + color: Theme.of(context) + .colorScheme + .secondary, + ), + ), + Icon( + Icons.chevron_right, + color: Theme.of(context) + .colorScheme + .secondary, + ), + ], + ), + ), + ) + : const SizedBox.shrink()), ], ), ), diff --git a/lib/pages/fav/note/child_view.dart b/lib/pages/fav/note/child_view.dart index 0dd0c050..d2891e8f 100644 --- a/lib/pages/fav/note/child_view.dart +++ b/lib/pages/fav/note/child_view.dart @@ -102,11 +102,13 @@ class _FavNoteChildPageState extends State tapTargetSize: MaterialTapTargetSize.shrinkWrap, ), onPressed: () { - showConfirmDialog( - context: context, - title: '确定删除已选中的笔记吗?', - onConfirm: _favNoteController.onRemove, - ); + if (_favNoteController.checkedCount.value != 0) { + showConfirmDialog( + context: context, + title: '确定删除已选中的笔记吗?', + onConfirm: _favNoteController.onRemove, + ); + } }, child: const Text('删除'), ), diff --git a/lib/pages/fav/pgc/child_view.dart b/lib/pages/fav/pgc/child_view.dart index 50a92985..8f1d1b61 100644 --- a/lib/pages/fav/pgc/child_view.dart +++ b/lib/pages/fav/pgc/child_view.dart @@ -114,8 +114,11 @@ class _FavPgcChildPageState extends State padding: const EdgeInsets.only(left: 25), child: GestureDetector( onTap: () { - _favPgcController - .onUpdate(item['followStatus']); + if (_favPgcController.checkedCount.value != + 0) { + _favPgcController + .onUpdate(item['followStatus']); + } }, child: Text( '标记为${item['title']}', diff --git a/lib/pages/fav/view.dart b/lib/pages/fav/view.dart index 5c851c93..e6277304 100644 --- a/lib/pages/fav/view.dart +++ b/lib/pages/fav/view.dart @@ -24,6 +24,7 @@ class _FavPageState extends State with SingleTickerProviderStateMixin { late final TabController _tabController = TabController( length: _FavType.values.length, vsync: this, + initialIndex: Get.arguments is int ? Get.arguments : 0, ); final FavController _favController = Get.put(FavController());