mirror of
https://github.com/modrinth/code.git
synced 2026-08-31 03:55:59 +00:00
frontend: migrate genai functionality disclosure
This commit is contained in:
@@ -38,6 +38,17 @@
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="aiFunctionalityDisclosure">
|
||||
<BrainCircuitIcon aria-hidden="true" />
|
||||
<div class="flex flex-col gap-1">
|
||||
<span>
|
||||
{{ capitalizeString(formatMessage(messages.aiFunctionalityTitle)) }}
|
||||
</span>
|
||||
<span v-if="aiFunctionalityDisclosure.note" class="text-sm text-secondary">
|
||||
<BasicMarkdownText :text="aiFunctionalityDisclosure.note" :target="linkTarget" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="advertisingDisclosure">
|
||||
<MegaphoneIcon aria-hidden="true" />
|
||||
<div class="flex flex-col gap-1">
|
||||
@@ -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<T extends Labrinth.Projects.v3.ProjectDisclosureType>(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',
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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": "텍스트"
|
||||
},
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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": "Текст"
|
||||
},
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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": "Текст"
|
||||
},
|
||||
|
||||
@@ -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": "文本(如翻译)"
|
||||
},
|
||||
|
||||
@@ -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": "文字"
|
||||
},
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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<DisclosureTypeFilter, Component> = {
|
||||
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({
|
||||
|
||||
Reference in New Issue
Block a user