[Automatic] Updated UI files

This commit is contained in:
Fabio Manganiello 2024-09-28 22:03:28 +00:00
parent c88a6aa3e6
commit 9e6ae42660
Signed by untrusted user: blacklight
GPG key ID: AD6D273C08B82EC9
103 changed files with 97 additions and 87 deletions

View file

@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/fonts/poppins.css"><title>platypush</title><script defer="defer" src="/static/js/chunk-vendors.5645dfdc.js"></script><script defer="defer" src="/static/js/app.e63f4ae3.js"></script><link href="/static/css/chunk-vendors.d510eff2.css" rel="stylesheet"><link href="/static/css/app.b9b833cd.css" rel="stylesheet"><link rel="icon" type="image/svg+xml" href="/img/icons/favicon.svg"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#ffffff"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="Platypush"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#ffffff"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but platypush doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/fonts/poppins.css"><title>platypush</title><script defer="defer" src="/static/js/chunk-vendors.5645dfdc.js"></script><script defer="defer" src="/static/js/app.bf4db38a.js"></script><link href="/static/css/chunk-vendors.d510eff2.css" rel="stylesheet"><link href="/static/css/app.b9b833cd.css" rel="stylesheet"><link rel="icon" type="image/svg+xml" href="/img/icons/favicon.svg"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#ffffff"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="Platypush"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#ffffff"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but platypush doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[2140,4619],{4619:function(e,t,s){s.r(t),s.d(t,{default:function(){return w}});var o=s(6252),i=s(3577);const a={class:"date-time"},r=["textContent"],h=["textContent"];function n(e,t,s,n,m,u){return(0,o.wg)(),(0,o.iD)("div",a,[u._showDate?((0,o.wg)(),(0,o.iD)("div",{key:0,class:"date",textContent:(0,i.zw)(e.formatDate(e.now))},null,8,r)):(0,o.kq)("",!0),u._showTime?((0,o.wg)(),(0,o.iD)("div",{key:1,class:"time",textContent:(0,i.zw)(e.formatTime(e.now,u._showSeconds))},null,8,h)):(0,o.kq)("",!0)])}var m=s(8637),u={name:"DateTime",mixins:[m.Z],props:{showDate:{required:!1,default:!0},showTime:{required:!1,default:!0},showSeconds:{required:!1,default:!0}},computed:{_showTime(){return this.parseBoolean(this.showTime)},_showDate(){return this.parseBoolean(this.showDate)},_showSeconds(){return this.parseBoolean(this.showSeconds)}},data:function(){return{now:new Date}},methods:{refreshTime(){this.now=new Date}},mounted:function(){this.refreshTime(),setInterval(this.refreshTime,1e3)}},c=s(3744);const l=(0,c.Z)(u,[["render",n],["__scopeId","data-v-ca42eb9c"]]);var w=l},2140:function(e,t,s){s.r(t),s.d(t,{default:function(){return k}});var o=s(6252),i=s(3577);const a={class:"image-carousel"},r={ref:"background",class:"background"},h=["src"],n={key:1,class:"row info-container"},m={class:"col-6 weather-container"},u={key:0},c={class:"col-6 date-time-container"};function l(e,t,s,l,w,d){const g=(0,o.up)("Loading"),f=(0,o.up)("Weather"),p=(0,o.up)("DateTime");return(0,o.wg)(),(0,o.iD)("div",a,[w.images.length?(0,o.kq)("",!0):((0,o.wg)(),(0,o.j4)(g,{key:0})),(0,o._)("div",r,null,512),(0,o._)("img",{ref:"img",src:d.imgURL,alt:"Your carousel images",style:(0,i.j5)({display:w.images.length?"block":"none"})},null,12,h),d._showDate||d._showTime?((0,o.wg)(),(0,o.iD)("div",n,[(0,o._)("div",m,[d._showWeather?((0,o.wg)(),(0,o.j4)(f,{key:1,"show-icon":d._showWeatherIcon,"show-summary":d._showWeatherSummary,"show-temperature":d._showTemperature,"icon-color":s.weatherIconColor,"icon-size":s.weatherIconSize,animate:d._animateWeatherIcon},null,8,["show-icon","show-summary","show-temperature","icon-color","icon-size","animate"])):((0,o.wg)(),(0,o.iD)("span",u," "))]),(0,o._)("div",c,[d._showTime||d._showDate?((0,o.wg)(),(0,o.j4)(p,{key:0,"show-date":d._showDate,"show-time":d._showTime,"show-seconds":d._showSeconds},null,8,["show-date","show-time","show-seconds"])):(0,o.kq)("",!0)])])):(0,o.kq)("",!0)])}var w=s(8637),d=s(6791),g=s(4619),f=s(9211),p={name:"ImageCarousel",components:{Weather:f["default"],DateTime:g["default"],Loading:d.Z},mixins:[w.Z],props:{imgDir:{type:String,required:!0},refreshSeconds:{type:Number,default:15},showDate:{default:!1},showTime:{default:!1},showSeconds:{default:!1},showWeather:{default:!1},showTemperature:{default:!0},showWeatherIcon:{default:!0},showWeatherSummary:{default:!0},weatherIconColor:{type:String,default:"white"},weatherIconSize:{type:Number,default:70},animateWeatherIcon:{default:!0}},data(){return{images:[],currentImage:void 0,loading:!1}},computed:{imgURL(){let e=8008;return"backend.http"in this.$root.config&&"port"in this.$root.config["backend.http"]&&(e=this.$root.config["backend.http"].port),"//"+window.location.hostname+":"+e+this.currentImage},_showDate(){return this.parseBoolean(this.showDate)},_showTime(){return this.parseBoolean(this.showTime)},_showSeconds(){return this.parseBoolean(this.showSeconds)},_showTemperature(){return this.parseBoolean(this.showTemperature)},_showWeather(){return this.parseBoolean(this.showWeather)},_showWeatherIcon(){return this.parseBoolean(this.showWeatherIcon)},_showWeatherSummary(){return this.parseBoolean(this.showWeatherSummary)},_animateWeatherIcon(){return this.parseBoolean(this.animateWeatherIcon)}},methods:{async refresh(){if(!this.images.length){this.loading=!0;try{this.images=await this.request("utils.search_web_directory",{directory:this.imgDir,extensions:[".jpg",".jpeg",".png"]}),this.shuffleImages()}finally{this.loading=!1}}this.images.length&&(this.currentImage=this.images.pop())},onNewImage(){if(this.$refs.img&&(this.$refs.background.style["background-image"]="url("+this.imgURL+")",this.$refs.img.style.width="auto",this.$refs.img.width>this.$refs.img.height)){const e=this.$refs.img.width/this.$refs.img.height;e>=4/3&&e<=16/9?this.$refs.img.style.width="100%":e<=4/3&&(this.$refs.img.style.height="100%")}},shuffleImages(){for(let e=this.images.length-1;e>0;e--){let t=Math.floor(Math.random()*(e+1)),s=this.images[e];this.images[e]=this.images[t],this.images[t]=s}}},mounted(){this.$refs.img.addEventListener("load",this.onNewImage),this.$refs.img.addEventListener("error",this.refresh),this.refresh(),setInterval(this.refresh,Math.round(1e3*this.refreshSeconds))}},_=s(3744);const y=(0,_.Z)(p,[["render",l],["__scopeId","data-v-7b09a273"]]);var k=y}}]);
//# sourceMappingURL=2140.bce5dd59.js.map
//# sourceMappingURL=2140.36e32e05.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[2991],{2991:function(a,s,t){t.r(s),t.d(s,{default:function(){return C}});var l=t(6252),c=t(3577);const e=a=>((0,l.dD)("data-v-1e886630"),a=a(),(0,l.Cn)(),a),n={class:"nav"},i={class:"path"},p=e((()=>(0,l._)("i",{class:"fas fa-home"},null,-1))),o=[p],k=e((()=>(0,l._)("span",{class:"separator"},[(0,l._)("i",{class:"fas fa-chevron-right"})],-1))),r=["title","onClick"],h={key:1},u={key:0,class:"separator"},f=e((()=>(0,l._)("i",{class:"fas fa-chevron-right"},null,-1))),d=[f];function g(a,s,t,e,p,f){return(0,l.wg)(),(0,l.iD)("div",n,[(0,l._)("span",i,[(0,l._)("span",{class:"back token",title:"Back",onClick:s[0]||(s[0]=s=>a.$emit("back"))},o),k]),((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(t.path,((s,e)=>((0,l.wg)(),(0,l.iD)("span",{class:"path",key:e},[(0,l._)("span",{class:"token",title:s.title,onClick:a=>f.onClick(s)},[(a.icon=s.icon?.["class"])?((0,l.wg)(),(0,l.iD)("i",{key:0,class:(0,c.C_)(["icon",a.icon])},null,2)):(0,l.kq)("",!0),s.title?((0,l.wg)(),(0,l.iD)("span",h,(0,c.zw)(s.title),1)):(0,l.kq)("",!0)],8,r),(e>0||t.path.length>1)&&e<t.path.length-1?((0,l.wg)(),(0,l.iD)("span",u,d)):(0,l.kq)("",!0)])))),128))])}var _={emits:["back","select"],props:{path:{type:Array,default:()=>[]}},methods:{onClick(a){a.click&&(a.click(),this.$emit("select",a))}}},v=t(3744);const w=(0,v.Z)(_,[["render",g],["__scopeId","data-v-1e886630"]]);var C=w}}]);
//# sourceMappingURL=2991.633ef421.js.map

View file

@ -0,0 +1 @@
{"version":3,"file":"static/js/2991.633ef421.js","mappings":"sPACOA,MAAM,O,GACHA,MAAM,Q,UAERC,EAAAA,EAAAA,GAAyB,KAAtBD,MAAM,eAAa,W,GAAtBE,G,UAGFD,EAAAA,EAAAA,GAEO,QAFDD,MAAM,aAAW,EACrBC,EAAAA,EAAAA,GAAkC,KAA/BD,MAAM,2BAAsB,K,yCAU3BA,MAAM,a,UAEVC,EAAAA,EAAAA,GAAkC,KAA/BD,MAAM,wBAAsB,W,GAA/BG,G,0CAnBNC,EAAAA,EAAAA,IAsBM,MAtBNC,EAsBM,EArBJJ,EAAAA,EAAAA,GAQO,OARPK,EAQO,EAPLL,EAAAA,EAAAA,GAEO,QAFDD,MAAM,aAAaO,MAAM,OAAQC,QAAKC,EAAA,KAAAA,EAAA,GAAAC,GAAEC,EAAAC,MAAM,U,GAIpDC,MAEO,aAGTT,EAAAA,EAAAA,IAUOU,EAAAA,GAAA,MAAAC,EAAAA,EAAAA,IAVqCC,EAAAC,MAAI,CAArBC,EAAOC,M,WAAlCf,EAAAA,EAAAA,IAUO,QAVDJ,MAAM,OAAuCoB,IAAKD,G,EACtDlB,EAAAA,EAAAA,GAGO,QAHDD,MAAM,QAASO,MAAOW,EAAMX,MAAQC,QAAKE,GAAEW,EAAAb,QAAQU,I,EACnBP,EAAAW,KAAOJ,EAAMI,OAAO,YAAH,WAArDlB,EAAAA,EAAAA,IAAoE,K,MAAjEJ,OAAKuB,EAAAA,EAAAA,IAAA,CAAC,OAAeZ,EAAAW,Q,yBACZJ,EAAMX,QAAK,WAAvBH,EAAAA,EAAAA,IAAiD,OAAAoB,GAAAC,EAAAA,EAAAA,IAArBP,EAAMX,OAAK,2BAI5BY,EAAQ,GAAKH,EAAAC,KAAKS,OAAS,IAAMP,EAAQH,EAAAC,KAAKS,OAAS,IAAH,WADjEtB,EAAAA,EAAAA,IAGO,OAHPuB,EAGOC,KAAA,oB,QAMb,OACEC,MAAO,CAAC,OAAQ,UAChBC,MAAO,CACLb,KAAM,CACJc,KAAMC,MACNC,QAASA,IAAM,KAInBC,QAAS,CACP1B,OAAAA,CAAQU,GACFA,EAAMiB,QACRjB,EAAMiB,QACNC,KAAKxB,MAAM,SAAUM,GAEzB,I,UCnCJ,MAAMmB,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/panels/Media/Providers/Nav.vue","webpack://platypush/./src/components/panels/Media/Providers/Nav.vue?d1ce"],"sourcesContent":["<template>\n <div class=\"nav\">\n <span class=\"path\">\n <span class=\"back token\" title=\"Back\" @click=\"$emit('back')\">\n <i class=\"fas fa-home\" />\n </span>\n\n <span class=\"separator\">\n <i class=\"fas fa-chevron-right\" />\n </span>\n </span>\n\n <span class=\"path\" v-for=\"(token, index) in path\" :key=\"index\">\n <span class=\"token\" :title=\"token.title\" @click=\"onClick(token)\">\n <i class=\"icon\" :class=\"icon\" v-if=\"icon = token.icon?.['class']\" />\n <span v-if=\"token.title\">{{ token.title }}</span>\n </span>\n\n <span class=\"separator\"\n v-if=\"(index > 0 || path.length > 1) && index < path.length - 1\">\n <i class=\"fas fa-chevron-right\" />\n </span>\n </span>\n </div>\n</template>\n\n<script>\nexport default {\n emits: ['back', 'select'],\n props: {\n path: {\n type: Array,\n default: () => [],\n },\n },\n\n methods: {\n onClick(token) {\n if (token.click) {\n token.click()\n this.$emit('select', token)\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"../style.scss\";\n\n.nav {\n overflow-x: auto !important;\n overflow-y: hidden !important;\n\n .path .token .icon {\n margin-right: 0.5em;\n }\n}\n</style>\n","import { render } from \"./Nav.vue?vue&type=template&id=1e886630&scoped=true\"\nimport script from \"./Nav.vue?vue&type=script&lang=js\"\nexport * from \"./Nav.vue?vue&type=script&lang=js\"\n\nimport \"./Nav.vue?vue&type=style&index=0&id=1e886630&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1e886630\"]])\n\nexport default __exports__"],"names":["class","_createElementVNode","_hoisted_3","_hoisted_9","_createElementBlock","_hoisted_1","_hoisted_2","title","onClick","_cache","$event","_ctx","$emit","_hoisted_5","_Fragment","_renderList","$props","path","token","index","key","$options","icon","_normalizeClass","_hoisted_7","_toDisplayString","length","_hoisted_8","_hoisted_10","emits","props","type","Array","default","methods","click","this","__exports__","render"],"sourceRoot":""}

