platypush/platypush/backend/http/webapp/dist/static/js/4196.cec98eba.js

2 lines
43 KiB
JavaScript

"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[4196],{4196:function(e,t,s){s.r(t),s.d(t,{default:function(){return li}});var i=s(6252),a=s(3577),l=s(9963);const n={class:"media-plugin fade-in"},r={class:"nav-container"},o={class:"view-container"},d={class:"media-info-container"},c={class:"subtitles-container"},u={key:0,class:"subtitles-content"},m={class:"play-url-container"},p={class:"row"},h=(0,i.Uk)(" Play URL (use "),y=(0,i.Uk)("file://"),w=(0,i.Uk)(" prefix for local files) "),f={class:"row footer"},g=["disabled"];function v(e,t,s,v,_,k){const C=(0,i.up)("Loading"),b=(0,i.up)("Nav"),x=(0,i.up)("Header"),P=(0,i.up)("Results"),D=(0,i.up)("TorrentView"),S=(0,i.up)("Browser"),q=(0,i.up)("MediaView"),N=(0,i.up)("Info"),$=(0,i.up)("Modal"),I=(0,i.up)("Subtitles"),z=(0,i.up)("tt");return(0,i.wg)(),(0,i.j4)(i.Ob,null,[(0,i._)("div",n,[_.loading?((0,i.wg)(),(0,i.j4)(C,{key:0})):(0,i.kq)("",!0),(0,i.Wm)(q,{"plugin-name":s.pluginName,status:_.selectedPlayer?.status||{},track:_.selectedPlayer?.status||{},buttons:s.mediaButtons,onPlay:k.pause,onPause:k.pause,onStop:k.stop,onSetVolume:k.setVolume,onSeek:k.seek,onSearch:k.search},{default:(0,i.w5)((()=>[(0,i._)("main",null,[(0,i._)("div",r,[(0,i.Wm)(b,{"selected-view":_.selectedView,onInput:t[0]||(t[0]=e=>_.selectedView=e)},null,8,["selected-view"])]),(0,i._)("div",o,[(0,i.Wm)(x,{"plugin-name":s.pluginName,"selected-view":_.selectedView,"has-subtitles-plugin":k.hasSubtitlesPlugin,ref:"header",sources:_.sources,"selected-item":_.selectedPlayer&&_.selectedPlayer.status&&("play"===_.selectedPlayer.status.state||"pause"===_.selectedPlayer.status.state)?_.selectedPlayer.status:_.results[_.selectedResult],"selected-subtitles":_.selectedSubtitles,"browser-filter":_.browserFilter,onSearch:k.search,onSelectPlayer:t[1]||(t[1]=e=>_.selectedPlayer=e),onPlayerStatus:k.onStatusUpdate,onTorrentAdd:t[2]||(t[2]=e=>k.downloadTorrent(e)),onShowSubtitles:t[3]||(t[3]=e=>_.showSubtitlesModal=!_.showSubtitlesModal),onPlayUrl:t[4]||(t[4]=t=>e.$refs.playUrlModal.show()),onFilter:t[5]||(t[5]=e=>_.browserFilter=e),onSourceToggle:t[6]||(t[6]=e=>_.sources[e]=!_.sources[e])},null,8,["plugin-name","selected-view","has-subtitles-plugin","sources","selected-item","selected-subtitles","browser-filter","onSearch","onPlayerStatus"]),(0,i._)("div",{class:(0,a.C_)(["body-container",{"expanded-header":e.$refs.header?.filterVisible}])},["search"===_.selectedView?((0,i.wg)(),(0,i.j4)(P,{key:0,results:_.results,"selected-result":_.selectedResult,onSelect:t[7]||(t[7]=e=>k.onResultSelect(e)),onPlay:k.play,onInfo:t[8]||(t[8]=t=>e.$refs.mediaInfo.isVisible=!0),onView:k.view,onDownload:k.download,sources:_.sources},null,8,["results","selected-result","onPlay","onView","onDownload","sources"])):"torrents"===_.selectedView?((0,i.wg)(),(0,i.j4)(D,{key:1,"plugin-name":_.torrentPlugin,"is-media":!0,onPlay:k.play},null,8,["plugin-name","onPlay"])):"browser"===_.selectedView?((0,i.wg)(),(0,i.j4)(S,{key:2,"plugin-name":_.torrentPlugin,"is-media":!0,filter:_.browserFilter,onPathChange:t[9]||(t[9]=e=>_.browserFilter=""),onPlay:t[10]||(t[10]=e=>k.play(e))},null,8,["plugin-name","filter"])):(0,i.kq)("",!0)],2)])])])),_:1},8,["plugin-name","status","track","buttons","onPlay","onPause","onStop","onSetVolume","onSeek","onSearch"]),(0,i._)("div",d,[(0,i.Wm)($,{title:"Media info",ref:"mediaInfo"},{default:(0,i.w5)((()=>[null!=_.selectedResult?((0,i.wg)(),(0,i.j4)(N,{key:0,item:_.results[_.selectedResult]},null,8,["item"])):(0,i.kq)("",!0)])),_:1},512)]),(0,i._)("div",c,[(0,i.Wm)($,{title:"Available subtitles",visible:_.showSubtitlesModal,ref:"subtitlesSelector",onClose:t[12]||(t[12]=e=>_.showSubtitlesModal=!1)},{default:(0,i.w5)((()=>[_.showSubtitlesModal&&null!=_.selectedResult?((0,i.wg)(),(0,i.iD)("div",u,[(0,i.Wm)(I,{item:_.selectedPlayer&&_.selectedPlayer.status&&("play"===_.selectedPlayer.status.state||"pause"===_.selectedPlayer.status.state)?_.selectedPlayer.status:_.results[_.selectedResult],onSelectSubs:t[11]||(t[11]=e=>k.selectSubtitles(e))},null,8,["item"])])):(0,i.kq)("",!0)])),_:1},8,["visible"])]),(0,i._)("div",m,[(0,i.Wm)($,{title:"Play URL",ref:"playUrlModal",onOpen:t[15]||(t[15]=t=>e.$refs.playUrlInput.focus())},{default:(0,i.w5)((()=>[(0,i._)("form",{onSubmit:t[14]||(t[14]=(0,l.iM)((e=>k.playUrl(_.urlPlay)),["prevent"]))},[(0,i._)("div",p,[(0,i._)("label",null,[h,(0,i.Wm)(z,null,{default:(0,i.w5)((()=>[y])),_:1}),w,(0,i.wy)((0,i._)("input",{type:"text","onUpdate:modelValue":t[13]||(t[13]=e=>_.urlPlay=e),ref:"playUrlInput",autofocus:""},null,512),[[l.nr,_.urlPlay]])])]),(0,i._)("div",f,[(0,i._)("button",{type:"submit",disabled:!_.urlPlay?.length},"Play",8,g)])],32)])),_:1},512)])])],1024)}var _=s(1232),k=s(8453),C=s(6813),b=s(8337),x=s(9978);const P=e=>((0,i.dD)("data-v-37a493ac"),e=e(),(0,i.Cn)(),e),D={class:"row"},S={key:0,class:"col-7 left side"},q=P((()=>(0,i._)("i",{class:"fa fa-filter"},null,-1))),N=[q],$={class:"search-box"},I={key:1,class:"col-7 left side"},z={class:"search-box"},T={key:2,class:"col-7 left side"},M={class:"search-box"},V=["value"],Z={class:"col-5 right side"},R=P((()=>(0,i._)("i",{class:"fas fa-closed-captioning"},null,-1))),W=[R],j=P((()=>(0,i._)("i",{class:"fa fa-plus-circle"},null,-1))),U=[j],E=["checked","onChange"];function L(e,t,s,n,r,o){const d=(0,i.up)("Players");return(0,i.wg)(),(0,i.iD)("div",{class:(0,a.C_)(["header",{"with-filter":r.filterVisible}])},[(0,i._)("div",D,["search"===s.selectedView?((0,i.wg)(),(0,i.iD)("div",S,[(0,i._)("button",{title:"Filter",class:(0,a.C_)(["filter-btn",{selected:r.filterVisible}]),onClick:t[0]||(t[0]=e=>r.filterVisible=!r.filterVisible)},N,2),(0,i._)("form",{onSubmit:t[2]||(t[2]=(0,l.iM)(((...e)=>o.search&&o.search(...e)),["prevent"]))},[(0,i._)("label",$,[(0,i.wy)((0,i._)("input",{type:"search",placeholder:"Search","onUpdate:modelValue":t[1]||(t[1]=e=>r.query=e)},null,512),[[l.nr,r.query]])])],32)])):"torrents"===s.selectedView?((0,i.wg)(),(0,i.iD)("div",I,[(0,i._)("form",{onSubmit:t[4]||(t[4]=(0,l.iM)((t=>e.$emit("torrent-add",r.torrentURL)),["prevent"]))},[(0,i._)("label",z,[(0,i.wy)((0,i._)("input",{type:"search",placeholder:"Add torrent URL","onUpdate:modelValue":t[3]||(t[3]=e=>r.torrentURL=e)},null,512),[[l.nr,r.torrentURL]])])],32)])):"browser"===s.selectedView?((0,i.wg)(),(0,i.iD)("div",T,[(0,i._)("label",M,[(0,i._)("input",{type:"search",placeholder:"Filter",value:s.browserFilter,onChange:t[5]||(t[5]=t=>e.$emit("filter",t.target.value)),onKeyup:t[6]||(t[6]=t=>e.$emit("filter",t.target.value))},null,40,V)])])):(0,i.kq)("",!0),(0,i._)("div",Z,[s.hasSubtitlesPlugin&&s.selectedItem&&("file"===s.selectedItem.type||(s.selectedItem.url||"").startsWith("file://"))?((0,i.wg)(),(0,i.iD)("button",{key:0,title:"Select subtitles",class:(0,a.C_)(["captions-btn",{selected:null!=s.selectedSubtitles}]),onClick:t[7]||(t[7]=t=>e.$emit("show-subtitles"))},W,2)):(0,i.kq)("",!0),(0,i.Wm)(d,{"plugin-name":s.pluginName,onSelect:t[8]||(t[8]=t=>e.$emit("select-player",t)),onStatus:t[9]||(t[9]=t=>e.$emit("player-status",t))},null,8,["plugin-name"]),(0,i._)("button",{title:"Play URL",onClick:t[10]||(t[10]=t=>e.$emit("play-url"))},U)])]),(0,i._)("div",{class:(0,a.C_)(["row filter fade-in",{hidden:!r.filterVisible}])},[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(Object.keys(s.sources),(t=>((0,i.wg)(),(0,i.iD)("label",{key:t},[(0,i._)("input",{type:"checkbox",checked:s.sources[t],onChange:s=>e.$emit("source-toggle",t)},null,40,E),(0,i.Uk)(" "+(0,a.zw)(t),1)])))),128))],2)],2)}const O={class:"plugins"},F={class:"players"},H={class:"refresh"},K={key:1,class:"no-results"};function Y(e,t,s,l,n,r){const o=(0,i.up)("Chromecast"),d=(0,i.up)("Kodi"),c=(0,i.up)("Mplayer"),u=(0,i.up)("Mpv"),m=(0,i.up)("Omxplayer"),p=(0,i.up)("Vlc"),h=(0,i.up)("Loading"),y=(0,i.up)("DropdownItem"),w=(0,i.up)("Dropdown");return(0,i.wg)(),(0,i.iD)(i.HY,null,[(0,i._)("div",O,[(0,i.Wm)(o,{player:"media.chromecast"===n.selectedPlayer?.pluginName?n.selectedPlayer:null,ref:"chromecastPlugin",onStatus:t[0]||(t[0]=t=>e.$emit("status",t))},null,8,["player"]),(0,i.Wm)(d,{player:"media.kodi"===n.selectedPlayer?.pluginName?n.selectedPlayer:null,ref:"kodiPlugin",onStatus:t[1]||(t[1]=t=>e.$emit("status",t))},null,8,["player"]),(0,i.Wm)(c,{player:"media.mplayer"===n.selectedPlayer?.pluginName?n.selectedPlayer:null,ref:"mplayerPlugin",onStatus:t[2]||(t[2]=t=>e.$emit("status",t))},null,8,["player"]),(0,i.Wm)(u,{player:"media.mpv"===n.selectedPlayer?.pluginName?n.selectedPlayer:null,ref:"mpvPlugin",onStatus:t[3]||(t[3]=t=>e.$emit("status",t))},null,8,["player"]),(0,i.Wm)(m,{player:"media.omxplayer"===n.selectedPlayer?.pluginName?n.selectedPlayer:null,ref:"omxplayerPlugin",onStatus:t[4]||(t[4]=t=>e.$emit("status",t))},null,8,["player"]),(0,i.Wm)(p,{player:"media.vlc"===n.selectedPlayer?.pluginName?n.selectedPlayer:null,ref:"vlcPlugin",onStatus:t[5]||(t[5]=t=>e.$emit("status",t))},null,8,["player"])]),(0,i._)("div",F,[(0,i.Wm)(w,{title:n.selectedPlayer?.name||"Players","icon-class":n.selectedPlayer?n.selectedPlayer.iconClass:"fab fa-chromecast"},{default:(0,i.w5)((()=>[n.loading?((0,i.wg)(),(0,i.j4)(h,{key:0})):(0,i.kq)("",!0),(0,i._)("div",H,[(0,i.Wm)(y,{text:"Refresh","icon-class":"fa fa-sync-alt",onClick:r.refresh},null,8,["onClick"])]),n.players?.length?(0,i.kq)("",!0):((0,i.wg)(),(0,i.iD)("div",K,"No players found")),((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(n.players,((e,t)=>((0,i.wg)(),(0,i.iD)("div",{class:(0,a.C_)(["player",{selected:null!=n.selectedPlayer&&n.selectedPlayer.pluginName===e.pluginName&&n.selectedPlayer.name===e.name}]),key:t},[(0,i.Wm)(y,{text:e.name,"icon-class":e.iconClass,onClick:t=>r.select(e)},null,8,["text","icon-class","onClick"])],2)))),128))])),_:1},8,["title","icon-class"])])],64)}var B=s(5771),A=s(9015);function Q(e,t,s,a,l,n){return(0,i.wg)(),(0,i.iD)("div")}var G={name:"Mixin",mixins:[C.Z,b.Z],emits:["status"],props:{player:{type:Object}},data(){return{iconClass:null,name:null,pluginName:null}},methods:{async getPlayers(){return[{iconClass:this.iconClass,name:this.name,pluginName:this.pluginName,component:this,status:await this.status()}]},async status(){return await this.request(`${this.pluginName}.status`)},async play(e,t){return e?await this.request(`${this.pluginName}.play`,{resource:e.url,subtitles:t}):await this.pause()},async pause(){return await this.request(`${this.pluginName}.pause`)},async stop(){return await this.request(`${this.pluginName}.stop`)},async setVolume(e){return await this.request(`${this.pluginName}.set_volume`,{volume:e})},async seek(e){return await this.request(`${this.pluginName}.seek`,{position:e})},async onNewMedia(e){const t=await this.onMediaEvent(e);t&&e.title&&this.notify({title:e.player||e.device||this.player?.name||this.name||this.pluginName,text:e.title,image:{iconClass:this.iconClass||"fa fa-play"}})},async onMediaEvent(e){return e.plugin===this.pluginName&&(this.$emit("status",await this.status()),!0)},async addSubtitles(e){await this.request(`${this.pluginName}.add_subtitles`,{filename:e}),await this.request(`${this.pluginName}.toggle_subtitles`,{visible:!0})},async removeSubtitles(){await this.request(`${this.pluginName}.toggle_subtitles`,{visible:!1})},supports(e){return"file"===e?.type||"youtube"===e?.type||(e.url||e).startsWith("file://")||(e.url||e).startsWith("http://")||(e.url||e).startsWith("https://")}},mounted(){this.subscribe(this.onNewMedia,`on-new-media-${this.pluginName}`,"platypush.message.event.media.NewPlayingMediaEvent"),this.subscribe(this.onMediaEvent,`on-media-event-${this.pluginName}`,"platypush.message.event.media.MediaPlayEvent","platypush.message.event.media.MediaStopEvent","platypush.message.event.media.MediaPauseEvent","platypush.message.event.media.MediaSeekEvent","platypush.message.event.media.MediaVolumeChangedEvent","platypush.message.event.media.MediaMuteChangedEvent")},destroy(){this.unsubscribe(`on-media-event-${this.pluginName}`)}};const X=G;var J=X,ee={name:"Chromecast",mixins:[J],data(){return{name:"Chromecast",pluginName:"media.chromecast",iconClass:"fab fa-chromecast"}},methods:{async getPlayers(){const e=await this.request(`${this.pluginName}.get_chromecasts`);return Promise.all(e.map((async e=>({...e,iconClass:"audio"===e.type?"fa fa-volume-up":"fab fa-chromecast",pluginName:this.pluginName,status:this.request(`${this.pluginName}.status`,{chromecast:e.name}),component:this}))))},getPlayerName(e){return"string"===typeof e?e:e?e?.name:this.player?.name},async status(e){return await this.request(`${this.pluginName}.status`,{chromecast:this.getPlayerName(e)})},async play(e,t){return e?await this.request(`${this.pluginName}.play`,{resource:e.url,chromecast:this.getPlayerName(t)}):await this.pause(t)},async pause(e){return await this.request(`${this.pluginName}.pause`,{chromecast:this.getPlayerName(e)})},async stop(e){return await this.request(`${this.pluginName}.quit`,{chromecast:this.getPlayerName(e)})},async setVolume(e,t){return await this.request(`${this.pluginName}.set_volume`,{volume:e,chromecast:this.getPlayerName(t)})},async seek(e,t){return await this.request(`${this.pluginName}.seek`,{position:e,chromecast:this.getPlayerName(t)})},async onMediaEvent(e){return e.plugin===this.pluginName&&(this.$emit("status",await this.status(e.player)),!0)},supports(e){return"youtube"===e?.type||(e.url||e).startsWith("http://")||(e.url||e).startsWith("https://")}}},te=s(3744);const se=(0,te.Z)(ee,[["render",Q]]);var ie=se;function ae(e,t,s,a,l,n){return(0,i.wg)(),(0,i.iD)("div")}var le={name:"Kodi",mixins:[J],data(){return{iconClass:"fa fa-kodi",name:"Kodi",pluginName:"media.kodi"}},methods:{async getPlayers(){return[{iconClass:this.iconClass,pluginName:this.pluginName,name:this.$root.config["media.kodi"]?.host||this.name,component:this,status:await this.request(`${this.pluginName}.status`)}]},supports(e){return"youtube"===e?.type||(e.url||e).startsWith("http://")||(e.url||e).startsWith("https://")}}};const ne=(0,te.Z)(le,[["render",ae]]);var re=ne;function oe(e,t,s,a,l,n){return(0,i.wg)(),(0,i.iD)("div")}var de={name:"Mplayer",mixins:[J],data(){return{iconClass:"fa fa-tv",name:"MPlayer",pluginName:"media.mplayer"}}};const ce=(0,te.Z)(de,[["render",oe]]);var ue=ce;function me(e,t,s,a,l,n){return(0,i.wg)(),(0,i.iD)("div")}var pe={name:"Mpv",mixins:[J],data(){return{iconClass:"fa fa-tv",name:"mpv",pluginName:"media.mpv"}}};const he=(0,te.Z)(pe,[["render",me]]);var ye=he;function we(e,t,s,a,l,n){return(0,i.wg)(),(0,i.iD)("div")}var fe={name:"Omxplayer",mixins:[J],data(){return{iconClass:"fa fa-tv",name:"OMXPlayer",pluginName:"media.omxplayer"}}};const ge=(0,te.Z)(fe,[["render",we]]);var ve=ge;function _e(e,t,s,a,l,n){return(0,i.wg)(),(0,i.iD)("div")}var ke={name:"Vlc",mixins:[J],data(){return{iconClass:"fa fa-tv",name:"VLC",pluginName:"media.vlc"}}};const Ce=(0,te.Z)(ke,[["render",_e]]);var be=Ce,xe={name:"Players",components:{Loading:_.Z,DropdownItem:A.Z,Dropdown:B.Z,Chromecast:ie,Kodi:re,Mplayer:ue,Mpv:ye,Omxplayer:ve,Vlc:be},emits:["select","status"],props:{pluginName:{type:String,required:!0}},data(){return{loading:!1,players:[],selectedPlayer:null,config:{},plugins:[]}},methods:{loadPlugins(){this.plugins=Object.entries(this.$refs).filter((e=>e[0].endsWith("Plugin"))).map((e=>e[1]))},async refresh(){this.players=[],this.loading=!0;const e=this.$root.config;try{await Promise.all(this.plugins.map((async t=>{if(!(t.pluginName in e))return;const s=await t.getPlayers();this.players.push(...s),null==this.selectedPlayer&&t.pluginName===this.pluginName&&s.length>0&&this.select(s[0])})))}finally{this.loading=!1}},select(e){this.selectedPlayer=e,this.$emit("select",e)}},async mounted(){await this.loadPlugins(),await this.refresh()}};const Pe=(0,te.Z)(xe,[["render",Y],["__scopeId","data-v-27e87a29"]]);var De=Pe,Se={name:"Header",components:{Players:De},emits:["search","select-player","player-status","torrent-add","show-subtitles","play-url","filter","source-toggle"],props:{pluginName:{type:String,required:!0},selectedView:{type:String,required:!0},selectedSubtitles:{type:String},selectedItem:{type:Object},hasSubtitlesPlugin:{type:Boolean,default:!1},browserFilter:{type:String,default:""},sources:{type:Object,default:()=>{}}},data(){return{filterVisible:!1,query:"",torrentURL:""}},methods:{search(){const e=Object.keys(this.sources).filter((e=>this.sources[e]));this.query?.length&&e?.length&&this.$emit("search",{query:this.query,types:e})}},mounted(){this.$watch((()=>this.selectedView),(()=>{this.$emit("filter",""),this.torrentURL="",this.query=""}))}};const qe=(0,te.Z)(Se,[["render",L],["__scopeId","data-v-37a493ac"]]);var Ne=qe;const $e=e=>((0,i.dD)("data-v-28611e6c"),e=e(),(0,i.Cn)(),e),Ie={key:0,class:"row"},ze=$e((()=>(0,i._)("div",{class:"left side"},"Title",-1))),Te={class:"right side"},Me=["href","textContent"],Ve=["textContent"],Ze={key:1,class:"row"},Re=$e((()=>(0,i._)("div",{class:"left side"},"TV Series",-1))),We=["textContent"],je={key:2,class:"row"},Ue=$e((()=>(0,i._)("div",{class:"left side"},"Season",-1))),Ee=["textContent"],Le={key:3,class:"row"},Oe=$e((()=>(0,i._)("div",{class:"left side"},"Episode",-1))),Fe=["textContent"],He={key:4,class:"row"},Ke=$e((()=>(0,i._)("div",{class:"left side"},"Number of seasons",-1))),Ye=["textContent"],Be={key:5,class:"row"},Ae=$e((()=>(0,i._)("div",{class:"left side"},"Synopsis",-1))),Qe=["textContent"],Ge={key:6,class:"row"},Xe=$e((()=>(0,i._)("div",{class:"left side"},"Description",-1))),Je=["textContent"],et={key:7,class:"row"},tt=$e((()=>(0,i._)("div",{class:"left side"},"Summary",-1))),st=["textContent"],it={key:8,class:"row"},at=$e((()=>(0,i._)("div",{class:"left side"},"Overview",-1))),lt=["textContent"],nt={key:9,class:"row"},rt=$e((()=>(0,i._)("div",{class:"left side"},"Duration",-1))),ot=["textContent"],dt={key:10,class:"row"},ct=$e((()=>(0,i._)("div",{class:"left side"},"Country",-1))),ut=["textContent"],mt={key:11,class:"row"},pt=$e((()=>(0,i._)("div",{class:"left side"},"Network",-1))),ht=["textContent"],yt={key:12,class:"row"},wt=$e((()=>(0,i._)("div",{class:"left side"},"Status",-1))),ft=["textContent"],gt={key:13,class:"row"},vt=$e((()=>(0,i._)("div",{class:"left side"},"Rating",-1))),_t=["textContent"],kt={key:14,class:"row"},Ct=$e((()=>(0,i._)("div",{class:"left side"},"Votes",-1))),bt=["textContent"],xt={key:15,class:"row"},Pt=$e((()=>(0,i._)("div",{class:"left side"},"Genres",-1))),Dt=["textContent"],St={key:16,class:"row"},qt=$e((()=>(0,i._)("div",{class:"left side"},"Channel",-1))),Nt={class:"right side"},$t=["href","textContent"],It={key:17,class:"row"},zt=$e((()=>(0,i._)("div",{class:"left side"},"Year",-1))),Tt=["textContent"],Mt={key:18,class:"row"},Vt=$e((()=>(0,i._)("div",{class:"left side"},"Published at",-1))),Zt=["textContent"],Rt={key:19,class:"row"},Wt=$e((()=>(0,i._)("div",{class:"left side"},"File",-1))),jt=["textContent"],Ut={key:20,class:"row"},Et=$e((()=>(0,i._)("div",{class:"left side"},"URL",-1))),Lt={class:"right side url"},Ot=["href","textContent"],Ft={key:21,class:"row"},Ht=$e((()=>(0,i._)("div",{class:"left side"},"Trailer",-1))),Kt={class:"right side url"},Yt=["href","textContent"],Bt={key:22,class:"row"},At=$e((()=>(0,i._)("div",{class:"left side"},"Size",-1))),Qt=["textContent"],Gt={key:23,class:"row"},Xt=$e((()=>(0,i._)("div",{class:"left side"},"Quality",-1))),Jt=["textContent"],es={key:24,class:"row"},ts=$e((()=>(0,i._)("div",{class:"left side"},"Seeds",-1))),ss=["textContent"],is={key:25,class:"row"},as=$e((()=>(0,i._)("div",{class:"left side"},"Peers",-1))),ls=["textContent"],ns={key:26,class:"row"},rs=$e((()=>(0,i._)("div",{class:"left side"},"Language",-1))),os=["textContent"];function ds(e,t,s,l,n,r){return(0,i.wg)(),(0,i.iD)(i.HY,null,[s.item?.title?((0,i.wg)(),(0,i.iD)("div",Ie,[ze,(0,i._)("div",Te,[s.item.imdb_id?((0,i.wg)(),(0,i.iD)("a",{key:0,href:`https://www.imdb.com/title/${s.item.imdb_id}`,target:"_blank",textContent:(0,a.zw)(s.item.title)},null,8,Me)):((0,i.wg)(),(0,i.iD)("span",{key:1,textContent:(0,a.zw)(s.item.title)},null,8,Ve))])])):(0,i.kq)("",!0),s.item?.series?((0,i.wg)(),(0,i.iD)("div",Ze,[Re,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.series)},null,8,We)])):(0,i.kq)("",!0),s.item?.season?((0,i.wg)(),(0,i.iD)("div",je,[Ue,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.season)},null,8,Ee)])):(0,i.kq)("",!0),s.item?.episode?((0,i.wg)(),(0,i.iD)("div",Le,[Oe,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.episode)},null,8,Fe)])):(0,i.kq)("",!0),s.item?.num_seasons?((0,i.wg)(),(0,i.iD)("div",He,[Ke,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.num_seasons)},null,8,Ye)])):(0,i.kq)("",!0),s.item?.synopsis?((0,i.wg)(),(0,i.iD)("div",Be,[Ae,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.synopsis)},null,8,Qe)])):(0,i.kq)("",!0),s.item?.description?((0,i.wg)(),(0,i.iD)("div",Ge,[Xe,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.description)},null,8,Je)])):(0,i.kq)("",!0),s.item?.summary?((0,i.wg)(),(0,i.iD)("div",et,[tt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.summary)},null,8,st)])):(0,i.kq)("",!0),s.item?.overview?((0,i.wg)(),(0,i.iD)("div",it,[at,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.overview)},null,8,lt)])):(0,i.kq)("",!0),s.item?.duration?((0,i.wg)(),(0,i.iD)("div",nt,[rt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(e.convertTime(s.item.duration))},null,8,ot)])):(0,i.kq)("",!0),s.item?.country?((0,i.wg)(),(0,i.iD)("div",dt,[ct,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.country)},null,8,ut)])):(0,i.kq)("",!0),s.item?.network?((0,i.wg)(),(0,i.iD)("div",mt,[pt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.network)},null,8,ht)])):(0,i.kq)("",!0),s.item?.status?((0,i.wg)(),(0,i.iD)("div",yt,[wt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.status)},null,8,ft)])):(0,i.kq)("",!0),s.item?.rating?((0,i.wg)(),(0,i.iD)("div",gt,[vt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.rating.percentage)},null,8,_t)])):(0,i.kq)("",!0),s.item?.rating?((0,i.wg)(),(0,i.iD)("div",kt,[Ct,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.rating.votes)},null,8,bt)])):(0,i.kq)("",!0),s.item?.genres?((0,i.wg)(),(0,i.iD)("div",xt,[Pt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.genres.join(", "))},null,8,Dt)])):(0,i.kq)("",!0),s.item?.channelId?((0,i.wg)(),(0,i.iD)("div",St,[qt,(0,i._)("div",Nt,[(0,i._)("a",{href:`https://www.youtube.com/channel/${s.item.channelId}`,target:"_blank",textContent:(0,a.zw)(s.item.channelTitle||`https://www.youtube.com/channel/${s.item.channelId}`)},null,8,$t)])])):(0,i.kq)("",!0),s.item?.year?((0,i.wg)(),(0,i.iD)("div",It,[zt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.year)},null,8,Tt)])):(0,i.kq)("",!0),s.item?.publishedAt?((0,i.wg)(),(0,i.iD)("div",Mt,[Vt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(e.formatDate(s.item.publishedAt,!0))},null,8,Zt)])):(0,i.kq)("",!0),s.item?.file?((0,i.wg)(),(0,i.iD)("div",Rt,[Wt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.file)},null,8,jt)])):(0,i.kq)("",!0),s.item?.url?((0,i.wg)(),(0,i.iD)("div",Ut,[Et,(0,i._)("div",Lt,[(0,i._)("a",{href:s.item.url,target:"_blank",textContent:(0,a.zw)(s.item.url)},null,8,Ot)])])):(0,i.kq)("",!0),s.item?.trailer?((0,i.wg)(),(0,i.iD)("div",Ft,[Ht,(0,i._)("div",Kt,[(0,i._)("a",{href:s.item.trailer,target:"_blank",textContent:(0,a.zw)(s.item.trailer)},null,8,Yt)])])):(0,i.kq)("",!0),s.item?.size?((0,i.wg)(),(0,i.iD)("div",Bt,[At,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(e.convertSize(s.item.size))},null,8,Qt)])):(0,i.kq)("",!0),s.item?.quality?((0,i.wg)(),(0,i.iD)("div",Gt,[Xt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.quality)},null,8,Jt)])):(0,i.kq)("",!0),s.item?.seeds?((0,i.wg)(),(0,i.iD)("div",es,[ts,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.seeds)},null,8,ss)])):(0,i.kq)("",!0),s.item?.peers?((0,i.wg)(),(0,i.iD)("div",is,[as,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.peers)},null,8,ls)])):(0,i.kq)("",!0),s.item?.language?((0,i.wg)(),(0,i.iD)("div",ns,[rs,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.language)},null,8,os)])):(0,i.kq)("",!0)],64)}var cs={name:"Info",mixins:[C.Z,b.Z],props:{item:{type:Object,default:()=>{}}}};const us=(0,te.Z)(cs,[["render",ds],["__scopeId","data-v-28611e6c"]]);var ms=us;const ps=["title","onClick"];function hs(e,t,s,l,n,r){return(0,i.wg)(),(0,i.iD)("nav",null,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(s.views,((t,l)=>((0,i.wg)(),(0,i.iD)("li",{key:l,title:t.displayName,class:(0,a.C_)({selected:l===s.selectedView}),onClick:t=>e.$emit("input",l)},[(0,i._)("i",{class:(0,a.C_)(t.iconClass)},null,2)],10,ps)))),128))])}var ys={name:"Nav",emits:["input"],props:{selectedView:{type:String},collapsed:{type:Boolean,default:!1},views:{type:Object,default:()=>({search:{iconClass:"fa fa-search",displayName:"Search"},browser:{iconClass:"fa fa-folder",displayName:"Browser"},torrents:{iconClass:"fa fa-magnet",displayName:"Torrents"}})}}};const ws=(0,te.Z)(ys,[["render",hs],["__scopeId","data-v-4597e14d"]]);var fs=ws;const gs={class:"media-results"},vs={key:0,class:"no-content"},_s=["onClick"],ks={class:"col-10 left side"},Cs={class:"icon"},bs=["textContent"],xs={class:"col-2 right side"};function Ps(e,t,s,l,n,r){const o=(0,i.up)("DropdownItem"),d=(0,i.up)("Dropdown");return(0,i.wg)(),(0,i.iD)("div",gs,[s.results?.length?(0,i.kq)("",!0):((0,i.wg)(),(0,i.iD)("div",vs," No search results ")),((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(s.results,((t,l)=>((0,i.wg)(),(0,i.iD)("div",{class:(0,a.C_)(["row item",{selected:s.selectedResult===l,hidden:!s.sources[t.type]}]),key:l,onClick:t=>e.$emit("select",l)},[(0,i._)("div",ks,[(0,i._)("div",Cs,[(0,i._)("i",{class:(0,a.C_)(n.typeIcons[t.type])},null,2)]),(0,i._)("div",{class:"title",textContent:(0,a.zw)(t.title)},null,8,bs)]),(0,i._)("div",xs,[(0,i.Wm)(d,{title:"Actions","icon-class":"fa fa-ellipsis-h",onClick:t=>e.$emit("select",l)},{default:(0,i.w5)((()=>["torrent"!==t?.type?((0,i.wg)(),(0,i.j4)(o,{key:0,"icon-class":"fa fa-play",text:"Play",onClick:s=>e.$emit("play",t)},null,8,["onClick"])):(0,i.kq)("",!0),"torrent"===t?.type?((0,i.wg)(),(0,i.j4)(o,{key:1,"icon-class":"fa fa-download",text:"Download",onClick:s=>e.$emit("download",t)},null,8,["onClick"])):(0,i.kq)("",!0),"file"===t?.type?((0,i.wg)(),(0,i.j4)(o,{key:2,"icon-class":"fa fa-window-maximize",text:"View in browser",onClick:s=>e.$emit("view",t)},null,8,["onClick"])):(0,i.kq)("",!0),(0,i.Wm)(o,{"icon-class":"fa fa-info",text:"Info",onClick:s=>e.$emit("info",t)},null,8,["onClick"])])),_:2},1032,["onClick"])])],10,_s)))),128))])}var Ds={name:"Results",components:{Dropdown:B.Z,DropdownItem:A.Z},emits:["select","info","play","view","download"],props:{results:{type:Array,default:()=>[]},selectedResult:{type:Number},sources:{type:Object,default:()=>{}}},data(){return{typeIcons:{file:"fa fa-hdd",torrent:"fa fa-magnet",youtube:"fab fa-youtube",plex:"fa fa-plex",jellyfin:"fa fa-jellyfin"}}}};const Ss=(0,te.Z)(Ds,[["render",Ps],["__scopeId","data-v-28f7c518"]]);var qs=Ss;const Ns=e=>((0,i.dD)("data-v-77ae3705"),e=e(),(0,i.Cn)(),e),$s={class:"subtitles-container"},Is={class:"items"},zs=Ns((()=>(0,i._)("div",{class:"col-1 icon"},[(0,i._)("i",{class:"fa fa-ban"})],-1))),Ts=Ns((()=>(0,i._)("div",{class:"col-11 title"},"None",-1))),Ms=[zs,Ts],Vs=["onClick"],Zs={class:"col-1 icon"},Rs={key:0,class:"fa fa-file"},Ws={key:2,class:"fa fa-closed-captioning"},js={class:"footer"};function Us(e,t,s,l,n,r){const o=(0,i.up)("Loading");return(0,i.wg)(),(0,i.iD)("div",$s,[(0,i._)("div",Is,[n.loading?((0,i.wg)(),(0,i.j4)(o,{key:0})):(0,i.kq)("",!0),(0,i._)("div",{class:(0,a.C_)(["row item",{selected:null==n.selectedItem}]),onClick:t[0]||(t[0]=e=>n.selectedItem=null)},Ms,2),((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(n.items,((e,t)=>((0,i.wg)(),(0,i.iD)("div",{class:(0,a.C_)(["row item",{selected:n.selectedItem===t}]),key:t,onClick:e=>n.selectedItem=t},[(0,i._)("div",Zs,[e.IsLocal?((0,i.wg)(),(0,i.iD)("i",Rs)):e.ISO639?((0,i.wg)(),(0,i.iD)("i",{key:1,class:(0,a.C_)(["flag-icon",`flag-icon-${e.ISO639}`])},null,2)):((0,i.wg)(),(0,i.iD)("i",Ws))]),(0,i.Uk)(" "+(0,a.zw)(e.SubFileName),1)],10,Vs)))),128))]),(0,i._)("div",js,[(0,i._)("button",{onClick:t[1]||(t[1]=t=>e.$emit("select-subs",null==n.selectedItem?null:n.items[n.selectedItem]))},"Select")])])}var Es={name:"Subtitles",mixins:[C.Z],components:{Loading:_.Z},emits:["select-subs"],props:{item:{type:Object,default:()=>{}}},data(){return{loading:!1,items:[],selectedItem:null}},methods:{async refresh(){this.loading=!0;try{this.items=await this.request("media.subtitles.search",{resource:this.item.url,language:"all"})}finally{this.loading=!1}}},mounted(){this.refresh()}};const Ls=(0,te.Z)(Es,[["render",Us],["__scopeId","data-v-77ae3705"]]);var Os=Ls,Fs=s(779);const Hs=e=>((0,i.dD)("data-v-a2e5c946"),e=e(),(0,i.Cn)(),e),Ks={class:"browser-container"},Ys=Hs((()=>(0,i._)("div",{class:"col-10 left side"},[(0,i._)("i",{class:"icon fa fa-folder"}),(0,i._)("span",{class:"name"},"..")],-1))),Bs=[Ys],As=["onClick"],Qs={class:"col-10"},Gs={class:"name"},Xs={class:"col-2 actions"};function Js(e,t,s,l,n,r){const o=(0,i.up)("Loading"),d=(0,i.up)("DropdownItem"),c=(0,i.up)("Dropdown");return(0,i.wg)(),(0,i.iD)("div",Ks,[n.loading?((0,i.wg)(),(0,i.j4)(o,{key:0})):(0,i.kq)("",!0),n.path?.length&&"/"!==n.path?((0,i.wg)(),(0,i.iD)("div",{key:1,class:"row item",onClick:t[0]||(t[0]=e=>n.path=(n.path||"")+"/..")},Bs)):(0,i.kq)("",!0),((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(r.filteredFiles,((t,l)=>((0,i.wg)(),(0,i.iD)("div",{class:"row item",key:l,onClick:e=>n.path=t.path},[(0,i._)("div",Qs,[(0,i._)("i",{class:(0,a.C_)(["icon fa",{"fa-file":"directory"!==t.type,"fa-folder":"directory"===t.type}])},null,2),(0,i._)("span",Gs,(0,a.zw)(t.name),1)]),(0,i._)("div",Xs,[(0,i.Wm)(c,null,{default:(0,i.w5)((()=>[s.isMedia&&e.mediaExtensions.has(t.name.split(".").pop())?((0,i.wg)(),(0,i.j4)(d,{key:0,"icon-class":"fa fa-play",text:"Play",onClick:s=>e.$emit("play",{type:"file",url:`file://${t.path}`})},null,8,["onClick"])):(0,i.kq)("",!0)])),_:2},1024)])],8,As)))),128))])}var ei={name:"Browser",components:{DropdownItem:A.Z,Dropdown:B.Z,Loading:_.Z},mixins:[C.Z,b.Z],emits:["path-change"],props:{initialPath:{type:String},isMedia:{type:Boolean},filter:{type:String,default:""}},data(){return{loading:!1,path:this.initialPath,files:[]}},computed:{filteredFiles(){return this.filter?.length?this.files.filter((e=>(e?.name||"").toLowerCase().indexOf(this.filter.toLowerCase())>=0)):this.files}},methods:{async refresh(){this.loading=!0;try{this.files=await this.request("file.list",{path:this.path}),this.$emit("path-change",this.path)}finally{this.loading=!1}}},mounted(){this.$watch((()=>this.path),(()=>this.refresh())),this.refresh()}};const ti=(0,te.Z)(ei,[["render",Js],["__scopeId","data-v-a2e5c946"]]);var si=ti,ii={name:"Media",mixins:[C.Z,b.Z],components:{Browser:si,Loading:_.Z,MediaView:x.Z,Header:Ne,Results:qs,Modal:k.Z,Info:ms,Nav:fs,TorrentView:Fs.Z,Subtitles:Os},props:{pluginName:{type:String,required:!0},mediaButtons:{type:Object,default:()=>({previous:!1,next:!1,stop:!0})}},data(){return{loading:!1,results:[],selectedResult:null,selectedPlayer:null,selectedView:"search",selectedSubtitles:null,showSubtitlesModal:!1,awaitingPlayTorrent:null,urlPlay:null,browserFilter:null,torrentPlugin:null,torrentPlugins:["torrent","rtorrent"],sources:{file:!0,youtube:!0,torrent:!0}}},computed:{hasSubtitlesPlugin(){return"media.subtitles"in this.$root.config}},methods:{async search(e){this.loading=!0;try{this.results=await this.request(`${this.pluginName}.search`,e)}finally{this.loading=!1}},async play(e){if("torrent"===e?.type)return this.awaitingPlayTorrent=e.url,void await this.download(e);this.selectedPlayer.component.supports(e)||(e=await this.startStreaming(e)),await this.selectedPlayer.component.play(e,this.selectedSubtitles,this.selectedPlayer),await this.refresh()},async pause(){await this.selectedPlayer.component.pause(this.selectedPlayer),await this.refresh()},async stop(){await this.selectedPlayer.component.stop(this.selectedPlayer),await this.refresh()},async setVolume(e){await this.selectedPlayer.component.setVolume(e,this.selectedPlayer),await this.refresh()},async seek(e){await this.selectedPlayer.component.seek(e,this.selectedPlayer),await this.refresh()},async view(e){const t=await this.startStreaming(e,!0);window.open(t.url,"_blank")},async download(e){"torrent"===e?.type&&await this.downloadTorrent(e)},async refresh(){this.selectedPlayer.status=await this.selectedPlayer.component.status(this.selectedPlayer)},onStatusUpdate(e){this.selectedPlayer&&(this.selectedPlayer.status=e)},onTorrentQueued(e){this.notify({title:"Torrent queued for download",text:e.name,image:{iconClass:"fa fa-magnet"}})},onTorrentMetadata(e){this.notify({title:"Torrent metadata downloaded",text:e.name,image:{iconClass:"fa fa-info"}})},onTorrentDownloadStart(e){this.notify({title:"Torrent download started",text:e.name,image:{iconClass:"fa fa-download"}})},onTorrentDownloadCompleted(e){this.notify({title:"Torrent download completed",text:e.name,image:{iconClass:"fa fa-check"}})},getTorrentPlugin(){const e=this.$root.config[this.pluginName]||{};let t=e.torrent_plugin;if(!t)for(let s of this.torrentPlugins)if(s in this.$root.config){t=s;break}return t},async downloadTorrent(e){const t=this.getTorrentPlugin();if(t)return await this.request(`${t}.download`,{torrent:e?.url||e});this.notify({text:"No torrent plugins configured",error:!0})},async selectSubtitles(e){if(this.$refs.subtitlesSelector.close(),!e)return void(this.selectedSubtitles=null);this.notify({text:"Downloading subtitles track",image:{iconClass:"fa fa-download"}});const t=await this.request("media.subtitles.download",{link:e.SubDownloadLink});this.selectedSubtitles=t.filename,this.notify({text:"Subtitles track downloaded",image:{iconClass:"fa fa-check"}})},onResultSelect(e){null!=this.selectedResult&&this.selectedResult===e||(this.selectedResult=e,this.selectedSubtitles=null)},async playUrl(e){this.loading=!0;try{await this.play({url:e}),this.$refs.playUrlModal.close()}finally{this.loading=!1}}},mounted(){this.$watch((()=>this.selectedPlayer),(e=>{e&&this.refresh()})),this.$watch((()=>this.selectedSubtitles),(e=>{new Set(["play","pause"]).has(this.selectedPlayer?.status?.state)&&(e?this.selectedPlayer.component.addSubtitles(e):this.selectedPlayer.component.removeSubtitles())})),this.torrentPlugin=this.getTorrentPlugin(),this.subscribe(this.onTorrentQueued,"notify-on-torrent-queued","platypush.message.event.torrent.TorrentQueuedEvent"),this.subscribe(this.onTorrentMetadata,"on-torrent-metadata","platypush.message.event.torrent.TorrentDownloadedMetadataEvent"),this.subscribe(this.onTorrentDownloadStart,"notify-on-torrent-download-start","platypush.message.event.torrent.TorrentDownloadStartEvent"),this.subscribe(this.onTorrentDownloadCompleted,"notify-on-torrent-download-completed","platypush.message.event.torrent.TorrentDownloadCompletedEvent"),"media.plex"in this.$root.config&&(this.sources.plex=!0),"media.jellyfin"in this.$root.config&&(this.sources.jellyfin=!0)},destroy(){this.unsubscribe("notify-on-torrent-queued"),this.unsubscribe("on-torrent-metadata"),this.unsubscribe("notify-on-torrent-download-start"),this.unsubscribe("notify-on-torrent-download-completed")}};const ai=(0,te.Z)(ii,[["render",v],["__scopeId","data-v-040b2676"]]);var li=ai},779:function(e,t,s){s.d(t,{Z:function(){return me}});var i=s(6252),a=s(3577);const l=e=>((0,i.dD)("data-v-7eb04934"),e=e(),(0,i.Cn)(),e),n={key:1,class:"torrent-transfers fade-in"},r={key:0,class:"no-content"},o=["onClick"],d={class:"col-8 left side"},c=["textContent"],u={class:"col-2 right side"},m=["textContent"],p={class:"col-2 right side"},h={key:0,class:"modal-body torrent-info"},y={key:0,class:"row"},w=l((()=>(0,i._)("div",{class:"attr"},"Name",-1))),f=["textContent"],g={key:1,class:"row"},v=l((()=>(0,i._)("div",{class:"attr"},"State",-1))),_=["textContent"],k={class:"row"},C=l((()=>(0,i._)("div",{class:"attr"},"Progress",-1))),b=["textContent"],x={class:"row"},P=l((()=>(0,i._)("div",{class:"attr"},"DL rate",-1))),D=["textContent"],S={class:"row"},q=l((()=>(0,i._)("div",{class:"attr"},"UL rate",-1))),N=["textContent"],$={class:"row"},I=l((()=>(0,i._)("div",{class:"attr"},"Size",-1))),z=["textContent"],T={key:2,class:"row"},M=l((()=>(0,i._)("div",{class:"attr"},"Remaining",-1))),V=["textContent"],Z={class:"row"},R=l((()=>(0,i._)("div",{class:"attr"},"URL",-1))),W={class:"value nowrap"},j=["href","textContent"],U={class:"row"},E=l((()=>(0,i._)("div",{class:"attr"},"Peers",-1))),L=["textContent"],O={key:3,class:"row"},F=l((()=>(0,i._)("div",{class:"attr"},"Started",-1))),H=["textContent"],K={key:4,class:"row"},Y=l((()=>(0,i._)("div",{class:"attr"},"Finished",-1))),B=["textContent"],A={key:5,class:"row"},Q=l((()=>(0,i._)("div",{class:"attr"},"Save path",-1))),G=["textContent"],X={key:0,class:"modal-body torrent-files"},J={class:"col-1 icon"},ee={key:1,class:"fa fa-file"},te=["textContent"];function se(e,t,s,l,se,ie){const ae=(0,i.up)("Loading"),le=(0,i.up)("DropdownItem"),ne=(0,i.up)("Dropdown"),re=(0,i.up)("Modal");return se.loading?((0,i.wg)(),(0,i.j4)(ae,{key:0})):((0,i.wg)(),(0,i.iD)("div",n,[Object.keys(se.transfers).length?(0,i.kq)("",!0):((0,i.wg)(),(0,i.iD)("div",r,"No torrent transfers in progress")),((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(se.transfers,((s,l)=>((0,i.wg)(),(0,i.iD)("div",{class:(0,a.C_)(["row item",{selected:se.selectedItem===l}]),key:l,onClick:e=>se.selectedItem=l},[(0,i._)("div",d,[(0,i._)("i",{class:(0,a.C_)(["icon fa",{"fa-check":null!=s.finish_date,"fa-play":!s.finish_date&&"downloading"===s.state,"fa-pause":!s.finish_date&&"paused"===s.state,"fa-stop":!s.finish_date&&"stopped"===s.state}])},null,2),(0,i._)("div",{class:"title",textContent:(0,a.zw)(s.name||s.hash||s.url)},null,8,c)]),(0,i._)("div",u,[(0,i._)("span",{textContent:(0,a.zw)(`${s.progress}%`)},null,8,m)]),(0,i._)("div",p,[(0,i.Wm)(ne,{title:"Actions","icon-class":"fa fa-ellipsis-h",onClick:e=>se.selectedItem=l},{default:(0,i.w5)((()=>["downloading"===s.state?((0,i.wg)(),(0,i.j4)(le,{key:0,"icon-class":"fa fa-pause",text:"Pause transfer",onClick:e=>ie.pause(ie.torrentId(s))},null,8,["onClick"])):(0,i.kq)("",!0),"paused"===s.state?((0,i.wg)(),(0,i.j4)(le,{key:1,"icon-class":"fa fa-play",text:"Resume transfer",onClick:e=>ie.resume(ie.torrentId(s))},null,8,["onClick"])):(0,i.kq)("",!0),(0,i.Wm)(le,{"icon-class":"fa fa-trash",text:"Remove transfer",onClick:e=>ie.remove(ie.torrentId(s))},null,8,["onClick"]),(0,i.Wm)(le,{"icon-class":"fa fa-folder",text:"View files",onClick:t[0]||(t[0]=t=>e.$refs.torrentFiles.isVisible=!0)}),(0,i.Wm)(le,{"icon-class":"fa fa-info",text:"Torrent info",onClick:t[1]||(t[1]=t=>e.$refs.torrentInfo.isVisible=!0)})])),_:2},1032,["onClick"])])],10,o)))),128)),(0,i.Wm)(re,{ref:"torrentInfo",title:"Torrent info",width:"80%"},{default:(0,i.w5)((()=>[null!=se.selectedItem&&se.transfers[se.selectedItem]?((0,i.wg)(),(0,i.iD)("div",h,[se.transfers[se.selectedItem].name?((0,i.wg)(),(0,i.iD)("div",y,[w,(0,i._)("div",{class:"value",textContent:(0,a.zw)(se.transfers[se.selectedItem].name)},null,8,f)])):(0,i.kq)("",!0),se.transfers[se.selectedItem].state?((0,i.wg)(),(0,i.iD)("div",g,[v,(0,i._)("div",{class:"value",textContent:(0,a.zw)(se.transfers[se.selectedItem].state)},null,8,_)])):(0,i.kq)("",!0),(0,i._)("div",k,[C,(0,i._)("div",{class:"value",textContent:(0,a.zw)(`${se.transfers[se.selectedItem].progress||0}%`)},null,8,b)]),(0,i._)("div",x,[P,(0,i._)("div",{class:"value",textContent:(0,a.zw)(`${e.convertSize(se.transfers[se.selectedItem].download_rate||0)}/s`)},null,8,D)]),(0,i._)("div",S,[q,(0,i._)("div",{class:"value",textContent:(0,a.zw)(`${e.convertSize(se.transfers[se.selectedItem].upload_rate||0)}/s`)},null,8,N)]),(0,i._)("div",$,[I,(0,i._)("div",{class:"value",textContent:(0,a.zw)(e.convertSize(se.transfers[se.selectedItem].size||0))},null,8,z)]),se.transfers[se.selectedItem].remaining_bytes?((0,i.wg)(),(0,i.iD)("div",T,[M,(0,i._)("div",{class:"value",textContent:(0,a.zw)(e.convertSize(se.transfers[se.selectedItem].remaining_bytes))},null,8,V)])):(0,i.kq)("",!0),(0,i._)("div",Z,[R,(0,i._)("div",W,[(0,i._)("a",{href:se.transfers[se.selectedItem].url,target:"_blank",textContent:(0,a.zw)(se.transfers[se.selectedItem].url)},null,8,j)])]),(0,i._)("div",U,[E,(0,i._)("div",{class:"value",textContent:(0,a.zw)(se.transfers[se.selectedItem].peers||0)},null,8,L)]),se.transfers[se.selectedItem].start_date?((0,i.wg)(),(0,i.iD)("div",O,[F,(0,i._)("div",{class:"value",textContent:(0,a.zw)(e.formatDateTime(se.transfers[se.selectedItem].start_date))},null,8,H)])):(0,i.kq)("",!0),se.transfers[se.selectedItem].finish_date?((0,i.wg)(),(0,i.iD)("div",K,[Y,(0,i._)("div",{class:"value",textContent:(0,a.zw)(e.formatDateTime(se.transfers[se.selectedItem].finish_date))},null,8,B)])):(0,i.kq)("",!0),se.transfers[se.selectedItem].save_path?((0,i.wg)(),(0,i.iD)("div",A,[Q,(0,i._)("div",{class:"value",textContent:(0,a.zw)(se.transfers[se.selectedItem].save_path)},null,8,G)])):(0,i.kq)("",!0)])):(0,i.kq)("",!0)])),_:1},512),(0,i.Wm)(re,{ref:"torrentFiles",title:"Torrent files",width:"80%"},{default:(0,i.w5)((()=>[null!=se.selectedItem&&se.transfers[se.selectedItem]?((0,i.wg)(),(0,i.iD)("div",X,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(ie.relativeFiles,((t,l)=>((0,i.wg)(),(0,i.iD)("div",{class:"row",key:t},[(0,i._)("div",J,[s.isMedia&&e.mediaExtensions.has(t.split(".").pop())?((0,i.wg)(),(0,i.j4)(ne,{key:0},{default:(0,i.w5)((()=>[(0,i.Wm)(le,{"icon-class":"fa fa-play",text:"Play",onClick:t=>e.$emit("play",{url:`file://${se.transfers[se.selectedItem].files[l]}`,type:"file"})},null,8,["onClick"])])),_:2},1024)):((0,i.wg)(),(0,i.iD)("i",ee))]),(0,i._)("div",{class:"col-11 name",textContent:(0,a.zw)(t)},null,8,te)])))),128))])):(0,i.kq)("",!0)])),_:1},512)]))}var ie=s(1232),ae=s(6813),le=s(8337),ne=s(8453),re=s(5771),oe=s(9015),de={name:"View",emits:["play","play-with-captions"],components:{Dropdown:re.Z,DropdownItem:oe.Z,Loading:ie.Z,Modal:ne.Z},mixins:[ae.Z,le.Z],props:{pluginName:{type:String,required:!0},isMedia:{type:Boolean,default:!1}},data(){return{loading:!1,transfers:{},selectedItem:null}},computed:{relativeFiles(){return null!=this.selectedItem&&this.transfers[this.selectedItem]?.files?.length?this.transfers[this.selectedItem].files.map((e=>e.split("/").pop())):[]}},methods:{torrentId(e){return e?.hash&&e.hash.length?e.hash:e.url},async refresh(){this.loading=!0;try{this.transfers=Object.values(await this.request(`${this.pluginName}.status`)||{}).reduce(((e,t)=>(e[this.torrentId(t)]=t,e)),{})}finally{this.loading=!1}},async pause(e){await this.request(`${this.pluginName}.pause`,{torrent:e}),await this.refresh()},async resume(e){await this.request(`${this.pluginName}.resume`,{torrent:e}),await this.refresh()},async remove(e){await this.request(`${this.pluginName}.remove`,{torrent:e}),await this.refresh()},onTorrentUpdate(e){this.transfers[this.torrentId(e)]=e},onTorrentRemove(e){const t=this.torrentId(e);t in this.transfers&&delete this.transfers[t]}},mounted(){this.refresh(),this.subscribe(this.onTorrentUpdate,"on-torrent-update","platypush.message.event.torrent.TorrentQueuedEvent","platypush.message.event.torrent.TorrentDownloadedMetadataEvent","platypush.message.event.torrent.TorrentDownloadStartEvent","platypush.message.event.torrent.TorrentDownloadProgressEvent","platypush.message.event.torrent.TorrentResumedEvent","platypush.message.event.torrent.TorrentPausedEvent","platypush.message.event.torrent.TorrentSeedingStartEvent","platypush.message.event.torrent.TorrentStateChangeEvent","platypush.message.event.torrent.TorrentDownloadStopEvent","platypush.message.event.torrent.TorrentDownloadCompletedEvent"),this.subscribe(this.onTorrentRemove,"on-torrent-remove","platypush.message.event.torrent.TorrentRemovedEvent")},destroy(){this.unsubscribe("on-torrent-update"),this.unsubscribe("on-torrent-remove")}},ce=s(3744);const ue=(0,ce.Z)(de,[["render",se],["__scopeId","data-v-7eb04934"]]);var me=ue}}]);
//# sourceMappingURL=4196.cec98eba.js.map