Skip to content
This repository has been archived by the owner on Aug 3, 2024. It is now read-only.

Commit

Permalink
Add messages to checklist (#1676)
Browse files Browse the repository at this point in the history
  • Loading branch information
Geometrically authored Apr 11, 2024
1 parent 5b1850e commit 00328d0
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 16 deletions.
48 changes: 32 additions & 16 deletions components/ui/ModerationChecklist.vue
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,8 @@
<div class="input-group modpack-buttons">
<button v-if="!done" class="btn skip-btn" @click="goToNextProject">
<ExitIcon />
Skip
<template v-if="futureProjects.length > 0">Skip</template>
<template v-else>Exit</template>
</button>
<button v-if="currentStepIndex > 0" class="btn" @click="previousPage() && !done">
<LeftArrowIcon /> Previous
Expand Down Expand Up @@ -348,6 +349,10 @@ const props = defineProps({
type: Object,
default: null,
},
futureProjects: {
type: Array,
default: () => [],
},
resetProject: {
type: Function,
required: true,
Expand Down Expand Up @@ -436,9 +441,6 @@ This is the first thing most people will see about your mod other than the Logo,
'Should indicate any other critical information the user must know before downloading',
'Should be accessible (no fancy characters / non-standard text, no image-only descriptions, must have English component, etc)',
],
exceptions: [
'Modpacks generally have a more lax requirement to qualify as a sufficient description. Generally, a mod list and a short explainer is approvable.',
],
options: [
{
name: 'Insufficient',
Expand All @@ -454,6 +456,24 @@ Currently, it looks like there are some missing details.
},
],
},
{
name: 'Insufficient (default packs)',
resultingMessage: `## Insufficient Description
Per section 2.1 of [Modrinth's Content Rules](https://modrinth.com/legal/rules#general-expectations) your project's Description should clearly inform the reader of the content, purpose, and appeal of your project.
Currently, it looks like there are some missing details.
What does your modpack add? What features does it have? Why would a user want to download it? Be specific!
See descriptions like [Simply Optimized](https://modrinth.com/modpack/sop) or [Aged](https://modrinth.com/modpack/aged) for examples of what a good description looks like.
`,
},
{
name: 'Insufficient (default projects)',
resultingMessage: `## Insufficient Description
Per section 2.1 of [Modrinth's Content Rules](https://modrinth.com/legal/rules#general-expectations) your project's Description should clearly inform the reader of the content, purpose, and appeal of your project.
Currently, it looks like there are some missing details.
What does your project add? What features does it have? Why would a user want to download it? Be specific!
See descriptions like [Sodium](https://modrinth.com/mod/sodium) or [LambDynamicLights](https://modrinth.com/mod/lambdynamiclights) for examples of what a good description looks like.
`,
},
{
name: 'Non-english',
resultingMessage: `## No English Description
Expand Down Expand Up @@ -554,10 +574,7 @@ Per section 5.1 of [Modrinth's Content Rules](https://modrinth.com/legal/rules#m
For a brief rundown of how this works:
**Client side** refers to a mod that is only required by the client, like [Sodium](https://modrinth.com/mod/sodium).
**Server side** mods change the behavior of the server without the client needing the mod, like Datapacks, recipes, or server-side behaviors, like [Falling Tree](https://modrinth.com/mod/fallingtree).
A mod that adds features, entities, or new blocks and items, generally will be required on **both** the server and the client, for example [Cobblemon](https://modrinth.com/mod/cobblemon).
However, it looks like your project falls into the latter category and should be *required* on **both** the client and server sides.
This has been changed accordingly for your convenience. In the future, you can edit your project's environment information on its settings page under "Client-side" and "Server-side".
0`,
A mod that adds features, entities, or new blocks and items, generally will be required on **both** the server and the client, for example [Cobblemon](https://modrinth.com/mod/cobblemon).`,
},
],
},
Expand Down Expand Up @@ -595,6 +612,11 @@ Please upload each version of your mod separately, thank you.`,
resultingMessage: `## Modpacks on Modrinth
It looks like you've uploaded your Modpack as a \`.zip\`, unfortunately, this is invalid and is why your project type is "Mod". I recommend taking a look at our support page about [Modrinth Modpacks](https://support.modrinth.com/en/articles/8802250-modpacks-on-modrinth), and once you're ready feel free to resubmit your project as a \`.mrpack\`. Don't forget to delete the old files from your Versions!`,
},
{
name: 'Invalid file type (resourcepacks)',
resultingMessage: `## Resource Packs on Modrinth
It looks like you've selected loaders for your Resource Pack that are causing it to be marked as a different project type. Resource Packs must only be uploaded with the "Resource Pack" loader selected. Please re-upload all versions of your resource pack and make sure to only select "Resource Pack" as the loader.`,
},
],
},
{
Expand Down Expand Up @@ -974,16 +996,10 @@ async function sendMessage(status) {
stopLoading()
}
const futureProjects = ref([])
if (process.client && history && history.state && history.state.projects) {
futureProjects.value = history.state.projects
}
async function goToNextProject() {
const router = useRouter()
const project = futureProjects.value[0]
const project = props.futureProjects[0]
if (!project) {
await navigateTo('/moderation/review')
Expand All @@ -997,7 +1013,7 @@ async function goToNextProject() {
},
state: {
showChecklist: true,
projects: futureProjects.value.slice(1),
projects: props.futureProjects.slice(1),
},
})
}
Expand Down
11 changes: 11 additions & 0 deletions pages/[type]/[id].vue
Original file line number Diff line number Diff line change
Expand Up @@ -437,6 +437,13 @@
]"
/>
<div v-if="auth.user && currentMember" class="input-group">
<button
v-if="tags.staffRoles.includes(auth.user.role) && !showModerationChecklist"
class="iconified-button"
@click="showModerationChecklist = true"
>
<EyeIcon /> Checklist
</button>
<nuxt-link
:to="`/${project.project_type}/${project.slug ? project.slug : project.id}/settings`"
class="iconified-button"
Expand Down Expand Up @@ -725,6 +732,7 @@
<ModerationChecklist
v-if="auth.user && tags.staffRoles.includes(auth.user.role) && showModerationChecklist"
:project="project"
:future-projects="futureProjects"
:reset-project="resetProject"
/>
</div>
Expand All @@ -740,6 +748,7 @@ import {
PlusIcon,
Checkbox,
ChartIcon,
EyeIcon,
renderString,
isRejected,
isUnderReview,
Expand Down Expand Up @@ -1159,8 +1168,10 @@ async function copyId() {
const collapsedChecklist = ref(false)
const showModerationChecklist = ref(false)
const futureProjects = ref([])
if (process.client && history && history.state && history.state.showChecklist) {
showModerationChecklist.value = true
futureProjects.value = history.state.projects
}
</script>
<style lang="scss" scoped>
Expand Down

0 comments on commit 00328d0

Please sign in to comment.