View file

@ -1,2 +0,0 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[3022],{3022:function(t,e,n){n.r(e),n.d(e,{default:function(){return _}});var s=n(6252);const o={class:"sort-buttons"},i={class:"sort-buttons-dropdown-body"},a=(0,s._)("div",{class:"title"},"Sort Direction",-1),l=(0,s._)("div",{class:"title"},"Sort By",-1);function c(t,e,n,c,r,u){const d=(0,s.up)("DropdownItem"),p=(0,s.up)("Dropdown");return(0,s.wg)(),(0,s.iD)("div",o,[(0,s.Wm)(p,{"icon-class":u.btnIconClass,glow:"",right:"",title:"Sort Direction"},{default:(0,s.w5)((()=>[(0,s._)("div",i,[a,(0,s.Wm)(d,{text:"Ascending","icon-class":"fa fa-arrow-up-short-wide","item-class":{active:!n.value?.desc},onInput:e[0]||(e[0]=t=>u.onDescChange(!1))},null,8,["item-class"]),(0,s.Wm)(d,{text:"Descending","icon-class":"fa fa-arrow-down-wide-short","item-class":{active:n.value?.desc},onInput:e[1]||(e[1]=t=>u.onDescChange(!0))},null,8,["item-class"]),l,(0,s.Wm)(d,{text:"Name","icon-class":"fa fa-font","item-class":{active:"title"===n.value?.attr},onInput:e[2]||(e[2]=t=>u.onAttrChange("title"))},null,8,["item-class"]),(0,s.Wm)(d,{text:"Release Date","icon-class":"fa fa-calendar","item-class":{active:"year"===n.value?.attr},onInput:e[3]||(e[3]=t=>u.onAttrChange("year"))},null,8,["item-class"]),(0,s.Wm)(d,{text:"Critics Rating","icon-class":"fa fa-star","item-class":{active:"critic_rating"===n.value?.attr},onInput:e[4]||(e[4]=t=>u.onAttrChange("critic_rating"))},null,8,["item-class"]),(0,s.Wm)(d,{text:"Community Rating","icon-class":"fa fa-users","item-class":{active:"community_rating"===n.value?.attr},onInput:e[5]||(e[5]=t=>u.onAttrChange("community_rating"))},null,8,["item-class"])])])),_:1},8,["icon-class"])])}var r=n(9963),u=n(3577);const d={class:"floating-dropdown-container"},p={class:"body-container hidden",ref:"dropdownContainer"};function m(t,e,n,o,i,a){const l=(0,s.up)("FloatingButton"),c=(0,s.up)("DropdownBody");return(0,s.wg)(),(0,s.iD)("div",d,[(0,s.Wm)(l,{disabled:t.disabled,iconClass:t.iconClass,iconUrl:t.iconUrl,glow:t.glow,left:t.left,right:t.right,title:t.title,top:t.top,bottom:t.bottom,ref:"button",onClick:e[0]||(e[0]=(0,r.iM)((e=>t.toggle(e)),["stop"]))},null,8,["disabled","iconClass","iconUrl","glow","left","right","title","top","bottom"]),(0,s._)("div",p,[(0,s.Wm)(c,{id:t.id,keepOpenOnItemClick:t.keepOpenOnItemClick,style:(0,u.j5)(t.style),ref:"dropdown",onClick:t.onClick},{default:(0,s.w5)((()=>[(0,s.WI)(t.$slots,"default",{},void 0,!0)])),_:3},8,["id","keepOpenOnItemClick","style","onClick"])],512)])}var g=n(1370),f=n(3218),h=n(3825),v={mixins:[g.Z,h.Z],emits:["click"],components:{DropdownBody:f.Z,FloatingButton:h.Z}},w=n(3744);const C=(0,w.Z)(v,[["render",m],["__scopeId","data-v-2e3f2ab5"]]);var b=C,y=n(7597),k=n(8637),D={emits:["input"],mixins:[k.Z],components:{Dropdown:b,DropdownItem:y.Z},props:{value:{type:Object,required:!0}},computed:{btnIconClass(){return this.value?.desc?"fa fa-arrow-down-wide-short":"fa fa-arrow-up-short-wide"}},methods:{onAttrChange(t){this.$emit("input",{attr:t,desc:!!this.value?.desc})},onDescChange(t){this.$emit("input",{attr:this.value?.attr,desc:t})}},watch:{value(){this.setUrlArgs({sort:this.value?.attr,desc:this.value?.desc})}},mounted(){const t=this.getUrlArgs(),e=t.sort,n="true"===t.desc?.toString();(e||n)&&this.$emit("input",{attr:e,desc:n})},unmounted(){this.setUrlArgs({sort:null,desc:null})}};const I=(0,w.Z)(D,[["render",c]]);var _=I}}]);
//# sourceMappingURL=3022.1d134744.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[4028],{3549:function(e,s,a){a.r(s),a.d(s,{default:function(){return p}});var t=a(6252),l=a(3577);const i={class:"collections items"},o=["onClick"],r={class:"image"},n=["src","alt","onError"],c={key:0,class:"name"};function f(e,s,a,f,m,d){return(0,t.wg)(),(0,t.iD)("div",{class:(0,l.C_)(["collections index",{"is-root":!a.parentId}])},[(0,t._)("div",i,[((0,t.wg)(!0),(0,t.iD)(t.HY,null,(0,t.Ko)(d.filteredItems,(s=>((0,t.wg)(),(0,t.iD)("div",{class:"collection item",key:s.id,onClick:a=>e.$emit("select",s)},[(0,t._)("div",r,[m.fallbackImageCollections[s.id]?((0,t.wg)(),(0,t.iD)("i",{key:1,class:(0,l.C_)(d.collectionsIcons[s.type]??"fas fa-folder")},null,2)):((0,t.wg)(),(0,t.iD)("img",{key:0,src:s.image,alt:s.name,onError:e=>d.onImageError(s)},null,40,n))]),m.fallbackImageCollections[s.id]||a.parentId?((0,t.wg)(),(0,t.iD)("div",c,[(0,t._)("h2",null,(0,l.zw)(s.name),1)])):(0,t.kq)("",!0)],8,o)))),128))])],2)}var m={props:{filter:{type:String},items:{type:Array,default:()=>[]},parentId:{type:String}},data(){return{fallbackImageCollections:{}}},computed:{collectionsIcons(){return{books:"fas fa-book",homevideos:"fas fa-video",movies:"fas fa-film",music:"fas fa-music",playlists:"fas fa-list",photos:"fas fa-image",series:"fas fa-tv"}},filteredItems(){return Object.values(this.items).filter((e=>!this.filter||e.name.toLowerCase().includes(this.filter.toLowerCase()))).sort(((e,s)=>e.name.localeCompare(s.name)))}},methods:{onImageError(e){this.fallbackImageCollections[e.id]=!0}}},d=a(3744);const u=(0,d.Z)(m,[["render",f],["__scopeId","data-v-75f01cbb"]]);var p=u}}]);
//# sourceMappingURL=4028.8ecb5ee5.js.map

View file

@ -0,0 +1 @@
{"version":3,"file":"static/js/4028.8ecb5ee5.js","mappings":"gMAESA,MAAM,qB,iBAKFA,MAAM,S,mCAQNA,MAAM,Q,0CAdjBC,EAAAA,EAAAA,IAmBM,OAnBDD,OAAKE,EAAAA,EAAAA,IAAA,CAAC,oBAAmB,YAAuBC,EAAAC,a,EACnDC,EAAAA,EAAAA,GAiBM,MAjBNC,EAiBM,gBAhBJL,EAAAA,EAAAA,IAeMM,EAAAA,GAAA,MAAAC,EAAAA,EAAAA,IAdoBC,EAAAC,eAAdC,K,WADZV,EAAAA,EAAAA,IAeM,OAfDD,MAAM,kBAELY,IAAKD,EAAWE,GAChBC,QAAKC,GAAEC,EAAAC,MAAM,SAAUN,I,EAC3BN,EAAAA,EAAAA,GAMM,MANNa,EAMM,CAFQC,EAAAC,yBAAyBT,EAAWE,M,WAChDZ,EAAAA,EAAAA,IAA0E,K,MAAtED,OAAKE,EAAAA,EAAAA,IAAEO,EAAAY,iBAAiBV,EAAWW,OAAS,kB,WADE,WAHlDrB,EAAAA,EAAAA,IAGqD,O,MAH/CsB,IAAKZ,EAAWa,MAChBC,IAAKd,EAAWe,KAChBC,QAAKZ,GAAEN,EAAAmB,aAAajB,I,cAKJQ,EAAAC,yBAAyBT,EAAWE,KAAOV,EAAAC,WAAQ,WAA3EH,EAAAA,EAAAA,IAEM,MAFN4B,EAEM,EADJxB,EAAAA,EAAAA,GAA8B,WAAAyB,EAAAA,EAAAA,IAAvBnB,EAAWe,MAAI,+B,YAQhC,OACEK,MAAO,CACLC,OAAQ,CACNV,KAAMW,QAGRC,MAAO,CACLZ,KAAMa,MACNC,QAASA,IAAM,IAGjBhC,SAAU,CACRkB,KAAMW,SAIVI,IAAAA,GACE,MAAO,CACLjB,yBAA0B,CAAC,EAE/B,EAEAkB,SAAU,CACRjB,gBAAAA,GACE,MAAO,CACLkB,MAAO,cACPC,WAAY,eACZC,OAAQ,cACRC,MAAO,eACPC,UAAW,cACXC,OAAQ,eACRC,OAAQ,YAEZ,EAEAnC,aAAAA,GACE,OAAOoC,OAAOC,OAAOC,KAAKd,OAAOF,QAC9BiB,IAAUD,KAAKhB,QAAUiB,EAAKvB,KAAKwB,cAAcC,SAASH,KAAKhB,OAAOkB,iBACvEE,MAAK,CAACC,EAAGC,IAAMD,EAAE3B,KAAK6B,cAAcD,EAAE5B,OAC1C,GAGF8B,QAAS,CACP5B,YAAAA,CAAajB,GACXqC,KAAK5B,yBAAyBT,EAAWE,KAAM,CACjD,I,UC9DJ,MAAM4C,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/panels/Media/Providers/Jellyfin/Collections.vue","webpack://platypush/./src/components/panels/Media/Providers/Jellyfin/Collections.vue?e185"],"sourcesContent":["<template>\n <div class=\"collections index\" :class=\"{ 'is-root': !parentId }\">\n <div class=\"collections items\">\n <div class=\"collection item\"\n v-for=\"collection in filteredItems\"\n :key=\"collection.id\"\n @click=\"$emit('select', collection)\">\n <div class=\"image\">\n <img :src=\"collection.image\"\n :alt=\"collection.name\"\n @error=\"onImageError(collection)\"\n v-if=\"!fallbackImageCollections[collection.id]\">\n <i :class=\"collectionsIcons[collection.type] ?? 'fas fa-folder'\" v-else />\n </div>\n\n <div class=\"name\" v-if=\"fallbackImageCollections[collection.id] || parentId\">\n <h2>{{ collection.name }}</h2>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n filter: {\n type: String,\n },\n\n items: {\n type: Array,\n default: () => [],\n },\n\n parentId: {\n type: String,\n },\n },\n\n data() {\n return {\n fallbackImageCollections: {},\n };\n },\n\n computed: {\n collectionsIcons() {\n return {\n books: \"fas fa-book\",\n homevideos: \"fas fa-video\",\n movies: \"fas fa-film\",\n music: \"fas fa-music\",\n playlists: \"fas fa-list\",\n photos: \"fas fa-image\",\n series: \"fas fa-tv\",\n };\n },\n\n filteredItems() {\n return Object.values(this.items).filter(\n (item) => !this.filter || item.name.toLowerCase().includes(this.filter.toLowerCase())\n ).sort((a, b) => a.name.localeCompare(b.name))\n },\n },\n\n methods: {\n onImageError(collection) {\n this.fallbackImageCollections[collection.id] = true\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"./common.scss\";\n\n.index {\n .item {\n h2 {\n font-size: 1.25em;\n font-weight: bold;\n overflow: auto;\n text-overflow: ellipsis;\n }\n }\n\n &.is-root {\n .item {\n h2 {\n font-size: 2em;\n }\n }\n }\n}\n</style>\n","import { render } from \"./Collections.vue?vue&type=template&id=75f01cbb&scoped=true\"\nimport script from \"./Collections.vue?vue&type=script&lang=js\"\nexport * from \"./Collections.vue?vue&type=script&lang=js\"\n\nimport \"./Collections.vue?vue&type=style&index=0&id=75f01cbb&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-75f01cbb\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_normalizeClass","$props","parentId","_createElementVNode","_hoisted_1","_Fragment","_renderList","$options","filteredItems","collection","key","id","onClick","$event","_ctx","$emit","_hoisted_3","$data","fallbackImageCollections","collectionsIcons","type","src","image","alt","name","onError","onImageError","_hoisted_5","_toDisplayString","props","filter","String","items","Array","default","data","computed","books","homevideos","movies","music","playlists","photos","series","Object","values","this","item","toLowerCase","includes","sort","a","b","localeCompare","methods","__exports__","render"],"sourceRoot":""}

