diff --git a/front/src/components/Sidebar.vue b/front/src/components/Sidebar.vue index 73f021241..4635836af 100644 --- a/front/src/components/Sidebar.vue +++ b/front/src/components/Sidebar.vue @@ -522,7 +522,7 @@ export default { languageSelection: this.$language.current } }, - destroy () { + unmount () { if (this.fetchInterval) { clearInterval(this.fetchInterval) } diff --git a/front/src/components/common/ActionFeedback.vue b/front/src/components/common/ActionFeedback.vue index e2a343f64..86846b51b 100644 --- a/front/src/components/common/ActionFeedback.vue +++ b/front/src/components/common/ActionFeedback.vue @@ -1,3 +1,23 @@ + + - - diff --git a/front/src/components/library/FileUpload.vue b/front/src/components/library/FileUpload.vue index 7fa0b63a4..af38f8bf0 100644 --- a/front/src/components/library/FileUpload.vue +++ b/front/src/components/library/FileUpload.vue @@ -500,7 +500,7 @@ export default { }) window.onbeforeunload = e => this.onBeforeUnload(e) }, - destroyed () { + unmounted () { this.$store.commit('ui/removeWebsocketEventHandler', { eventName: 'import.status_updated', id: 'fileUpload' diff --git a/front/src/components/semantic/Modal.vue b/front/src/components/semantic/Modal.vue index b1837b759..2ace30af2 100644 --- a/front/src/components/semantic/Modal.vue +++ b/front/src/components/semantic/Modal.vue @@ -54,7 +54,7 @@ export default { mounted () { this.focusTrap = createFocusTrap(this.$el) }, - beforeDestroy () { + beforeUnmount () { if (this.control) { $(this.$el).modal('hide') } diff --git a/front/src/main.ts b/front/src/main.ts index 8511f3a15..110bc6f2c 100644 --- a/front/src/main.ts +++ b/front/src/main.ts @@ -1,6 +1,6 @@ import router from '~/router' import store from '~/store' -import { createApp } from 'vue' +import { createApp, defineAsyncComponent } from 'vue' import useLogger from '~/composables/useLogger' import useTheme from '~/composables/useTheme' useTheme() @@ -11,7 +11,7 @@ logger.debug('Environment variables:', import.meta.env) const app = createApp({ components: { - App: () => import('~/App.vue') + App: defineAsyncComponent(() => import('~/App.vue')) }, data: () => ({ isMounted: false }), async mounted () { diff --git a/front/src/store/queue.js b/front/src/store/queue.js index 869f6f031..618dd2237 100644 --- a/front/src/store/queue.js +++ b/front/src/store/queue.js @@ -150,17 +150,17 @@ export default { dispatch('radios/populateQueue', null, { root: true }) } }, - clean ({ dispatch, commit }) { + clean ({ dispatch, commit, state }) { dispatch('radios/stop', null, { root: true }) dispatch('player/stop', null, { root: true }) - commit('tracks', []) + state.tracks.length = 0 dispatch('currentIndex', -1) // so we replay automatically on next track append commit('ended', true) }, - async shuffle ({ dispatch, commit, state }, callback) { + async shuffle ({ dispatch, state }, callback) { const shuffled = shuffle(state.tracks) - commit('tracks', []) + state.tracks.length = 0 const params = { tracks: shuffled } if (callback) { params.callback = callback diff --git a/front/src/views/Notifications.vue b/front/src/views/Notifications.vue index d1ca91c8f..478bc2d3c 100644 --- a/front/src/views/Notifications.vue +++ b/front/src/views/Notifications.vue @@ -263,7 +263,7 @@ export default { handler: this.handleNewNotification }) }, - destroyed () { + unmounted () { this.$store.commit('ui/removeWebsocketEventHandler', { eventName: 'inbox.item_added', id: 'notificationPage' diff --git a/front/src/views/channels/DetailOverview.vue b/front/src/views/channels/DetailOverview.vue index 91c01fe89..938e85f40 100644 --- a/front/src/views/channels/DetailOverview.vue +++ b/front/src/views/channels/DetailOverview.vue @@ -232,7 +232,7 @@ export default { }) } }, - destroyed () { + unmounted () { this.$store.commit('ui/removeWebsocketEventHandler', { eventName: 'import.status_updated', id: 'fileUploadChannel'