mirror of
https://github.com/modrinth/code.git
synced 2026-08-31 03:55:59 +00:00
begin project disclosures
This commit is contained in:
@@ -80,6 +80,7 @@ import _ChevronUpIcon from './icons/chevron-up.svg?component'
|
|||||||
import _CircleAlertIcon from './icons/circle-alert.svg?component'
|
import _CircleAlertIcon from './icons/circle-alert.svg?component'
|
||||||
import _CircleArrowRightIcon from './icons/circle-arrow-right.svg?component'
|
import _CircleArrowRightIcon from './icons/circle-arrow-right.svg?component'
|
||||||
import _CircleDashedIcon from './icons/circle-dashed.svg?component'
|
import _CircleDashedIcon from './icons/circle-dashed.svg?component'
|
||||||
|
import _CircleDollarSignIcon from './icons/circle-dollar-sign.svg?component'
|
||||||
import _CircleUserIcon from './icons/circle-user.svg?component'
|
import _CircleUserIcon from './icons/circle-user.svg?component'
|
||||||
import _ClearIcon from './icons/clear.svg?component'
|
import _ClearIcon from './icons/clear.svg?component'
|
||||||
import _ClientIcon from './icons/client.svg?component'
|
import _ClientIcon from './icons/client.svg?component'
|
||||||
@@ -135,6 +136,7 @@ import _GapIcon from './icons/gap.svg?component'
|
|||||||
import _GaugeIcon from './icons/gauge.svg?component'
|
import _GaugeIcon from './icons/gauge.svg?component'
|
||||||
import _GenericListIcon from './icons/generic-list.svg?component'
|
import _GenericListIcon from './icons/generic-list.svg?component'
|
||||||
import _GiftIcon from './icons/gift.svg?component'
|
import _GiftIcon from './icons/gift.svg?component'
|
||||||
|
import _GitForkIcon from './icons/git-fork.svg?component'
|
||||||
import _GitGraphIcon from './icons/git-graph.svg?component'
|
import _GitGraphIcon from './icons/git-graph.svg?component'
|
||||||
import _GlassesIcon from './icons/glasses.svg?component'
|
import _GlassesIcon from './icons/glasses.svg?component'
|
||||||
import _GlobeIcon from './icons/globe.svg?component'
|
import _GlobeIcon from './icons/globe.svg?component'
|
||||||
@@ -183,6 +185,7 @@ import _LogOutIcon from './icons/log-out.svg?component'
|
|||||||
import _MailIcon from './icons/mail.svg?component'
|
import _MailIcon from './icons/mail.svg?component'
|
||||||
import _ManageIcon from './icons/manage.svg?component'
|
import _ManageIcon from './icons/manage.svg?component'
|
||||||
import _MaximizeIcon from './icons/maximize.svg?component'
|
import _MaximizeIcon from './icons/maximize.svg?component'
|
||||||
|
import _MegaphoneIcon from './icons/megaphone.svg?component'
|
||||||
import _MemoryStickIcon from './icons/memory-stick.svg?component'
|
import _MemoryStickIcon from './icons/memory-stick.svg?component'
|
||||||
import _MessageIcon from './icons/message.svg?component'
|
import _MessageIcon from './icons/message.svg?component'
|
||||||
import _MessagesSquareIcon from './icons/messages-square.svg?component'
|
import _MessagesSquareIcon from './icons/messages-square.svg?component'
|
||||||
@@ -218,6 +221,7 @@ import _PowerIcon from './icons/power.svg?component'
|
|||||||
import _PowerOffIcon from './icons/power-off.svg?component'
|
import _PowerOffIcon from './icons/power-off.svg?component'
|
||||||
import _RadioButtonIcon from './icons/radio-button.svg?component'
|
import _RadioButtonIcon from './icons/radio-button.svg?component'
|
||||||
import _RadioButtonCheckedIcon from './icons/radio-button-checked.svg?component'
|
import _RadioButtonCheckedIcon from './icons/radio-button-checked.svg?component'
|
||||||
|
import _RadioTowerIcon from './icons/radio-tower.svg?component'
|
||||||
import _ReceiptTextIcon from './icons/receipt-text.svg?component'
|
import _ReceiptTextIcon from './icons/receipt-text.svg?component'
|
||||||
import _RedoIcon from './icons/redo.svg?component'
|
import _RedoIcon from './icons/redo.svg?component'
|
||||||
import _RefreshCwIcon from './icons/refresh-cw.svg?component'
|
import _RefreshCwIcon from './icons/refresh-cw.svg?component'
|
||||||
@@ -512,6 +516,7 @@ export const ChevronUpIcon = _ChevronUpIcon
|
|||||||
export const CircleAlertIcon = _CircleAlertIcon
|
export const CircleAlertIcon = _CircleAlertIcon
|
||||||
export const CircleArrowRightIcon = _CircleArrowRightIcon
|
export const CircleArrowRightIcon = _CircleArrowRightIcon
|
||||||
export const CircleDashedIcon = _CircleDashedIcon
|
export const CircleDashedIcon = _CircleDashedIcon
|
||||||
|
export const CircleDollarSignIcon = _CircleDollarSignIcon
|
||||||
export const CircleUserIcon = _CircleUserIcon
|
export const CircleUserIcon = _CircleUserIcon
|
||||||
export const ClearIcon = _ClearIcon
|
export const ClearIcon = _ClearIcon
|
||||||
export const ClientIcon = _ClientIcon
|
export const ClientIcon = _ClientIcon
|
||||||
@@ -567,6 +572,7 @@ export const GapIcon = _GapIcon
|
|||||||
export const GaugeIcon = _GaugeIcon
|
export const GaugeIcon = _GaugeIcon
|
||||||
export const GenericListIcon = _GenericListIcon
|
export const GenericListIcon = _GenericListIcon
|
||||||
export const GiftIcon = _GiftIcon
|
export const GiftIcon = _GiftIcon
|
||||||
|
export const GitForkIcon = _GitForkIcon
|
||||||
export const GitGraphIcon = _GitGraphIcon
|
export const GitGraphIcon = _GitGraphIcon
|
||||||
export const GlassesIcon = _GlassesIcon
|
export const GlassesIcon = _GlassesIcon
|
||||||
export const GlobeIcon = _GlobeIcon
|
export const GlobeIcon = _GlobeIcon
|
||||||
@@ -615,6 +621,7 @@ export const LogOutIcon = _LogOutIcon
|
|||||||
export const MailIcon = _MailIcon
|
export const MailIcon = _MailIcon
|
||||||
export const ManageIcon = _ManageIcon
|
export const ManageIcon = _ManageIcon
|
||||||
export const MaximizeIcon = _MaximizeIcon
|
export const MaximizeIcon = _MaximizeIcon
|
||||||
|
export const MegaphoneIcon = _MegaphoneIcon
|
||||||
export const MemoryStickIcon = _MemoryStickIcon
|
export const MemoryStickIcon = _MemoryStickIcon
|
||||||
export const MessageIcon = _MessageIcon
|
export const MessageIcon = _MessageIcon
|
||||||
export const MessagesSquareIcon = _MessagesSquareIcon
|
export const MessagesSquareIcon = _MessagesSquareIcon
|
||||||
@@ -650,6 +657,7 @@ export const PowerIcon = _PowerIcon
|
|||||||
export const PowerOffIcon = _PowerOffIcon
|
export const PowerOffIcon = _PowerOffIcon
|
||||||
export const RadioButtonIcon = _RadioButtonIcon
|
export const RadioButtonIcon = _RadioButtonIcon
|
||||||
export const RadioButtonCheckedIcon = _RadioButtonCheckedIcon
|
export const RadioButtonCheckedIcon = _RadioButtonCheckedIcon
|
||||||
|
export const RadioTowerIcon = _RadioTowerIcon
|
||||||
export const ReceiptTextIcon = _ReceiptTextIcon
|
export const ReceiptTextIcon = _ReceiptTextIcon
|
||||||
export const RedoIcon = _RedoIcon
|
export const RedoIcon = _RedoIcon
|
||||||
export const RefreshCwIcon = _RefreshCwIcon
|
export const RefreshCwIcon = _RefreshCwIcon
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
<!-- @license lucide-static v0.562.0 - ISC -->
|
||||||
|
<svg
|
||||||
|
class="lucide lucide-circle-dollar-sign"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<circle cx="12" cy="12" r="10" />
|
||||||
|
<path d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8" />
|
||||||
|
<path d="M12 18V6" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 414 B |
@@ -0,0 +1,19 @@
|
|||||||
|
<!-- @license lucide-static v0.562.0 - ISC -->
|
||||||
|
<svg
|
||||||
|
class="lucide lucide-git-fork"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<circle cx="12" cy="18" r="3" />
|
||||||
|
<circle cx="6" cy="6" r="3" />
|
||||||
|
<circle cx="18" cy="6" r="3" />
|
||||||
|
<path d="M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9" />
|
||||||
|
<path d="M12 12v3" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 470 B |
@@ -0,0 +1,17 @@
|
|||||||
|
<!-- @license lucide-static v0.562.0 - ISC -->
|
||||||
|
<svg
|
||||||
|
class="lucide lucide-megaphone"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z" />
|
||||||
|
<path d="M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14" />
|
||||||
|
<path d="M8 6v8" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 512 B |
@@ -0,0 +1,21 @@
|
|||||||
|
<!-- @license lucide-static v0.562.0 - ISC -->
|
||||||
|
<svg
|
||||||
|
class="lucide lucide-radio-tower"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M4.9 16.1C1 12.2 1 5.8 4.9 1.9" />
|
||||||
|
<path d="M7.8 4.7a6.14 6.14 0 0 0-.8 7.5" />
|
||||||
|
<circle cx="12" cy="9" r="2" />
|
||||||
|
<path d="M16.2 4.8c2 2 2.26 5.11.8 7.47" />
|
||||||
|
<path d="M19.1 1.9a9.96 9.96 0 0 1 0 14.1" />
|
||||||
|
<path d="M9.5 18h5" />
|
||||||
|
<path d="m8 22 4-11 4 11" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 568 B |
@@ -13,7 +13,52 @@
|
|||||||
<div class="markdown-body" v-html="licenseHtml" />
|
<div class="markdown-body" v-html="licenseHtml" />
|
||||||
</NewModal>
|
</NewModal>
|
||||||
<h2 class="text-lg m-0">{{ formatMessage(commonMessages.detailsLabel) }}</h2>
|
<h2 class="text-lg m-0">{{ formatMessage(commonMessages.detailsLabel) }}</h2>
|
||||||
<div class="flex flex-col gap-3 [&>div]:flex [&>div]:gap-2 [&>div]:items-center">
|
<div
|
||||||
|
class="flex flex-col gap-3 [&>div>svg]:shrink-0 [&>div>svg]:mt-[1px] [&>div]:flex [&>div]:gap-2 [&>div]:items-start"
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<SparklesIcon aria-hidden="true" />
|
||||||
|
<div class="flex flex-col gap-1">
|
||||||
|
<span>
|
||||||
|
{{ capitalizeString(formatMessage(messages.aiGeneratedContent, { type: 'code' })) }}
|
||||||
|
</span>
|
||||||
|
<span class="text-sm text-secondary">
|
||||||
|
The Chinese and Arabic translations are AI-generated
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<MegaphoneIcon aria-hidden="true" />
|
||||||
|
<div class="flex flex-col gap-1">
|
||||||
|
<span>
|
||||||
|
{{ capitalizeString(formatMessage(messages.advertisingTitle)) }}
|
||||||
|
</span>
|
||||||
|
<span class="text-sm text-secondary"> Title screen has Essential promotion </span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<CircleDollarSignIcon aria-hidden="true" />
|
||||||
|
<div class="flex flex-col gap-1">
|
||||||
|
<span>
|
||||||
|
{{ capitalizeString(formatMessage(messages.paidFeatures)) }}
|
||||||
|
</span>
|
||||||
|
<span class="text-sm text-secondary"> Cosmetics available as Patreon reward </span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<RadioTowerIcon aria-hidden="true" />
|
||||||
|
<div class="flex flex-col gap-1">
|
||||||
|
<span>
|
||||||
|
{{ capitalizeString(formatMessage(messages.telemetryTitle, { consent: 'opt_out' })) }}
|
||||||
|
</span>
|
||||||
|
<span class="text-sm text-secondary">
|
||||||
|
Update checker provides anonymous launch analytics to Modrinth
|
||||||
|
</span>
|
||||||
|
<span class="text-sm text-blue flex items-center gap-1">
|
||||||
|
View privacy policy <ExternalIcon />
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div v-if="!hideLicense">
|
<div v-if="!hideLicense">
|
||||||
<BookTextIcon aria-hidden="true" />
|
<BookTextIcon aria-hidden="true" />
|
||||||
<div>
|
<div>
|
||||||
@@ -41,6 +86,20 @@
|
|||||||
</IntlFormatted>
|
</IntlFormatted>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<GitForkIcon aria-hidden="true" />
|
||||||
|
<div class="flex flex-col gap-2">
|
||||||
|
<span>
|
||||||
|
{{ capitalizeString(formatMessage(messages.derivativeWork)) }}
|
||||||
|
</span>
|
||||||
|
<div class="flex flex-col gap-1">
|
||||||
|
<span class="text-blue text-sm flex items-center gap-1">
|
||||||
|
Modification Menu <ExternalIcon />
|
||||||
|
</span>
|
||||||
|
<span class="text-sm text-secondary"> Forked to add Fun Mode </span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div v-if="showFollowers">
|
<div v-if="showFollowers">
|
||||||
<HeartIcon aria-hidden="true" />
|
<HeartIcon aria-hidden="true" />
|
||||||
<div>
|
<div>
|
||||||
@@ -94,7 +153,19 @@
|
|||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { Labrinth } from '@modrinth/api-client'
|
import type { Labrinth } from '@modrinth/api-client'
|
||||||
import { BookTextIcon, CalendarIcon, HeartIcon, ScaleIcon, VersionIcon } from '@modrinth/assets'
|
import {
|
||||||
|
BookTextIcon,
|
||||||
|
CalendarIcon,
|
||||||
|
CircleDollarSignIcon,
|
||||||
|
ExternalIcon,
|
||||||
|
GitForkIcon,
|
||||||
|
HeartIcon,
|
||||||
|
MegaphoneIcon,
|
||||||
|
RadioTowerIcon,
|
||||||
|
ScaleIcon,
|
||||||
|
SparklesIcon,
|
||||||
|
VersionIcon,
|
||||||
|
} from '@modrinth/assets'
|
||||||
import { capitalizeString, renderString } from '@modrinth/utils'
|
import { capitalizeString, renderString } from '@modrinth/utils'
|
||||||
import { useQuery } from '@tanstack/vue-query'
|
import { useQuery } from '@tanstack/vue-query'
|
||||||
import { computed, ref, useTemplateRef } from 'vue'
|
import { computed, ref, useTemplateRef } from 'vue'
|
||||||
@@ -143,6 +214,28 @@ const messages = defineMessages({
|
|||||||
id: 'project.license.loading',
|
id: 'project.license.loading',
|
||||||
defaultMessage: 'Loading license text...',
|
defaultMessage: 'Loading license text...',
|
||||||
},
|
},
|
||||||
|
advertisingTitle: {
|
||||||
|
id: 'project.disclosure.advertising.title',
|
||||||
|
defaultMessage: 'Contains advertising',
|
||||||
|
},
|
||||||
|
paidFeatures: {
|
||||||
|
id: 'project.disclosure.paid-features.title',
|
||||||
|
defaultMessage: 'Contains paid features',
|
||||||
|
},
|
||||||
|
aiGeneratedContent: {
|
||||||
|
id: 'project.disclosure.ai-generated-content.title',
|
||||||
|
defaultMessage:
|
||||||
|
'Contains AI-generated {type, select, code {code} assets {assets} code_assets {code and assets} text {text} other {content}}',
|
||||||
|
},
|
||||||
|
derivativeWork: {
|
||||||
|
id: 'project.disclosure.derivative-work.title',
|
||||||
|
defaultMessage: 'This is a derivative work of:',
|
||||||
|
},
|
||||||
|
telemetryTitle: {
|
||||||
|
id: 'project.disclosure.telemetry.title',
|
||||||
|
defaultMessage:
|
||||||
|
'Contains {consent, select, opt_in {opt-in telemetry} opt_out {opt-out telemetry} other {telemetry}}',
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
const createdDate = computed(() =>
|
const createdDate = computed(() =>
|
||||||
|
|||||||
@@ -3242,6 +3242,21 @@
|
|||||||
"project.about.tags.title": {
|
"project.about.tags.title": {
|
||||||
"defaultMessage": "Tags"
|
"defaultMessage": "Tags"
|
||||||
},
|
},
|
||||||
|
"project.disclosure.advertising.title": {
|
||||||
|
"defaultMessage": "Contains advertising"
|
||||||
|
},
|
||||||
|
"project.disclosure.ai-generated-content.title": {
|
||||||
|
"defaultMessage": "Contains AI-generated {type, select, code {code} assets {assets} code_assets {code and assets} text {text} other {content}}"
|
||||||
|
},
|
||||||
|
"project.disclosure.derivative-work.title": {
|
||||||
|
"defaultMessage": "This is a derivative work of:"
|
||||||
|
},
|
||||||
|
"project.disclosure.paid-features.title": {
|
||||||
|
"defaultMessage": "Contains paid features"
|
||||||
|
},
|
||||||
|
"project.disclosure.telemetry.title": {
|
||||||
|
"defaultMessage": "Contains {consent, select, opt_in {opt-in telemetry} opt_out {opt-out telemetry} other {telemetry}}"
|
||||||
|
},
|
||||||
"project.download-count-tooltip": {
|
"project.download-count-tooltip": {
|
||||||
"defaultMessage": "{count, number} {count, plural, one {download} other {downloads}}"
|
"defaultMessage": "{count, number} {count, plural, one {download} other {downloads}}"
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user