From c957e9483eb5874e461801b4c8664bba24bcc923 Mon Sep 17 00:00:00 2001 From: advplyr Date: Sun, 27 Nov 2022 11:53:48 -0600 Subject: [PATCH] Update:Playlist edit modal --- client/components/app/LazyBookshelf.vue | 2 + .../EditModal.vue} | 0 .../components/modals/playlists/EditModal.vue | 128 ++++++++++++++++++ .../components/tables/PlaylistItemsTable.vue | 2 +- client/layouts/default.vue | 3 +- client/store/globals.js | 11 +- client/strings/en-us.json | 6 + 7 files changed, 149 insertions(+), 3 deletions(-) rename client/components/modals/{EditCollectionModal.vue => collections/EditModal.vue} (100%) create mode 100644 client/components/modals/playlists/EditModal.vue diff --git a/client/components/app/LazyBookshelf.vue b/client/components/app/LazyBookshelf.vue index fa486ee4..79276dc5 100644 --- a/client/components/app/LazyBookshelf.vue +++ b/client/components/app/LazyBookshelf.vue @@ -220,6 +220,8 @@ export default { this.$store.commit('showEditModal', entity) } else if (this.entityName === 'collections') { this.$store.commit('globals/setEditCollection', entity) + } else if (this.entityName === 'playlists') { + this.$store.commit('globals/setEditPlaylist', entity) } }, clearSelectedEntities() { diff --git a/client/components/modals/EditCollectionModal.vue b/client/components/modals/collections/EditModal.vue similarity index 100% rename from client/components/modals/EditCollectionModal.vue rename to client/components/modals/collections/EditModal.vue diff --git a/client/components/modals/playlists/EditModal.vue b/client/components/modals/playlists/EditModal.vue new file mode 100644 index 00000000..057dabd2 --- /dev/null +++ b/client/components/modals/playlists/EditModal.vue @@ -0,0 +1,128 @@ + + + diff --git a/client/components/tables/PlaylistItemsTable.vue b/client/components/tables/PlaylistItemsTable.vue index 46b578b8..8346f7f4 100644 --- a/client/components/tables/PlaylistItemsTable.vue +++ b/client/components/tables/PlaylistItemsTable.vue @@ -45,7 +45,7 @@ export default { } }, watch: { - books: { + items: { handler(newVal) { this.init() } diff --git a/client/layouts/default.vue b/client/layouts/default.vue index b9e334f1..2dd600d7 100644 --- a/client/layouts/default.vue +++ b/client/layouts/default.vue @@ -11,8 +11,9 @@ + - + diff --git a/client/store/globals.js b/client/store/globals.js index b86d6d79..ab949dfe 100644 --- a/client/store/globals.js +++ b/client/store/globals.js @@ -5,6 +5,7 @@ export const state = () => ({ showCollectionsModal: false, showEditCollectionModal: false, showPlaylistsModal: false, + showEditPlaylistModal: false, showEditPodcastEpisode: false, showViewPodcastEpisodeModal: false, showConfirmPrompt: false, @@ -12,10 +13,11 @@ export const state = () => ({ showEditAuthorModal: false, selectedEpisode: null, selectedPlaylistItems: null, + selectedPlaylist: null, selectedCollection: null, selectedAuthor: null, isCasting: false, // Actively casting - isChromecastInitialized: false, // Script loaded + isChromecastInitialized: false, // Script loadeds showBatchQuickMatchModal: false, dateFormats: [ { @@ -84,6 +86,9 @@ export const mutations = { setShowPlaylistsModal(state, val) { state.showPlaylistsModal = val }, + setShowEditPlaylistModal(state, val) { + state.showEditPlaylistModal = val + }, setShowEditPodcastEpisodeModal(state, val) { state.showEditPodcastEpisode = val }, @@ -101,6 +106,10 @@ export const mutations = { state.selectedCollection = collection state.showEditCollectionModal = true }, + setEditPlaylist(state, playlist) { + state.selectedPlaylist = playlist + state.showEditPlaylistModal = true + }, setSelectedEpisode(state, episode) { state.selectedEpisode = episode }, diff --git a/client/strings/en-us.json b/client/strings/en-us.json index 853d93a1..b601c0ad 100644 --- a/client/strings/en-us.json +++ b/client/strings/en-us.json @@ -112,6 +112,7 @@ "HeaderOtherFiles": "Other Files", "HeaderPermissions": "Permissions", "HeaderPlayerQueue": "Player Queue", + "HeaderPlaylist": "Playlist", "HeaderPlaylistItems": "Playlist Items", "HeaderPodcastsToAdd": "Podcasts to Add", "HeaderPreviewCover": "Preview Cover", @@ -428,6 +429,7 @@ "MessageConfirmRemoveCollection": "Are you sure you want to remove collection \"{0}\"?", "MessageConfirmRemoveEpisode": "Are you sure you want to remove episode \"{0}\"?", "MessageConfirmRemoveEpisodes": "Are you sure you want to remove {0} episodes?", + "MessageConfirmRemovePlaylist": "Are you sure you want to remove your playlist \"{0}\"?", "MessageDownloadingEpisode": "Downloading episode", "MessageDragFilesIntoTrackOrder": "Drag files into correct track order", "MessageEmbedFinished": "Embed Finished!", @@ -557,6 +559,10 @@ "ToastLibraryScanStarted": "Library scan started", "ToastLibraryUpdateFailed": "Failed to update library", "ToastLibraryUpdateSuccess": "Library \"{0}\" updated", + "ToastPlaylistRemoveFailed": "Failed to remove playlist", + "ToastPlaylistRemoveSuccess": "Playlist removed", + "ToastPlaylistUpdateFailed": "Failed to update playlist", + "ToastPlaylistUpdateSuccess": "Playlist updated", "ToastPodcastCreateFailed": "Failed to create podcast", "ToastPodcastCreateSuccess": "Podcast created successfully", "ToastRemoveItemFromCollectionFailed": "Failed to remove item from collection",