PageSourceSearch

https://radio.moe/build/assets/Playlists-532eeb7d.js

js radio.moe collected 2026-10-07 22:27:59 UTC 3,236 bytes, 1 lines download raw bytes

1import{n as a}from"./main-72a01a0e.js";const r={name:"PlaylistsDialog",created(){this.$store.dispatch("fetchPlaylists")},computed:{playlists(){return this.$store.getters.getPlaylists?this.$store.getters.getPlaylists.own.map(i=>({id:i.id,cover:i.cover,title:i.title,checked:i.songs?i.songs.some(t=>{var e;return t.id===((e=this.$store.getters.getAddSongToPlaylist)==null?void 0:e.id)}):!1})):null}},methods:{addToPlaylist(i){i.checked?this.$notify({group:"foo",type:"error",title:this.$t("Already There!"),text:this.$t("Song already exists on this playlist!")}):this.$store.dispatch("attachToPlaylist",{playlist_id:i.id,song_id:this.$store.getters.getAddSongToPlaylist.id,song_origin:this.$store.getters.getAddSongToPlaylist.origin}).then(()=>{this.$notify({group:"foo",type:"success",title:this.$t("Added"),text:this.$t("Song added to playlist successfully.")}),this.$store.dispatch("fetchPlaylists"),this.$emit("end")})}}};var n=function(){var t=this,e=t._self._c;return e("dialog-wrapper",{on:{end:function(s){return t.$emit("end")}}},[e("v-card",{staticClass:"add-playlist-wrapper"},[e("div",{staticClass:"add-playlist-wrapper__header"},[e("div",{staticClass:"card-title-medium"},[t._v(" "+t._s(t.$t("Choose Playlist"))+" ")]),e("div",{staticClass:"buttons"},[e("v-btn",{staticClass:"primary create",attrs:{small:"",rounded:""},on:{click:function(s){t.$emit("end"),t.$router.push({name:"library.playlists",params:{createNewPlaylist:!0}})}}},[t._v(" "+t._s(t.$t("New Playlist"))+" ")]),e("v-btn",{staticClass:"secondary",attrs:{small:"",rounded:""},on:{click:function(s){return t.$emit("end")}}},[t._v(" "+t._s(t.$t("Cancel"))+" ")])],1)]),e("div",{staticClass:"playlists-wrapper content-list-wrapper"},[t.playlists&&t.playlists.length?e("ul",t._l(t.playlists,function(s,l){return e("li",{key:l,staticClass:"pointer",on:{click:function(d){return t.addToPlaylist(s)}}},[e("div",{staticClass:"item-cover"},[e("v-img",{staticClass:"img",attrs:{src:s.cover,"aspect-ratio":"1"},scopedSlots:t._u([{key:"placeholder",fn:function(){return[e("v-row",{staticClass:"fill-height ma-0",attrs:{align:"center",justify:"center"}},[e("content-placeholders",{staticStyle:{width:"100%"},attrs:{rounded:!0}},[e("content-placeholders-img")],1)],1)]},proxy:!0}],null,!0)})],1),e("div",{staticClass:"item-title"},[t._v(t._s(s.title))]),s.checked?e("div",{staticClass:"checked options"},[e("v-icon",{attrs:{color:"success"}},[t._v("$vuetify.icons.check-circle")])],1):t._e()])}),0):t.playlists?e("empty-page",{attrs:{headline:t.$t("No Playlists!"),sub:t.$t("Looks like you do not have any playlists yet.")},scopedSlots:t._u([{key:"button",fn:function(){return[e("v-btn",{staticClass:"primary",attrs:{rounded:"",small:""},on:{click:function(s){t.$emit("end"),t.$router.push({name:"library.playlists",params:{createNewPlaylist:!0}})}}},[t._v(" "+t._s(t.$t("New Playlist"))+" ")])]},proxy:!0}])}):e("ul",{staticClass:"skeleton-list"},t._l(5,function(s){return e("div",{key:s,staticClass:"skeleton"},[e("content-placeholders",{attrs:{rounded:!0}},[e("content-placeholders-img")],1),e("content-placeholders",{attrs:{rounded:!0}},[e("content-placeholders-img")],1)],1)}),0)],1)])],1)},o=[],c=a(r,n,o,!1,null,null,null,null);const p=c.exports;export{p as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.