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

Add messages to checklist #1676

Merged
merged 1 commit into from
Apr 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading