Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-07-23 16:47:11 +08:00
parent 148e0872b4
commit 418a1e8d39
821 changed files with 29467 additions and 25520 deletions

View File

@@ -47,52 +47,53 @@ class _FavPanelState extends State<FavPanel> {
return switch (loadingState) {
Loading() => loadingWidget,
Success() => ListView.builder(
controller: widget.scrollController,
itemCount: list.length,
itemBuilder: (context, index) {
FavFolderInfo item = list[index];
return Material(
type: MaterialType.transparency,
child: Builder(
builder: (context) {
void onTap() {
bool isChecked = item.favState == 1;
item
..favState = isChecked ? 0 : 1
..mediaCount =
isChecked ? item.mediaCount - 1 : item.mediaCount + 1;
(context as Element).markNeedsBuild();
}
controller: widget.scrollController,
itemCount: list.length,
itemBuilder: (context, index) {
FavFolderInfo item = list[index];
return Material(
type: MaterialType.transparency,
child: Builder(
builder: (context) {
void onTap() {
bool isChecked = item.favState == 1;
item
..favState = isChecked ? 0 : 1
..mediaCount = isChecked
? item.mediaCount - 1
: item.mediaCount + 1;
(context as Element).markNeedsBuild();
}
return ListTile(
onTap: onTap,
dense: true,
leading: FavUtil.isPublicFav(item.attr)
? const Icon(Icons.folder_outlined)
: const Icon(Icons.lock_outline),
minLeadingWidth: 0,
title: Text(item.title),
subtitle: Text(
'${item.mediaCount}个内容 . ${FavUtil.isPublicFavText(item.attr)}',
return ListTile(
onTap: onTap,
dense: true,
leading: FavUtil.isPublicFav(item.attr)
? const Icon(Icons.folder_outlined)
: const Icon(Icons.lock_outline),
minLeadingWidth: 0,
title: Text(item.title),
subtitle: Text(
'${item.mediaCount}个内容 . ${FavUtil.isPublicFavText(item.attr)}',
),
trailing: Transform.scale(
scale: 0.9,
child: Checkbox(
value: item.favState == 1,
onChanged: (bool? checkValue) => onTap(),
),
trailing: Transform.scale(
scale: 0.9,
child: Checkbox(
value: item.favState == 1,
onChanged: (bool? checkValue) => onTap(),
),
),
);
},
),
);
},
),
),
);
},
),
);
},
),
Error(:var errMsg) => scrollErrorWidget(
controller: widget.scrollController,
errMsg: errMsg,
onReload: _query,
),
controller: widget.scrollController,
errMsg: errMsg,
onReload: _query,
),
};
}
@@ -124,8 +125,10 @@ class _FavPanelState extends State<FavPanel> {
),
label: const Text('新建收藏夹'),
style: TextButton.styleFrom(
padding:
const EdgeInsets.symmetric(horizontal: 18, vertical: 14),
padding: const EdgeInsets.symmetric(
horizontal: 18,
vertical: 14,
),
visualDensity: VisualDensity.compact,
),
),
@@ -150,8 +153,10 @@ class _FavPanelState extends State<FavPanel> {
TextButton(
onPressed: Get.back,
style: TextButton.styleFrom(
padding:
const EdgeInsets.symmetric(horizontal: 20, vertical: 10),
padding: const EdgeInsets.symmetric(
horizontal: 20,
vertical: 10,
),
visualDensity: const VisualDensity(
horizontal: -1,
vertical: -2,
@@ -168,8 +173,10 @@ class _FavPanelState extends State<FavPanel> {
widget.ctr.actionFavVideo();
},
style: FilledButton.styleFrom(
padding:
const EdgeInsets.symmetric(horizontal: 20, vertical: 10),
padding: const EdgeInsets.symmetric(
horizontal: 20,
vertical: 10,
),
visualDensity: const VisualDensity(
horizontal: -1,
vertical: -2,