add functionality toggle

This commit is contained in:
Prospector
2026-08-02 11:13:29 -07:00
parent 77e86127db
commit 21a31b337f
4 changed files with 16 additions and 15 deletions
@@ -40,6 +40,8 @@ html {
interpolate-size: allow-keywords; interpolate-size: allow-keywords;
scrollbar-gutter: stable; scrollbar-gutter: stable;
--ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
} }
.light-mode { .light-mode {
+4 -1
View File
@@ -3783,7 +3783,7 @@
"message": "Please refer to Section 6 of Modrinth's <rules>Content Rules</rules> for more information." "message": "Please refer to Section 6 of Modrinth's <rules>Content Rules</rules> for more information."
}, },
"project.settings.disclosures.ai.description": { "project.settings.disclosures.ai.description": {
"message": "You must enable this if this project contains a substantial amount of AI-generated code, any\n\t\t\t\tassets that are substantially AI-generated, the project's design relies on the use of\n\t\t\t\tgenerative AI, or if any element of your project's page such as description or publishing\n\t\t\t\trelies on generative AI." "message": "You must enable this if this project contains a substantial amount of AI-generated code, any\n\t\t\t\tassets that are substantially AI-generated, the project's functionality relies on the use of\n\t\t\t\tgenerative AI, or if any element of your project's page such as description or publishing\n\t\t\t\trelies on generative AI."
}, },
"project.settings.disclosures.ai.note-description": { "project.settings.disclosures.ai.note-description": {
"message": "You may optionally provide a note to explain how you use generative AI in this project." "message": "You may optionally provide a note to explain how you use generative AI in this project."
@@ -3803,6 +3803,9 @@
"project.settings.disclosures.ai.types-description": { "project.settings.disclosures.ai.types-description": {
"message": "Select what this project uses generative AI for." "message": "Select what this project uses generative AI for."
}, },
"project.settings.disclosures.ai.types-functionality": {
"message": "Functionality"
},
"project.settings.disclosures.ai.types-text": { "project.settings.disclosures.ai.types-text": {
"message": "Text" "message": "Text"
}, },
@@ -42,6 +42,7 @@ const aiDisclosureTypes = ref({
code: false, code: false,
assets: false, assets: false,
text: false, text: false,
functionality: false,
}) })
const aiDisclosureMessages = defineMessages({ const aiDisclosureMessages = defineMessages({
title: { title: {
@@ -51,7 +52,7 @@ const aiDisclosureMessages = defineMessages({
description: { description: {
id: 'project.settings.disclosures.ai.description', id: 'project.settings.disclosures.ai.description',
defaultMessage: `You must enable this if this project contains a substantial amount of AI-generated code, any defaultMessage: `You must enable this if this project contains a substantial amount of AI-generated code, any
assets that are substantially AI-generated, the project's design relies on the use of assets that are substantially AI-generated, the project's functionality relies on the use of
generative AI, or if any element of your project's page such as description or publishing generative AI, or if any element of your project's page such as description or publishing
relies on generative AI.`, relies on generative AI.`,
}, },
@@ -76,6 +77,10 @@ const aiDisclosureMessages = defineMessages({
id: 'project.settings.disclosures.ai.types-text', id: 'project.settings.disclosures.ai.types-text',
defaultMessage: 'Text', defaultMessage: 'Text',
}, },
typeFunctionality: {
id: 'project.settings.disclosures.ai.types-functionality',
defaultMessage: 'Functionality',
},
noteDescription: { noteDescription: {
id: 'project.settings.disclosures.ai.note-description', id: 'project.settings.disclosures.ai.note-description',
defaultMessage: defaultMessage:
@@ -165,18 +170,6 @@ const telemetryDisclosureMessages = defineMessages({
id: 'project.settings.disclosures.telemetry.consent-description', id: 'project.settings.disclosures.telemetry.consent-description',
defaultMessage: 'What is the consent model of your telemetry?', defaultMessage: 'What is the consent model of your telemetry?',
}, },
consentOptIn: {
id: 'project.settings.disclosures.telemetry.consent-opt-in',
defaultMessage: 'Opt-in',
},
consentOptOut: {
id: 'project.settings.disclosures.telemetry.consent-opt-out',
defaultMessage: 'Opt-out',
},
consentAlwaysActive: {
id: 'project.settings.disclosures.telemetry.consent-always-active',
defaultMessage: 'Always active',
},
dataLabel: { dataLabel: {
id: 'project.settings.disclosures.telemetry.data-label', id: 'project.settings.disclosures.telemetry.data-label',
defaultMessage: 'What data is being collected?', defaultMessage: 'What data is being collected?',
@@ -253,6 +246,9 @@ const telemetryDisclosureMessages = defineMessages({
<Checkbox v-model="aiDisclosureTypes.text"> <Checkbox v-model="aiDisclosureTypes.text">
{{ formatMessage(aiDisclosureMessages.typeText) }} {{ formatMessage(aiDisclosureMessages.typeText) }}
</Checkbox> </Checkbox>
<Checkbox v-model="aiDisclosureTypes.functionality">
{{ formatMessage(aiDisclosureMessages.typeFunctionality) }}
</Checkbox>
</div> </div>
</div> </div>
<div class="flex flex-col gap-2"> <div class="flex flex-col gap-2">
@@ -46,7 +46,7 @@ const toggleId = computed(() => `toggle-card-toggle-${baseId}`)
.toggle-card-content-leave-active { .toggle-card-content-leave-active {
display: grid; display: grid;
grid-template-rows: 1fr; grid-template-rows: 1fr;
transition: grid-template-rows 0.25s ease-in-out; transition: grid-template-rows 0.25s var(--ease-out-expo);
& > div { & > div {
grid-row: 1 / span 2; grid-row: 1 / span 2;