Clean up formatters from prev PR (#5254)

This commit is contained in:
Prospector
2026-02-02 01:38:36 -08:00
committed by GitHub
parent a207daef0d
commit 11f00be606
8 changed files with 45 additions and 59 deletions

View File

@@ -5,7 +5,7 @@ import { type Component, computed, readonly, type Ref, ref } from 'vue'
import { type LocationQueryRaw, type LocationQueryValue, useRoute } from 'vue-router'
import { defineMessage, useVIntl } from '../composables/i18n'
import { getTagMessageOrDefault } from './tag-messages.ts'
import { formatCategory, formatLoader } from './tag-messages.ts'
type BaseOption = {
id: string
@@ -144,10 +144,9 @@ export function useSearch(
options: [],
}
}
const message = getTagMessageOrDefault(category.name, 'category')
categoryFilters[filterTypeId].options.push({
id: category.name,
formatted_name: typeof message === 'string' ? message : formatMessage(message),
formatted_name: formatCategory(formatMessage, category.name),
icon: getCategoryIcon(category.name),
value: `categories:${category.name}`,
method: category.header === 'resolutions' ? 'or' : 'and',
@@ -256,10 +255,9 @@ export function useSearch(
!loader.supported_project_types.includes('datapack'),
)
.map((loader) => {
const message = getTagMessageOrDefault(loader.name, 'loader')
return {
id: loader.name,
formatted_name: typeof message === 'string' ? message : formatMessage(message),
formatted_name: formatLoader(formatMessage, loader.name),
icon: getLoaderIcon(loader.name),
method: 'or',
value: `categories:${loader.name}`,
@@ -283,10 +281,9 @@ export function useSearch(
options: tags.value.loaders
.filter((loader) => loader.supported_project_types.includes('modpack'))
.map((loader) => {
const message = getTagMessageOrDefault(loader.name, 'loader')
return {
id: loader.name,
formatted_name: typeof message === 'string' ? message : formatMessage(message),
formatted_name: formatLoader(formatMessage, loader.name),
icon: getLoaderIcon(loader.name),
method: 'or',
value: `categories:${loader.name}`,
@@ -313,10 +310,9 @@ export function useSearch(
!PLUGIN_PLATFORMS.includes(loader.name),
)
.map((loader) => {
const message = getTagMessageOrDefault(loader.name, 'loader')
return {
id: loader.name,
formatted_name: typeof message === 'string' ? message : formatMessage(message),
formatted_name: formatLoader(formatMessage, loader.name),
icon: getLoaderIcon(loader.name),
method: 'or',
value: `categories:${loader.name}`,
@@ -339,10 +335,9 @@ export function useSearch(
options: tags.value.loaders
.filter((loader) => PLUGIN_PLATFORMS.includes(loader.name))
.map((loader) => {
const message = getTagMessageOrDefault(loader.name, 'loader')
return {
id: loader.name,
formatted_name: typeof message === 'string' ? message : formatMessage(message),
formatted_name: formatLoader(formatMessage, loader.name),
icon: getLoaderIcon(loader.name),
method: 'or',
value: `categories:${loader.name}`,
@@ -366,10 +361,9 @@ export function useSearch(
options: tags.value.loaders
.filter((loader) => loader.supported_project_types.includes('shader'))
.map((loader) => {
const message = getTagMessageOrDefault(loader.name, 'loader')
return {
id: loader.name,
formatted_name: typeof message === 'string' ? message : formatMessage(message),
formatted_name: formatLoader(formatMessage, loader.name),
icon: getLoaderIcon(loader.name),
method: 'or',
value: `categories:${loader.name}`,

View File

@@ -1,6 +1,6 @@
import { capitalizeString } from '@modrinth/utils'
import { defineMessages, type MessageDescriptor } from '../composables/i18n'
import { defineMessages, type MessageDescriptor, type VIntlFormatters } from '../composables/i18n'
export const loaderMessages = defineMessages({
babric: {
@@ -401,9 +401,27 @@ export function getTagMessage(
}
}
export function getTagMessageOrDefault(
export function getLoaderMessage(loader: string) {
return getTagMessage(loader, 'loader')
}
export function getCategoryMessage(category: string) {
return getTagMessage(category, 'category')
}
export function formatTag(
formatter: VIntlFormatters['formatMessage'],
tag: string,
enforceType?: 'loader' | 'category',
): MessageDescriptor | string {
return getTagMessage(tag, enforceType) ?? capitalizeString(tag)
) {
const message = getTagMessage(tag, enforceType)
return message ? formatter(message) : capitalizeString(tag)
}
export function formatCategory(formatter: VIntlFormatters['formatMessage'], category: string) {
return formatTag(formatter, category, 'category')
}
export function formatLoader(formatter: VIntlFormatters['formatMessage'], category: string) {
return formatTag(formatter, category, 'category')
}