[Automatic] Updated UI files

This commit is contained in:
Fabio Manganiello 2024-12-20 21:32:38 +00:00
parent 7650251ecd
commit f31ccc6f57
Signed by untrusted user: blacklight
GPG key ID: AD6D273C08B82EC9
93 changed files with 96 additions and 96 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.83e191d2.js"></script><script defer="defer" src="/static/js/app.a31a073b.js"></script><link href="/static/css/chunk-vendors.d510eff2.css" rel="stylesheet"><link href="/static/css/app.f97a4bca.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.83e191d2.js"></script><script defer="defer" src="/static/js/app.53c00686.js"></script><link href="/static/css/chunk-vendors.d510eff2.css" rel="stylesheet"><link href="/static/css/app.f97a4bca.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

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[1391],{1391:function(e,t,s){s.r(t),s.d(t,{default:function(){return l}});var n=s(641),o=s(33);const a={class:"date-time"},r=["textContent"],i=["textContent"];function u(e,t,s,u,h,d){return(0,n.uX)(),(0,n.CE)("div",a,[d._showDate?((0,n.uX)(),(0,n.CE)("div",{key:0,class:"date",textContent:(0,o.v_)(e.formatDate(e.now))},null,8,r)):(0,n.Q3)("",!0),d._showTime?((0,n.uX)(),(0,n.CE)("div",{key:1,class:"time",textContent:(0,o.v_)(e.formatTime(e.now,d._showSeconds))},null,8,i)):(0,n.Q3)("",!0)])}var h=s(2002),d={name:"DateTime",mixins:[h.A],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(6262);const w=(0,c.A)(d,[["render",u],["__scopeId","data-v-ca42eb9c"]]);var l=w}}]);
//# sourceMappingURL=1391.f4920051.js.map
//# sourceMappingURL=1391.947097d1.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/1391.f4920051.js","mappings":"6LACOA,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/1391.947097d1.js","mappings":"6LACOA,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":""}

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[2545],{3778:function(n,t,s){s.d(t,{A:function(){return d}});var e=s(641),c=s(33);const l={class:"icon-container"},a=["src","alt"];function r(n,t,s,r,o,u){return(0,e.uX)(),(0,e.CE)("div",l,[s.url?.length?((0,e.uX)(),(0,e.CE)("img",{key:0,class:"icon",src:s.url,alt:s.alt},null,8,a)):u.className?.length?((0,e.uX)(),(0,e.CE)("i",{key:1,class:(0,c.C4)(["icon",u.className]),style:(0,c.Tr)({color:s.color})},null,6)):(0,e.Q3)("",!0)])}var o={props:{class:{type:String},url:{type:String},color:{type:String,default:""},alt:{type:String,default:""}},computed:{className(){return this.class}}},u=s(6262);const i=(0,u.A)(o,[["render",r],["__scopeId","data-v-706a3bd1"]]);var d=i},5054:function(n,t,s){s.d(t,{A:function(){return d}});var e=s(641),c=s(33);const l={key:0,class:"icon"};function a(n,t,s,a,r,o){const u=(0,e.g2)("Icon");return(0,e.uX)(),(0,e.CE)("div",{class:(0,c.C4)(["tab",s.selected?"selected":""]),onClick:t[0]||(t[0]=t=>n.$emit("input"))},[s.iconClass?.length||s.iconUrl?.length?((0,e.uX)(),(0,e.CE)("span",l,[(0,e.bF)(u,{class:(0,c.C4)(s.iconClass),url:s.iconUrl},null,8,["class","url"])])):(0,e.Q3)("",!0),t[1]||(t[1]=(0,e.eW)("   ")),(0,e.RG)(n.$slots,"default",{},void 0,!0)],2)}var r=s(3778),o={name:"Tab",components:{Icon:r.A},emits:["input"],props:{selected:{type:Boolean,default:!1},iconClass:{type:String},iconUrl:{type:String}}},u=s(6262);const i=(0,u.A)(o,[["render",a],["__scopeId","data-v-f3217d34"]]);var d=i},3556:function(n,t,s){s.d(t,{A:function(){return u}});var e=s(641);const c={class:"tabs"};function l(n,t,s,l,a,r){return(0,e.uX)(),(0,e.CE)("div",c,[(0,e.RG)(n.$slots,"default",{},void 0,!0)])}var a={name:"Tabs"},r=s(6262);const o=(0,r.A)(a,[["render",l],["__scopeId","data-v-f4300bb0"]]);var u=o}}]);
//# sourceMappingURL=2545.ba059a54.js.map
//# sourceMappingURL=2545.358fb1a2.js.map

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[3307,1391],{1391:function(e,t,s){s.r(t),s.d(t,{default:function(){return d}});var o=s(641),a=s(33);const r={class:"date-time"},i=["textContent"],h=["textContent"];function n(e,t,s,n,u,m){return(0,o.uX)(),(0,o.CE)("div",r,[m._showDate?((0,o.uX)(),(0,o.CE)("div",{key:0,class:"date",textContent:(0,a.v_)(e.formatDate(e.now))},null,8,i)):(0,o.Q3)("",!0),m._showTime?((0,o.uX)(),(0,o.CE)("div",{key:1,class:"time",textContent:(0,a.v_)(e.formatTime(e.now,m._showSeconds))},null,8,h)):(0,o.Q3)("",!0)])}var u=s(2002),m={name:"DateTime",mixins:[u.A],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(6262);const l=(0,c.A)(m,[["render",n],["__scopeId","data-v-ca42eb9c"]]);var d=l},5688:function(e,t,s){s.r(t),s.d(t,{default:function(){return v}});var o=s(641),a=s(33);const r={class:"image-carousel"},i={ref:"background",class:"background"},h=["src"],n={key:1,class:"row info-container"},u={class:"col-6 weather-container"},m={key:0},c={class:"col-6 date-time-container"};function l(e,t,s,l,d,w){const g=(0,o.g2)("Loading"),f=(0,o.g2)("Weather"),p=(0,o.g2)("DateTime");return(0,o.uX)(),(0,o.CE)("div",r,[d.images.length?(0,o.Q3)("",!0):((0,o.uX)(),(0,o.Wv)(g,{key:0})),(0,o.Lk)("div",i,null,512),(0,o.Lk)("img",{ref:"img",src:w.imgURL,alt:"Your carousel images",style:(0,a.Tr)({display:d.images.length?"block":"none"})},null,12,h),w._showDate||w._showTime?((0,o.uX)(),(0,o.CE)("div",n,[(0,o.Lk)("div",u,[w._showWeather?((0,o.uX)(),(0,o.Wv)(f,{key:1,"show-icon":w._showWeatherIcon,"show-summary":w._showWeatherSummary,"show-temperature":w._showTemperature,"icon-color":s.weatherIconColor,"icon-size":s.weatherIconSize,animate:w._animateWeatherIcon},null,8,["show-icon","show-summary","show-temperature","icon-color","icon-size","animate"])):((0,o.uX)(),(0,o.CE)("span",m," "))]),(0,o.Lk)("div",c,[w._showTime||w._showDate?((0,o.uX)(),(0,o.Wv)(p,{key:0,"show-date":w._showDate,"show-time":w._showTime,"show-seconds":w._showSeconds},null,8,["show-date","show-time","show-seconds"])):(0,o.Q3)("",!0)])])):(0,o.Q3)("",!0)])}var d=s(2002),w=s(9828),g=s(1391),f=s(5188),p={name:"ImageCarousel",components:{Weather:f["default"],DateTime:g["default"],Loading:w.A},mixins:[d.A],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(6262);const y=(0,_.A)(p,[["render",l],["__scopeId","data-v-7b09a273"]]);var v=y}}]);
//# sourceMappingURL=3307.457ad5ac.js.map
//# sourceMappingURL=3307.3c8cc07b.js.map

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[3851],{3851:function(e,t,i){i.r(t),i.d(t,{default:function(){return C}});var s=i(641),n=i(33);const a={class:"camera component-row"},r={class:"feed-container",ref:"container"},c=["textContent"],l=["src"],u={key:2},o=["src"],p={class:"controls"},d={key:0,class:"fa fa-play"},v={key:1,class:"fa fa-pause"};function f(e,t,i,f,m,y){return(0,s.uX)(),(0,s.CE)("div",a,[(0,s.Lk)("div",r,[m.visible?(0,s.Q3)("",!0):((0,s.uX)(),(0,s.CE)("div",{key:0,class:"no-content",textContent:(0,n.v_)(i.name)},null,8,c)),m.visible&&"image"===i.type?((0,s.uX)(),(0,s.CE)("img",{key:1,alt:"Camera feed",src:y.imgUrl},null,8,l)):m.visible&&"video"===i.type?((0,s.uX)(),(0,s.CE)("video",u,[(0,s.Lk)("source",{src:i.src},null,8,o)])):(0,s.Q3)("",!0)],512),(0,s.Lk)("div",p,[(0,s.Lk)("button",{class:"toggle-btn",onClick:t[0]||(t[0]=e=>m.visible=!m.visible)},[m.visible?((0,s.uX)(),(0,s.CE)("i",v)):((0,s.uX)(),(0,s.CE)("i",d))])])])}var m=i(2002),y={name:"Camera",mixins:[m.A],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}}},k=i(6262);const g=(0,k.A)(y,[["render",f],["__scopeId","data-v-0fad5251"]]);var C=g}}]);
//# sourceMappingURL=3851.84f9576e.js.map
//# sourceMappingURL=3851.ea7eb981.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/3851.84f9576e.js","mappings":"6LACOA,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,IAMM,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,IAAmB,UAAVS,IAAKJ,EAAAI,KAAG,OAAAI,OAAA,sBAIrBb,EAAAA,EAAAA,IAKM,MALNc,EAKM,EAJJd,EAAAA,EAAAA,IAGS,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/3851.ea7eb981.js","mappings":"6LACOA,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,IAMM,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,IAAmB,UAAVS,IAAKJ,EAAAI,KAAG,OAAAI,OAAA,sBAIrBb,EAAAA,EAAAA,IAKM,MALNc,EAKM,EAJJd,EAAAA,EAAAA,IAGS,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":""}

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([[4523],{1808:function(e,a,l){l.d(a,{A:function(){return C}});var t=l(641),n=l(33),u=l(3751);const s={class:"slider-wrapper"},i=["textContent"],r=["textContent"],o={class:"slider-container"},v=["min","max","step","disabled","value"],d=["textContent"];function c(e,a,l,c,p,g){return(0,t.uX)(),(0,t.CE)("label",s,[l.withRange?((0,t.uX)(),(0,t.CE)("span",{key:0,class:(0,n.C4)(["range-labels",{"with-label":l.withLabel}])},[l.withRange?((0,t.uX)(),(0,t.CE)("span",{key:0,class:"label left",textContent:(0,n.v_)(l.range[0])},null,8,i)):(0,t.Q3)("",!0),l.withRange?((0,t.uX)(),(0,t.CE)("span",{key:1,class:"label right",textContent:(0,n.v_)(l.range[1])},null,8,r)):(0,t.Q3)("",!0)],2)):(0,t.Q3)("",!0),(0,t.Lk)("span",o,[(0,t.Lk)("input",{class:(0,n.C4)(["slider",{"with-label":l.withLabel}]),type:"range",min:l.range[0],max:l.range[1],step:l.step,disabled:l.disabled,value:l.value,ref:"range",onInput:a[0]||(a[0]=(0,u.D$)((a=>e.$emit("input",a)),["stop"])),onChange:a[1]||(a[1]=(0,u.D$)((a=>e.$emit("change",a)),["stop"]))},null,42,v),l.withLabel?((0,t.uX)(),(0,t.CE)("span",{key:0,class:"label",textContent:(0,n.v_)(l.value),ref:"label"},null,8,d)):(0,t.Q3)("",!0)])])}var p={emits:["input","change"],props:{value:{type:Number},disabled:{type:Boolean,default:!1},range:{type:Array,default:()=>[0,100]},step:{type:Number,default:1},withLabel:{type:Boolean,default:!1},withRange:{type:Boolean,default:!1}}},g=l(6262);const h=(0,g.A)(p,[["render",c],["__scopeId","data-v-d90e850c"]]);var C=h},4523:function(e,a,l){l.r(a),l.d(a,{default:function(){return X}});var t=l(641),n=l(33),u=l(3751);const s={class:"entity dimmer-container"},i={class:"icon"},r={class:"label"},o=["textContent"],v={class:"value-container pull-right"},d=["textContent"],c={class:"row"},p={key:0,class:"input"},g={class:"col-10"},h={class:"col-2 value"},C=["value"],y={key:1,class:"input"},k={class:"col-12 value"},m=["value"];function b(e,a,l,b,f,L){const w=(0,t.g2)("EntityIcon"),x=(0,t.g2)("Slider");return(0,t.uX)(),(0,t.CE)("div",s,[(0,t.Lk)("div",{class:(0,n.C4)(["head",{collapsed:e.collapsed}])},[(0,t.Lk)("div",i,[(0,t.bF)(w,{entity:e.value,loading:e.loading,error:e.error},null,8,["entity","loading","error"])]),(0,t.Lk)("div",r,[(0,t.Lk)("div",{class:"name",textContent:(0,n.v_)(e.value.name)},null,8,o)]),(0,t.Lk)("div",v,[null!=L.parsedValue?((0,t.uX)(),(0,t.CE)("span",{key:0,class:"value",textContent:(0,n.v_)(L.parsedValue)},null,8,d)):(0,t.Q3)("",!0),(0,t.Lk)("button",{onClick:a[0]||(a[0]=(0,u.D$)((a=>e.collapsed=!e.collapsed),["stop"]))},[(0,t.Lk)("i",{class:(0,n.C4)(["fas",{"fa-angle-up":!e.collapsed,"fa-angle-down":e.collapsed}])},null,2)])])],2),e.collapsed?(0,t.Q3)("",!0):((0,t.uX)(),(0,t.CE)("div",{key:0,class:"body",onClick:a[3]||(a[3]=(0,u.D$)(((...e)=>L.prevent&&L.prevent(...e)),["stop"]))},[(0,t.Lk)("div",c,[null!=e.value?.min&&null!=e.value?.max?((0,t.uX)(),(0,t.CE)("div",p,[(0,t.Lk)("div",g,[(0,t.bF)(x,{range:[e.value.min,e.value.max],"with-range":"",value:e.value.value,onChange:L.setValue},null,8,["range","value","onChange"])]),(0,t.Lk)("div",h,[(0,t.Lk)("input",{type:"number",value:e.value.value,onChange:a[1]||(a[1]=(...e)=>L.setValue&&L.setValue(...e))},null,40,C)])])):((0,t.uX)(),(0,t.CE)("div",y,[(0,t.Lk)("div",k,[(0,t.Lk)("input",{type:"number",value:e.value.value,onChange:a[2]||(a[2]=(...e)=>L.setValue&&L.setValue(...e))},null,40,m)])]))])]))])}var f=l(1808),L=l(4897),w=l(1029),x={name:"Dimmer",components:{Slider:f.A,EntityIcon:w["default"]},mixins:[L["default"]],computed:{parsedValue(){if(this.value?.is_write_only||null==this.value?.value)return null;let e=this.value.value;return this.value.unit&&(e=`${e} ${this.value.unit}`),e}},methods:{prevent(e){return e.stopPropagation(),!1},async setValue(e){if(e.target.value?.length){this.$emit("loading",!0);try{await this.request("entities.execute",{id:this.value.id,action:"set",value:+e.target.value})}finally{this.$emit("loading",!1)}}}}},E=l(6262);const _=(0,E.A)(x,[["render",b],["__scopeId","data-v-05503f62"]]);var X=_}}]);
//# sourceMappingURL=4523.a60b3d0d.js.map
//# sourceMappingURL=4523.6b716593.js.map

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[5953],{5953:function(e,t,n){n.r(t),n.d(t,{default:function(){return g}});var s=n(641),a=n(33);const r={class:"calendar"},i={key:1,class:"no-events"},d={key:2,class:"event upcoming-event"},l=["textContent"],o=["textContent"],u={class:"time"},v={key:3,class:"event-list"},c=["textContent"],m=["textContent"],f=["textContent"];function h(e,t,n,h,C,p){const y=(0,s.g2)("Loading");return(0,s.uX)(),(0,s.CE)("div",r,[e.loading?((0,s.uX)(),(0,s.Wv)(y,{key:0})):e.events.length?e.events.length>0?((0,s.uX)(),(0,s.CE)("div",d,[(0,s.Lk)("div",{class:"date",textContent:(0,a.v_)(e.formatDate(e.events[0].start))},null,8,l),(0,s.Lk)("div",{class:"summary",textContent:(0,a.v_)(e.events[0].summary)},null,8,o),(0,s.Lk)("div",u,(0,a.v_)(e.formatTime(e.events[0].start,!1))+" - "+(0,a.v_)(e.formatTime(e.events[0].end,!1)),1)])):(0,s.Q3)("",!0):((0,s.uX)(),(0,s.CE)("div",i," No events found ")),e.events.length>1?((0,s.uX)(),(0,s.CE)("div",v,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(e.events.slice(1,n.maxEvents),(t=>((0,s.uX)(),(0,s.CE)("div",{class:"event",key:t.id},[(0,s.Lk)("div",{class:"date col-2",textContent:(0,a.v_)(e.formatDate(t.start))},null,8,c),(0,s.Lk)("div",{class:"time col-2",textContent:(0,a.v_)(e.formatTime(t.start,!1))},null,8,m),(0,s.Lk)("div",{class:"summary col-8",textContent:(0,a.v_)(t.summary)},null,8,f)])))),128))])):(0,s.Q3)("",!0)])}var C=n(2002),p=n(9828),y={name:"Calendar",components:{Loading:p.A},mixins:[C.A],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)))}},k=n(6262);const x=(0,k.A)(y,[["render",h],["__scopeId","data-v-44a3b988"]]);var g=x}}]);
//# sourceMappingURL=5953.3ee4e3f1.js.map
//# sourceMappingURL=5953.3467f831.js.map

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[7222],{7222:function(e,t,r){r.r(t),r.d(t,{default:function(){return v}});var s=r(641),i=r(33);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.uX)(),(0,s.CE)("div",n,[e.currentArticle?((0,s.uX)(),(0,s.CE)("div",u,[(0,s.Lk)("div",{class:"source",textContent:(0,i.v_)(e.currentArticle.feed_title||e.currentArticle.feed_url)},null,8,l),(0,s.Lk)("div",{class:"title",textContent:(0,i.v_)(e.currentArticle.title)},null,8,c),(0,s.Lk)("div",{class:"published",textContent:(0,i.v_)(new Date(e.currentArticle.published).toDateString()+", "+new Date(e.currentArticle.published).toTimeString().substring(0,5))},null,8,a)])):(0,s.Q3)("",!0)])}var d=r(2002),o={name:"RssNews",mixins:[d.A],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(6262);const p=(0,f.A)(o,[["render",h],["__scopeId","data-v-24745ce0"]]);var v=p}}]);
//# sourceMappingURL=7222.69b738ae.js.map
//# sourceMappingURL=7222.ddd17e92.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/7222.69b738ae.js","mappings":"6LACOA,MAAM,Y,SACJA,MAAM,W,gGADbC,EAAAA,EAAAA,IAMM,MANNC,EAMM,CALuBC,EAAAC,iBAAc,WAAzCH,EAAAA,EAAAA,IAIM,MAJNI,EAIM,EAHJC,EAAAA,EAAAA,IAAwF,OAAnFN,MAAM,S,aAASO,EAAAA,EAAAA,IAAQJ,EAAqDC,eAAtCI,YAAcL,EAAAC,eAAeK,W,WACxEH,EAAAA,EAAAA,IAAuD,OAAlDN,MAAM,Q,aAAQO,EAAAA,EAAAA,IAAQJ,EAAqBC,eAANM,Q,WAC1CJ,EAAAA,EAAAA,IAAkK,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/7222.ddd17e92.js","mappings":"6LACOA,MAAM,Y,SACJA,MAAM,W,gGADbC,EAAAA,EAAAA,IAMM,MANNC,EAMM,CALuBC,EAAAC,iBAAc,WAAzCH,EAAAA,EAAAA,IAIM,MAJNI,EAIM,EAHJC,EAAAA,EAAAA,IAAwF,OAAnFN,MAAM,S,aAASO,EAAAA,EAAAA,IAAQJ,EAAqDC,eAAtCI,YAAcL,EAAAC,eAAeK,W,WACxEH,EAAAA,EAAAA,IAAuD,OAAlDN,MAAM,Q,aAAQO,EAAAA,EAAAA,IAAQJ,EAAqBC,eAANM,Q,WAC1CJ,EAAAA,EAAAA,IAAkK,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":""}

