diff --git a/front/src/components/audio/track/Modal.vue b/front/src/components/audio/track/Modal.vue index 56228500b..cb18978d1 100644 --- a/front/src/components/audio/track/Modal.vue +++ b/front/src/components/audio/track/Modal.vue @@ -228,7 +228,7 @@ import Modal from '~/components/semantic/Modal.vue' import ReportMixin from '~/components/mixins/Report.vue' import PlayOptionsMixin from '~/components/mixins/PlayOptions.vue' -import { useVModel } from '@vueuse/core/index' +import { useVModel } from '@vueuse/core' export default { components: { diff --git a/front/src/components/auth/ApplicationForm.vue b/front/src/components/auth/ApplicationForm.vue index 059aa3f53..1269c8cdc 100644 --- a/front/src/components/auth/ApplicationForm.vue +++ b/front/src/components/auth/ApplicationForm.vue @@ -121,14 +121,17 @@ + - diff --git a/front/src/components/library/Podcasts.vue b/front/src/components/library/Podcasts.vue index 002394c4d..54121fb23 100644 --- a/front/src/components/library/Podcasts.vue +++ b/front/src/components/library/Podcasts.vue @@ -201,13 +201,13 @@ import $ from 'jquery' import OrderingMixin from '~/components/mixins/Ordering.vue' import PaginationMixin from '~/components/mixins/Pagination.vue' -import TranslationsMixin from '~/components/mixins/Translations.vue' import ArtistCard from '~/components/audio/artist/Card.vue' import Pagination from '~/components/Pagination.vue' import TagsSelector from '~/components/library/TagsSelector.vue' import Modal from '~/components/semantic/Modal.vue' import RemoteSearchForm from '~/components/RemoteSearchForm.vue' import useLogger from '~/composables/useLogger' +import useSharedLabels from '../../composables/useSharedLabels' const logger = useLogger() @@ -221,12 +221,16 @@ export default { RemoteSearchForm, Modal }, - mixins: [OrderingMixin, PaginationMixin, TranslationsMixin], + mixins: [OrderingMixin, PaginationMixin], props: { defaultQuery: { type: String, required: false, default: '' }, defaultTags: { type: Array, required: false, default: () => { return [] } }, scope: { type: String, required: false, default: 'all' } }, + setup () { + const sharedLabels = useSharedLabels() + return { sharedLabels } + }, data () { return { isLoading: true, diff --git a/front/src/components/library/Radios.vue b/front/src/components/library/Radios.vue index df80b6650..2593a5ceb 100644 --- a/front/src/components/library/Radios.vue +++ b/front/src/components/library/Radios.vue @@ -179,10 +179,10 @@ import $ from 'jquery' import OrderingMixin from '~/components/mixins/Ordering.vue' import PaginationMixin from '~/components/mixins/Pagination.vue' -import TranslationsMixin from '~/components/mixins/Translations.vue' import RadioCard from '~/components/radios/Card.vue' import Pagination from '~/components/Pagination.vue' import useLogger from '~/composables/useLogger' +import useSharedLabels from '../../composables/useSharedLabels' const logger = useLogger() @@ -193,11 +193,15 @@ export default { RadioCard, Pagination }, - mixins: [OrderingMixin, PaginationMixin, TranslationsMixin], + mixins: [OrderingMixin, PaginationMixin], props: { defaultQuery: { type: String, required: false, default: '' }, scope: { type: String, required: false, default: 'all' } }, + setup () { + const sharedLabels = useSharedLabels() + return { sharedLabels } + }, data () { return { isLoading: true, diff --git a/front/src/components/library/TagsSelector.vue b/front/src/components/library/TagsSelector.vue index 10e148541..3015a16f5 100644 --- a/front/src/components/library/TagsSelector.vue +++ b/front/src/components/library/TagsSelector.vue @@ -22,9 +22,9 @@ import $ from 'jquery' import { isEqual } from 'lodash-es' export default { - props: { value: { type: Array, required: true } }, + props: { modelValue: { type: Array, required: true } }, watch: { - value: { + modelValue: { handler (v) { const current = $(this.$refs.dropdown).dropdown('get value').split(',').sort() if (!isEqual([...v].sort(), current)) { @@ -44,7 +44,7 @@ export default { const self = this const handleUpdate = () => { const value = $(self.$refs.dropdown).dropdown('get value').split(',') - self.$emit('input', value) + self.$emit('update:modelValue', value) return value } const settings = { @@ -95,7 +95,7 @@ export default { onChange: handleUpdate } $(this.$refs.dropdown).dropdown(settings) - $(this.$refs.dropdown).dropdown('set exactly', this.value) + $(this.$refs.dropdown).dropdown('set exactly', this.modelValue) } } } diff --git a/front/src/components/manage/ChannelsTable.vue b/front/src/components/manage/ChannelsTable.vue index 7dc663fd0..524f294b7 100644 --- a/front/src/components/manage/ChannelsTable.vue +++ b/front/src/components/manage/ChannelsTable.vue @@ -206,18 +206,22 @@ import { normalizeQuery, parseTokens } from '~/search' import Pagination from '~/components/Pagination.vue' import ActionTable from '~/components/common/ActionTable.vue' import OrderingMixin from '~/components/mixins/Ordering.vue' -import TranslationsMixin from '~/components/mixins/Translations.vue' import SmartSearchMixin from '~/components/mixins/SmartSearch.vue' +import useSharedLabels from '../../composables/useSharedLabels' export default { components: { Pagination, ActionTable }, - mixins: [OrderingMixin, TranslationsMixin, SmartSearchMixin], + mixins: [OrderingMixin, SmartSearchMixin], props: { filters: { type: Object, required: false, default: () => { return {} } } }, + setup () { + const sharedLabels = useSharedLabels() + return { sharedLabels } + }, data () { return { time, diff --git a/front/src/components/manage/library/AlbumsTable.vue b/front/src/components/manage/library/AlbumsTable.vue index 23ecf23a5..914d0414b 100644 --- a/front/src/components/manage/library/AlbumsTable.vue +++ b/front/src/components/manage/library/AlbumsTable.vue @@ -191,18 +191,22 @@ import { normalizeQuery, parseTokens } from '~/search' import Pagination from '~/components/Pagination.vue' import ActionTable from '~/components/common/ActionTable.vue' import OrderingMixin from '~/components/mixins/Ordering.vue' -import TranslationsMixin from '~/components/mixins/Translations.vue' import SmartSearchMixin from '~/components/mixins/SmartSearch.vue' +import useSharedLabels from '../../../composables/useSharedLabels' export default { components: { Pagination, ActionTable }, - mixins: [OrderingMixin, TranslationsMixin, SmartSearchMixin], + mixins: [OrderingMixin, SmartSearchMixin], props: { filters: { type: Object, required: false, default: () => { return {} } } }, + setup () { + const sharedLabels = useSharedLabels() + return { sharedLabels } + }, data () { return { time, diff --git a/front/src/components/manage/library/ArtistsTable.vue b/front/src/components/manage/library/ArtistsTable.vue index 3d6a8e295..fdbe729b2 100644 --- a/front/src/components/manage/library/ArtistsTable.vue +++ b/front/src/components/manage/library/ArtistsTable.vue @@ -190,18 +190,22 @@ import { normalizeQuery, parseTokens } from '~/search' import Pagination from '~/components/Pagination.vue' import ActionTable from '~/components/common/ActionTable.vue' import OrderingMixin from '~/components/mixins/Ordering.vue' -import TranslationsMixin from '~/components/mixins/Translations.vue' import SmartSearchMixin from '~/components/mixins/SmartSearch.vue' +import useSharedLabels from '../../../composables/useSharedLabels' export default { components: { Pagination, ActionTable }, - mixins: [OrderingMixin, TranslationsMixin, SmartSearchMixin], + mixins: [OrderingMixin, SmartSearchMixin], props: { filters: { type: Object, required: false, default: () => { return {} } } }, + setup () { + const sharedLabels = useSharedLabels() + return { sharedLabels } + }, data () { return { time, diff --git a/front/src/components/manage/library/EditsCardList.vue b/front/src/components/manage/library/EditsCardList.vue index 28aba1190..b3abcb979 100644 --- a/front/src/components/manage/library/EditsCardList.vue +++ b/front/src/components/manage/library/EditsCardList.vue @@ -135,22 +135,26 @@ import { uniq, merge } from 'lodash-es' import time from '~/utils/time' import Pagination from '~/components/Pagination.vue' import OrderingMixin from '~/components/mixins/Ordering.vue' -import TranslationsMixin from '~/components/mixins/Translations.vue' import EditCard from '~/components/library/EditCard.vue' import { normalizeQuery, parseTokens } from '~/search' import SmartSearchMixin from '~/components/mixins/SmartSearch.vue' import edits from '~/edits' +import useSharedLabels from '../../../composables/useSharedLabels' export default { components: { Pagination, EditCard }, - mixins: [OrderingMixin, TranslationsMixin, SmartSearchMixin], + mixins: [OrderingMixin, SmartSearchMixin], props: { filters: { type: Object, required: false, default: () => { return {} } } }, + setup () { + const sharedLabels = useSharedLabels() + return { sharedLabels } + }, data () { return { time, diff --git a/front/src/components/manage/library/LibrariesTable.vue b/front/src/components/manage/library/LibrariesTable.vue index 838de0d2c..55c1cf241 100644 --- a/front/src/components/manage/library/LibrariesTable.vue +++ b/front/src/components/manage/library/LibrariesTable.vue @@ -221,18 +221,22 @@ import { normalizeQuery, parseTokens } from '~/search' import Pagination from '~/components/Pagination.vue' import ActionTable from '~/components/common/ActionTable.vue' import OrderingMixin from '~/components/mixins/Ordering.vue' -import TranslationsMixin from '~/components/mixins/Translations.vue' import SmartSearchMixin from '~/components/mixins/SmartSearch.vue' +import useSharedLabels from '../../../composables/useSharedLabels' export default { components: { Pagination, ActionTable }, - mixins: [OrderingMixin, TranslationsMixin, SmartSearchMixin], + mixins: [OrderingMixin, SmartSearchMixin], props: { filters: { type: Object, required: false, default: () => { return {} } } }, + setup () { + const sharedLabels = useSharedLabels() + return { sharedLabels } + }, data () { return { time, diff --git a/front/src/components/manage/library/TagsTable.vue b/front/src/components/manage/library/TagsTable.vue index ce4b9824b..e2f3ed821 100644 --- a/front/src/components/manage/library/TagsTable.vue +++ b/front/src/components/manage/library/TagsTable.vue @@ -152,10 +152,10 @@ import { normalizeQuery, parseTokens } from '~/search' import Pagination from '~/components/Pagination.vue' import ActionTable from '~/components/common/ActionTable.vue' import OrderingMixin from '~/components/mixins/Ordering.vue' -import TranslationsMixin from '~/components/mixins/Translations.vue' import SmartSearchMixin from '~/components/mixins/SmartSearch.vue' import ImportStatusModal from '~/components/library/ImportStatusModal.vue' import { truncate } from '~/utils/filters' +import useSharedLabels from '../../../composables/useSharedLabels' export default { components: { @@ -163,12 +163,13 @@ export default { ActionTable, ImportStatusModal }, - mixins: [OrderingMixin, TranslationsMixin, SmartSearchMixin], + mixins: [OrderingMixin, SmartSearchMixin], props: { filters: { type: Object, required: false, default: () => { return {} } } }, setup () { - return { truncate } + const sharedLabels = useSharedLabels() + return { sharedLabels, truncate } }, data () { return { diff --git a/front/src/components/manage/library/TracksTable.vue b/front/src/components/manage/library/TracksTable.vue index d6f6fb174..880417d94 100644 --- a/front/src/components/manage/library/TracksTable.vue +++ b/front/src/components/manage/library/TracksTable.vue @@ -204,18 +204,22 @@ import { normalizeQuery, parseTokens } from '~/search' import Pagination from '~/components/Pagination.vue' import ActionTable from '~/components/common/ActionTable.vue' import OrderingMixin from '~/components/mixins/Ordering.vue' -import TranslationsMixin from '~/components/mixins/Translations.vue' import SmartSearchMixin from '~/components/mixins/SmartSearch.vue' +import useSharedLabels from '../../../composables/useSharedLabels' export default { components: { Pagination, ActionTable }, - mixins: [OrderingMixin, TranslationsMixin, SmartSearchMixin], + mixins: [OrderingMixin, SmartSearchMixin], props: { filters: { type: Object, required: false, default: () => { return {} } } }, + setup () { + const sharedLabels = useSharedLabels() + return { sharedLabels } + }, data () { return { time, diff --git a/front/src/components/manage/library/UploadsTable.vue b/front/src/components/manage/library/UploadsTable.vue index b5a6e44c3..1f5fc7d54 100644 --- a/front/src/components/manage/library/UploadsTable.vue +++ b/front/src/components/manage/library/UploadsTable.vue @@ -313,10 +313,10 @@ import { normalizeQuery, parseTokens } from '~/search' import Pagination from '~/components/Pagination.vue' import ActionTable from '~/components/common/ActionTable.vue' import OrderingMixin from '~/components/mixins/Ordering.vue' -import TranslationsMixin from '~/components/mixins/Translations.vue' import SmartSearchMixin from '~/components/mixins/SmartSearch.vue' import ImportStatusModal from '~/components/library/ImportStatusModal.vue' import { humanSize, truncate } from '~/utils/filters' +import useSharedLabels from '../../../composables/useSharedLabels' export default { components: { @@ -324,12 +324,13 @@ export default { ActionTable, ImportStatusModal }, - mixins: [OrderingMixin, TranslationsMixin, SmartSearchMixin], + mixins: [OrderingMixin, SmartSearchMixin], props: { filters: { type: Object, required: false, default: function () { return {} } } }, setup () { - return { humanSize, truncate } + const sharedLabels = useSharedLabels() + return { sharedLabels, humanSize, truncate } }, data () { return { diff --git a/front/src/components/manage/moderation/AccountsTable.vue b/front/src/components/manage/moderation/AccountsTable.vue index 5992ccaf8..30f9f4dbc 100644 --- a/front/src/components/manage/moderation/AccountsTable.vue +++ b/front/src/components/manage/moderation/AccountsTable.vue @@ -177,18 +177,22 @@ import { normalizeQuery, parseTokens } from '~/search' import Pagination from '~/components/Pagination.vue' import ActionTable from '~/components/common/ActionTable.vue' import OrderingMixin from '~/components/mixins/Ordering.vue' -import TranslationsMixin from '~/components/mixins/Translations.vue' import SmartSearchMixin from '~/components/mixins/SmartSearch.vue' +import useSharedLabels from '../../../composables/useSharedLabels' export default { components: { Pagination, ActionTable }, - mixins: [OrderingMixin, TranslationsMixin, SmartSearchMixin], + mixins: [OrderingMixin, SmartSearchMixin], props: { filters: { type: Object, required: false, default: function () { return {} } } }, + setup () { + const sharedLabels = useSharedLabels() + return { sharedLabels } + }, data () { return { time, diff --git a/front/src/components/manage/moderation/DomainsTable.vue b/front/src/components/manage/moderation/DomainsTable.vue index 46c793949..9669d56ef 100644 --- a/front/src/components/manage/moderation/DomainsTable.vue +++ b/front/src/components/manage/moderation/DomainsTable.vue @@ -187,18 +187,22 @@ import time from '~/utils/time' import Pagination from '~/components/Pagination.vue' import ActionTable from '~/components/common/ActionTable.vue' import OrderingMixin from '~/components/mixins/Ordering.vue' -import TranslationsMixin from '~/components/mixins/Translations.vue' +import useSharedLabels from '../../../composables/useSharedLabels' export default { components: { Pagination, ActionTable }, - mixins: [OrderingMixin, TranslationsMixin], + mixins: [OrderingMixin], props: { filters: { type: Object, required: false, default: function () { return {} } }, allowListEnabled: { type: Boolean, default: false } }, + setup () { + const sharedLabels = useSharedLabels() + return { sharedLabels } + }, data () { return { time, diff --git a/front/src/components/manage/moderation/ReportCard.vue b/front/src/components/manage/moderation/ReportCard.vue index a01dc88ae..15391a8ab 100644 --- a/front/src/components/manage/moderation/ReportCard.vue +++ b/front/src/components/manage/moderation/ReportCard.vue @@ -47,8 +47,8 @@ diff --git a/front/src/components/manage/users/InvitationsTable.vue b/front/src/components/manage/users/InvitationsTable.vue index cdb7e4992..1bbc877ca 100644 --- a/front/src/components/manage/users/InvitationsTable.vue +++ b/front/src/components/manage/users/InvitationsTable.vue @@ -161,17 +161,21 @@ import { merge } from 'lodash-es' import Pagination from '~/components/Pagination.vue' import ActionTable from '~/components/common/ActionTable.vue' import OrderingMixin from '~/components/mixins/Ordering.vue' -import TranslationsMixin from '~/components/mixins/Translations.vue' +import useSharedLabels from '../../../composables/useSharedLabels' export default { components: { Pagination, ActionTable }, - mixins: [OrderingMixin, TranslationsMixin], + mixins: [OrderingMixin], props: { filters: { type: Object, required: false, default: function () { return {} } } }, + setup () { + const sharedLabels = useSharedLabels() + return { sharedLabels } + }, data () { return { moment, diff --git a/front/src/components/manage/users/UsersTable.vue b/front/src/components/manage/users/UsersTable.vue index fac5bde43..ac5db61ea 100644 --- a/front/src/components/manage/users/UsersTable.vue +++ b/front/src/components/manage/users/UsersTable.vue @@ -204,17 +204,21 @@ import time from '~/utils/time' import Pagination from '~/components/Pagination.vue' import ActionTable from '~/components/common/ActionTable.vue' import OrderingMixin from '~/components/mixins/Ordering.vue' -import TranslationsMixin from '~/components/mixins/Translations.vue' +import useSharedLabels from '../../../composables/useSharedLabels' export default { components: { Pagination, ActionTable }, - mixins: [OrderingMixin, TranslationsMixin], + mixins: [OrderingMixin], props: { filters: { type: Object, required: false, default: function () { return {} } } }, + setup () { + const sharedLabels = useSharedLabels() + return { sharedLabels } + }, data () { return { time, diff --git a/front/src/components/mixins/Translations.vue b/front/src/components/mixins/Translations.vue deleted file mode 100644 index 4380ae6ee..000000000 --- a/front/src/components/mixins/Translations.vue +++ /dev/null @@ -1,148 +0,0 @@ - diff --git a/front/src/components/moderation/ReportCategoryDropdown.vue b/front/src/components/moderation/ReportCategoryDropdown.vue index 0b5ef81af..3c9c30621 100644 --- a/front/src/components/moderation/ReportCategoryDropdown.vue +++ b/front/src/components/moderation/ReportCategoryDropdown.vue @@ -1,11 +1,65 @@ + + - - diff --git a/front/src/components/playlists/Form.vue b/front/src/components/playlists/Form.vue index d11e31f9c..cde454b9d 100644 --- a/front/src/components/playlists/Form.vue +++ b/front/src/components/playlists/Form.vue @@ -100,18 +100,21 @@