mirror of
https://github.com/modrinth/code.git
synced 2026-07-31 21:26:40 +00:00
add excessive languages warning nag (#6587)
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
import { defineMessage } from '@modrinth/ui'
|
||||
import { defineMessage, useVIntl } from '@modrinth/ui'
|
||||
|
||||
import type { Nag, NagContext } from '../../types/nags'
|
||||
|
||||
const MAX_LANGUAGE_COUNT = 10
|
||||
const ALL_LANGUAGE_COUNT = 72
|
||||
|
||||
export const serverProjectsNags: Nag[] = [
|
||||
{
|
||||
id: 'select-country',
|
||||
@@ -25,6 +28,84 @@ export const serverProjectsNags: Nag[] = [
|
||||
shouldShow: (context: NagContext) => context.currentRoute !== 'type-project-settings-server',
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'too-many-languages',
|
||||
title: defineMessage({
|
||||
id: 'nags.too-many-languages.title',
|
||||
defaultMessage: 'Select accurate languages',
|
||||
}),
|
||||
description: (context: NagContext) => {
|
||||
const { formatMessage } = useVIntl()
|
||||
const languageCount = context.projectV3?.minecraft_server?.languages?.length || 0
|
||||
const maxLanguageCount = MAX_LANGUAGE_COUNT
|
||||
|
||||
return formatMessage(
|
||||
defineMessage({
|
||||
id: 'nags.too-many-languages.description',
|
||||
defaultMessage:
|
||||
"You've selected {languageCount, plural, one {# language} other {# languages}}. Please list only the languages your server actively supports.",
|
||||
}),
|
||||
{
|
||||
languageCount,
|
||||
maxLanguageCount,
|
||||
},
|
||||
)
|
||||
},
|
||||
status: 'warning',
|
||||
shouldShow: (context: NagContext) => {
|
||||
const languageCount = context.projectV3?.minecraft_server?.languages?.length || 0
|
||||
return (
|
||||
languageCount > MAX_LANGUAGE_COUNT &&
|
||||
//languageCount <= ALL_LANGUAGE_COUNT &&
|
||||
context.projectV3?.minecraft_server != null
|
||||
)
|
||||
},
|
||||
link: {
|
||||
path: 'settings/server',
|
||||
title: defineMessage({
|
||||
id: 'nags.server.title',
|
||||
defaultMessage: 'Visit server settings',
|
||||
}),
|
||||
shouldShow: (context: NagContext) => context.currentRoute !== 'type-project-settings-server',
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'all-languages',
|
||||
title: defineMessage({
|
||||
id: 'nags.all-languages.title',
|
||||
defaultMessage: 'Select accurate languages',
|
||||
}),
|
||||
description: (context: NagContext) => {
|
||||
const { formatMessage } = useVIntl()
|
||||
const languageCount = context.projectV3?.minecraft_server?.languages?.length || 0
|
||||
const allLanguageCount = ALL_LANGUAGE_COUNT
|
||||
|
||||
return formatMessage(
|
||||
defineMessage({
|
||||
id: 'nags.all-languages.description',
|
||||
defaultMessage:
|
||||
"You've selected all available language options. Please list only the languages your server actively supports.",
|
||||
}),
|
||||
{
|
||||
languageCount,
|
||||
allLanguageCount,
|
||||
},
|
||||
)
|
||||
},
|
||||
status: 'required',
|
||||
shouldShow: (context: NagContext) => {
|
||||
// const languageCount = context.projectV3?.minecraft_server?.languages?.length || 0
|
||||
return false //languageCount >= ALL_LANGUAGE_COUNT && context.projectV3?.minecraft_server != null
|
||||
},
|
||||
link: {
|
||||
path: 'settings/server',
|
||||
title: defineMessage({
|
||||
id: 'nags.server.title',
|
||||
defaultMessage: 'Visit server settings',
|
||||
}),
|
||||
shouldShow: (context: NagContext) => context.currentRoute !== 'type-project-settings-server',
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'select-language',
|
||||
title: defineMessage({
|
||||
|
||||
@@ -35,6 +35,12 @@
|
||||
"nags.add-links.title": {
|
||||
"defaultMessage": "Add external links"
|
||||
},
|
||||
"nags.all-languages.description": {
|
||||
"defaultMessage": "You've selected all available language options. Please list only the languages your server actively supports."
|
||||
},
|
||||
"nags.all-languages.title": {
|
||||
"defaultMessage": "Select accurate languages"
|
||||
},
|
||||
"nags.all-tags-selected.description": {
|
||||
"defaultMessage": "You've selected all {totalAvailableTags, plural, one {# available tag} other {# available tags}}. This defeats the purpose of tags, which are meant to help users find relevant projects. Please select only the tags that are relevant to your project."
|
||||
},
|
||||
@@ -227,6 +233,12 @@
|
||||
"nags.title-contains-technical-info.title": {
|
||||
"defaultMessage": "Clean up the name"
|
||||
},
|
||||
"nags.too-many-languages.description": {
|
||||
"defaultMessage": "You've selected {languageCount, plural, one {# language} other {# languages}}. Please list only the languages your server actively supports."
|
||||
},
|
||||
"nags.too-many-languages.title": {
|
||||
"defaultMessage": "Select accurate languages"
|
||||
},
|
||||
"nags.too-many-tags-server.description": {
|
||||
"defaultMessage": "You've selected {tagCount, plural, one {# tag} other {# tags}}. Please reduce to {maxTagCount} or fewer to make sure your server appears in relevant search results."
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user