View file

@ -1,2 +1,2 @@
(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[7896],{7896:function(e,n,i){"use strict";i.r(n),i.d(n,{default:function(){return I}});var t=i(641);const d={class:"plugin"};function o(e,n,i,o,a,r){const s=(0,t.g2)("Loading");return(0,t.uX)(),(0,t.CE)("div",d,[a.loading?((0,t.uX)(),(0,t.Wv)(s,{key:0})):a.component?((0,t.uX)(),(0,t.Wv)((0,t.$y)(a.component),{key:1,config:a.config},null,8,["config"])):(0,t.Q3)("",!0)])}var a=i(2002),r=i(9828),s=i(953),c={name:"Plugin",components:{Loading:r.A},mixins:[a.A],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.IJ)((0,t.$V)((()=>i(7672)(`./${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(6262);const x=(0,u.A)(c,[["render",o],["__scopeId","data-v-69b17daa"]]);var I=x},7672:function(e,n,i){var t={"./Alarm/Index":[8597,9769,5184,1146,3841,1861,3162,9878,4280,1367,2561,2716,648,572,6027,5928,1233,7594,343,3045,6360],"./Application/Index":[5933,1146,1861,3162,9878,1367,2561,6592,5933],"./Camera/Index":[9284,8602,6903],"./CameraAndroidIpcam/Index":[2981,2981],"./CameraCv/Index":[2908,8602,2908],"./CameraFfmpeg/Index":[6973,8602,6973],"./CameraGstreamer/Index":[5783,8602,5783],"./CameraIrMlx90640/Index":[8636,8602,8636],"./CameraPi/Index":[3671,8602,3671],"./CameraPiLegacy/Index":[8357,8602,8357],"./Entities/Index":[1131,1146,3841,1861,5799,2486,343,1131,2256],"./Execute/Index":[8567,1146,9878,2561,5928,1381],"./Extensions/Index":[2720,1146,9878,2561,572,6027,6592,2720,2545],"./File/Index":[2061,1146,1861,3162,9878,1367,2716,648,1562],"./Light/Index":[4457,9769,5184,4457],"./LightHue/Index":[8652,9769,5184,4457,8652],"./Media/Index":[2673,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,2673],"./Media/Providers/Jellyfin/views/Media/Index":[6975,1146,3841,1861,3162,4280,2353,3149,1433,7619,1616],"./Media/Providers/Jellyfin/views/Movies/Index":[2436,1146,3841,1861,3162,4280,3149,1008,6556,4267],"./Media/Providers/Jellyfin/views/Music/Index":[1433,1146,3841,1861,3162,4280,2353,3149,1433,28],"./Media/Providers/YouTube/Index":[9476,9476],"./MediaChromecast/Index":[1684,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,2673,1684],"./MediaGstreamer/Index":[9145,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,2673,9145],"./MediaMplayer/Index":[7839,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,2673,7839],"./MediaMpv/Index":[9388,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,2673,9388],"./MediaVlc/Index":[6372,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,2673,6372],"./Music/Index":[1995,5184,1146,1861,6157,4787,1995],"./MusicMopidy/Index":[7533,5184,1146,1861,6157,4787,1995,7533],"./MusicMpd/Index":[560,5184,1146,1861,6157,4787,1995,560],"./MusicSnapcast/Index":[6564,9769,5184,6564],"./MusicSpotify/Index":[7299,5184,1146,1861,6157,4787,1995,7299],"./Procedures/Index":[9636,1146,3841,3162,9878,4280,1367,2561,572,6027,5928,1233,6923,343,9636],"./Rtorrent/Index":[8499,1146,1861,6777,1671,8499],"./Settings/Index":[3990,9769,1146,3841,1861,3162,2561,806,3990],"./Settings/Tokens/Index":[806,1146,3841,1861,2561,806],"./Sound/Index":[7158,7158],"./Torrent/Index":[7098,1146,1861,6777,1671,7098],"./Tts/Index":[2392,8946,2392],"./TtsGoogle/Index":[1526,8946,1526],"./TtsPicovoice/Index":[8191,8946,8191],"./TvSamsungWs/Index":[4387,4387],"./ZigbeeMqtt/Index":[7630,9769,5184,1146,1861,7630],"./Zwave/Index":[9313,9769,5184,1146,1861,3290,9313],"./ZwaveMqtt/Index":[5145,9769,5184,1146,1861,3290,5145]};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=7672,e.exports=d}}]);
//# sourceMappingURL=7896.e5c72ee9.js.map
(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[7896],{7896:function(e,n,i){"use strict";i.r(n),i.d(n,{default:function(){return I}});var t=i(641);const d={class:"plugin"};function o(e,n,i,o,a,r){const s=(0,t.g2)("Loading");return(0,t.uX)(),(0,t.CE)("div",d,[a.loading?((0,t.uX)(),(0,t.Wv)(s,{key:0})):a.component?((0,t.uX)(),(0,t.Wv)((0,t.$y)(a.component),{key:1,config:a.config},null,8,["config"])):(0,t.Q3)("",!0)])}var a=i(2002),r=i(9828),s=i(953),c={name:"Plugin",components:{Loading:r.A},mixins:[a.A],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.IJ)((0,t.$V)((()=>i(7672)(`./${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(6262);const x=(0,u.A)(c,[["render",o],["__scopeId","data-v-69b17daa"]]);var I=x},7672:function(e,n,i){var t={"./Alarm/Index":[8597,9769,5184,1146,3841,1861,3162,9878,4280,1367,2561,2716,648,572,6027,5928,1233,7594,343,3045,6360],"./Application/Index":[5933,1146,1861,3162,9878,1367,2561,6592,5933],"./Camera/Index":[9284,8602,6903],"./CameraAndroidIpcam/Index":[2981,2981],"./CameraCv/Index":[2908,8602,2908],"./CameraFfmpeg/Index":[6973,8602,6973],"./CameraGstreamer/Index":[5783,8602,5783],"./CameraIrMlx90640/Index":[8636,8602,8636],"./CameraPi/Index":[3671,8602,3671],"./CameraPiLegacy/Index":[8357,8602,8357],"./Entities/Index":[1131,1146,3841,1861,5799,2486,343,1131,2256],"./Execute/Index":[8567,1146,9878,2561,5928,1381],"./Extensions/Index":[2720,1146,9878,2561,572,6027,6592,2720,2545],"./File/Index":[2061,1146,1861,3162,9878,1367,2716,648,1562],"./Light/Index":[8297,9769,5184,8297],"./LightHue/Index":[8652,9769,5184,8297,8652],"./Media/Index":[2673,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,2673],"./Media/Providers/Jellyfin/views/Media/Index":[6975,1146,3841,1861,3162,4280,2353,3149,1433,7619,1616],"./Media/Providers/Jellyfin/views/Movies/Index":[2436,1146,3841,1861,3162,4280,3149,1008,6556,4267],"./Media/Providers/Jellyfin/views/Music/Index":[1433,1146,3841,1861,3162,4280,2353,3149,1433,28],"./Media/Providers/YouTube/Index":[9476,9476],"./MediaChromecast/Index":[1684,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,2673,1684],"./MediaGstreamer/Index":[9145,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,2673,9145],"./MediaMplayer/Index":[7839,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,2673,7839],"./MediaMpv/Index":[9388,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,2673,9388],"./MediaVlc/Index":[6372,5184,1146,1861,3162,9878,4280,1367,2716,648,6157,4787,3149,6777,2673,6372],"./Music/Index":[1995,5184,1146,1861,6157,4787,1995],"./MusicMopidy/Index":[7533,5184,1146,1861,6157,4787,1995,7533],"./MusicMpd/Index":[560,5184,1146,1861,6157,4787,1995,560],"./MusicSnapcast/Index":[6564,9769,5184,6564],"./MusicSpotify/Index":[7299,5184,1146,1861,6157,4787,1995,7299],"./Procedures/Index":[9636,1146,3841,3162,9878,4280,1367,2561,572,6027,5928,1233,6923,343,9636],"./Rtorrent/Index":[8499,1146,1861,6777,1671,8499],"./Settings/Index":[3990,9769,1146,3841,1861,3162,2561,806,3990],"./Settings/Tokens/Index":[806,1146,3841,1861,2561,806],"./Sound/Index":[7158,7158],"./Torrent/Index":[7098,1146,1861,6777,1671,7098],"./Tts/Index":[2392,8946,2392],"./TtsGoogle/Index":[1526,8946,1526],"./TtsPicovoice/Index":[8191,8946,8191],"./TvSamsungWs/Index":[4387,4387],"./ZigbeeMqtt/Index":[7630,9769,5184,1146,1861,7630],"./Zwave/Index":[9313,9769,5184,1146,1861,3290,9313],"./ZwaveMqtt/Index":[5145,9769,5184,1146,1861,3290,5145]};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=7672,e.exports=d}}]);
//# sourceMappingURL=7896.5c34a4bf.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

@ -1,2 +1,2 @@
(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[945],{4272:function(e,s,t){"use strict";t.r(s),t.d(s,{default:function(){return I}});var r=t(641),a=t(33);function n(e,s,t,n,o,l){const d=(0,r.g2)("Loading"),i=(0,r.g2)("Widget"),u=(0,r.g2)("Row");return(0,r.uX)(),(0,r.CE)(r.FK,null,[o.loading?((0,r.uX)(),(0,r.Wv)(d,{key:0})):(0,r.Q3)("",!0),(0,r.Lk)("div",{id:"dashboard",class:(0,a.C4)(["col-12",l.classes]),style:(0,a.Tr)(o.style)},[((0,r.uX)(!0),(0,r.CE)(r.FK,null,(0,r.pI)(o.rows,((e,s)=>((0,r.uX)(),(0,r.Wv)(u,{key:s,class:(0,a.C4)(e.class),style:(0,a.Tr)(e.style)},{default:(0,r.k6)((()=>[((0,r.uX)(!0),(0,r.CE)(r.FK,null,(0,r.pI)(e.widgets,((e,s)=>((0,r.uX)(),(0,r.Wv)(r.PR,{key:s},[(0,r.bF)(i,{style:(0,a.Tr)(e.style),class:(0,a.C4)(e.class)},{default:(0,r.k6)((()=>[((0,r.uX)(),(0,r.Wv)((0,r.$y)(e.component),(0,r.v6)({ref_for:!0},l.getWidgetProps(e)),null,16))])),_:2},1032,["style","class"])],1024)))),128))])),_:2},1032,["class","style"])))),128))],6)],64)}var o=t(953),l=t(2002),d=t(9828);function i(e,s,t,n,o,l){return(0,r.uX)(),(0,r.CE)("div",{class:(0,a.C4)(["row",l.classes]),style:(0,a.Tr)(t.style)},[(0,r.RG)(e.$slots,"default",{},void 0,!0)],6)}var u={name:"Row",props:{class:{type:String,required:!1,default:""},style:{type:String,required:!1,default:""}},computed:{classes(){return this.class}}},c=t(6262);const p=(0,c.A)(u,[["render",i],["__scopeId","data-v-1b4663f2"]]);var h=p;function f(e,s,t,n,o,l){return(0,r.uX)(),(0,r.CE)("div",{style:(0,a.Tr)(t.style),class:(0,a.C4)(l.classes)},[(0,r.RG)(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 y=(0,c.A)(m,[["render",f],["__scopeId","data-v-5df52982"]]);var g=y,v={name:"Dashboard",mixins:[l.A],components:{Widget:g,Loading:d.A,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],a=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.IJ)((0,r.$V)((()=>t(3422)(`./${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 a.$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 b=(0,c.A)(v,[["render",n],["__scopeId","data-v-462fad8c"]]);var I=b},3422:function(e,s,t){var r={"./Calendar/Index":[5953,5953],"./Camera/Index":[3851,3851],"./Component/Index":[8466,9769,5184,8466],"./DateTime/Index":[1391,5788,1391],"./DateTimeWeather/Index":[3923,5188,5788,3923],"./ImageCarousel/Index":[5688,5188,5788,3307],"./Music/Index":[9426,5184,6157,9426],"./Plugin/Index":[7896,7896],"./RssNews/Index":[7222,7222],"./Weather/Index":[5188,5188]};function a(e){if(!t.o(r,e))return Promise.resolve().then((function(){var s=new Error("Cannot find module '"+e+"'");throw s.code="MODULE_NOT_FOUND",s}));var s=r[e],a=s[0];return Promise.all(s.slice(1).map(t.e)).then((function(){return t(a)}))}a.keys=function(){return Object.keys(r)},a.id=3422,e.exports=a}}]);
//# sourceMappingURL=dashboard.baaf75c5.js.map
//# sourceMappingURL=dashboard.37f23071.js.map

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[6966],{5071:function(e,t,s){s.r(t),s.d(t,{default:function(){return A}});var r=s(641),a=s(33);const i={key:1,class:"login-container"},n={class:"row"},o=["type","disabled"],l={class:"row"},d=["type","disabled"],u={key:0,class:"row"},c=["disabled"],h={key:1,class:"row"},p=["disabled"],k={class:"row buttons"},g=["disabled"],m={key:2,class:"auth-error"};function b(e,t,s,b,y,f){const w=(0,r.g2)("Loading");return y.initialized?((0,r.uX)(),(0,r.CE)("div",i,[y.isAuthenticated?(0,r.Q3)("",!0):((0,r.uX)(),(0,r.CE)("form",{key:0,class:"login",method:"POST",onSubmit:t[0]||(t[0]=(...e)=>f.submitForm&&f.submitForm(...e))},[t[1]||(t[1]=(0,r.Lk)("div",{class:"header"},[(0,r.Lk)("span",{class:"logo"},[(0,r.Lk)("img",{src:"/logo.svg",alt:"logo"})]),(0,r.Lk)("span",{class:"text"},"Platypush")],-1)),(0,r.Lk)("div",n,[(0,r.Lk)("label",null,[(0,r.Lk)("input",{type:y.requires2fa?"hidden":"text",name:"username",disabled:y.authenticating,placeholder:"Username",ref:"username"},null,8,o)])]),(0,r.Lk)("div",l,[(0,r.Lk)("label",null,[(0,r.Lk)("input",{type:y.requires2fa?"hidden":"password",name:"password",disabled:y.authenticating,placeholder:"Password"},null,8,d)])]),y.requires2fa?((0,r.uX)(),(0,r.CE)("div",u,[(0,r.Lk)("label",null,[(0,r.Lk)("input",{type:"text",name:"code",disabled:y.authenticating,placeholder:"2FA code",ref:"code"},null,8,c)])])):(0,r.Q3)("",!0),s.register?((0,r.uX)(),(0,r.CE)("div",h,[(0,r.Lk)("label",null,[(0,r.Lk)("input",{type:"password",name:"confirm_password",disabled:y.authenticating,placeholder:"Confirm password"},null,8,p)])])):(0,r.Q3)("",!0),(0,r.Lk)("div",k,[(0,r.Lk)("button",{type:"submit",class:(0,a.C4)(["btn btn-primary",{loading:y.authenticating}]),disabled:y.authenticating},[y.authenticating?((0,r.uX)(),(0,r.Wv)(w,{key:0})):(0,r.Q3)("",!0),(0,r.eW)(" "+(0,a.v_)(s.register?"Register":"Login"),1)],10,g)]),t[2]||(t[2]=(0,r.Lk)("div",{class:"row pull-right"},[(0,r.Lk)("label",{class:"checkbox"},[(0,r.Lk)("input",{type:"checkbox",name:"remember"}),(0,r.eW)("  Keep me logged in on this device   ")])],-1)),y.authError?((0,r.uX)(),(0,r.CE)("div",m,(0,a.v_)(y.authError),1)):(0,r.Q3)("",!0)],32))])):((0,r.uX)(),(0,r.Wv)(w,{key:0}))}var y=s(9828),f=s(2002),w=s(4335),L={name:"Login",mixins:[f.A],components:{Loading:y.A},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 w.A.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 w.A.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()}))}},v=s(6262);const E=(0,v.A)(L,[["render",b],["__scopeId","data-v-1b764fc6"]]);var A=E}}]);
//# sourceMappingURL=login.4c56ebe1.js.map
//# sourceMappingURL=login.3321c196.js.map

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[2178],{3554:function(n,u,t){t.r(u),t.d(u,{default:function(){return s}});var e=t(641);function r(n,u,t,r,a,c){return(0,e.uX)(),(0,e.CE)("h1",null,"Object not found")}var a={name:"NotFound"},c=t(6262);const o=(0,c.A)(a,[["render",r]]);var s=o}}]);
//# sourceMappingURL=notfound.0257d086.js.map
//# sourceMappingURL=notfound.baabd642.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/notfound.0257d086.js","mappings":"sNACEA,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.baabd642.js","mappings":"sNACEA,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":""}

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[8224,6966],{5071:function(e,t,r){r.r(t),r.d(t,{default:function(){return A}});var s=r(641),i=r(33);const a={key:1,class:"login-container"},n={class:"row"},o=["type","disabled"],u={class:"row"},l=["type","disabled"],d={key:0,class:"row"},c=["disabled"],h={key:1,class:"row"},p=["disabled"],g={class:"row buttons"},k=["disabled"],m={key:2,class:"auth-error"};function f(e,t,r,f,y,b){const v=(0,s.g2)("Loading");return y.initialized?((0,s.uX)(),(0,s.CE)("div",a,[y.isAuthenticated?(0,s.Q3)("",!0):((0,s.uX)(),(0,s.CE)("form",{key:0,class:"login",method:"POST",onSubmit:t[0]||(t[0]=(...e)=>b.submitForm&&b.submitForm(...e))},[t[1]||(t[1]=(0,s.Lk)("div",{class:"header"},[(0,s.Lk)("span",{class:"logo"},[(0,s.Lk)("img",{src:"/logo.svg",alt:"logo"})]),(0,s.Lk)("span",{class:"text"},"Platypush")],-1)),(0,s.Lk)("div",n,[(0,s.Lk)("label",null,[(0,s.Lk)("input",{type:y.requires2fa?"hidden":"text",name:"username",disabled:y.authenticating,placeholder:"Username",ref:"username"},null,8,o)])]),(0,s.Lk)("div",u,[(0,s.Lk)("label",null,[(0,s.Lk)("input",{type:y.requires2fa?"hidden":"password",name:"password",disabled:y.authenticating,placeholder:"Password"},null,8,l)])]),y.requires2fa?((0,s.uX)(),(0,s.CE)("div",d,[(0,s.Lk)("label",null,[(0,s.Lk)("input",{type:"text",name:"code",disabled:y.authenticating,placeholder:"2FA code",ref:"code"},null,8,c)])])):(0,s.Q3)("",!0),r.register?((0,s.uX)(),(0,s.CE)("div",h,[(0,s.Lk)("label",null,[(0,s.Lk)("input",{type:"password",name:"confirm_password",disabled:y.authenticating,placeholder:"Confirm password"},null,8,p)])])):(0,s.Q3)("",!0),(0,s.Lk)("div",g,[(0,s.Lk)("button",{type:"submit",class:(0,i.C4)(["btn btn-primary",{loading:y.authenticating}]),disabled:y.authenticating},[y.authenticating?((0,s.uX)(),(0,s.Wv)(v,{key:0})):(0,s.Q3)("",!0),(0,s.eW)(" "+(0,i.v_)(r.register?"Register":"Login"),1)],10,k)]),t[2]||(t[2]=(0,s.Lk)("div",{class:"row pull-right"},[(0,s.Lk)("label",{class:"checkbox"},[(0,s.Lk)("input",{type:"checkbox",name:"remember"}),(0,s.eW)("  Keep me logged in on this device   ")])],-1)),y.authError?((0,s.uX)(),(0,s.CE)("div",m,(0,i.v_)(y.authError),1)):(0,s.Q3)("",!0)],32))])):((0,s.uX)(),(0,s.Wv)(v,{key:0}))}var y=r(9828),b=r(2002),v=r(4335),w={name:"Login",mixins:[b.A],components:{Loading:y.A},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,r=new FormData(t),s="/auth?type="+(this.register?"register":"login");if(this.register&&r.get("password")!==r.get("confirm_password"))this.authError="Passwords don't match";else{this.authError=null;try{const e=await v.A.post(s,r),t=e?.data?.session_token;if(t){const r=e.expires_at?Date.parse(e.expires_at):null;this.isAuthenticated=!0,this.setCookie("session_token",t,{expires:r}),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 v.A.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()}))}},L=r(6262);const E=(0,L.A)(w,[["render",f],["__scopeId","data-v-1b764fc6"]]);var A=E},3036:function(e,t,r){r.r(t),r.d(t,{default:function(){return l}});var s=r(641);function i(e,t,r,i,a,n){const o=(0,s.g2)("Login");return(0,s.uX)(),(0,s.Wv)(o,{register:!0})}var a=r(5071),n={name:"Register",mixins:[a["default"]],components:{Login:a["default"]},props:{register:{type:Boolean,required:!1,default:!0}}},o=r(6262);const u=(0,o.A)(n,[["render",i]]);var l=u}}]);
//# sourceMappingURL=register.9546fac2.js.map
//# sourceMappingURL=register.99f2fa7a.js.map