feat: set top reply

Closes #589

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-04-03 14:50:42 +08:00
parent 7437d8c592
commit 978d634cb3
9 changed files with 139 additions and 23 deletions

View File

@@ -480,4 +480,28 @@ https://api.bilibili.com/x/v2/reply/reply?oid=$oid&pn=1&ps=20&root=${rpid ?? rep
}
}
}
void onToggleTop(index, oid, int type, bool isUpTop, int rpid) async {
final res = await ReplyHttp.replyTop(
oid: oid,
type: type,
rpid: rpid,
isUpTop: isUpTop,
);
if (res['status']) {
final data = (loadingState.value as Success).response;
if (data is MainListReply) {
data.replies[index].replyControl.isUpTop = !isUpTop;
if (!isUpTop && index != 0) {
data.replies[0].replyControl.isUpTop = false;
final item = data.replies.removeAt(index);
data.replies.insert(0, item);
}
loadingState.value = LoadingState.success(data);
}
SmartDialog.showToast('${isUpTop ? '取消' : ''}置顶成功');
} else {
SmartDialog.showToast(res['msg']);
}
}
}