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'