Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-05-21 11:48:42 +08:00
parent 1efd62803a
commit ac60ac417b
130 changed files with 1631 additions and 2132 deletions

View File

@@ -125,15 +125,14 @@ class _FavDetailPageState extends State<FavDetailPage> {
style: TextButton.styleFrom(
visualDensity: VisualDensity.compact,
),
onPressed: () {
RequestUtils.onCopyOrMove<FavDetailData, FavDetailItemData>(
context: context,
isCopy: true,
ctr: _favDetailController,
mediaId: _favDetailController.mediaId,
mid: _favDetailController.mid,
);
},
onPressed: () =>
RequestUtils.onCopyOrMove<FavDetailData, FavDetailItemData>(
context: context,
isCopy: true,
ctr: _favDetailController,
mediaId: _favDetailController.mediaId,
mid: _favDetailController.mid,
),
child: Text(
'复制',
style: TextStyle(
@@ -145,15 +144,14 @@ class _FavDetailPageState extends State<FavDetailPage> {
style: TextButton.styleFrom(
visualDensity: VisualDensity.compact,
),
onPressed: () {
RequestUtils.onCopyOrMove<FavDetailData, FavDetailItemData>(
context: context,
isCopy: false,
ctr: _favDetailController,
mediaId: _favDetailController.mediaId,
mid: _favDetailController.mid,
);
},
onPressed: () =>
RequestUtils.onCopyOrMove<FavDetailData, FavDetailItemData>(
context: context,
isCopy: false,
ctr: _favDetailController,
mediaId: _favDetailController.mediaId,
mid: _favDetailController.mid,
),
child: Text(
'移动',
style: TextStyle(
@@ -194,32 +192,29 @@ class _FavDetailPageState extends State<FavDetailPage> {
icon: const Icon(Icons.more_vert),
itemBuilder: (context) => [
PopupMenuItem(
onTap: () {
Get.toNamed(
'/createFav',
parameters: {'mediaId': mediaId},
)?.then((res) {
if (res is FavFolderItemData) {
_favDetailController.item.value = res;
}
});
},
onTap: () => Get.toNamed(
'/createFav',
parameters: {'mediaId': mediaId},
)?.then((res) {
if (res is FavFolderItemData) {
_favDetailController.item.value = res;
}
}),
child: const Text('编辑信息'),
),
PopupMenuItem(
onTap: () {
UserHttp.cleanFav(mediaId: mediaId).then((data) {
if (data['status']) {
SmartDialog.showToast('清除成功');
Future.delayed(
const Duration(milliseconds: 200), () {
_favDetailController.onReload();
});
} else {
SmartDialog.showToast(data['msg']);
}
});
},
onTap: () => UserHttp.cleanFav(mediaId: mediaId)
.then((data) {
if (data['status']) {
SmartDialog.showToast('清除成功');
Future.delayed(
const Duration(milliseconds: 200), () {
_favDetailController.onReload();
});
} else {
SmartDialog.showToast(data['msg']);
}
}),
child: const Text('清除失效内容'),
),
PopupMenuItem(
@@ -250,23 +245,20 @@ class _FavDetailPageState extends State<FavDetailPage> {
if (!Utils.isDefaultFav(
_favDetailController.item.value.attr ?? 0))
PopupMenuItem(
onTap: () {
showConfirmDialog(
context: context,
title: '确定删除该收藏夹?',
onConfirm: () {
onTap: () => showConfirmDialog(
context: context,
title: '确定删除该收藏夹?',
onConfirm: () =>
UserHttp.deleteFolder(mediaIds: [mediaId])
.then((data) {
if (data['status']) {
SmartDialog.showToast('删除成功');
Get.back(result: true);
} else {
SmartDialog.showToast(data['msg']);
}
});
},
);
},
if (data['status']) {
SmartDialog.showToast('删除成功');
Get.back(result: true);
} else {
SmartDialog.showToast(data['msg']);
}
}),
),
child: Text(
'删除',
style: TextStyle(
@@ -402,29 +394,24 @@ class _FavDetailPageState extends State<FavDetailPage> {
item.type!,
)
: null,
onViewFav: () {
PageUtils.toVideoPage(
'bvid=${item.bvid}&cid=${item.cid}',
arguments: {
'videoItem': item,
'heroTag': Utils.makeHeroTag(item.bvid),
'sourceType': 'fav',
'mediaId': _favDetailController.item.value.id,
'oid': item.id,
'favTitle':
_favDetailController.item.value.title,
'count':
_favDetailController.item.value.mediaCount,
'desc': true,
'isContinuePlaying': index != 0,
'isOwner': _favDetailController.isOwner.value,
},
);
},
onViewFav: () => PageUtils.toVideoPage(
'bvid=${item.bvid}&cid=${item.cid}',
arguments: {
'videoItem': item,
'heroTag': Utils.makeHeroTag(item.bvid),
'sourceType': 'fav',
'mediaId': _favDetailController.item.value.id,
'oid': item.id,
'favTitle': _favDetailController.item.value.title,
'count':
_favDetailController.item.value.mediaCount,
'desc': true,
'isContinuePlaying': index != 0,
'isOwner': _favDetailController.isOwner.value,
},
),
onTap: _favDetailController.enableMultiSelect.value
? () {
_favDetailController.onSelect(index);
}
? () => _favDetailController.onSelect(index)
: null,
onLongPress: _favDetailController.isOwner.value
? () {