From d5fda1b5c53073c9e1e40abb6c0ef5101ca73769 Mon Sep 17 00:00:00 2001 From: Prospector <6166773+Prospector@users.noreply.github.com> Date: Fri, 8 May 2026 20:49:05 -0700 Subject: [PATCH 1/4] fix: move tooltip to button --- .../src/components/ui/moderation/ModerationQueueCard.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/frontend/src/components/ui/moderation/ModerationQueueCard.vue b/apps/frontend/src/components/ui/moderation/ModerationQueueCard.vue index 973ada56db..9eb6171b06 100644 --- a/apps/frontend/src/components/ui/moderation/ModerationQueueCard.vue +++ b/apps/frontend/src/components/ui/moderation/ModerationQueueCard.vue @@ -107,8 +107,8 @@ - - From dacd87d665effb80e606020ef28d0e5f13b77243 Mon Sep 17 00:00:00 2001 From: Prospector <6166773+Prospector@users.noreply.github.com> Date: Fri, 8 May 2026 20:57:00 -0700 Subject: [PATCH 2/4] fix: lock status buttons after pressing --- .../checklist/ModerationChecklist.vue | 47 +++++++++++++++---- 1 file changed, 38 insertions(+), 9 deletions(-) diff --git a/apps/frontend/src/components/ui/moderation/checklist/ModerationChecklist.vue b/apps/frontend/src/components/ui/moderation/checklist/ModerationChecklist.vue index 1b737d9e5c..1ec2bc93f8 100644 --- a/apps/frontend/src/components/ui/moderation/checklist/ModerationChecklist.vue +++ b/apps/frontend/src/components/ui/moderation/checklist/ModerationChecklist.vue @@ -358,26 +358,44 @@
- - - - @@ -428,14 +446,15 @@ import { BrushCleaningIcon, CheckIcon, DropdownIcon, - EyeOffIcon, FileTextIcon, KeyboardIcon, LeftArrowIcon, + LinkIcon, ListBulletedIcon, LockIcon, RightArrowIcon, ScaleIcon, + SpinnerIcon, ToggleLeftIcon, ToggleRightIcon, XIcon, @@ -760,6 +779,12 @@ const message = ref( ) const generatedMessage = ref(persistedGeneratedMessage.generated === true) const loadingMessage = ref(false) +const moderationDecision = ref(null) +const loadingModerationDecision = computed(() => moderationDecision.value !== null) +const approveSendStatus = computed(() => { + const requested = projectV2.value.requested_status + return requested ?? 'approved' +}) const done = ref(false) function persistGeneratedMessageState() { @@ -1074,6 +1099,7 @@ function resetProgress() { done.value = false clearGeneratedMessageState() loadingMessage.value = false + moderationDecision.value = null localStorage.removeItem(`modpack-permissions-${projectV2.value.id}`) localStorage.removeItem(`modpack-permissions-index-${projectV2.value.id}`) @@ -1190,7 +1216,7 @@ function handleKeybinds(event: KeyboardEvent) { tryResetProgress: resetProgress, tryExitModeration: handleExit, - tryApprove: () => sendMessage(projectV2.value.requested_status ?? 'approved'), + tryApprove: () => sendMessage(approveSendStatus.value), tryReject: () => sendMessage('rejected'), tryWithhold: () => sendMessage('withheld'), tryEditMessage: goBackToStages, @@ -1977,6 +2003,7 @@ async function sendMessage(status: ProjectStatus) { return } + moderationDecision.value = status try { await useBaseFetch(`project/${projectId}`, { method: 'PATCH', @@ -2026,6 +2053,8 @@ async function sendMessage(status: ProjectStatus) { text: 'Failed to submit moderation decision. Please try again.', type: 'error', }) + } finally { + moderationDecision.value = null } } From 5f5bf914f1d8078f695d3ddd4383897ee33443f8 Mon Sep 17 00:00:00 2001 From: Prospector <6166773+Prospector@users.noreply.github.com> Date: Fri, 8 May 2026 20:58:21 -0700 Subject: [PATCH 3/4] fix: unlisted/withheld icon on legacy badge --- packages/ui/src/components/base/Badge.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/ui/src/components/base/Badge.vue b/packages/ui/src/components/base/Badge.vue index e8bf21d2d4..d0052741ec 100644 --- a/packages/ui/src/components/base/Badge.vue +++ b/packages/ui/src/components/base/Badge.vue @@ -21,10 +21,10 @@