diff --git a/web-src/src/components/ControlDropdown.vue b/web-src/src/components/ControlDropdown.vue
index ed95c248..54f9502a 100644
--- a/web-src/src/components/ControlDropdown.vue
+++ b/web-src/src/components/ControlDropdown.vue
@@ -33,7 +33,10 @@
diff --git a/web-src/src/components/ListAlbums.vue b/web-src/src/components/ListAlbums.vue
index d9639abd..0fac30f9 100644
--- a/web-src/src/components/ListAlbums.vue
+++ b/web-src/src/components/ListAlbums.vue
@@ -77,7 +77,11 @@ import webapi from '@/webapi'
export default {
name: 'ListAlbums',
components: { CoverArtwork, ModalDialog, ModalDialogAlbum },
- props: { albums: Object, media_kind: String, hide_group_title: Boolean },
+ props: {
+ albums: { required: true, type: Object },
+ hide_group_title: Boolean,
+ media_kind: { default: '', type: String }
+ },
emits: ['play-count-changed', 'podcast-deleted'],
data() {
diff --git a/web-src/src/components/ListArtists.vue b/web-src/src/components/ListArtists.vue
index d6eac955..bc63168a 100644
--- a/web-src/src/components/ListArtists.vue
+++ b/web-src/src/components/ListArtists.vue
@@ -39,7 +39,10 @@ import ModalDialogArtist from '@/components/ModalDialogArtist.vue'
export default {
name: 'ListArtists',
components: { ModalDialogArtist },
- props: { artists: Object, hide_group_title: Boolean },
+ props: {
+ artists: { required: true, type: Object },
+ hide_group_title: Boolean
+ },
data() {
return {
diff --git a/web-src/src/components/ListComposers.vue b/web-src/src/components/ListComposers.vue
index 0edb7b0e..23c63670 100644
--- a/web-src/src/components/ListComposers.vue
+++ b/web-src/src/components/ListComposers.vue
@@ -40,7 +40,11 @@ import ModalDialogComposer from '@/components/ModalDialogComposer.vue'
export default {
name: 'ListComposers',
components: { ModalDialogComposer },
- props: { composers: Object, media_kind: String, hide_group_title: Boolean },
+ props: {
+ composers: { required: true, type: Object },
+ hide_group_title: Boolean,
+ media_kind: { required: true, type: String }
+ },
data() {
return {
diff --git a/web-src/src/components/ListDirectories.vue b/web-src/src/components/ListDirectories.vue
index 9f78ccea..c1d2a30d 100644
--- a/web-src/src/components/ListDirectories.vue
+++ b/web-src/src/components/ListDirectories.vue
@@ -48,7 +48,7 @@ import ModalDialogDirectory from '@/components/ModalDialogDirectory.vue'
export default {
name: 'ListDirectories',
components: { ModalDialogDirectory },
- props: { directories: Array },
+ props: { directories: { required: true, type: Array } },
data() {
return {
diff --git a/web-src/src/components/ListGenres.vue b/web-src/src/components/ListGenres.vue
index ec7d66ff..3ce3eec3 100644
--- a/web-src/src/components/ListGenres.vue
+++ b/web-src/src/components/ListGenres.vue
@@ -40,7 +40,11 @@ import ModalDialogGenre from '@/components/ModalDialogGenre.vue'
export default {
name: 'ListGenres',
components: { ModalDialogGenre },
- props: { genres: Object, hide_group_title: Boolean, media_kind: String },
+ props: {
+ genres: { required: true, type: Object },
+ hide_group_title: Boolean,
+ media_kind: { required: true, type: String }
+ },
data() {
return {
diff --git a/web-src/src/components/ListItemAlbumSpotify.vue b/web-src/src/components/ListItemAlbumSpotify.vue
index 71970a15..93d7f13b 100644
--- a/web-src/src/components/ListItemAlbumSpotify.vue
+++ b/web-src/src/components/ListItemAlbumSpotify.vue
@@ -25,7 +25,7 @@
diff --git a/web-src/src/components/ListItemArtistSpotify.vue b/web-src/src/components/ListItemArtistSpotify.vue
index bacc289c..97031921 100644
--- a/web-src/src/components/ListItemArtistSpotify.vue
+++ b/web-src/src/components/ListItemArtistSpotify.vue
@@ -12,7 +12,7 @@