diff --git a/front/package.json b/front/package.json
index 400f93cd3..35b619b30 100644
--- a/front/package.json
+++ b/front/package.json
@@ -19,8 +19,8 @@
},
"dependencies": {
"@vue/runtime-core": "^3.2.37",
- "@vueuse/core": "8.7.5",
- "@vueuse/integrations": "8.7.5",
+ "@vueuse/core": "8.9.1",
+ "@vueuse/integrations": "8.9.1",
"axios": "0.27.2",
"axios-auth-refresh": "3.3.1",
"diff": "5.1.0",
@@ -30,7 +30,7 @@
"howler": "2.2.3",
"js-logger": "1.6.1",
"lodash-es": "4.17.21",
- "moment": "2.29.3",
+ "moment": "2.29.4",
"pinia": "^2.0.13",
"qs": "6.11.0",
"register-service-worker": "1.7.2",
@@ -41,11 +41,11 @@
"vue": "3.2.37",
"vue-gettext": "2.1.12",
"vue-plyr": "7.0.0",
- "vue-router": "4.0.16",
- "vue-tsc": "0.38.2",
+ "vue-router": "4.1.1",
+ "vue-tsc": "0.38.3",
"vue-upload-component": "3.1.2",
"vue3-gettext": "2.3.0",
- "vue3-lazyload": "0.3.4",
+ "vue3-lazyload": "0.3.5",
"vuedraggable": "4.1.0",
"vuex": "4.0.2",
"vuex-persistedstate": "4.1.0",
@@ -54,34 +54,34 @@
"devDependencies": {
"@types/dompurify": "^2.3.3",
"@types/howler": "^2.2.7",
- "@types/jest": "28.1.3",
+ "@types/jest": "28.1.4",
"@types/jquery": "3.5.14",
"@types/lodash-es": "4.17.6",
"@types/qs": "6.9.7",
"@types/showdown": "^2.0.0",
- "@typescript-eslint/eslint-plugin": "5.30.0",
+ "@typescript-eslint/eslint-plugin": "5.30.5",
"@vitejs/plugin-vue": "2.3.3",
"@vue/compiler-sfc": "3.2.37",
"@vue/eslint-config-standard": "7.0.0",
"@vue/eslint-config-typescript": "11.0.0",
- "@vue/test-utils": "2.0.0",
+ "@vue/test-utils": "2.0.2",
"@vue/tsconfig": "^0.1.3",
"chai": "4.3.6",
"easygettext": "2.17.0",
- "eslint": "8.18.0",
+ "eslint": "8.19.0",
"eslint-config-standard": "17.0.0",
"eslint-plugin-html": "6.2.0",
"eslint-plugin-import": "2.26.0",
"eslint-plugin-node": "11.1.0",
"eslint-plugin-promise": "6.0.0",
- "eslint-plugin-vue": "9.1.1",
+ "eslint-plugin-vue": "9.2.0",
"jest-cli": "28.1.2",
"moxios": "0.4.0",
"sinon": "14.0.0",
"ts-jest": "28.0.5",
"typescript": "4.7.4",
- "vite": "2.9.13",
- "vite-plugin-pwa": "0.12.0",
+ "vite": "2.9.14",
+ "vite-plugin-pwa": "0.12.3",
"vue-jest": "3.0.7",
"workbox-core": "6.5.3",
"workbox-precaching": "6.5.3",
diff --git a/front/src/components/RemoteSearchForm.vue b/front/src/components/RemoteSearchForm.vue
index b0a2f3139..7847ca934 100644
--- a/front/src/components/RemoteSearchForm.vue
+++ b/front/src/components/RemoteSearchForm.vue
@@ -1,11 +1,171 @@
+
+
-
diff --git a/front/src/components/audio/track/Modal.vue b/front/src/components/audio/track/Modal.vue
index af23d6460..aba30d08c 100644
--- a/front/src/components/audio/track/Modal.vue
+++ b/front/src/components/audio/track/Modal.vue
@@ -86,24 +86,14 @@ const labels = computed(() => ({
@@ -160,10 +140,7 @@ const labels = computed(() => ({
class="column"
role="button"
:aria-label="labels.addToQueue"
- @click.stop.prevent="
- enqueue();
- modal.closeModal();
- "
+ @click.stop.prevent="enqueue(); modal.closeModal()"
>
{{ labels.addToQueue }}
@@ -174,10 +151,7 @@ const labels = computed(() => ({
class="column"
role="button"
:aria-label="labels.playNext"
- @click.stop.prevent="
- enqueueNext(true);
- modal.closeModal();
- "
+ @click.stop.prevent="enqueueNext(true);modal.closeModal()"
>
{{ labels.playNext }}
@@ -188,13 +162,7 @@ const labels = computed(() => ({
class="column"
role="button"
:aria-label="labels.startRadio"
- @click.stop.prevent="
- $store.dispatch('radios/start', {
- type: 'similar',
- objectId: track.id,
- });
- modal.closeModal();
- "
+ @click.stop.prevent="() => { $store.dispatch('radios/start', { type: 'similar', objectId: track.id }); modal.closeModal() }"
>
{{ labels.startRadio }}
@@ -208,9 +176,9 @@ const labels = computed(() => ({
@click.stop="$store.commit('playlists/chooseTrack', track)"
>
- {{
- labels.addToPlaylist
- }}
+
+ {{ labels.addToPlaylist }}
+
@@ -222,17 +190,10 @@ const labels = computed(() => ({
class="column"
role="button"
:aria-label="albumDetailsButton"
- @click.prevent.exact="
- $router.push({
- name: 'library.albums.detail',
- params: { id: track.album?.id },
- })
- "
+ @click.prevent.exact="$router.push({ name: 'library.albums.detail', params: { id: track.album?.id } })"
>
- {{
- albumDetailsButton
- }}
+ {{ albumDetailsButton }}
({
class="column"
role="button"
:aria-label="artistDetailsButton"
- @click.prevent.exact="
- $router.push({
- name: 'library.artists.detail',
- params: { id: track.artist?.id },
- })
- "
+ @click.prevent.exact="$router.push({ name: 'library.artists.detail', params: { id: track.artist?.id } })"
>
- {{
- artistDetailsButton
- }}
+ {{ artistDetailsButton }}
@@ -261,17 +215,10 @@ const labels = computed(() => ({
class="column"
role="button"
:aria-label="trackDetailsButton"
- @click.prevent.exact="
- $router.push({
- name: 'library.tracks.detail',
- params: { id: track.id },
- })
- "
+ @click.prevent.exact="$router.push({ name: 'library.tracks.detail', params: { id: track.id } })"
>
- {{
- trackDetailsButton
- }}
+ {{ trackDetailsButton }}
@@ -284,9 +231,8 @@ const labels = computed(() => ({
@click.stop.prevent="report(obj)"
>
- {{ obj.label }}
+
+ {{ obj.label }}
diff --git a/front/src/components/channels/UploadModal.vue b/front/src/components/channels/UploadModal.vue
index 5c7ff5b64..0a0cfcc8c 100644
--- a/front/src/components/channels/UploadModal.vue
+++ b/front/src/components/channels/UploadModal.vue
@@ -99,7 +99,7 @@ const isLoading = ref(false)
Remaining storage space:
- {{ (statusData.quotaStatus.remaining * 1000 * 1000) - humanSize(statusData.uploadedSize) }}
+ {{ humanSize((statusData.quotaStatus.remaining - statusData.uploadedSize) * 1000 * 1000) }}
diff --git a/front/src/components/library/Albums.vue b/front/src/components/library/Albums.vue
index 6a2e784d7..21643e481 100644
--- a/front/src/components/library/Albums.vue
+++ b/front/src/components/library/Albums.vue
@@ -1,19 +1,19 @@
+
-
-
+
-
-
diff --git a/front/src/views/playlists/List.vue b/front/src/views/playlists/List.vue
index 5c0a47f9a..2657a8060 100644
--- a/front/src/views/playlists/List.vue
+++ b/front/src/views/playlists/List.vue
@@ -1,5 +1,7 @@