View file

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[4279],{4279:function(t,e,n){n.r(e),n.d(e,{default:function(){return _}});var i=n(6252);const s={class:"sort-buttons"},a={class:"sort-buttons-dropdown-body"},o=(0,i._)("div",{class:"title"},"Sort Direction",-1),l=(0,i._)("div",{class:"title"},"Sort By",-1);function c(t,e,n,c,r,u){const d=(0,i.up)("DropdownItem"),p=(0,i.up)("Dropdown");return(0,i.wg)(),(0,i.iD)("div",s,[(0,i.Wm)(p,{"icon-class":u.btnIconClass,glow:"",right:"",title:u.title},{default:(0,i.w5)((()=>[(0,i._)("div",a,[o,(0,i.Wm)(d,{text:"Ascending","icon-class":"fa fa-arrow-up-short-wide","item-class":{active:!n.value?.desc},onInput:e[0]||(e[0]=t=>u.onDescChange(!1))},null,8,["item-class"]),(0,i.Wm)(d,{text:"Descending","icon-class":"fa fa-arrow-down-wide-short","item-class":{active:n.value?.desc},onInput:e[1]||(e[1]=t=>u.onDescChange(!0))},null,8,["item-class"]),l,(0,i.Wm)(d,{text:"Name","icon-class":"fa fa-font","item-class":{active:"title"===n.value?.attr},onInput:e[2]||(e[2]=t=>u.onAttrChange("title"))},null,8,["item-class"]),n.withReleaseDate?((0,i.wg)(),(0,i.j4)(d,{key:0,text:"Release Date","icon-class":"fa fa-calendar","item-class":{active:"year"===n.value?.attr},onInput:e[3]||(e[3]=t=>u.onAttrChange("year"))},null,8,["item-class"])):(0,i.kq)("",!0),n.withCriticRating?((0,i.wg)(),(0,i.j4)(d,{key:1,text:"Critics Rating","icon-class":"fa fa-star","item-class":{active:"critic_rating"===n.value?.attr},onInput:e[4]||(e[4]=t=>u.onAttrChange("critic_rating"))},null,8,["item-class"])):(0,i.kq)("",!0),n.withCommunityRating?((0,i.wg)(),(0,i.j4)(d,{key:2,text:"Community Rating","icon-class":"fa fa-users","item-class":{active:"community_rating"===n.value?.attr},onInput:e[5]||(e[5]=t=>u.onAttrChange("community_rating"))},null,8,["item-class"])):(0,i.kq)("",!0)])])),_:1},8,["icon-class","title"])])}var r=n(9963),u=n(3577);const d={class:"floating-dropdown-container"},p={class:"body-container hidden",ref:"dropdownContainer"};function m(t,e,n,s,a,o){const l=(0,i.up)("FloatingButton"),c=(0,i.up)("DropdownBody");return(0,i.wg)(),(0,i.iD)("div",d,[(0,i.Wm)(l,{disabled:t.disabled,iconClass:t.iconClass,iconUrl:t.iconUrl,glow:t.glow,left:t.left,right:t.right,title:t.title,top:t.top,bottom:t.bottom,ref:"button",onClick:e[0]||(e[0]=(0,r.iM)((e=>t.toggle(e)),["stop"]))},null,8,["disabled","iconClass","iconUrl","glow","left","right","title","top","bottom"]),(0,i._)("div",p,[(0,i.Wm)(c,{id:t.id,keepOpenOnItemClick:t.keepOpenOnItemClick,style:(0,u.j5)(t.style),ref:"dropdown",onClick:t.onClick},{default:(0,i.w5)((()=>[(0,i.WI)(t.$slots,"default",{},void 0,!0)])),_:3},8,["id","keepOpenOnItemClick","style","onClick"])],512)])}var g=n(1370),h=n(3218),w=n(3825),f={mixins:[g.Z,w.Z],emits:["click"],components:{DropdownBody:h.Z,FloatingButton:w.Z}},v=n(3744);const C=(0,v.Z)(f,[["render",m],["__scopeId","data-v-2e3f2ab5"]]);var y=C,k=n(7597),b=n(8637),D={emits:["input"],mixins:[b.Z],components:{Dropdown:y,DropdownItem:k.Z},props:{value:{type:Object,required:!0},withReleaseDate:{type:Boolean,default:!1},withCriticRating:{type:Boolean,default:!1},withCommunityRating:{type:Boolean,default:!1}},computed:{btnIconClass(){return this.value?.desc?"fa fa-arrow-down-wide-short":"fa fa-arrow-up-short-wide"},title(){return"Sort By: "+(this.value?.attr??"[none]")+" "+(this.value?.desc?"descending":"ascending")}},methods:{onAttrChange(t){this.$emit("input",{attr:t,desc:!!this.value?.desc})},onDescChange(t){this.$emit("input",{attr:this.value?.attr,desc:t})}},watch:{value(){this.setUrlArgs({sort:this.value?.attr,desc:this.value?.desc})}},mounted(){const t=this.getUrlArgs(),e=t.sort,n="true"===t.desc?.toString();(e||n)&&this.$emit("input",{attr:e,desc:n})},unmounted(){this.setUrlArgs({sort:null,desc:null})}};const I=(0,v.Z)(D,[["render",c]]);var _=I}}]);
//# sourceMappingURL=4279.b76598d6.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[446],{446:function(e,t,i){i.r(t),i.d(t,{default:function(){return b}});var s=i(6252),n=i(3577);const a={class:"camera component-row"},r={class:"feed-container",ref:"container"},c=["textContent"],l=["src"],o={key:2},u=["src"],p={class:"controls"},d={key:0,class:"fa fa-play"},g={key:1,class:"fa fa-pause"};function f(e,t,i,f,v,m){return(0,s.wg)(),(0,s.iD)("div",a,[(0,s._)("div",r,[v.visible?(0,s.kq)("",!0):((0,s.wg)(),(0,s.iD)("div",{key:0,class:"no-content",textContent:(0,n.zw)(i.name)},null,8,c)),v.visible&&"image"===i.type?((0,s.wg)(),(0,s.iD)("img",{key:1,alt:"Camera feed",src:m.imgUrl},null,8,l)):v.visible&&"video"===i.type?((0,s.wg)(),(0,s.iD)("video",o,[(0,s._)("source",{src:i.src},null,8,u)])):(0,s.kq)("",!0)],512),(0,s._)("div",p,[(0,s._)("button",{class:"toggle-btn",onClick:t[0]||(t[0]=e=>v.visible=!v.visible)},[v.visible?((0,s.wg)(),(0,s.iD)("i",g)):((0,s.wg)(),(0,s.iD)("i",d))])])])}var v=i(8637),m={name:"Camera",mixins:[v.Z],props:{src:{type:String,required:!0},type:{type:String,default:"image"},name:{type:String}},computed:{imgUrl(){if("image"===this.type)return this.src+(this.src.indexOf("?")>0?"&":"?")+"_t="+(new Date).getTime().toString()}},data(){return{visible:!1}}},y=i(3744);const k=(0,y.Z)(m,[["render",f],["__scopeId","data-v-0fad5251"]]);var b=k}}]);
//# sourceMappingURL=446.6a9228c2.js.map
//# sourceMappingURL=446.317aa403.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/446.6a9228c2.js","mappings":"8LACOA,MAAM,wB,GACJA,MAAM,iBAAiBC,IAAI,a,mDAQ3BD,MAAM,Y,SAEJA,MAAM,c,SACNA,MAAM,e,0CAZfE,EAAAA,EAAAA,IAeM,MAfNC,EAeM,EAdJC,EAAAA,EAAAA,GAMM,MANNC,EAMM,CALyCC,EAAAC,S,iBAAO,WAApDL,EAAAA,EAAAA,IAAwD,O,MAAnDF,MAAM,a,aAAaQ,EAAAA,EAAAA,IAAQC,EAAKC,O,WACMJ,EAAAC,SAAoB,UAATE,EAAAE,OAAI,WAA1DT,EAAAA,EAAAA,IAAwE,O,MAAnEU,IAAI,cAAeC,IAAKC,EAAAC,Q,WACXT,EAAAC,SAAoB,UAATE,EAAAE,OAAI,WAAjCT,EAAAA,EAAAA,IAEQ,QAAAc,EAAA,EADNZ,EAAAA,EAAAA,GAAmB,UAAVS,IAAKJ,EAAAI,KAAG,OAAAI,OAAA,sBAIrBb,EAAAA,EAAAA,GAKM,MALNc,EAKM,EAJJd,EAAAA,EAAAA,GAGS,UAHDJ,MAAM,aAAcmB,QAAKC,EAAA,KAAAA,EAAA,GAAAC,GAAEf,EAAAC,SAAWD,EAAAC,U,CACfD,EAAAC,UAAW,WACxCL,EAAAA,EAAAA,IAAgC,IAAhCoB,MADoC,WAApCpB,EAAAA,EAAAA,IAAwC,IAAxCqB,S,eAaR,GACEb,KAAM,SACNc,OAAQ,CAACC,EAAAA,GACTC,MAAO,CAKLb,IAAK,CACHF,KAAMgB,OACNC,UAAU,GAMZjB,KAAM,CACJA,KAAMgB,OACNE,QAAS,SAMXnB,KAAM,CACJC,KAAMgB,SAIVG,SAAU,CACRf,MAAAA,GACE,GAAkB,UAAdgB,KAAKpB,KAGT,OAAOoB,KAAKlB,KAAOkB,KAAKlB,IAAImB,QAAQ,KAAO,EAAI,IAAM,KAAO,OAAS,IAAIC,MAAOC,UAAUC,UAC5F,GAGFC,IAAAA,GACE,MAAO,CACL7B,SAAS,EAEb,G,UC5DF,MAAM8B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/widgets/Camera/Index.vue","webpack://platypush/./src/components/widgets/Camera/Index.vue?8b49"],"sourcesContent":["<template>\n <div class=\"camera component-row\">\n <div class=\"feed-container\" ref=\"container\">\n <div class=\"no-content\" v-text=\"name\" v-if=\"!visible\" />\n <img alt=\"Camera feed\" :src=\"imgUrl\" v-if=\"visible && type === 'image'\">\n <video v-else-if=\"visible && type === 'video'\">\n <source :src=\"src\">\n </video>\n </div>\n\n <div class=\"controls\">\n <button class=\"toggle-btn\" @click=\"visible = !visible\">\n <i class=\"fa fa-play\" v-if=\"!visible\" />\n <i class=\"fa fa-pause\" v-else />\n </button>\n </div>\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\n\n/**\n * This component can be used to view a feed from a camera.\n */\nexport default {\n name: \"Camera\",\n mixins: [Utils],\n props: {\n /**\n * Camera feed URL.\n * For instance, in the case of a PiCamera feed: http://host:8008/camera/pi/video.mjpeg\n */\n src: {\n type: String,\n required: true,\n },\n\n /**\n * Camera feed type - it can be \"image\" (usually in case of MJPEG feeds) or \"video\".\n */\n type: {\n type: String,\n default: \"image\",\n },\n\n /**\n * Camera feed name.\n */\n name: {\n type: String,\n },\n },\n\n computed: {\n imgUrl() {\n if (this.type !== 'image')\n return\n\n return this.src + (this.src.indexOf('?') > 0 ? '&' : '?') + '_t=' + (new Date().getTime().toString())\n },\n },\n\n data() {\n return {\n visible: false,\n }\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.camera {\n width: calc(100% + 2em);\n height: calc(100% + 2em);\n position: relative;\n background: black;\n color: #888;\n margin: -1em;\n\n .feed-container {\n width: 100%;\n height: calc(100% - 3em);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .controls {\n width: 100%;\n height: 3em;\n position: absolute;\n bottom: 0;\n\n button {\n background: none;\n border: none;\n color: #888;\n }\n }\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=0fad5251&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=0fad5251&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0fad5251\"]])\n\nexport default __exports__"],"names":["class","ref","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","$data","visible","_toDisplayString","$props","name","type","alt","src","$options","imgUrl","_hoisted_5","_hoisted_6","_hoisted_7","onClick","_cache","$event","_hoisted_9","_hoisted_8","mixins","Utils","props","String","required","default","computed","this","indexOf","Date","getTime","toString","data","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/446.317aa403.js","mappings":"8LACOA,MAAM,wB,GACJA,MAAM,iBAAiBC,IAAI,a,mDAQ3BD,MAAM,Y,SAEJA,MAAM,c,SACNA,MAAM,e,0CAZfE,EAAAA,EAAAA,IAeM,MAfNC,EAeM,EAdJC,EAAAA,EAAAA,GAMM,MANNC,EAMM,CALyCC,EAAAC,S,iBAAO,WAApDL,EAAAA,EAAAA,IAAwD,O,MAAnDF,MAAM,a,aAAaQ,EAAAA,EAAAA,IAAQC,EAAKC,O,WACMJ,EAAAC,SAAoB,UAATE,EAAAE,OAAI,WAA1DT,EAAAA,EAAAA,IAAwE,O,MAAnEU,IAAI,cAAeC,IAAKC,EAAAC,Q,WACXT,EAAAC,SAAoB,UAATE,EAAAE,OAAI,WAAjCT,EAAAA,EAAAA,IAEQ,QAAAc,EAAA,EADNZ,EAAAA,EAAAA,GAAmB,UAAVS,IAAKJ,EAAAI,KAAG,OAAAI,OAAA,sBAIrBb,EAAAA,EAAAA,GAKM,MALNc,EAKM,EAJJd,EAAAA,EAAAA,GAGS,UAHDJ,MAAM,aAAcmB,QAAKC,EAAA,KAAAA,EAAA,GAAAC,GAAEf,EAAAC,SAAWD,EAAAC,U,CACfD,EAAAC,UAAW,WACxCL,EAAAA,EAAAA,IAAgC,IAAhCoB,MADoC,WAApCpB,EAAAA,EAAAA,IAAwC,IAAxCqB,S,eAaR,GACEb,KAAM,SACNc,OAAQ,CAACC,EAAAA,GACTC,MAAO,CAKLb,IAAK,CACHF,KAAMgB,OACNC,UAAU,GAMZjB,KAAM,CACJA,KAAMgB,OACNE,QAAS,SAMXnB,KAAM,CACJC,KAAMgB,SAIVG,SAAU,CACRf,MAAAA,GACE,GAAkB,UAAdgB,KAAKpB,KAGT,OAAOoB,KAAKlB,KAAOkB,KAAKlB,IAAImB,QAAQ,KAAO,EAAI,IAAM,KAAO,OAAS,IAAIC,MAAOC,UAAUC,UAC5F,GAGFC,IAAAA,GACE,MAAO,CACL7B,SAAS,EAEb,G,UC5DF,MAAM8B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/widgets/Camera/Index.vue","webpack://platypush/./src/components/widgets/Camera/Index.vue?8b49"],"sourcesContent":["<template>\n <div class=\"camera component-row\">\n <div class=\"feed-container\" ref=\"container\">\n <div class=\"no-content\" v-text=\"name\" v-if=\"!visible\" />\n <img alt=\"Camera feed\" :src=\"imgUrl\" v-if=\"visible && type === 'image'\">\n <video v-else-if=\"visible && type === 'video'\">\n <source :src=\"src\">\n </video>\n </div>\n\n <div class=\"controls\">\n <button class=\"toggle-btn\" @click=\"visible = !visible\">\n <i class=\"fa fa-play\" v-if=\"!visible\" />\n <i class=\"fa fa-pause\" v-else />\n </button>\n </div>\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\n\n/**\n * This component can be used to view a feed from a camera.\n */\nexport default {\n name: \"Camera\",\n mixins: [Utils],\n props: {\n /**\n * Camera feed URL.\n * For instance, in the case of a PiCamera feed: http://host:8008/camera/pi/video.mjpeg\n */\n src: {\n type: String,\n required: true,\n },\n\n /**\n * Camera feed type - it can be \"image\" (usually in case of MJPEG feeds) or \"video\".\n */\n type: {\n type: String,\n default: \"image\",\n },\n\n /**\n * Camera feed name.\n */\n name: {\n type: String,\n },\n },\n\n computed: {\n imgUrl() {\n if (this.type !== 'image')\n return\n\n return this.src + (this.src.indexOf('?') > 0 ? '&' : '?') + '_t=' + (new Date().getTime().toString())\n },\n },\n\n data() {\n return {\n visible: false,\n }\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.camera {\n width: calc(100% + 2em);\n height: calc(100% + 2em);\n position: relative;\n background: black;\n color: #888;\n margin: -1em;\n\n .feed-container {\n width: 100%;\n height: calc(100% - 3em);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .controls {\n width: 100%;\n height: 3em;\n position: absolute;\n bottom: 0;\n\n button {\n background: none;\n border: none;\n color: #888;\n }\n }\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=0fad5251&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=0fad5251&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0fad5251\"]])\n\nexport default __exports__"],"names":["class","ref","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","$data","visible","_toDisplayString","$props","name","type","alt","src","$options","imgUrl","_hoisted_5","_hoisted_6","_hoisted_7","onClick","_cache","$event","_hoisted_9","_hoisted_8","mixins","Utils","props","String","required","default","computed","this","indexOf","Date","getTime","toString","data","__exports__","render"],"sourceRoot":""}

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[4619],{4619:function(e,t,s){s.r(t),s.d(t,{default:function(){return l}});var n=s(6252),o=s(3577);const a={class:"date-time"},r=["textContent"],i=["textContent"];function h(e,t,s,h,u,w){return(0,n.wg)(),(0,n.iD)("div",a,[w._showDate?((0,n.wg)(),(0,n.iD)("div",{key:0,class:"date",textContent:(0,o.zw)(e.formatDate(e.now))},null,8,r)):(0,n.kq)("",!0),w._showTime?((0,n.wg)(),(0,n.iD)("div",{key:1,class:"time",textContent:(0,o.zw)(e.formatTime(e.now,w._showSeconds))},null,8,i)):(0,n.kq)("",!0)])}var u=s(8637),w={name:"DateTime",mixins:[u.Z],props:{showDate:{required:!1,default:!0},showTime:{required:!1,default:!0},showSeconds:{required:!1,default:!0}},computed:{_showTime(){return this.parseBoolean(this.showTime)},_showDate(){return this.parseBoolean(this.showDate)},_showSeconds(){return this.parseBoolean(this.showSeconds)}},data:function(){return{now:new Date}},methods:{refreshTime(){this.now=new Date}},mounted:function(){this.refreshTime(),setInterval(this.refreshTime,1e3)}},d=s(3744);const c=(0,d.Z)(w,[["render",h],["__scopeId","data-v-ca42eb9c"]]);var l=c}}]);
//# sourceMappingURL=4619.5c734a42.js.map
//# sourceMappingURL=4619.4fe3a4a1.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/4619.5c734a42.js","mappings":"gMACOA,MAAM,a,8EAAXC,EAAAA,EAAAA,IAGM,MAHNC,EAGM,CAF6CC,EAAAC,YAAS,WAA1DH,EAAAA,EAAAA,IAA8D,O,MAAzDD,MAAM,O,aAAOK,EAAAA,EAAAA,IAAQC,EAAgBC,WAALD,EAAAE,O,2BAC0BL,EAAAM,YAAS,WAAxER,EAAAA,EAAAA,IAA4E,O,MAAvED,MAAM,O,aAAOK,EAAAA,EAAAA,IAAQC,EAA8BI,WAAnBJ,EAAAE,IAAKL,EAAAQ,gB,2CAQ9C,GACEC,KAAM,WACNC,OAAQ,CAACC,EAAAA,GACTC,MAAO,CAELC,SAAU,CACRC,UAAU,EACVC,SAAS,GAIXC,SAAU,CACRF,UAAU,EACVC,SAAS,GAIXE,YAAa,CACXH,UAAU,EACVC,SAAS,IAIbG,SAAU,CACRZ,SAAAA,GACE,OAAOa,KAAKC,aAAaD,KAAKH,SAChC,EAEAf,SAAAA,GACE,OAAOkB,KAAKC,aAAaD,KAAKN,SAChC,EAEAL,YAAAA,GACE,OAAOW,KAAKC,aAAaD,KAAKF,YAChC,GAGFI,KAAM,WACJ,MAAO,CACLhB,IAAK,IAAIiB,KAEb,EAEAC,QAAS,CACPC,WAAAA,GACEL,KAAKd,IAAM,IAAIiB,IACjB,GAGFG,QAAS,WACPN,KAAKK,cACLE,YAAYP,KAAKK,YAAa,IAChC,G,UCxDF,MAAMG,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/widgets/DateTime/Index.vue","webpack://platypush/./src/components/widgets/DateTime/Index.vue?dfd6"],"sourcesContent":["<template>\n <div class=\"date-time\">\n <div class=\"date\" v-text=\"formatDate(now)\" v-if=\"_showDate\" />\n <div class=\"time\" v-text=\"formatTime(now, _showSeconds)\" v-if=\"_showTime\" />\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\n\n// Widget to show date and time\nexport default {\n name: 'DateTime',\n mixins: [Utils],\n props: {\n // If false then don't display the date.\n showDate: {\n required: false,\n default: true,\n },\n\n // If false then don't display the time.\n showTime: {\n required: false,\n default: true,\n },\n\n // If false then don't display the seconds.\n showSeconds: {\n required: false,\n default: true,\n },\n },\n\n computed: {\n _showTime() {\n return this.parseBoolean(this.showTime)\n },\n\n _showDate() {\n return this.parseBoolean(this.showDate)\n },\n\n _showSeconds() {\n return this.parseBoolean(this.showSeconds)\n },\n },\n\n data: function() {\n return {\n now: new Date(),\n };\n },\n\n methods: {\n refreshTime() {\n this.now = new Date()\n },\n },\n\n mounted: function() {\n this.refreshTime()\n setInterval(this.refreshTime, 1000)\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.date-time {\n .date {\n font-size: 1.3em;\n }\n\n .time {\n font-size: 2em;\n }\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=ca42eb9c&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=ca42eb9c&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ca42eb9c\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","$options","_showDate","_toDisplayString","_ctx","formatDate","now","_showTime","formatTime","_showSeconds","name","mixins","Utils","props","showDate","required","default","showTime","showSeconds","computed","this","parseBoolean","data","Date","methods","refreshTime","mounted","setInterval","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/4619.4fe3a4a1.js","mappings":"gMACOA,MAAM,a,8EAAXC,EAAAA,EAAAA,IAGM,MAHNC,EAGM,CAF6CC,EAAAC,YAAS,WAA1DH,EAAAA,EAAAA,IAA8D,O,MAAzDD,MAAM,O,aAAOK,EAAAA,EAAAA,IAAQC,EAAgBC,WAALD,EAAAE,O,2BAC0BL,EAAAM,YAAS,WAAxER,EAAAA,EAAAA,IAA4E,O,MAAvED,MAAM,O,aAAOK,EAAAA,EAAAA,IAAQC,EAA8BI,WAAnBJ,EAAAE,IAAKL,EAAAQ,gB,2CAQ9C,GACEC,KAAM,WACNC,OAAQ,CAACC,EAAAA,GACTC,MAAO,CAELC,SAAU,CACRC,UAAU,EACVC,SAAS,GAIXC,SAAU,CACRF,UAAU,EACVC,SAAS,GAIXE,YAAa,CACXH,UAAU,EACVC,SAAS,IAIbG,SAAU,CACRZ,SAAAA,GACE,OAAOa,KAAKC,aAAaD,KAAKH,SAChC,EAEAf,SAAAA,GACE,OAAOkB,KAAKC,aAAaD,KAAKN,SAChC,EAEAL,YAAAA,GACE,OAAOW,KAAKC,aAAaD,KAAKF,YAChC,GAGFI,KAAM,WACJ,MAAO,CACLhB,IAAK,IAAIiB,KAEb,EAEAC,QAAS,CACPC,WAAAA,GACEL,KAAKd,IAAM,IAAIiB,IACjB,GAGFG,QAAS,WACPN,KAAKK,cACLE,YAAYP,KAAKK,YAAa,IAChC,G,UCxDF,MAAMG,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/widgets/DateTime/Index.vue","webpack://platypush/./src/components/widgets/DateTime/Index.vue?dfd6"],"sourcesContent":["<template>\n <div class=\"date-time\">\n <div class=\"date\" v-text=\"formatDate(now)\" v-if=\"_showDate\" />\n <div class=\"time\" v-text=\"formatTime(now, _showSeconds)\" v-if=\"_showTime\" />\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\n\n// Widget to show date and time\nexport default {\n name: 'DateTime',\n mixins: [Utils],\n props: {\n // If false then don't display the date.\n showDate: {\n required: false,\n default: true,\n },\n\n // If false then don't display the time.\n showTime: {\n required: false,\n default: true,\n },\n\n // If false then don't display the seconds.\n showSeconds: {\n required: false,\n default: true,\n },\n },\n\n computed: {\n _showTime() {\n return this.parseBoolean(this.showTime)\n },\n\n _showDate() {\n return this.parseBoolean(this.showDate)\n },\n\n _showSeconds() {\n return this.parseBoolean(this.showSeconds)\n },\n },\n\n data: function() {\n return {\n now: new Date(),\n };\n },\n\n methods: {\n refreshTime() {\n this.now = new Date()\n },\n },\n\n mounted: function() {\n this.refreshTime()\n setInterval(this.refreshTime, 1000)\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.date-time {\n .date {\n font-size: 1.3em;\n }\n\n .time {\n font-size: 2em;\n }\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=ca42eb9c&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=ca42eb9c&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ca42eb9c\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","$options","_showDate","_toDisplayString","_ctx","formatDate","now","_showTime","formatTime","_showSeconds","name","mixins","Utils","props","showDate","required","default","showTime","showSeconds","computed","this","parseBoolean","data","Date","methods","refreshTime","mounted","setInterval","__exports__","render"],"sourceRoot":""}

