Deduplicate common strings in translation (#5085)
* deduplicate common strings, part 1 * deduplicate common strings, part 2 * typo and general import mess fixes * detail common string * fix lint * fix lint TWO * adress review concerns + lint * app lint too * actually leave privateLabel untouched * lint fix THREE * fix: broken msg * fix: lint --------- Co-authored-by: Calum H. <contact@cal.engineer> Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
This commit is contained in:
@@ -7,7 +7,14 @@ import {
|
|||||||
MonitorIcon,
|
MonitorIcon,
|
||||||
WrenchIcon,
|
WrenchIcon,
|
||||||
} from '@modrinth/assets'
|
} from '@modrinth/assets'
|
||||||
import { Avatar, defineMessage, TabbedModal, type TabbedModalTab, useVIntl } from '@modrinth/ui'
|
import {
|
||||||
|
Avatar,
|
||||||
|
commonMessages,
|
||||||
|
defineMessage,
|
||||||
|
TabbedModal,
|
||||||
|
type TabbedModalTab,
|
||||||
|
useVIntl,
|
||||||
|
} from '@modrinth/ui'
|
||||||
import { convertFileSrc } from '@tauri-apps/api/core'
|
import { convertFileSrc } from '@tauri-apps/api/core'
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
|
|
||||||
@@ -74,11 +81,6 @@ function show() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
defineExpose({ show })
|
defineExpose({ show })
|
||||||
|
|
||||||
const titleMessage = defineMessage({
|
|
||||||
id: 'instance.settings.title',
|
|
||||||
defaultMessage: 'Settings',
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<ModalWrapper ref="modal">
|
<ModalWrapper ref="modal">
|
||||||
@@ -90,7 +92,9 @@ const titleMessage = defineMessage({
|
|||||||
:tint-by="props.instance.path"
|
:tint-by="props.instance.path"
|
||||||
/>
|
/>
|
||||||
{{ instance.name }} <ChevronRightIcon />
|
{{ instance.name }} <ChevronRightIcon />
|
||||||
<span class="font-extrabold text-contrast">{{ formatMessage(titleMessage) }}</span>
|
<span class="font-extrabold text-contrast">{{
|
||||||
|
formatMessage(commonMessages.settingsLabel)
|
||||||
|
}}</span>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -476,9 +476,6 @@
|
|||||||
"instance.settings.tabs.window.width.enter": {
|
"instance.settings.tabs.window.width.enter": {
|
||||||
"message": "Enter width..."
|
"message": "Enter width..."
|
||||||
},
|
},
|
||||||
"instance.settings.title": {
|
|
||||||
"message": "Settings"
|
|
||||||
},
|
|
||||||
"instance.worlds.a_minecraft_server": {
|
"instance.worlds.a_minecraft_server": {
|
||||||
"message": "A Minecraft Server"
|
"message": "A Minecraft Server"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -9,13 +9,13 @@
|
|||||||
<ButtonStyled color="brand">
|
<ButtonStyled color="brand">
|
||||||
<button class="brand-button" @click="acceptInvite()">
|
<button class="brand-button" @click="acceptInvite()">
|
||||||
<CheckIcon />
|
<CheckIcon />
|
||||||
{{ getFormattedMessage(messages.accept) }}
|
{{ getFormattedMessage(commonMessages.acceptButton) }}
|
||||||
</button>
|
</button>
|
||||||
</ButtonStyled>
|
</ButtonStyled>
|
||||||
<ButtonStyled color="red">
|
<ButtonStyled color="red">
|
||||||
<button @click="declineInvite">
|
<button @click="declineInvite">
|
||||||
<XIcon />
|
<XIcon />
|
||||||
{{ getFormattedMessage(messages.decline) }}
|
{{ getFormattedMessage(commonMessages.declineButton) }}
|
||||||
</button>
|
</button>
|
||||||
</ButtonStyled>
|
</ButtonStyled>
|
||||||
</div>
|
</div>
|
||||||
@@ -26,6 +26,7 @@
|
|||||||
import { CheckIcon, XIcon } from '@modrinth/assets'
|
import { CheckIcon, XIcon } from '@modrinth/assets'
|
||||||
import {
|
import {
|
||||||
ButtonStyled,
|
ButtonStyled,
|
||||||
|
commonMessages,
|
||||||
defineMessages,
|
defineMessages,
|
||||||
injectNotificationManager,
|
injectNotificationManager,
|
||||||
type MessageDescriptor,
|
type MessageDescriptor,
|
||||||
@@ -81,14 +82,6 @@ const messages = defineMessages({
|
|||||||
defaultMessage:
|
defaultMessage:
|
||||||
"You've been invited to join this project. Please accept or decline the invitation.",
|
"You've been invited to join this project. Please accept or decline the invitation.",
|
||||||
},
|
},
|
||||||
accept: {
|
|
||||||
id: 'project-member-header.accept',
|
|
||||||
defaultMessage: 'Accept',
|
|
||||||
},
|
|
||||||
decline: {
|
|
||||||
id: 'project-member-header.decline',
|
|
||||||
defaultMessage: 'Decline',
|
|
||||||
},
|
|
||||||
successJoin: {
|
successJoin: {
|
||||||
id: 'project-member-header.success-join',
|
id: 'project-member-header.success-join',
|
||||||
defaultMessage: 'You have joined the project team',
|
defaultMessage: 'You have joined the project team',
|
||||||
@@ -105,14 +98,6 @@ const messages = defineMessages({
|
|||||||
id: 'project-member-header.error-decline',
|
id: 'project-member-header.error-decline',
|
||||||
defaultMessage: 'Failed to decline team invitation',
|
defaultMessage: 'Failed to decline team invitation',
|
||||||
},
|
},
|
||||||
success: {
|
|
||||||
id: 'project-member-header.success',
|
|
||||||
defaultMessage: 'Success',
|
|
||||||
},
|
|
||||||
error: {
|
|
||||||
id: 'project-member-header.error',
|
|
||||||
defaultMessage: 'Error',
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const { formatMessage } = useVIntl()
|
const { formatMessage } = useVIntl()
|
||||||
@@ -171,13 +156,13 @@ async function acceptInvite(): Promise<void> {
|
|||||||
await acceptTeamInvite(props.project.team)
|
await acceptTeamInvite(props.project.team)
|
||||||
await handleUpdateMembers()
|
await handleUpdateMembers()
|
||||||
addNotification({
|
addNotification({
|
||||||
title: formatMessage(messages.success),
|
title: formatMessage(commonMessages.successLabel),
|
||||||
text: formatMessage(messages.successJoin),
|
text: formatMessage(messages.successJoin),
|
||||||
type: 'success',
|
type: 'success',
|
||||||
})
|
})
|
||||||
} catch {
|
} catch {
|
||||||
addNotification({
|
addNotification({
|
||||||
title: formatMessage(messages.error),
|
title: formatMessage(commonMessages.errorLabel),
|
||||||
text: formatMessage(messages.errorJoin),
|
text: formatMessage(messages.errorJoin),
|
||||||
type: 'error',
|
type: 'error',
|
||||||
})
|
})
|
||||||
@@ -192,13 +177,13 @@ async function declineInvite(): Promise<void> {
|
|||||||
await removeTeamMember(props.project.team, props.auth.user.id)
|
await removeTeamMember(props.project.team, props.auth.user.id)
|
||||||
await handleUpdateMembers()
|
await handleUpdateMembers()
|
||||||
addNotification({
|
addNotification({
|
||||||
title: formatMessage(messages.success),
|
title: formatMessage(commonMessages.successLabel),
|
||||||
text: formatMessage(messages.successDecline),
|
text: formatMessage(messages.successDecline),
|
||||||
type: 'success',
|
type: 'success',
|
||||||
})
|
})
|
||||||
} catch {
|
} catch {
|
||||||
addNotification({
|
addNotification({
|
||||||
title: formatMessage(messages.error),
|
title: formatMessage(commonMessages.errorLabel),
|
||||||
text: formatMessage(messages.errorDecline),
|
text: formatMessage(messages.errorDecline),
|
||||||
type: 'error',
|
type: 'error',
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
<ButtonStyled class="w-24">
|
<ButtonStyled class="w-24">
|
||||||
<button @click="modal.hide()">
|
<button @click="modal.hide()">
|
||||||
<XIcon aria-hidden="true" />
|
<XIcon aria-hidden="true" />
|
||||||
{{ formatMessage(messages.cancel) }}
|
{{ formatMessage(commonMessages.cancelButton) }}
|
||||||
</button>
|
</button>
|
||||||
</ButtonStyled>
|
</ButtonStyled>
|
||||||
<ButtonStyled color="brand" class="w-36">
|
<ButtonStyled color="brand" class="w-36">
|
||||||
@@ -60,6 +60,7 @@
|
|||||||
import { PlusIcon, XIcon } from '@modrinth/assets'
|
import { PlusIcon, XIcon } from '@modrinth/assets'
|
||||||
import {
|
import {
|
||||||
ButtonStyled,
|
ButtonStyled,
|
||||||
|
commonMessages,
|
||||||
defineMessages,
|
defineMessages,
|
||||||
injectNotificationManager,
|
injectNotificationManager,
|
||||||
NewModal,
|
NewModal,
|
||||||
@@ -102,18 +103,10 @@ const messages = defineMessages({
|
|||||||
defaultMessage:
|
defaultMessage:
|
||||||
'Your new collection will be created as a public collection with {count, plural, =0 {no projects} one {# project} other {# projects}}.',
|
'Your new collection will be created as a public collection with {count, plural, =0 {no projects} one {# project} other {# projects}}.',
|
||||||
},
|
},
|
||||||
cancel: {
|
|
||||||
id: 'create.collection.cancel',
|
|
||||||
defaultMessage: 'Cancel',
|
|
||||||
},
|
|
||||||
createCollection: {
|
createCollection: {
|
||||||
id: 'create.collection.create-collection',
|
id: 'create.collection.create-collection',
|
||||||
defaultMessage: 'Create collection',
|
defaultMessage: 'Create collection',
|
||||||
},
|
},
|
||||||
errorTitle: {
|
|
||||||
id: 'create.collection.error-title',
|
|
||||||
defaultMessage: 'An error occurred',
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const name = ref('')
|
const name = ref('')
|
||||||
@@ -150,7 +143,7 @@ async function create() {
|
|||||||
await router.push(`/collection/${result.id}`)
|
await router.push(`/collection/${result.id}`)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
addNotification({
|
addNotification({
|
||||||
title: formatMessage(messages.errorTitle),
|
title: formatMessage(commonMessages.errorNotificationTitle),
|
||||||
text: err?.data?.description || err?.message || err,
|
text: err?.data?.description || err?.message || err,
|
||||||
type: 'error',
|
type: 'error',
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -65,7 +65,7 @@
|
|||||||
<ButtonStyled class="w-24">
|
<ButtonStyled class="w-24">
|
||||||
<button @click="hide">
|
<button @click="hide">
|
||||||
<XIcon aria-hidden="true" />
|
<XIcon aria-hidden="true" />
|
||||||
{{ formatMessage(messages.cancel) }}
|
{{ formatMessage(commonMessages.cancelButton) }}
|
||||||
</button>
|
</button>
|
||||||
</ButtonStyled>
|
</ButtonStyled>
|
||||||
<ButtonStyled color="brand" class="w-40">
|
<ButtonStyled color="brand" class="w-40">
|
||||||
@@ -83,6 +83,7 @@
|
|||||||
import { PlusIcon, XIcon } from '@modrinth/assets'
|
import { PlusIcon, XIcon } from '@modrinth/assets'
|
||||||
import {
|
import {
|
||||||
ButtonStyled,
|
ButtonStyled,
|
||||||
|
commonMessages,
|
||||||
defineMessages,
|
defineMessages,
|
||||||
injectNotificationManager,
|
injectNotificationManager,
|
||||||
NewModal,
|
NewModal,
|
||||||
@@ -130,18 +131,10 @@ const messages = defineMessages({
|
|||||||
defaultMessage:
|
defaultMessage:
|
||||||
'You will be the owner of this organization, but you can invite other members and transfer ownership at any time.',
|
'You will be the owner of this organization, but you can invite other members and transfer ownership at any time.',
|
||||||
},
|
},
|
||||||
cancel: {
|
|
||||||
id: 'create.organization.cancel',
|
|
||||||
defaultMessage: 'Cancel',
|
|
||||||
},
|
|
||||||
createOrganization: {
|
createOrganization: {
|
||||||
id: 'create.organization.create-organization',
|
id: 'create.organization.create-organization',
|
||||||
defaultMessage: 'Create organization',
|
defaultMessage: 'Create organization',
|
||||||
},
|
},
|
||||||
errorTitle: {
|
|
||||||
id: 'create.organization.error-title',
|
|
||||||
defaultMessage: 'An error occurred',
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const name = ref<string>('')
|
const name = ref<string>('')
|
||||||
@@ -172,7 +165,7 @@ async function createOrganization(): Promise<void> {
|
|||||||
} catch (err: any) {
|
} catch (err: any) {
|
||||||
console.error(err)
|
console.error(err)
|
||||||
addNotification({
|
addNotification({
|
||||||
title: formatMessage(messages.errorTitle),
|
title: formatMessage(commonMessages.errorNotificationTitle),
|
||||||
text: err.data ? err.data.description : err,
|
text: err.data ? err.data.description : err,
|
||||||
type: 'error',
|
type: 'error',
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
<div class="flex flex-col gap-2">
|
<div class="flex flex-col gap-2">
|
||||||
<label for="visibility" class="flex flex-col gap-1">
|
<label for="visibility" class="flex flex-col gap-1">
|
||||||
<span class="text-lg font-semibold text-contrast">
|
<span class="text-lg font-semibold text-contrast">
|
||||||
{{ formatMessage(messages.visibilityLabel) }}
|
{{ formatMessage(commonMessages.visibilityLabel) }}
|
||||||
<span class="text-brand-red">*</span>
|
<span class="text-brand-red">*</span>
|
||||||
</span>
|
</span>
|
||||||
<span>{{ formatMessage(messages.visibilityDescription) }}</span>
|
<span>{{ formatMessage(messages.visibilityDescription) }}</span>
|
||||||
@@ -79,7 +79,7 @@
|
|||||||
<ButtonStyled class="w-24">
|
<ButtonStyled class="w-24">
|
||||||
<button @click="cancel">
|
<button @click="cancel">
|
||||||
<XIcon aria-hidden="true" />
|
<XIcon aria-hidden="true" />
|
||||||
{{ formatMessage(messages.cancel) }}
|
{{ formatMessage(commonMessages.cancelButton) }}
|
||||||
</button>
|
</button>
|
||||||
</ButtonStyled>
|
</ButtonStyled>
|
||||||
<ButtonStyled color="brand" class="w-32">
|
<ButtonStyled color="brand" class="w-32">
|
||||||
@@ -98,6 +98,7 @@ import { PlusIcon, XIcon } from '@modrinth/assets'
|
|||||||
import {
|
import {
|
||||||
ButtonStyled,
|
ButtonStyled,
|
||||||
Chips,
|
Chips,
|
||||||
|
commonMessages,
|
||||||
defineMessages,
|
defineMessages,
|
||||||
injectNotificationManager,
|
injectNotificationManager,
|
||||||
NewModal,
|
NewModal,
|
||||||
@@ -127,10 +128,6 @@ const messages = defineMessages({
|
|||||||
id: 'create.project.url-label',
|
id: 'create.project.url-label',
|
||||||
defaultMessage: 'URL',
|
defaultMessage: 'URL',
|
||||||
},
|
},
|
||||||
visibilityLabel: {
|
|
||||||
id: 'create.project.visibility-label',
|
|
||||||
defaultMessage: 'Visibility',
|
|
||||||
},
|
|
||||||
visibilityDescription: {
|
visibilityDescription: {
|
||||||
id: 'create.project.visibility-description',
|
id: 'create.project.visibility-description',
|
||||||
defaultMessage: 'The visibility of your project after it has been approved.',
|
defaultMessage: 'The visibility of your project after it has been approved.',
|
||||||
@@ -147,18 +144,10 @@ const messages = defineMessages({
|
|||||||
id: 'create.project.summary-placeholder',
|
id: 'create.project.summary-placeholder',
|
||||||
defaultMessage: 'This project adds...',
|
defaultMessage: 'This project adds...',
|
||||||
},
|
},
|
||||||
cancel: {
|
|
||||||
id: 'create.project.cancel',
|
|
||||||
defaultMessage: 'Cancel',
|
|
||||||
},
|
|
||||||
createProject: {
|
createProject: {
|
||||||
id: 'create.project.create-project',
|
id: 'create.project.create-project',
|
||||||
defaultMessage: 'Create project',
|
defaultMessage: 'Create project',
|
||||||
},
|
},
|
||||||
errorTitle: {
|
|
||||||
id: 'create.project.error-title',
|
|
||||||
defaultMessage: 'An error occurred',
|
|
||||||
},
|
|
||||||
visibilityPublic: {
|
visibilityPublic: {
|
||||||
id: 'create.project.visibility-public',
|
id: 'create.project.visibility-public',
|
||||||
defaultMessage: 'Public',
|
defaultMessage: 'Public',
|
||||||
@@ -256,7 +245,7 @@ async function createProject() {
|
|||||||
await router.push(`/project/${slug.value}/settings`)
|
await router.push(`/project/${slug.value}/settings`)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
addNotification({
|
addNotification({
|
||||||
title: formatMessage(messages.errorTitle),
|
title: formatMessage(commonMessages.errorNotificationTitle),
|
||||||
text: err.data ? err.data.description : err,
|
text: err.data ? err.data.description : err,
|
||||||
type: 'error',
|
type: 'error',
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -37,7 +37,10 @@
|
|||||||
v-model="isUSCitizen"
|
v-model="isUSCitizen"
|
||||||
:items="['yes', 'no']"
|
:items="['yes', 'no']"
|
||||||
:format-label="
|
:format-label="
|
||||||
(item) => (item === 'yes' ? formatMessage(messages.yes) : formatMessage(messages.no))
|
(item) =>
|
||||||
|
item === 'yes'
|
||||||
|
? formatMessage(commonMessages.yesLabel)
|
||||||
|
: formatMessage(commonMessages.noLabel)
|
||||||
"
|
"
|
||||||
:never-empty="false"
|
:never-empty="false"
|
||||||
:capitalize="true"
|
:capitalize="true"
|
||||||
@@ -162,6 +165,7 @@ import {
|
|||||||
Admonition,
|
Admonition,
|
||||||
ButtonStyled,
|
ButtonStyled,
|
||||||
Chips,
|
Chips,
|
||||||
|
commonMessages,
|
||||||
defineMessages,
|
defineMessages,
|
||||||
injectNotificationManager,
|
injectNotificationManager,
|
||||||
IntlFormatted,
|
IntlFormatted,
|
||||||
@@ -228,8 +232,6 @@ const messages = defineMessages({
|
|||||||
id: 'dashboard.creator-tax-form-modal.us-citizen.question',
|
id: 'dashboard.creator-tax-form-modal.us-citizen.question',
|
||||||
defaultMessage: 'Are you a US citizen?',
|
defaultMessage: 'Are you a US citizen?',
|
||||||
},
|
},
|
||||||
yes: { id: 'common.yes', defaultMessage: 'Yes' },
|
|
||||||
no: { id: 'common.no', defaultMessage: 'No' },
|
|
||||||
entityQuestion: {
|
entityQuestion: {
|
||||||
id: 'dashboard.creator-tax-form-modal.entity.question',
|
id: 'dashboard.creator-tax-form-modal.entity.question',
|
||||||
defaultMessage: 'Are you a private individual or part of a foreign entity?',
|
defaultMessage: 'Are you a private individual or part of a foreign entity?',
|
||||||
|
|||||||
@@ -60,7 +60,7 @@
|
|||||||
<div v-if="currentStage === 'completion'" class="mt-4 flex w-full gap-3">
|
<div v-if="currentStage === 'completion'" class="mt-4 flex w-full gap-3">
|
||||||
<ButtonStyled class="flex-1">
|
<ButtonStyled class="flex-1">
|
||||||
<button class="w-full text-contrast" @click="handleClose">
|
<button class="w-full text-contrast" @click="handleClose">
|
||||||
{{ formatMessage(messages.closeButton) }}
|
{{ formatMessage(commonMessages.closeButton) }}
|
||||||
</button>
|
</button>
|
||||||
</ButtonStyled>
|
</ButtonStyled>
|
||||||
<ButtonStyled class="flex-1">
|
<ButtonStyled class="flex-1">
|
||||||
@@ -601,26 +601,10 @@ const messages = defineMessages({
|
|||||||
id: 'dashboard.creator-withdraw-modal.stage.method-selection',
|
id: 'dashboard.creator-withdraw-modal.stage.method-selection',
|
||||||
defaultMessage: 'Method',
|
defaultMessage: 'Method',
|
||||||
},
|
},
|
||||||
tremendousDetailsStage: {
|
|
||||||
id: 'dashboard.creator-withdraw-modal.stage.tremendous-details',
|
|
||||||
defaultMessage: 'Details',
|
|
||||||
},
|
|
||||||
muralpayKycStage: {
|
|
||||||
id: 'dashboard.creator-withdraw-modal.stage.muralpay-kyc',
|
|
||||||
defaultMessage: 'Verification',
|
|
||||||
},
|
|
||||||
muralpayDetailsStage: {
|
|
||||||
id: 'dashboard.creator-withdraw-modal.stage.muralpay-details',
|
|
||||||
defaultMessage: 'Account Details',
|
|
||||||
},
|
|
||||||
completionStage: {
|
completionStage: {
|
||||||
id: 'dashboard.creator-withdraw-modal.stage.completion',
|
id: 'dashboard.creator-withdraw-modal.stage.completion',
|
||||||
defaultMessage: 'Complete',
|
defaultMessage: 'Complete',
|
||||||
},
|
},
|
||||||
detailsLabel: {
|
|
||||||
id: 'dashboard.creator-withdraw-modal.details-label',
|
|
||||||
defaultMessage: 'Details',
|
|
||||||
},
|
|
||||||
completeTaxForm: {
|
completeTaxForm: {
|
||||||
id: 'dashboard.creator-withdraw-modal.complete-tax-form',
|
id: 'dashboard.creator-withdraw-modal.complete-tax-form',
|
||||||
defaultMessage: 'Complete tax form',
|
defaultMessage: 'Complete tax form',
|
||||||
@@ -629,14 +613,14 @@ const messages = defineMessages({
|
|||||||
id: 'dashboard.creator-withdraw-modal.continue-with-limit',
|
id: 'dashboard.creator-withdraw-modal.continue-with-limit',
|
||||||
defaultMessage: 'Continue with limit',
|
defaultMessage: 'Continue with limit',
|
||||||
},
|
},
|
||||||
|
detailsLabel: {
|
||||||
|
id: 'dashboard.creator-withdraw-modal.details-label',
|
||||||
|
defaultMessage: 'Details',
|
||||||
|
},
|
||||||
withdrawButton: {
|
withdrawButton: {
|
||||||
id: 'dashboard.creator-withdraw-modal.withdraw-button',
|
id: 'dashboard.creator-withdraw-modal.withdraw-button',
|
||||||
defaultMessage: 'Withdraw',
|
defaultMessage: 'Withdraw',
|
||||||
},
|
},
|
||||||
closeButton: {
|
|
||||||
id: 'dashboard.withdraw.completion.close-button',
|
|
||||||
defaultMessage: 'Close',
|
|
||||||
},
|
|
||||||
transactionsButton: {
|
transactionsButton: {
|
||||||
id: 'dashboard.withdraw.completion.transactions-button',
|
id: 'dashboard.withdraw.completion.transactions-button',
|
||||||
defaultMessage: 'Transactions',
|
defaultMessage: 'Transactions',
|
||||||
|
|||||||
@@ -287,13 +287,5 @@ const messages = defineMessages({
|
|||||||
defaultMessage:
|
defaultMessage:
|
||||||
"You'll receive an email at <b>{email}</b> with instructions to redeem your withdrawal.",
|
"You'll receive an email at <b>{email}</b> with instructions to redeem your withdrawal.",
|
||||||
},
|
},
|
||||||
closeButton: {
|
|
||||||
id: 'dashboard.withdraw.completion.close-button',
|
|
||||||
defaultMessage: 'Close',
|
|
||||||
},
|
|
||||||
transactionsButton: {
|
|
||||||
id: 'dashboard.withdraw.completion.transactions-button',
|
|
||||||
defaultMessage: 'Transactions',
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -57,8 +57,8 @@
|
|||||||
<SaveIcon v-else />
|
<SaveIcon v-else />
|
||||||
{{
|
{{
|
||||||
venmoSaveSuccess
|
venmoSaveSuccess
|
||||||
? formatMessage(messages.savedButton)
|
? formatMessage(commonMessages.savedLabel)
|
||||||
: formatMessage(messages.saveButton)
|
: formatMessage(commonMessages.saveButton)
|
||||||
}}
|
}}
|
||||||
</button>
|
</button>
|
||||||
</ButtonStyled>
|
</ButtonStyled>
|
||||||
@@ -107,6 +107,7 @@ import { CheckIcon, PayPalColorIcon, SaveIcon, XIcon } from '@modrinth/assets'
|
|||||||
import {
|
import {
|
||||||
ButtonStyled,
|
ButtonStyled,
|
||||||
Checkbox,
|
Checkbox,
|
||||||
|
commonMessages,
|
||||||
defineMessages,
|
defineMessages,
|
||||||
financialMessages,
|
financialMessages,
|
||||||
formFieldLabels,
|
formFieldLabels,
|
||||||
@@ -342,14 +343,6 @@ const messages = defineMessages({
|
|||||||
id: 'dashboard.creator-withdraw-modal.paypal-details.disconnect-account',
|
id: 'dashboard.creator-withdraw-modal.paypal-details.disconnect-account',
|
||||||
defaultMessage: 'Disconnect account',
|
defaultMessage: 'Disconnect account',
|
||||||
},
|
},
|
||||||
saveButton: {
|
|
||||||
id: 'dashboard.creator-withdraw-modal.paypal-details.save-button',
|
|
||||||
defaultMessage: 'Save',
|
|
||||||
},
|
|
||||||
savedButton: {
|
|
||||||
id: 'dashboard.creator-withdraw-modal.paypal-details.saved-button',
|
|
||||||
defaultMessage: 'Saved',
|
|
||||||
},
|
|
||||||
saveSuccess: {
|
saveSuccess: {
|
||||||
id: 'dashboard.creator-withdraw-modal.paypal-details.save-success',
|
id: 'dashboard.creator-withdraw-modal.paypal-details.save-success',
|
||||||
defaultMessage: 'Venmo handle saved successfully!',
|
defaultMessage: 'Venmo handle saved successfully!',
|
||||||
|
|||||||
@@ -470,7 +470,7 @@
|
|||||||
<CurrencyIcon aria-hidden="true" /> {{ formatMessage(messages.revenue) }}
|
<CurrencyIcon aria-hidden="true" /> {{ formatMessage(messages.revenue) }}
|
||||||
</template>
|
</template>
|
||||||
<template #analytics>
|
<template #analytics>
|
||||||
<ChartIcon aria-hidden="true" /> {{ formatMessage(messages.analytics) }}
|
<ChartIcon aria-hidden="true" /> {{ formatMessage(commonMessages.analyticsButton) }}
|
||||||
</template>
|
</template>
|
||||||
<template #moderation>
|
<template #moderation>
|
||||||
<ScaleIcon aria-hidden="true" /> {{ formatMessage(commonMessages.moderationLabel) }}
|
<ScaleIcon aria-hidden="true" /> {{ formatMessage(commonMessages.moderationLabel) }}
|
||||||
@@ -899,10 +899,6 @@ const messages = defineMessages({
|
|||||||
id: 'layout.nav.revenue',
|
id: 'layout.nav.revenue',
|
||||||
defaultMessage: 'Revenue',
|
defaultMessage: 'Revenue',
|
||||||
},
|
},
|
||||||
analytics: {
|
|
||||||
id: 'layout.nav.analytics',
|
|
||||||
defaultMessage: 'Analytics',
|
|
||||||
},
|
|
||||||
activeReports: {
|
activeReports: {
|
||||||
id: 'layout.nav.active-reports',
|
id: 'layout.nav.active-reports',
|
||||||
defaultMessage: 'Active reports',
|
defaultMessage: 'Active reports',
|
||||||
|
|||||||
@@ -230,12 +230,6 @@
|
|||||||
"auth.reset-password.method-choice.description": {
|
"auth.reset-password.method-choice.description": {
|
||||||
"message": "Enter your email below and we'll send a recovery link to allow you to recover your account."
|
"message": "Enter your email below and we'll send a recovery link to allow you to recover your account."
|
||||||
},
|
},
|
||||||
"auth.reset-password.method-choice.email-username.label": {
|
|
||||||
"message": "Email or username"
|
|
||||||
},
|
|
||||||
"auth.reset-password.method-choice.email-username.placeholder": {
|
|
||||||
"message": "Email"
|
|
||||||
},
|
|
||||||
"auth.reset-password.notification.email-sent.text": {
|
"auth.reset-password.notification.email-sent.text": {
|
||||||
"message": "An email with instructions has been sent to you if the email was previously saved on your account."
|
"message": "An email with instructions has been sent to you if the email was previously saved on your account."
|
||||||
},
|
},
|
||||||
@@ -275,12 +269,6 @@
|
|||||||
"auth.sign-in.additional-options": {
|
"auth.sign-in.additional-options": {
|
||||||
"message": "<forgot-password-link>Forgot password?</forgot-password-link> • <create-account-link>Create an account</create-account-link>"
|
"message": "<forgot-password-link>Forgot password?</forgot-password-link> • <create-account-link>Create an account</create-account-link>"
|
||||||
},
|
},
|
||||||
"auth.sign-in.email-username.label": {
|
|
||||||
"message": "Email or username"
|
|
||||||
},
|
|
||||||
"auth.sign-in.password.label": {
|
|
||||||
"message": "Password"
|
|
||||||
},
|
|
||||||
"auth.sign-in.sign-in-with": {
|
"auth.sign-in.sign-in-with": {
|
||||||
"message": "Sign in with"
|
"message": "Sign in with"
|
||||||
},
|
},
|
||||||
@@ -293,24 +281,12 @@
|
|||||||
"auth.sign-up.action.create-account": {
|
"auth.sign-up.action.create-account": {
|
||||||
"message": "Create account"
|
"message": "Create account"
|
||||||
},
|
},
|
||||||
"auth.sign-up.confirm-password.label": {
|
|
||||||
"message": "Confirm password"
|
|
||||||
},
|
|
||||||
"auth.sign-up.email.label": {
|
|
||||||
"message": "Email"
|
|
||||||
},
|
|
||||||
"auth.sign-up.label.username": {
|
|
||||||
"message": "Username"
|
|
||||||
},
|
|
||||||
"auth.sign-up.legal-dislaimer": {
|
"auth.sign-up.legal-dislaimer": {
|
||||||
"message": "By creating an account, you agree to Modrinth's <terms-link>Terms</terms-link> and <privacy-policy-link>Privacy Policy</privacy-policy-link>."
|
"message": "By creating an account, you agree to Modrinth's <terms-link>Terms</terms-link> and <privacy-policy-link>Privacy Policy</privacy-policy-link>."
|
||||||
},
|
},
|
||||||
"auth.sign-up.notification.password-mismatch.text": {
|
"auth.sign-up.notification.password-mismatch.text": {
|
||||||
"message": "Passwords do not match!"
|
"message": "Passwords do not match!"
|
||||||
},
|
},
|
||||||
"auth.sign-up.password.label": {
|
|
||||||
"message": "Password"
|
|
||||||
},
|
|
||||||
"auth.sign-up.sign-in-option.title": {
|
"auth.sign-up.sign-in-option.title": {
|
||||||
"message": "Already have an account?"
|
"message": "Already have an account?"
|
||||||
},
|
},
|
||||||
@@ -329,9 +305,6 @@
|
|||||||
"auth.verify-email.action.account-settings": {
|
"auth.verify-email.action.account-settings": {
|
||||||
"message": "Account settings"
|
"message": "Account settings"
|
||||||
},
|
},
|
||||||
"auth.verify-email.action.sign-in": {
|
|
||||||
"message": "Sign in"
|
|
||||||
},
|
|
||||||
"auth.verify-email.already-verified.description": {
|
"auth.verify-email.already-verified.description": {
|
||||||
"message": "Your email is already verified!"
|
"message": "Your email is already verified!"
|
||||||
},
|
},
|
||||||
@@ -416,12 +389,6 @@
|
|||||||
"collection.label.curated-by": {
|
"collection.label.curated-by": {
|
||||||
"message": "Curated by"
|
"message": "Curated by"
|
||||||
},
|
},
|
||||||
"collection.label.description": {
|
|
||||||
"message": "Description"
|
|
||||||
},
|
|
||||||
"collection.label.details": {
|
|
||||||
"message": "Details"
|
|
||||||
},
|
|
||||||
"collection.label.no-projects": {
|
"collection.label.no-projects": {
|
||||||
"message": "No projects in collection yet"
|
"message": "No projects in collection yet"
|
||||||
},
|
},
|
||||||
@@ -440,27 +407,15 @@
|
|||||||
"collection.title": {
|
"collection.title": {
|
||||||
"message": "{name} - Collection"
|
"message": "{name} - Collection"
|
||||||
},
|
},
|
||||||
"common.no": {
|
|
||||||
"message": "No"
|
|
||||||
},
|
|
||||||
"common.yes": {
|
|
||||||
"message": "Yes"
|
|
||||||
},
|
|
||||||
"create-project-version.create-modal.stage.add-files.admonition": {
|
"create-project-version.create-modal.stage.add-files.admonition": {
|
||||||
"message": "Supplementary files are for supporting resources like source code, not for alternative versions or variants."
|
"message": "Supplementary files are for supporting resources like source code, not for alternative versions or variants."
|
||||||
},
|
},
|
||||||
"create.collection.cancel": {
|
|
||||||
"message": "Cancel"
|
|
||||||
},
|
|
||||||
"create.collection.collection-info": {
|
"create.collection.collection-info": {
|
||||||
"message": "Your new collection will be created as a public collection with {count, plural, =0 {no projects} one {# project} other {# projects}}."
|
"message": "Your new collection will be created as a public collection with {count, plural, =0 {no projects} one {# project} other {# projects}}."
|
||||||
},
|
},
|
||||||
"create.collection.create-collection": {
|
"create.collection.create-collection": {
|
||||||
"message": "Create collection"
|
"message": "Create collection"
|
||||||
},
|
},
|
||||||
"create.collection.error-title": {
|
|
||||||
"message": "An error occurred"
|
|
||||||
},
|
|
||||||
"create.collection.name-label": {
|
"create.collection.name-label": {
|
||||||
"message": "Name"
|
"message": "Name"
|
||||||
},
|
},
|
||||||
@@ -512,15 +467,9 @@
|
|||||||
"create.limit-alert.type-project": {
|
"create.limit-alert.type-project": {
|
||||||
"message": "project"
|
"message": "project"
|
||||||
},
|
},
|
||||||
"create.organization.cancel": {
|
|
||||||
"message": "Cancel"
|
|
||||||
},
|
|
||||||
"create.organization.create-organization": {
|
"create.organization.create-organization": {
|
||||||
"message": "Create organization"
|
"message": "Create organization"
|
||||||
},
|
},
|
||||||
"create.organization.error-title": {
|
|
||||||
"message": "An error occurred"
|
|
||||||
},
|
|
||||||
"create.organization.name-label": {
|
"create.organization.name-label": {
|
||||||
"message": "Name"
|
"message": "Name"
|
||||||
},
|
},
|
||||||
@@ -545,15 +494,9 @@
|
|||||||
"create.organization.url-label": {
|
"create.organization.url-label": {
|
||||||
"message": "URL"
|
"message": "URL"
|
||||||
},
|
},
|
||||||
"create.project.cancel": {
|
|
||||||
"message": "Cancel"
|
|
||||||
},
|
|
||||||
"create.project.create-project": {
|
"create.project.create-project": {
|
||||||
"message": "Create project"
|
"message": "Create project"
|
||||||
},
|
},
|
||||||
"create.project.error-title": {
|
|
||||||
"message": "An error occurred"
|
|
||||||
},
|
|
||||||
"create.project.name-label": {
|
"create.project.name-label": {
|
||||||
"message": "Name"
|
"message": "Name"
|
||||||
},
|
},
|
||||||
@@ -578,9 +521,6 @@
|
|||||||
"create.project.visibility-description": {
|
"create.project.visibility-description": {
|
||||||
"message": "The visibility of your project after it has been approved."
|
"message": "The visibility of your project after it has been approved."
|
||||||
},
|
},
|
||||||
"create.project.visibility-label": {
|
|
||||||
"message": "Visibility"
|
|
||||||
},
|
|
||||||
"create.project.visibility-private": {
|
"create.project.visibility-private": {
|
||||||
"message": "Private"
|
"message": "Private"
|
||||||
},
|
},
|
||||||
@@ -788,15 +728,9 @@
|
|||||||
"dashboard.creator-withdraw-modal.paypal-details.paypal-auth-description": {
|
"dashboard.creator-withdraw-modal.paypal-details.paypal-auth-description": {
|
||||||
"message": "Connect your PayPal account to receive payments directly."
|
"message": "Connect your PayPal account to receive payments directly."
|
||||||
},
|
},
|
||||||
"dashboard.creator-withdraw-modal.paypal-details.save-button": {
|
|
||||||
"message": "Save"
|
|
||||||
},
|
|
||||||
"dashboard.creator-withdraw-modal.paypal-details.save-success": {
|
"dashboard.creator-withdraw-modal.paypal-details.save-success": {
|
||||||
"message": "Venmo handle saved successfully!"
|
"message": "Venmo handle saved successfully!"
|
||||||
},
|
},
|
||||||
"dashboard.creator-withdraw-modal.paypal-details.saved-button": {
|
|
||||||
"message": "Saved"
|
|
||||||
},
|
|
||||||
"dashboard.creator-withdraw-modal.paypal-details.sign-in-with-paypal": {
|
"dashboard.creator-withdraw-modal.paypal-details.sign-in-with-paypal": {
|
||||||
"message": "Sign in with PayPal"
|
"message": "Sign in with PayPal"
|
||||||
},
|
},
|
||||||
@@ -815,18 +749,9 @@
|
|||||||
"dashboard.creator-withdraw-modal.stage.method-selection": {
|
"dashboard.creator-withdraw-modal.stage.method-selection": {
|
||||||
"message": "Method"
|
"message": "Method"
|
||||||
},
|
},
|
||||||
"dashboard.creator-withdraw-modal.stage.muralpay-details": {
|
|
||||||
"message": "Account Details"
|
|
||||||
},
|
|
||||||
"dashboard.creator-withdraw-modal.stage.muralpay-kyc": {
|
|
||||||
"message": "Verification"
|
|
||||||
},
|
|
||||||
"dashboard.creator-withdraw-modal.stage.tax-form": {
|
"dashboard.creator-withdraw-modal.stage.tax-form": {
|
||||||
"message": "Tax form"
|
"message": "Tax form"
|
||||||
},
|
},
|
||||||
"dashboard.creator-withdraw-modal.stage.tremendous-details": {
|
|
||||||
"message": "Details"
|
|
||||||
},
|
|
||||||
"dashboard.creator-withdraw-modal.tax-form-required.body": {
|
"dashboard.creator-withdraw-modal.tax-form-required.body": {
|
||||||
"message": "To withdraw your full <b>{available}</b> available balance please complete the form below. It is required for tax reporting and only needs to be done once."
|
"message": "To withdraw your full <b>{available}</b> available balance please complete the form below. It is required for tax reporting and only needs to be done once."
|
||||||
},
|
},
|
||||||
@@ -956,9 +881,6 @@
|
|||||||
"dashboard.withdraw.completion.amount": {
|
"dashboard.withdraw.completion.amount": {
|
||||||
"message": "Amount"
|
"message": "Amount"
|
||||||
},
|
},
|
||||||
"dashboard.withdraw.completion.close-button": {
|
|
||||||
"message": "Close"
|
|
||||||
},
|
|
||||||
"dashboard.withdraw.completion.date": {
|
"dashboard.withdraw.completion.date": {
|
||||||
"message": "Date"
|
"message": "Date"
|
||||||
},
|
},
|
||||||
@@ -1469,15 +1391,6 @@
|
|||||||
"landing.notifications.version-released": {
|
"landing.notifications.version-released": {
|
||||||
"message": "Version {version} has been released for {gameVersion}"
|
"message": "Version {version} has been released for {gameVersion}"
|
||||||
},
|
},
|
||||||
"landing.search.label": {
|
|
||||||
"message": "Search"
|
|
||||||
},
|
|
||||||
"landing.search.placeholder": {
|
|
||||||
"message": "Search..."
|
|
||||||
},
|
|
||||||
"landing.search.sort-by.label": {
|
|
||||||
"message": "Sort by"
|
|
||||||
},
|
|
||||||
"landing.section.for-creators.description": {
|
"landing.section.for-creators.description": {
|
||||||
"message": "Give an online home to your creations and reach a massive audience of dedicated players."
|
"message": "Give an online home to your creations and reach a massive audience of dedicated players."
|
||||||
},
|
},
|
||||||
@@ -1703,9 +1616,6 @@
|
|||||||
"layout.nav.active-reports": {
|
"layout.nav.active-reports": {
|
||||||
"message": "Active reports"
|
"message": "Active reports"
|
||||||
},
|
},
|
||||||
"layout.nav.analytics": {
|
|
||||||
"message": "Analytics"
|
|
||||||
},
|
|
||||||
"layout.nav.discover": {
|
"layout.nav.discover": {
|
||||||
"message": "Discover"
|
"message": "Discover"
|
||||||
},
|
},
|
||||||
@@ -1754,9 +1664,6 @@
|
|||||||
"layout.nav.upgrade-to-modrinth-plus": {
|
"layout.nav.upgrade-to-modrinth-plus": {
|
||||||
"message": "Upgrade to Modrinth+"
|
"message": "Upgrade to Modrinth+"
|
||||||
},
|
},
|
||||||
"moderation.filter.by": {
|
|
||||||
"message": "Filter by"
|
|
||||||
},
|
|
||||||
"moderation.moderate": {
|
"moderation.moderate": {
|
||||||
"message": "Moderate"
|
"message": "Moderate"
|
||||||
},
|
},
|
||||||
@@ -1769,12 +1676,6 @@
|
|||||||
"moderation.page.technicalReview": {
|
"moderation.page.technicalReview": {
|
||||||
"message": "Technical Review"
|
"message": "Technical Review"
|
||||||
},
|
},
|
||||||
"moderation.search.placeholder": {
|
|
||||||
"message": "Search..."
|
|
||||||
},
|
|
||||||
"moderation.sort.by": {
|
|
||||||
"message": "Sort by"
|
|
||||||
},
|
|
||||||
"muralpay.account-type.checking": {
|
"muralpay.account-type.checking": {
|
||||||
"message": "Checking"
|
"message": "Checking"
|
||||||
},
|
},
|
||||||
@@ -2102,18 +2003,12 @@
|
|||||||
"profile.label.collection": {
|
"profile.label.collection": {
|
||||||
"message": "Collection"
|
"message": "Collection"
|
||||||
},
|
},
|
||||||
"profile.label.details": {
|
|
||||||
"message": "Details"
|
|
||||||
},
|
|
||||||
"profile.label.downloads": {
|
"profile.label.downloads": {
|
||||||
"message": "{count} {count, plural, one {download} other {downloads}}"
|
"message": "{count} {count, plural, one {download} other {downloads}}"
|
||||||
},
|
},
|
||||||
"profile.label.joined": {
|
"profile.label.joined": {
|
||||||
"message": "Joined"
|
"message": "Joined"
|
||||||
},
|
},
|
||||||
"profile.label.no": {
|
|
||||||
"message": "No"
|
|
||||||
},
|
|
||||||
"profile.label.no-collections": {
|
"profile.label.no-collections": {
|
||||||
"message": "This user has no collections!"
|
"message": "This user has no collections!"
|
||||||
},
|
},
|
||||||
@@ -2135,9 +2030,6 @@
|
|||||||
"profile.label.saving": {
|
"profile.label.saving": {
|
||||||
"message": "Saving..."
|
"message": "Saving..."
|
||||||
},
|
},
|
||||||
"profile.label.yes": {
|
|
||||||
"message": "Yes"
|
|
||||||
},
|
|
||||||
"profile.meta.description": {
|
"profile.meta.description": {
|
||||||
"message": "Download {username}'s projects on Modrinth"
|
"message": "Download {username}'s projects on Modrinth"
|
||||||
},
|
},
|
||||||
@@ -2150,15 +2042,6 @@
|
|||||||
"profile.user-id": {
|
"profile.user-id": {
|
||||||
"message": "User ID: {id}"
|
"message": "User ID: {id}"
|
||||||
},
|
},
|
||||||
"project-member-header.accept": {
|
|
||||||
"message": "Accept"
|
|
||||||
},
|
|
||||||
"project-member-header.decline": {
|
|
||||||
"message": "Decline"
|
|
||||||
},
|
|
||||||
"project-member-header.error": {
|
|
||||||
"message": "Error"
|
|
||||||
},
|
|
||||||
"project-member-header.error-decline": {
|
"project-member-header.error-decline": {
|
||||||
"message": "Failed to decline team invitation"
|
"message": "Failed to decline team invitation"
|
||||||
},
|
},
|
||||||
@@ -2174,9 +2057,6 @@
|
|||||||
"project-member-header.invitation-with-role": {
|
"project-member-header.invitation-with-role": {
|
||||||
"message": "You've been invited to be a member of this project with the role of ''{role}''."
|
"message": "You've been invited to be a member of this project with the role of ''{role}''."
|
||||||
},
|
},
|
||||||
"project-member-header.success": {
|
|
||||||
"message": "Success"
|
|
||||||
},
|
|
||||||
"project-member-header.success-decline": {
|
"project-member-header.success-decline": {
|
||||||
"message": "You have declined the team invitation"
|
"message": "You have declined the team invitation"
|
||||||
},
|
},
|
||||||
@@ -2891,9 +2771,6 @@
|
|||||||
"settings.billing.payment_method.action.primary": {
|
"settings.billing.payment_method.action.primary": {
|
||||||
"message": "Make primary"
|
"message": "Make primary"
|
||||||
},
|
},
|
||||||
"settings.billing.payment_method.card_display": {
|
|
||||||
"message": "{card_brand} ending in {last_four}"
|
|
||||||
},
|
|
||||||
"settings.billing.payment_method.card_expiry": {
|
"settings.billing.payment_method.card_expiry": {
|
||||||
"message": "Expires {month}/{year}"
|
"message": "Expires {month}/{year}"
|
||||||
},
|
},
|
||||||
@@ -2906,42 +2783,6 @@
|
|||||||
"settings.billing.payment_method.title": {
|
"settings.billing.payment_method.title": {
|
||||||
"message": "Payment methods"
|
"message": "Payment methods"
|
||||||
},
|
},
|
||||||
"settings.billing.payment_method_type.amazon_pay": {
|
|
||||||
"message": "Amazon Pay"
|
|
||||||
},
|
|
||||||
"settings.billing.payment_method_type.amex": {
|
|
||||||
"message": "American Express"
|
|
||||||
},
|
|
||||||
"settings.billing.payment_method_type.cashapp": {
|
|
||||||
"message": "Cash App"
|
|
||||||
},
|
|
||||||
"settings.billing.payment_method_type.diners": {
|
|
||||||
"message": "Diners Club"
|
|
||||||
},
|
|
||||||
"settings.billing.payment_method_type.discover": {
|
|
||||||
"message": "Discover"
|
|
||||||
},
|
|
||||||
"settings.billing.payment_method_type.eftpos": {
|
|
||||||
"message": "EFTPOS"
|
|
||||||
},
|
|
||||||
"settings.billing.payment_method_type.jcb": {
|
|
||||||
"message": "JCB"
|
|
||||||
},
|
|
||||||
"settings.billing.payment_method_type.mastercard": {
|
|
||||||
"message": "MasterCard"
|
|
||||||
},
|
|
||||||
"settings.billing.payment_method_type.paypal": {
|
|
||||||
"message": "PayPal"
|
|
||||||
},
|
|
||||||
"settings.billing.payment_method_type.unionpay": {
|
|
||||||
"message": "UnionPay"
|
|
||||||
},
|
|
||||||
"settings.billing.payment_method_type.unknown": {
|
|
||||||
"message": "Unknown payment method"
|
|
||||||
},
|
|
||||||
"settings.billing.payment_method_type.visa": {
|
|
||||||
"message": "Visa"
|
|
||||||
},
|
|
||||||
"settings.billing.pyro_subscription.description": {
|
"settings.billing.pyro_subscription.description": {
|
||||||
"message": "Manage your Modrinth Server subscriptions."
|
"message": "Manage your Modrinth Server subscriptions."
|
||||||
},
|
},
|
||||||
@@ -3095,18 +2936,12 @@
|
|||||||
"settings.profile.profile-info": {
|
"settings.profile.profile-info": {
|
||||||
"message": "Profile information"
|
"message": "Profile information"
|
||||||
},
|
},
|
||||||
"settings.profile.profile-picture.reset": {
|
|
||||||
"message": "Reset"
|
|
||||||
},
|
|
||||||
"settings.profile.profile-picture.title": {
|
"settings.profile.profile-picture.title": {
|
||||||
"message": "Profile picture"
|
"message": "Profile picture"
|
||||||
},
|
},
|
||||||
"settings.profile.username.description": {
|
"settings.profile.username.description": {
|
||||||
"message": "A unique case-insensitive name to identify your profile."
|
"message": "A unique case-insensitive name to identify your profile."
|
||||||
},
|
},
|
||||||
"settings.profile.username.title": {
|
|
||||||
"message": "Username"
|
|
||||||
},
|
|
||||||
"settings.sessions.action.revoke-session": {
|
"settings.sessions.action.revoke-session": {
|
||||||
"message": "Revoke session"
|
"message": "Revoke session"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
<div class="iconified-input">
|
<div class="iconified-input">
|
||||||
<label for="email" hidden>
|
<label for="email" hidden>
|
||||||
{{ formatMessage(methodChoiceMessages.emailUsernameLabel) }}
|
{{ formatMessage(commonMessages.emailUsernameLabel) }}
|
||||||
</label>
|
</label>
|
||||||
<MailIcon />
|
<MailIcon />
|
||||||
<input
|
<input
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
type="text"
|
type="text"
|
||||||
autocomplete="username"
|
autocomplete="username"
|
||||||
class="auth-form__input"
|
class="auth-form__input"
|
||||||
:placeholder="formatMessage(methodChoiceMessages.emailUsernamePlaceholder)"
|
:placeholder="formatMessage(commonMessages.emailLabel)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -81,14 +81,6 @@ const methodChoiceMessages = defineMessages({
|
|||||||
defaultMessage:
|
defaultMessage:
|
||||||
"Enter your email below and we'll send a recovery link to allow you to recover your account.",
|
"Enter your email below and we'll send a recovery link to allow you to recover your account.",
|
||||||
},
|
},
|
||||||
emailUsernameLabel: {
|
|
||||||
id: 'auth.reset-password.method-choice.email-username.label',
|
|
||||||
defaultMessage: 'Email or username',
|
|
||||||
},
|
|
||||||
emailUsernamePlaceholder: {
|
|
||||||
id: 'auth.reset-password.method-choice.email-username.placeholder',
|
|
||||||
defaultMessage: 'Email',
|
|
||||||
},
|
|
||||||
action: {
|
action: {
|
||||||
id: 'auth.reset-password.method-choice.action',
|
id: 'auth.reset-password.method-choice.action',
|
||||||
defaultMessage: 'Send recovery email',
|
defaultMessage: 'Send recovery email',
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
|
|
||||||
<section class="auth-form">
|
<section class="auth-form">
|
||||||
<div class="iconified-input">
|
<div class="iconified-input">
|
||||||
<label for="email" hidden>{{ formatMessage(messages.emailUsernameLabel) }}</label>
|
<label for="email" hidden>{{ formatMessage(commonMessages.emailUsernameLabel) }}</label>
|
||||||
<MailIcon />
|
<MailIcon />
|
||||||
<input
|
<input
|
||||||
id="email"
|
id="email"
|
||||||
@@ -72,12 +72,12 @@
|
|||||||
inputmode="email"
|
inputmode="email"
|
||||||
autocomplete="username"
|
autocomplete="username"
|
||||||
class="auth-form__input"
|
class="auth-form__input"
|
||||||
:placeholder="formatMessage(messages.emailUsernameLabel)"
|
:placeholder="formatMessage(commonMessages.emailUsernameLabel)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="iconified-input">
|
<div class="iconified-input">
|
||||||
<label for="password" hidden>{{ formatMessage(messages.passwordLabel) }}</label>
|
<label for="password" hidden>{{ formatMessage(commonMessages.passwordLabel) }}</label>
|
||||||
<KeyIcon />
|
<KeyIcon />
|
||||||
<input
|
<input
|
||||||
id="password"
|
id="password"
|
||||||
@@ -85,7 +85,7 @@
|
|||||||
type="password"
|
type="password"
|
||||||
autocomplete="current-password"
|
autocomplete="current-password"
|
||||||
class="auth-form__input"
|
class="auth-form__input"
|
||||||
:placeholder="formatMessage(messages.passwordLabel)"
|
:placeholder="formatMessage(commonMessages.passwordLabel)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -162,14 +162,6 @@ const messages = defineMessages({
|
|||||||
defaultMessage:
|
defaultMessage:
|
||||||
'<forgot-password-link>Forgot password?</forgot-password-link> • <create-account-link>Create an account</create-account-link>',
|
'<forgot-password-link>Forgot password?</forgot-password-link> • <create-account-link>Create an account</create-account-link>',
|
||||||
},
|
},
|
||||||
emailUsernameLabel: {
|
|
||||||
id: 'auth.sign-in.email-username.label',
|
|
||||||
defaultMessage: 'Email or username',
|
|
||||||
},
|
|
||||||
passwordLabel: {
|
|
||||||
id: 'auth.sign-in.password.label',
|
|
||||||
defaultMessage: 'Password',
|
|
||||||
},
|
|
||||||
signInWithLabel: {
|
signInWithLabel: {
|
||||||
id: 'auth.sign-in.sign-in-with',
|
id: 'auth.sign-in.sign-in-with',
|
||||||
defaultMessage: 'Sign in with',
|
defaultMessage: 'Sign in with',
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
|
|
||||||
<section class="auth-form">
|
<section class="auth-form">
|
||||||
<div class="iconified-input">
|
<div class="iconified-input">
|
||||||
<label for="email" hidden>{{ formatMessage(messages.emailLabel) }}</label>
|
<label for="email" hidden>{{ formatMessage(commonMessages.emailLabel) }}</label>
|
||||||
<MailIcon />
|
<MailIcon />
|
||||||
<input
|
<input
|
||||||
id="email"
|
id="email"
|
||||||
@@ -41,12 +41,12 @@
|
|||||||
type="email"
|
type="email"
|
||||||
autocomplete="username"
|
autocomplete="username"
|
||||||
class="auth-form__input"
|
class="auth-form__input"
|
||||||
:placeholder="formatMessage(messages.emailLabel)"
|
:placeholder="formatMessage(commonMessages.emailLabel)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="iconified-input">
|
<div class="iconified-input">
|
||||||
<label for="username" hidden>{{ formatMessage(messages.usernameLabel) }}</label>
|
<label for="username" hidden>{{ formatMessage(commonMessages.usernameLabel) }}</label>
|
||||||
<UserIcon />
|
<UserIcon />
|
||||||
<input
|
<input
|
||||||
id="username"
|
id="username"
|
||||||
@@ -54,12 +54,12 @@
|
|||||||
type="text"
|
type="text"
|
||||||
autocomplete="username"
|
autocomplete="username"
|
||||||
class="auth-form__input"
|
class="auth-form__input"
|
||||||
:placeholder="formatMessage(messages.usernameLabel)"
|
:placeholder="formatMessage(commonMessages.usernameLabel)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="iconified-input">
|
<div class="iconified-input">
|
||||||
<label for="password" hidden>{{ formatMessage(messages.passwordLabel) }}</label>
|
<label for="password" hidden>{{ formatMessage(commonMessages.passwordLabel) }}</label>
|
||||||
<KeyIcon />
|
<KeyIcon />
|
||||||
<input
|
<input
|
||||||
id="password"
|
id="password"
|
||||||
@@ -67,12 +67,14 @@
|
|||||||
class="auth-form__input"
|
class="auth-form__input"
|
||||||
type="password"
|
type="password"
|
||||||
autocomplete="new-password"
|
autocomplete="new-password"
|
||||||
:placeholder="formatMessage(messages.passwordLabel)"
|
:placeholder="formatMessage(commonMessages.passwordLabel)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="iconified-input">
|
<div class="iconified-input">
|
||||||
<label for="confirm-password" hidden>{{ formatMessage(messages.passwordLabel) }}</label>
|
<label for="confirm-password" hidden>{{
|
||||||
|
formatMessage(commonMessages.passwordLabel)
|
||||||
|
}}</label>
|
||||||
<KeyIcon />
|
<KeyIcon />
|
||||||
<input
|
<input
|
||||||
id="confirm-password"
|
id="confirm-password"
|
||||||
@@ -80,7 +82,7 @@
|
|||||||
type="password"
|
type="password"
|
||||||
autocomplete="new-password"
|
autocomplete="new-password"
|
||||||
class="auth-form__input"
|
class="auth-form__input"
|
||||||
:placeholder="formatMessage(messages.confirmPasswordLabel)"
|
:placeholder="formatMessage(commonMessages.confirmPasswordLabel)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -173,22 +175,6 @@ const messages = defineMessages({
|
|||||||
id: 'auth.sign-up.title.create-account',
|
id: 'auth.sign-up.title.create-account',
|
||||||
defaultMessage: 'Or create an account yourself',
|
defaultMessage: 'Or create an account yourself',
|
||||||
},
|
},
|
||||||
emailLabel: {
|
|
||||||
id: 'auth.sign-up.email.label',
|
|
||||||
defaultMessage: 'Email',
|
|
||||||
},
|
|
||||||
usernameLabel: {
|
|
||||||
id: 'auth.sign-up.label.username',
|
|
||||||
defaultMessage: 'Username',
|
|
||||||
},
|
|
||||||
passwordLabel: {
|
|
||||||
id: 'auth.sign-up.password.label',
|
|
||||||
defaultMessage: 'Password',
|
|
||||||
},
|
|
||||||
confirmPasswordLabel: {
|
|
||||||
id: 'auth.sign-up.confirm-password.label',
|
|
||||||
defaultMessage: 'Confirm password',
|
|
||||||
},
|
|
||||||
subscribeLabel: {
|
subscribeLabel: {
|
||||||
id: 'auth.sign-up.subscribe.label',
|
id: 'auth.sign-up.subscribe.label',
|
||||||
defaultMessage: 'Subscribe to updates about Modrinth',
|
defaultMessage: 'Subscribe to updates about Modrinth',
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
</ButtonStyled>
|
</ButtonStyled>
|
||||||
<ButtonStyled v-else>
|
<ButtonStyled v-else>
|
||||||
<NuxtLink to="/auth/sign-in">
|
<NuxtLink to="/auth/sign-in">
|
||||||
{{ formatMessage(messages.signIn) }}
|
{{ formatMessage(commonMessages.signInButton) }}
|
||||||
<RightArrowIcon />
|
<RightArrowIcon />
|
||||||
</NuxtLink>
|
</NuxtLink>
|
||||||
</ButtonStyled>
|
</ButtonStyled>
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
|
|
||||||
<ButtonStyled v-else color="brand">
|
<ButtonStyled v-else color="brand">
|
||||||
<NuxtLink to="/auth/sign-in">
|
<NuxtLink to="/auth/sign-in">
|
||||||
{{ formatMessage(messages.signIn) }}
|
{{ formatMessage(commonMessages.signInButton) }}
|
||||||
<RightArrowIcon />
|
<RightArrowIcon />
|
||||||
</NuxtLink>
|
</NuxtLink>
|
||||||
</ButtonStyled>
|
</ButtonStyled>
|
||||||
@@ -64,7 +64,13 @@
|
|||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { RightArrowIcon, SettingsIcon } from '@modrinth/assets'
|
import { RightArrowIcon, SettingsIcon } from '@modrinth/assets'
|
||||||
import { ButtonStyled, defineMessages, injectNotificationManager, useVIntl } from '@modrinth/ui'
|
import {
|
||||||
|
ButtonStyled,
|
||||||
|
commonMessages,
|
||||||
|
defineMessages,
|
||||||
|
injectNotificationManager,
|
||||||
|
useVIntl,
|
||||||
|
} from '@modrinth/ui'
|
||||||
|
|
||||||
const { addNotification } = injectNotificationManager()
|
const { addNotification } = injectNotificationManager()
|
||||||
const { formatMessage } = useVIntl()
|
const { formatMessage } = useVIntl()
|
||||||
@@ -78,10 +84,6 @@ const messages = defineMessages({
|
|||||||
id: 'auth.verify-email.action.account-settings',
|
id: 'auth.verify-email.action.account-settings',
|
||||||
defaultMessage: 'Account settings',
|
defaultMessage: 'Account settings',
|
||||||
},
|
},
|
||||||
signIn: {
|
|
||||||
id: 'auth.verify-email.action.sign-in',
|
|
||||||
defaultMessage: 'Sign in',
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const alreadyVerifiedMessages = defineMessages({
|
const alreadyVerifiedMessages = defineMessages({
|
||||||
|
|||||||
@@ -237,7 +237,7 @@
|
|||||||
<AdPlaceholder v-if="!auth.user" />
|
<AdPlaceholder v-if="!auth.user" />
|
||||||
<SidebarCard
|
<SidebarCard
|
||||||
v-if="collection.id !== 'following'"
|
v-if="collection.id !== 'following'"
|
||||||
:title="formatMessage(messages.detailsLabel)"
|
:title="formatMessage(commonMessages.detailsLabel)"
|
||||||
>
|
>
|
||||||
<div class="flex flex-col gap-2">
|
<div class="flex flex-col gap-2">
|
||||||
<span
|
<span
|
||||||
@@ -458,14 +458,6 @@ const messages = defineMessages({
|
|||||||
id: 'collection.label.curated-by',
|
id: 'collection.label.curated-by',
|
||||||
defaultMessage: 'Curated by',
|
defaultMessage: 'Curated by',
|
||||||
},
|
},
|
||||||
descriptionLabel: {
|
|
||||||
id: 'collection.label.description',
|
|
||||||
defaultMessage: 'Description',
|
|
||||||
},
|
|
||||||
detailsLabel: {
|
|
||||||
id: 'collection.label.details',
|
|
||||||
defaultMessage: 'Details',
|
|
||||||
},
|
|
||||||
deleteModalDescription: {
|
deleteModalDescription: {
|
||||||
id: 'collection.delete-modal.description',
|
id: 'collection.delete-modal.description',
|
||||||
defaultMessage: 'This will permanently delete this collection. This action cannot be undone.',
|
defaultMessage: 'This will permanently delete this collection. This action cannot be undone.',
|
||||||
|
|||||||
@@ -93,7 +93,7 @@
|
|||||||
<div class="search-controls">
|
<div class="search-controls">
|
||||||
<div class="iconified-input">
|
<div class="iconified-input">
|
||||||
<label class="hidden" for="search">{{
|
<label class="hidden" for="search">{{
|
||||||
formatMessage(messages.searchLabel)
|
formatMessage(commonMessages.searchLabel)
|
||||||
}}</label>
|
}}</label>
|
||||||
<SearchIcon aria-hidden="true" />
|
<SearchIcon aria-hidden="true" />
|
||||||
<input
|
<input
|
||||||
@@ -101,13 +101,13 @@
|
|||||||
v-model="searchQuery"
|
v-model="searchQuery"
|
||||||
type="search"
|
type="search"
|
||||||
name="search"
|
name="search"
|
||||||
:placeholder="formatMessage(messages.searchPlaceholder)"
|
:placeholder="formatMessage(commonMessages.searchPlaceholder)"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
@input="updateSearchProjects"
|
@input="updateSearchProjects"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="sort-by">
|
<div class="sort-by">
|
||||||
<span class="label">{{ formatMessage(messages.sortByLabel) }}</span>
|
<span class="label">{{ formatMessage(commonMessages.sortByLabel) }}</span>
|
||||||
<Multiselect
|
<Multiselect
|
||||||
v-model="sortType"
|
v-model="sortType"
|
||||||
placeholder="Select one"
|
placeholder="Select one"
|
||||||
@@ -155,7 +155,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="blob-demonstration gradient-border">
|
<div class="blob-demonstration gradient-border">
|
||||||
<div class="notifs-demo">
|
<div class="notifs-demo">
|
||||||
<h3>{{ formatMessage(messages.notificationsHeading) }}</h3>
|
<h3>{{ formatMessage(commonMessages.notificationsLabel) }}</h3>
|
||||||
<div class="notifications">
|
<div class="notifications">
|
||||||
<div
|
<div
|
||||||
v-for="(notification, index) in notifications"
|
v-for="(notification, index) in notifications"
|
||||||
@@ -567,18 +567,6 @@ const messages = defineMessages({
|
|||||||
defaultMessage:
|
defaultMessage:
|
||||||
"Modrinth's open-source API lets launchers add deep integration with Modrinth. You can use Modrinth through <link>our own app</link> and some of the most popular launchers like ATLauncher, MultiMC, and Prism Launcher.",
|
"Modrinth's open-source API lets launchers add deep integration with Modrinth. You can use Modrinth through <link>our own app</link> and some of the most popular launchers like ATLauncher, MultiMC, and Prism Launcher.",
|
||||||
},
|
},
|
||||||
searchPlaceholder: {
|
|
||||||
id: 'landing.search.placeholder',
|
|
||||||
defaultMessage: 'Search...',
|
|
||||||
},
|
|
||||||
searchLabel: {
|
|
||||||
id: 'landing.search.label',
|
|
||||||
defaultMessage: 'Search',
|
|
||||||
},
|
|
||||||
sortByLabel: {
|
|
||||||
id: 'landing.search.sort-by.label',
|
|
||||||
defaultMessage: 'Sort by',
|
|
||||||
},
|
|
||||||
notificationsHeading: {
|
notificationsHeading: {
|
||||||
id: 'landing.notifications.heading',
|
id: 'landing.notifications.heading',
|
||||||
defaultMessage: 'Notifications',
|
defaultMessage: 'Notifications',
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
spellcheck="false"
|
spellcheck="false"
|
||||||
type="text"
|
type="text"
|
||||||
:placeholder="formatMessage(messages.searchPlaceholder)"
|
:placeholder="formatMessage(commonMessages.searchPlaceholder)"
|
||||||
@input="goToPage(1)"
|
@input="goToPage(1)"
|
||||||
/>
|
/>
|
||||||
<Button v-if="query" class="r-btn" @click="() => (query = '')">
|
<Button v-if="query" class="r-btn" @click="() => (query = '')">
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
v-model="currentFilterType"
|
v-model="currentFilterType"
|
||||||
class="!w-full flex-grow sm:!w-[280px] sm:flex-grow-0 lg:!w-[280px]"
|
class="!w-full flex-grow sm:!w-[280px] sm:flex-grow-0 lg:!w-[280px]"
|
||||||
:options="filterTypes"
|
:options="filterTypes"
|
||||||
:placeholder="formatMessage(messages.filterBy)"
|
:placeholder="formatMessage(commonMessages.filterByLabel)"
|
||||||
@select="goToPage(1)"
|
@select="goToPage(1)"
|
||||||
>
|
>
|
||||||
<template #selected>
|
<template #selected>
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
v-model="currentSortType"
|
v-model="currentSortType"
|
||||||
class="!w-full flex-grow sm:!w-[150px] sm:flex-grow-0 lg:!w-[150px]"
|
class="!w-full flex-grow sm:!w-[150px] sm:flex-grow-0 lg:!w-[150px]"
|
||||||
:options="sortTypes"
|
:options="sortTypes"
|
||||||
:placeholder="formatMessage(messages.sortBy)"
|
:placeholder="formatMessage(commonMessages.sortByLabel)"
|
||||||
@select="goToPage(1)"
|
@select="goToPage(1)"
|
||||||
>
|
>
|
||||||
<template #selected>
|
<template #selected>
|
||||||
@@ -112,6 +112,7 @@ import {
|
|||||||
ButtonStyled,
|
ButtonStyled,
|
||||||
Combobox,
|
Combobox,
|
||||||
type ComboboxOption,
|
type ComboboxOption,
|
||||||
|
commonMessages,
|
||||||
defineMessages,
|
defineMessages,
|
||||||
injectNotificationManager,
|
injectNotificationManager,
|
||||||
Pagination,
|
Pagination,
|
||||||
@@ -145,18 +146,6 @@ if (import.meta.client && history && history.state && history.state.confetti) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const messages = defineMessages({
|
const messages = defineMessages({
|
||||||
searchPlaceholder: {
|
|
||||||
id: 'moderation.search.placeholder',
|
|
||||||
defaultMessage: 'Search...',
|
|
||||||
},
|
|
||||||
filterBy: {
|
|
||||||
id: 'moderation.filter.by',
|
|
||||||
defaultMessage: 'Filter by',
|
|
||||||
},
|
|
||||||
sortBy: {
|
|
||||||
id: 'moderation.sort.by',
|
|
||||||
defaultMessage: 'Sort by',
|
|
||||||
},
|
|
||||||
moderate: {
|
moderate: {
|
||||||
id: 'moderation.moderate',
|
id: 'moderation.moderate',
|
||||||
defaultMessage: 'Moderate',
|
defaultMessage: 'Moderate',
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
spellcheck="false"
|
spellcheck="false"
|
||||||
type="text"
|
type="text"
|
||||||
:placeholder="formatMessage(messages.searchPlaceholder)"
|
:placeholder="formatMessage(commonMessages.searchPlaceholder)"
|
||||||
@input="goToPage(1)"
|
@input="goToPage(1)"
|
||||||
/>
|
/>
|
||||||
<Button v-if="query" class="r-btn" @click="() => (query = '')">
|
<Button v-if="query" class="r-btn" @click="() => (query = '')">
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
v-model="currentFilterType"
|
v-model="currentFilterType"
|
||||||
class="!w-full flex-grow sm:!w-[280px] sm:flex-grow-0 lg:!w-[280px]"
|
class="!w-full flex-grow sm:!w-[280px] sm:flex-grow-0 lg:!w-[280px]"
|
||||||
:options="filterTypes"
|
:options="filterTypes"
|
||||||
:placeholder="formatMessage(messages.filterBy)"
|
:placeholder="formatMessage(commonMessages.filterByLabel)"
|
||||||
@select="goToPage(1)"
|
@select="goToPage(1)"
|
||||||
>
|
>
|
||||||
<template #selected>
|
<template #selected>
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
v-model="currentSortType"
|
v-model="currentSortType"
|
||||||
class="!w-full flex-grow sm:!w-[150px] sm:flex-grow-0 lg:!w-[150px]"
|
class="!w-full flex-grow sm:!w-[150px] sm:flex-grow-0 lg:!w-[150px]"
|
||||||
:options="sortTypes"
|
:options="sortTypes"
|
||||||
:placeholder="formatMessage(messages.sortBy)"
|
:placeholder="formatMessage(commonMessages.sortByLabel)"
|
||||||
@select="goToPage(1)"
|
@select="goToPage(1)"
|
||||||
>
|
>
|
||||||
<template #selected>
|
<template #selected>
|
||||||
@@ -82,7 +82,7 @@ import {
|
|||||||
Button,
|
Button,
|
||||||
Combobox,
|
Combobox,
|
||||||
type ComboboxOption,
|
type ComboboxOption,
|
||||||
defineMessages,
|
commonMessages,
|
||||||
Pagination,
|
Pagination,
|
||||||
useVIntl,
|
useVIntl,
|
||||||
} from '@modrinth/ui'
|
} from '@modrinth/ui'
|
||||||
@@ -98,21 +98,6 @@ const { formatMessage } = useVIntl()
|
|||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
||||||
const messages = defineMessages({
|
|
||||||
searchPlaceholder: {
|
|
||||||
id: 'moderation.search.placeholder',
|
|
||||||
defaultMessage: 'Search...',
|
|
||||||
},
|
|
||||||
filterBy: {
|
|
||||||
id: 'moderation.filter.by',
|
|
||||||
defaultMessage: 'Filter by',
|
|
||||||
},
|
|
||||||
sortBy: {
|
|
||||||
id: 'moderation.sort.by',
|
|
||||||
defaultMessage: 'Sort by',
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
const { data: allReports } = await useLazyAsyncData('new-moderation-reports', async () => {
|
const { data: allReports } = await useLazyAsyncData('new-moderation-reports', async () => {
|
||||||
const startTime = performance.now()
|
const startTime = performance.now()
|
||||||
let currentOffset = 0
|
let currentOffset = 0
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import {
|
|||||||
Button,
|
Button,
|
||||||
Combobox,
|
Combobox,
|
||||||
type ComboboxOption,
|
type ComboboxOption,
|
||||||
defineMessages,
|
commonMessages,
|
||||||
FloatingPanel,
|
FloatingPanel,
|
||||||
injectModrinthClient,
|
injectModrinthClient,
|
||||||
Pagination,
|
Pagination,
|
||||||
@@ -163,21 +163,6 @@ function handleLoadFileSources(reportId: string): void {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const messages = defineMessages({
|
|
||||||
searchPlaceholder: {
|
|
||||||
id: 'moderation.search.placeholder',
|
|
||||||
defaultMessage: 'Search...',
|
|
||||||
},
|
|
||||||
filterBy: {
|
|
||||||
id: 'moderation.filter.by',
|
|
||||||
defaultMessage: 'Filter by',
|
|
||||||
},
|
|
||||||
sortBy: {
|
|
||||||
id: 'moderation.sort.by',
|
|
||||||
defaultMessage: 'Sort by',
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
const query = ref(route.query.q?.toString() || '')
|
const query = ref(route.query.q?.toString() || '')
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
@@ -534,7 +519,7 @@ watch([currentSortType, currentResponseFilter, inOtherQueueFilter, currentFilter
|
|||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
spellcheck="false"
|
spellcheck="false"
|
||||||
type="text"
|
type="text"
|
||||||
:placeholder="formatMessage(messages.searchPlaceholder)"
|
:placeholder="formatMessage(commonMessages.searchPlaceholder)"
|
||||||
@input="goToPage(1)"
|
@input="goToPage(1)"
|
||||||
/>
|
/>
|
||||||
<Button v-if="query" class="r-btn" @click="() => (query = '')">
|
<Button v-if="query" class="r-btn" @click="() => (query = '')">
|
||||||
@@ -572,7 +557,7 @@ watch([currentSortType, currentResponseFilter, inOtherQueueFilter, currentFilter
|
|||||||
v-model="currentSortType"
|
v-model="currentSortType"
|
||||||
class="!w-full flex-grow sm:!w-[215px] sm:flex-grow-0"
|
class="!w-full flex-grow sm:!w-[215px] sm:flex-grow-0"
|
||||||
:options="sortTypes"
|
:options="sortTypes"
|
||||||
:placeholder="formatMessage(messages.sortBy)"
|
:placeholder="formatMessage(commonMessages.sortByLabel)"
|
||||||
>
|
>
|
||||||
<template #selected>
|
<template #selected>
|
||||||
<span class="flex flex-row gap-2 align-middle font-semibold">
|
<span class="flex flex-row gap-2 align-middle font-semibold">
|
||||||
@@ -602,7 +587,7 @@ watch([currentSortType, currentResponseFilter, inOtherQueueFilter, currentFilter
|
|||||||
v-model="currentFilterType"
|
v-model="currentFilterType"
|
||||||
class="!w-full"
|
class="!w-full"
|
||||||
:options="filterTypes"
|
:options="filterTypes"
|
||||||
:placeholder="formatMessage(messages.filterBy)"
|
:placeholder="formatMessage(commonMessages.filterByLabel)"
|
||||||
searchable
|
searchable
|
||||||
>
|
>
|
||||||
<template #selected>
|
<template #selected>
|
||||||
|
|||||||
@@ -516,18 +516,18 @@
|
|||||||
<div class="font-bold text-contrast">
|
<div class="font-bold text-contrast">
|
||||||
<template v-if="method.type === 'card'">
|
<template v-if="method.type === 'card'">
|
||||||
{{
|
{{
|
||||||
formatMessage(messages.paymentMethodCardDisplay, {
|
formatMessage(paymentMethodMessages.paymentMethodCardDisplay, {
|
||||||
card_brand:
|
card_brand:
|
||||||
formatMessage(paymentMethodTypes[method.card.brand]) ??
|
formatMessage(paymentMethodMessages[method.card.brand]) ??
|
||||||
formatMessage(paymentMethodTypes.unknown),
|
formatMessage(paymentMethodMessages.unknown),
|
||||||
last_four: method.card.last4,
|
last_four: method.card.last4,
|
||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
{{
|
{{
|
||||||
formatMessage(paymentMethodTypes[method.type]) ??
|
formatMessage(paymentMethodMessages[method.type]) ??
|
||||||
formatMessage(paymentMethodTypes.unknown)
|
formatMessage(paymentMethodMessages.unknown)
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
@@ -621,6 +621,7 @@ import {
|
|||||||
getPaymentMethodIcon,
|
getPaymentMethodIcon,
|
||||||
injectNotificationManager,
|
injectNotificationManager,
|
||||||
OverflowMenu,
|
OverflowMenu,
|
||||||
|
paymentMethodMessages,
|
||||||
PurchaseModal,
|
PurchaseModal,
|
||||||
ServerListing,
|
ServerListing,
|
||||||
useVIntl,
|
useVIntl,
|
||||||
@@ -721,10 +722,6 @@ const messages = defineMessages({
|
|||||||
id: 'settings.billing.payment_method.action.primary',
|
id: 'settings.billing.payment_method.action.primary',
|
||||||
defaultMessage: 'Make primary',
|
defaultMessage: 'Make primary',
|
||||||
},
|
},
|
||||||
paymentMethodCardDisplay: {
|
|
||||||
id: 'settings.billing.payment_method.card_display',
|
|
||||||
defaultMessage: '{card_brand} ending in {last_four}',
|
|
||||||
},
|
|
||||||
paymentMethodCardExpiry: {
|
paymentMethodCardExpiry: {
|
||||||
id: 'settings.billing.payment_method.card_expiry',
|
id: 'settings.billing.payment_method.card_expiry',
|
||||||
defaultMessage: 'Expires {month}/{year}',
|
defaultMessage: 'Expires {month}/{year}',
|
||||||
@@ -739,33 +736,6 @@ const messages = defineMessages({
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
const paymentMethodTypes = defineMessages({
|
|
||||||
visa: {
|
|
||||||
id: 'settings.billing.payment_method_type.visa',
|
|
||||||
defaultMessage: 'Visa',
|
|
||||||
},
|
|
||||||
amex: { id: 'settings.billing.payment_method_type.amex', defaultMessage: 'American Express' },
|
|
||||||
diners: { id: 'settings.billing.payment_method_type.diners', defaultMessage: 'Diners Club' },
|
|
||||||
discover: { id: 'settings.billing.payment_method_type.discover', defaultMessage: 'Discover' },
|
|
||||||
eftpos: { id: 'settings.billing.payment_method_type.eftpos', defaultMessage: 'EFTPOS' },
|
|
||||||
jcb: { id: 'settings.billing.payment_method_type.jcb', defaultMessage: 'JCB' },
|
|
||||||
mastercard: {
|
|
||||||
id: 'settings.billing.payment_method_type.mastercard',
|
|
||||||
defaultMessage: 'MasterCard',
|
|
||||||
},
|
|
||||||
unionpay: { id: 'settings.billing.payment_method_type.unionpay', defaultMessage: 'UnionPay' },
|
|
||||||
paypal: { id: 'settings.billing.payment_method_type.paypal', defaultMessage: 'PayPal' },
|
|
||||||
cashapp: { id: 'settings.billing.payment_method_type.cashapp', defaultMessage: 'Cash App' },
|
|
||||||
amazon_pay: {
|
|
||||||
id: 'settings.billing.payment_method_type.amazon_pay',
|
|
||||||
defaultMessage: 'Amazon Pay',
|
|
||||||
},
|
|
||||||
unknown: {
|
|
||||||
id: 'settings.billing.payment_method_type.unknown',
|
|
||||||
defaultMessage: 'Unknown payment method',
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
const [
|
const [
|
||||||
{ data: paymentMethods, refresh: refreshPaymentMethods },
|
{ data: paymentMethods, refresh: refreshPaymentMethods },
|
||||||
{ data: charges, refresh: refreshCharges },
|
{ data: charges, refresh: refreshCharges },
|
||||||
|
|||||||
@@ -46,12 +46,12 @@
|
|||||||
"
|
"
|
||||||
>
|
>
|
||||||
<UndoIcon />
|
<UndoIcon />
|
||||||
{{ formatMessage(messages.profilePictureReset) }}
|
{{ formatMessage(commonMessages.resetButton) }}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<label for="username-field">
|
<label for="username-field">
|
||||||
<span class="label__title">{{ formatMessage(messages.usernameTitle) }}</span>
|
<span class="label__title">{{ formatMessage(commonMessages.usernameLabel) }}</span>
|
||||||
<span class="label__description">
|
<span class="label__description">
|
||||||
{{ formatMessage(messages.usernameDescription) }}
|
{{ formatMessage(messages.usernameDescription) }}
|
||||||
</span>
|
</span>
|
||||||
@@ -120,14 +120,6 @@ const messages = defineMessages({
|
|||||||
id: 'settings.profile.profile-picture.title',
|
id: 'settings.profile.profile-picture.title',
|
||||||
defaultMessage: 'Profile picture',
|
defaultMessage: 'Profile picture',
|
||||||
},
|
},
|
||||||
profilePictureReset: {
|
|
||||||
id: 'settings.profile.profile-picture.reset',
|
|
||||||
defaultMessage: 'Reset',
|
|
||||||
},
|
|
||||||
usernameTitle: {
|
|
||||||
id: 'settings.profile.username.title',
|
|
||||||
defaultMessage: 'Username',
|
|
||||||
},
|
|
||||||
usernameDescription: {
|
usernameDescription: {
|
||||||
id: 'settings.profile.username.description',
|
id: 'settings.profile.username.description',
|
||||||
defaultMessage: 'A unique case-insensitive name to identify your profile.',
|
defaultMessage: 'A unique case-insensitive name to identify your profile.',
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
<div class="flex flex-col gap-3">
|
<div class="flex flex-col gap-3">
|
||||||
<div v-if="isAdmin(auth.user)" class="flex flex-col gap-1">
|
<div v-if="isAdmin(auth.user)" class="flex flex-col gap-1">
|
||||||
<span class="text-lg font-bold text-primary">{{
|
<span class="text-lg font-bold text-primary">{{
|
||||||
formatMessage(messages.emailLabel)
|
formatMessage(commonMessages.emailLabel)
|
||||||
}}</span>
|
}}</span>
|
||||||
<div>
|
<div>
|
||||||
<span
|
<span
|
||||||
@@ -61,8 +61,8 @@
|
|||||||
<XIcon v-else class="h-4 w-4 text-red" />
|
<XIcon v-else class="h-4 w-4 text-red" />
|
||||||
{{
|
{{
|
||||||
user.email_verified
|
user.email_verified
|
||||||
? formatMessage(messages.yesLabel)
|
? formatMessage(commonMessages.yesLabel)
|
||||||
: formatMessage(messages.noLabel)
|
: formatMessage(commonMessages.noLabel)
|
||||||
}}
|
}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -97,7 +97,9 @@
|
|||||||
}}</span>
|
}}</span>
|
||||||
<span>
|
<span>
|
||||||
{{
|
{{
|
||||||
user.has_password ? formatMessage(messages.yesLabel) : formatMessage(messages.noLabel)
|
user.has_password
|
||||||
|
? formatMessage(commonMessages.yesLabel)
|
||||||
|
: formatMessage(commonMessages.noLabel)
|
||||||
}}
|
}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -107,7 +109,11 @@
|
|||||||
formatMessage(messages.hasTotpLabel)
|
formatMessage(messages.hasTotpLabel)
|
||||||
}}</span>
|
}}</span>
|
||||||
<span>
|
<span>
|
||||||
{{ user.has_totp ? formatMessage(messages.yesLabel) : formatMessage(messages.noLabel) }}
|
{{
|
||||||
|
user.has_totp
|
||||||
|
? formatMessage(commonMessages.yesLabel)
|
||||||
|
: formatMessage(commonMessages.noLabel)
|
||||||
|
}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -575,14 +581,6 @@ const messages = defineMessages({
|
|||||||
id: 'profile.details.label.has-totp',
|
id: 'profile.details.label.has-totp',
|
||||||
defaultMessage: 'Has TOTP',
|
defaultMessage: 'Has TOTP',
|
||||||
},
|
},
|
||||||
yesLabel: {
|
|
||||||
id: 'profile.label.yes',
|
|
||||||
defaultMessage: 'Yes',
|
|
||||||
},
|
|
||||||
noLabel: {
|
|
||||||
id: 'profile.label.no',
|
|
||||||
defaultMessage: 'No',
|
|
||||||
},
|
|
||||||
bioFallbackUser: {
|
bioFallbackUser: {
|
||||||
id: 'profile.bio.fallback.user',
|
id: 'profile.bio.fallback.user',
|
||||||
defaultMessage: 'A Modrinth user.',
|
defaultMessage: 'A Modrinth user.',
|
||||||
@@ -604,10 +602,6 @@ const messages = defineMessages({
|
|||||||
id: 'profile.user-id',
|
id: 'profile.user-id',
|
||||||
defaultMessage: 'User ID: {id}',
|
defaultMessage: 'User ID: {id}',
|
||||||
},
|
},
|
||||||
profileDetails: {
|
|
||||||
id: 'profile.label.details',
|
|
||||||
defaultMessage: 'Details',
|
|
||||||
},
|
|
||||||
profileOrganizations: {
|
profileOrganizations: {
|
||||||
id: 'profile.label.organizations',
|
id: 'profile.label.organizations',
|
||||||
defaultMessage: 'Organizations',
|
defaultMessage: 'Organizations',
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<div class="flex flex-col">
|
<div class="flex flex-col">
|
||||||
<label v-if="showUserField" class="contents" for="create-affiliate-user-input">
|
<label v-if="showUserField" class="contents" for="create-affiliate-user-input">
|
||||||
<span class="text-lg font-semibold text-contrast mb-1">
|
<span class="text-lg font-semibold text-contrast mb-1">
|
||||||
{{ formatMessage(messages.createUserLabel) }}
|
{{ formatMessage(commonMessages.usernameLabel) }}
|
||||||
</span>
|
</span>
|
||||||
<span class="text-secondary mb-2">{{ formatMessage(messages.createUserDescription) }}</span>
|
<span class="text-secondary mb-2">{{ formatMessage(messages.createUserDescription) }}</span>
|
||||||
</label>
|
</label>
|
||||||
@@ -67,6 +67,7 @@ import { AffiliateIcon, PlusIcon, SpinnerIcon, UserIcon, XIcon } from '@modrinth
|
|||||||
import { computed, ref, useTemplateRef } from 'vue'
|
import { computed, ref, useTemplateRef } from 'vue'
|
||||||
|
|
||||||
import { defineMessages, useVIntl } from '../../composables/i18n'
|
import { defineMessages, useVIntl } from '../../composables/i18n'
|
||||||
|
import { commonMessages } from '../../utils/common-messages'
|
||||||
import { AutoBrandIcon, Button, ButtonStyled, NewModal } from '../index'
|
import { AutoBrandIcon, Button, ButtonStyled, NewModal } from '../index'
|
||||||
export type CreateAffiliateProps = { sourceName: string; username?: string }
|
export type CreateAffiliateProps = { sourceName: string; username?: string }
|
||||||
|
|
||||||
@@ -141,10 +142,6 @@ const messages = defineMessages({
|
|||||||
id: 'affiliate.create.title.placeholder',
|
id: 'affiliate.create.title.placeholder',
|
||||||
defaultMessage: 'e.g. YouTube',
|
defaultMessage: 'e.g. YouTube',
|
||||||
},
|
},
|
||||||
createUserLabel: {
|
|
||||||
id: 'affiliate.create.user.label',
|
|
||||||
defaultMessage: 'Username',
|
|
||||||
},
|
|
||||||
createUserDescription: {
|
createUserDescription: {
|
||||||
id: 'affiliate.create.user.description',
|
id: 'affiliate.create.user.description',
|
||||||
defaultMessage: 'The username of the user to create the affiliate code for',
|
defaultMessage: 'The username of the user to create the affiliate code for',
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
import type Stripe from 'stripe'
|
import type Stripe from 'stripe'
|
||||||
|
|
||||||
import { useVIntl } from '../../composables/i18n'
|
import { useVIntl } from '../../composables/i18n'
|
||||||
import { commonMessages, getPaymentMethodIcon, paymentMethodMessages } from '../../utils'
|
import { getPaymentMethodIcon, paymentMethodMessages } from '../../utils'
|
||||||
|
|
||||||
const { formatMessage } = useVIntl()
|
const { formatMessage } = useVIntl()
|
||||||
defineProps<{
|
defineProps<{
|
||||||
@@ -15,7 +15,7 @@ defineProps<{
|
|||||||
<component :is="getPaymentMethodIcon(method.type)" class="size-[1.5em]" />
|
<component :is="getPaymentMethodIcon(method.type)" class="size-[1.5em]" />
|
||||||
<span v-if="method.type === 'card' && 'card' in method && method.card">
|
<span v-if="method.type === 'card' && 'card' in method && method.card">
|
||||||
{{
|
{{
|
||||||
formatMessage(commonMessages.paymentMethodCardDisplay, {
|
formatMessage(paymentMethodMessages.paymentMethodCardDisplay, {
|
||||||
card_brand:
|
card_brand:
|
||||||
formatMessage(paymentMethodMessages[method.card.brand]) ??
|
formatMessage(paymentMethodMessages[method.card.brand]) ??
|
||||||
formatMessage(paymentMethodMessages.unknown),
|
formatMessage(paymentMethodMessages.unknown),
|
||||||
|
|||||||
@@ -345,18 +345,18 @@
|
|||||||
|
|
||||||
<span v-if="props.option.type === 'card'">
|
<span v-if="props.option.type === 'card'">
|
||||||
{{
|
{{
|
||||||
formatMessage(messages.paymentMethodCardDisplay, {
|
formatMessage(paymentMethodMessages.paymentMethodCardDisplay, {
|
||||||
card_brand:
|
card_brand:
|
||||||
formatMessage(paymentMethodTypes[props.option.card.brand]) ??
|
formatMessage(paymentMethodMessages[props.option.card.brand]) ??
|
||||||
formatMessage(paymentMethodTypes.unknown),
|
formatMessage(paymentMethodMessages.unknown),
|
||||||
last_four: props.option.card.last4,
|
last_four: props.option.card.last4,
|
||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
</span>
|
</span>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
{{
|
{{
|
||||||
formatMessage(paymentMethodTypes[props.option.type]) ??
|
formatMessage(paymentMethodMessages[props.option.type]) ??
|
||||||
formatMessage(paymentMethodTypes.unknown)
|
formatMessage(paymentMethodMessages.unknown)
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -382,18 +382,18 @@
|
|||||||
|
|
||||||
<span v-if="props.option.type === 'card'">
|
<span v-if="props.option.type === 'card'">
|
||||||
{{
|
{{
|
||||||
formatMessage(messages.paymentMethodCardDisplay, {
|
formatMessage(paymentMethodMessages.paymentMethodCardDisplay, {
|
||||||
card_brand:
|
card_brand:
|
||||||
formatMessage(paymentMethodTypes[props.option.card.brand]) ??
|
formatMessage(paymentMethodMessages[props.option.card.brand]) ??
|
||||||
formatMessage(paymentMethodTypes.unknown),
|
formatMessage(paymentMethodMessages.unknown),
|
||||||
last_four: props.option.card.last4,
|
last_four: props.option.card.last4,
|
||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
</span>
|
</span>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
{{
|
{{
|
||||||
formatMessage(paymentMethodTypes[props.option.type]) ??
|
formatMessage(paymentMethodMessages[props.option.type]) ??
|
||||||
formatMessage(paymentMethodTypes.unknown)
|
formatMessage(paymentMethodMessages.unknown)
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -546,7 +546,8 @@ import dayjs from 'dayjs'
|
|||||||
import { computed, nextTick, reactive, ref, watch } from 'vue'
|
import { computed, nextTick, reactive, ref, watch } from 'vue'
|
||||||
import { Multiselect } from 'vue-multiselect'
|
import { Multiselect } from 'vue-multiselect'
|
||||||
|
|
||||||
import { defineMessages, useVIntl } from '../../composables/i18n'
|
import { useVIntl } from '../../composables/i18n'
|
||||||
|
import { paymentMethodMessages } from '../../utils/common-messages'
|
||||||
import Admonition from '../base/Admonition.vue'
|
import Admonition from '../base/Admonition.vue'
|
||||||
import Checkbox from '../base/Checkbox.vue'
|
import Checkbox from '../base/Checkbox.vue'
|
||||||
import Slider from '../base/Slider.vue'
|
import Slider from '../base/Slider.vue'
|
||||||
@@ -646,61 +647,6 @@ const props = defineProps({
|
|||||||
|
|
||||||
const productType = computed(() => (props.customServer ? 'pyro' : props.product.metadata.type))
|
const productType = computed(() => (props.customServer ? 'pyro' : props.product.metadata.type))
|
||||||
|
|
||||||
const messages = defineMessages({
|
|
||||||
paymentMethodCardDisplay: {
|
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_card_display',
|
|
||||||
defaultMessage: '{card_brand} ending in {last_four}',
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
const paymentMethodTypes = defineMessages({
|
|
||||||
visa: {
|
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.visa',
|
|
||||||
defaultMessage: 'Visa',
|
|
||||||
},
|
|
||||||
amex: {
|
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.amex',
|
|
||||||
defaultMessage: 'American Express',
|
|
||||||
},
|
|
||||||
diners: {
|
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.diners',
|
|
||||||
defaultMessage: 'Diners Club',
|
|
||||||
},
|
|
||||||
discover: {
|
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.discover',
|
|
||||||
defaultMessage: 'Discover',
|
|
||||||
},
|
|
||||||
eftpos: {
|
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.eftpos',
|
|
||||||
defaultMessage: 'EFTPOS',
|
|
||||||
},
|
|
||||||
jcb: { id: 'omorphia.component.purchase_modal.payment_method_type.jcb', defaultMessage: 'JCB' },
|
|
||||||
mastercard: {
|
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.mastercard',
|
|
||||||
defaultMessage: 'MasterCard',
|
|
||||||
},
|
|
||||||
unionpay: {
|
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.unionpay',
|
|
||||||
defaultMessage: 'UnionPay',
|
|
||||||
},
|
|
||||||
paypal: {
|
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.paypal',
|
|
||||||
defaultMessage: 'PayPal',
|
|
||||||
},
|
|
||||||
cashapp: {
|
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.cashapp',
|
|
||||||
defaultMessage: 'Cash App',
|
|
||||||
},
|
|
||||||
amazon_pay: {
|
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.amazon_pay',
|
|
||||||
defaultMessage: 'Amazon Pay',
|
|
||||||
},
|
|
||||||
unknown: {
|
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.unknown',
|
|
||||||
defaultMessage: 'Unknown payment method',
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
let stripe = null
|
let stripe = null
|
||||||
let elements = null
|
let elements = null
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="flex flex-col gap-3">
|
<div class="flex flex-col gap-3">
|
||||||
<h2 class="text-lg m-0">{{ formatMessage(messages.title) }}</h2>
|
<h2 class="text-lg m-0">{{ formatMessage(commonMessages.detailsLabel) }}</h2>
|
||||||
<div class="flex flex-col gap-3 font-semibold [&>div]:flex [&>div]:gap-2 [&>div]:items-center">
|
<div class="flex flex-col gap-3 font-semibold [&>div]:flex [&>div]:gap-2 [&>div]:items-center">
|
||||||
<div>
|
<div>
|
||||||
<BookTextIcon aria-hidden="true" />
|
<BookTextIcon aria-hidden="true" />
|
||||||
@@ -70,6 +70,7 @@ import { computed } from 'vue'
|
|||||||
|
|
||||||
import { useRelativeTime } from '../../composables'
|
import { useRelativeTime } from '../../composables'
|
||||||
import { defineMessages, useVIntl } from '../../composables/i18n'
|
import { defineMessages, useVIntl } from '../../composables/i18n'
|
||||||
|
import { commonMessages } from '../../utils/common-messages'
|
||||||
|
|
||||||
const { formatMessage } = useVIntl()
|
const { formatMessage } = useVIntl()
|
||||||
const formatRelativeTime = useRelativeTime()
|
const formatRelativeTime = useRelativeTime()
|
||||||
@@ -117,10 +118,6 @@ const licenseIdDisplay = computed(() => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
const messages = defineMessages({
|
const messages = defineMessages({
|
||||||
title: {
|
|
||||||
id: 'project.about.details.title',
|
|
||||||
defaultMessage: 'Details',
|
|
||||||
},
|
|
||||||
licensed: {
|
licensed: {
|
||||||
id: 'project.about.details.licensed',
|
id: 'project.about.details.licensed',
|
||||||
defaultMessage: 'Licensed {license}',
|
defaultMessage: 'Licensed {license}',
|
||||||
|
|||||||
@@ -175,10 +175,6 @@ const messages = defineMessages({
|
|||||||
id: 'servers.backups.item.manual-backup',
|
id: 'servers.backups.item.manual-backup',
|
||||||
defaultMessage: 'Manual backup',
|
defaultMessage: 'Manual backup',
|
||||||
},
|
},
|
||||||
retry: {
|
|
||||||
id: 'servers.backups.item.retry',
|
|
||||||
defaultMessage: 'Retry',
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
@@ -270,7 +266,7 @@ const messages = defineMessages({
|
|||||||
<ButtonStyled>
|
<ButtonStyled>
|
||||||
<button @click="() => emit('retry')">
|
<button @click="() => emit('retry')">
|
||||||
<RotateCounterClockwiseIcon class="size-5" />
|
<RotateCounterClockwiseIcon class="size-5" />
|
||||||
{{ formatMessage(messages.retry) }}
|
{{ formatMessage(commonMessages.retryButton) }}
|
||||||
</button>
|
</button>
|
||||||
</ButtonStyled>
|
</ButtonStyled>
|
||||||
<ButtonStyled>
|
<ButtonStyled>
|
||||||
|
|||||||
@@ -17,9 +17,6 @@
|
|||||||
"affiliate.create.user.description": {
|
"affiliate.create.user.description": {
|
||||||
"defaultMessage": "The username of the user to create the affiliate code for"
|
"defaultMessage": "The username of the user to create the affiliate code for"
|
||||||
},
|
},
|
||||||
"affiliate.create.user.label": {
|
|
||||||
"defaultMessage": "Username"
|
|
||||||
},
|
|
||||||
"affiliate.create.user.placeholder": {
|
"affiliate.create.user.placeholder": {
|
||||||
"defaultMessage": "Enter username..."
|
"defaultMessage": "Enter username..."
|
||||||
},
|
},
|
||||||
@@ -44,6 +41,9 @@
|
|||||||
"badge.new": {
|
"badge.new": {
|
||||||
"defaultMessage": "New"
|
"defaultMessage": "New"
|
||||||
},
|
},
|
||||||
|
"button.accept": {
|
||||||
|
"defaultMessage": "Accept"
|
||||||
|
},
|
||||||
"button.affiliate-links": {
|
"button.affiliate-links": {
|
||||||
"defaultMessage": "Affiliate links"
|
"defaultMessage": "Affiliate links"
|
||||||
},
|
},
|
||||||
@@ -74,6 +74,9 @@
|
|||||||
"button.create-a-project": {
|
"button.create-a-project": {
|
||||||
"defaultMessage": "Create a project"
|
"defaultMessage": "Create a project"
|
||||||
},
|
},
|
||||||
|
"button.decline": {
|
||||||
|
"defaultMessage": "Decline"
|
||||||
|
},
|
||||||
"button.download": {
|
"button.download": {
|
||||||
"defaultMessage": "Download"
|
"defaultMessage": "Download"
|
||||||
},
|
},
|
||||||
@@ -116,6 +119,9 @@
|
|||||||
"button.reset": {
|
"button.reset": {
|
||||||
"defaultMessage": "Reset"
|
"defaultMessage": "Reset"
|
||||||
},
|
},
|
||||||
|
"button.retry": {
|
||||||
|
"defaultMessage": "Retry"
|
||||||
|
},
|
||||||
"button.save": {
|
"button.save": {
|
||||||
"defaultMessage": "Save"
|
"defaultMessage": "Save"
|
||||||
},
|
},
|
||||||
@@ -158,7 +164,7 @@
|
|||||||
"changelog.product.web": {
|
"changelog.product.web": {
|
||||||
"defaultMessage": "Website"
|
"defaultMessage": "Website"
|
||||||
},
|
},
|
||||||
"collection.label.private": {
|
"collections.label.private": {
|
||||||
"defaultMessage": "Private"
|
"defaultMessage": "Private"
|
||||||
},
|
},
|
||||||
"form.label.address-line": {
|
"form.label.address-line": {
|
||||||
@@ -302,6 +308,9 @@
|
|||||||
"label.collections": {
|
"label.collections": {
|
||||||
"defaultMessage": "Collections"
|
"defaultMessage": "Collections"
|
||||||
},
|
},
|
||||||
|
"label.confirm-password": {
|
||||||
|
"defaultMessage": "Confirm password"
|
||||||
|
},
|
||||||
"label.created-ago": {
|
"label.created-ago": {
|
||||||
"defaultMessage": "Created {ago}"
|
"defaultMessage": "Created {ago}"
|
||||||
},
|
},
|
||||||
@@ -314,9 +323,21 @@
|
|||||||
"label.description": {
|
"label.description": {
|
||||||
"defaultMessage": "Description"
|
"defaultMessage": "Description"
|
||||||
},
|
},
|
||||||
|
"label.details": {
|
||||||
|
"defaultMessage": "Details"
|
||||||
|
},
|
||||||
|
"label.email": {
|
||||||
|
"defaultMessage": "Email"
|
||||||
|
},
|
||||||
|
"label.email-username": {
|
||||||
|
"defaultMessage": "Email or username"
|
||||||
|
},
|
||||||
"label.error": {
|
"label.error": {
|
||||||
"defaultMessage": "Error"
|
"defaultMessage": "Error"
|
||||||
},
|
},
|
||||||
|
"label.filter-by": {
|
||||||
|
"defaultMessage": "Filter by"
|
||||||
|
},
|
||||||
"label.followed-projects": {
|
"label.followed-projects": {
|
||||||
"defaultMessage": "Followed projects"
|
"defaultMessage": "Followed projects"
|
||||||
},
|
},
|
||||||
@@ -326,6 +347,9 @@
|
|||||||
"label.moderation": {
|
"label.moderation": {
|
||||||
"defaultMessage": "Moderation"
|
"defaultMessage": "Moderation"
|
||||||
},
|
},
|
||||||
|
"label.no": {
|
||||||
|
"defaultMessage": "No"
|
||||||
|
},
|
||||||
"label.notifications": {
|
"label.notifications": {
|
||||||
"defaultMessage": "Notifications"
|
"defaultMessage": "Notifications"
|
||||||
},
|
},
|
||||||
@@ -353,6 +377,9 @@
|
|||||||
"label.scopes": {
|
"label.scopes": {
|
||||||
"defaultMessage": "Scopes"
|
"defaultMessage": "Scopes"
|
||||||
},
|
},
|
||||||
|
"label.search": {
|
||||||
|
"defaultMessage": "Search"
|
||||||
|
},
|
||||||
"label.server": {
|
"label.server": {
|
||||||
"defaultMessage": "Server"
|
"defaultMessage": "Server"
|
||||||
},
|
},
|
||||||
@@ -365,18 +392,30 @@
|
|||||||
"label.singleplayer": {
|
"label.singleplayer": {
|
||||||
"defaultMessage": "Singleplayer"
|
"defaultMessage": "Singleplayer"
|
||||||
},
|
},
|
||||||
|
"label.sort-by": {
|
||||||
|
"defaultMessage": "Sort by"
|
||||||
|
},
|
||||||
|
"label.success": {
|
||||||
|
"defaultMessage": "Success"
|
||||||
|
},
|
||||||
"label.title": {
|
"label.title": {
|
||||||
"defaultMessage": "Title"
|
"defaultMessage": "Title"
|
||||||
},
|
},
|
||||||
"label.unlisted": {
|
"label.unlisted": {
|
||||||
"defaultMessage": "Unlisted"
|
"defaultMessage": "Unlisted"
|
||||||
},
|
},
|
||||||
|
"label.username": {
|
||||||
|
"defaultMessage": "Username"
|
||||||
|
},
|
||||||
"label.visibility": {
|
"label.visibility": {
|
||||||
"defaultMessage": "Visibility"
|
"defaultMessage": "Visibility"
|
||||||
},
|
},
|
||||||
"label.visit-your-profile": {
|
"label.visit-your-profile": {
|
||||||
"defaultMessage": "Visit your profile"
|
"defaultMessage": "Visit your profile"
|
||||||
},
|
},
|
||||||
|
"label.yes": {
|
||||||
|
"defaultMessage": "Yes"
|
||||||
|
},
|
||||||
"modal.add-payment-method.action": {
|
"modal.add-payment-method.action": {
|
||||||
"defaultMessage": "Add payment method"
|
"defaultMessage": "Add payment method"
|
||||||
},
|
},
|
||||||
@@ -470,60 +509,57 @@
|
|||||||
"omorphia.component.environment-indicator.label.unsupported": {
|
"omorphia.component.environment-indicator.label.unsupported": {
|
||||||
"defaultMessage": "Unsupported"
|
"defaultMessage": "Unsupported"
|
||||||
},
|
},
|
||||||
"omorphia.component.purchase_modal.payment_method_card_display": {
|
"payment-method.amazon_pay": {
|
||||||
"defaultMessage": "{card_brand} ending in {last_four}"
|
|
||||||
},
|
|
||||||
"omorphia.component.purchase_modal.payment_method_type.amazon_pay": {
|
|
||||||
"defaultMessage": "Amazon Pay"
|
"defaultMessage": "Amazon Pay"
|
||||||
},
|
},
|
||||||
"omorphia.component.purchase_modal.payment_method_type.amex": {
|
"payment-method.amex": {
|
||||||
"defaultMessage": "American Express"
|
"defaultMessage": "American Express"
|
||||||
},
|
},
|
||||||
"omorphia.component.purchase_modal.payment_method_type.cashapp": {
|
"payment-method.card_display": {
|
||||||
|
"defaultMessage": "{card_brand} ending in {last_four}"
|
||||||
|
},
|
||||||
|
"payment-method.cashapp": {
|
||||||
"defaultMessage": "Cash App"
|
"defaultMessage": "Cash App"
|
||||||
},
|
},
|
||||||
"omorphia.component.purchase_modal.payment_method_type.diners": {
|
|
||||||
"defaultMessage": "Diners Club"
|
|
||||||
},
|
|
||||||
"omorphia.component.purchase_modal.payment_method_type.discover": {
|
|
||||||
"defaultMessage": "Discover"
|
|
||||||
},
|
|
||||||
"omorphia.component.purchase_modal.payment_method_type.eftpos": {
|
|
||||||
"defaultMessage": "EFTPOS"
|
|
||||||
},
|
|
||||||
"omorphia.component.purchase_modal.payment_method_type.jcb": {
|
|
||||||
"defaultMessage": "JCB"
|
|
||||||
},
|
|
||||||
"omorphia.component.purchase_modal.payment_method_type.mastercard": {
|
|
||||||
"defaultMessage": "MasterCard"
|
|
||||||
},
|
|
||||||
"omorphia.component.purchase_modal.payment_method_type.paypal": {
|
|
||||||
"defaultMessage": "PayPal"
|
|
||||||
},
|
|
||||||
"omorphia.component.purchase_modal.payment_method_type.paypal_international": {
|
|
||||||
"defaultMessage": "PayPal International"
|
|
||||||
},
|
|
||||||
"omorphia.component.purchase_modal.payment_method_type.unionpay": {
|
|
||||||
"defaultMessage": "UnionPay"
|
|
||||||
},
|
|
||||||
"omorphia.component.purchase_modal.payment_method_type.unknown": {
|
|
||||||
"defaultMessage": "Unknown payment method"
|
|
||||||
},
|
|
||||||
"omorphia.component.purchase_modal.payment_method_type.visa": {
|
|
||||||
"defaultMessage": "Visa"
|
|
||||||
},
|
|
||||||
"payment-method.charity": {
|
"payment-method.charity": {
|
||||||
"defaultMessage": "Charity"
|
"defaultMessage": "Charity"
|
||||||
},
|
},
|
||||||
"payment-method.charity-plural": {
|
"payment-method.charity-plural": {
|
||||||
"defaultMessage": "Charities"
|
"defaultMessage": "Charities"
|
||||||
},
|
},
|
||||||
|
"payment-method.diners": {
|
||||||
|
"defaultMessage": "Diners Club"
|
||||||
|
},
|
||||||
|
"payment-method.discover": {
|
||||||
|
"defaultMessage": "Discover"
|
||||||
|
},
|
||||||
|
"payment-method.eftpos": {
|
||||||
|
"defaultMessage": "EFTPOS"
|
||||||
|
},
|
||||||
"payment-method.gift-card": {
|
"payment-method.gift-card": {
|
||||||
"defaultMessage": "Gift card"
|
"defaultMessage": "Gift card"
|
||||||
},
|
},
|
||||||
"payment-method.gift-card-plural": {
|
"payment-method.gift-card-plural": {
|
||||||
"defaultMessage": "Gift cards"
|
"defaultMessage": "Gift cards"
|
||||||
},
|
},
|
||||||
|
"payment-method.jcb": {
|
||||||
|
"defaultMessage": "JCB"
|
||||||
|
},
|
||||||
|
"payment-method.mastercard": {
|
||||||
|
"defaultMessage": "MasterCard"
|
||||||
|
},
|
||||||
|
"payment-method.paypal": {
|
||||||
|
"defaultMessage": "PayPal"
|
||||||
|
},
|
||||||
|
"payment-method.paypal_international": {
|
||||||
|
"defaultMessage": "PayPal International"
|
||||||
|
},
|
||||||
|
"payment-method.unionpay": {
|
||||||
|
"defaultMessage": "UnionPay"
|
||||||
|
},
|
||||||
|
"payment-method.unknown": {
|
||||||
|
"defaultMessage": "Unknown payment method"
|
||||||
|
},
|
||||||
"payment-method.venmo": {
|
"payment-method.venmo": {
|
||||||
"defaultMessage": "Venmo"
|
"defaultMessage": "Venmo"
|
||||||
},
|
},
|
||||||
@@ -533,6 +569,9 @@
|
|||||||
"payment-method.virtual-visa-plural": {
|
"payment-method.virtual-visa-plural": {
|
||||||
"defaultMessage": "Virtual Visas"
|
"defaultMessage": "Virtual Visas"
|
||||||
},
|
},
|
||||||
|
"payment-method.visa": {
|
||||||
|
"defaultMessage": "Visa"
|
||||||
|
},
|
||||||
"project-type.all": {
|
"project-type.all": {
|
||||||
"defaultMessage": "All"
|
"defaultMessage": "All"
|
||||||
},
|
},
|
||||||
@@ -653,9 +692,6 @@
|
|||||||
"project.about.details.submitted": {
|
"project.about.details.submitted": {
|
||||||
"defaultMessage": "Submitted {date}"
|
"defaultMessage": "Submitted {date}"
|
||||||
},
|
},
|
||||||
"project.about.details.title": {
|
|
||||||
"defaultMessage": "Details"
|
|
||||||
},
|
|
||||||
"project.about.details.updated": {
|
"project.about.details.updated": {
|
||||||
"defaultMessage": "Updated {date}"
|
"defaultMessage": "Updated {date}"
|
||||||
},
|
},
|
||||||
@@ -1022,9 +1058,6 @@
|
|||||||
"servers.backups.item.restoring-backup": {
|
"servers.backups.item.restoring-backup": {
|
||||||
"defaultMessage": "Restoring from backup..."
|
"defaultMessage": "Restoring from backup..."
|
||||||
},
|
},
|
||||||
"servers.backups.item.retry": {
|
|
||||||
"defaultMessage": "Retry"
|
|
||||||
},
|
|
||||||
"servers.notice.dismiss": {
|
"servers.notice.dismiss": {
|
||||||
"defaultMessage": "Dismiss"
|
"defaultMessage": "Dismiss"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
import { defineMessages } from '../composables/i18n'
|
import { defineMessages } from '../composables/i18n'
|
||||||
|
|
||||||
export const commonMessages = defineMessages({
|
export const commonMessages = defineMessages({
|
||||||
|
acceptButton: {
|
||||||
|
id: 'button.accept',
|
||||||
|
defaultMessage: 'Accept',
|
||||||
|
},
|
||||||
affiliateLinksButton: {
|
affiliateLinksButton: {
|
||||||
id: 'button.affiliate-links',
|
id: 'button.affiliate-links',
|
||||||
defaultMessage: 'Affiliate links',
|
defaultMessage: 'Affiliate links',
|
||||||
@@ -45,6 +49,10 @@ export const commonMessages = defineMessages({
|
|||||||
id: 'label.collections',
|
id: 'label.collections',
|
||||||
defaultMessage: 'Collections',
|
defaultMessage: 'Collections',
|
||||||
},
|
},
|
||||||
|
confirmPasswordLabel: {
|
||||||
|
id: 'label.confirm-password',
|
||||||
|
defaultMessage: 'Confirm password',
|
||||||
|
},
|
||||||
continueButton: {
|
continueButton: {
|
||||||
id: 'button.continue',
|
id: 'button.continue',
|
||||||
defaultMessage: 'Continue',
|
defaultMessage: 'Continue',
|
||||||
@@ -73,6 +81,10 @@ export const commonMessages = defineMessages({
|
|||||||
id: 'tooltip.date-at-time',
|
id: 'tooltip.date-at-time',
|
||||||
defaultMessage: '{date, date, long} at {time, time, short}',
|
defaultMessage: '{date, date, long} at {time, time, short}',
|
||||||
},
|
},
|
||||||
|
declineButton: {
|
||||||
|
id: 'button.decline',
|
||||||
|
defaultMessage: 'Decline',
|
||||||
|
},
|
||||||
deleteLabel: {
|
deleteLabel: {
|
||||||
id: 'label.delete',
|
id: 'label.delete',
|
||||||
defaultMessage: 'Delete',
|
defaultMessage: 'Delete',
|
||||||
@@ -81,6 +93,10 @@ export const commonMessages = defineMessages({
|
|||||||
id: 'label.description',
|
id: 'label.description',
|
||||||
defaultMessage: 'Description',
|
defaultMessage: 'Description',
|
||||||
},
|
},
|
||||||
|
detailsLabel: {
|
||||||
|
id: 'label.details',
|
||||||
|
defaultMessage: 'Details',
|
||||||
|
},
|
||||||
downloadButton: {
|
downloadButton: {
|
||||||
id: 'button.download',
|
id: 'button.download',
|
||||||
defaultMessage: 'Download',
|
defaultMessage: 'Download',
|
||||||
@@ -93,6 +109,14 @@ export const commonMessages = defineMessages({
|
|||||||
id: 'button.edit',
|
id: 'button.edit',
|
||||||
defaultMessage: 'Edit',
|
defaultMessage: 'Edit',
|
||||||
},
|
},
|
||||||
|
emailLabel: {
|
||||||
|
id: 'label.email',
|
||||||
|
defaultMessage: 'Email',
|
||||||
|
},
|
||||||
|
emailUsernameLabel: {
|
||||||
|
id: 'label.email-username',
|
||||||
|
defaultMessage: 'Email or username',
|
||||||
|
},
|
||||||
errorLabel: {
|
errorLabel: {
|
||||||
id: 'label.error',
|
id: 'label.error',
|
||||||
defaultMessage: 'Error',
|
defaultMessage: 'Error',
|
||||||
@@ -101,6 +125,10 @@ export const commonMessages = defineMessages({
|
|||||||
id: 'notification.error.title',
|
id: 'notification.error.title',
|
||||||
defaultMessage: 'An error occurred',
|
defaultMessage: 'An error occurred',
|
||||||
},
|
},
|
||||||
|
filterByLabel: {
|
||||||
|
id: 'label.filter-by',
|
||||||
|
defaultMessage: 'Filter by',
|
||||||
|
},
|
||||||
followButton: {
|
followButton: {
|
||||||
id: 'button.follow',
|
id: 'button.follow',
|
||||||
defaultMessage: 'Follow',
|
defaultMessage: 'Follow',
|
||||||
@@ -125,6 +153,10 @@ export const commonMessages = defineMessages({
|
|||||||
id: 'label.loading',
|
id: 'label.loading',
|
||||||
defaultMessage: 'Loading...',
|
defaultMessage: 'Loading...',
|
||||||
},
|
},
|
||||||
|
maxButton: {
|
||||||
|
id: 'button.max',
|
||||||
|
defaultMessage: 'Max',
|
||||||
|
},
|
||||||
moderationLabel: {
|
moderationLabel: {
|
||||||
id: 'label.moderation',
|
id: 'label.moderation',
|
||||||
defaultMessage: 'Moderation',
|
defaultMessage: 'Moderation',
|
||||||
@@ -141,6 +173,10 @@ export const commonMessages = defineMessages({
|
|||||||
id: 'button.next',
|
id: 'button.next',
|
||||||
defaultMessage: 'Next',
|
defaultMessage: 'Next',
|
||||||
},
|
},
|
||||||
|
noLabel: {
|
||||||
|
id: 'label.no',
|
||||||
|
defaultMessage: 'No',
|
||||||
|
},
|
||||||
notificationsLabel: {
|
notificationsLabel: {
|
||||||
id: 'label.notifications',
|
id: 'label.notifications',
|
||||||
defaultMessage: 'Notifications',
|
defaultMessage: 'Notifications',
|
||||||
@@ -157,10 +193,6 @@ export const commonMessages = defineMessages({
|
|||||||
id: 'label.password',
|
id: 'label.password',
|
||||||
defaultMessage: 'Password',
|
defaultMessage: 'Password',
|
||||||
},
|
},
|
||||||
paymentMethodCardDisplay: {
|
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_card_display',
|
|
||||||
defaultMessage: '{card_brand} ending in {last_four}',
|
|
||||||
},
|
|
||||||
playButton: {
|
playButton: {
|
||||||
id: 'button.play',
|
id: 'button.play',
|
||||||
defaultMessage: 'Play',
|
defaultMessage: 'Play',
|
||||||
@@ -170,7 +202,7 @@ export const commonMessages = defineMessages({
|
|||||||
defaultMessage: 'Played {time}',
|
defaultMessage: 'Played {time}',
|
||||||
},
|
},
|
||||||
privateLabel: {
|
privateLabel: {
|
||||||
id: 'collection.label.private',
|
id: 'collections.label.private',
|
||||||
defaultMessage: 'Private',
|
defaultMessage: 'Private',
|
||||||
},
|
},
|
||||||
publicLabel: {
|
publicLabel: {
|
||||||
@@ -201,6 +233,10 @@ export const commonMessages = defineMessages({
|
|||||||
id: 'button.reset',
|
id: 'button.reset',
|
||||||
defaultMessage: 'Reset',
|
defaultMessage: 'Reset',
|
||||||
},
|
},
|
||||||
|
retryButton: {
|
||||||
|
id: 'button.retry',
|
||||||
|
defaultMessage: 'Retry',
|
||||||
|
},
|
||||||
saveButton: {
|
saveButton: {
|
||||||
id: 'button.save',
|
id: 'button.save',
|
||||||
defaultMessage: 'Save',
|
defaultMessage: 'Save',
|
||||||
@@ -221,6 +257,10 @@ export const commonMessages = defineMessages({
|
|||||||
id: 'label.scopes',
|
id: 'label.scopes',
|
||||||
defaultMessage: 'Scopes',
|
defaultMessage: 'Scopes',
|
||||||
},
|
},
|
||||||
|
searchLabel: {
|
||||||
|
id: 'label.search',
|
||||||
|
defaultMessage: 'Search',
|
||||||
|
},
|
||||||
searchPlaceholder: {
|
searchPlaceholder: {
|
||||||
id: 'input.search.placeholder',
|
id: 'input.search.placeholder',
|
||||||
defaultMessage: 'Search...',
|
defaultMessage: 'Search...',
|
||||||
@@ -253,10 +293,18 @@ export const commonMessages = defineMessages({
|
|||||||
id: 'label.singleplayer',
|
id: 'label.singleplayer',
|
||||||
defaultMessage: 'Singleplayer',
|
defaultMessage: 'Singleplayer',
|
||||||
},
|
},
|
||||||
|
sortByLabel: {
|
||||||
|
id: 'label.sort-by',
|
||||||
|
defaultMessage: 'Sort by',
|
||||||
|
},
|
||||||
stopButton: {
|
stopButton: {
|
||||||
id: 'button.stop',
|
id: 'button.stop',
|
||||||
defaultMessage: 'Stop',
|
defaultMessage: 'Stop',
|
||||||
},
|
},
|
||||||
|
successLabel: {
|
||||||
|
id: 'label.success',
|
||||||
|
defaultMessage: 'Success',
|
||||||
|
},
|
||||||
titleLabel: {
|
titleLabel: {
|
||||||
id: 'label.title',
|
id: 'label.title',
|
||||||
defaultMessage: 'Title',
|
defaultMessage: 'Title',
|
||||||
@@ -273,6 +321,10 @@ export const commonMessages = defineMessages({
|
|||||||
id: 'button.upload-image',
|
id: 'button.upload-image',
|
||||||
defaultMessage: 'Upload image',
|
defaultMessage: 'Upload image',
|
||||||
},
|
},
|
||||||
|
usernameLabel: {
|
||||||
|
id: 'label.username',
|
||||||
|
defaultMessage: 'Username',
|
||||||
|
},
|
||||||
visibilityLabel: {
|
visibilityLabel: {
|
||||||
id: 'label.visibility',
|
id: 'label.visibility',
|
||||||
defaultMessage: 'Visibility',
|
defaultMessage: 'Visibility',
|
||||||
@@ -281,9 +333,9 @@ export const commonMessages = defineMessages({
|
|||||||
id: 'label.visit-your-profile',
|
id: 'label.visit-your-profile',
|
||||||
defaultMessage: 'Visit your profile',
|
defaultMessage: 'Visit your profile',
|
||||||
},
|
},
|
||||||
maxButton: {
|
yesLabel: {
|
||||||
id: 'button.max',
|
id: 'label.yes',
|
||||||
defaultMessage: 'Max',
|
defaultMessage: 'Yes',
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -654,60 +706,64 @@ export const languageSelectorMessages = defineMessages({
|
|||||||
})
|
})
|
||||||
|
|
||||||
export const paymentMethodMessages = defineMessages({
|
export const paymentMethodMessages = defineMessages({
|
||||||
|
paymentMethodCardDisplay: {
|
||||||
|
id: 'payment-method.card_display',
|
||||||
|
defaultMessage: '{card_brand} ending in {last_four}',
|
||||||
|
},
|
||||||
amazon_pay: {
|
amazon_pay: {
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.amazon_pay',
|
id: 'payment-method.amazon_pay',
|
||||||
defaultMessage: 'Amazon Pay',
|
defaultMessage: 'Amazon Pay',
|
||||||
},
|
},
|
||||||
amex: {
|
amex: {
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.amex',
|
id: 'payment-method.amex',
|
||||||
defaultMessage: 'American Express',
|
defaultMessage: 'American Express',
|
||||||
},
|
},
|
||||||
cashapp: {
|
cashapp: {
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.cashapp',
|
id: 'payment-method.cashapp',
|
||||||
defaultMessage: 'Cash App',
|
defaultMessage: 'Cash App',
|
||||||
},
|
},
|
||||||
diners: {
|
diners: {
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.diners',
|
id: 'payment-method.diners',
|
||||||
defaultMessage: 'Diners Club',
|
defaultMessage: 'Diners Club',
|
||||||
},
|
},
|
||||||
discover: {
|
discover: {
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.discover',
|
id: 'payment-method.discover',
|
||||||
defaultMessage: 'Discover',
|
defaultMessage: 'Discover',
|
||||||
},
|
},
|
||||||
eftpos: {
|
eftpos: {
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.eftpos',
|
id: 'payment-method.eftpos',
|
||||||
defaultMessage: 'EFTPOS',
|
defaultMessage: 'EFTPOS',
|
||||||
},
|
},
|
||||||
jcb: {
|
jcb: {
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.jcb',
|
id: 'payment-method.jcb',
|
||||||
defaultMessage: 'JCB',
|
defaultMessage: 'JCB',
|
||||||
},
|
},
|
||||||
mastercard: {
|
mastercard: {
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.mastercard',
|
id: 'payment-method.mastercard',
|
||||||
defaultMessage: 'MasterCard',
|
defaultMessage: 'MasterCard',
|
||||||
},
|
},
|
||||||
paypal: {
|
paypal: {
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.paypal',
|
id: 'payment-method.paypal',
|
||||||
defaultMessage: 'PayPal',
|
defaultMessage: 'PayPal',
|
||||||
},
|
},
|
||||||
paypalInternational: {
|
paypalInternational: {
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.paypal_international',
|
id: 'payment-method.paypal_international',
|
||||||
defaultMessage: 'PayPal International',
|
defaultMessage: 'PayPal International',
|
||||||
},
|
},
|
||||||
paypalUS: {
|
paypalUS: {
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.paypal',
|
id: 'payment-method.paypal',
|
||||||
defaultMessage: 'PayPal',
|
defaultMessage: 'PayPal',
|
||||||
},
|
},
|
||||||
unionpay: {
|
unionpay: {
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.unionpay',
|
id: 'payment-method.unionpay',
|
||||||
defaultMessage: 'UnionPay',
|
defaultMessage: 'UnionPay',
|
||||||
},
|
},
|
||||||
unknown: {
|
unknown: {
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.unknown',
|
id: 'payment-method.unknown',
|
||||||
defaultMessage: 'Unknown payment method',
|
defaultMessage: 'Unknown payment method',
|
||||||
},
|
},
|
||||||
visa: {
|
visa: {
|
||||||
id: 'omorphia.component.purchase_modal.payment_method_type.visa',
|
id: 'payment-method.visa',
|
||||||
defaultMessage: 'Visa',
|
defaultMessage: 'Visa',
|
||||||
},
|
},
|
||||||
venmo: {
|
venmo: {
|
||||||
|
|||||||
Reference in New Issue
Block a user