diff --git a/apps/frontend/src/components/ui/ProjectMemberHeader.vue b/apps/frontend/src/components/ui/ProjectMemberHeader.vue index 9afe2d16d..352af56a0 100644 --- a/apps/frontend/src/components/ui/ProjectMemberHeader.vue +++ b/apps/frontend/src/components/ui/ProjectMemberHeader.vue @@ -31,6 +31,22 @@

{{ getFormattedMessage(messages.publishingChecklist) }}

+
+
+ + {{ getFormattedMessage(messages.required) }} +
+ | +
+ + {{ getFormattedMessage(messages.warning) }} +
+ | +
+ + {{ getFormattedMessage(messages.suggestion) }} +
+
@@ -47,7 +63,7 @@ :is="nag.icon || getDefaultIcon(nag.status)" v-tooltip="getStatusTooltip(nag.status)" :class="[ - 'h-4 w-4', + 'size-4', nag.status === 'required' && 'text-red', nag.status === 'warning' && 'text-orange', nag.status === 'suggestion' && 'text-purple', @@ -98,6 +114,7 @@ import { DropdownIcon, SendIcon, ScaleIcon, + InfoIcon, } from "@modrinth/assets"; import { acceptTeamInvite, removeTeamMember } from "~/helpers/teams.js"; import { nags } from "@modrinth/moderation"; @@ -182,6 +199,18 @@ const messages = defineMessages({ defaultMessage: "Your project has been {status} by Modrinth's staff. In most cases, you can resubmit for review after addressing the staff's message.", }, + showKey: { + id: "project-member-header.show-key", + defaultMessage: "Toggle key", + }, + keyTitle: { + id: "project-member-header.key-title", + defaultMessage: "Status Key", + }, + action: { + id: "project-member-header.action", + defaultMessage: "Action", + }, visitModerationPage: { id: "project-member-header.visit-moderation-page", defaultMessage: "Visit moderation page", @@ -268,6 +297,11 @@ const nagContext = computed(() => ({ submitProject: submitForReview, })); +const showKey = ref(false); +function toggleKey(): void { + showKey.value = !showKey.value; +} + const canSubmitForReview = computed(() => { return ( applicableNags.value.filter((nag) => nag.status === "required" && !isNagComplete(nag)) @@ -321,6 +355,11 @@ const visibleNags = computed(() => { }); } + finalNags.sort((a, b) => { + const statusOrder = { required: 0, warning: 1, suggestion: 2, "special-submit-action": 3 }; + return statusOrder[a.status] - statusOrder[b.status]; + }); + return finalNags; });