fix(mod-queue): preserve pending reject state after refresh

This commit is contained in:
plebeius
2026-03-09 19:05:29 +08:00
parent 4806f48094
commit a20f131201
5 changed files with 99 additions and 21 deletions
@@ -0,0 +1,17 @@
export const approvePendingCommentModeration = { approved: true } as const;
// plebbit-js clears pendingApproval only when rejection is published as approved:false.
// Sending removed:true marks the comment removed but can leave it in the mod queue.
export const rejectPendingCommentModeration = { approved: false } as const;
type PendingApprovalDisplayState = {
approved?: boolean;
removed?: boolean;
pendingApproval?: boolean;
};
export const isPendingApprovalRejected = (comment?: PendingApprovalDisplayState) =>
comment?.removed === true || (comment?.pendingApproval === true && comment?.approved === false);
export const isPendingApprovalAwaiting = (comment?: PendingApprovalDisplayState) =>
comment?.pendingApproval === true && comment?.approved !== true && !isPendingApprovalRejected(comment);