platypush/platypush/backend/http/webapp/dist/static/js/9159.51047b9b.js

2 lines
44 KiB
JavaScript

"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[9159],{9159:function(e,t,s){s.r(t),s.d(t,{default:function(){return ai}});var i=s(6252),a=s(3577),l=s(9963);const n=e=>((0,i.dD)("data-v-1904e8da"),e=e(),(0,i.Cn)(),e),r={class:"media-plugin fade-in"},o={class:"nav-container"},d={class:"view-container"},c={class:"media-info-container"},u={class:"subtitles-container"},m={key:0,class:"subtitles-content"},p={class:"play-url-container"},h={class:"row"},y={class:"row footer"},f=["disabled"],w=n((()=>(0,i._)("i",{class:"fa fa-play"},null,-1)));function g(e,t,s,n,g,v){const _=(0,i.up)("Loading"),k=(0,i.up)("Nav"),C=(0,i.up)("Header"),b=(0,i.up)("Results"),x=(0,i.up)("TorrentView"),P=(0,i.up)("Browser"),D=(0,i.up)("MediaView"),S=(0,i.up)("Info"),q=(0,i.up)("Modal"),$=(0,i.up)("Subtitles");return(0,i.wg)(),(0,i.j4)(i.Ob,null,[(0,i._)("div",r,[g.loading?((0,i.wg)(),(0,i.j4)(_,{key:0})):(0,i.kq)("",!0),(0,i.Wm)(D,{"plugin-name":s.pluginName,status:g.selectedPlayer?.status||{},track:g.selectedPlayer?.status||{},buttons:s.mediaButtons,onPlay:v.pause,onPause:v.pause,onStop:v.stop,onSetVolume:v.setVolume,onSeek:v.seek,onSearch:v.search,onMute:v.toggleMute,onUnmute:v.toggleMute},{default:(0,i.w5)((()=>[(0,i._)("main",null,[(0,i._)("div",o,[(0,i.Wm)(k,{"selected-view":g.selectedView,onInput:t[0]||(t[0]=e=>g.selectedView=e)},null,8,["selected-view"])]),(0,i._)("div",d,[(0,i.Wm)(C,{"plugin-name":s.pluginName,"selected-view":g.selectedView,"has-subtitles-plugin":v.hasSubtitlesPlugin,ref:"header",sources:g.sources,"selected-item":g.selectedPlayer&&g.selectedPlayer.status&&("play"===g.selectedPlayer.status.state||"pause"===g.selectedPlayer.status.state)?g.selectedPlayer.status:g.results[g.selectedResult],"selected-subtitles":g.selectedSubtitles,"browser-filter":g.browserFilter,onSearch:v.search,onSelectPlayer:t[1]||(t[1]=e=>g.selectedPlayer=e),onPlayerStatus:v.onStatusUpdate,onTorrentAdd:t[2]||(t[2]=e=>v.downloadTorrent(e)),onShowSubtitles:t[3]||(t[3]=e=>g.showSubtitlesModal=!g.showSubtitlesModal),onPlayUrl:v.showPlayUrlModal,onFilter:t[4]||(t[4]=e=>g.browserFilter=e),onSourceToggle:t[5]||(t[5]=e=>g.sources[e]=!g.sources[e])},null,8,["plugin-name","selected-view","has-subtitles-plugin","sources","selected-item","selected-subtitles","browser-filter","onSearch","onPlayerStatus","onPlayUrl"]),(0,i._)("div",{class:(0,a.C_)(["body-container",{"expanded-header":e.$refs.header?.filterVisible}])},["search"===g.selectedView?((0,i.wg)(),(0,i.j4)(b,{key:0,results:g.results,"selected-result":g.selectedResult,onSelect:t[6]||(t[6]=e=>v.onResultSelect(e)),onPlay:v.play,onInfo:t[7]||(t[7]=t=>e.$refs.mediaInfo.isVisible=!0),onView:v.view,onDownload:v.download,sources:g.sources},null,8,["results","selected-result","onPlay","onView","onDownload","sources"])):"torrents"===g.selectedView?((0,i.wg)(),(0,i.j4)(x,{key:1,"plugin-name":g.torrentPlugin,"is-media":!0,onPlay:v.play},null,8,["plugin-name","onPlay"])):"browser"===g.selectedView?((0,i.wg)(),(0,i.j4)(P,{key:2,"plugin-name":g.torrentPlugin,"is-media":!0,filter:g.browserFilter,onPathChange:t[8]||(t[8]=e=>g.browserFilter=""),onPlay:t[9]||(t[9]=e=>v.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","onMute","onUnmute"]),(0,i._)("div",c,[(0,i.Wm)(q,{title:"Media info",ref:"mediaInfo"},{default:(0,i.w5)((()=>[null!=g.selectedResult?((0,i.wg)(),(0,i.j4)(S,{key:0,item:g.results[g.selectedResult]},null,8,["item"])):(0,i.kq)("",!0)])),_:1},512)]),(0,i._)("div",u,[(0,i.Wm)(q,{title:"Available subtitles",visible:g.showSubtitlesModal,ref:"subtitlesSelector",onClose:t[11]||(t[11]=e=>g.showSubtitlesModal=!1)},{default:(0,i.w5)((()=>[g.showSubtitlesModal&&null!=g.selectedResult?((0,i.wg)(),(0,i.iD)("div",m,[(0,i.Wm)($,{item:g.selectedPlayer&&g.selectedPlayer.status&&("play"===g.selectedPlayer.status.state||"pause"===g.selectedPlayer.status.state)?g.selectedPlayer.status:g.results[g.selectedResult],onSelectSubs:t[10]||(t[10]=e=>v.selectSubtitles(e))},null,8,["item"])])):(0,i.kq)("",!0)])),_:1},8,["visible"])]),(0,i._)("div",p,[(0,i.Wm)(q,{title:"Play URL",ref:"playUrlModal",onOpen:t[14]||(t[14]=t=>e.$refs.playUrlInput.focus())},{default:(0,i.w5)((()=>[(0,i._)("form",{onSubmit:t[13]||(t[13]=(0,l.iM)((e=>v.playUrl(g.urlPlay)),["prevent"]))},[(0,i._)("div",h,[(0,i._)("label",null,[(0,i.Uk)(" Play URL (use the file:// prefix for local files) "),(0,i.wy)((0,i._)("input",{type:"text","onUpdate:modelValue":t[12]||(t[12]=e=>g.urlPlay=e),ref:"playUrlInput",autofocus:""},null,512),[[l.nr,g.urlPlay]])])]),(0,i._)("div",y,[(0,i._)("button",{type:"submit",disabled:!g.urlPlay?.length},[w,(0,i.Uk)(" Play ")],8,f)])],32)])),_:1},512)])])],1024)}var v=s(6791),_=s(3493),k=s(8637),C=s(1065),b=s(2349);const x=e=>((0,i.dD)("data-v-e7f89e8e"),e=e(),(0,i.Cn)(),e),P={class:"row"},D={key:0,class:"col-7 left side"},S=x((()=>(0,i._)("i",{class:"fa fa-filter"},null,-1))),q=[S],$={class:"search-box"},N={key:1,class:"col-7 left side"},I={class:"search-box"},M={key:2,class:"col-7 left side"},z={class:"search-box"},T=["value"],V={class:"col-5 right side"},Z=x((()=>(0,i._)("i",{class:"fas fa-closed-captioning"},null,-1))),U=[Z],R=x((()=>(0,i._)("i",{class:"fas fa-play"},null,-1))),W=[R],j=["checked","onChange"];function E(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",P,["search"===s.selectedView?((0,i.wg)(),(0,i.iD)("div",D,[(0,i._)("button",{title:"Filter",class:(0,a.C_)(["filter-btn",{selected:r.filterVisible}]),onClick:t[0]||(t[0]=e=>r.filterVisible=!r.filterVisible)},q,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",N,[(0,i._)("form",{onSubmit:t[4]||(t[4]=(0,l.iM)((t=>e.$emit("torrent-add",r.torrentURL)),["prevent"]))},[(0,i._)("label",I,[(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",M,[(0,i._)("label",z,[(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,T)])])):(0,i.kq)("",!0),(0,i._)("div",V,[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"))},U,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"))},W)])]),(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,j),(0,i.Uk)(" "+(0,a.zw)(t),1)])))),128))],2)],2)}const L={class:"plugins"},O={class:"players"},F={class:"refresh"},H={key:1,class:"no-results"};function K(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"),f=(0,i.up)("Dropdown");return(0,i.wg)(),(0,i.iD)(i.HY,null,[(0,i._)("div",L,[(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",O,[(0,i.Wm)(f,{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",F,[(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",H,"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)}s(7658);var Y=s(8832),B=s(1693);function A(e,t,s,a,l,n){return(0,i.wg)(),(0,i.iD)("div")}var Q={name:"Mixin",mixins:[k.Z,C.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 toggleMute(){return await this.request(`${this.pluginName}.mute`)},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 G=Q;var X=G,J={name:"Chromecast",mixins:[X],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://")}}},ee=s(3744);const te=(0,ee.Z)(J,[["render",A]]);var se=te;function ie(e,t,s,a,l,n){return(0,i.wg)(),(0,i.iD)("div")}var ae={name:"Kodi",mixins:[X],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 le=(0,ee.Z)(ae,[["render",ie]]);var ne=le;function re(e,t,s,a,l,n){return(0,i.wg)(),(0,i.iD)("div")}var oe={name:"Mplayer",mixins:[X],data(){return{iconClass:"fa fa-tv",name:"MPlayer",pluginName:"media.mplayer"}}};const de=(0,ee.Z)(oe,[["render",re]]);var ce=de;function ue(e,t,s,a,l,n){return(0,i.wg)(),(0,i.iD)("div")}var me={name:"Mpv",mixins:[X],data(){return{iconClass:"fa fa-tv",name:"mpv",pluginName:"media.mpv"}}};const pe=(0,ee.Z)(me,[["render",ue]]);var he=pe;function ye(e,t,s,a,l,n){return(0,i.wg)(),(0,i.iD)("div")}var fe={name:"Omxplayer",mixins:[X],data(){return{iconClass:"fa fa-tv",name:"OMXPlayer",pluginName:"media.omxplayer"}}};const we=(0,ee.Z)(fe,[["render",ye]]);var ge=we;function ve(e,t,s,a,l,n){return(0,i.wg)(),(0,i.iD)("div")}var _e={name:"Vlc",mixins:[X],data(){return{iconClass:"fa fa-tv",name:"VLC",pluginName:"media.vlc"}}};const ke=(0,ee.Z)(_e,[["render",ve]]);var Ce=ke,be={name:"Players",components:{Loading:v.Z,DropdownItem:B.Z,Dropdown:Y.Z,Chromecast:se,Kodi:ne,Mplayer:ce,Mpv:he,Omxplayer:ge,Vlc:Ce},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 xe=(0,ee.Z)(be,[["render",K],["__scopeId","data-v-f3388e1c"]]);var Pe=xe,De={name:"Header",components:{Players:Pe},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 Se=(0,ee.Z)(De,[["render",E],["__scopeId","data-v-e7f89e8e"]]);var qe=Se;const $e=e=>((0,i.dD)("data-v-28611e6c"),e=e(),(0,i.Cn)(),e),Ne={key:0,class:"row"},Ie=$e((()=>(0,i._)("div",{class:"left side"},"Title",-1))),Me={class:"right side"},ze=["href","textContent"],Te=["textContent"],Ve={key:1,class:"row"},Ze=$e((()=>(0,i._)("div",{class:"left side"},"TV Series",-1))),Ue=["textContent"],Re={key:2,class:"row"},We=$e((()=>(0,i._)("div",{class:"left side"},"Season",-1))),je=["textContent"],Ee={key:3,class:"row"},Le=$e((()=>(0,i._)("div",{class:"left side"},"Episode",-1))),Oe=["textContent"],Fe={key:4,class:"row"},He=$e((()=>(0,i._)("div",{class:"left side"},"Number of seasons",-1))),Ke=["textContent"],Ye={key:5,class:"row"},Be=$e((()=>(0,i._)("div",{class:"left side"},"Synopsis",-1))),Ae=["textContent"],Qe={key:6,class:"row"},Ge=$e((()=>(0,i._)("div",{class:"left side"},"Description",-1))),Xe=["textContent"],Je={key:7,class:"row"},et=$e((()=>(0,i._)("div",{class:"left side"},"Summary",-1))),tt=["textContent"],st={key:8,class:"row"},it=$e((()=>(0,i._)("div",{class:"left side"},"Overview",-1))),at=["textContent"],lt={key:9,class:"row"},nt=$e((()=>(0,i._)("div",{class:"left side"},"Duration",-1))),rt=["textContent"],ot={key:10,class:"row"},dt=$e((()=>(0,i._)("div",{class:"left side"},"Country",-1))),ct=["textContent"],ut={key:11,class:"row"},mt=$e((()=>(0,i._)("div",{class:"left side"},"Network",-1))),pt=["textContent"],ht={key:12,class:"row"},yt=$e((()=>(0,i._)("div",{class:"left side"},"Status",-1))),ft=["textContent"],wt={key:13,class:"row"},gt=$e((()=>(0,i._)("div",{class:"left side"},"Rating",-1))),vt=["textContent"],_t={key:14,class:"row"},kt=$e((()=>(0,i._)("div",{class:"left side"},"Votes",-1))),Ct=["textContent"],bt={key:15,class:"row"},xt=$e((()=>(0,i._)("div",{class:"left side"},"Genres",-1))),Pt=["textContent"],Dt={key:16,class:"row"},St=$e((()=>(0,i._)("div",{class:"left side"},"Channel",-1))),qt={class:"right side"},$t=["href","textContent"],Nt={key:17,class:"row"},It=$e((()=>(0,i._)("div",{class:"left side"},"Year",-1))),Mt=["textContent"],zt={key:18,class:"row"},Tt=$e((()=>(0,i._)("div",{class:"left side"},"Published at",-1))),Vt=["textContent"],Zt={key:19,class:"row"},Ut=$e((()=>(0,i._)("div",{class:"left side"},"File",-1))),Rt=["textContent"],Wt={key:20,class:"row"},jt=$e((()=>(0,i._)("div",{class:"left side"},"URL",-1))),Et={class:"right side url"},Lt=["href","textContent"],Ot={key:21,class:"row"},Ft=$e((()=>(0,i._)("div",{class:"left side"},"Trailer",-1))),Ht={class:"right side url"},Kt=["href","textContent"],Yt={key:22,class:"row"},Bt=$e((()=>(0,i._)("div",{class:"left side"},"Size",-1))),At=["textContent"],Qt={key:23,class:"row"},Gt=$e((()=>(0,i._)("div",{class:"left side"},"Quality",-1))),Xt=["textContent"],Jt={key:24,class:"row"},es=$e((()=>(0,i._)("div",{class:"left side"},"Seeds",-1))),ts=["textContent"],ss={key:25,class:"row"},is=$e((()=>(0,i._)("div",{class:"left side"},"Peers",-1))),as=["textContent"],ls={key:26,class:"row"},ns=$e((()=>(0,i._)("div",{class:"left side"},"Language",-1))),rs=["textContent"];function os(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",Ne,[Ie,(0,i._)("div",Me,[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,ze)):((0,i.wg)(),(0,i.iD)("span",{key:1,textContent:(0,a.zw)(s.item.title)},null,8,Te))])])):(0,i.kq)("",!0),s.item?.series?((0,i.wg)(),(0,i.iD)("div",Ve,[Ze,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.series)},null,8,Ue)])):(0,i.kq)("",!0),s.item?.season?((0,i.wg)(),(0,i.iD)("div",Re,[We,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.season)},null,8,je)])):(0,i.kq)("",!0),s.item?.episode?((0,i.wg)(),(0,i.iD)("div",Ee,[Le,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.episode)},null,8,Oe)])):(0,i.kq)("",!0),s.item?.num_seasons?((0,i.wg)(),(0,i.iD)("div",Fe,[He,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.num_seasons)},null,8,Ke)])):(0,i.kq)("",!0),s.item?.synopsis?((0,i.wg)(),(0,i.iD)("div",Ye,[Be,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.synopsis)},null,8,Ae)])):(0,i.kq)("",!0),s.item?.description?((0,i.wg)(),(0,i.iD)("div",Qe,[Ge,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.description)},null,8,Xe)])):(0,i.kq)("",!0),s.item?.summary?((0,i.wg)(),(0,i.iD)("div",Je,[et,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.summary)},null,8,tt)])):(0,i.kq)("",!0),s.item?.overview?((0,i.wg)(),(0,i.iD)("div",st,[it,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.overview)},null,8,at)])):(0,i.kq)("",!0),s.item?.duration?((0,i.wg)(),(0,i.iD)("div",lt,[nt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(e.convertTime(s.item.duration))},null,8,rt)])):(0,i.kq)("",!0),s.item?.country?((0,i.wg)(),(0,i.iD)("div",ot,[dt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.country)},null,8,ct)])):(0,i.kq)("",!0),s.item?.network?((0,i.wg)(),(0,i.iD)("div",ut,[mt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.network)},null,8,pt)])):(0,i.kq)("",!0),s.item?.status?((0,i.wg)(),(0,i.iD)("div",ht,[yt,(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",wt,[gt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.rating.percentage)},null,8,vt)])):(0,i.kq)("",!0),s.item?.rating?((0,i.wg)(),(0,i.iD)("div",_t,[kt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.rating.votes)},null,8,Ct)])):(0,i.kq)("",!0),s.item?.genres?((0,i.wg)(),(0,i.iD)("div",bt,[xt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.genres.join(", "))},null,8,Pt)])):(0,i.kq)("",!0),s.item?.channelId?((0,i.wg)(),(0,i.iD)("div",Dt,[St,(0,i._)("div",qt,[(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",Nt,[It,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.year)},null,8,Mt)])):(0,i.kq)("",!0),s.item?.publishedAt?((0,i.wg)(),(0,i.iD)("div",zt,[Tt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(e.formatDate(s.item.publishedAt,!0))},null,8,Vt)])):(0,i.kq)("",!0),s.item?.file?((0,i.wg)(),(0,i.iD)("div",Zt,[Ut,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.file)},null,8,Rt)])):(0,i.kq)("",!0),s.item?.url?((0,i.wg)(),(0,i.iD)("div",Wt,[jt,(0,i._)("div",Et,[(0,i._)("a",{href:s.item.url,target:"_blank",textContent:(0,a.zw)(s.item.url)},null,8,Lt)])])):(0,i.kq)("",!0),s.item?.trailer?((0,i.wg)(),(0,i.iD)("div",Ot,[Ft,(0,i._)("div",Ht,[(0,i._)("a",{href:s.item.trailer,target:"_blank",textContent:(0,a.zw)(s.item.trailer)},null,8,Kt)])])):(0,i.kq)("",!0),s.item?.size?((0,i.wg)(),(0,i.iD)("div",Yt,[Bt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(e.convertSize(s.item.size))},null,8,At)])):(0,i.kq)("",!0),s.item?.quality?((0,i.wg)(),(0,i.iD)("div",Qt,[Gt,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.quality)},null,8,Xt)])):(0,i.kq)("",!0),s.item?.seeds?((0,i.wg)(),(0,i.iD)("div",Jt,[es,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.seeds)},null,8,ts)])):(0,i.kq)("",!0),s.item?.peers?((0,i.wg)(),(0,i.iD)("div",ss,[is,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.peers)},null,8,as)])):(0,i.kq)("",!0),s.item?.language?((0,i.wg)(),(0,i.iD)("div",ls,[ns,(0,i._)("div",{class:"right side",textContent:(0,a.zw)(s.item.language)},null,8,rs)])):(0,i.kq)("",!0)],64)}var ds={name:"Info",mixins:[k.Z,C.Z],props:{item:{type:Object,default:()=>{}}}};const cs=(0,ee.Z)(ds,[["render",os],["__scopeId","data-v-28611e6c"]]);var us=cs;const ms=["title","onClick"];function ps(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,ms)))),128))])}var hs={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 ys=(0,ee.Z)(hs,[["render",ps],["__scopeId","data-v-4597e14d"]]);var fs=ys;const ws={class:"media-results"},gs={key:0,class:"no-content"},vs=["onClick"],_s={class:"col-10 left side"},ks={class:"icon"},Cs=["textContent"],bs={class:"col-2 right side"};function xs(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",ws,[s.results?.length?(0,i.kq)("",!0):((0,i.wg)(),(0,i.iD)("div",gs," 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",_s,[(0,i._)("div",ks,[(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,Cs)]),(0,i._)("div",bs,[(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,vs)))),128))])}var Ps={name:"Results",components:{Dropdown:Y.Z,DropdownItem:B.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 Ds=(0,ee.Z)(Ps,[["render",xs],["__scopeId","data-v-4a59b6d2"]]);var Ss=Ds;const qs=e=>((0,i.dD)("data-v-77ae3705"),e=e(),(0,i.Cn)(),e),$s={class:"subtitles-container"},Ns={class:"items"},Is=qs((()=>(0,i._)("div",{class:"col-1 icon"},[(0,i._)("i",{class:"fa fa-ban"})],-1))),Ms=qs((()=>(0,i._)("div",{class:"col-11 title"},"None",-1))),zs=[Is,Ms],Ts=["onClick"],Vs={class:"col-1 icon"},Zs={key:0,class:"fa fa-file"},Us={key:2,class:"fa fa-closed-captioning"},Rs={class:"footer"};function Ws(e,t,s,l,n,r){const o=(0,i.up)("Loading");return(0,i.wg)(),(0,i.iD)("div",$s,[(0,i._)("div",Ns,[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)},zs,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",Vs,[e.IsLocal?((0,i.wg)(),(0,i.iD)("i",Zs)):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",Us))]),(0,i.Uk)(" "+(0,a.zw)(e.SubFileName),1)],10,Ts)))),128))]),(0,i._)("div",Rs,[(0,i._)("button",{onClick:t[1]||(t[1]=t=>e.$emit("select-subs",null==n.selectedItem?null:n.items[n.selectedItem]))},"Select")])])}var js={name:"Subtitles",mixins:[k.Z],components:{Loading:v.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 Es=(0,ee.Z)(js,[["render",Ws],["__scopeId","data-v-77ae3705"]]);var Ls=Es,Os=s(562);const Fs=e=>((0,i.dD)("data-v-a2e5c946"),e=e(),(0,i.Cn)(),e),Hs={class:"browser-container"},Ks=Fs((()=>(0,i._)("div",{class:"col-10 left side"},[(0,i._)("i",{class:"icon fa fa-folder"}),(0,i._)("span",{class:"name"},"..")],-1))),Ys=[Ks],Bs=["onClick"],As={class:"col-10"},Qs={class:"name"},Gs={class:"col-2 actions"};function Xs(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",Hs,[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||"")+"/..")},Ys)):(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",As,[(0,i._)("i",{class:(0,a.C_)(["icon fa",{"fa-file":"directory"!==t.type,"fa-folder":"directory"===t.type}])},null,2),(0,i._)("span",Qs,(0,a.zw)(t.name),1)]),(0,i._)("div",Gs,[(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,Bs)))),128))])}var Js={name:"Browser",components:{DropdownItem:B.Z,Dropdown:Y.Z,Loading:v.Z},mixins:[k.Z,C.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 ei=(0,ee.Z)(Js,[["render",Xs],["__scopeId","data-v-a2e5c946"]]);var ti=ei,si={name:"Media",mixins:[k.Z,C.Z],components:{Browser:ti,Loading:v.Z,MediaView:b.Z,Header:qe,Results:Ss,Modal:_.Z,Info:us,Nav:fs,TorrentView:Os.Z,Subtitles:Ls},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,this.pluginName)),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 toggleMute(){await this.selectedPlayer.component.toggleMute(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,this.pluginName,!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)},showPlayUrlModal(){this.$refs.playUrlModal.show(),this.$refs.playUrlInput.value="",this.$nextTick((()=>{this.$refs.playUrlInput.value="",this.$refs.playUrlInput.focus()}))},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 ii=(0,ee.Z)(si,[["render",g],["__scopeId","data-v-1904e8da"]]);var ai=ii},562: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-7351a8a4"),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"},f=l((()=>(0,i._)("div",{class:"attr"},"Name",-1))),w=["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))),$=["textContent"],N={class:"row"},I=l((()=>(0,i._)("div",{class:"attr"},"Size",-1))),M=["textContent"],z={key:2,class:"row"},T=l((()=>(0,i._)("div",{class:"attr"},"Remaining",-1))),V=["textContent"],Z={class:"row"},U=l((()=>(0,i._)("div",{class:"attr"},"URL",-1))),R={class:"value nowrap"},W=["href","textContent"],j={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,[f,(0,i._)("div",{class:"value",textContent:(0,a.zw)(se.transfers[se.selectedItem].name)},null,8,w)])):(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,$)]),(0,i._)("div",N,[I,(0,i._)("div",{class:"value",textContent:(0,a.zw)(e.convertSize(se.transfers[se.selectedItem].size||0))},null,8,M)]),se.transfers[se.selectedItem].remaining_bytes?((0,i.wg)(),(0,i.iD)("div",z,[T,(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,[U,(0,i._)("div",R,[(0,i._)("a",{href:se.transfers[se.selectedItem].url,target:"_blank",textContent:(0,a.zw)(se.transfers[se.selectedItem].url)},null,8,W)])]),(0,i._)("div",j,[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(6791),ae=s(8637),le=s(1065),ne=s(3493),re=s(8832),oe=s(1693),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-7351a8a4"]]);var me=ue}}]);
//# sourceMappingURL=9159.51047b9b.js.map