From 75335647ee6c448a6be4c6fc094a8b29154784ba Mon Sep 17 00:00:00 2001
From: Prospector <6166773+Prospector@users.noreply.github.com>
Date: Fri, 7 Aug 2026 13:19:36 -0700
Subject: [PATCH 1/7] update tags page + sort project types consistently
(#7044)
---
apps/frontend/src/layouts/default.vue | 44 +-
apps/frontend/src/locales/de-CH/index.json | 6 -
apps/frontend/src/locales/de-DE/index.json | 6 -
apps/frontend/src/locales/en-US/index.json | 22 +-
apps/frontend/src/locales/es-419/index.json | 6 -
apps/frontend/src/locales/fr-FR/index.json | 6 -
apps/frontend/src/locales/hu-HU/index.json | 6 -
apps/frontend/src/locales/it-IT/index.json | 3 -
apps/frontend/src/locales/ko-KR/index.json | 6 -
apps/frontend/src/locales/nl-NL/index.json | 6 -
apps/frontend/src/locales/pl-PL/index.json | 3 -
apps/frontend/src/locales/pt-BR/index.json | 6 -
apps/frontend/src/locales/ru-RU/index.json | 6 -
apps/frontend/src/locales/uk-UA/index.json | 6 -
apps/frontend/src/locales/zh-CN/index.json | 6 -
apps/frontend/src/locales/zh-TW/index.json | 6 -
.../pages/[type]/[project]/settings/tags.vue | 641 +++++++++---------
.../src/pages/collection/[collection].vue | 3 +-
.../src/pages/organization/[organization].vue | 25 +-
.../components/base/UnsavedChangesPopup.vue | 53 +-
.../layouts/shared/user-profile/layout.vue | 20 +-
packages/ui/src/utils/index.ts | 1 +
packages/ui/src/utils/project-types.ts | 31 +
packages/ui/src/utils/search.ts | 4 +-
24 files changed, 452 insertions(+), 470 deletions(-)
create mode 100644 packages/ui/src/utils/project-types.ts
diff --git a/apps/frontend/src/layouts/default.vue b/apps/frontend/src/layouts/default.vue
index bf09d69e04..6ebd410f11 100644
--- a/apps/frontend/src/layouts/default.vue
+++ b/apps/frontend/src/layouts/default.vue
@@ -138,22 +138,6 @@
{{ formatMessage(commonProjectTypeCategoryMessages.datapack) }}
-
-
- {{ formatMessage(commonProjectTypeCategoryMessages.modpack) }}
-
{{ formatMessage(commonProjectTypeCategoryMessages.shader) }}
+
+
+ {{ formatMessage(commonProjectTypeCategoryMessages.modpack) }}
+ [
href: '/discover/mods',
},
{
- label: formatMessage(getProjectTypeMessage('plugin', true)),
- href: '/discover/plugins',
+ label: formatMessage(getProjectTypeMessage('resourcepack', true)),
+ href: '/discover/resourcepacks',
},
{
label: formatMessage(getProjectTypeMessage('datapack', true)),
@@ -1226,14 +1226,14 @@ const navRoutes = computed(() => [
label: formatMessage(getProjectTypeMessage('shader', true)),
href: '/discover/shaders',
},
- {
- label: formatMessage(getProjectTypeMessage('resourcepack', true)),
- href: '/discover/resourcepacks',
- },
{
label: formatMessage(getProjectTypeMessage('modpack', true)),
href: '/discover/modpacks',
},
+ {
+ label: formatMessage(getProjectTypeMessage('plugin', true)),
+ href: '/discover/plugins',
+ },
{
label: formatMessage(getProjectTypeMessage('server', true)),
href: '/discover/servers',
diff --git a/apps/frontend/src/locales/de-CH/index.json b/apps/frontend/src/locales/de-CH/index.json
index f8f3215659..8701689713 100644
--- a/apps/frontend/src/locales/de-CH/index.json
+++ b/apps/frontend/src/locales/de-CH/index.json
@@ -3929,9 +3929,6 @@
"project.settings.tags.featured-tags": {
"message": "Hervorgehobene Tags"
},
- "project.settings.tags.featured-tags-description": {
- "message": "Du kannst bis zu 3 deiner relevantesten Tags als hervorheben. Andere Tags werden möglicherweise hervorgehoben, falls du nicht alle 3 auswählst."
- },
"project.settings.tags.features-description": {
"message": "Wähle alle Funktionen aus, die dein {type} nutzt."
},
@@ -3947,9 +3944,6 @@
"project.settings.tags.select-at-least-one-category": {
"message": "Wähle mindestens eine Kategorie aus, um eine Kategorie hervorzuheben."
},
- "project.settings.tags.tagging-importance-description": {
- "message": "Genaue Tags sind wichtig, damit Nutzer dein {type} leichter finden können. Achte darauf, alle zutreffenden Tags auszuwählen."
- },
"project.settings.tags.title": {
"message": "Tags"
},
diff --git a/apps/frontend/src/locales/de-DE/index.json b/apps/frontend/src/locales/de-DE/index.json
index f78ec91224..e414759eb7 100644
--- a/apps/frontend/src/locales/de-DE/index.json
+++ b/apps/frontend/src/locales/de-DE/index.json
@@ -3929,9 +3929,6 @@
"project.settings.tags.featured-tags": {
"message": "Hervorgehobene Tags"
},
- "project.settings.tags.featured-tags-description": {
- "message": "Du kannst bis zu 3 deiner relevantesten Tags als hervorheben. Andere Tags werden möglicherweise hervorgehoben, falls du nicht alle 3 auswählst."
- },
"project.settings.tags.features-description": {
"message": "Wähle alle Funktionen aus, die dein {type} nutzt."
},
@@ -3947,9 +3944,6 @@
"project.settings.tags.select-at-least-one-category": {
"message": "Wähle mindestens eine Kategorie aus, um eine Kategorie hervorzuheben."
},
- "project.settings.tags.tagging-importance-description": {
- "message": "Genaue Tags sind wichtig, damit Nutzer dein {type} leichter finden können. Achte darauf, alle zutreffenden Tags auszuwählen."
- },
"project.settings.tags.title": {
"message": "Tags"
},
diff --git a/apps/frontend/src/locales/en-US/index.json b/apps/frontend/src/locales/en-US/index.json
index da8e2ed9ef..812e796be1 100644
--- a/apps/frontend/src/locales/en-US/index.json
+++ b/apps/frontend/src/locales/en-US/index.json
@@ -3929,12 +3929,27 @@
"project.settings.tags.featured-tags": {
"message": "Featured tags"
},
- "project.settings.tags.featured-tags-description": {
- "message": "You can feature up to 3 of your most relevant tags. Other tags may be promoted to featured if you do not select all 3."
+ "project.settings.tags.featured-tags-required": {
+ "message": "You must have at least one featured tag."
+ },
+ "project.settings.tags.featured-tags-select-description": {
+ "message": "Select your most relevant tags. These are displayed before the rest of your tags."
},
"project.settings.tags.features-description": {
"message": "Select all of the features that your {type} makes use of."
},
+ "project.settings.tags.group-title.categories": {
+ "message": "{showType, select, yes {{types} categories} other {Categories}}"
+ },
+ "project.settings.tags.group-title.features": {
+ "message": "{showType, select, yes {{types} features} other {Features}}"
+ },
+ "project.settings.tags.group-title.performance-impact": {
+ "message": "{showType, select, yes {{types} performance impact} other {Performance impact}}"
+ },
+ "project.settings.tags.group-title.resolutions": {
+ "message": "{showType, select, yes {{types} resolutions} other {Resolutions}}"
+ },
"project.settings.tags.multiple-resolution-tags-warning": {
"message": "You've selected {count} resolution tags ({tags}). Resource packs should typically only have one resolution tag."
},
@@ -3947,9 +3962,6 @@
"project.settings.tags.select-at-least-one-category": {
"message": "Select at least one category in order to feature a category."
},
- "project.settings.tags.tagging-importance-description": {
- "message": "Accurate tagging is important to help people find your {type}. Make sure to select all tags that apply."
- },
"project.settings.tags.title": {
"message": "Tags"
},
diff --git a/apps/frontend/src/locales/es-419/index.json b/apps/frontend/src/locales/es-419/index.json
index 2aa8d978e3..038094172a 100644
--- a/apps/frontend/src/locales/es-419/index.json
+++ b/apps/frontend/src/locales/es-419/index.json
@@ -3929,9 +3929,6 @@
"project.settings.tags.featured-tags": {
"message": "Etiquetas destacadas"
},
- "project.settings.tags.featured-tags-description": {
- "message": "Puedes destacar hasta 3 de tus etiquetas más relevantes. Otras etiquetas pueden ser promovidas a destacadas si no seleccionas las 3 completas."
- },
"project.settings.tags.features-description": {
"message": "Selecciona todas las características que tu {type} usa."
},
@@ -3947,9 +3944,6 @@
"project.settings.tags.select-at-least-one-category": {
"message": "Selecciona al menos una categoría para destacar una categoría."
},
- "project.settings.tags.tagging-importance-description": {
- "message": "Seleccionar etiquetas relevantes es importante para ayudar a la gente a encontrar tu {type}. Asegúrate de seleccionar todas las etiquetas que apliquen."
- },
"project.settings.tags.title": {
"message": "Etiquetas"
},
diff --git a/apps/frontend/src/locales/fr-FR/index.json b/apps/frontend/src/locales/fr-FR/index.json
index a7729d4f72..d78cf40a5e 100644
--- a/apps/frontend/src/locales/fr-FR/index.json
+++ b/apps/frontend/src/locales/fr-FR/index.json
@@ -3929,9 +3929,6 @@
"project.settings.tags.featured-tags": {
"message": "Tags mis en avant"
},
- "project.settings.tags.featured-tags-description": {
- "message": "Vous pouvez mettre en avant jusqu'à 3 de vos tags les plus pertinents. D'autres tags peuvent être mis en avant si vous ne sélectionnez pas les 3."
- },
"project.settings.tags.features-description": {
"message": "Sélectionnez toutes les fonctionnalités que votre {type} utilise."
},
@@ -3947,9 +3944,6 @@
"project.settings.tags.select-at-least-one-category": {
"message": "Sélectionnez au moins une catégorie afin de pouvoir mettre en avant une catégorie."
},
- "project.settings.tags.tagging-importance-description": {
- "message": "Un étiquetage correct est important pour aider les gens à trouver votre {type}. Faites en sorte de sélectionner tous les tags qui s'appliquent."
- },
"project.settings.tags.title": {
"message": "Tags"
},
diff --git a/apps/frontend/src/locales/hu-HU/index.json b/apps/frontend/src/locales/hu-HU/index.json
index f95488ce5e..7313d7b514 100644
--- a/apps/frontend/src/locales/hu-HU/index.json
+++ b/apps/frontend/src/locales/hu-HU/index.json
@@ -3641,9 +3641,6 @@
"project.settings.tags.featured-tags": {
"message": "Kiemelt címkék"
},
- "project.settings.tags.featured-tags-description": {
- "message": "Legfeljebb 3 legrelevánsabb címkét jelölhetsz ki kiemeltként. Ha nem választod ki mind a 3-at, akkor a többi címke is kiemeltként jelenhet meg."
- },
"project.settings.tags.features-description": {
"message": "Jelöld ki az összes olyan funkciót, amelyet a {type} használ."
},
@@ -3659,9 +3656,6 @@
"project.settings.tags.select-at-least-one-category": {
"message": "Válassz ki legalább egy kategóriát ahhoz, hogy kiemelj egy kategóriát."
},
- "project.settings.tags.tagging-importance-description": {
- "message": "A pontos címkézés fontos ahhoz, hogy a {type} könnyebben me. Feltétlenül válaszd ki az összes releváns címkét."
- },
"project.settings.tags.title": {
"message": "Címkék"
},
diff --git a/apps/frontend/src/locales/it-IT/index.json b/apps/frontend/src/locales/it-IT/index.json
index b94fefd5b4..1d09448f32 100644
--- a/apps/frontend/src/locales/it-IT/index.json
+++ b/apps/frontend/src/locales/it-IT/index.json
@@ -3917,9 +3917,6 @@
"project.settings.tags.featured-tags": {
"message": "Tag in evidenza"
},
- "project.settings.tags.featured-tags-description": {
- "message": "Puoi mettere in evidenza fino a 3 tag. Altri tag potrebbero aggiungersi se non bastassero."
- },
"project.settings.tags.multiple-resolution-tags-warning": {
"message": "Hai selezionato {count} tag di risoluzione ({tags}). I pacchetti di risorse dovrebbero averne solo uno."
},
diff --git a/apps/frontend/src/locales/ko-KR/index.json b/apps/frontend/src/locales/ko-KR/index.json
index 4b43d5eb08..280d47f8af 100644
--- a/apps/frontend/src/locales/ko-KR/index.json
+++ b/apps/frontend/src/locales/ko-KR/index.json
@@ -3929,9 +3929,6 @@
"project.settings.tags.featured-tags": {
"message": "추천 태그"
},
- "project.settings.tags.featured-tags-description": {
- "message": "가장 적합한 태그를 최대 3개까지 지정할 수 있습니다. 3개를 모두 선택하지 않으면 다른 태그가 추천 태그로 표시될 수 있습니다."
- },
"project.settings.tags.features-description": {
"message": " {type}에서 사용하는 모든 기능을 선택하세요."
},
@@ -3947,9 +3944,6 @@
"project.settings.tags.select-at-least-one-category": {
"message": "추천 카테고리를 지정하려면 적어도 하나의 카테고리를 선택해야 합니다."
},
- "project.settings.tags.tagging-importance-description": {
- "message": "정확한 태그 선택은 {type}을 쉽게 찾을 수 있도록 돕습니다. 관련된 모든 태그를 선택해 주세요."
- },
"project.settings.tags.title": {
"message": "태그"
},
diff --git a/apps/frontend/src/locales/nl-NL/index.json b/apps/frontend/src/locales/nl-NL/index.json
index 6c64df1f48..6e52d55ba4 100644
--- a/apps/frontend/src/locales/nl-NL/index.json
+++ b/apps/frontend/src/locales/nl-NL/index.json
@@ -3926,9 +3926,6 @@
"project.settings.tags.featured-tags": {
"message": "Uitgelichte tags"
},
- "project.settings.tags.featured-tags-description": {
- "message": "Je kunt maximaal 3 van je meest relevante tags als uitgelichte tags selecteren. Als je niet alle 3 selecteert, kunnen andere tags als uitgelichte tags worden weergegeven."
- },
"project.settings.tags.features-description": {
"message": "Selecteer alle functies waarvan je {type} gebruikmaakt."
},
@@ -3944,9 +3941,6 @@
"project.settings.tags.select-at-least-one-category": {
"message": "Selecteer minstens één categorie om een categorie uit te lichten."
},
- "project.settings.tags.tagging-importance-description": {
- "message": "Nauwkeurige tags zijn belangrijk om mensen te helpen je {type} te vinden. Zorg ervoor dat je alle relevante tags selecteert."
- },
"project.settings.tags.title": {
"message": "Tags"
},
diff --git a/apps/frontend/src/locales/pl-PL/index.json b/apps/frontend/src/locales/pl-PL/index.json
index 85f58da7e8..28d9253571 100644
--- a/apps/frontend/src/locales/pl-PL/index.json
+++ b/apps/frontend/src/locales/pl-PL/index.json
@@ -3875,9 +3875,6 @@
"project.settings.tags.featured-tags": {
"message": "Wyróżnione tagi"
},
- "project.settings.tags.featured-tags-description": {
- "message": "Możesz wyróżnić 3 z najlepiej pasujących do Twojego projektu tagów. Inne tagi mogą zostać pokazane jako wyróżnione, jeżeli nie wybierzesz wszystkich trzech."
- },
"project.settings.tags.features-description": {
"message": "Wszystkie funkcjonalności, których używa {type}"
},
diff --git a/apps/frontend/src/locales/pt-BR/index.json b/apps/frontend/src/locales/pt-BR/index.json
index 20925759f1..c43bc191b6 100644
--- a/apps/frontend/src/locales/pt-BR/index.json
+++ b/apps/frontend/src/locales/pt-BR/index.json
@@ -3929,9 +3929,6 @@
"project.settings.tags.featured-tags": {
"message": "Etiquetas em destaque"
},
- "project.settings.tags.featured-tags-description": {
- "message": "Você pode destacar até 3 das suas etiquetas mais relevantes. Outras etiquetas poderão ser promovidas a destaque caso você não selecione todas as 3."
- },
"project.settings.tags.features-description": {
"message": "Selecione todas as funcionalidades que o seu {type} utiliza."
},
@@ -3947,9 +3944,6 @@
"project.settings.tags.select-at-least-one-category": {
"message": "Selecione pelo menos uma categoria para ela ser destacada."
},
- "project.settings.tags.tagging-importance-description": {
- "message": "Etiquetar corretamente é importante para ajudar as pessoas a encontrarem seu {type}. Certifique-se de selecionar todas as etiquetas aplicáveis."
- },
"project.settings.tags.title": {
"message": "Etiquetas"
},
diff --git a/apps/frontend/src/locales/ru-RU/index.json b/apps/frontend/src/locales/ru-RU/index.json
index 51a767ad5b..dc0d3de738 100644
--- a/apps/frontend/src/locales/ru-RU/index.json
+++ b/apps/frontend/src/locales/ru-RU/index.json
@@ -3920,9 +3920,6 @@
"project.settings.tags.featured-tags": {
"message": "Ключевые теги"
},
- "project.settings.tags.featured-tags-description": {
- "message": "Можно выбрать до 3 ключевых тегов. Если не выбрать все 3, то другие теги могут стать ключевыми."
- },
"project.settings.tags.features-description": {
"message": "Выберите все особенности, которые использует ваш {type}"
},
@@ -3935,9 +3932,6 @@
"project.settings.tags.select-at-least-one-category": {
"message": "Выберите хотя бы одну категорию, чтобы отобразить ее."
},
- "project.settings.tags.tagging-importance-description": {
- "message": "Аккуратная маркировка важна, чтобы помочь людям найти ваш {type}"
- },
"project.settings.tags.title": {
"message": "Теги"
},
diff --git a/apps/frontend/src/locales/uk-UA/index.json b/apps/frontend/src/locales/uk-UA/index.json
index 0bd18c26c5..f85db2798d 100644
--- a/apps/frontend/src/locales/uk-UA/index.json
+++ b/apps/frontend/src/locales/uk-UA/index.json
@@ -3926,9 +3926,6 @@
"project.settings.tags.featured-tags": {
"message": "Основні теґи"
},
- "project.settings.tags.featured-tags-description": {
- "message": "Ви можете обрати основними до 3 найбільш описових теґів. Інші теґи можуть стати основними, якщо не оберете всі 3."
- },
"project.settings.tags.features-description": {
"message": "Оберіть увесь функціонал, який присутній у {type}."
},
@@ -3944,9 +3941,6 @@
"project.settings.tags.select-at-least-one-category": {
"message": "Виберіть хоча б одну категорію, щоб рекомендувати її."
},
- "project.settings.tags.tagging-importance-description": {
- "message": "Указання правильних теґів необхідне, щоб люди могли легше знайти ваш {type}. Переконайтеся, що ви обрали підхожі теґи."
- },
"project.settings.tags.title": {
"message": "Теґи"
},
diff --git a/apps/frontend/src/locales/zh-CN/index.json b/apps/frontend/src/locales/zh-CN/index.json
index 1cbf4f42c0..f556e930cc 100644
--- a/apps/frontend/src/locales/zh-CN/index.json
+++ b/apps/frontend/src/locales/zh-CN/index.json
@@ -3929,9 +3929,6 @@
"project.settings.tags.featured-tags": {
"message": "精选标签"
},
- "project.settings.tags.featured-tags-description": {
- "message": "你可以设置最多 3 个精选标签,标示出最相关的特点。如果没有选完 3 个标签,其他标签也可能提升为精选标签。"
- },
"project.settings.tags.features-description": {
"message": "选择你的{type}作用于哪类特性。"
},
@@ -3947,9 +3944,6 @@
"project.settings.tags.select-at-least-one-category": {
"message": "请先至少选择一个分类,再设置精选分类。"
},
- "project.settings.tags.tagging-importance-description": {
- "message": "准确选好标签,能极大帮助别人找到你的{type}。请确保选择所有合适的标签。"
- },
"project.settings.tags.title": {
"message": "标签"
},
diff --git a/apps/frontend/src/locales/zh-TW/index.json b/apps/frontend/src/locales/zh-TW/index.json
index 6b70244445..acc1d22e3a 100644
--- a/apps/frontend/src/locales/zh-TW/index.json
+++ b/apps/frontend/src/locales/zh-TW/index.json
@@ -3929,9 +3929,6 @@
"project.settings.tags.featured-tags": {
"message": "精選標籤"
},
- "project.settings.tags.featured-tags-description": {
- "message": "你可以選擇最多 3 個最相關的標籤作為精選標籤。如果沒有選完 3 個標籤,系統可能會自動將其他標籤選為精選標籤。"
- },
"project.settings.tags.features-description": {
"message": "請選擇你的{type}包含的功能。"
},
@@ -3947,9 +3944,6 @@
"project.settings.tags.select-at-least-one-category": {
"message": "請選擇至少一個類別再選擇精選標籤。"
},
- "project.settings.tags.tagging-importance-description": {
- "message": "精確的標籤對於協助使用者找到你的{type}非常重要。請務必選擇所有合適的標籤。"
- },
"project.settings.tags.title": {
"message": "標籤"
},
diff --git a/apps/frontend/src/pages/[type]/[project]/settings/tags.vue b/apps/frontend/src/pages/[type]/[project]/settings/tags.vue
index cbfc414335..5a2645962f 100644
--- a/apps/frontend/src/pages/[type]/[project]/settings/tags.vue
+++ b/apps/frontend/src/pages/[type]/[project]/settings/tags.vue
@@ -1,174 +1,23 @@
-
-