From 5ef999bf8aff6660921118fe2df7a52a3727224a Mon Sep 17 00:00:00 2001 From: ThatGravyBoat Date: Fri, 7 Aug 2026 18:04:03 -0230 Subject: [PATCH] feat: requested moderation and tech review changes (#7019) * feat: requested moderation and tech review changes * chore: run prepr * chore: run prepr --------- Signed-off-by: ThatGravyBoat --- .../ui/moderation/ModerationTechRevCard.vue | 77 +++++++++++++++---- .../moderation/settings/ModerationKeybind.vue | 10 ++- .../settings/ModerationKeybinds.vue | 2 +- .../[type]/[project]/version/[version].vue | 18 +++++ .../src/pages/[type]/[project]/versions.vue | 18 +++++ .../moderation/technical-review/[project].vue | 29 +++++++ .../moderation/technical-review/index.vue | 45 +++++++++++ packages/moderation/src/data/keybinds.ts | 12 +++ packages/moderation/src/data/settings.ts | 7 ++ packages/moderation/src/types/keybinds.ts | 25 +++++- 10 files changed, 223 insertions(+), 20 deletions(-) diff --git a/apps/frontend/src/components/ui/moderation/ModerationTechRevCard.vue b/apps/frontend/src/components/ui/moderation/ModerationTechRevCard.vue index 0baa5864a0..e6f5b3f9a4 100644 --- a/apps/frontend/src/components/ui/moderation/ModerationTechRevCard.vue +++ b/apps/frontend/src/components/ui/moderation/ModerationTechRevCard.vue @@ -856,6 +856,10 @@ async function updateDetailStatus( updatingDetails.add(detailId) + const previousMarkedCount = selectedFile.value + ? getFileMarkedCount(selectedFile.value) + : undefined + try { await updateIssueDetails([{ detail_id: detailId, verdict }]) @@ -880,7 +884,7 @@ async function updateDetailStatus( if (verdict !== 'pending' && selectedFile.value) { const markedCount = getFileMarkedCount(selectedFile.value) const totalCount = getFileDetailCount(selectedFile.value) - if (markedCount === totalCount) { + if (previousMarkedCount != markedCount && markedCount === totalCount) { backToFileList() } } @@ -938,6 +942,10 @@ async function updateGlobalDetailStatus( updatingGlobalDetailKeys.add(detail.key) + const previousMarkedCount = selectedFile.value + ? getFileMarkedCount(selectedFile.value) + : undefined + try { await updateGlobalIssueDetail(detail.key, verdict) @@ -958,7 +966,7 @@ async function updateGlobalDetailStatus( if (verdict !== 'pending' && selectedFile.value) { const markedCount = getFileMarkedCount(selectedFile.value) const totalCount = getFileDetailCount(selectedFile.value) - if (markedCount === totalCount) { + if (previousMarkedCount != markedCount && markedCount === totalCount) { backToFileList() } } @@ -1355,8 +1363,10 @@ const canSubmitReview = computed(() => { if (totalIssues === 0) return true return allIssuesResolved.value }) +const hasSubmittedPassReview = ref(false) async function handleSubmitReview(verdict: 'safe' | 'unsafe') { + hasSubmittedPassReview.value = verdict === 'safe' const editorContent = threadViewRef.value?.getReplyContent() || '' let message: string | undefined @@ -1523,13 +1533,39 @@ function copyId() {
- +
+ + +
+ + + + +
+
@@ -1552,10 +1588,16 @@ function copyId() { >