diff --git a/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue b/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue
index ed6adef3d..93cf9bc55 100644
--- a/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue
+++ b/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue
@@ -18,7 +18,7 @@ import {
Chips,
Combobox,
defineMessages,
- getTagMessageOrDefault,
+ formatLoader,
injectNotificationManager,
useVIntl,
} from '@modrinth/ui'
@@ -563,10 +563,7 @@ const messages = defineMessages({
? modpackVersion
? modpackVersion?.version_number
: 'Unknown version'
- : (() => {
- const message = getTagMessageOrDefault(instance.loader, 'loader')
- return typeof message === 'string' ? message : formatMessage(message)
- })()
+ : formatLoader(formatMessage, instance.loader)
}}
{{ instance.loader_version || formatMessage(messages.unknownVersion) }}
@@ -676,10 +673,7 @@ const messages = defineMessages({
@@ -713,10 +707,7 @@ const messages = defineMessages({
? messages.alreadyInstalledVanilla
: messages.alreadyInstalledModded,
{
- platform: (() => {
- const message = getTagMessageOrDefault(loader, 'loader')
- return typeof message === 'string' ? message : formatMessage(message)
- })(),
+ platform: formatLoader(formatMessage, loader),
version: instance.loader_version,
game_version: gameVersion,
},
diff --git a/apps/frontend/src/components/ui/servers/ContentVersionEditModal.vue b/apps/frontend/src/components/ui/servers/ContentVersionEditModal.vue
index 0bfe2ba11..21fa2e22f 100644
--- a/apps/frontend/src/components/ui/servers/ContentVersionEditModal.vue
+++ b/apps/frontend/src/components/ui/servers/ContentVersionEditModal.vue
@@ -146,8 +146,7 @@
? 'All platforms'
: filtersRef?.selectedPlatforms
.map((x) => {
- const message = getTagMessageOrDefault(x, 'loader')
- return typeof message === 'string' ? message : formatMessage(message)
+ return formatLoader(formatMessage, x)
})
.join(', ')
}}
@@ -260,7 +259,7 @@ import {
Checkbox,
Combobox,
CopyCode,
- getTagMessageOrDefault,
+ formatLoader,
NewModal,
TagItem,
useVIntl,
@@ -436,10 +435,7 @@ const formattedVersions = computed(() => {
if (secondLoaderPosition === -1) return -1
return firstLoaderPosition - secondLoaderPosition
})
- .map((loader: string) => {
- const message = getTagMessageOrDefault(loader, 'loader')
- return typeof message === 'string' ? message : formatMessage(message)
- }),
+ .map((loader: string) => formatLoader(formatMessage, loader)),
}
})
diff --git a/apps/frontend/src/pages/[type]/[id]/settings/tags.vue b/apps/frontend/src/pages/[type]/[id]/settings/tags.vue
index e705c5ab7..1755b77c9 100644
--- a/apps/frontend/src/pages/[type]/[id]/settings/tags.vue
+++ b/apps/frontend/src/pages/[type]/[id]/settings/tags.vue
@@ -66,11 +66,7 @@
v-for="category in categoryLists[header]"
:key="`category-${header}-${category.name}`"
:model-value="current.selectedTags.includes(category)"
- :description="
- typeof getTagMessageOrDefault(category.name, 'category') === 'string'
- ? getTagMessageOrDefault(category.name, 'category')
- : formatMessage(getTagMessageOrDefault(category.name, 'category'))
- "
+ :description="formatCategory(formatMessage, category.name)"
class="category-selector"
@update:model-value="toggleCategory(category)"
>
@@ -106,11 +102,7 @@
:key="`featured-category-${category.name}`"
class="category-selector"
:model-value="current.featuredTags.includes(category)"
- :description="
- typeof getTagMessageOrDefault(category.name, 'category') === 'string'
- ? getTagMessageOrDefault(category.name, 'category')
- : formatMessage(getTagMessageOrDefault(category.name, 'category'))
- "
+ :description="formatCategory(formatMessage, category.name)"
:disabled="current.featuredTags.length >= 3 && !current.featuredTags.includes(category)"
@update:model-value="toggleFeaturedCategory(category)"
>
@@ -143,8 +135,8 @@
import { getCategoryIcon, StarIcon, TriangleAlertIcon } from '@modrinth/assets'
import {
Checkbox,
+ formatCategory,
FormattedTag,
- getTagMessageOrDefault,
injectProjectPageContext,
UnsavedChangesPopup,
useSavable,
diff --git a/packages/ui/src/components/base/FormattedTag.vue b/packages/ui/src/components/base/FormattedTag.vue
index 87d9fb7ab..b2ea48597 100644
--- a/packages/ui/src/components/base/FormattedTag.vue
+++ b/packages/ui/src/components/base/FormattedTag.vue
@@ -2,7 +2,7 @@
import { computed } from 'vue'
import { useVIntl } from '../../composables'
-import { getTagMessageOrDefault } from '../../utils/tag-messages.ts'
+import { formatTag } from '../../utils/tag-messages.ts'
const { formatMessage } = useVIntl()
@@ -11,9 +11,9 @@ const props = defineProps<{
enforceType?: 'loader' | 'category'
}>()
-const message = computed(() => getTagMessageOrDefault(props.tag, props.enforceType))
+const message = computed(() => formatTag(formatMessage, props.tag, props.enforceType))
- {{ typeof message === 'string' ? message : formatMessage(message) }}
+ {{ message }}
diff --git a/packages/ui/src/components/search/Categories.vue b/packages/ui/src/components/search/Categories.vue
index e0aa1e728..09faa65ac 100644
--- a/packages/ui/src/components/search/Categories.vue
+++ b/packages/ui/src/components/search/Categories.vue
@@ -3,7 +3,7 @@
- {{ getFormattedMessage(category) }}
+ {{ formatTag(formatMessage, category) }}
@@ -11,18 +11,13 @@
import { getTagIcon } from '@modrinth/assets'
import { useVIntl } from '../../composables'
-import { getTagMessageOrDefault } from '../../utils/tag-messages.ts'
+import { formatTag } from '../../utils/tag-messages.ts'
const { formatMessage } = useVIntl()
defineProps<{
categories: string[]
}>()
-
-const getFormattedMessage = (tag: string) => {
- const message = getTagMessageOrDefault(tag)
- return typeof message === 'string' ? message : formatMessage(message)
-}