platypush/platypush/backend/http/webapp/dist/static/js/3553.125dc216.js

2 lines
45 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[3553],{3553:function(e,t,s){s.r(t),s.d(t,{default:function(){return Ns}});var l=s(6252),a=s(3577),i=s(9963);const n=e=>((0,l.dD)("data-v-5a75ab98"),e=e(),(0,l.Cn)(),e),c={key:0,class:"nav-container mobile"},o={class:"nav-container from tablet"},r={class:"view-container"},d={class:"track-info-container"},u={key:0,class:"track-info-content"},h={key:0,class:"row file"},y=n((()=>(0,l._)("div",{class:"col-3 attr"},"File",-1))),p=["textContent"],k={key:1,class:"row artist"},m=n((()=>(0,l._)("div",{class:"col-3 attr"},"Artist",-1))),f={class:"col-9 value"},v=["href","textContent"],g={key:2,class:"row track-title"},w=n((()=>(0,l._)("div",{class:"col-3 attr"},"Title",-1))),b=["textContent"],C={key:3,class:"row album"},T=n((()=>(0,l._)("div",{class:"col-3 attr"},"Album",-1))),_={class:"col-9 value"},D=["href","textContent"],x={key:4,class:"row date"},$=n((()=>(0,l._)("div",{class:"col-3 attr"},"Date",-1))),P=["textContent"],S={key:5,class:"row duration"},A=n((()=>(0,l._)("div",{class:"col-3 attr"},"Duration",-1))),I=["textContent"],R={key:6,class:"row track"},q=n((()=>(0,l._)("div",{class:"col-3 attr"},"Track",-1))),M=["textContent"],V={key:7,class:"row disc"},L=n((()=>(0,l._)("div",{class:"col-3 attr"},"Disc",-1))),N=["textContent"],E={key:8,class:"row url"},j=n((()=>(0,l._)("div",{class:"col-3 attr"},"URL",-1))),z={class:"col-9 value"},O=["href","textContent"],W={class:"playlists-modal-container"},B={class:"filter"},Z={class:"playlists"},F=["checked","onChange"],H=["textContent"],K=n((()=>(0,l._)("i",{class:"fa fa-plus"},null,-1)));function U(e,t,s,n,U,Q){const Y=(0,l.up)("Loading"),G=(0,l.up)("Nav"),J=(0,l.up)("Playlist"),X=(0,l.up)("Playlists"),ee=(0,l.up)("Search"),te=(0,l.up)("Library"),se=(0,l.up)("MediaView"),le=(0,l.up)("Modal"),ae=(0,l.up)("FormFooter");return(0,l.wg)(),(0,l.iD)(l.HY,null,[s.loading?((0,l.wg)(),(0,l.j4)(Y,{key:0})):((0,l.wg)(),(0,l.j4)(se,{key:1,"plugin-name":s.pluginName,image:s.images[s.track?.uri||s.track?.file],status:s.status,track:s.track,onNext:t[34]||(t[34]=t=>e.$emit("next")),onPause:t[35]||(t[35]=t=>e.$emit("pause")),onPlay:t[36]||(t[36]=t=>e.$emit("play",t)),onPrevious:t[37]||(t[37]=t=>e.$emit("previous")),onRandom:t[38]||(t[38]=t=>e.$emit("random",t)),onRepeat:t[39]||(t[39]=t=>e.$emit("repeat",t)),onSearch:Q.search,onSeek:t[40]||(t[40]=t=>e.$emit("seek",t)),onConsume:t[41]||(t[41]=t=>e.$emit("consume",t)),onSetVolume:t[42]||(t[42]=t=>e.$emit("set-volume",t)),onStop:t[43]||(t[43]=t=>e.$emit("stop"))},{default:(0,l.w5)((()=>[(0,l._)("main",null,[U.navVisible?((0,l.wg)(),(0,l.iD)("div",c,[(0,l.Wm)(G,{"selected-view":U.selectedView,onInput:t[0]||(t[0]=e=>U.selectedView=e),onToggle:t[1]||(t[1]=e=>U.navVisible=!U.navVisible)},null,8,["selected-view"])])):(0,l.kq)("",!0),(0,l._)("div",o,[(0,l.Wm)(G,{"selected-view":U.selectedView,onInput:t[2]||(t[2]=e=>U.selectedView=e),onToggle:t[3]||(t[3]=e=>U.navVisible=!U.navVisible)},null,8,["selected-view"])]),(0,l._)("div",r,["playing"===U.selectedView?((0,l.wg)(),(0,l.j4)(J,{key:0,tracks:s.tracks,status:s.status,loading:s.loading,devices:s.devices,"selected-device":s.selectedDevice,"active-device":s.activeDevice,"show-nav-button":!U.navVisible,"with-clear":!0,"with-save":!0,"with-swap":!0,onPlay:t[4]||(t[4]=t=>e.$emit("play",t)),onClear:t[5]||(t[5]=t=>e.$emit("clear")),onSwap:t[6]||(t[6]=t=>e.$emit("swap-tracks",t)),onAdd:t[7]||(t[7]=t=>e.$emit("add-to-tracklist",t)),onRemove:t[8]||(t[8]=t=>e.$emit("remove-from-tracklist",t)),onMove:t[9]||(t[9]=t=>e.$emit("tracklist-move",t)),onSave:t[10]||(t[10]=t=>e.$emit("tracklist-save",t)),onInfo:t[11]||(t[11]=t=>e.$emit("info",t)),onAddToPlaylist:Q.openAddToPlaylist,onSearch:Q.search,onToggleNav:t[12]||(t[12]=e=>U.navVisible=!U.navVisible),onRefreshStatus:Q.refreshStatus,onSelectDevice:Q.selectDevice},null,8,["tracks","status","loading","devices","selected-device","active-device","show-nav-button","onAddToPlaylist","onSearch","onRefreshStatus","onSelectDevice"])):"playlists"===U.selectedView?((0,l.wg)(),(0,l.j4)(X,{key:1,playlists:s.playlists,loading:s.loading,devices:s.devices,status:s.status,"selected-device":s.selectedDevice,"active-device":s.activeDevice,"edited-playlist":s.editedPlaylist,tracks:s.editedPlaylistTracks,"show-nav-button":!U.navVisible,onPlay:t[13]||(t[13]=t=>e.$emit("play-playlist",t)),onLoad:t[14]||(t[14]=t=>e.$emit("load-playlist",t)),onRemove:t[15]||(t[15]=t=>e.$emit("remove-playlist",t)),onPlaylistEdit:t[16]||(t[16]=t=>e.$emit("playlist-edit",t)),onLoadTracks:t[17]||(t[17]=t=>e.$emit("add-to-tracklist-from-edited-playlist",t)),onRemoveTrack:t[18]||(t[18]=t=>e.$emit("remove-from-playlist",t)),onInfo:t[19]||(t[19]=t=>e.$emit("info",t)),onPlaylistAdd:t[20]||(t[20]=t=>e.$emit("playlist-add",t)),onAddToPlaylist:Q.openAddToPlaylist,onTrackMove:t[21]||(t[21]=t=>e.$emit("playlist-track-move",t)),onSearch:Q.search,onToggleNav:t[22]||(t[22]=e=>U.navVisible=!U.navVisible),onRefreshStatus:Q.refreshStatus,onSelectDevice:Q.selectDevice},null,8,["playlists","loading","devices","status","selected-device","active-device","edited-playlist","tracks","show-nav-button","onAddToPlaylist","onSearch","onRefreshStatus","onSelectDevice"])):"search"===U.selectedView?((0,l.wg)(),(0,l.j4)(ee,{key:2,loading:s.loading,results:s.searchResults,devices:s.devices,"selected-device":s.selectedDevice,"active-device":s.activeDevice,"show-nav-button":!U.navVisible,onSearch:Q.search,onClear:t[23]||(t[23]=t=>e.$emit("search-clear")),onInfo:t[24]||(t[24]=t=>e.$emit("info",t)),onPlay:t[25]||(t[25]=t=>e.$emit("play",t)),onLoad:t[26]||(t[26]=t=>e.$emit("add-to-tracklist",t)),onAddToPlaylist:Q.openAddToPlaylist,onRefreshStatus:Q.refreshStatus,onToggleNav:t[27]||(t[27]=e=>U.navVisible=!U.navVisible),onSelectDevice:Q.selectDevice},null,8,["loading","results","devices","selected-device","active-device","show-nav-button","onSearch","onAddToPlaylist","onRefreshStatus","onSelectDevice"])):"library"===U.selectedView?((0,l.wg)(),(0,l.j4)(te,{key:3,loading:s.loading,results:s.libraryResults,path:s.path,devices:s.devices,"selected-device":s.selectedDevice,"active-device":s.activeDevice,"show-nav-button":!U.navVisible,onSearch:Q.search,onClear:t[28]||(t[28]=t=>e.$emit("search-clear")),onInfo:t[29]||(t[29]=t=>e.$emit("info",t)),onPlay:t[30]||(t[30]=t=>e.$emit("play",t)),onLoad:t[31]||(t[31]=t=>e.$emit("add-to-tracklist",t)),onAddToPlaylist:Q.openAddToPlaylist,onCd:t[32]||(t[32]=t=>e.$emit("cd",t)),onToggleNav:t[33]||(t[33]=e=>U.navVisible=!U.navVisible),onRefreshStatus:Q.refreshStatus,onSelectDevice:Q.selectDevice},null,8,["loading","results","path","devices","selected-device","active-device","show-nav-button","onSearch","onAddToPlaylist","onRefreshStatus","onSelectDevice"])):(0,l.kq)("",!0)])])])),_:1},8,["plugin-name","image","status","track","onSearch"])),(0,l._)("div",d,[(0,l.Wm)(le,{title:"Track info",ref:"trackInfo"},{default:(0,l.w5)((()=>[s.trackInfo?((0,l.wg)(),(0,l.iD)("div",u,[s.trackInfo.file?((0,l.wg)(),(0,l.iD)("div",h,[y,(0,l._)("div",{class:"col-9 value",textContent:(0,a.zw)(s.trackInfo.file)},null,8,p)])):(0,l.kq)("",!0),s.trackInfo.artist?((0,l.wg)(),(0,l.iD)("div",k,[m,(0,l._)("div",f,[(0,l._)("a",{href:e.$route.fullPath,textContent:(0,a.zw)(s.trackInfo.artist),onClick:t[44]||(t[44]=(0,i.iM)((e=>Q.search({artist:s.trackInfo.artist})),["prevent"]))},null,8,v)])])):(0,l.kq)("",!0),s.trackInfo.title?((0,l.wg)(),(0,l.iD)("div",g,[w,(0,l._)("div",{class:"col-9 value",textContent:(0,a.zw)(s.trackInfo.title)},null,8,b)])):(0,l.kq)("",!0),s.trackInfo.album?((0,l.wg)(),(0,l.iD)("div",C,[T,(0,l._)("div",_,[(0,l._)("a",{href:e.$route.fullPath,textContent:(0,a.zw)(s.trackInfo.album),onClick:t[45]||(t[45]=(0,i.iM)((e=>Q.search({artist:s.trackInfo.artist,album:s.trackInfo.album})),["prevent"]))},null,8,D)])])):(0,l.kq)("",!0),s.trackInfo.date?((0,l.wg)(),(0,l.iD)("div",x,[$,(0,l._)("div",{class:"col-9 value",textContent:(0,a.zw)(s.trackInfo.date)},null,8,P)])):(0,l.kq)("",!0),s.trackInfo.time?((0,l.wg)(),(0,l.iD)("div",S,[A,(0,l._)("div",{class:"col-9 value",textContent:(0,a.zw)(e.convertTime(s.trackInfo.time))},null,8,I)])):(0,l.kq)("",!0),s.trackInfo.track?((0,l.wg)(),(0,l.iD)("div",R,[q,(0,l._)("div",{class:"col-9 value",textContent:(0,a.zw)(s.trackInfo.track)},null,8,M)])):(0,l.kq)("",!0),s.trackInfo.disc?((0,l.wg)(),(0,l.iD)("div",V,[L,(0,l._)("div",{class:"col-9 value",textContent:(0,a.zw)(s.trackInfo.disc)},null,8,N)])):(0,l.kq)("",!0),s.trackInfo.url?((0,l.wg)(),(0,l.iD)("div",E,[j,(0,l._)("div",z,[(0,l._)("a",{href:s.trackInfo.url,textContent:(0,a.zw)(s.trackInfo.uri||s.trackInfo.url),target:"_blank"},null,8,O)])])):(0,l.kq)("",!0)])):(0,l.kq)("",!0)])),_:1},512)]),(0,l._)("div",W,[(0,l.Wm)(le,{title:"Playlists",ref:"playlistsModal",onClose:t[48]||(t[48]=e=>U.addToPlaylistTrack=null),onOpen:t[49]||(t[49]=e=>U.selectedPlaylists=[...Array(s.playlists.length).keys()].map((()=>!1)))},{default:(0,l.w5)((()=>[(0,l._)("div",B,[(0,l._)("label",null,[(0,l.wy)((0,l._)("input",{type:"search",placeholder:"Filter","onUpdate:modelValue":t[46]||(t[46]=e=>U.playlistFilter=e)},null,512),[[i.nr,U.playlistFilter]])])]),(0,l._)("div",Z,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.playlists,((e,t)=>((0,l.wg)(),(0,l.iD)("label",{class:(0,a.C_)(["row playlist",{hidden:U.playlistFilter?.length>0&&e.name.toLowerCase().indexOf(U.playlistFilter.toLowerCase())<0}]),key:t},[(0,l._)("input",{type:"checkbox",checked:U.selectedPlaylists[t],onChange:e=>U.selectedPlaylists[t]=e.target.checked},null,40,F),(0,l._)("span",{class:"name",textContent:(0,a.zw)(e.name)},null,8,H)],2)))),128))]),(0,l.Wm)(ae,null,{default:(0,l.w5)((()=>[(0,l._)("button",{onClick:t[47]||(t[47]=(...e)=>Q.addToPlaylist&&Q.addToPlaylist(...e))},[K,(0,l.Uk)("   Add ")])])),_:1})])),_:1},512)])],64)}const Q={class:"form-footer"};function Y(e,t,s,a,i,n){return(0,l.wg)(),(0,l.iD)("div",Q,[(0,l.WI)(e.$slots,"default",{},void 0,!0)])}var G={name:"FormFooter"},J=s(3744);const X=(0,J.Z)(G,[["render",Y],["__scopeId","data-v-2495ce8a"]]);var ee=X,te=s(6791),se=s(3493),le=s(1065),ae=s(1587);const ie=e=>((0,l.dD)("data-v-0896abbc"),e=e(),(0,l.Cn)(),e),ne=ie((()=>(0,l._)("i",{class:"fa fa-bars"},null,-1))),ce=[ne],oe=["title","onClick"];function re(e,t,s,i,n,c){return(0,l.wg)(),(0,l.iD)("nav",null,[(0,l._)("button",{class:"menu-button mobile",onClick:t[0]||(t[0]=t=>e.$emit("toggle"))},ce),((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.views,((t,i)=>((0,l.wg)(),(0,l.iD)("li",{key:i,title:t.displayName,class:(0,a.C_)({selected:i===s.selectedView}),onClick:t=>e.$emit("input",i)},[(0,l._)("i",{class:(0,a.C_)(t.iconClass)},null,2)],10,oe)))),128))])}var de={name:"Nav",emits:["input","toggle"],props:{selectedView:{type:String},collapsed:{type:Boolean,default:!1},views:{type:Object,default:()=>({playing:{iconClass:"fas fa-play",displayName:"Queue"},search:{iconClass:"fas fa-search",displayName:"Search"},playlists:{iconClass:"fas fa-list-ul",displayName:"Playlists"},library:{iconClass:"fas fa-compact-disc",displayName:"Library"}})}}};const ue=(0,J.Z)(de,[["render",re],["__scopeId","data-v-0896abbc"]]);var he=ue;const ye=e=>((0,l.dD)("data-v-1c4503ee"),e=e(),(0,l.Cn)(),e),pe={key:1,class:"playlist fade-in"},ke={class:"header-container"},me={class:"col-7 filter"},fe=ye((()=>(0,l._)("i",{class:"fas fa-arrow-left"},null,-1))),ve=[fe],ge={class:"col-5 buttons"},we=ye((()=>(0,l._)("i",{class:"fas fa-bars"},null,-1))),be=[we],Ce={key:0,class:"no-content"},Te=["onDragstart","onDragend","onDragover","data-index","onClick","onContextmenu","onDblclick"],_e={class:"col-10"},De={class:"title"},xe={key:0,class:"artist"},$e=["textContent","onClick"],Pe={key:1,class:"album"},Se=["textContent","onClick"],Ae={class:"col-2 right-side"},Ie=["textContent"],Re={class:"actions"};function qe(e,t,s,n,c,o){const r=(0,l.up)("Loading"),d=(0,l.up)("DropdownItem"),u=(0,l.up)("Dropdown"),h=(0,l.up)("MusicHeader");return s.loading?((0,l.wg)(),(0,l.j4)(r,{key:0})):((0,l.wg)(),(0,l.iD)("div",pe,[(0,l._)("div",ke,[(0,l.Wm)(h,{ref:"header"},{default:(0,l.w5)((()=>[(0,l._)("div",me,[s.withBack?((0,l.wg)(),(0,l.iD)("button",{key:0,class:"back-btn",title:"Back",onClick:t[0]||(t[0]=t=>e.$emit("back"))},ve)):(0,l.kq)("",!0),(0,l._)("label",null,[(0,l.wy)((0,l._)("input",{type:"search",placeholder:"Filter","onUpdate:modelValue":t[1]||(t[1]=e=>c.filter=e)},null,512),[[i.nr,c.filter]])])]),(0,l._)("div",ge,[s.showNavButton?((0,l.wg)(),(0,l.iD)("button",{key:0,class:"mobile",title:"Menu",onClick:t[2]||(t[2]=t=>e.$emit("toggle-nav"))},be)):(0,l.kq)("",!0),(0,l.Wm)(u,{title:"Actions","icon-class":"fa fa-ellipsis-h"},{default:(0,l.w5)((()=>[(0,l.Wm)(d,{text:"Add track","icon-class":"fa fa-plus",onClick:o.addTrack},null,8,["onClick"]),null!=s.devices?((0,l.wg)(),(0,l.j4)(d,{key:0,text:"Refresh status","icon-class":"fa fa-sync",onClick:t[3]||(t[3]=t=>e.$emit("refresh-status"))})):(0,l.kq)("",!0),s.withSave?((0,l.wg)(),(0,l.j4)(d,{key:1,text:"Save as playlist","icon-class":"fa fa-save",disabled:!s.tracks?.length,onClick:o.playlistSave},null,8,["disabled","onClick"])):(0,l.kq)("",!0),s.withSwap&&2===c.selectedTracks?.length?((0,l.wg)(),(0,l.j4)(d,{key:2,text:"Swap tracks","icon-class":"fa fa-retweet",onClick:t[4]||(t[4]=t=>e.$emit("swap",c.selectedTracks))})):(0,l.kq)("",!0),(0,l.Wm)(d,{text:c.selectionMode?"End selection":"Start selection","icon-class":"far fa-check-square",disabled:!s.tracks?.length,onClick:t[5]||(t[5]=e=>c.selectionMode=!c.selectionMode)},null,8,["text","disabled"]),(0,l.Wm)(d,{text:c.selectedTracks?.length===s.tracks?.length?"Unselect all":"Select all","icon-class":"fa fa-check-double",disabled:!s.tracks?.length,onClick:t[6]||(t[6]=e=>c.selectedTracks=c.selectedTracks.length===s.tracks.length?[]:[...Array(s.tracks.length).keys()])},null,8,["text","disabled"]),c.selectedTracks.length>0?((0,l.wg)(),(0,l.j4)(d,{key:3,text:"Remove track"+(c.selectedTracks.length>1?"s":""),"icon-class":"fa fa-trash",onClick:t[7]||(t[7]=t=>e.$emit("remove",[...new Set(c.selectedTracks)]))},null,8,["text"])):(0,l.kq)("",!0),s.withClear?((0,l.wg)(),(0,l.j4)(d,{key:4,text:"Clear playlist","icon-class":"fa fa-ban",disabled:!s.tracks?.length,onClick:t[8]||(t[8]=t=>e.$emit("clear"))},null,8,["disabled"])):(0,l.kq)("",!0)])),_:1}),Object.keys(s.devices||{}).length?((0,l.wg)(),(0,l.j4)(u,{key:1,title:"Players","icon-class":"fa fa-volume-up"},{default:(0,l.w5)((()=>[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.devices,((t,i)=>((0,l.wg)(),(0,l.j4)(d,{key:i,textContent:(0,a.zw)(t.name),"item-class":{active:s.activeDevice===i,selected:s.selectedDevice===i},"icon-class":"fa fa-volume-up",onClick:t=>e.$emit("select-device",i)},null,8,["textContent","item-class","onClick"])))),128))])),_:1})):(0,l.kq)("",!0)])])),_:1},512)]),(0,l._)("div",{class:"body",ref:"body",onScroll:t[9]||(t[9]=(...e)=>o.onScroll&&o.onScroll(...e))},[s.tracks?.length?(0,l.kq)("",!0):((0,l.wg)(),(0,l.iD)("div",Ce," No tracks are loaded ")),((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(o.displayedTrackIndices,(t=>((0,l.wg)(),(0,l.iD)("div",{class:(0,a.C_)(["row track",o.trackClass(t)]),onDragstart:e=>o.onTrackDragStart(t),onDragend:e=>o.onTrackDragEnd(t),onDragover:e=>o.onTrackDragOver(t),draggable:"true",key:t,"data-index":t,onClick:(0,i.iM)((e=>o.onTrackClick(e,t)),["left"]),onContextmenu:(0,i.iM)((s=>e.$refs["menu"+t][0].toggle(s)),["right","prevent"]),onDblclick:s=>e.$emit("play",{pos:t})},[(0,l._)("div",_e,[(0,l._)("div",De,[(0,l.Uk)((0,a.zw)(s.tracks[t].title||"[No Title]")+" ",1),o.isPlayingTrack(t)?((0,l.wg)(),(0,l.iD)("div",{key:0,class:(0,a.C_)(["playing-icon",{paused:"pause"===s.status?.state}])},[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)([...Array(3).keys()],(e=>((0,l.wg)(),(0,l.iD)("span",{key:e})))),128))],2)):(0,l.kq)("",!0)]),s.tracks[t].artist?((0,l.wg)(),(0,l.iD)("div",xe,[(0,l._)("a",{textContent:(0,a.zw)(s.tracks[t].artist),onClick:(0,i.iM)((e=>o.searchArtist(s.tracks[t])),["prevent"])},null,8,$e)])):(0,l.kq)("",!0),s.tracks[t].album?((0,l.wg)(),(0,l.iD)("div",Pe,[(0,l._)("a",{textContent:(0,a.zw)(s.tracks[t].album),onClick:(0,i.iM)((e=>o.searchAlbum(s.tracks[t])),["prevent"])},null,8,Se)])):(0,l.kq)("",!0)]),(0,l._)("div",Ae,[(0,l._)("span",{class:"duration",textContent:(0,a.zw)(s.tracks[t].time?e.convertTime(s.tracks[t].time):"-:--")},null,8,Ie),(0,l._)("span",Re,[(0,l.Wm)(u,{title:"Actions","icon-class":"fa fa-ellipsis-h",ref_for:!0,ref:"menu"+t},{default:(0,l.w5)((()=>[(0,l.Wm)(d,{text:"Play","icon-class":"fa fa-play",onClick:e=>o.onMenuPlay(t)},null,8,["onClick"]),s.withAddToQueue?((0,l.wg)(),(0,l.j4)(d,{key:0,text:"Add to queue","icon-class":"fa fa-plus",onClick:s=>e.$emit("add-to-queue",[...new Set([...c.selectedTracks,t])])},null,8,["onClick"])):(0,l.kq)("",!0),(0,l.Wm)(d,{text:"Add to playlist","icon-class":"fa fa-list-ul",onClick:l=>e.$emit("add-to-playlist",s.tracks[t])},null,8,["onClick"]),(0,l.Wm)(d,{text:"Remove","icon-class":"fa fa-trash",onClick:s=>e.$emit("remove",[...new Set([...c.selectedTracks,t])])},null,8,["onClick"]),(0,l.Wm)(d,{text:"Info","icon-class":"fa fa-info",onClick:l=>e.$emit("info",s.tracks[t])},null,8,["onClick"])])),_:2},1536)])])],42,Te)))),128))],544)]))}s(560);const Me={class:"header"};function Ve(e,t,s,a,i,n){return(0,l.wg)(),(0,l.iD)("div",Me,[(0,l.WI)(e.$slots,"default",{},void 0,!0)])}var Le={name:"Header"};const Ne=(0,J.Z)(Le,[["render",Ve],["__scopeId","data-v-7e4bd102"]]);var Ee=Ne,je=s(2787),ze=s(815),Oe={name:"Playlist",mixins:[le.Z],components:{DropdownItem:ze.Z,Dropdown:je.Z,MusicHeader:Ee,Loading:te.Z},emits:["add","add-to-playlist","add-to-queue","add-to-queue-and-play","back","clear","info","move","play","refresh-status","remove","save","search","select-device","swap","toggle-nav"],props:{tracks:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1},status:{type:Object,default:()=>{}},devices:{type:Object},selectedDevice:{type:String},activeDevice:{type:String},maxVisibleTracks:{type:Number,default:100},showNavButton:{type:Boolean,default:!1},withAddToQueue:{type:Boolean,default:!1},withBack:{type:Boolean,default:!1},withClear:{type:Boolean,default:!1},withSave:{type:Boolean,default:!1},withSwap:{type:Boolean,default:!1}},data(){return{selectionMode:!1,selectedTracks:[],filter:"",infoTrack:null,sourcePos:null,targetPos:null,centerPos:0,mounted:!1,scrollTimeout:null}},computed:{selectedTracksSet(){return new Set(this.selectedTracks)},trackIndicesByToken(){const e={};return this.tracks.forEach(((t,s)=>{const l=[t?.artist,t?.album,t?.title].filter((e=>e?.trim()?.length)).map((e=>e.trim().toLowerCase())).join(" ");e[l]||(e[l]=new Set),e[l].add(s)})),e},displayedTrackIndices(){let e=[...Array(this.tracks.length).keys()];if(this.filter?.length){const t=this.filter?.trim()?.replace(/\s+/g," ").toLowerCase(),s=new Set;Object.entries(this.trackIndicesByToken).forEach((([e,l])=>{e.indexOf(t)<0||s.add(...l)})),e=[...s],e.sort()}if(e.length>this.maxVisibleTracks){const t=Math.max(0,this.centerPos-Math.floor(this.maxVisibleTracks/2));e=e.slice(t,t+this.maxVisibleTracks)}return e}},methods:{getTrackElements(){return this.$refs.body.querySelectorAll(".track")},onTrackClick(e,t){if(e.shiftKey){const e=this.selectedTracks.sort();e.length?t<e[0]?this.selectedTracks=[...this.selectedTracks,...[...Array(e[0]-t).keys()].map((e=>e+t))]:t>e[e.length-1]&&(this.selectedTracks=[...this.selectedTracks,...[...Array(t-e[e.length-1]+1).keys()].map((t=>t+e[e.length-1]))]):this.selectedTracks=[t]}else{const s=this.selectedTracks.indexOf(t);this.selectionMode||e.ctrlKey?s>=0?this.selectedTracks.splice(s,1):this.selectedTracks.push(t):this.selectedTracks=s>=0?[]:[t]}},isPlayingTrack(e){return("play"===this.status?.state||"pause"===this.status?.state)&&(!this.withAddToQueue&&this.status?.playingPos===e)},trackClass(e){return{selected:this.selectedTracksSet.has(e),active:this.isPlayingTrack(e)}},addTrack(){const e=prompt("Item path or URL");e?.length&&this.$emit("add",e)},onMenuPlay(e){this.withAddToQueue?this.$emit("add-to-queue-and-play",[...new Set([...this.selectedTracks,e])]):this.$emit("play",{pos:e})},onTrackDragStart(e){this.sourcePos=e,this.selectedTracksSet.has(e)||(this.selectedTracks=[e]),this.$nextTick((()=>{const e=[...this.getTrackElements()].filter(((e,t)=>this.selectedTracksSet.has(t)));e.forEach((e=>e.classList.add("dragging")))}))},onTrackDragEnd(){if(this.getTrackElements().forEach((e=>{e.classList.remove("dragover"),e.classList.remove("top"),e.classList.remove("bottom")})),null!=this.sourcePos&&null!=this.targetPos&&this.sourcePos!==this.targetPos){const e=this.selectedTracks.length?this.selectedTracks:[this.sourcePos];this.$emit("move",{from:e,to:this.targetPos})}this.sourcePos=null,this.targetPos=null,this.selectedTracks=[],this.getTrackElements().forEach((e=>e.classList.remove("dragging")))},onTrackDragOver(e){this.targetPos=e;const t=this.getTrackElements(),s=[...t].find((t=>parseInt(t.dataset.index||-1)===e)),l=Math.min(...this.selectedTracks);t.forEach((e=>{e.classList.remove("dragover"),e.classList.remove("top"),e.classList.remove("bottom")})),e!==l&&(s.classList.add("dragover"),e>l?s.classList.add("bottom"):s.classList.add("top"))},onScroll(){const e=this.$refs.body.scrollTop,t=parseFloat(getComputedStyle(this.$refs.body).height),s=this.$refs.body.scrollHeight;if(e<5){if(this.scrollTimeout)return;this.scrollTimeout=setTimeout((()=>{this.centerPos=Math.max(0,parseInt(this.centerPos-this.maxVisibleTracks/1.5)),this.$refs.body.scrollTop=6,this.scrollTimeout=null}),250)}else if(e>=s-t-5){if(this.scrollTimeout)return;this.scrollTimeout=setTimeout((()=>{this.centerPos=Math.min(this.tracks.length-1,parseInt(this.centerPos+this.maxVisibleTracks/1.5)),this.scrollTimeout=null}),250)}},playlistSave(){const e=prompt("Playlist name");e?.length&&this.$emit("save",e)},scrollToTrack(e){this.centerPos=e||this.status?.playingPos||0,this.$nextTick((()=>{this.$refs.body?([...this.$refs.body.querySelectorAll(".track")].filter((e=>e.classList.contains("active"))).forEach((e=>e.scrollIntoView({block:"center",behavior:"smooth"}))),this.mounted=!0):this.$watch((()=>this.$refs.body),(()=>{this.mounted||this.scrollToTrack(e)}))}))},searchArtist(e){const t={};if(e.artist_uri&&(t.uris=[e.artist_uri]),!e.artist)return console.warn("No artist information available"),void console.debug(e);t.artist=e.artist,this.$emit("search",t)},searchAlbum(e){const t={};if(e.album_uri&&(t.uris=[e.album_uri]),!e.artist||!e.album)return console.warn("No artist/album information available"),void console.debug(e);t.artist=e.artist,t.album=e.album,this.$emit("search",t)}},mounted(){this.withAddToQueue||(this.scrollToTrack(),this.$watch((()=>this.status),(()=>this.scrollToTrack())),this.$watch((()=>this.filter),(e=>{e?.length||this.scrollToTrack()})))}};const We=(0,J.Z)(Oe,[["render",qe],["__scopeId","data-v-1c4503ee"]]);var Be=We;const Ze=e=>((0,l.dD)("data-v-be680816"),e=e(),(0,l.Cn)(),e),Fe={key:1,class:"editor-container fade-in"},He={key:2,class:"playlists fade-in"},Ke={class:"header-container"},Ue={class:"col-7 filter"},Qe={class:"col-5 buttons"},Ye=Ze((()=>(0,l._)("i",{class:"fa fa-sync"},null,-1))),Ge=[Ye],Je=Ze((()=>(0,l._)("i",{class:"fas fa-bars"},null,-1))),Xe=[Je],et={class:"body",ref:"body"},tt={key:0,class:"no-content"},st=["onClick","onDblclick"],lt={class:"col-10 name-container"},at=Ze((()=>(0,l._)("div",{class:"icon"},[(0,l._)("i",{class:"fa fa-list"})],-1))),it=["textContent"],nt={class:"col-2 right-side"},ct={class:"actions"};function ot(e,t,s,n,c,o){const r=(0,l.up)("Loading"),d=(0,l.up)("Playlist"),u=(0,l.up)("DropdownItem"),h=(0,l.up)("Dropdown"),y=(0,l.up)("MusicHeader");return s.loading?((0,l.wg)(),(0,l.j4)(r,{key:0})):null!=s.editedPlaylist?((0,l.wg)(),(0,l.iD)("div",Fe,[(0,l.Wm)(d,{tracks:s.tracks||[],status:s.status,devices:s.devices,"selected-device":s.selectedDevice,"active-device":s.activeDevice,"show-nav-button":s.showNavButton,"with-add-to-queue":!0,"with-back":!0,onAdd:t[0]||(t[0]=t=>e.$emit("playlist-add",t)),onAddToPlaylist:t[1]||(t[1]=t=>e.$emit("add-to-playlist",t)),onAddToQueue:t[2]||(t[2]=t=>e.$emit("load-tracks",{tracks:t,play:!1})),onAddToQueueAndPlay:t[3]||(t[3]=t=>e.$emit("load-tracks",{tracks:t,play:!0})),onBack:t[4]||(t[4]=t=>e.$emit("playlist-edit",null)),onInfo:t[5]||(t[5]=t=>e.$emit("info",t)),onMove:t[6]||(t[6]=t=>e.$emit("track-move",{...t,playlist:s.editedPlaylist})),onPlay:t[7]||(t[7]=t=>e.$emit("load-tracks",{tracks:[t],play:!0})),onRefreshStatus:t[8]||(t[8]=t=>e.$emit("refresh-status")),onRemove:t[9]||(t[9]=t=>e.$emit("remove-track",t)),onSearch:t[10]||(t[10]=t=>e.$emit("search",t)),onSelectDevice:t[11]||(t[11]=t=>e.$emit("select-device",t)),onToggleNav:t[12]||(t[12]=t=>e.$emit("toggle-nav"))},null,8,["tracks","status","devices","selected-device","active-device","show-nav-button"])])):((0,l.wg)(),(0,l.iD)("div",He,[(0,l._)("div",Ke,[(0,l.Wm)(y,{ref:"header"},{default:(0,l.w5)((()=>[(0,l._)("div",Ue,[(0,l._)("label",null,[(0,l.wy)((0,l._)("input",{type:"search",placeholder:"Filter","onUpdate:modelValue":t[13]||(t[13]=e=>c.filter=e)},null,512),[[i.nr,c.filter]])])]),(0,l._)("div",Qe,[Object.keys(s.devices||{}).length?((0,l.wg)(),(0,l.j4)(h,{key:0,title:"Players","icon-class":"fa fa-volume-up"},{default:(0,l.w5)((()=>[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.devices,((t,i)=>((0,l.wg)(),(0,l.j4)(u,{key:i,textContent:(0,a.zw)(t.name),"item-class":{active:s.activeDevice===i,selected:s.selectedDevice===i},"icon-class":"fa fa-volume-up",onClick:t=>e.$emit("select-device",i)},null,8,["textContent","item-class","onClick"])))),128))])),_:1})):(0,l.kq)("",!0),null!=s.devices?((0,l.wg)(),(0,l.iD)("button",{key:1,title:"Refresh status",onClick:t[14]||(t[14]=t=>e.$emit("refresh-status"))},Ge)):(0,l.kq)("",!0),s.showNavButton?((0,l.wg)(),(0,l.iD)("button",{key:2,class:"mobile",title:"Menu",onClick:t[15]||(t[15]=t=>e.$emit("toggle-nav"))},Xe)):(0,l.kq)("",!0)])])),_:1},512)]),(0,l._)("div",et,[s.playlists?.length?(0,l.kq)("",!0):((0,l.wg)(),(0,l.iD)("div",tt," No playlists found ")),((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.playlists,((t,s)=>((0,l.wg)(),(0,l.iD)("div",{class:(0,a.C_)(["row playlist",{hidden:!o.displayedPlaylists.has(s)}]),key:s,onClick:t=>e.$emit("playlist-edit",s),onDblclick:t=>e.$emit("load",s)},[(0,l._)("div",lt,[at,(0,l._)("div",{class:"name",textContent:(0,a.zw)(t.name||"[No Name]")},null,8,it)]),(0,l._)("div",nt,[(0,l._)("span",ct,[(0,l.Wm)(h,{title:"Actions","icon-class":"fa fa-ellipsis-h"},{default:(0,l.w5)((()=>[(0,l.Wm)(u,{text:"Play","icon-class":"fa fa-play",onClick:(0,i.iM)((t=>e.$emit("play",s)),["stop"])},null,8,["onClick"]),(0,l.Wm)(u,{text:"Load","icon-class":"fa fa-list-ul",onClick:(0,i.iM)((t=>e.$emit("load",s)),["stop"])},null,8,["onClick"]),(0,l.Wm)(u,{text:"Edit","icon-class":"fa fa-edit",onClick:(0,i.iM)((t=>e.$emit("playlist-edit",s)),["stop"])},null,8,["onClick"]),(0,l.Wm)(u,{text:"Remove","icon-class":"fa fa-trash",onClick:(0,i.iM)((t=>e.$emit("remove",s)),["stop"])},null,8,["onClick"])])),_:2},1024)])])],42,st)))),128))],512)]))}var rt={name:"Playlists",mixins:[le.Z],components:{Dropdown:je.Z,DropdownItem:ze.Z,MusicHeader:Ee,Loading:te.Z,Playlist:Be},emits:["add-to-playlist","info","load","load-tracks","play","playlist-add","playlist-edit","refresh-status","remove","remove-track","search","select-device","track-move"],props:{playlists:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1},tracks:{type:Array,default:()=>[]},editedPlaylist:{type:Number},devices:{type:Object},status:{type:Object,default:()=>{}},selectedDevice:{type:String},activeDevice:{type:String},showNavButton:{type:Boolean,default:!1}},data(){return{selectedTracks:[],filter:"",trackFilter:"",sourcePos:null,targetPos:null}},computed:{selectedTracksSet(){return new Set(this.selectedTracks)},displayedPlaylists(){const e=[...Array(this.playlists.length).keys()];if(!this.filter?.length)return new Set(e);const t=this,s=(t.filter||"").toLowerCase();return new Set(e.filter((e=>{const t=this.playlists[e];return(t?.name||"").toLowerCase().indexOf(s)>=0})))},displayedTracks(){const e=[...Array(this.tracks.length).keys()];if(!this.trackFilter?.length)return new Set(e);const t=this,s=(t.trackFilter||"").toLowerCase();return new Set(e.filter((e=>{const t=this.tracks[e];return(t?.artist||"").toLowerCase().indexOf(s)>=0||(t?.title||"").toLowerCase().indexOf(s)>=0||(t?.album||"").toLowerCase().indexOf(s)>=0})))}},methods:{onTrackClick(e,t){if(e.shiftKey){const e=this.selectedTracks.sort();e.length?t<e[0]?this.selectedTracks=[...this.selectedTracks,...[...Array(e[0]-t).keys()].map((e=>e+t))]:t>e[e.length-1]&&(this.selectedTracks=[...this.selectedTracks,...[...Array(t-e[e.length-1]+1).keys()].map((t=>t+e[e.length-1]))]):this.selectedTracks=[t]}else{const s=this.selectedTracks.indexOf(t);e.ctrlKey?s>=0?this.selectedTracks.splice(s,1):this.selectedTracks.push(t):this.selectedTracks=s>=0?[]:[t]}},onTrackDragStart(e){this.sourcePos=e},onTrackDragEnd(){this.$refs.editor.querySelectorAll(".track").forEach((e=>e.classList.remove("dragover"))),null!=this.sourcePos&&null!=this.targetPos&&this.sourcePos!==this.targetPos&&(this.$emit("track-move",{from:this.selectedTracks,to:this.targetPos,playlist:this.editedPlaylist}),this.sourcePos=null,this.targetPos=null,this.selectedTracks=[])},onTrackDragOver(e){this.targetPos=e;const t=this.$refs.editor.querySelectorAll(".track");t.forEach((e=>e.classList.remove("dragover"))),[...t][e].classList.add("dragover")}}};const dt=(0,J.Z)(rt,[["render",ot],["__scopeId","data-v-be680816"]]);var ut=dt;const ht=e=>((0,l.dD)("data-v-897f30f2"),e=e(),(0,l.Cn)(),e),yt=ht((()=>(0,l._)("i",{class:"fas fa-bars"},null,-1))),pt=[yt],kt={class:"search-form"},mt={class:"row"},ft={class:"row"},vt={class:"row"},gt={class:"row"},wt=ht((()=>(0,l._)("i",{class:"icon fa fa-times"},null,-1))),bt=ht((()=>(0,l._)("span",{class:"btn-title"},"Clear",-1))),Ct=[wt,bt],Tt=ht((()=>(0,l._)("button",{type:"submit"},[(0,l._)("i",{class:"icon fa fa-search"}),(0,l._)("span",{class:"btn-title"},"Search")],-1))),_t={class:"col-10 search-box"},Dt=ht((()=>(0,l._)("i",{class:"fas fa-arrow-left"},null,-1))),xt=[Dt],$t={class:"col-2 buttons"},Pt=ht((()=>(0,l._)("i",{class:"fas fa-bars"},null,-1))),St=[Pt],At={class:"results"},It=["onClick"],Rt={class:"col-10"},qt={class:"title-container"},Mt=["title"],Vt={key:0,class:"fa fa-user"},Lt={key:1,class:"fa fa-compact-disc"},Nt={key:2,class:"fa fa-list"},Et={key:3,class:"fa fa-music"},jt={class:"title"},zt={key:0},Ot={key:1},Wt={key:2},Bt={key:3},Zt=["textContent"],Ft=["textContent"],Ht={class:"col-2 right-side"},Kt=["textContent"],Ut={class:"actions"};function Qt(e,t,s,n,c,o){const r=(0,l.up)("FormFooter"),d=(0,l.up)("MusicHeader"),u=(0,l.up)("DropdownItem"),h=(0,l.up)("Dropdown");return(0,l.wg)(),(0,l.iD)("div",{class:(0,a.C_)(["search fade-in",{"form-collapsed":o.formCollapsed}])},[s.showNavButton&&!o.formCollapsed?((0,l.wg)(),(0,l.iD)("button",{key:0,class:"nav-toggler mobile floating",title:"Menu",onClick:t[0]||(t[0]=t=>e.$emit("toggle-nav"))},pt)):(0,l.kq)("",!0),o.formCollapsed?((0,l.wg)(),(0,l.j4)(d,{key:2},{default:(0,l.w5)((()=>[(0,l._)("label",_t,[(0,l._)("button",{class:"back-btn",title:"Back",onClick:t[7]||(t[7]=(...e)=>o.clear&&o.clear(...e))},xt),(0,l.wy)((0,l._)("input",{type:"search",placeholder:"Filter","onUpdate:modelValue":t[8]||(t[8]=e=>c.filter=e)},null,512),[[i.nr,c.filter]])]),(0,l._)("span",$t,[s.showNavButton?((0,l.wg)(),(0,l.iD)("button",{key:0,class:"mobile",title:"Menu",onClick:t[9]||(t[9]=t=>e.$emit("toggle-nav"))},St)):(0,l.kq)("",!0)])])),_:1})):((0,l.wg)(),(0,l.iD)("div",{key:1,class:"form-container",onSubmit:t[6]||(t[6]=(0,i.iM)((t=>e.$emit("search",o.filteredQuery)),["prevent"]))},[(0,l._)("form",kt,[(0,l._)("div",mt,[(0,l._)("label",null,[(0,l.wy)((0,l._)("input",{type:"text",placeholder:"Any","onUpdate:modelValue":t[1]||(t[1]=e=>c.query.any=e)},null,512),[[i.nr,c.query.any]])])]),(0,l._)("div",ft,[(0,l._)("label",null,[(0,l.wy)((0,l._)("input",{type:"text",placeholder:"Artist","onUpdate:modelValue":t[2]||(t[2]=e=>c.query.artist=e)},null,512),[[i.nr,c.query.artist]])])]),(0,l._)("div",vt,[(0,l._)("label",null,[(0,l.wy)((0,l._)("input",{type:"text",placeholder:"Title","onUpdate:modelValue":t[3]||(t[3]=e=>c.query.title=e)},null,512),[[i.nr,c.query.title]])])]),(0,l._)("div",gt,[(0,l._)("label",null,[(0,l.wy)((0,l._)("input",{type:"text",placeholder:"Album","onUpdate:modelValue":t[4]||(t[4]=e=>c.query.album=e)},null,512),[[i.nr,c.query.album]])])]),(0,l.Wm)(r,null,{default:(0,l.w5)((()=>[(0,l._)("button",{onClick:t[5]||(t[5]=(...e)=>o.clear&&o.clear(...e))},Ct),Tt])),_:1})])],32)),(0,l._)("div",At,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.results,((t,s)=>((0,l.wg)(),(0,l.iD)("div",{class:(0,a.C_)(["row track",{selected:c.selectedResults.has(s),hidden:!o.displayedTracks.has(s)}]),key:s,onClick:e=>o.resultClick(s,e)},[(0,l._)("div",Rt,[(0,l._)("div",qt,[t.type?((0,l.wg)(),(0,l.iD)("div",{key:0,class:"type",title:t.type},["artist"===t.type?((0,l.wg)(),(0,l.iD)("i",Vt)):"album"===t.type?((0,l.wg)(),(0,l.iD)("i",Lt)):"playlist"===t.type?((0,l.wg)(),(0,l.iD)("i",Nt)):((0,l.wg)(),(0,l.iD)("i",Et))],8,Mt)):(0,l.kq)("",!0),(0,l._)("div",jt,["playlist"===t.type?((0,l.wg)(),(0,l.iD)("span",zt,(0,a.zw)(t.name||t.title||"[No Name]"),1)):"artist"===t.type?((0,l.wg)(),(0,l.iD)("span",Ot,(0,a.zw)(t.name||t.title||t.artist||"[No Name]"),1)):"album"===t.type?((0,l.wg)(),(0,l.iD)("span",Wt,(0,a.zw)(t.name||t.title||t.album||"[No Title]"),1)):((0,l.wg)(),(0,l.iD)("span",Bt,(0,a.zw)(t.title||"[No Title]"),1))])]),t.artist?.length&&"artist"!==t.type?((0,l.wg)(),(0,l.iD)("div",{key:0,class:"artist",textContent:(0,a.zw)(t.artist)},null,8,Zt)):(0,l.kq)("",!0),t.album?.length&&"album"!==t.type?((0,l.wg)(),(0,l.iD)("div",{key:1,class:"album",textContent:(0,a.zw)(t.album)},null,8,Ft)):(0,l.kq)("",!0)]),(0,l._)("div",Ht,[(0,l._)("span",{class:"duration",textContent:(0,a.zw)(t.time&&parseInt(t.time)?e.convertTime(t.time):"-:--")},null,8,Kt),(0,l._)("span",Ut,[(0,l.Wm)(h,{title:"Actions","icon-class":"fa fa-ellipsis-h"},{default:(0,l.w5)((()=>[(0,l.Wm)(u,{text:"Play","icon-class":"fa fa-play",onClick:e=>o.play(s)},null,8,["onClick"]),(0,l.Wm)(u,{text:"Add to queue","icon-class":"fa fa-plus",onClick:e=>o.load(s)},null,8,["onClick"]),(0,l.Wm)(u,{text:"Add to playlist","icon-class":"fa fa-list-ul",onClick:s=>e.$emit("add-to-playlist",t)},null,8,["onClick"]),(0,l.Wm)(u,{text:"Info","icon-class":"fa fa-info",onClick:s=>e.$emit("info",t)},null,8,["onClick"])])),_:2},1024)])])],10,It)))),128))])],2)}var Yt={name:"Search",components:{Dropdown:je.Z,DropdownItem:ze.Z,FormFooter:ee,MusicHeader:Ee},mixins:[le.Z],emits:["add-to-playlist","clear","info","load","play","refresh-status","search","select-device","toggle-nav"],props:{loading:{type:Boolean,default:!1},results:{type:Array},devices:{type:Object},selectedDevice:{type:String},activeDevice:{type:String},showNavButton:{type:Boolean,default:!1}},data(){return{selectedResults:new Set,filter:"",query:{any:"",artist:"",title:"",album:""}}},computed:{formCollapsed(){return this.results?.length>0},filteredQuery(){return Object.entries(this.query).filter((e=>e[1]?.length)).reduce(((e,[t,s])=>(e[t]=s,e)),{})},displayedTracks(){return new Set([...Array(this.results?.length||0).keys()].filter((e=>{const t=this.results[e];if(!this.filter?.length)return t;const s=this.filter.toLowerCase();return(t?.artist||"").toLowerCase().indexOf(s)>=0||(t?.title||"").toLowerCase().indexOf(s)>=0||(t?.album||"").toLowerCase().indexOf(s)>=0})))}},methods:{clear(){this.$emit("clear"),this.selectedResults=new Set},resultClick(e,t){if(t.shiftKey){if(this.selectedResults.size>0&&!this.selectedResults.has(e)){const t=[...this.selectedResults],s=Math.min(Math.min(t),e),l=Math.max(Math.max(t),e);this.selectedResults=new Set([...Array(l-s+1).keys()].map((e=>e+s)))}}else t.ctrlKey||(this.selectedResults=new Set),this.selectedResults.has(e)?this.selectedResults.delete(e):this.selectedResults.add(e)},play(e){this.$emit("play",this.results[e]),this.selectedResults.size&&this.selectedResults.forEach((e=>{this.$emit("load",e)}))},load(e){this.selectedResults.has(e)||this.selectedResults.add(e),this.selectedResults.forEach((e=>{this.$emit("load",this.results[e])}))}}};const Gt=(0,J.Z)(Yt,[["render",Qt],["__scopeId","data-v-897f30f2"]]);var Jt=Gt;const Xt=e=>((0,l.dD)("data-v-163c27b3"),e=e(),(0,l.Cn)(),e),es={class:"library fade-in"},ts={class:"col-10 search-box"},ss={class:"col-2 buttons"},ls=Xt((()=>(0,l._)("i",{class:"fas fa-bars"},null,-1))),as=[ls],is={class:"results"},ns=Xt((()=>(0,l._)("div",{class:"icon-container"},[(0,l._)("i",{class:"icon fa fa-folder"})],-1))),cs=Xt((()=>(0,l._)("div",{class:"result-container"},[(0,l._)("div",{class:"title"},"..")],-1))),os=[ns,cs],rs=["onClick"],ds={class:"col-10 left-side"},us={class:"icon-container"},hs={key:0,class:"icon fa fa-folder"},ys={key:1,class:"icon fa fa-user"},ps={key:2,class:"icon fa fa-compact-disc"},ks={key:3,class:"icon fa fa-list"},ms={key:4,class:"icon fa fa-music"},fs={class:"info"},vs={class:"title"},gs=["textContent"],ws=["textContent"],bs=["textContent"],Cs=["textContent"],Ts=["textContent"],_s={class:"artist-album"},Ds=["textContent"],xs=["textContent"],$s={class:"col-2 right-side"},Ps=["textContent"],Ss={class:"actions"};function As(e,t,s,n,c,o){const r=(0,l.up)("Loading"),d=(0,l.up)("MusicHeader"),u=(0,l.up)("DropdownItem"),h=(0,l.up)("Dropdown");return(0,l.wg)(),(0,l.iD)("div",es,[s.loading?((0,l.wg)(),(0,l.j4)(r,{key:0})):(0,l.kq)("",!0),(0,l.Wm)(d,null,{default:(0,l.w5)((()=>[(0,l._)("label",ts,[(0,l.wy)((0,l._)("input",{type:"search",placeholder:"Filter","onUpdate:modelValue":t[0]||(t[0]=e=>c.filter=e)},null,512),[[i.nr,c.filter]])]),(0,l._)("div",ss,[s.showNavButton?((0,l.wg)(),(0,l.iD)("button",{key:0,class:"mobile",title:"Menu",onClick:t[1]||(t[1]=t=>e.$emit("toggle-nav"))},as)):(0,l.kq)("",!0)])])),_:1}),(0,l._)("div",is,[o.isRoot?(0,l.kq)("",!0):((0,l.wg)(),(0,l.iD)("div",{key:0,class:"row track back-track",onClick:t[2]||(t[2]=(...e)=>o.back&&o.back(...e))},os)),((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(s.results,((t,s)=>((0,l.wg)(),(0,l.iD)("div",{class:(0,a.C_)(["row track",{selected:c.selectedResults.has(s),hidden:!o.displayedResults.has(s)}]),key:s,onClick:e=>o.resultClick(s,e)},[(0,l._)("div",ds,[(0,l._)("div",us,[o.isDirectory(s)?((0,l.wg)(),(0,l.iD)("i",hs)):o.isArtist(s)?((0,l.wg)(),(0,l.iD)("i",ys)):o.isAlbum(s)?((0,l.wg)(),(0,l.iD)("i",ps)):o.isPlaylist(s)?((0,l.wg)(),(0,l.iD)("i",ks)):t.file?((0,l.wg)(),(0,l.iD)("i",ms)):(0,l.kq)("",!0)]),(0,l._)("div",fs,[(0,l._)("div",vs,[o.isDirectory(s)?((0,l.wg)(),(0,l.iD)("span",{key:0,textContent:(0,a.zw)(t.name||t.directory.split("/").pop())},null,8,gs)):o.isArtist(s)?((0,l.wg)(),(0,l.iD)("span",{key:1,textContent:(0,a.zw)(t.name||t.artist)},null,8,ws)):o.isAlbum(s)?((0,l.wg)(),(0,l.iD)("span",{key:2,textContent:(0,a.zw)(t.name||t.album)},null,8,bs)):o.isPlaylist(s)?((0,l.wg)(),(0,l.iD)("span",{key:3,textContent:(0,a.zw)(t.name||t.playlist)},null,8,Cs)):t.title?((0,l.wg)(),(0,l.iD)("span",{key:4,textContent:(0,a.zw)(t.title)},null,8,Ts)):(0,l.kq)("",!0)]),(0,l._)("div",_s,[t.artist?.length?((0,l.wg)(),(0,l.iD)("div",{key:0,class:"artist",textContent:(0,a.zw)(t.artist)},null,8,Ds)):(0,l.kq)("",!0),t.album?.length?((0,l.wg)(),(0,l.iD)("div",{key:1,class:"album",textContent:(0,a.zw)(t.album)},null,8,xs)):(0,l.kq)("",!0)])])]),(0,l._)("div",$s,[(0,l._)("span",{class:"duration",textContent:(0,a.zw)(t.time&&parseInt(t.time)?e.convertTime(t.time):"-:--")},null,8,Ps),(0,l._)("span",Ss,[(0,l.Wm)(h,{title:"Actions","icon-class":"fa fa-ellipsis-h"},{default:(0,l.w5)((()=>[(0,l.Wm)(u,{text:"Play","icon-class":"fa fa-play",onClick:e=>o.play(s)},null,8,["onClick"]),(0,l.Wm)(u,{text:"Add to queue","icon-class":"fa fa-plus",onClick:e=>o.load(s)},null,8,["onClick"]),(0,l.Wm)(u,{text:"Add to playlist","icon-class":"fa fa-list-ul",onClick:s=>e.$emit("add-to-playlist",t)},null,8,["onClick"]),(0,l.Wm)(u,{text:"Info","icon-class":"fa fa-info",onClick:s=>e.$emit("info",t)},null,8,["onClick"])])),_:2},1024)])])],10,rs)))),128))])])}var Is={name:"Library",components:{Dropdown:je.Z,DropdownItem:ze.Z,MusicHeader:Ee,Loading:te.Z},mixins:[le.Z],emits:["add-to-playlist","cd","info","load","play","refresh-status","search","select-device","toggle-nav"],props:{loading:{type:Boolean,default:!1},results:{type:Array},path:{type:Array,default:()=>[]},devices:{type:Object},selectedDevice:{type:String},activeDevice:{type:String},showNavButton:{type:Boolean,default:!1}},data(){return{selectedResults:new Set,filter:"",query:{any:"",artist:"",title:"",album:""}}},computed:{displayedResults(){return new Set([...Array(this.results?.length||0).keys()].filter((e=>{const t=this.results[e];if(!this.filter?.length)return t;const s=this.filter.toLowerCase();return(t?.artist||"").toLowerCase().indexOf(s)>=0||(t?.title||"").toLowerCase().indexOf(s)>=0||(t?.album||"").toLowerCase().indexOf(s)>=0||(t?.directory||"").toLowerCase().indexOf(s)>=0})))},isRoot(){return!this.path?.length||!this.path[0]?.length||"/"===this.path[0]}},methods:{resultClick(e,t){if(t.shiftKey){if(this.selectedResults.size>0&&!this.selectedResults.has(e)){const t=[...this.selectedResults],s=Math.min(Math.min(t),e),l=Math.max(Math.max(t),e);this.selectedResults=new Set([...Array(l-s+1).keys()].map((e=>e+s)))}}else if(t.ctrlKey)this.selectedResults.has(e)?this.selectedResults.delete(e):this.selectedResults.add(e);else if(this.isDirectory(e)||this.isArtist(e)||this.isAlbum(e)||this.isPlaylist(e)){const t=this.results[e].uri||this.results[e].directory;this.$emit("cd",[...this.path,t])}else this.selectedResults=new Set,this.selectedResults.has(e)?this.selectedResults.delete(e):this.selectedResults.add(e)},play(e){this.$emit("play",this.results[e]),this.selectedResults.size&&this.selectedResults.forEach((e=>{this.$emit("load",e)}))},load(e){this.selectedResults.has(e)||this.selectedResults.add(e),this.selectedResults.forEach((e=>{this.$emit("load",this.results[e])}))},back(){this.isRoot||this.$emit("cd",this.path.slice(0,-1))},isDirectory(e){return this.results[e].directory||"directory"===this.results[e].type},isArtist(e){return"artist"===this.results[e].type},isAlbum(e){return"album"===this.results[e].type},isPlaylist(e){return"playlist"===this.results[e].type}}};const Rs=(0,J.Z)(Is,[["render",As],["__scopeId","data-v-163c27b3"]]);var qs=Rs,Ms=s(8637),Vs={emits:["add-to-playlist","add-to-tracklist","add-to-tracklist-from-edited-playlist","cd","clear","consume","info","load-playlist","new-playing-track","next","pause","play","play-playlist","playlist-add","playlist-edit","playlist-track-move","playlist-update","previous","random","refresh-status","remove-from-playlist","remove-from-tracklist","remove-playlist","repeat","search","search-clear","seek","select-device","set-volume","status-update","stop","swap-tracks","tracklist-move","tracklist-save"],mixins:[Ms.Z,le.Z],components:{Loading:te.Z,Modal:se.Z,Nav:he,MediaView:ae.Z,Playlist:Be,Playlists:ut,FormFooter:ee,Search:Jt,Library:qs},props:{pluginName:{type:String,required:!0},loading:{type:Boolean,default:!1},config:{type:Object,default:()=>{}},tracks:{type:Array,default:()=>[]},images:{type:Object,default:()=>{}},editedPlaylistTracks:{type:Array,default:()=>[]},playlists:{type:Array,default:()=>[]},status:{type:Object,default:()=>{}},track:{type:Object,default:null},editedPlaylist:{type:Number},trackInfo:{type:Object,default:()=>{}},searchResults:{type:Array},libraryResults:{type:Array},path:{type:Array,default:()=>[]},devices:{type:Object},activeDevice:{type:String},selectedDevice:{type:String}},data(){return{selectedView:"playing",selectedPlaylists:[],addToPlaylistTrack:null,playlistFilter:"",navVisible:!1}},methods:{async onStatusEvent(e){e.plugin_name===this.pluginName&&this.$emit("status-update",e)},async onPlaylistEvent(e){e.plugin_name===this.pluginName&&this.$emit("playlist-update",e)},async onNewPlayingTrack(e){e.plugin_name===this.pluginName&&(this.notify({html:`<b>${e.track?.artist}</b><br>${e.track?.title}`,image:{iconClass:"fa fa-play"}}),this.$emit("new-playing-track",e))},async openAddToPlaylist(e){this.addToPlaylistTrack=e,this.$refs.playlistsModal.isVisible=!0},async addToPlaylist(){this.$emit("add-to-playlist",{track:this.addToPlaylistTrack,playlists:[...Array(this.selectedPlaylists.length).keys()].filter((e=>this.selectedPlaylists[e]))}),this.$refs.playlistsModal.isVisible=!1,this.addToPlaylistTrack=null,this.playlistFilter=""},async search(e){this.$emit("search",e),this.$refs.trackInfo.isVisible=!1,this.selectedView="search"},selectDevice(e){this.$emit("select-device",e)},refreshStatus(){this.$emit("refresh-status")}},mounted(){this.subscribe(this.onStatusEvent,"on-status-update","platypush.message.event.music.MusicPlayEvent","platypush.message.event.music.MusicPauseEvent","platypush.message.event.music.MusicStopEvent","platypush.message.event.music.SeekChangeEvent","platypush.message.event.music.VolumeChangeEvent","platypush.message.event.music.MuteChangeEvent","platypush.message.event.music.PlaybackRepeatModeChangeEvent","platypush.message.event.music.PlaybackRandomModeChangeEvent","platypush.message.event.music.PlaybackConsumeModeChangeEvent","platypush.message.event.music.PlaybackSingleModeChangeEvent"),this.subscribe(this.onPlaylistEvent,"on-playlist-update","platypush.message.event.music.PlaylistChangeEvent"),this.subscribe(this.onNewPlayingTrack,"on-new-playing-track","platypush.message.event.music.NewPlayingTrackEvent"),this.$watch((()=>this.trackInfo),(e=>{null!=e&&(this.$refs.trackInfo.isVisible=!0)}))},unmounted(){this.unsubscribe("on-status-update"),this.unsubscribe("on-playlist-update")}};const Ls=(0,J.Z)(Vs,[["render",U],["__scopeId","data-v-5a75ab98"]]);var Ns=Ls}}]);
//# sourceMappingURL=3553.125dc216.js.map