File diff suppressed because one or more lines are too long

View file

@ -1,2 +0,0 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[5505],{83:function(a,s,t){t.r(s),t.d(s,{default:function(){return C}});var l=t(6252),n=t(3577);const c=a=>((0,l.dD)("data-v-66204518"),a=a(),(0,l.Cn)(),a),i={class:"nav"},e={class:"path"},p=c((()=>(0,l._)("i",{class:"fas fa-home"},null,-1))),o=[p],k=c((()=>(0,l._)("span",{class:"separator"},[(0,l._)("i",{class:"fas fa-chevron-right"})],-1))),r=["title","onClick"],h={key:1},u={key:0,class:"separator"},f=c((()=>(0,l._)("i",{class:"fas fa-chevron-right"},null,-1))),d=[f];function g(a,s,t,c,p,f){return(0,l.wg)(),(0,l.iD)("div",i,[(0,l._)("span",e,[(0,l._)("span",{class:"back token",title:"Back",onClick:s[0]||(s[0]=s=>a.$emit("back"))},o),k]),((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(t.path,((s,c)=>((0,l.wg)(),(0,l.iD)("span",{class:"path",key:c},[(0,l._)("span",{class:"token",title:s.title,onClick:a=>f.onClick(s)},[(a.icon=s.icon?.["class"])?((0,l.wg)(),(0,l.iD)("i",{key:0,class:(0,n.C_)(["icon",a.icon])},null,2)):(0,l.kq)("",!0),s.title?((0,l.wg)(),(0,l.iD)("span",h,(0,n.zw)(s.title),1)):(0,l.kq)("",!0)],8,r),(c>0||t.path.length>1)&&c<t.path.length-1?((0,l.wg)(),(0,l.iD)("span",u,d)):(0,l.kq)("",!0)])))),128))])}var _={emit:["back"],props:{path:{type:Array,default:()=>[]}},methods:{onClick(a){a.click&&a.click()}}},v=t(3744);const w=(0,v.Z)(_,[["render",g],["__scopeId","data-v-66204518"]]);var C=w}}]);
//# sourceMappingURL=5505.510eff09.js.map

