diff --git a/src/components/PlaylistView/Header.vue b/src/components/PlaylistView/Header.vue index fd695b7..efa458f 100644 --- a/src/components/PlaylistView/Header.vue +++ b/src/components/PlaylistView/Header.vue @@ -1,12 +1,25 @@ @@ -26,23 +39,45 @@ diff --git a/src/components/modals/updatePlaylist.vue b/src/components/modals/updatePlaylist.vue new file mode 100644 index 0000000..349bcb3 --- /dev/null +++ b/src/components/modals/updatePlaylist.vue @@ -0,0 +1,236 @@ + + + + + diff --git a/src/stores/modal.ts b/src/stores/modal.ts index 2a4aa2f..3324816 100644 --- a/src/stores/modal.ts +++ b/src/stores/modal.ts @@ -1,8 +1,9 @@ import { defineStore } from "pinia"; -import { Track } from "../interfaces"; +import { Playlist, Track } from "../interfaces"; + enum ModalOptions { - newPlaylist, - editPlaylist, + newPlaylist = "newPlaylist", + updatePlaylist = "editPlaylist", } export default defineStore("newModal", { @@ -10,7 +11,7 @@ export default defineStore("newModal", { title: "", options: ModalOptions, component: "", - props: {}, + props: {}, visible: false, }), actions: { @@ -23,6 +24,11 @@ export default defineStore("newModal", { this.props.track = track; this.visible = true; }, + showEditPlaylistModal(playlist: Playlist) { + this.component = ModalOptions.updatePlaylist; + this.props = playlist; + this.visible = true; + }, hideModal() { this.visible = false; }, diff --git a/src/stores/p.ptracks.ts b/src/stores/p.ptracks.ts index 5c73d14..1ccda78 100644 --- a/src/stores/p.ptracks.ts +++ b/src/stores/p.ptracks.ts @@ -13,5 +13,8 @@ export default defineStore("playlist-tracks", { this.info = playlist.info; this.tracks = playlist.tracks; }, + updatePInfo(info: Playlist) { + this.info = info; + }, }, });