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;
});