View file

@ -1 +0,0 @@
{"version":3,"file":"static/js/5505.510eff09.js","mappings":"oPACOA,MAAM,O,GACHA,MAAM,Q,UAERC,EAAAA,EAAAA,GAAyB,KAAtBD,MAAM,eAAa,W,GAAtBE,G,UAGFD,EAAAA,EAAAA,GAEO,QAFDD,MAAM,aAAW,EACrBC,EAAAA,EAAAA,GAAkC,KAA/BD,MAAM,2BAAsB,K,yCAU3BA,MAAM,a,UAEVC,EAAAA,EAAAA,GAAkC,KAA/BD,MAAM,wBAAsB,W,GAA/BG,G,0CAnBNC,EAAAA,EAAAA,IAsBM,MAtBNC,EAsBM,EArBJJ,EAAAA,EAAAA,GAQO,OARPK,EAQO,EAPLL,EAAAA,EAAAA,GAEO,QAFDD,MAAM,aAAaO,MAAM,OAAQC,QAAKC,EAAA,KAAAA,EAAA,GAAAC,GAAEC,EAAAC,MAAM,U,GAIpDC,MAEO,aAGTT,EAAAA,EAAAA,IAUOU,EAAAA,GAAA,MAAAC,EAAAA,EAAAA,IAVqCC,EAAAC,MAAI,CAArBC,EAAOC,M,WAAlCf,EAAAA,EAAAA,IAUO,QAVDJ,MAAM,OAAuCoB,IAAKD,G,EACtDlB,EAAAA,EAAAA,GAGO,QAHDD,MAAM,QAASO,MAAOW,EAAMX,MAAQC,QAAKE,GAAEW,EAAAb,QAAQU,I,EACnBP,EAAAW,KAAOJ,EAAMI,OAAO,YAAH,WAArDlB,EAAAA,EAAAA,IAAoE,K,MAAjEJ,OAAKuB,EAAAA,EAAAA,IAAA,CAAC,OAAeZ,EAAAW,Q,yBACZJ,EAAMX,QAAK,WAAvBH,EAAAA,EAAAA,IAAiD,OAAAoB,GAAAC,EAAAA,EAAAA,IAArBP,EAAMX,OAAK,2BAI5BY,EAAQ,GAAKH,EAAAC,KAAKS,OAAS,IAAMP,EAAQH,EAAAC,KAAKS,OAAS,IAAH,WADjEtB,EAAAA,EAAAA,IAGO,OAHPuB,EAGOC,KAAA,oB,QAMb,OACEC,KAAM,CAAC,QAEPC,MAAO,CACLb,KAAM,CACJc,KAAMC,MACNC,QAASA,IAAM,KAInBC,QAAS,CACP1B,OAAAA,CAAQU,GACFA,EAAMiB,OACRjB,EAAMiB,OACV,I,UClCJ,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/panels/Media/Providers/Nav.vue","webpack://platypush/./src/components/panels/Media/Providers/Nav.vue?d1ce"],"sourcesContent":["<template>\n <div class=\"nav\">\n <span class=\"path\">\n <span class=\"back token\" title=\"Back\" @click=\"$emit('back')\">\n <i class=\"fas fa-home\" />\n </span>\n\n <span class=\"separator\">\n <i class=\"fas fa-chevron-right\" />\n </span>\n </span>\n\n <span class=\"path\" v-for=\"(token, index) in path\" :key=\"index\">\n <span class=\"token\" :title=\"token.title\" @click=\"onClick(token)\">\n <i class=\"icon\" :class=\"icon\" v-if=\"icon = token.icon?.['class']\" />\n <span v-if=\"token.title\">{{ token.title }}</span>\n </span>\n\n <span class=\"separator\"\n v-if=\"(index > 0 || path.length > 1) && index < path.length - 1\">\n <i class=\"fas fa-chevron-right\" />\n </span>\n </span>\n </div>\n</template>\n\n<script>\nexport default {\n emit: ['back'],\n\n props: {\n path: {\n type: Array,\n default: () => [],\n },\n },\n\n methods: {\n onClick(token) {\n if (token.click)\n token.click()\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"../style.scss\";\n\n.nav {\n overflow-x: auto !important;\n overflow-y: hidden !important;\n\n .path .token .icon {\n margin-right: 0.5em;\n }\n}\n</style>\n","import { render } from \"./Nav.vue?vue&type=template&id=66204518&scoped=true\"\nimport script from \"./Nav.vue?vue&type=script&lang=js\"\nexport * from \"./Nav.vue?vue&type=script&lang=js\"\n\nimport \"./Nav.vue?vue&type=style&index=0&id=66204518&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-66204518\"]])\n\nexport default __exports__"],"names":["class","_createElementVNode","_hoisted_3","_hoisted_9","_createElementBlock","_hoisted_1","_hoisted_2","title","onClick","_cache","$event","_ctx","$emit","_hoisted_5","_Fragment","_renderList","$props","path","token","index","key","$options","icon","_normalizeClass","_hoisted_7","_toDisplayString","length","_hoisted_8","_hoisted_10","emit","props","type","Array","default","methods","click","__exports__","render"],"sourceRoot":""}

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[5638],{5638:function(e,t,n){n.r(t),n.d(t,{default:function(){return C}});var s=n(6252),a=n(3577);const i={class:"calendar"},r={key:1,class:"no-events"},d={key:2,class:"event upcoming-event"},l=["textContent"],o=["textContent"],u={class:"time"},c={key:3,class:"event-list"},v=["textContent"],m=["textContent"],f=["textContent"];function h(e,t,n,h,g,w){const p=(0,s.up)("Loading");return(0,s.wg)(),(0,s.iD)("div",i,[e.loading?((0,s.wg)(),(0,s.j4)(p,{key:0})):e.events.length?e.events.length>0?((0,s.wg)(),(0,s.iD)("div",d,[(0,s._)("div",{class:"date",textContent:(0,a.zw)(e.formatDate(e.events[0].start))},null,8,l),(0,s._)("div",{class:"summary",textContent:(0,a.zw)(e.events[0].summary)},null,8,o),(0,s._)("div",u,(0,a.zw)(e.formatTime(e.events[0].start,!1))+" - "+(0,a.zw)(e.formatTime(e.events[0].end,!1)),1)])):(0,s.kq)("",!0):((0,s.wg)(),(0,s.iD)("div",r," No events found ")),e.events.length>1?((0,s.wg)(),(0,s.iD)("div",c,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(e.events.slice(1,n.maxEvents),(t=>((0,s.wg)(),(0,s.iD)("div",{class:"event",key:t.id},[(0,s._)("div",{class:"date col-2",textContent:(0,a.zw)(e.formatDate(t.start))},null,8,v),(0,s._)("div",{class:"time col-2",textContent:(0,a.zw)(e.formatTime(t.start,!1))},null,8,m),(0,s._)("div",{class:"summary col-8",textContent:(0,a.zw)(t.summary)},null,8,f)])))),128))])):(0,s.kq)("",!0)])}var g=n(8637),w=n(6791),p={name:"Calendar",components:{Loading:w.Z},mixins:[g.Z],props:{maxEvents:{type:Number,required:!1,default:10},refreshSeconds:{type:Number,required:!1,default:600}},data:function(){return{events:[],loading:!1}},methods:{refresh:async function(){this.loading=!0;try{this.events=(await this.request("calendar.get_upcoming_events")).map((e=>(e.start&&(e.start=new Date(e.start.dateTime||e.start.date)),e.end&&(e.end=new Date(e.end.dateTime||e.end.date)),e)))}finally{this.loading=!1}}},mounted:function(){this.refresh(),setInterval(this.refresh,parseInt((1e3*this.refreshSeconds).toFixed(0)))}},y=n(3744);const x=(0,y.Z)(p,[["render",h],["__scopeId","data-v-44a3b988"]]);var C=x}}]);
//# sourceMappingURL=5638.1527fc01.js.map
//# sourceMappingURL=5638.3a758825.js.map

View file

