@@ -226,6 +237,7 @@
import type { Labrinth } from '@modrinth/api-client'
import {
BookTextIcon,
+ BrainCircuitIcon,
CalendarIcon,
CircleDollarSignIcon,
CircuitBoardIcon,
@@ -263,7 +275,7 @@ const formatDateTime = useFormatDateTime({
dateStyle: 'long',
})
-const AI_USE_ORDER: Labrinth.Projects.v3.AiUsage[] = ['code', 'assets', 'text', 'functionality']
+const AI_USE_ORDER: Labrinth.Projects.v3.AiUsage[] = ['code', 'assets', 'text']
const props = defineProps<{
project: Labrinth.Projects.v2.Project
@@ -304,6 +316,10 @@ const messages = defineMessages({
id: 'project.disclosure.ai-generated-content.title',
defaultMessage: 'Contains AI-generated {types}',
},
+ aiFunctionalityTitle: {
+ id: 'project.disclosure.ai-functionality.title',
+ defaultMessage: 'Generative AI functionality',
+ },
derivativeWork: {
id: 'project.disclosure.derivative-work.title',
defaultMessage: 'This is a derivative work of:',
@@ -346,6 +362,7 @@ function findDisclosure(ty
}
const aiDisclosure = computed(() => findDisclosure('ai_content'))
+const aiFunctionalityDisclosure = computed(() => findDisclosure('ai_functionality'))
const advertisingDisclosure = computed(() => findDisclosure('advertisements'))
const paidFeaturesDisclosure = computed(() => findDisclosure('paid_features'))
const telemetryDisclosure = computed(() => findDisclosure('telemetry'))
@@ -388,10 +405,6 @@ const aiUseLabels = {
id: 'project.disclosure.ai-generated-content.use.text',
defaultMessage: 'text',
}),
- functionality: defineMessage({
- id: 'project.disclosure.ai-generated-content.use.functionality',
- defaultMessage: 'functionality',
- }),
content: defineMessage({
id: 'project.disclosure.ai-generated-content.use.content',
defaultMessage: 'content',
diff --git a/packages/ui/src/locales/de-CH/index.json b/packages/ui/src/locales/de-CH/index.json
index 283afb949f..005338f2a9 100644
--- a/packages/ui/src/locales/de-CH/index.json
+++ b/packages/ui/src/locales/de-CH/index.json
@@ -3458,9 +3458,6 @@
"project.disclosure.ai-generated-content.use.content": {
"defaultMessage": "e Inhalte"
},
- "project.disclosure.ai-generated-content.use.functionality": {
- "defaultMessage": "e Funktionen"
- },
"project.disclosure.ai-generated-content.use.text": {
"defaultMessage": "en Text"
},
@@ -3854,9 +3851,6 @@
"project.settings.disclosures.ai.types-code": {
"defaultMessage": "Code"
},
- "project.settings.disclosures.ai.types-functionality": {
- "defaultMessage": "Funktionen"
- },
"project.settings.disclosures.ai.types-text": {
"defaultMessage": "Text"
},
diff --git a/packages/ui/src/locales/de-DE/index.json b/packages/ui/src/locales/de-DE/index.json
index 6c942a21f6..8ad58cdc8d 100644
--- a/packages/ui/src/locales/de-DE/index.json
+++ b/packages/ui/src/locales/de-DE/index.json
@@ -3458,9 +3458,6 @@
"project.disclosure.ai-generated-content.use.content": {
"defaultMessage": "e Inhalte"
},
- "project.disclosure.ai-generated-content.use.functionality": {
- "defaultMessage": "e Funktionen"
- },
"project.disclosure.ai-generated-content.use.text": {
"defaultMessage": "en Text"
},
@@ -3854,9 +3851,6 @@
"project.settings.disclosures.ai.types-code": {
"defaultMessage": "Code"
},
- "project.settings.disclosures.ai.types-functionality": {
- "defaultMessage": "Funktionen"
- },
"project.settings.disclosures.ai.types-text": {
"defaultMessage": "Text"
},
diff --git a/packages/ui/src/locales/en-US/index.json b/packages/ui/src/locales/en-US/index.json
index 8f9dabe99c..8b81523d87 100644
--- a/packages/ui/src/locales/en-US/index.json
+++ b/packages/ui/src/locales/en-US/index.json
@@ -3446,6 +3446,9 @@
"project.disclosure.advertising.title": {
"defaultMessage": "Contains advertising"
},
+ "project.disclosure.ai-functionality.title": {
+ "defaultMessage": "Generative AI functionality"
+ },
"project.disclosure.ai-generated-content.title": {
"defaultMessage": "Contains AI-generated {types}"
},
@@ -3458,9 +3461,6 @@
"project.disclosure.ai-generated-content.use.content": {
"defaultMessage": "content"
},
- "project.disclosure.ai-generated-content.use.functionality": {
- "defaultMessage": "functionality"
- },
"project.disclosure.ai-generated-content.use.text": {
"defaultMessage": "text"
},
@@ -3854,9 +3854,6 @@
"project.settings.disclosures.ai.types-code": {
"defaultMessage": "Code"
},
- "project.settings.disclosures.ai.types-functionality": {
- "defaultMessage": "Functionality"
- },
"project.settings.disclosures.ai.types-text": {
"defaultMessage": "Text"
},
@@ -4199,6 +4196,9 @@
"search.filter_type.advanced.disclosure.ai_content.usage": {
"defaultMessage": "AI {usage}"
},
+ "search.filter_type.advanced.disclosure.ai_functionality": {
+ "defaultMessage": "Generative AI functionality"
+ },
"search.filter_type.advanced.disclosure.archived": {
"defaultMessage": "Archived"
},
diff --git a/packages/ui/src/locales/es-419/index.json b/packages/ui/src/locales/es-419/index.json
index d463b32471..37792a7a12 100644
--- a/packages/ui/src/locales/es-419/index.json
+++ b/packages/ui/src/locales/es-419/index.json
@@ -3458,9 +3458,6 @@
"project.disclosure.ai-generated-content.use.content": {
"defaultMessage": "contenido"
},
- "project.disclosure.ai-generated-content.use.functionality": {
- "defaultMessage": "funciones"
- },
"project.disclosure.ai-generated-content.use.text": {
"defaultMessage": "texto"
},
@@ -3854,9 +3851,6 @@
"project.settings.disclosures.ai.types-code": {
"defaultMessage": "Código"
},
- "project.settings.disclosures.ai.types-functionality": {
- "defaultMessage": "Funciones"
- },
"project.settings.disclosures.ai.types-text": {
"defaultMessage": "Texto"
},
diff --git a/packages/ui/src/locales/es-ES/index.json b/packages/ui/src/locales/es-ES/index.json
index c7d7a99361..e6737d7b4a 100644
--- a/packages/ui/src/locales/es-ES/index.json
+++ b/packages/ui/src/locales/es-ES/index.json
@@ -3407,9 +3407,6 @@
"project.disclosure.ai-generated-content.use.content": {
"defaultMessage": "contenido"
},
- "project.disclosure.ai-generated-content.use.functionality": {
- "defaultMessage": "funcionalidad"
- },
"project.disclosure.ai-generated-content.use.text": {
"defaultMessage": "texto"
},
@@ -3791,9 +3788,6 @@
"project.settings.disclosures.ai.types-code": {
"defaultMessage": "Código"
},
- "project.settings.disclosures.ai.types-functionality": {
- "defaultMessage": "Funcionalidad"
- },
"project.settings.disclosures.ai.types-text": {
"defaultMessage": "Texto"
},
diff --git a/packages/ui/src/locales/hu-HU/index.json b/packages/ui/src/locales/hu-HU/index.json
index 66f015f0b6..16e87ba132 100644
--- a/packages/ui/src/locales/hu-HU/index.json
+++ b/packages/ui/src/locales/hu-HU/index.json
@@ -2996,9 +2996,6 @@
"project.disclosure.ai-generated-content.use.content": {
"defaultMessage": "tartalmat"
},
- "project.disclosure.ai-generated-content.use.functionality": {
- "defaultMessage": "funkciókat"
- },
"project.disclosure.ai-generated-content.use.text": {
"defaultMessage": "szöveget"
},
@@ -3356,9 +3353,6 @@
"project.settings.disclosures.ai.types-code": {
"defaultMessage": "Kód"
},
- "project.settings.disclosures.ai.types-functionality": {
- "defaultMessage": "Funkciók"
- },
"project.settings.disclosures.ai.types-text": {
"defaultMessage": "Szöveg"
},
diff --git a/packages/ui/src/locales/it-IT/index.json b/packages/ui/src/locales/it-IT/index.json
index 191bc0c336..4207bc07d2 100644
--- a/packages/ui/src/locales/it-IT/index.json
+++ b/packages/ui/src/locales/it-IT/index.json
@@ -3401,9 +3401,6 @@
"project.disclosure.ai-generated-content.use.content": {
"defaultMessage": "contenuti generati"
},
- "project.disclosure.ai-generated-content.use.functionality": {
- "defaultMessage": "funzionalità generate"
- },
"project.disclosure.ai-generated-content.use.text": {
"defaultMessage": "testo generato"
},
@@ -3797,9 +3794,6 @@
"project.settings.disclosures.ai.types-code": {
"defaultMessage": "Codice"
},
- "project.settings.disclosures.ai.types-functionality": {
- "defaultMessage": "Funzionalità"
- },
"project.settings.disclosures.ai.types-text": {
"defaultMessage": "Testo"
},
diff --git a/packages/ui/src/locales/ko-KR/index.json b/packages/ui/src/locales/ko-KR/index.json
index ed19500be4..3e26674b06 100644
--- a/packages/ui/src/locales/ko-KR/index.json
+++ b/packages/ui/src/locales/ko-KR/index.json
@@ -3284,9 +3284,6 @@
"project.disclosure.ai-generated-content.use.content": {
"defaultMessage": "콘텐츠"
},
- "project.disclosure.ai-generated-content.use.functionality": {
- "defaultMessage": "기능"
- },
"project.disclosure.ai-generated-content.use.text": {
"defaultMessage": "텍스트"
},
@@ -3668,9 +3665,6 @@
"project.settings.disclosures.ai.types-code": {
"defaultMessage": "코드"
},
- "project.settings.disclosures.ai.types-functionality": {
- "defaultMessage": "기능"
- },
"project.settings.disclosures.ai.types-text": {
"defaultMessage": "텍스트"
},
diff --git a/packages/ui/src/locales/pl-PL/index.json b/packages/ui/src/locales/pl-PL/index.json
index b384ff226a..83ddbc3811 100644
--- a/packages/ui/src/locales/pl-PL/index.json
+++ b/packages/ui/src/locales/pl-PL/index.json
@@ -3398,9 +3398,6 @@
"project.disclosure.ai-generated-content.use.content": {
"defaultMessage": "zawartość wygenerowaną"
},
- "project.disclosure.ai-generated-content.use.functionality": {
- "defaultMessage": "funkcjonalność wygenerowaną"
- },
"project.disclosure.ai-generated-content.use.text": {
"defaultMessage": "tekst wygenerowany"
},
@@ -3782,9 +3779,6 @@
"project.settings.disclosures.ai.types-code": {
"defaultMessage": "Kod"
},
- "project.settings.disclosures.ai.types-functionality": {
- "defaultMessage": "Funkcjonalność"
- },
"project.settings.disclosures.ai.types-text": {
"defaultMessage": "Tekst"
},
diff --git a/packages/ui/src/locales/pt-BR/index.json b/packages/ui/src/locales/pt-BR/index.json
index bae928f400..eeec87ecc9 100644
--- a/packages/ui/src/locales/pt-BR/index.json
+++ b/packages/ui/src/locales/pt-BR/index.json
@@ -3344,9 +3344,6 @@
"project.disclosure.ai-generated-content.use.content": {
"defaultMessage": "conteúdo"
},
- "project.disclosure.ai-generated-content.use.functionality": {
- "defaultMessage": "recurso"
- },
"project.disclosure.ai-generated-content.use.text": {
"defaultMessage": "texto"
},
@@ -3740,9 +3737,6 @@
"project.settings.disclosures.ai.types-code": {
"defaultMessage": "Código"
},
- "project.settings.disclosures.ai.types-functionality": {
- "defaultMessage": "Recursos"
- },
"project.settings.disclosures.ai.types-text": {
"defaultMessage": "Texto"
},
@@ -6429,4 +6423,3 @@
"defaultMessage": "Tipo"
}
}
-
diff --git a/packages/ui/src/locales/ru-RU/index.json b/packages/ui/src/locales/ru-RU/index.json
index 1c597255e9..e138eeeea6 100644
--- a/packages/ui/src/locales/ru-RU/index.json
+++ b/packages/ui/src/locales/ru-RU/index.json
@@ -3371,9 +3371,6 @@
"project.disclosure.ai-generated-content.use.content": {
"defaultMessage": "контент"
},
- "project.disclosure.ai-generated-content.use.functionality": {
- "defaultMessage": "функциональность"
- },
"project.disclosure.ai-generated-content.use.text": {
"defaultMessage": "текст"
},
@@ -3764,9 +3761,6 @@
"project.settings.disclosures.ai.types-code": {
"defaultMessage": "Код"
},
- "project.settings.disclosures.ai.types-functionality": {
- "defaultMessage": "Функциональность"
- },
"project.settings.disclosures.ai.types-text": {
"defaultMessage": "Текст"
},
diff --git a/packages/ui/src/locales/sv-SE/index.json b/packages/ui/src/locales/sv-SE/index.json
index fd9b647cf7..447b8b43a9 100644
--- a/packages/ui/src/locales/sv-SE/index.json
+++ b/packages/ui/src/locales/sv-SE/index.json
@@ -3143,9 +3143,6 @@
"project.disclosure.ai-generated-content.use.content": {
"defaultMessage": "innehåll"
},
- "project.disclosure.ai-generated-content.use.functionality": {
- "defaultMessage": "funktionalitet"
- },
"project.disclosure.ai-generated-content.use.text": {
"defaultMessage": "text"
},
@@ -3533,9 +3530,6 @@
"project.settings.disclosures.ai.types-code": {
"defaultMessage": "Kod"
},
- "project.settings.disclosures.ai.types-functionality": {
- "defaultMessage": "Funktion"
- },
"project.settings.disclosures.ai.types-text": {
"defaultMessage": "Text"
},
diff --git a/packages/ui/src/locales/tr-TR/index.json b/packages/ui/src/locales/tr-TR/index.json
index bcc5a02559..49ed5e3e86 100644
--- a/packages/ui/src/locales/tr-TR/index.json
+++ b/packages/ui/src/locales/tr-TR/index.json
@@ -3335,9 +3335,6 @@
"project.disclosure.ai-generated-content.use.content": {
"defaultMessage": "içerik"
},
- "project.disclosure.ai-generated-content.use.functionality": {
- "defaultMessage": "işlevsellik"
- },
"project.disclosure.ai-generated-content.use.text": {
"defaultMessage": "metin"
},
@@ -3707,9 +3704,6 @@
"project.settings.disclosures.ai.types-code": {
"defaultMessage": "Kod"
},
- "project.settings.disclosures.ai.types-functionality": {
- "defaultMessage": "İşlevsellik"
- },
"project.settings.disclosures.ai.types-text": {
"defaultMessage": "Metin"
},
diff --git a/packages/ui/src/locales/uk-UA/index.json b/packages/ui/src/locales/uk-UA/index.json
index a6d203efa3..56a1e60976 100644
--- a/packages/ui/src/locales/uk-UA/index.json
+++ b/packages/ui/src/locales/uk-UA/index.json
@@ -3305,9 +3305,6 @@
"project.disclosure.ai-generated-content.use.content": {
"defaultMessage": "вміст"
},
- "project.disclosure.ai-generated-content.use.functionality": {
- "defaultMessage": "функціонал"
- },
"project.disclosure.ai-generated-content.use.text": {
"defaultMessage": "текст"
},
@@ -3701,9 +3698,6 @@
"project.settings.disclosures.ai.types-code": {
"defaultMessage": "Код"
},
- "project.settings.disclosures.ai.types-functionality": {
- "defaultMessage": "Функціонал"
- },
"project.settings.disclosures.ai.types-text": {
"defaultMessage": "Текст"
},
diff --git a/packages/ui/src/locales/zh-CN/index.json b/packages/ui/src/locales/zh-CN/index.json
index 2a71f716fd..e84fffaa4f 100644
--- a/packages/ui/src/locales/zh-CN/index.json
+++ b/packages/ui/src/locales/zh-CN/index.json
@@ -3458,9 +3458,6 @@
"project.disclosure.ai-generated-content.use.content": {
"defaultMessage": "内容"
},
- "project.disclosure.ai-generated-content.use.functionality": {
- "defaultMessage": "功能"
- },
"project.disclosure.ai-generated-content.use.text": {
"defaultMessage": "文本"
},
@@ -3854,9 +3851,6 @@
"project.settings.disclosures.ai.types-code": {
"defaultMessage": "代码"
},
- "project.settings.disclosures.ai.types-functionality": {
- "defaultMessage": "功能"
- },
"project.settings.disclosures.ai.types-text": {
"defaultMessage": "文本(如翻译)"
},
diff --git a/packages/ui/src/locales/zh-TW/index.json b/packages/ui/src/locales/zh-TW/index.json
index da4f56a829..0f354d825d 100644
--- a/packages/ui/src/locales/zh-TW/index.json
+++ b/packages/ui/src/locales/zh-TW/index.json
@@ -3458,9 +3458,6 @@
"project.disclosure.ai-generated-content.use.content": {
"defaultMessage": "內容"
},
- "project.disclosure.ai-generated-content.use.functionality": {
- "defaultMessage": "功能"
- },
"project.disclosure.ai-generated-content.use.text": {
"defaultMessage": "文字"
},
@@ -3854,9 +3851,6 @@
"project.settings.disclosures.ai.types-code": {
"defaultMessage": "程式碼"
},
- "project.settings.disclosures.ai.types-functionality": {
- "defaultMessage": "功能"
- },
"project.settings.disclosures.ai.types-text": {
"defaultMessage": "文字"
},
diff --git a/packages/ui/src/utils/common-messages.ts b/packages/ui/src/utils/common-messages.ts
index 0b22cb173f..47c6cb29f0 100644
--- a/packages/ui/src/utils/common-messages.ts
+++ b/packages/ui/src/utils/common-messages.ts
@@ -1240,10 +1240,6 @@ export const disclosureAiUsageMessages = defineMessages({
id: 'project.settings.disclosures.ai.types-text',
defaultMessage: 'Text',
},
- functionality: {
- id: 'project.settings.disclosures.ai.types-functionality',
- defaultMessage: 'Functionality',
- },
})
export const disclosureTelemetryConsentMessages = defineMessages({
diff --git a/packages/ui/src/utils/disclosures.ts b/packages/ui/src/utils/disclosures.ts
index f6cdc70ece..040ab15451 100644
--- a/packages/ui/src/utils/disclosures.ts
+++ b/packages/ui/src/utils/disclosures.ts
@@ -2,6 +2,7 @@ import type { Labrinth } from '@modrinth/api-client'
export const PROJECT_DISCLOSURE_TYPES = [
'ai_content',
+ 'ai_functionality',
'advertisements',
'epilepsy_triggers',
'system_interactions',
@@ -15,7 +16,6 @@ export const AI_USAGE_TYPES = [
'code',
'assets',
'text',
- 'functionality',
] as const satisfies readonly Labrinth.Projects.v3.AiUsage[]
export const TELEMETRY_CONSENT_TYPES = [
@@ -39,6 +39,7 @@ export const DISCLOSURE_SUPPORTED_PROJECT_TYPES: Record<
readonly (typeof ALL_CONTENT_PROJECT_TYPES)[number][]
> = {
ai_content: ALL_CONTENT_PROJECT_TYPES,
+ ai_functionality: ALL_CONTENT_PROJECT_TYPES,
advertisements: ALL_CONTENT_PROJECT_TYPES,
epilepsy_triggers: ALL_CONTENT_PROJECT_TYPES,
derivative_work: ALL_CONTENT_PROJECT_TYPES,
diff --git a/packages/ui/src/utils/search.ts b/packages/ui/src/utils/search.ts
index 04d154a1a8..5432581042 100644
--- a/packages/ui/src/utils/search.ts
+++ b/packages/ui/src/utils/search.ts
@@ -1,6 +1,7 @@
import type { Labrinth } from '@modrinth/api-client'
import {
ArchiveIcon,
+ BrainCircuitIcon,
CircleDollarSignIcon,
CircuitBoardIcon,
ClientIcon,
@@ -224,6 +225,7 @@ export type DisclosureTypeFilter = Labrinth.Projects.v3.ProjectDisclosureType
const DISCLOSURE_TYPE_ICONS: Record = {
ai_content: SparklesIcon,
+ ai_functionality: BrainCircuitIcon,
advertisements: MegaphoneIcon,
epilepsy_triggers: EyeIcon,
system_interactions: CircuitBoardIcon,
@@ -254,6 +256,13 @@ export function formatDisclosureTypeLabel(
defaultMessage: 'AI-generated content',
}),
)
+ case 'ai_functionality':
+ return formatMessage(
+ defineMessage({
+ id: 'search.filter_type.advanced.disclosure.ai_functionality',
+ defaultMessage: 'Generative AI functionality',
+ }),
+ )
case 'advertisements':
return formatMessage(
defineMessage({