mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
opt: FavVideoCardH
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -76,14 +76,17 @@ class _FavPageState extends State<FavPage> with SingleTickerProviderStateMixin {
|
||||
final item = (_favController.loadingState.value as Success)
|
||||
.response
|
||||
.first;
|
||||
Get.toNamed('/favSearch', arguments: {
|
||||
'type': 1,
|
||||
'mediaId': item.id,
|
||||
'title': item.title,
|
||||
'count': item.mediaCount,
|
||||
'searchType': SearchType.fav,
|
||||
'isOwner': true,
|
||||
});
|
||||
Get.toNamed(
|
||||
'/favSearch',
|
||||
arguments: {
|
||||
'type': 1,
|
||||
'mediaId': item.id,
|
||||
'title': item.title,
|
||||
'count': item.mediaCount,
|
||||
'searchType': SearchType.fav,
|
||||
'isOwner': true,
|
||||
},
|
||||
);
|
||||
} catch (_) {}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -132,7 +132,6 @@ class _FavSortPageState extends State<FavSortPage> {
|
||||
FavVideoCardH(
|
||||
isSort: true,
|
||||
videoItem: item,
|
||||
isOwner: false,
|
||||
),
|
||||
if (BuildConfig.isDebug)
|
||||
Positioned(
|
||||
|
||||
@@ -475,11 +475,13 @@ class _FavDetailPageState extends State<FavDetailPage> {
|
||||
Positioned.fill(
|
||||
child: FavVideoCardH(
|
||||
videoItem: item,
|
||||
callFn: () => _favDetailController.onCancelFav(
|
||||
index,
|
||||
item.id!,
|
||||
item.type!,
|
||||
),
|
||||
onDelFav: _favDetailController.isOwner.value
|
||||
? () => _favDetailController.onCancelFav(
|
||||
index,
|
||||
item.id!,
|
||||
item.type!,
|
||||
)
|
||||
: null,
|
||||
onViewFav: () {
|
||||
Utils.toViewPage(
|
||||
'bvid=${item.bvid}&cid=${item.cid}',
|
||||
@@ -514,7 +516,6 @@ class _FavDetailPageState extends State<FavDetailPage> {
|
||||
}
|
||||
}
|
||||
: null,
|
||||
isOwner: _favDetailController.isOwner.value,
|
||||
),
|
||||
),
|
||||
Positioned(
|
||||
|
||||
@@ -17,22 +17,18 @@ import '../../../common/widgets/badge.dart';
|
||||
// 收藏视频卡片 - 水平布局
|
||||
class FavVideoCardH extends StatelessWidget {
|
||||
final FavDetailItemData videoItem;
|
||||
final Function? callFn;
|
||||
final int? searchType;
|
||||
final GestureTapCallback? onTap;
|
||||
final GestureLongPressCallback? onLongPress;
|
||||
final bool isOwner;
|
||||
final VoidCallback? onDelFav;
|
||||
final VoidCallback? onViewFav;
|
||||
final bool? isSort;
|
||||
|
||||
const FavVideoCardH({
|
||||
super.key,
|
||||
required this.videoItem,
|
||||
this.callFn,
|
||||
this.searchType,
|
||||
this.onDelFav,
|
||||
this.onTap,
|
||||
this.onLongPress,
|
||||
this.isOwner = false,
|
||||
this.onViewFav,
|
||||
this.isSort,
|
||||
});
|
||||
@@ -210,7 +206,7 @@ class FavVideoCardH extends StatelessWidget {
|
||||
),
|
||||
],
|
||||
),
|
||||
if (searchType != 1 && isOwner)
|
||||
if (onDelFav != null)
|
||||
Positioned(
|
||||
right: 0,
|
||||
bottom: 0,
|
||||
@@ -237,9 +233,9 @@ class FavVideoCardH extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
TextButton(
|
||||
onPressed: () async {
|
||||
await callFn?.call();
|
||||
onPressed: () {
|
||||
Get.back();
|
||||
onDelFav!();
|
||||
},
|
||||
child: const Text('确定取消'),
|
||||
)
|
||||
|
||||
@@ -96,9 +96,7 @@ class _FavSearchPageState extends State<FavSearchPage> {
|
||||
return _favSearchCtr.searchType == SearchType.fav
|
||||
? FavVideoCardH(
|
||||
videoItem: item,
|
||||
isOwner: _favSearchCtr.isOwner ?? false,
|
||||
searchType: _favSearchCtr.type,
|
||||
callFn: _favSearchCtr.type != 1
|
||||
onDelFav: _favSearchCtr.isOwner == true
|
||||
? () {
|
||||
_favSearchCtr.onCancelFav(
|
||||
index,
|
||||
|
||||
Reference in New Issue
Block a user