@ -1,2 +0,0 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[5825,6640],{5825:function(e,l,i){i.r(l),i.d(l,{default:function(){return y}});var t=i(6252),a=i(3577);const o={class:"collections index"},s={key:1,class:"collections items"},n=["onClick"],c={class:"image"},r=["src","alt","onError"],d={key:0,class:"name"};function f(e,l,i,f,u,g){const m=(0,t.up)("Loading");return(0,t.wg)(),(0,t.iD)("div",o,[g.isLoading?((0,t.wg)(),(0,t.j4)(m,{key:0})):((0,t.wg)(),(0,t.iD)("div",s,[((0,t.wg)(!0),(0,t.iD)(t.HY,null,(0,t.Ko)(g.filteredCollections,(l=>((0,t.wg)(),(0,t.iD)("div",{class:"collection item",key:l.id,onClick:i=>e.$emit("select",l)},[(0,t._)("div",c,[u.fallbackImageCollections[l.id]?((0,t.wg)(),(0,t.iD)("i",{key:1,class:(0,a.C_)(g.collectionsIcons[l.type]??"fas fa-folder")},null,2)):((0,t.wg)(),(0,t.iD)("img",{key:0,src:l.image,alt:l.name,onError:e=>g.onImageError(l)},null,40,r))]),u.fallbackImageCollections[l.id]?((0,t.wg)(),(0,t.iD)("div",d,[(0,t._)("h2",null,(0,a.zw)(l.name),1)])):(0,t.kq)("",!0)],8,n)))),128))]))])}var u=i(6791),g=i(6640),m={mixins:[g["default"]],components:{Loading:u.Z},emits:["add-to-playlist","back","download","download-audio","play","play-with-opts","select"],data(){return{collections:{},fallbackImageCollections:{},loading_:!1}},computed:{collectionsIcons(){return{books:"fas fa-book",homevideos:"fas fa-video",movies:"fas fa-film",music:"fas fa-music",playlists:"fas fa-list",photos:"fas fa-image",series:"fas fa-tv"}},filteredCollections(){return Object.values(this.collections).filter((e=>!this.filter||e.name.toLowerCase().includes(this.filter.toLowerCase())))},isLoading(){return this.loading_||this.loading}},methods:{onImageError(e){this.fallbackImageCollections[e.id]=!0},async refresh(){this.loading_=!0;try{this.collections=(await this.request("media.jellyfin.get_collections")).reduce(((e,l)=>(e[l.id]=l,e)),{})}finally{this.loading_=!1}},initCollection(){const e=this.getUrlArgs().collection;if(null==e)return;const l=this.collections[e];l&&this.$emit("select",l)}},async mounted(){await this.refresh(),this.initCollection()}},h=i(3744);const p=(0,h.Z)(m,[["render",f],["__scopeId","data-v-42379b56"]]);var y=p},6640:function(e,l,i){i.r(l),i.d(l,{default:function(){return s}});var t=i(8637),a={mixins:[t.Z],emits:["add-to-playlist","back","create-playlist","download","download-audio","path-change","play","remove-from-playlist","remove-playlist","rename-playlist"],props:{filter:{type:String,default:""},loading:{type:Boolean,default:!1},mediaPlugin:{type:String},selectedPlaylist:{default:null},selectedChannel:{default:null}},data(){return{loading_:!1}},computed:{isLoading(){return this.loading||this.loading_}}};const o=a;var s=o}}]);
//# sourceMappingURL=5825.f289fba9.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[6523],{6523:function(e,t,r){r.r(t),r.d(t,{default:function(){return v}});var s=r(6252),i=r(3577);const n={class:"rss-news"},u={key:0,class:"article"},l=["textContent"],c=["textContent"],a=["textContent"];function h(e,t,r,h,d,o){return(0,s.wg)(),(0,s.iD)("div",n,[e.currentArticle?((0,s.wg)(),(0,s.iD)("div",u,[(0,s._)("div",{class:"source",textContent:(0,i.zw)(e.currentArticle.feed_title||e.currentArticle.feed_url)},null,8,l),(0,s._)("div",{class:"title",textContent:(0,i.zw)(e.currentArticle.title)},null,8,c),(0,s._)("div",{class:"published",textContent:(0,i.zw)(new Date(e.currentArticle.published).toDateString()+", "+new Date(e.currentArticle.published).toTimeString().substring(0,5))},null,8,a)])):(0,s.kq)("",!0)])}var d=r(8637),o={name:"RssNews",mixins:[d.Z],props:{limit:{type:Number,required:!1,default:25},refreshSeconds:{type:Number,required:!1,default:15}},data:function(){return{articles:[],queue:[],currentArticle:void 0}},methods:{refresh:async function(){this.queue.length||(this.articles=await this.request("rss.get_latest_entries",{limit:this.limit}),this.queue=[...this.articles].reverse()),this.queue.length&&(this.currentArticle=this.queue.pop())}},mounted:function(){this.refresh(),setInterval(this.refresh,parseInt((1e3*this.refreshSeconds).toFixed(0)))}},f=r(3744);const p=(0,f.Z)(o,[["render",h],["__scopeId","data-v-24745ce0"]]);var v=p}}]);
//# sourceMappingURL=6523.2673834a.js.map
//# sourceMappingURL=6523.8b2624d2.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/6523.2673834a.js","mappings":"gMACOA,MAAM,Y,SACJA,MAAM,W,gGADbC,EAAAA,EAAAA,IAMM,MANNC,EAMM,CALuBC,EAAAC,iBAAc,WAAzCH,EAAAA,EAAAA,IAIM,MAJNI,EAIM,EAHJC,EAAAA,EAAAA,GAAwF,OAAnFN,MAAM,S,aAASO,EAAAA,EAAAA,IAAQJ,EAAqDC,eAAtCI,YAAcL,EAAAC,eAAeK,W,WACxEH,EAAAA,EAAAA,GAAuD,OAAlDN,MAAM,Q,aAAQO,EAAAA,EAAAA,IAAQJ,EAAqBC,eAANM,Q,WAC1CJ,EAAAA,EAAAA,GAAkK,OAA7JN,MAAM,Y,aAAYO,EAAAA,EAAAA,IAAoI,IAAxHI,KAAKR,EAAAC,eAAeQ,WAAWC,eAAiB,KAAO,IAAIF,KAAKR,EAAAC,eAAeQ,WAAWE,eAAeC,UAAU,EAAD,K,6CAY3J,GACEC,KAAM,UACNC,OAAQ,CAACC,EAAAA,GACTC,MAAO,CAELC,MAAO,CACLC,KAAMC,OACNC,UAAU,EACVC,QAAS,IAIXC,eAAgB,CACdJ,KAAMC,OACNC,UAAU,EACVC,QAAS,KAIbE,KAAM,WACJ,MAAO,CACLC,SAAU,GACVC,MAAO,GACPxB,oBAAgByB,EAEpB,EAEAC,QAAS,CACPC,QAASC,iBACFC,KAAKL,MAAMM,SACdD,KAAKN,eAAiBM,KAAKE,QAAQ,yBAA0B,CAC3Df,MAAOa,KAAKb,QAGda,KAAKL,MAAQ,IAAIK,KAAKN,UAAUS,WAG7BH,KAAKL,MAAMM,SAGhBD,KAAK7B,eAAiB6B,KAAKL,MAAMS,MACnC,GAGFC,QAAS,WACPL,KAAKF,UACLQ,YAAYN,KAAKF,QAASS,UAA8B,IAApBP,KAAKR,gBAAqBgB,QAAQ,IACxE,G,UCzDF,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/widgets/RssNews/Index.vue","webpack://platypush/./src/components/widgets/RssNews/Index.vue?c35e"],"sourcesContent":["<template>\n <div class=\"rss-news\">\n <div class=\"article\" v-if=\"currentArticle\">\n <div class=\"source\" v-text=\"currentArticle.feed_title || currentArticle.feed_url\"></div>\n <div class=\"title\" v-text=\"currentArticle.title\"></div>\n <div class=\"published\" v-text=\"new Date(currentArticle.published).toDateString() + ', ' + new Date(currentArticle.published).toTimeString().substring(0,5)\"></div>\n </div>\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\n\n/**\n * In order to use this widget you need to configure the `rss` plugin\n * with a list of subscriptions.\n */\nexport default {\n name: \"RssNews\",\n mixins: [Utils],\n props: {\n // Maximum number of items to be shown in a cycle.\n limit: {\n type: Number,\n required: false,\n default: 25,\n },\n\n // How long an entry should be displayed before moving to the next one.\n refreshSeconds: {\n type: Number,\n required: false,\n default: 15,\n },\n },\n\n data: function() {\n return {\n articles: [],\n queue: [],\n currentArticle: undefined,\n }\n },\n\n methods: {\n refresh: async function() {\n if (!this.queue.length) {\n this.articles = await this.request('rss.get_latest_entries', {\n limit: this.limit\n })\n\n this.queue = [...this.articles].reverse()\n }\n\n if (!this.queue.length)\n return\n\n this.currentArticle = this.queue.pop()\n },\n },\n\n mounted: function() {\n this.refresh()\n setInterval(this.refresh, parseInt((this.refreshSeconds*1000).toFixed(0)))\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.rss-news {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n letter-spacing: .025em;\n\n .article {\n width: 90%;\n padding: 0 2em;\n\n .source {\n font-size: 1.7em;\n font-weight: bold;\n margin-bottom: .5em;\n }\n\n .title {\n font-size: 1.8em;\n font-weight: normal;\n margin-bottom: .5em;\n }\n\n .published {\n text-align: right;\n font-size: 1.1em;\n }\n }\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=24745ce0&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=24745ce0&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-24745ce0\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","_ctx","currentArticle","_hoisted_2","_createElementVNode","_toDisplayString","feed_title","feed_url","title","Date","published","toDateString","toTimeString","substring","name","mixins","Utils","props","limit","type","Number","required","default","refreshSeconds","data","articles","queue","undefined","methods","refresh","async","this","length","request","reverse","pop","mounted","setInterval","parseInt","toFixed","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/6523.8b2624d2.js","mappings":"gMACOA,MAAM,Y,SACJA,MAAM,W,gGADbC,EAAAA,EAAAA,IAMM,MANNC,EAMM,CALuBC,EAAAC,iBAAc,WAAzCH,EAAAA,EAAAA,IAIM,MAJNI,EAIM,EAHJC,EAAAA,EAAAA,GAAwF,OAAnFN,MAAM,S,aAASO,EAAAA,EAAAA,IAAQJ,EAAqDC,eAAtCI,YAAcL,EAAAC,eAAeK,W,WACxEH,EAAAA,EAAAA,GAAuD,OAAlDN,MAAM,Q,aAAQO,EAAAA,EAAAA,IAAQJ,EAAqBC,eAANM,Q,WAC1CJ,EAAAA,EAAAA,GAAkK,OAA7JN,MAAM,Y,aAAYO,EAAAA,EAAAA,IAAoI,IAAxHI,KAAKR,EAAAC,eAAeQ,WAAWC,eAAiB,KAAO,IAAIF,KAAKR,EAAAC,eAAeQ,WAAWE,eAAeC,UAAU,EAAD,K,6CAY3J,GACEC,KAAM,UACNC,OAAQ,CAACC,EAAAA,GACTC,MAAO,CAELC,MAAO,CACLC,KAAMC,OACNC,UAAU,EACVC,QAAS,IAIXC,eAAgB,CACdJ,KAAMC,OACNC,UAAU,EACVC,QAAS,KAIbE,KAAM,WACJ,MAAO,CACLC,SAAU,GACVC,MAAO,GACPxB,oBAAgByB,EAEpB,EAEAC,QAAS,CACPC,QAASC,iBACFC,KAAKL,MAAMM,SACdD,KAAKN,eAAiBM,KAAKE,QAAQ,yBAA0B,CAC3Df,MAAOa,KAAKb,QAGda,KAAKL,MAAQ,IAAIK,KAAKN,UAAUS,WAG7BH,KAAKL,MAAMM,SAGhBD,KAAK7B,eAAiB6B,KAAKL,MAAMS,MACnC,GAGFC,QAAS,WACPL,KAAKF,UACLQ,YAAYN,KAAKF,QAASS,UAA8B,IAApBP,KAAKR,gBAAqBgB,QAAQ,IACxE,G,UCzDF,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/widgets/RssNews/Index.vue","webpack://platypush/./src/components/widgets/RssNews/Index.vue?c35e"],"sourcesContent":["<template>\n <div class=\"rss-news\">\n <div class=\"article\" v-if=\"currentArticle\">\n <div class=\"source\" v-text=\"currentArticle.feed_title || currentArticle.feed_url\"></div>\n <div class=\"title\" v-text=\"currentArticle.title\"></div>\n <div class=\"published\" v-text=\"new Date(currentArticle.published).toDateString() + ', ' + new Date(currentArticle.published).toTimeString().substring(0,5)\"></div>\n </div>\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\n\n/**\n * In order to use this widget you need to configure the `rss` plugin\n * with a list of subscriptions.\n */\nexport default {\n name: \"RssNews\",\n mixins: [Utils],\n props: {\n // Maximum number of items to be shown in a cycle.\n limit: {\n type: Number,\n required: false,\n default: 25,\n },\n\n // How long an entry should be displayed before moving to the next one.\n refreshSeconds: {\n type: Number,\n required: false,\n default: 15,\n },\n },\n\n data: function() {\n return {\n articles: [],\n queue: [],\n currentArticle: undefined,\n }\n },\n\n methods: {\n refresh: async function() {\n if (!this.queue.length) {\n this.articles = await this.request('rss.get_latest_entries', {\n limit: this.limit\n })\n\n this.queue = [...this.articles].reverse()\n }\n\n if (!this.queue.length)\n return\n\n this.currentArticle = this.queue.pop()\n },\n },\n\n mounted: function() {\n this.refresh()\n setInterval(this.refresh, parseInt((this.refreshSeconds*1000).toFixed(0)))\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.rss-news {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n letter-spacing: .025em;\n\n .article {\n width: 90%;\n padding: 0 2em;\n\n .source {\n font-size: 1.7em;\n font-weight: bold;\n margin-bottom: .5em;\n }\n\n .title {\n font-size: 1.8em;\n font-weight: normal;\n margin-bottom: .5em;\n }\n\n .published {\n text-align: right;\n font-size: 1.1em;\n }\n }\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=24745ce0&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=24745ce0&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-24745ce0\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","_ctx","currentArticle","_hoisted_2","_createElementVNode","_toDisplayString","feed_title","feed_url","title","Date","published","toDateString","toTimeString","substring","name","mixins","Utils","props","limit","type","Number","required","default","refreshSeconds","data","articles","queue","undefined","methods","refresh","async","this","length","request","reverse","pop","mounted","setInterval","parseInt","toFixed","__exports__","render"],"sourceRoot":""}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[8113,6640],{8113:function(t,e,l){l.r(e),l.d(e,{default:function(){return o}});var a=l(6640),i={mixins:[a["default"]],emits:["add-to-playlist","back","download","play","play-with-opts","select"],props:{collection:{type:Object},path:{type:Array,default:()=>[]}},data(){return{items:[],loading_:!1,selectedResult:null,sort:{attr:"title",desc:!1}}},computed:{isLoading(){return this.loading_||this.loading},sortedItems(){return this.items?[...this.items].sort(((t,e)=>{const l=this.sort.attr,a=this.sort.desc;let i=t[l],s=e[l];return"number"===typeof i||"number"===typeof s?(i=i||0,s=s||0,a?s-i:i-s):(i=(i||"").toString().toLowerCase(),s=(s||"").toString().toLowerCase(),a?s.localeCompare(i):i.localeCompare(s))})).map((t=>({item_type:t.type,...t,type:"jellyfin"}))):[]}},methods:{async refresh(){const t=this.collection?.name;if(t?.length){this.loading_=!0;try{this.items=await this.request("media.jellyfin.search",{collection:t,limit:1e3})}finally{this.loading_=!1}}}},watch:{collection(){this.refresh()}}};const s=i;var o=s},6640:function(t,e,l){l.r(e),l.d(e,{default:function(){return o}});var a=l(8637),i={mixins:[a.Z],emits:["add-to-playlist","back","create-playlist","download","download-audio","path-change","play","remove-from-playlist","remove-playlist","rename-playlist"],props:{filter:{type:String,default:""},loading:{type:Boolean,default:!1},mediaPlugin:{type:String},selectedPlaylist:{default:null},selectedChannel:{default:null}},data(){return{loading_:!1}},computed:{isLoading(){return this.loading||this.loading_}}};const s=i;var o=s}}]);
//# sourceMappingURL=8113.b9391591.js.map

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[8179],{8179:function(e,n,i){"use strict";i.r(n),i.d(n,{default:function(){return I}});var t=i(6252);const d={class:"plugin"};function o(e,n,i,o,a,r){const s=(0,t.up)("Loading");return(0,t.wg)(),(0,t.iD)("div",d,[a.loading?((0,t.wg)(),(0,t.j4)(s,{key:0})):a.component?((0,t.wg)(),(0,t.j4)((0,t.LL)(a.component),{key:1,config:a.config},null,8,["config"])):(0,t.kq)("",!0)])}var a=i(8637),r=i(6791),s=i(2262),c={name:"Plugin",components:{Loading:r.Z},mixins:[a.Z],props:{pluginName:{type:String,required:!0}},data(){return{loading:!1,component:null,config:{}}},computed:{componentName(){return this.pluginName.split(".").map((e=>e[0].toUpperCase()+e.slice(1))).join("")}},methods:{refresh:async function(){this.loading=!0;try{this.component=(0,s.XI)((0,t.RC)((()=>i(3379)(`./${this.componentName}/Index`)))),this.$options.components[this.componentName]=this.component,this.config=(await this.request("config.get_plugins"))?.[this.pluginName]||{}}finally{this.loading=!1}}},mounted:function(){this.refresh()}},u=i(3744);const x=(0,u.Z)(c,[["render",o],["__scopeId","data-v-69b17daa"]]);var I=x},3379:function(e,n,i){var t={"./Alarm/Index":[1949,5933,8320,7651,2844,6517,2992,637,8756,3248,9480,8409,6217,2831,9502,1019,2029,7257,9350,1949],"./Camera/Index":[7528,7528],"./CameraAndroidIpcam/Index":[3924,3924],"./CameraCv/Index":[6148,7528,6148],"./CameraFfmpeg/Index":[9334,7528,9334],"./CameraGstreamer/Index":[813,7528,813],"./CameraIrMlx90640/Index":[7381,7528,7381],"./CameraPi/Index":[5214,7528,8895],"./CameraPiLegacy/Index":[1512,7528,1512],"./Entities/Index":[557,5933,8320,2992,7257,669,864,9350,557],"./Execute/Index":[4221,5933,637,3248,9502,5053],"./Extensions/Index":[3426,5933,637,3248,6217,2831,2924,3426,8697],"./File/Index":[2496,5933,8320,6517,637,8756,9480,8409,907],"./Light/Index":[9751,7651,2844,9751],"./LightHue/Index":[2976,7651,2844,9751,2976],"./Media/Index":[9272,5933,8320,7651,6517,637,8756,9480,906,8409,3584,1602,7624,9272],"./Media/Providers/Jellyfin/views/Media/Index":[5868,5933,8320,6517,2992,1602,9025,2942,5868,8644],"./Media/Providers/Jellyfin/views/Movies/Index":[6593,5933,8320,6517,2992,1602,9025,6692,3295],"./Media/Providers/YouTube/Index":[2200,2200],"./MediaChromecast/Index":[2305,5933,8320,7651,6517,637,8756,9480,906,8409,3584,1602,7624,9272,2305],"./MediaGstreamer/Index":[5408,5933,8320,7651,6517,637,8756,9480,906,8409,3584,1602,7624,9272,5408],"./MediaMplayer/Index":[3518,5933,8320,7651,6517,637,8756,9480,906,8409,3584,1602,7624,9272,3518],"./MediaMpv/Index":[4765,5933,8320,7651,6517,637,8756,9480,906,8409,3584,1602,7624,9272,4765],"./MediaVlc/Index":[2614,5933,8320,7651,6517,637,8756,9480,906,8409,3584,1602,7624,9272,2614],"./Music/Index":[4015,5933,8320,7651,906,3584,4015],"./MusicMopidy/Index":[3400,5933,8320,7651,906,3584,4015,3400],"./MusicMpd/Index":[3083,5933,8320,7651,906,3584,4015,3083],"./MusicSnapcast/Index":[5285,7651,2844,5285],"./MusicSpotify/Index":[4053,5933,8320,7651,906,3584,4015,4053],"./Procedures/Index":[2164,5933,6517,2992,637,8756,3248,6217,2831,9502,1019,7257,5144,2164],"./Rtorrent/Index":[2183,5933,8320,7624,6429,2183],"./Settings/Index":[293,5933,8320,2844,6517,2992,3248,215,2924,293],"./Settings/Tokens/Index":[215,5933,8320,2992,3248,215],"./Sound/Index":[746,746],"./Torrent/Index":[8784,5933,8320,7624,6429,8784],"./Tts/Index":[3732,8069,3732],"./TtsGoogle/Index":[7605,8069,2853],"./TtsPicovoice/Index":[7089,8069,7089],"./TvSamsungWs/Index":[34,34],"./ZigbeeMqtt/Index":[6882,5933,8320,7651,2844,6882],"./Zwave/Index":[2732,5933,8320,7651,2844,2718,2732],"./ZwaveMqtt/Index":[1088,5933,8320,7651,2844,2718,1088]};function d(e){if(!i.o(t,e))return Promise.resolve().then((function(){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}));var n=t[e],d=n[0];return Promise.all(n.slice(1).map(i.e)).then((function(){return i(d)}))}d.keys=function(){return Object.keys(t)},d.id=3379,e.exports=d}}]);
//# sourceMappingURL=8179.147c2d63.js.map

