diff --git a/apps/frontend/src/components/ui/ProjectMemberHeader.vue b/apps/frontend/src/components/ui/ProjectMemberHeader.vue
index ca0b5a8396..7c9f55f863 100644
--- a/apps/frontend/src/components/ui/ProjectMemberHeader.vue
+++ b/apps/frontend/src/components/ui/ProjectMemberHeader.vue
@@ -20,113 +20,33 @@
-
-
-
-
- {{ getFormattedMessage(messages.publishingChecklist) }}
-
-
-
-
-
{{ getFormattedMessage(messages.required) }}
-
- |
-
-
- {{ getFormattedMessage(messages.warning) }}
-
- |
-
-
- {{ getFormattedMessage(messages.suggestion) }}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ getFormattedMessage(nag.title) }}
-
- {{ getNagDescription(nag) }}
-
- {{ getFormattedMessage(nag.link.title) }}
-
-
-
-
-
-
-
-
+ :project="project"
+ :versions="versions"
+ :current-member="currentMember"
+ :collapsed="collapsed"
+ :route-name="routeName"
+ :tags="tags"
+ @toggle-collapsed="handleToggleCollapsed"
+ @set-processing="handleSetProcessing"
+ />
-
-
diff --git a/apps/frontend/src/components/ui/moderation/ModerationProjectNags.vue b/apps/frontend/src/components/ui/moderation/ModerationProjectNags.vue
new file mode 100644
index 0000000000..772cd765c6
--- /dev/null
+++ b/apps/frontend/src/components/ui/moderation/ModerationProjectNags.vue
@@ -0,0 +1,297 @@
+
+
+
+
+
+ {{ getFormattedMessage(messages.publishingChecklist) }}
+
+
+
+
+
{{ getFormattedMessage(messages.required) }}
+
+ |
+
+
+ {{ getFormattedMessage(messages.warning) }}
+
+ |
+
+
+ {{ getFormattedMessage(messages.suggestion) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ getFormattedMessage(nag.title) }}
+
+ {{ getNagDescription(nag) }}
+
+ {{ getFormattedMessage(nag.link.title) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/frontend/src/locales/en-US/index.json b/apps/frontend/src/locales/en-US/index.json
index aa88ae7ac6..a47347d799 100644
--- a/apps/frontend/src/locales/en-US/index.json
+++ b/apps/frontend/src/locales/en-US/index.json
@@ -557,9 +557,6 @@
"project-member-header.accept": {
"message": "Accept"
},
- "project-member-header.action": {
- "message": "Action"
- },
"project-member-header.decline": {
"message": "Decline"
},
@@ -581,49 +578,43 @@
"project-member-header.invitation-with-role": {
"message": "You've been invited be a member of this project with the role of '{role}'."
},
- "project-member-header.key-title": {
- "message": "Status Key"
+ "project-member-header.success": {
+ "message": "Success"
+ },
+ "project-member-header.success-decline": {
+ "message": "You have declined the team invitation"
+ },
+ "project-member-header.success-join": {
+ "message": "You have joined the project team"
},
- "project-member-header.publishing-checklist": {
+ "project-moderation-nags.publishing-checklist": {
"message": "Publishing checklist"
},
- "project-member-header.required": {
+ "project-moderation-nags.required": {
"message": "Required"
},
- "project-member-header.resubmit-for-review": {
+ "project-moderation-nags.resubmit-for-review": {
"message": "Resubmit for review"
},
- "project-member-header.resubmit-for-review-desc": {
+ "project-moderation-nags.resubmit-for-review-desc": {
"message": "Your project has been {status} by Modrinth's staff. In most cases, you can resubmit for review after addressing the staff's message."
},
- "project-member-header.show-key": {
- "message": "Toggle key"
- },
- "project-member-header.submit-checklist-tooltip": {
+ "project-moderation-nags.submit-checklist-tooltip": {
"message": "You must complete the required steps in the publishing checklist!"
},
- "project-member-header.submit-for-review": {
+ "project-moderation-nags.submit-for-review": {
"message": "Submit for review"
},
- "project-member-header.submit-for-review-desc": {
+ "project-moderation-nags.submit-for-review-desc": {
"message": "Your project is only viewable by members of the project. It must be reviewed by moderators in order to be published."
},
- "project-member-header.success": {
- "message": "Success"
- },
- "project-member-header.success-decline": {
- "message": "You have declined the team invitation"
- },
- "project-member-header.success-join": {
- "message": "You have joined the project team"
- },
- "project-member-header.suggestion": {
+ "project-moderation-nags.suggestion": {
"message": "Suggestion"
},
- "project-member-header.visit-moderation-page": {
+ "project-moderation-nags.visit-moderation-page": {
"message": "Visit moderation page"
},
- "project-member-header.warning": {
+ "project-moderation-nags.warning": {
"message": "Warning"
},
"project-type.collection.plural": {