playlist: add delete button to details page
This commit is contained in:
		
							parent
							
								
									8c3feee5a1
								
							
						
					
					
						commit
						bf320d283b
					
				| @ -1,6 +1,13 @@ | |||||||
| <template> | <template> | ||||||
|   <Spinner :data="playlist" v-slot="{ data }"> |   <Spinner :data="playlist" v-slot="{ data }"> | ||||||
|  |     <div class="d-flex justify-content-between"> | ||||||
|       <h1>{{ data.name }}</h1> |       <h1>{{ data.name }}</h1> | ||||||
|  |       <OverflowMenu> | ||||||
|  |         <b-dropdown-item-btn @click="deletePlaylist()" variant="danger"> | ||||||
|  |           Delete playlist | ||||||
|  |         </b-dropdown-item-btn> | ||||||
|  |       </OverflowMenu> | ||||||
|  |     </div> | ||||||
|     <TrackList :tracks="data.tracks" show-album @remove="remove(index)"> |     <TrackList :tracks="data.tracks" show-album @remove="remove(index)"> | ||||||
|       <template v-slot:context-menu="{index}"> |       <template v-slot:context-menu="{index}"> | ||||||
|         <b-dropdown-item-button @click="remove(index)"> |         <b-dropdown-item-button @click="remove(index)"> | ||||||
| @ -13,6 +20,7 @@ | |||||||
| <script lang="ts"> | <script lang="ts"> | ||||||
| import Vue from "vue"; | import Vue from "vue"; | ||||||
| import TrackList from "@/library/TrackList.vue"; | import TrackList from "@/library/TrackList.vue"; | ||||||
|  | import { mapActions } from 'vuex'; | ||||||
| 
 | 
 | ||||||
| export default Vue.extend({ | export default Vue.extend({ | ||||||
|   components: { |   components: { | ||||||
| @ -42,7 +50,12 @@ export default Vue.extend({ | |||||||
|       console.log("remove: " + index) |       console.log("remove: " + index) | ||||||
|       this.$api.removeFromPlaylist(this.id, index.toString()); |       this.$api.removeFromPlaylist(this.id, index.toString()); | ||||||
|       this.playlist.tracks.splice(index, 1); |       this.playlist.tracks.splice(index, 1); | ||||||
|     } |     }, | ||||||
|  |     deletePlaylist() { | ||||||
|  |       this.$store.dispatch("deletePlaylist", this.id).then(() => { | ||||||
|  |         this.$router.replace({name: "playlists"}) | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|   } |   } | ||||||
| }); | }); | ||||||
| </script> | </script> | ||||||
|  | |||||||
| @ -3,7 +3,7 @@ $theme-elevated: rgb(25, 25, 25); | |||||||
| $theme-text: #ccc; | $theme-text: #ccc; | ||||||
| 
 | 
 | ||||||
| $primary: #09f; | $primary: #09f; | ||||||
| $danger: #e54b4b; | $danger: #ff4141; | ||||||
| 
 | 
 | ||||||
| $body-bg: $theme-base; | $body-bg: $theme-base; | ||||||
| $body-color: $theme-text; | $body-color: $theme-text; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user