File diff suppressed because one or more lines are too long

View file

@ -1,2 +0,0 @@
(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[8179],{8179:function(e,n,i){"use strict";i.r(n),i.d(n,{default:function(){return I}});var t=i(6252);const o={class:"plugin"};function d(e,n,i,d,a,r){const s=(0,t.up)("Loading");return(0,t.wg)(),(0,t.iD)("div",o,[a.loading?((0,t.wg)(),(0,t.j4)(s,{key:0})):a.component?((0,t.wg)(),(0,t.j4)((0,t.LL)(a.component),{key:1,config:a.config},null,8,["config"])):(0,t.kq)("",!0)])}var a=i(8637),r=i(6791),s=i(2262),c={name:"Plugin",components:{Loading:r.Z},mixins:[a.Z],props:{pluginName:{type:String,required:!0}},data(){return{loading:!1,component:null,config:{}}},computed:{componentName(){return this.pluginName.split(".").map((e=>e[0].toUpperCase()+e.slice(1))).join("")}},methods:{refresh:async function(){this.loading=!0;try{this.component=(0,s.XI)((0,t.RC)((()=>i(3379)(`./${this.componentName}/Index`)))),this.$options.components[this.componentName]=this.component,this.config=(await this.request("config.get_plugins"))?.[this.pluginName]||{}}finally{this.loading=!1}}},mounted:function(){this.refresh()}},u=i(3744);const x=(0,u.Z)(c,[["render",d],["__scopeId","data-v-69b17daa"]]);var I=x},3379:function(e,n,i){var t={"./Alarm/Index":[1949,5933,8320,7651,2844,6517,637,2992,8756,3248,9480,8409,6217,2831,9502,1019,2029,7257,9350,1949],"./Camera/Index":[7528,7528],"./CameraAndroidIpcam/Index":[3924,3924],"./CameraCv/Index":[6148,7528,6148],"./CameraFfmpeg/Index":[9334,7528,9334],"./CameraGstreamer/Index":[813,7528,813],"./CameraIrMlx90640/Index":[7381,7528,7381],"./CameraPi/Index":[5214,7528,8895],"./CameraPiLegacy/Index":[1512,7528,1512],"./Entities/Index":[557,5933,8320,2992,7257,669,864,9350,557],"./Execute/Index":[4221,5933,637,3248,9502,5053],"./Extensions/Index":[9131,5933,637,3248,6217,2831,2924,9131,8697],"./File/Index":[2496,5933,8320,6517,637,8756,9480,8409,907],"./Light/Index":[9751,7651,2844,9751],"./LightHue/Index":[2976,7651,2844,9751,2976],"./Media/Index":[9272,5933,8320,7651,6517,637,8756,9480,906,8409,4764,7624,1602,9272],"./Media/Providers/Jellyfin/Index":[5825,428,5825],"./Media/Providers/Jellyfin/collections/Movies/Index":[4289,5933,8320,6517,2992,1602,7529,4289,8644],"./Media/Providers/YouTube/Index":[2200,2200],"./MediaChromecast/Index":[2305,5933,8320,7651,6517,637,8756,9480,906,8409,4764,7624,1602,9272,2305],"./MediaGstreamer/Index":[5408,5933,8320,7651,6517,637,8756,9480,906,8409,4764,7624,1602,9272,5408],"./MediaMplayer/Index":[3518,5933,8320,7651,6517,637,8756,9480,906,8409,4764,7624,1602,9272,3518],"./MediaMpv/Index":[4765,5933,8320,7651,6517,637,8756,9480,906,8409,4764,7624,1602,9272,4765],"./MediaVlc/Index":[2614,5933,8320,7651,6517,637,8756,9480,906,8409,4764,7624,1602,9272,2614],"./Music/Index":[4015,5933,8320,7651,906,4764,4015],"./MusicMopidy/Index":[3400,5933,8320,7651,906,4764,4015,3400],"./MusicMpd/Index":[3083,5933,8320,7651,906,4764,4015,3083],"./MusicSnapcast/Index":[5285,7651,2844,5285],"./MusicSpotify/Index":[4053,5933,8320,7651,906,4764,4015,4053],"./Procedures/Index":[2164,5933,6517,637,2992,8756,3248,6217,2831,9502,1019,7257,5144,2164],"./Rtorrent/Index":[2183,5933,8320,7624,6429,2183],"./Settings/Index":[293,5933,8320,2844,6517,2992,3248,215,2924,293],"./Settings/Tokens/Index":[215,5933,8320,2992,3248,215],"./Sound/Index":[746,746],"./Torrent/Index":[8784,5933,8320,7624,6429,8784],"./Tts/Index":[3732,8069,3732],"./TtsGoogle/Index":[7605,8069,2853],"./TtsPicovoice/Index":[7089,8069,7089],"./TvSamsungWs/Index":[34,34],"./ZigbeeMqtt/Index":[6882,5933,8320,7651,2844,6882],"./Zwave/Index":[2732,5933,8320,7651,2844,2718,2732],"./ZwaveMqtt/Index":[1088,5933,8320,7651,2844,2718,1088]};function o(e){if(!i.o(t,e))return Promise.resolve().then((function(){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}));var n=t[e],o=n[0];return Promise.all(n.slice(1).map(i.e)).then((function(){return i(o)}))}o.keys=function(){return Object.keys(t)},o.id=3379,e.exports=o}}]);
//# sourceMappingURL=8179.9c35c51e.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[9966],{8332:function(e,s,t){"use strict";t.r(s),t.d(s,{default:function(){return _}});var a=t(6252),r=t(3577);function n(e,s,t,n,o,l){const d=(0,a.up)("Loading"),i=(0,a.up)("Widget"),c=(0,a.up)("Row");return(0,a.wg)(),(0,a.iD)(a.HY,null,[o.loading?((0,a.wg)(),(0,a.j4)(d,{key:0})):(0,a.kq)("",!0),(0,a._)("div",{id:"dashboard",class:(0,r.C_)(["col-12",l.classes]),style:(0,r.j5)(o.style)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(o.rows,((e,s)=>((0,a.wg)(),(0,a.j4)(c,{key:s,class:(0,r.C_)(e.class),style:(0,r.j5)(e.style)},{default:(0,a.w5)((()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.widgets,((e,s)=>((0,a.wg)(),(0,a.j4)(a.Ob,{key:s},[(0,a.Wm)(i,{style:(0,r.j5)(e.style),class:(0,r.C_)(e.class)},{default:(0,a.w5)((()=>[((0,a.wg)(),(0,a.j4)((0,a.LL)(e.component),(0,a.dG)({ref_for:!0},l.getWidgetProps(e)),null,16))])),_:2},1032,["style","class"])],1024)))),128))])),_:2},1032,["class","style"])))),128))],6)],64)}var o=t(2262),l=t(8637),d=t(6791);function i(e,s,t,n,o,l){return(0,a.wg)(),(0,a.iD)("div",{class:(0,r.C_)(["row",l.classes]),style:(0,r.j5)(t.style)},[(0,a.WI)(e.$slots,"default",{},void 0,!0)],6)}var c={name:"Row",props:{class:{type:String,required:!1,default:""},style:{type:String,required:!1,default:""}},computed:{classes(){return this.class}}},u=t(3744);const p=(0,u.Z)(c,[["render",i],["__scopeId","data-v-1b4663f2"]]);var h=p;function f(e,s,t,n,o,l){return(0,a.wg)(),(0,a.iD)("div",{style:(0,r.j5)(t.style),class:(0,r.C_)(l.classes)},[(0,a.WI)(e.$slots,"default",{},void 0,!0)],6)}var m={name:"Widget",props:{style:{type:String,required:!1,default:""},class:{type:String,required:!1,default:""}},computed:{classes(){return(this.class?.length?this.class.split(" "):["col-3"]).concat(["widget","column"])}}};const g=(0,u.Z)(m,[["render",f],["__scopeId","data-v-5df52982"]]);var y=g,w={name:"Dashboard",mixins:[l.Z],components:{Widget:y,Loading:d.Z,Row:h},props:{refreshSeconds:{type:Number,required:!1,default:0}},data(){return{rows:[],loading:!1,style:void 0,class:void 0}},computed:{classes(){return this.class},_refreshSeconds(){return parseFloat(this.refreshSeconds)||0}},methods:{getWidgetProps(e){const s={...e.props};return s.class&&delete s.class,s},parseTemplate(e){const s=(new DOMParser).parseFromString(e,"text/xml").childNodes[0],r=this;this.style=s.attributes.style?.nodeValue,this.class=s.attributes.class?.nodeValue,this.rows=[...s.getElementsByTagName("Row")].map((e=>({style:e.attributes.style?.nodeValue,class:e.attributes.class?.nodeValue,widgets:[...e.children].map((e=>{const s=(0,o.XI)((0,a.RC)((()=>t(6725)(`./${e.nodeName}/Index`)))),n=e.attributes.style?.nodeValue,l=e.attributes.class?.nodeValue,d=[...e.attributes].reduce(((e,s)=>("style"!==s.nodeName&&(e[s.nodeName]=s.nodeValue),e)),{content:e.innerHTML}),i={component:s,style:n,class:l,props:d||{}};return r.$options.components[e.nodeName]=s,i}))}))),this.loading=!1},async refreshDashboard(){this.loading=!0,this.widgets=[];const e=this.$route.params.name,s=await this.request("config.get_dashboard",{name:e});s||this.notifyError(`Dashboard ${e} not found`),this.parseTemplate(s)}},mounted(){if(this.refreshDashboard(),this._refreshSeconds){const e=this;setInterval((()=>{e.refreshDashboard()}),parseInt((1e3*this._refreshSeconds).toFixed(0)))}}};const v=(0,u.Z)(w,[["render",n],["__scopeId","data-v-462fad8c"]]);var _=v},6725:function(e,s,t){var a={"./Calendar/Index":[5638,5638],"./Camera/Index":[446,446],"./Component/Index":[1449,7651,2844,1449],"./DateTime/Index":[4619,1391,4619],"./DateTimeWeather/Index":[9962,9211,1391,9962],"./ImageCarousel/Index":[2140,9211,1391,2140],"./Music/Index":[7841,7651,906,7841],"./Plugin/Index":[8179,8179],"./RssNews/Index":[6523,6523],"./Weather/Index":[9211,9211]};function r(e){if(!t.o(a,e))return Promise.resolve().then((function(){var s=new Error("Cannot find module '"+e+"'");throw s.code="MODULE_NOT_FOUND",s}));var s=a[e],r=s[0];return Promise.all(s.slice(1).map(t.e)).then((function(){return t(r)}))}r.keys=function(){return Object.keys(a)},r.id=6725,e.exports=r}}]);
//# sourceMappingURL=dashboard.8e6f9fe8.js.map
//# sourceMappingURL=dashboard.d5f404e0.js.map

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[4535],{8137:function(e,t,s){s.r(t),s.d(t,{default:function(){return A}});var r=s(6252),i=s(3577);const a=e=>((0,r.dD)("data-v-1b764fc6"),e=e(),(0,r.Cn)(),e),n={key:1,class:"login-container"},o=a((()=>(0,r._)("div",{class:"header"},[(0,r._)("span",{class:"logo"},[(0,r._)("img",{src:"/logo.svg",alt:"logo"})]),(0,r._)("span",{class:"text"},"Platypush")],-1))),l={class:"row"},d=["type","disabled"],c={class:"row"},u=["type","disabled"],h={key:0,class:"row"},p=["disabled"],g={key:1,class:"row"},m=["disabled"],w={class:"row buttons"},b=["disabled"],_=a((()=>(0,r._)("div",{class:"row pull-right"},[(0,r._)("label",{class:"checkbox"},[(0,r._)("input",{type:"checkbox",name:"remember"}),(0,r.Uk)("  Keep me logged in on this device   ")])],-1))),f={key:2,class:"auth-error"};function y(e,t,s,a,y,k){const v=(0,r.up)("Loading");return y.initialized?((0,r.wg)(),(0,r.iD)("div",n,[y.isAuthenticated?(0,r.kq)("",!0):((0,r.wg)(),(0,r.iD)("form",{key:0,class:"login",method:"POST",onSubmit:t[0]||(t[0]=(...e)=>k.submitForm&&k.submitForm(...e))},[o,(0,r._)("div",l,[(0,r._)("label",null,[(0,r._)("input",{type:y.requires2fa?"hidden":"text",name:"username",disabled:y.authenticating,placeholder:"Username",ref:"username"},null,8,d)])]),(0,r._)("div",c,[(0,r._)("label",null,[(0,r._)("input",{type:y.requires2fa?"hidden":"password",name:"password",disabled:y.authenticating,placeholder:"Password"},null,8,u)])]),y.requires2fa?((0,r.wg)(),(0,r.iD)("div",h,[(0,r._)("label",null,[(0,r._)("input",{type:"text",name:"code",disabled:y.authenticating,placeholder:"2FA code",ref:"code"},null,8,p)])])):(0,r.kq)("",!0),s.register?((0,r.wg)(),(0,r.iD)("div",g,[(0,r._)("label",null,[(0,r._)("input",{type:"password",name:"confirm_password",disabled:y.authenticating,placeholder:"Confirm password"},null,8,m)])])):(0,r.kq)("",!0),(0,r._)("div",w,[(0,r._)("button",{type:"submit",class:(0,i.C_)(["btn btn-primary",{loading:y.authenticating}]),disabled:y.authenticating},[y.authenticating?((0,r.wg)(),(0,r.j4)(v,{key:0})):(0,r.kq)("",!0),(0,r.Uk)(" "+(0,i.zw)(s.register?"Register":"Login"),1)],10,b)]),_,y.authError?((0,r.wg)(),(0,r.iD)("div",f,(0,i.zw)(y.authError),1)):(0,r.kq)("",!0)],32))])):((0,r.wg)(),(0,r.j4)(v,{key:0}))}var k=s(6791),v=s(8637),q=s(7066),E={name:"Login",mixins:[v.Z],components:{Loading:k.Z},props:{register:{type:Boolean,required:!1,default:!1}},computed:{redirect(){return this.$route.query.redirect?.length?this.$route.query.redirect:"/"}},data(){return{authError:null,authenticating:!1,isAuthenticated:!1,initialized:!1,requires2fa:!1}},methods:{async submitForm(e){e.preventDefault();const t=e.target,s=new FormData(t),r="/auth?type="+(this.register?"register":"login");if(this.register&&s.get("password")!==s.get("confirm_password"))this.authError="Passwords don't match";else{this.authError=null;try{const e=await q.Z.post(r,s),t=e?.data?.session_token;if(t){const s=e.expires_at?Date.parse(e.expires_at):null;this.isAuthenticated=!0,this.setCookie("session_token",t,{expires:s}),window.location.href=e.redirect||this.redirect}else this.authError="Invalid credentials"}catch(e){"MISSING_OTP_CODE"===e.response?.data?.error?(this.requires2fa=!0,this.$nextTick((()=>{this.$refs.code?.focus()}))):(this.authError=e.response.data.message||e.response.data.error,401===e.response?.status?this.authError=this.authError||"Invalid credentials":(this.authError=this.authError||"An error occurred while processing the request",e.response?console.error(e.response.status,e.response.data):console.error(e)))}}},async checkAuth(){try{const e=await q.Z.get("/auth");e.data.session_token&&(this.isAuthenticated=!0,window.location.href=e.redirect||this.redirect)}catch(e){this.isAuthenticated=!1}finally{this.initialized=!0}}},async created(){await this.checkAuth()},async mounted(){this.$nextTick((()=>{this.$refs.username?.focus()}))}},x=s(3744);const D=(0,x.Z)(E,[["render",y],["__scopeId","data-v-1b764fc6"]]);var A=D}}]);
//# sourceMappingURL=login.5ccc27d1.js.map
//# sourceMappingURL=login.184d8b7d.js.map

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[2245],{2751:function(n,u,t){t.r(u),t.d(u,{default:function(){return s}});var e=t(6252);function r(n,u,t,r,a,c){return(0,e.wg)(),(0,e.iD)("h1",null,"Object not found")}var a={name:"NotFound"},c=t(3744);const o=(0,c.Z)(a,[["render",r]]);var s=o}}]);
//# sourceMappingURL=notfound.c3830a81.js.map
//# sourceMappingURL=notfound.45c82f8a.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/notfound.c3830a81.js","mappings":"uNACEA,EAAAA,EAAAA,IAAyB,UAArB,mB,CAIN,OACEC,KAAM,Y,UCDR,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/views/NotFound.vue","webpack://platypush/./src/views/NotFound.vue?0aab"],"sourcesContent":["<template>\n <h1>Object not found</h1>\n</template>\n\n<script>\nexport default {\n name: \"NotFound\"\n}\n</script>\n\n","import { render } from \"./NotFound.vue?vue&type=template&id=49501f4d\"\nimport script from \"./NotFound.vue?vue&type=script&lang=js\"\nexport * from \"./NotFound.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","name","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/notfound.45c82f8a.js","mappings":"uNACEA,EAAAA,EAAAA,IAAyB,UAArB,mB,CAIN,OACEC,KAAM,Y,UCDR,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/views/NotFound.vue","webpack://platypush/./src/views/NotFound.vue?0aab"],"sourcesContent":["<template>\n <h1>Object not found</h1>\n</template>\n\n<script>\nexport default {\n name: \"NotFound\"\n}\n</script>\n\n","import { render } from \"./NotFound.vue?vue&type=template&id=49501f4d\"\nimport script from \"./NotFound.vue?vue&type=script&lang=js\"\nexport * from \"./NotFound.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","name","__exports__","render"],"sourceRoot":""}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show more