Deduplicate common strings in translation (#5085)

* deduplicate common strings, part 1

* deduplicate common strings, part 2

* typo and general import mess fixes

* detail common string

* fix lint

* fix lint TWO

* adress review concerns + lint

* app lint too

* actually leave privateLabel untouched

* lint fix THREE

* fix: broken msg

* fix: lint

---------

Co-authored-by: Calum H. <contact@cal.engineer>
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
This commit is contained in:
lumiscosity
2026-01-28 18:10:50 +00:00
committed by GitHub
co-authored by Calum H. Prospector
parent 400c571fe6
commit 6d68d50699
31 changed files with 279 additions and 624 deletions
@@ -13,7 +13,7 @@ import {
Button,
Combobox,
type ComboboxOption,
defineMessages,
commonMessages,
FloatingPanel,
injectModrinthClient,
Pagination,
@@ -163,21 +163,6 @@ function handleLoadFileSources(reportId: string): void {
}
}
const messages = defineMessages({
searchPlaceholder: {
id: 'moderation.search.placeholder',
defaultMessage: 'Search...',
},
filterBy: {
id: 'moderation.filter.by',
defaultMessage: 'Filter by',
},
sortBy: {
id: 'moderation.sort.by',
defaultMessage: 'Sort by',
},
})
const query = ref(route.query.q?.toString() || '')
watch(
@@ -534,7 +519,7 @@ watch([currentSortType, currentResponseFilter, inOtherQueueFilter, currentFilter
autocomplete="off"
spellcheck="false"
type="text"
:placeholder="formatMessage(messages.searchPlaceholder)"
:placeholder="formatMessage(commonMessages.searchPlaceholder)"
@input="goToPage(1)"
/>
<Button v-if="query" class="r-btn" @click="() => (query = '')">
@@ -572,7 +557,7 @@ watch([currentSortType, currentResponseFilter, inOtherQueueFilter, currentFilter
v-model="currentSortType"
class="!w-full flex-grow sm:!w-[215px] sm:flex-grow-0"
:options="sortTypes"
:placeholder="formatMessage(messages.sortBy)"
:placeholder="formatMessage(commonMessages.sortByLabel)"
>
<template #selected>
<span class="flex flex-row gap-2 align-middle font-semibold">
@@ -602,7 +587,7 @@ watch([currentSortType, currentResponseFilter, inOtherQueueFilter, currentFilter
v-model="currentFilterType"
class="!w-full"
:options="filterTypes"
:placeholder="formatMessage(messages.filterBy)"
:placeholder="formatMessage(commonMessages.filterByLabel)"
searchable
>
<template #selected>