151 lines
7.7 KiB
TypeScript
151 lines
7.7 KiB
TypeScript
import type { PrivacyLevel, ImportStatus } from '~/types'
|
|
import type { ScopeId } from '~/composables/auth/useScopes'
|
|
|
|
import { i18n } from '~/init/locale'
|
|
|
|
const { t } = i18n.global
|
|
|
|
export default () => ({
|
|
fields: {
|
|
privacy_level: {
|
|
label: t('composables.locale.useSharedLabels.fields.privacyLevel.label'),
|
|
help: t('composables.locale.useSharedLabels.fields.privacyLevel.help'),
|
|
choices: {
|
|
me: t('composables.locale.useSharedLabels.fields.privacyLevel.choices.private'),
|
|
instance: t('composables.locale.useSharedLabels.fields.privacyLevel.choices.instance'),
|
|
everyone: t('composables.locale.useSharedLabels.fields.privacyLevel.choices.public')
|
|
} as Record<PrivacyLevel, string>,
|
|
shortChoices: {
|
|
me: t('composables.locale.useSharedLabels.fields.privacyLevel.shortChoices.private'),
|
|
instance: t('composables.locale.useSharedLabels.fields.privacyLevel.shortChoices.instance'),
|
|
everyone: t('composables.locale.useSharedLabels.fields.privacyLevel.shortChoices.public')
|
|
} as Record<PrivacyLevel, string>
|
|
},
|
|
import_status: {
|
|
label: t('composables.locale.useSharedLabels.fields.importStatus.label'),
|
|
choices: {
|
|
skipped: {
|
|
label: t('composables.locale.useSharedLabels.fields.importStatus.choices.skipped.label'),
|
|
help: t('composables.locale.useSharedLabels.fields.importStatus.choices.skipped.help')
|
|
},
|
|
draft: {
|
|
label: t('composables.locale.useSharedLabels.fields.importStatus.choices.draft.label'),
|
|
help: t('composables.locale.useSharedLabels.fields.importStatus.choices.draft.help')
|
|
},
|
|
pending: {
|
|
label: t('composables.locale.useSharedLabels.fields.importStatus.choices.pending.label'),
|
|
help: t('composables.locale.useSharedLabels.fields.importStatus.choices.pending.help')
|
|
},
|
|
errored: {
|
|
label: t('composables.locale.useSharedLabels.fields.importStatus.choices.errored.label'),
|
|
help: t('composables.locale.useSharedLabels.fields.importStatus.choices.errored.help')
|
|
},
|
|
finished: {
|
|
label: t('composables.locale.useSharedLabels.fields.importStatus.choices.finished.label'),
|
|
help: t('composables.locale.useSharedLabels.fields.importStatus.choices.finished.help')
|
|
}
|
|
} as Record<ImportStatus, { label: string, help: string }>
|
|
},
|
|
report_type: {
|
|
label: t('composables.locale.useSharedLabels.fields.reportType.label'),
|
|
choices: {
|
|
takedown_request: t('composables.locale.useSharedLabels.fields.reportType.choices.takedownRequest'),
|
|
invalid_metadata: t('composables.locale.useSharedLabels.fields.reportType.choices.invalidMetadata'),
|
|
illegal_content: t('composables.locale.useSharedLabels.fields.reportType.choices.illegalContent'),
|
|
offensive_content: t('composables.locale.useSharedLabels.fields.reportType.choices.offensiveContent'),
|
|
other: t('composables.locale.useSharedLabels.fields.reportType.choices.other')
|
|
}
|
|
},
|
|
summary: {
|
|
label: t('composables.locale.useSharedLabels.fields.summary.label'),
|
|
help: undefined
|
|
},
|
|
content_category: {
|
|
label: t('composables.locale.useSharedLabels.fields.contentCategory.label'),
|
|
choices: {
|
|
podcast: t('composables.locale.useSharedLabels.fields.contentCategory.choices.podcast'),
|
|
music: t('composables.locale.useSharedLabels.fields.contentCategory.choices.music'),
|
|
other: t('composables.locale.useSharedLabels.fields.contentCategory.choices.other')
|
|
}
|
|
}
|
|
},
|
|
filters: {
|
|
creation_date: t('composables.locale.useSharedLabels.filters.creationDate'),
|
|
release_date: t('composables.locale.useSharedLabels.filters.releaseDate'),
|
|
accessed_date: t('composables.locale.useSharedLabels.filters.accessedDate'),
|
|
applied_date: t('composables.locale.useSharedLabels.filters.appliedDate'),
|
|
handled_date: t('composables.locale.useSharedLabels.filters.handledDate'),
|
|
first_seen: t('composables.locale.useSharedLabels.filters.firstSeen'),
|
|
last_seen: t('composables.locale.useSharedLabels.filters.lastSeen'),
|
|
modification_date: t('composables.locale.useSharedLabels.filters.modificationDate'),
|
|
expiration_date: t('composables.locale.useSharedLabels.filters.expirationDate'),
|
|
track_title: t('composables.locale.useSharedLabels.filters.trackTitle'),
|
|
album_title: t('composables.locale.useSharedLabels.filters.albumTitle'),
|
|
artist_name: t('composables.locale.useSharedLabels.filters.artistName'),
|
|
name: t('composables.locale.useSharedLabels.filters.name'),
|
|
length: t('composables.locale.useSharedLabels.filters.duration'),
|
|
items_count: t('composables.locale.useSharedLabels.filters.itemsCount'),
|
|
size: t('composables.locale.useSharedLabels.filters.size'),
|
|
bitrate: t('composables.locale.useSharedLabels.filters.bitrate'),
|
|
duration: t('composables.locale.useSharedLabels.filters.duration'),
|
|
date_joined: t('composables.locale.useSharedLabels.filters.dateJoined'),
|
|
last_activity: t('composables.locale.useSharedLabels.filters.lastActivity'),
|
|
username: t('composables.locale.useSharedLabels.filters.username'),
|
|
domain: t('composables.locale.useSharedLabels.filters.domain'),
|
|
users: t('composables.locale.useSharedLabels.filters.users'),
|
|
received_messages: t('composables.locale.useSharedLabels.filters.receivedMessages'),
|
|
uploads: t('composables.locale.useSharedLabels.filters.uploads'),
|
|
followers: t('composables.locale.useSharedLabels.filters.followers')
|
|
},
|
|
scopes: {
|
|
profile: {
|
|
label: t('composables.locale.useSharedLabels.scopes.profile.label'),
|
|
description: t('composables.locale.useSharedLabels.scopes.profile.description')
|
|
},
|
|
libraries: {
|
|
label: t('composables.locale.useSharedLabels.scopes.libraries.label'),
|
|
description: t('composables.locale.useSharedLabels.scopes.libraries.description')
|
|
},
|
|
favorites: {
|
|
label: t('composables.locale.useSharedLabels.scopes.favorites.label'),
|
|
description: t('composables.locale.useSharedLabels.scopes.favorites.description')
|
|
},
|
|
listenings: {
|
|
label: t('composables.locale.useSharedLabels.scopes.listenings.label'),
|
|
description: t('composables.locale.useSharedLabels.scopes.listenings.description')
|
|
},
|
|
follows: {
|
|
label: t('composables.locale.useSharedLabels.scopes.follows.label'),
|
|
description: t('composables.locale.useSharedLabels.scopes.follows.description')
|
|
},
|
|
playlists: {
|
|
label: t('composables.locale.useSharedLabels.scopes.playlists.label'),
|
|
description: t('composables.locale.useSharedLabels.scopes.playlists.description')
|
|
},
|
|
radios: {
|
|
label: t('composables.locale.useSharedLabels.scopes.radios.label'),
|
|
description: t('composables.locale.useSharedLabels.scopes.radios.description')
|
|
},
|
|
filters: {
|
|
label: t('composables.locale.useSharedLabels.scopes.filters.label'),
|
|
description: t('composables.locale.useSharedLabels.scopes.filters.description')
|
|
},
|
|
notifications: {
|
|
label: t('composables.locale.useSharedLabels.scopes.notifications.label'),
|
|
description: t('composables.locale.useSharedLabels.scopes.notifications.description')
|
|
},
|
|
edits: {
|
|
label: t('composables.locale.useSharedLabels.scopes.edits.label'),
|
|
description: t('composables.locale.useSharedLabels.scopes.edits.description')
|
|
},
|
|
security: {
|
|
label: t('composables.locale.useSharedLabels.scopes.security.label'),
|
|
description: t('composables.locale.useSharedLabels.scopes.security.description')
|
|
},
|
|
reports: {
|
|
label: t('composables.locale.useSharedLabels.scopes.reports.label'),
|
|
description: t('composables.locale.useSharedLabels.scopes.reports.description')
|
|
}
|
|
} as Record<ScopeId, { label: string, description: string }>
|
|
})
|