homebridge-config-ui-x 5.0.0-beta.76 → 5.0.0-beta.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/dist/modules/server/server.controller.d.ts +5 -1
  3. package/dist/modules/server/server.controller.js +43 -2
  4. package/dist/modules/server/server.controller.js.map +1 -1
  5. package/dist/modules/server/server.service.d.ts +2 -0
  6. package/dist/modules/server/server.service.js +16 -0
  7. package/dist/modules/server/server.service.js.map +1 -1
  8. package/package.json +1 -1
  9. package/public/{chunk-5W6SCDV6.js → chunk-25ISVLXC.js} +1 -1
  10. package/public/{chunk-DONFV37G.js → chunk-2MSFZNDZ.js} +1 -1
  11. package/public/{chunk-OVVOFARC.js → chunk-2UWTSMX3.js} +1 -1
  12. package/public/{chunk-FPB7CGNC.js → chunk-2ZEWMLQG.js} +1 -1
  13. package/public/{chunk-ZHNSZ7X2.js → chunk-37FVXLTH.js} +1 -1
  14. package/public/{chunk-6A5CZTWZ.js → chunk-3S5DXXOF.js} +1 -1
  15. package/public/{chunk-ZRQ5KKRJ.js → chunk-3TQRIWPA.js} +1 -1
  16. package/public/chunk-3YH76G4Q.js +1 -0
  17. package/public/chunk-4AUMYN6J.js +1 -0
  18. package/public/{chunk-U6S6F3SC.js → chunk-4VIXAFH5.js} +1 -1
  19. package/public/{chunk-SB7IBDLB.js → chunk-55BN66AX.js} +1 -1
  20. package/public/{chunk-GKWVMOET.js → chunk-5X2MRBQA.js} +1 -1
  21. package/public/{chunk-ETPKWO5V.js → chunk-6FASN3MD.js} +1 -1
  22. package/public/{chunk-3HFD5GJN.js → chunk-6HKI724F.js} +1 -1
  23. package/public/{chunk-5BL6PCNR.js → chunk-7GYDUXMU.js} +1 -1
  24. package/public/{chunk-7S7G7E6P.js → chunk-7TVHJ2GH.js} +1 -1
  25. package/public/chunk-AWO5LOJT.js +1 -0
  26. package/public/{chunk-5NGLQJJS.js → chunk-C375S7ZB.js} +1 -1
  27. package/public/{chunk-PWSUWMHH.js → chunk-CQ242CGY.js} +1 -1
  28. package/public/{chunk-CNVA3LLU.js → chunk-CZLQGA7E.js} +1 -1
  29. package/public/{chunk-V2SMMSMC.js → chunk-DG3NLZF3.js} +1 -1
  30. package/public/chunk-DGB4Z6YE.js +1 -0
  31. package/public/{chunk-2VTMBAA3.js → chunk-EP6Z6H7W.js} +1 -1
  32. package/public/{chunk-A3GH5UM5.js → chunk-EPVBHJMO.js} +1 -1
  33. package/public/{chunk-OOXWGEYZ.js → chunk-ESOONFXO.js} +1 -1
  34. package/public/{chunk-DTEN7TFT.js → chunk-GJSBDQUE.js} +1 -1
  35. package/public/{chunk-HVJ23MRE.js → chunk-HOS4YIX7.js} +1 -1
  36. package/public/chunk-I3CUYGV7.js +1 -0
  37. package/public/{chunk-Z3ALWMOS.js → chunk-IBU5YEEM.js} +1 -1
  38. package/public/{chunk-XH4RYJ6Y.js → chunk-IEZW2VEP.js} +1 -1
  39. package/public/chunk-IMOI4TFW.js +1 -0
  40. package/public/{chunk-ILUFFLLG.js → chunk-JOVQADHI.js} +1 -1
  41. package/public/{chunk-T6FL3CCM.js → chunk-KXCGRB3G.js} +1 -1
  42. package/public/{chunk-GSNP5K6X.js → chunk-LHN4UAQA.js} +1 -1
  43. package/public/{chunk-BW24SUSK.js → chunk-LNYT3SKC.js} +1 -1
  44. package/public/{chunk-6ROJUYIC.js → chunk-M2R6QPFI.js} +1 -1
  45. package/public/chunk-MTQTKA5O.js +1 -0
  46. package/public/chunk-NMIYLSIZ.js +1 -0
  47. package/public/chunk-OC33GC55.js +1 -0
  48. package/public/chunk-PGKEDZHN.js +1 -0
  49. package/public/{chunk-LUWQZ3SC.js → chunk-PZKA3UJH.js} +1 -1
  50. package/public/chunk-PZUTTO4V.js +1 -0
  51. package/public/chunk-QIFR6XR6.js +1 -0
  52. package/public/{chunk-MYN3AAWO.js → chunk-QIV7YSY4.js} +1 -1
  53. package/public/chunk-QQOK3KJT.js +1 -0
  54. package/public/{chunk-IP3KHS2K.js → chunk-S54GY5PX.js} +1 -1
  55. package/public/{chunk-TCJEY6SZ.js → chunk-SBMAEWZL.js} +1 -1
  56. package/public/{chunk-UHL5ARSB.js → chunk-SGZRBB5V.js} +1 -1
  57. package/public/{chunk-J4USS3TJ.js → chunk-SOF2B4MD.js} +1 -1
  58. package/public/{chunk-3TXWUXFU.js → chunk-SX6UWGJ4.js} +1 -1
  59. package/public/{chunk-4RLAAHQO.js → chunk-TE7XO5CJ.js} +1 -1
  60. package/public/{chunk-GFBM6MCU.js → chunk-UFV3R2Q7.js} +1 -1
  61. package/public/chunk-VEN3Q2Q4.js +1 -0
  62. package/public/{chunk-2UMHCTKQ.js → chunk-VS5PRHN6.js} +1 -1
  63. package/public/{chunk-G43HU5Q5.js → chunk-WP2UTBVE.js} +1 -1
  64. package/public/chunk-WTFNIBFS.js +1 -0
  65. package/public/{chunk-66WXYXRV.js → chunk-XPN5TMQN.js} +1 -1
  66. package/public/chunk-YKWTDK3T.js +1 -0
  67. package/public/{chunk-3KEKNJHK.js → chunk-Z7KU3HYE.js} +1 -1
  68. package/public/{chunk-WNQ3ZPRR.js → chunk-ZSBJ7N3G.js} +1 -1
  69. package/public/index.html +1 -1
  70. package/public/main-QPGMWLZX.js +1 -0
  71. package/public/chunk-2IFXAVZX.js +0 -1
  72. package/public/chunk-2LXRWE65.js +0 -1
  73. package/public/chunk-2WSC6B2N.js +0 -1
  74. package/public/chunk-4PXS64Y6.js +0 -1
  75. package/public/chunk-BCSWG6SE.js +0 -1
  76. package/public/chunk-CX3YFWUG.js +0 -1
  77. package/public/chunk-CZCRTSM7.js +0 -1
  78. package/public/chunk-HLYXUMFJ.js +0 -1
  79. package/public/chunk-ILS4HCUL.js +0 -1
  80. package/public/chunk-IZSJEHPY.js +0 -1
  81. package/public/chunk-S7QXG5F2.js +0 -1
  82. package/public/chunk-T34MBGSG.js +0 -1
  83. package/public/chunk-WXKGTM52.js +0 -1
  84. package/public/chunk-X63C4XBV.js +0 -1
  85. package/public/chunk-YXX7ION6.js +0 -1
  86. package/public/chunk-Z26UR5NK.js +0 -1
  87. package/public/main-RD7O64IM.js +0 -1
@@ -1,4 +1,4 @@
1
- import{a as b}from"./chunk-Q7VA22QV.js";import{a as p,b as w}from"./chunk-YXEV6KOV.js";import{a as c}from"./chunk-XH4RYJ6Y.js";import{M as i,g as o,ga as m,la as h,n}from"./chunk-U4V4ICSI.js";var d=o(p(),1),a=o(w(),1),l=o(b(),1);var v=(()=>{class e{$ws=h(c);term;io;fitAddon;webLinksAddon;resize;elementResize;constructor(){}destroyTerminal(){this.io.end(),this.term.dispose(),this.resize.complete(),this.elementResize&&this.elementResize.complete()}startTerminal(r,s={},f){this.elementResize=f,this.io=this.$ws.connectToNamespace("platform-tools/terminal"),this.term=new d.Terminal(s),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new a.FitAddon,this.webLinksAddon=new l.WebLinksAddon,this.resize=new n,this.term.open(r.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.pipe(i(200)).subscribe(()=>{this.startSession()}),this.io.socket.on("disconnect",()=>{this.term.write(`
1
+ import{a as b}from"./chunk-Q7VA22QV.js";import{a as p,b as w}from"./chunk-YXEV6KOV.js";import{a as c}from"./chunk-IEZW2VEP.js";import{M as i,g as o,ga as m,la as h,n}from"./chunk-U4V4ICSI.js";var d=o(p(),1),a=o(w(),1),l=o(b(),1);var v=(()=>{class e{$ws=h(c);term;io;fitAddon;webLinksAddon;resize;elementResize;constructor(){}destroyTerminal(){this.io.end(),this.term.dispose(),this.resize.complete(),this.elementResize&&this.elementResize.complete()}startTerminal(r,s={},f){this.elementResize=f,this.io=this.$ws.connectToNamespace("platform-tools/terminal"),this.term=new d.Terminal(s),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new a.FitAddon,this.webLinksAddon=new l.WebLinksAddon,this.resize=new n,this.term.open(r.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.pipe(i(200)).subscribe(()=>{this.startSession()}),this.io.socket.on("disconnect",()=>{this.term.write(`
2
2
  \r
3
3
  \rTerminal disconnected. Is the server running?
4
4
  \r
@@ -1,4 +1,4 @@
1
- import{a as P}from"./chunk-CHQVUHUA.js";import{a as O}from"./chunk-XZR7OZ6I.js";import{c as y,e as E,l as k,z as $}from"./chunk-HLSZVFAU.js";import{b as D}from"./chunk-QR7L4UUP.js";import{b as L}from"./chunk-G43HU5Q5.js";import{h as I,k as H}from"./chunk-ZHNSZ7X2.js";import{a as T}from"./chunk-DJKI5XBW.js";import{$a as s,Hb as d,Ib as m,Nb as f,Ob as u,Pb as l,Qb as w,Ub as g,Xb as _,Yb as a,h as S,jc as v,la as r,lb as x,qc as b,ra as c,rc as M,sa as p,sc as V,w as C}from"./chunk-U4V4ICSI.js";function z(i,h){i&1&&w(0,"i",6)}function A(i,h){i&1&&w(0,"i",7)}function F(i,h){if(i&1){let t=g();u(0,"ngx-monaco-editor",10),_("onInit",function(e){c(t);let o=a();return p(o.onEditorInit(e))})("keydown.control.s",function(e){c(t);let o=a();return e.preventDefault(),p(o.onSave())})("keydown.meta.s",function(e){c(t);let o=a();return e.preventDefault(),p(o.onSave())}),l()}if(i&2){let t=a();f("options",t.editorOptions)("model",t.monacoEditorModel)}}function W(i,h){if(i&1){let t=g();u(0,"textarea",11),V("ngModelChange",function(e){c(t);let o=a();return M(o.startupScript,e)||(o.startupScript=e),p(e)}),v(1," "),l()}if(i&2){let t=a();b("ngModel",t.startupScript)}}var tt=(()=>{class i{$api=r(H);$md=r(O);$route=r(D);$settings=r(L);$toastr=r(I);$translate=r(T);startupScript;saveInProgress;isMobile=!1;options={printMargin:!1};monacoEditor;editorOptions;monacoEditorModel;lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"shell",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0},this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.$route.data.subscribe(t=>{this.startupScript=t.startupScript.script}),this.monacoEditorModel={value:"",language:"shell"}}onEditorInit(t){this.monacoEditor=t,this.monacoEditor.getModel().setValue(this.startupScript)}onSave(){return S(this,null,function*(){if(!this.saveInProgress){if(this.saveInProgress=!0,this.isMobile||(yield this.monacoEditor.getAction("editor.action.formatDocument").run(),this.startupScript=this.monacoEditor.getModel().getValue()),!["#!/bin/sh","#!/bin/bash"].includes(this.startupScript.split(`
1
+ import{a as P}from"./chunk-CHQVUHUA.js";import{a as O}from"./chunk-XZR7OZ6I.js";import{c as y,e as E,l as k,z as $}from"./chunk-HLSZVFAU.js";import{b as D}from"./chunk-QR7L4UUP.js";import{b as L}from"./chunk-WP2UTBVE.js";import{h as I,k as H}from"./chunk-37FVXLTH.js";import{a as T}from"./chunk-DJKI5XBW.js";import{$a as s,Hb as d,Ib as m,Nb as f,Ob as u,Pb as l,Qb as w,Ub as g,Xb as _,Yb as a,h as S,jc as v,la as r,lb as x,qc as b,ra as c,rc as M,sa as p,sc as V,w as C}from"./chunk-U4V4ICSI.js";function z(i,h){i&1&&w(0,"i",6)}function A(i,h){i&1&&w(0,"i",7)}function F(i,h){if(i&1){let t=g();u(0,"ngx-monaco-editor",10),_("onInit",function(e){c(t);let o=a();return p(o.onEditorInit(e))})("keydown.control.s",function(e){c(t);let o=a();return e.preventDefault(),p(o.onSave())})("keydown.meta.s",function(e){c(t);let o=a();return e.preventDefault(),p(o.onSave())}),l()}if(i&2){let t=a();f("options",t.editorOptions)("model",t.monacoEditorModel)}}function W(i,h){if(i&1){let t=g();u(0,"textarea",11),V("ngModelChange",function(e){c(t);let o=a();return M(o.startupScript,e)||(o.startupScript=e),p(e)}),v(1," "),l()}if(i&2){let t=a();b("ngModel",t.startupScript)}}var tt=(()=>{class i{$api=r(H);$md=r(O);$route=r(D);$settings=r(L);$toastr=r(I);$translate=r(T);startupScript;saveInProgress;isMobile=!1;options={printMargin:!1};monacoEditor;editorOptions;monacoEditorModel;lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"shell",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0},this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.$route.data.subscribe(t=>{this.startupScript=t.startupScript.script}),this.monacoEditorModel={value:"",language:"shell"}}onEditorInit(t){this.monacoEditor=t,this.monacoEditor.getModel().setValue(this.startupScript)}onSave(){return S(this,null,function*(){if(!this.saveInProgress){if(this.saveInProgress=!0,this.isMobile||(yield this.monacoEditor.getAction("editor.action.formatDocument").run(),this.startupScript=this.monacoEditor.getModel().getValue()),!["#!/bin/sh","#!/bin/bash"].includes(this.startupScript.split(`
2
2
  `)[0].trim())){this.$toastr.error(this.$translate.instant("platform.docker.must_use_hashbang"),this.$translate.instant("toast.title_error")),this.startupScript=`#!/bin/sh
3
3
 
4
4
  ${this.startupScript}`,this.isMobile||this.monacoEditor.getModel().setValue(this.startupScript),this.saveInProgress=!1;return}try{yield C(this.$api.put("/platform-tools/docker/startup-script",{script:this.startupScript})),this.$toastr.success(this.$translate.instant("platform.docker.restart_required"),this.$translate.instant("platform.docker.script_saved"))}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}visualViewPortChanged(){this.lastHeight<window.visualViewport.height&&document.activeElement.blur(),window.visualViewport.height<window.innerHeight?(this.$md.enableTouchMove(),this.lastHeight=window.visualViewport.height):window.visualViewport.height===window.innerHeight&&(this.$md.disableTouchMove(),this.lastHeight=window.visualViewport.height)}ngOnDestroy(){window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove()),this.monacoEditor&&this.monacoEditor.dispose()}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=x({type:i,selectors:[["ng-component"]],decls:11,vars:5,consts:[[1,"flex-column","d-flex","align-items-stretch","h-100"],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0","font-monospace"],[1,"col-6","text-end"],[1,"btn","btn-primary","waves-effect","m-0",3,"click","disabled"],[1,"fas","fa-fw","fa-floppy-disk"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"flex-grow-1","h-100","w-100","my-2",3,"options","model"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-2",3,"ngModel"],[1,"flex-grow-1","h-100","w-100","my-2",3,"onInit","keydown.control.s","keydown.meta.s","options","model"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-2",3,"ngModelChange","ngModel"]],template:function(n,e){n&1&&(u(0,"div",0)(1,"div",1)(2,"div",2)(3,"h3",3),v(4,"startup.sh"),l()(),u(5,"div",4)(6,"button",5),_("click",function(){return e.onSave()}),d(7,z,1,0,"i",6),d(8,A,1,0,"i",7),l()()(),d(9,F,1,2,"ngx-monaco-editor",8),d(10,W,2,1,"textarea",9),l()),n&2&&(s(6),f("disabled",e.saveInProgress),s(),m(e.saveInProgress?-1:7),s(),m(e.saveInProgress?8:-1),s(),m(e.isMobile?-1:9),s(),m(e.isMobile?10:-1))},dependencies:[P,$,y,E,k],encapsulation:2})}return i})();export{tt as a};
@@ -1 +1 @@
1
- import{a as h}from"./chunk-TCJEY6SZ.js";import{b}from"./chunk-DJKI5XBW.js";import{$a as s,Ac as w,Bc as y,Lc as T,Ob as r,Pb as o,Qb as c,Xb as u,_a as l,dc as p,ec as f,jc as v,kc as g,la as a,lb as d,n as m}from"./chunk-U4V4ICSI.js";var C=["terminaloutput"],k=(()=>{class t{$terminal=a(h);termTarget=T("terminaloutput");resizeEvent=new m;constructor(){}onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$terminal.startTerminal(this.termTarget(),{},this.resizeEvent),this.$terminal.term.focus()}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$terminal.destroyTerminal()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=d({type:t,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&p(n.termTarget,C,5),e&2&&f()},hostBindings:function(e,n){e&1&&u("resize",function(x){return n.onWindowResize(x)},l)},decls:8,vars:3,consts:[["terminaloutput",""],[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","docker-terminal",1,"align-self-end","w-100","h-100","mb-1"]],template:function(e,n){e&1&&(r(0,"div",1)(1,"div",2)(2,"h3",3),v(3),w(4,"translate"),o()()(),r(5,"div",4),c(6,"div",5,0),o()),e&2&&(s(3),g(y(4,1,"menu.linux.label_terminal")))},dependencies:[b],encapsulation:2})}return t})();export{k as a};
1
+ import{a as h}from"./chunk-SBMAEWZL.js";import{b}from"./chunk-DJKI5XBW.js";import{$a as s,Ac as w,Bc as y,Lc as T,Ob as r,Pb as o,Qb as c,Xb as u,_a as l,dc as p,ec as f,jc as v,kc as g,la as a,lb as d,n as m}from"./chunk-U4V4ICSI.js";var C=["terminaloutput"],k=(()=>{class t{$terminal=a(h);termTarget=T("terminaloutput");resizeEvent=new m;constructor(){}onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$terminal.startTerminal(this.termTarget(),{},this.resizeEvent),this.$terminal.term.focus()}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$terminal.destroyTerminal()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=d({type:t,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&p(n.termTarget,C,5),e&2&&f()},hostBindings:function(e,n){e&1&&u("resize",function(x){return n.onWindowResize(x)},l)},decls:8,vars:3,consts:[["terminaloutput",""],[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","docker-terminal",1,"align-self-end","w-100","h-100","mb-1"]],template:function(e,n){e&1&&(r(0,"div",1)(1,"div",2)(2,"h3",3),v(3),w(4,"translate"),o()()(),r(5,"div",4),c(6,"div",5,0),o()),e&2&&(s(3),g(y(4,1,"menu.linux.label_terminal")))},dependencies:[b],encapsulation:2})}return t})();export{k as a};
@@ -1 +1 @@
1
- import{a as te}from"./chunk-JMCN2SQV.js";import{a as Z,b as ee}from"./chunk-YXEV6KOV.js";import{m as E,n as I,o as q}from"./chunk-7S2SCSTB.js";import{a as J}from"./chunk-XH4RYJ6Y.js";import{d as G}from"./chunk-QR7L4UUP.js";import{h as M,k as D}from"./chunk-ZHNSZ7X2.js";import{c as O,d as U}from"./chunk-ASBFWS7L.js";import{a as R,b as F}from"./chunk-DJKI5XBW.js";import{$a as i,Ac as s,Bc as l,Cc as y,Gb as g,Hb as u,Ib as _,Kb as A,Lb as N,Mb as W,Nb as b,Ob as r,Pb as a,Qb as m,Ub as T,Xb as h,Yb as d,bd as H,g as P,h as $,id as j,jc as c,kc as f,la as C,lb as S,lc as x,ra as v,sa as B,wc as w,xc as z}from"./chunk-U4V4ICSI.js";var V=P(te(),1);var L=P(Z(),1),Q=P(ee(),1);var ne=t=>({maxBackupSizeText:t});function ae(t,p){if(t&1&&m(0,"input",10),t&2){let e=d(2);b("value",e.selectedBackup.fileName)}}function oe(t,p){if(t&1){let e=T();r(0,"input",12),h("change",function(o){v(e);let k=d(2);return B(k.handleRestoreFileInput(o.target.files))}),a()}}function re(t,p){if(t&1&&(r(0,"div",4)(1,"div",7),m(2,"i",8),a(),r(3,"ul",9)(4,"li"),c(5),s(6,"translate"),a(),r(7,"li"),c(8),s(9,"translate"),a(),r(10,"li"),c(11),s(12,"translate"),a(),r(13,"li"),c(14),s(15,"translate"),a()(),u(16,ae,1,1,"input",10),u(17,oe,1,0,"input",11),a()),t&2){let e=d();i(5),f(l(6,6,"backup.restore_help_one")),i(3),f(l(9,8,"backup.restore_help_two")),i(3),f(y(12,10,"backup.restore_max_size",w(15,ne,e.maxFileSizeText))),i(3),f(l(15,13,"backup.restore_warning")),i(2),_(e.selectedBackup?16:-1),i(),_(e.selectedBackup?-1:17)}}function se(t,p){if(t&1){let e=T();r(0,"button",18),s(1,"translate"),h("click",function(){v(e);let o=d(2);return B(o.$activeModal.dismiss("Dismiss"))}),c(2),s(3,"translate"),a()}if(t&2){let e=d(2);b("disabled",e.clicked),g("aria-label",l(1,3,"form.button_close")),i(2),x(" ",l(3,5,"form.button_close")," ")}}function le(t,p){if(t&1){let e=T();r(0,"button",18),s(1,"translate"),h("click",function(){v(e);let o=d(2);return B(o.reopenBackupModal())}),c(2),s(3,"translate"),a()}if(t&2){let e=d(2);b("disabled",e.clicked),g("aria-label",l(1,3,"form.button_back")),i(2),x(" ",l(3,5,"form.button_back")," ")}}function ce(t,p){t&1&&m(0,"i",19)}function pe(t,p){if(t&1&&(r(0,"span"),c(1),a()),t&2){let e=d(3);i(),x("",e.uploadPercent,"% - ")}}function de(t,p){t&1&&(r(0,"span"),c(1," Extracting Archive"),a())}function me(t,p){t&1&&(r(0,"span"),c(1),s(2,"translate"),a()),t&2&&(i(),x(" ",l(2,1,"backup.label_uploading")))}function ue(t,p){if(t&1&&(r(0,"span"),u(1,ce,1,0,"i",19),u(2,pe,2,1,"span"),u(3,de,2,0,"span"),u(4,me,3,3,"span"),a()),t&2){let e=d(2);i(),_(!e.uploadPercent||e.uploadPercent===100?1:-1),i(),_(e.uploadPercent&&e.uploadPercent!==100?2:-1),i(),_(e.uploadPercent===100?3:-1),i(),_(e.uploadPercent!==100?4:-1)}}function _e(t,p){t&1&&(c(0),s(1,"translate")),t&2&&x(" ",l(1,1,"form.button_restore")," ")}function be(t,p){if(t&1){let e=T();r(0,"div",6)(1,"div",13),u(2,se,4,7,"button",14),u(3,le,4,7,"button",14),a(),m(4,"div",15),r(5,"div",16)(6,"button",17),h("click",function(){v(e);let o=d();return B(o.onRestoreBackupClick())}),u(7,ue,5,4,"span"),u(8,_e,2,3),a()()()}if(t&2){let e=d();i(2),_(e.setupWizardRestore?2:-1),i(),_(e.setupWizardRestore?-1:3),i(3),b("disabled",!e.selectedBackup&&!e.selectedFile||e.clicked),i(),_(e.clicked?7:-1),i(),_(e.clicked?-1:8)}}function ke(t,p){if(t&1){let e=T();r(0,"div",6),m(1,"div",13),r(2,"div",15)(3,"button",20),h("click",function(){v(e);let o=d();return B(o.postBackupRestart())}),c(4),s(5,"translate"),a()(),m(6,"div",16),a()}t&2&&(i(4),x(" ",l(5,1,"menu.hbrestart.title")," "))}var X=(()=>{class t{$activeModal=C(E);$api=C(D);$modal=C(I);$route=C(G);$toastr=C(M);$translate=C(R);$ws=C(J);setupWizardRestore=!1;selectedBackup=null;clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;restoreInProgress=!1;restoreStarted=!1;restoreFailed=!1;restoreArchiveType="homebridge";uploadPercent=0;term=new L.Terminal;termTarget;fitAddon=new Q.FitAddon;io;constructor(){}ngOnInit(){return $(this,null,function*(){this.io=this.$ws.connectToNamespace("backup"),this.termTarget=document.getElementById("plugin-log-output"),this.term.open(this.termTarget),this.fitAddon.fit(),this.io.socket.on("stdout",e=>{this.term.write(e)}),this.setupWizardRestore&&(this.restoreStarted=!0,this.restoreInProgress=!0,this.startRestore())})}onRestoreBackupClick(){this.selectedBackup?this.restoreScheduledBackup():this.restoreArchiveType==="homebridge"?this.uploadHomebridgeArchive():this.restoreArchiveType==="hbfx"&&this.uploadHbfxArchive()}uploadHomebridgeArchive(){this.term.reset(),this.clicked=!0;let e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore",e).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:n=>{console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})}restoreScheduledBackup(){return $(this,null,function*(){this.term.reset(),this.clicked=!0,this.$api.post(`/backup/scheduled-backups/${this.selectedBackup.id}/restore`,{}).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:e=>{console.error(e),this.$toastr.error(e.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})})}startRestore(){return $(this,null,function*(){this.io.request("do-restore").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success")),this.setupWizardRestore&&this.postBackupRestart()},error:e=>{this.restoreFailed=!0,console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}uploadHbfxArchive(){this.term.reset(),this.clicked=!0;let e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore/hbfx",e,{reportProgress:!0,observe:"events"}).subscribe({next:n=>{n.type===O.UploadProgress?this.uploadPercent=Math.round(100*n.loaded/n.total):n instanceof U&&(this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startHbfxRestore()},500),this.clicked=!1)},error:n=>{this.clicked=!1,console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})}startHbfxRestore(){return $(this,null,function*(){this.io.request("do-restore-hbfx").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success"))},error:e=>{this.restoreFailed=!0,console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}handleRestoreFileInput(e){e.length?(this.selectedFile=e[0],this.selectedFile.name.endsWith(".hbfx")?this.restoreArchiveType="hbfx":this.restoreArchiveType="homebridge"):delete this.selectedFile}postBackupRestart(){this.$api.put("/backup/restart",{}).subscribe({next:()=>{this.$activeModal.close(!0),this.$route.navigate(["/"])},error:()=>{}})}reopenBackupModal(){this.$activeModal.dismiss(),this.$modal.open(K,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.io.end()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=S({type:t,selectors:[["ng-component"]],inputs:{setupWizardRestore:"setupWizardRestore",selectedBackup:"selectedBackup"},decls:11,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],["id","plugin-log-output",1,"modal-body",3,"hidden"],[1,"modal-footer","justify-content-between"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","text","disabled","",1,"form-control","custom-input",3,"value"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"form-control"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"form-control",3,"change"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"fa","fa-fw","fa-circle-notch","fa-spin"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(n,o){n&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),c(3),s(4,"translate"),a(),r(5,"button",3),s(6,"translate"),h("click",function(){return o.$activeModal.dismiss("Dismiss")}),a()(),u(7,re,18,17,"div",4),m(8,"div",5),u(9,be,9,5,"div",6),u(10,ke,7,3,"div",6),a()),n&2&&(i(3),f(l(4,7,"backup.title_backup")),i(2),b("disabled",o.restoreInProgress),g("aria-label",l(6,9,"form.button_close")),i(2),_(!o.restoreStarted&&!o.setupWizardRestore?7:-1),i(),b("hidden",!o.restoreStarted),i(),_(!o.restoreStarted||o.restoreFailed===!0?9:-1),i(),_(!o.restoreInProgress&&o.restoreStarted?10:-1))},dependencies:[F],encapsulation:2})}return t})();var fe=(t,p)=>({"fa-arrow-right":t,"fa-cog fa-spin":p}),he=t=>({backupTime:t,dayCount:7}),xe=(t,p)=>({"fa-trash":t,"fa-cog fa-spin":p}),Ce=(t,p)=>({backupSize:t,maxBackupSizeText:p});function ge(t,p){if(t&1&&(c(0),s(1,"date"),s(2,"translate")),t&2){let e=d(2);x(" ",y(2,4,"backup.scheduled_backup_time",w(7,he,y(1,1,e.backupTime,"shortTime")))," ")}}function ve(t,p){t&1&&(c(0),s(1,"translate")),t&2&&x(" ",l(1,1,"backup.scheduled_backup_disabled")," ")}function Be(t,p){if(t&1&&(r(0,"span",24),s(1,"translate"),m(2,"i",31),c(3),a()),t&2){let e=d().$implicit;b("ngbTooltip",y(1,2,"backup.backup_exceeds_max_size",z(5,Ce,e.size+"MB",e.maxBackupSizeText))),i(3),x(" ",e.size,"MB ")}}function Te(t,p){if(t&1&&(r(0,"span"),c(1),a()),t&2){let e=d().$implicit;i(),x(" ",e.size,"MB ")}}function ye(t,p){if(t&1){let e=T();r(0,"li",9)(1,"span")(2,"span",23),c(3),s(4,"date"),a(),m(5,"br"),r(6,"small",10),c(7),s(8,"date"),u(9,Be,4,8,"span",24),u(10,Te,2,1,"span"),a()(),r(11,"span",25)(12,"button",26),s(13,"translate"),s(14,"translate"),h("click",function(){let o=v(e).$implicit,k=d(2);return B(k.restore(o))}),m(15,"i",27),a(),r(16,"button",28),s(17,"translate"),s(18,"translate"),h("click",function(){let o=v(e).$implicit,k=d(2);return B(k.download(o))}),m(19,"i",29),a(),r(20,"button",30),s(21,"translate"),s(22,"translate"),h("click",function(){let o=v(e).$implicit,k=d(2);return B(k.delete(o))}),m(23,"i",12),a()()()}if(t&2){let e=p.$implicit,n=d(2);i(2),b("ngbTooltip",e.fileName),i(),x(" ",y(4,15,e.timestamp,"mediumDate")," "),i(4),x(" ",y(8,18,e.timestamp,"shortTime")," \xB7 "),i(2),_(e.size>e.maxBackupSize?9:-1),i(),_(e.size<=e.maxBackupSize?10:-1),i(2),b("disabled",n.clicked||n.deleting||e.size>e.maxBackupSize)("ngbTooltip",l(13,21,"form.button_restore")),g("aria-label",l(14,23,"form.button_restore")),i(4),b("disabled",n.clicked||n.deleting)("ngbTooltip",l(17,25,"form.button_download")),g("aria-label",l(18,27,"form.button_download")),i(4),b("disabled",n.clicked||n.deleting)("ngbTooltip",l(21,29,"form.button_delete")),g("aria-label",l(22,31,"form.button_delete")),i(3),b("ngClass",z(33,xe,e.id!==n.deleting,e.id===n.deleting))}}function $e(t,p){if(t&1&&(r(0,"ul",14)(1,"li",20)(2,"h6",21),c(3),s(4,"translate"),a(),r(5,"p",22),u(6,ge,3,9),u(7,ve,2,3),a()(),N(8,ye,24,36,"li",9,A),a()),t&2){let e=d();i(3),f(l(4,3,"backup.files_auto")),i(3),_(e.backupTime?6:-1),i(),_(e.backupTime?-1:7),i(),W(e.scheduledBackups)}}var K=(()=>{class t{$activeModal=C(E);$api=C(D);$modal=C(I);$toastr=C(M);$translate=C(R);clicked=!1;scheduledBackups=[];backupTime;deleting=null;constructor(){}ngOnInit(){this.getScheduledBackups(),this.getNextBackup()}getScheduledBackups(){this.$api.get("/backup/scheduled-backups").subscribe({next:e=>{this.scheduledBackups=e},error:e=>console.error(e)})}getNextBackup(){this.$api.get("/backup/scheduled-backups/next").subscribe({next:e=>{this.backupTime=e.next},error:e=>{console.error(e)}})}download(e){this.$api.get(`/backup/scheduled-backups/${e.id}`,{observe:"response",responseType:"blob"}).subscribe({next:n=>{let o=e.fileName||"homebridge-backup.tar.gz",k=n.body.size;if(k>globalThis.backup.maxBackupSize){let Y=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(k/1048576).toFixed(1)}MB`});this.$toastr.warning(Y,this.$translate.instant("toast.title_warning"))}(0,V.saveAs)(n.body,o)},error:n=>{console.error(n),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})}restore(e){this.$activeModal.close();let n=this.$modal.open(X,{size:"lg",backdrop:"static"});n.componentInstance.selectedBackup=e}delete(e){this.deleting=e.id,this.$api.delete(`/backup/scheduled-backups/${e.id}`).subscribe({next:()=>{this.getScheduledBackups(),this.deleting=null},error:n=>{this.deleting=null,console.error(n),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"))}})}onDownloadBackupClick(){return $(this,null,function*(){this.clicked=!0,this.$api.get("/backup/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{let n=e.headers.get("File-Name")||"homebridge-backup.tar.gz";this.clicked=!1;let o=e.body.size;if(o>globalThis.backup.maxBackupSize){let k=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(o/1048576).toFixed(1)}MB`});this.$toastr.warning(k,this.$translate.instant("toast.title_warning"))}(0,V.saveAs)(e.body,n)},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})})}Date=Date;static \u0275fac=function(n){return new(n||t)};static \u0275cmp=S({type:t,selectors:[["ng-component"]],decls:53,vars:45,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"btn","btn-primary","m-0","ms-3",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"],[1,"fas","fa-fw","fa-arrow-right"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-end"],[1,"list-group-item"],[1,"mb-1","text-center"],[1,"small","grey-text","mb-0","text-center"],["container","modal","openDelay","150","triggers","hover",3,"ngbTooltip"],["container","modal","openDelay","150","triggers","hover",1,"red-text",3,"ngbTooltip"],[2,"display","flex","flex-wrap","nowrap"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","m-0","ms-3",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-history"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","m-0","ms-2",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","m-0","ms-2",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-exclamation-circle"]],template:function(n,o){n&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),c(3),s(4,"translate"),a(),r(5,"button",3),s(6,"translate"),h("click",function(){return o.$activeModal.dismiss("Dismiss")}),a()(),r(7,"div",4)(8,"div",5),m(9,"i",6),a(),r(10,"ul",7)(11,"li"),c(12),s(13,"translate"),a(),r(14,"li"),c(15),s(16,"translate"),a(),r(17,"li"),c(18),s(19,"translate"),a()(),r(20,"ul",8)(21,"li",9)(22,"div")(23,"span"),c(24),s(25,"translate"),a(),m(26,"br"),r(27,"small",10),c(28),s(29,"translate"),a()(),r(30,"button",11),s(31,"translate"),h("click",function(){return o.onDownloadBackupClick()}),m(32,"i",12),a()(),r(33,"li",9)(34,"div")(35,"span"),c(36),s(37,"translate"),a(),m(38,"br"),r(39,"small",10),c(40),s(41,"translate"),a()(),r(42,"button",11),s(43,"translate"),h("click",function(){return o.restore(null)}),m(44,"i",13),a()()(),u(45,$e,10,5,"ul",14),a(),r(46,"div",15),m(47,"div",16),r(48,"div",17)(49,"button",18),h("click",function(){return o.$activeModal.dismiss("Dismiss")}),c(50),s(51,"translate"),a()(),m(52,"div",19),a()()),n&2&&(i(3),f(l(4,18,"backup.title_backup")),i(2),b("disabled",o.clicked||o.deleting),g("aria-label",l(6,20,"form.button_close")),i(7),f(l(13,22,"backup.backup_help_one")),i(3),f(l(16,24,"backup.backup_help_two")),i(3),f(l(19,26,"backup.backup_warning")),i(6),f(l(25,28,"backup.backup_now")),i(4),f(l(29,30,"backup.backup_now_desc")),i(2),b("disabled",o.clicked),g("aria-label",l(31,32,"backup.backup_now")),i(2),b("ngClass",z(42,fe,!o.clicked,o.clicked)),i(4),f(l(37,34,"backup.restore_now")),i(4),f(l(41,36,"backup.restore_now_desc")),i(2),b("disabled",o.clicked),g("aria-label",l(43,38,"backup.restore_now")),i(3),_(o.scheduledBackups.length?45:-1),i(4),b("disabled",o.clicked||o.deleting),i(),x(" ",l(51,40,"form.button_close")," "))},dependencies:[q,H,j,F],encapsulation:2})}return t})();export{K as a,X as b};
1
+ import{a as te}from"./chunk-JMCN2SQV.js";import{a as Z,b as ee}from"./chunk-YXEV6KOV.js";import{m as E,n as I,o as q}from"./chunk-7S2SCSTB.js";import{a as J}from"./chunk-IEZW2VEP.js";import{d as G}from"./chunk-QR7L4UUP.js";import{h as M,k as D}from"./chunk-37FVXLTH.js";import{c as O,d as U}from"./chunk-ASBFWS7L.js";import{a as R,b as F}from"./chunk-DJKI5XBW.js";import{$a as i,Ac as s,Bc as l,Cc as y,Gb as g,Hb as u,Ib as _,Kb as A,Lb as N,Mb as W,Nb as b,Ob as r,Pb as a,Qb as m,Ub as T,Xb as h,Yb as d,bd as H,g as P,h as $,id as j,jc as c,kc as f,la as C,lb as S,lc as x,ra as v,sa as B,wc as w,xc as z}from"./chunk-U4V4ICSI.js";var V=P(te(),1);var L=P(Z(),1),Q=P(ee(),1);var ne=t=>({maxBackupSizeText:t});function ae(t,p){if(t&1&&m(0,"input",10),t&2){let e=d(2);b("value",e.selectedBackup.fileName)}}function oe(t,p){if(t&1){let e=T();r(0,"input",12),h("change",function(o){v(e);let k=d(2);return B(k.handleRestoreFileInput(o.target.files))}),a()}}function re(t,p){if(t&1&&(r(0,"div",4)(1,"div",7),m(2,"i",8),a(),r(3,"ul",9)(4,"li"),c(5),s(6,"translate"),a(),r(7,"li"),c(8),s(9,"translate"),a(),r(10,"li"),c(11),s(12,"translate"),a(),r(13,"li"),c(14),s(15,"translate"),a()(),u(16,ae,1,1,"input",10),u(17,oe,1,0,"input",11),a()),t&2){let e=d();i(5),f(l(6,6,"backup.restore_help_one")),i(3),f(l(9,8,"backup.restore_help_two")),i(3),f(y(12,10,"backup.restore_max_size",w(15,ne,e.maxFileSizeText))),i(3),f(l(15,13,"backup.restore_warning")),i(2),_(e.selectedBackup?16:-1),i(),_(e.selectedBackup?-1:17)}}function se(t,p){if(t&1){let e=T();r(0,"button",18),s(1,"translate"),h("click",function(){v(e);let o=d(2);return B(o.$activeModal.dismiss("Dismiss"))}),c(2),s(3,"translate"),a()}if(t&2){let e=d(2);b("disabled",e.clicked),g("aria-label",l(1,3,"form.button_close")),i(2),x(" ",l(3,5,"form.button_close")," ")}}function le(t,p){if(t&1){let e=T();r(0,"button",18),s(1,"translate"),h("click",function(){v(e);let o=d(2);return B(o.reopenBackupModal())}),c(2),s(3,"translate"),a()}if(t&2){let e=d(2);b("disabled",e.clicked),g("aria-label",l(1,3,"form.button_back")),i(2),x(" ",l(3,5,"form.button_back")," ")}}function ce(t,p){t&1&&m(0,"i",19)}function pe(t,p){if(t&1&&(r(0,"span"),c(1),a()),t&2){let e=d(3);i(),x("",e.uploadPercent,"% - ")}}function de(t,p){t&1&&(r(0,"span"),c(1," Extracting Archive"),a())}function me(t,p){t&1&&(r(0,"span"),c(1),s(2,"translate"),a()),t&2&&(i(),x(" ",l(2,1,"backup.label_uploading")))}function ue(t,p){if(t&1&&(r(0,"span"),u(1,ce,1,0,"i",19),u(2,pe,2,1,"span"),u(3,de,2,0,"span"),u(4,me,3,3,"span"),a()),t&2){let e=d(2);i(),_(!e.uploadPercent||e.uploadPercent===100?1:-1),i(),_(e.uploadPercent&&e.uploadPercent!==100?2:-1),i(),_(e.uploadPercent===100?3:-1),i(),_(e.uploadPercent!==100?4:-1)}}function _e(t,p){t&1&&(c(0),s(1,"translate")),t&2&&x(" ",l(1,1,"form.button_restore")," ")}function be(t,p){if(t&1){let e=T();r(0,"div",6)(1,"div",13),u(2,se,4,7,"button",14),u(3,le,4,7,"button",14),a(),m(4,"div",15),r(5,"div",16)(6,"button",17),h("click",function(){v(e);let o=d();return B(o.onRestoreBackupClick())}),u(7,ue,5,4,"span"),u(8,_e,2,3),a()()()}if(t&2){let e=d();i(2),_(e.setupWizardRestore?2:-1),i(),_(e.setupWizardRestore?-1:3),i(3),b("disabled",!e.selectedBackup&&!e.selectedFile||e.clicked),i(),_(e.clicked?7:-1),i(),_(e.clicked?-1:8)}}function ke(t,p){if(t&1){let e=T();r(0,"div",6),m(1,"div",13),r(2,"div",15)(3,"button",20),h("click",function(){v(e);let o=d();return B(o.postBackupRestart())}),c(4),s(5,"translate"),a()(),m(6,"div",16),a()}t&2&&(i(4),x(" ",l(5,1,"menu.hbrestart.title")," "))}var X=(()=>{class t{$activeModal=C(E);$api=C(D);$modal=C(I);$route=C(G);$toastr=C(M);$translate=C(R);$ws=C(J);setupWizardRestore=!1;selectedBackup=null;clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;restoreInProgress=!1;restoreStarted=!1;restoreFailed=!1;restoreArchiveType="homebridge";uploadPercent=0;term=new L.Terminal;termTarget;fitAddon=new Q.FitAddon;io;constructor(){}ngOnInit(){return $(this,null,function*(){this.io=this.$ws.connectToNamespace("backup"),this.termTarget=document.getElementById("plugin-log-output"),this.term.open(this.termTarget),this.fitAddon.fit(),this.io.socket.on("stdout",e=>{this.term.write(e)}),this.setupWizardRestore&&(this.restoreStarted=!0,this.restoreInProgress=!0,this.startRestore())})}onRestoreBackupClick(){this.selectedBackup?this.restoreScheduledBackup():this.restoreArchiveType==="homebridge"?this.uploadHomebridgeArchive():this.restoreArchiveType==="hbfx"&&this.uploadHbfxArchive()}uploadHomebridgeArchive(){this.term.reset(),this.clicked=!0;let e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore",e).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:n=>{console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})}restoreScheduledBackup(){return $(this,null,function*(){this.term.reset(),this.clicked=!0,this.$api.post(`/backup/scheduled-backups/${this.selectedBackup.id}/restore`,{}).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:e=>{console.error(e),this.$toastr.error(e.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})})}startRestore(){return $(this,null,function*(){this.io.request("do-restore").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success")),this.setupWizardRestore&&this.postBackupRestart()},error:e=>{this.restoreFailed=!0,console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}uploadHbfxArchive(){this.term.reset(),this.clicked=!0;let e=new FormData;e.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore/hbfx",e,{reportProgress:!0,observe:"events"}).subscribe({next:n=>{n.type===O.UploadProgress?this.uploadPercent=Math.round(100*n.loaded/n.total):n instanceof U&&(this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startHbfxRestore()},500),this.clicked=!1)},error:n=>{this.clicked=!1,console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})}startHbfxRestore(){return $(this,null,function*(){this.io.request("do-restore-hbfx").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success"))},error:e=>{this.restoreFailed=!0,console.error(e),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}handleRestoreFileInput(e){e.length?(this.selectedFile=e[0],this.selectedFile.name.endsWith(".hbfx")?this.restoreArchiveType="hbfx":this.restoreArchiveType="homebridge"):delete this.selectedFile}postBackupRestart(){this.$api.put("/backup/restart",{}).subscribe({next:()=>{this.$activeModal.close(!0),this.$route.navigate(["/"])},error:()=>{}})}reopenBackupModal(){this.$activeModal.dismiss(),this.$modal.open(K,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.io.end()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=S({type:t,selectors:[["ng-component"]],inputs:{setupWizardRestore:"setupWizardRestore",selectedBackup:"selectedBackup"},decls:11,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],["id","plugin-log-output",1,"modal-body",3,"hidden"],[1,"modal-footer","justify-content-between"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","text","disabled","",1,"form-control","custom-input",3,"value"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"form-control"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"form-control",3,"change"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"fa","fa-fw","fa-circle-notch","fa-spin"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(n,o){n&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),c(3),s(4,"translate"),a(),r(5,"button",3),s(6,"translate"),h("click",function(){return o.$activeModal.dismiss("Dismiss")}),a()(),u(7,re,18,17,"div",4),m(8,"div",5),u(9,be,9,5,"div",6),u(10,ke,7,3,"div",6),a()),n&2&&(i(3),f(l(4,7,"backup.title_backup")),i(2),b("disabled",o.restoreInProgress),g("aria-label",l(6,9,"form.button_close")),i(2),_(!o.restoreStarted&&!o.setupWizardRestore?7:-1),i(),b("hidden",!o.restoreStarted),i(),_(!o.restoreStarted||o.restoreFailed===!0?9:-1),i(),_(!o.restoreInProgress&&o.restoreStarted?10:-1))},dependencies:[F],encapsulation:2})}return t})();var fe=(t,p)=>({"fa-arrow-right":t,"fa-cog fa-spin":p}),he=t=>({backupTime:t,dayCount:7}),xe=(t,p)=>({"fa-trash":t,"fa-cog fa-spin":p}),Ce=(t,p)=>({backupSize:t,maxBackupSizeText:p});function ge(t,p){if(t&1&&(c(0),s(1,"date"),s(2,"translate")),t&2){let e=d(2);x(" ",y(2,4,"backup.scheduled_backup_time",w(7,he,y(1,1,e.backupTime,"shortTime")))," ")}}function ve(t,p){t&1&&(c(0),s(1,"translate")),t&2&&x(" ",l(1,1,"backup.scheduled_backup_disabled")," ")}function Be(t,p){if(t&1&&(r(0,"span",24),s(1,"translate"),m(2,"i",31),c(3),a()),t&2){let e=d().$implicit;b("ngbTooltip",y(1,2,"backup.backup_exceeds_max_size",z(5,Ce,e.size+"MB",e.maxBackupSizeText))),i(3),x(" ",e.size,"MB ")}}function Te(t,p){if(t&1&&(r(0,"span"),c(1),a()),t&2){let e=d().$implicit;i(),x(" ",e.size,"MB ")}}function ye(t,p){if(t&1){let e=T();r(0,"li",9)(1,"span")(2,"span",23),c(3),s(4,"date"),a(),m(5,"br"),r(6,"small",10),c(7),s(8,"date"),u(9,Be,4,8,"span",24),u(10,Te,2,1,"span"),a()(),r(11,"span",25)(12,"button",26),s(13,"translate"),s(14,"translate"),h("click",function(){let o=v(e).$implicit,k=d(2);return B(k.restore(o))}),m(15,"i",27),a(),r(16,"button",28),s(17,"translate"),s(18,"translate"),h("click",function(){let o=v(e).$implicit,k=d(2);return B(k.download(o))}),m(19,"i",29),a(),r(20,"button",30),s(21,"translate"),s(22,"translate"),h("click",function(){let o=v(e).$implicit,k=d(2);return B(k.delete(o))}),m(23,"i",12),a()()()}if(t&2){let e=p.$implicit,n=d(2);i(2),b("ngbTooltip",e.fileName),i(),x(" ",y(4,15,e.timestamp,"mediumDate")," "),i(4),x(" ",y(8,18,e.timestamp,"shortTime")," \xB7 "),i(2),_(e.size>e.maxBackupSize?9:-1),i(),_(e.size<=e.maxBackupSize?10:-1),i(2),b("disabled",n.clicked||n.deleting||e.size>e.maxBackupSize)("ngbTooltip",l(13,21,"form.button_restore")),g("aria-label",l(14,23,"form.button_restore")),i(4),b("disabled",n.clicked||n.deleting)("ngbTooltip",l(17,25,"form.button_download")),g("aria-label",l(18,27,"form.button_download")),i(4),b("disabled",n.clicked||n.deleting)("ngbTooltip",l(21,29,"form.button_delete")),g("aria-label",l(22,31,"form.button_delete")),i(3),b("ngClass",z(33,xe,e.id!==n.deleting,e.id===n.deleting))}}function $e(t,p){if(t&1&&(r(0,"ul",14)(1,"li",20)(2,"h6",21),c(3),s(4,"translate"),a(),r(5,"p",22),u(6,ge,3,9),u(7,ve,2,3),a()(),N(8,ye,24,36,"li",9,A),a()),t&2){let e=d();i(3),f(l(4,3,"backup.files_auto")),i(3),_(e.backupTime?6:-1),i(),_(e.backupTime?-1:7),i(),W(e.scheduledBackups)}}var K=(()=>{class t{$activeModal=C(E);$api=C(D);$modal=C(I);$toastr=C(M);$translate=C(R);clicked=!1;scheduledBackups=[];backupTime;deleting=null;constructor(){}ngOnInit(){this.getScheduledBackups(),this.getNextBackup()}getScheduledBackups(){this.$api.get("/backup/scheduled-backups").subscribe({next:e=>{this.scheduledBackups=e},error:e=>console.error(e)})}getNextBackup(){this.$api.get("/backup/scheduled-backups/next").subscribe({next:e=>{this.backupTime=e.next},error:e=>{console.error(e)}})}download(e){this.$api.get(`/backup/scheduled-backups/${e.id}`,{observe:"response",responseType:"blob"}).subscribe({next:n=>{let o=e.fileName||"homebridge-backup.tar.gz",k=n.body.size;if(k>globalThis.backup.maxBackupSize){let Y=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(k/1048576).toFixed(1)}MB`});this.$toastr.warning(Y,this.$translate.instant("toast.title_warning"))}(0,V.saveAs)(n.body,o)},error:n=>{console.error(n),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})}restore(e){this.$activeModal.close();let n=this.$modal.open(X,{size:"lg",backdrop:"static"});n.componentInstance.selectedBackup=e}delete(e){this.deleting=e.id,this.$api.delete(`/backup/scheduled-backups/${e.id}`).subscribe({next:()=>{this.getScheduledBackups(),this.deleting=null},error:n=>{this.deleting=null,console.error(n),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"))}})}onDownloadBackupClick(){return $(this,null,function*(){this.clicked=!0,this.$api.get("/backup/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{let n=e.headers.get("File-Name")||"homebridge-backup.tar.gz";this.clicked=!1;let o=e.body.size;if(o>globalThis.backup.maxBackupSize){let k=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(o/1048576).toFixed(1)}MB`});this.$toastr.warning(k,this.$translate.instant("toast.title_warning"))}(0,V.saveAs)(e.body,n)},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})})}Date=Date;static \u0275fac=function(n){return new(n||t)};static \u0275cmp=S({type:t,selectors:[["ng-component"]],decls:53,vars:45,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"btn","btn-primary","m-0","ms-3",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"],[1,"fas","fa-fw","fa-arrow-right"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-end"],[1,"list-group-item"],[1,"mb-1","text-center"],[1,"small","grey-text","mb-0","text-center"],["container","modal","openDelay","150","triggers","hover",3,"ngbTooltip"],["container","modal","openDelay","150","triggers","hover",1,"red-text",3,"ngbTooltip"],[2,"display","flex","flex-wrap","nowrap"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","m-0","ms-3",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-history"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","m-0","ms-2",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","m-0","ms-2",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-exclamation-circle"]],template:function(n,o){n&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),c(3),s(4,"translate"),a(),r(5,"button",3),s(6,"translate"),h("click",function(){return o.$activeModal.dismiss("Dismiss")}),a()(),r(7,"div",4)(8,"div",5),m(9,"i",6),a(),r(10,"ul",7)(11,"li"),c(12),s(13,"translate"),a(),r(14,"li"),c(15),s(16,"translate"),a(),r(17,"li"),c(18),s(19,"translate"),a()(),r(20,"ul",8)(21,"li",9)(22,"div")(23,"span"),c(24),s(25,"translate"),a(),m(26,"br"),r(27,"small",10),c(28),s(29,"translate"),a()(),r(30,"button",11),s(31,"translate"),h("click",function(){return o.onDownloadBackupClick()}),m(32,"i",12),a()(),r(33,"li",9)(34,"div")(35,"span"),c(36),s(37,"translate"),a(),m(38,"br"),r(39,"small",10),c(40),s(41,"translate"),a()(),r(42,"button",11),s(43,"translate"),h("click",function(){return o.restore(null)}),m(44,"i",13),a()()(),u(45,$e,10,5,"ul",14),a(),r(46,"div",15),m(47,"div",16),r(48,"div",17)(49,"button",18),h("click",function(){return o.$activeModal.dismiss("Dismiss")}),c(50),s(51,"translate"),a()(),m(52,"div",19),a()()),n&2&&(i(3),f(l(4,18,"backup.title_backup")),i(2),b("disabled",o.clicked||o.deleting),g("aria-label",l(6,20,"form.button_close")),i(7),f(l(13,22,"backup.backup_help_one")),i(3),f(l(16,24,"backup.backup_help_two")),i(3),f(l(19,26,"backup.backup_warning")),i(6),f(l(25,28,"backup.backup_now")),i(4),f(l(29,30,"backup.backup_now_desc")),i(2),b("disabled",o.clicked),g("aria-label",l(31,32,"backup.backup_now")),i(2),b("ngClass",z(42,fe,!o.clicked,o.clicked)),i(4),f(l(37,34,"backup.restore_now")),i(4),f(l(41,36,"backup.restore_now_desc")),i(2),b("disabled",o.clicked),g("aria-label",l(43,38,"backup.restore_now")),i(3),_(o.scheduledBackups.length?45:-1),i(4),b("disabled",o.clicked||o.deleting),i(),x(" ",l(51,40,"form.button_close")," "))},dependencies:[q,H,j,F],encapsulation:2})}return t})();export{K as a,X as b};
@@ -1 +1 @@
1
- import{a as C,b as y,c as $,d as j}from"./chunk-HVJ23MRE.js";import"./chunk-FHMZVMZK.js";import{q as d}from"./chunk-7S2SCSTB.js";import{A as u,z as l}from"./chunk-HLSZVFAU.js";import{d as v,g as n}from"./chunk-QR7L4UUP.js";import"./chunk-5BL6PCNR.js";import"./chunk-G43HU5Q5.js";import{h as g,k as h}from"./chunk-ZHNSZ7X2.js";import"./chunk-ASBFWS7L.js";import{a as M,c as U}from"./chunk-DJKI5XBW.js";import{ga as f,h as a,ha as i,kd as c,la as e,mb as s,w as p}from"./chunk-U4V4ICSI.js";var m=(()=>{class r{$api=e(h);$router=e(v);$toastr=e(g);$translate=e(M);constructor(){}resolve(){return a(this,null,function*(){try{return yield p(this.$api.get("/users"))}catch(o){console.error(o),this.$toastr.error(o.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(t){return new(t||r)};static \u0275prov=f({token:r,factory:r.\u0275fac})}return r})();var F=[{path:"",loadComponent:()=>import("./chunk-YXX7ION6.js").then(r=>r.UsersComponent),resolve:{homebridgeUsers:m}}],b=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275mod=s({type:r});static \u0275inj=i({imports:[n.forChild(F),n]})}return r})();var Y=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275mod=s({type:r});static \u0275inj=i({providers:[m],imports:[c,l,u,U.forChild(),d,b,$,j,y,C]})}return r})();export{Y as UsersModule};
1
+ import{a as C,b as y,c as $,d as j}from"./chunk-HOS4YIX7.js";import"./chunk-FHMZVMZK.js";import{q as d}from"./chunk-7S2SCSTB.js";import{A as u,z as l}from"./chunk-HLSZVFAU.js";import{d as v,g as n}from"./chunk-QR7L4UUP.js";import"./chunk-7GYDUXMU.js";import"./chunk-WP2UTBVE.js";import{h as g,k as h}from"./chunk-37FVXLTH.js";import"./chunk-ASBFWS7L.js";import{a as M,c as U}from"./chunk-DJKI5XBW.js";import{ga as f,h as a,ha as i,kd as c,la as e,mb as s,w as p}from"./chunk-U4V4ICSI.js";var m=(()=>{class r{$api=e(h);$router=e(v);$toastr=e(g);$translate=e(M);constructor(){}resolve(){return a(this,null,function*(){try{return yield p(this.$api.get("/users"))}catch(o){console.error(o),this.$toastr.error(o.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(t){return new(t||r)};static \u0275prov=f({token:r,factory:r.\u0275fac})}return r})();var F=[{path:"",loadComponent:()=>import("./chunk-AWO5LOJT.js").then(r=>r.UsersComponent),resolve:{homebridgeUsers:m}}],b=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275mod=s({type:r});static \u0275inj=i({imports:[n.forChild(F),n]})}return r})();var Y=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275mod=s({type:r});static \u0275inj=i({providers:[m],imports:[c,l,u,U.forChild(),d,b,$,j,y,C]})}return r})();export{Y as UsersModule};
@@ -1 +1 @@
1
- import"./chunk-J4USS3TJ.js";import"./chunk-TCJEY6SZ.js";import"./chunk-Q7VA22QV.js";import"./chunk-YXEV6KOV.js";import"./chunk-XH4RYJ6Y.js";import{g as i}from"./chunk-QR7L4UUP.js";import"./chunk-5BL6PCNR.js";import"./chunk-G43HU5Q5.js";import"./chunk-ZHNSZ7X2.js";import"./chunk-ASBFWS7L.js";import{c as m}from"./chunk-DJKI5XBW.js";import{ha as t,kd as n,mb as r}from"./chunk-U4V4ICSI.js";var u=[{path:"",loadComponent:()=>import("./chunk-IZSJEHPY.js").then(o=>o.TerminalComponent)}],a=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(u),i]})}return o})();var T=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,a,m.forChild()]})}return o})();export{T as TerminalModule};
1
+ import"./chunk-SOF2B4MD.js";import"./chunk-SBMAEWZL.js";import"./chunk-Q7VA22QV.js";import"./chunk-YXEV6KOV.js";import"./chunk-IEZW2VEP.js";import{g as i}from"./chunk-QR7L4UUP.js";import"./chunk-7GYDUXMU.js";import"./chunk-WP2UTBVE.js";import"./chunk-37FVXLTH.js";import"./chunk-ASBFWS7L.js";import{c as m}from"./chunk-DJKI5XBW.js";import{ha as t,kd as n,mb as r}from"./chunk-U4V4ICSI.js";var u=[{path:"",loadComponent:()=>import("./chunk-OC33GC55.js").then(o=>o.TerminalComponent)}],a=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(u),i]})}return o})();var T=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,a,m.forChild()]})}return o})();export{T as TerminalModule};
@@ -0,0 +1 @@
1
+ import{e as a}from"./chunk-4AUMYN6J.js";import"./chunk-SX6UWGJ4.js";import"./chunk-ESOONFXO.js";import"./chunk-55BN66AX.js";import"./chunk-EPVBHJMO.js";import"./chunk-CHQVUHUA.js";import"./chunk-3VIG5M5R.js";import"./chunk-XZR7OZ6I.js";import"./chunk-6FASN3MD.js";import"./chunk-Q7VA22QV.js";import"./chunk-FHMZVMZK.js";import"./chunk-JMCN2SQV.js";import"./chunk-YXEV6KOV.js";import"./chunk-LTDUXFUG.js";import"./chunk-2PGR64P5.js";import"./chunk-7S2SCSTB.js";import"./chunk-HLSZVFAU.js";import"./chunk-IEZW2VEP.js";import"./chunk-QR7L4UUP.js";import"./chunk-7GYDUXMU.js";import"./chunk-WP2UTBVE.js";import"./chunk-37FVXLTH.js";import"./chunk-ASBFWS7L.js";import"./chunk-DJKI5XBW.js";import"./chunk-U4V4ICSI.js";export{a as SettingsComponent};
@@ -1 +1 @@
1
- import{o as k}from"./chunk-7S2SCSTB.js";import{d as P}from"./chunk-QR7L4UUP.js";import{b as V}from"./chunk-G43HU5Q5.js";import{h as T,k as O}from"./chunk-ZHNSZ7X2.js";import{a as y,b as $}from"./chunk-DJKI5XBW.js";import{$a as i,Ac as a,Bc as s,Hb as f,Ib as v,Nb as C,Ob as o,Pb as r,Qb as h,Ub as b,Xb as m,Yb as x,jc as l,kc as S,la as c,lb as g,lc as d,ra as u,sa as _}from"./chunk-U4V4ICSI.js";function B(t,w){if(t&1){let n=b();o(0,"p",5)(1,"button",6),m("click",function(){u(n);let e=x();return _(e.restartServer())}),l(2),a(3,"translate"),r()()}t&2&&(i(2),d(" ",s(3,1,"menu.linux.label_restart_server")," "))}function I(t,w){if(t&1){let n=b();o(0,"p",5)(1,"button",6),m("click",function(){u(n);let e=x();return _(e.shutdownServer())}),l(2),a(3,"translate"),r()()}t&2&&(i(2),d(" ",s(3,1,"menu.linux.label_shutdown_server")," "))}function H(t,w){if(t&1){let n=b();o(0,"p",5)(1,"button",6),m("click",function(){u(n);let e=x();return _(e.dockerRestartContainer())}),l(2),a(3,"translate"),r()()}t&2&&(i(2),d(" ",s(3,1,"menu.docker.restart_container")," "))}var G=(()=>{class t{$api=c(O);$router=c(P);$settings=c(V);$toastr=c(T);$translate=c(y);constructor(){}restartHomebridge(){this.$router.navigate(["/restart"])}restartHomebridgeService(){this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>{this.$router.navigate(["/restart"])},error:n=>{console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error"))}})}restartServer(){this.$router.navigate(["/platform-tools/linux/restart-server"])}shutdownServer(){this.$router.navigate(["/platform-tools/linux/shutdown-server"])}dockerRestartContainer(){this.$router.navigate(["/platform-tools/docker/restart-container"])}static \u0275fac=function(p){return new(p||t)};static \u0275cmp=g({type:t,selectors:[["ng-component"]],decls:19,vars:15,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-fw","fa-power-off",2,"font-size","75px"],[1,"w-100","text-center","my-5"],["type","button",1,"btn","btn-primary","p-3","my-0",2,"width","85%",3,"click"],["type","button","container","body","openDelay","150","triggers","hover",1,"btn","btn-primary","p-3","my-0",2,"width","85%",3,"click","ngbTooltip"]],template:function(p,e){p&1&&(o(0,"div",0)(1,"h3",1),l(2),a(3,"translate"),r()(),o(4,"div",2)(5,"div",3),h(6,"i",4),r(),o(7,"p",5)(8,"button",6),m("click",function(){return e.restartHomebridge()}),l(9),a(10,"translate"),r()(),o(11,"p",5)(12,"button",7),a(13,"translate"),m("click",function(){return e.restartHomebridgeService()}),l(14),a(15,"translate"),r()(),f(16,B,4,3,"p",5),f(17,I,4,3,"p",5),f(18,H,4,3,"p",5),r()),p&2&&(i(2),S(s(3,7,"menu.restart.title")),i(7),d(" ",s(10,9,"menu.hbrestart.confirm_hb")," "),i(3),C("ngbTooltip",s(13,11,"reset.force_restart_hb_help_text")),i(2),d(" ",s(15,13,"menu.hbrestart.confirm_ui")," "),i(2),v(e.$settings.env.canShutdownRestartHost?16:-1),i(),v(e.$settings.env.canShutdownRestartHost?17:-1),i(),v(e.$settings.env.runningInDocker?18:-1))},dependencies:[k,$],encapsulation:2})}return t})();export{G as a};
1
+ import{o as k}from"./chunk-7S2SCSTB.js";import{d as P}from"./chunk-QR7L4UUP.js";import{b as V}from"./chunk-WP2UTBVE.js";import{h as T,k as O}from"./chunk-37FVXLTH.js";import{a as y,b as $}from"./chunk-DJKI5XBW.js";import{$a as i,Ac as a,Bc as s,Hb as f,Ib as v,Nb as C,Ob as o,Pb as r,Qb as h,Ub as b,Xb as m,Yb as x,jc as l,kc as S,la as c,lb as g,lc as d,ra as u,sa as _}from"./chunk-U4V4ICSI.js";function B(t,w){if(t&1){let n=b();o(0,"p",5)(1,"button",6),m("click",function(){u(n);let e=x();return _(e.restartServer())}),l(2),a(3,"translate"),r()()}t&2&&(i(2),d(" ",s(3,1,"menu.linux.label_restart_server")," "))}function I(t,w){if(t&1){let n=b();o(0,"p",5)(1,"button",6),m("click",function(){u(n);let e=x();return _(e.shutdownServer())}),l(2),a(3,"translate"),r()()}t&2&&(i(2),d(" ",s(3,1,"menu.linux.label_shutdown_server")," "))}function H(t,w){if(t&1){let n=b();o(0,"p",5)(1,"button",6),m("click",function(){u(n);let e=x();return _(e.dockerRestartContainer())}),l(2),a(3,"translate"),r()()}t&2&&(i(2),d(" ",s(3,1,"menu.docker.restart_container")," "))}var G=(()=>{class t{$api=c(O);$router=c(P);$settings=c(V);$toastr=c(T);$translate=c(y);constructor(){}restartHomebridge(){this.$router.navigate(["/restart"])}restartHomebridgeService(){this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>{this.$router.navigate(["/restart"])},error:n=>{console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error"))}})}restartServer(){this.$router.navigate(["/platform-tools/linux/restart-server"])}shutdownServer(){this.$router.navigate(["/platform-tools/linux/shutdown-server"])}dockerRestartContainer(){this.$router.navigate(["/platform-tools/docker/restart-container"])}static \u0275fac=function(p){return new(p||t)};static \u0275cmp=g({type:t,selectors:[["ng-component"]],decls:19,vars:15,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-fw","fa-power-off",2,"font-size","75px"],[1,"w-100","text-center","my-5"],["type","button",1,"btn","btn-primary","p-3","my-0",2,"width","85%",3,"click"],["type","button","container","body","openDelay","150","triggers","hover",1,"btn","btn-primary","p-3","my-0",2,"width","85%",3,"click","ngbTooltip"]],template:function(p,e){p&1&&(o(0,"div",0)(1,"h3",1),l(2),a(3,"translate"),r()(),o(4,"div",2)(5,"div",3),h(6,"i",4),r(),o(7,"p",5)(8,"button",6),m("click",function(){return e.restartHomebridge()}),l(9),a(10,"translate"),r()(),o(11,"p",5)(12,"button",7),a(13,"translate"),m("click",function(){return e.restartHomebridgeService()}),l(14),a(15,"translate"),r()(),f(16,B,4,3,"p",5),f(17,I,4,3,"p",5),f(18,H,4,3,"p",5),r()),p&2&&(i(2),S(s(3,7,"menu.restart.title")),i(7),d(" ",s(10,9,"menu.hbrestart.confirm_hb")," "),i(3),C("ngbTooltip",s(13,11,"reset.force_restart_hb_help_text")),i(2),d(" ",s(15,13,"menu.hbrestart.confirm_ui")," "),i(2),v(e.$settings.env.canShutdownRestartHost?16:-1),i(),v(e.$settings.env.canShutdownRestartHost?17:-1),i(),v(e.$settings.env.runningInDocker?18:-1))},dependencies:[k,$],encapsulation:2})}return t})();export{G as a};
@@ -1 +1 @@
1
- import{h as et,k as it}from"./chunk-ZHNSZ7X2.js";import{l as X}from"./chunk-ASBFWS7L.js";import{a as tt}from"./chunk-DJKI5XBW.js";import{T as K,e as ut,g as ct,ga as R,h as Q,la as Y,n as G,w as N}from"./chunk-U4V4ICSI.js";var nt=ut((J,Z)=>{(function(M,b){typeof J=="object"&&typeof Z<"u"?Z.exports=b():typeof define=="function"&&define.amd?define(b):(M=typeof globalThis<"u"?globalThis:M||self).dayjs=b()})(J,function(){"use strict";var M=1e3,b=6e4,o=36e5,d="millisecond",$="second",L="minute",O="hour",y="day",W="week",v="month",z="quarter",S="year",_="date",B="Invalid Date",rt=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,st=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,at={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(r){var i=["th","st","nd","rd"],t=r%100;return"["+r+(i[(t-20)%10]||i[t]||i[0])+"]"}},F=function(r,i,t){var n=String(r);return!n||n.length>=i?r:""+Array(i+1-n.length).join(t)+r},ot={s:F,z:function(r){var i=-r.utcOffset(),t=Math.abs(i),n=Math.floor(t/60),e=t%60;return(i<=0?"+":"-")+F(n,2,"0")+":"+F(e,2,"0")},m:function r(i,t){if(i.date()<t.date())return-r(t,i);var n=12*(t.year()-i.year())+(t.month()-i.month()),e=i.clone().add(n,v),s=t-e<0,a=i.clone().add(n+(s?-1:1),v);return+(-(n+(t-e)/(s?e-a:a-e))||0)},a:function(r){return r<0?Math.ceil(r)||0:Math.floor(r)},p:function(r){return{M:v,y:S,w:W,d:y,D:_,h:O,m:L,s:$,ms:d,Q:z}[r]||String(r||"").toLowerCase().replace(/s$/,"")},u:function(r){return r===void 0}},x="en",D={};D[x]=at;var E="$isDayjsObject",U=function(r){return r instanceof V||!(!r||!r[E])},I=function r(i,t,n){var e;if(!i)return x;if(typeof i=="string"){var s=i.toLowerCase();D[s]&&(e=s),t&&(D[s]=t,e=s);var a=i.split("-");if(!e&&a.length>1)return r(a[0])}else{var c=i.name;D[c]=i,e=c}return!n&&e&&(x=e),e||!n&&x},f=function(r,i){if(U(r))return r.clone();var t=typeof i=="object"?i:{};return t.date=r,t.args=arguments,new V(t)},u=ot;u.l=I,u.i=U,u.w=function(r,i){return f(r,{locale:i.$L,utc:i.$u,x:i.$x,$offset:i.$offset})};var V=function(){function r(t){this.$L=I(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[E]=!0}var i=r.prototype;return i.parse=function(t){this.$d=function(n){var e=n.date,s=n.utc;if(e===null)return new Date(NaN);if(u.u(e))return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){var a=e.match(rt);if(a){var c=a[2]-1||0,h=(a[7]||"0").substring(0,3);return s?new Date(Date.UTC(a[1],c,a[3]||1,a[4]||0,a[5]||0,a[6]||0,h)):new Date(a[1],c,a[3]||1,a[4]||0,a[5]||0,a[6]||0,h)}}return new Date(e)}(t),this.init()},i.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},i.$utils=function(){return u},i.isValid=function(){return this.$d.toString()!==B},i.isSame=function(t,n){var e=f(t);return this.startOf(n)<=e&&e<=this.endOf(n)},i.isAfter=function(t,n){return f(t)<this.startOf(n)},i.isBefore=function(t,n){return this.endOf(n)<f(t)},i.$g=function(t,n,e){return u.u(t)?this[n]:this.set(e,t)},i.unix=function(){return Math.floor(this.valueOf()/1e3)},i.valueOf=function(){return this.$d.getTime()},i.startOf=function(t,n){var e=this,s=!!u.u(n)||n,a=u.p(t),c=function(k,m){var w=u.w(e.$u?Date.UTC(e.$y,m,k):new Date(e.$y,m,k),e);return s?w:w.endOf(y)},h=function(k,m){return u.w(e.toDate()[k].apply(e.toDate("s"),(s?[0,0,0,0]:[23,59,59,999]).slice(m)),e)},l=this.$W,g=this.$M,p=this.$D,j="set"+(this.$u?"UTC":"");switch(a){case S:return s?c(1,0):c(31,11);case v:return s?c(1,g):c(0,g+1);case W:var T=this.$locale().weekStart||0,A=(l<T?l+7:l)-T;return c(s?p-A:p+(6-A),g);case y:case _:return h(j+"Hours",0);case O:return h(j+"Minutes",1);case L:return h(j+"Seconds",2);case $:return h(j+"Milliseconds",3);default:return this.clone()}},i.endOf=function(t){return this.startOf(t,!1)},i.$set=function(t,n){var e,s=u.p(t),a="set"+(this.$u?"UTC":""),c=(e={},e[y]=a+"Date",e[_]=a+"Date",e[v]=a+"Month",e[S]=a+"FullYear",e[O]=a+"Hours",e[L]=a+"Minutes",e[$]=a+"Seconds",e[d]=a+"Milliseconds",e)[s],h=s===y?this.$D+(n-this.$W):n;if(s===v||s===S){var l=this.clone().set(_,1);l.$d[c](h),l.init(),this.$d=l.set(_,Math.min(this.$D,l.daysInMonth())).$d}else c&&this.$d[c](h);return this.init(),this},i.set=function(t,n){return this.clone().$set(t,n)},i.get=function(t){return this[u.p(t)]()},i.add=function(t,n){var e,s=this;t=Number(t);var a=u.p(n),c=function(g){var p=f(s);return u.w(p.date(p.date()+Math.round(g*t)),s)};if(a===v)return this.set(v,this.$M+t);if(a===S)return this.set(S,this.$y+t);if(a===y)return c(1);if(a===W)return c(7);var h=(e={},e[L]=b,e[O]=o,e[$]=M,e)[a]||1,l=this.$d.getTime()+t*h;return u.w(l,this)},i.subtract=function(t,n){return this.add(-1*t,n)},i.format=function(t){var n=this,e=this.$locale();if(!this.isValid())return e.invalidDate||B;var s=t||"YYYY-MM-DDTHH:mm:ssZ",a=u.z(this),c=this.$H,h=this.$m,l=this.$M,g=e.weekdays,p=e.months,j=e.meridiem,T=function(m,w,H,C){return m&&(m[w]||m(n,s))||H[w].slice(0,C)},A=function(m){return u.s(c%12||12,m,"0")},k=j||function(m,w,H){var C=m<12?"AM":"PM";return H?C.toLowerCase():C};return s.replace(st,function(m,w){return w||function(H){switch(H){case"YY":return String(n.$y).slice(-2);case"YYYY":return u.s(n.$y,4,"0");case"M":return l+1;case"MM":return u.s(l+1,2,"0");case"MMM":return T(e.monthsShort,l,p,3);case"MMMM":return T(p,l);case"D":return n.$D;case"DD":return u.s(n.$D,2,"0");case"d":return String(n.$W);case"dd":return T(e.weekdaysMin,n.$W,g,2);case"ddd":return T(e.weekdaysShort,n.$W,g,3);case"dddd":return g[n.$W];case"H":return String(c);case"HH":return u.s(c,2,"0");case"h":return A(1);case"hh":return A(2);case"a":return k(c,h,!0);case"A":return k(c,h,!1);case"m":return String(h);case"mm":return u.s(h,2,"0");case"s":return String(n.$s);case"ss":return u.s(n.$s,2,"0");case"SSS":return u.s(n.$ms,3,"0");case"Z":return a}return null}(m)||a.replace(":","")})},i.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},i.diff=function(t,n,e){var s,a=this,c=u.p(n),h=f(t),l=(h.utcOffset()-this.utcOffset())*b,g=this-h,p=function(){return u.m(a,h)};switch(c){case S:s=p()/12;break;case v:s=p();break;case z:s=p()/3;break;case W:s=(g-l)/6048e5;break;case y:s=(g-l)/864e5;break;case O:s=g/o;break;case L:s=g/b;break;case $:s=g/M;break;default:s=g}return e?s:u.a(s)},i.daysInMonth=function(){return this.endOf(v).$D},i.$locale=function(){return D[this.$L]},i.locale=function(t,n){if(!t)return this.$L;var e=this.clone(),s=I(t,n,!0);return s&&(e.$L=s),e},i.clone=function(){return u.w(this.$d,this)},i.toDate=function(){return new Date(this.valueOf())},i.toJSON=function(){return this.isValid()?this.toISOString():null},i.toISOString=function(){return this.$d.toISOString()},i.toString=function(){return this.$d.toUTCString()},r}(),P=V.prototype;return f.prototype=P,[["$ms",d],["$s",$],["$m",L],["$H",O],["$W",y],["$M",v],["$y",S],["$D",_]].forEach(function(r){P[r[1]]=function(i){return this.$g(i,r[0],r[1])}}),f.extend=function(r,i){return r.$i||(r(i,V,f),r.$i=!0),f},f.locale=I,f.isDayjs=U,f.unix=function(r){return f(1e3*r)},f.en=D[x],f.Ls=D,f.p={},f})});var q=ct(nt(),1);var vt=(()=>{class M{$api=Y(it);$title=Y(X);$toastr=Y(et);$translate=Y(tt);env={};formAuth=!0;uiVersion;theme;lightingMode;currentLightingMode;actualLightingMode;browserLightingMode;menuMode;loginWallpaper;serverTimeOffset=0;defaultTheme="orange";themeList=["orange","red","pink","purple","deep-purple","indigo","blue","blue-grey","cyan","green","teal","grey","brown"];rtl=!1;settingsLoadedSubject=new G;onSettingsLoaded=this.settingsLoadedSubject.pipe(K());settingsLoaded=!1;constructor(){this.getAppSettings()}getAppSettings(){return Q(this,null,function*(){let o=yield N(this.$api.get("/auth/settings"));this.formAuth=o.formAuth,this.env=o.env,this.lightingMode=o.lightingMode,this.loginWallpaper=o.loginWallpaper,this.setLightingMode(this.lightingMode,"user"),this.setTheme(o.theme),this.setMenuMode(o.menuMode),this.setTitle(this.env.homebridgeInstanceName),this.checkServerTime(o.serverTimestamp),this.setUiVersion(o.env.packageVersion),this.setLang(this.env.lang),this.settingsLoaded=!0,this.settingsLoadedSubject.next(void 0)})}setBrowserLightingMode(o){this.browserLightingMode=o,this.lightingMode==="auto"&&this.setLightingMode(o,"browser")}setLightingMode(o,d){d==="user"&&(this.lightingMode=o),this.currentLightingMode=o,this.actualLightingMode=this.currentLightingMode==="auto"?this.browserLightingMode:this.currentLightingMode,this.theme&&this.setTheme(this.theme)}setTheme(o){(!o||!this.themeList.includes(o))&&(o=this.defaultTheme,N(this.$api.put("/config-editor/ui",{key:"theme",value:o})).catch($=>console.error($)));let d=window.document.querySelector("body");d.classList.remove(`config-ui-x-${this.theme}`),d.classList.remove(`config-ui-x-dark-mode-${this.theme}`),this.theme=o,this.actualLightingMode==="dark"?(d.classList.add(`config-ui-x-dark-mode-${this.theme}`),d.classList.contains("dark-mode")||d.classList.add("dark-mode")):(d.classList.add(`config-ui-x-${this.theme}`),d.classList.contains("dark-mode")&&d.classList.remove("dark-mode"))}setMenuMode(o){this.menuMode=o}setTitle(o){this.$title.setTitle(o||"Homebridge")}setUiVersion(o){this.uiVersion||(this.uiVersion=o)}setLang(o){o?this.$translate.use(o):o="auto",this.env.lang=o}setEnvItem(o,d){this.env[o]=d}checkServerTime(o){let $=(0,q.default)(o).diff((0,q.default)(),"hour");this.serverTimeOffset=$*60*60,($>=8||$<=-8)&&this.$toastr.warning(this.$translate.instant("settings.datetime.incorrect"),this.$translate.instant("toast.title_warning"),{timeOut:2e4,tapToDismiss:!1}).onTap.subscribe(()=>{window.open("https://homebridge.io/w/JqTFs","_blank")})}static \u0275fac=function(d){return new(d||M)};static \u0275prov=R({token:M,factory:M.\u0275fac,providedIn:"root"})}return M})();export{nt as a,vt as b};
1
+ import{h as et,k as it}from"./chunk-37FVXLTH.js";import{l as X}from"./chunk-ASBFWS7L.js";import{a as tt}from"./chunk-DJKI5XBW.js";import{T as K,e as ut,g as ct,ga as R,h as Q,la as Y,n as G,w as N}from"./chunk-U4V4ICSI.js";var nt=ut((J,Z)=>{(function(M,b){typeof J=="object"&&typeof Z<"u"?Z.exports=b():typeof define=="function"&&define.amd?define(b):(M=typeof globalThis<"u"?globalThis:M||self).dayjs=b()})(J,function(){"use strict";var M=1e3,b=6e4,o=36e5,d="millisecond",$="second",L="minute",O="hour",y="day",W="week",v="month",z="quarter",S="year",_="date",B="Invalid Date",rt=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,st=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,at={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(r){var i=["th","st","nd","rd"],t=r%100;return"["+r+(i[(t-20)%10]||i[t]||i[0])+"]"}},F=function(r,i,t){var n=String(r);return!n||n.length>=i?r:""+Array(i+1-n.length).join(t)+r},ot={s:F,z:function(r){var i=-r.utcOffset(),t=Math.abs(i),n=Math.floor(t/60),e=t%60;return(i<=0?"+":"-")+F(n,2,"0")+":"+F(e,2,"0")},m:function r(i,t){if(i.date()<t.date())return-r(t,i);var n=12*(t.year()-i.year())+(t.month()-i.month()),e=i.clone().add(n,v),s=t-e<0,a=i.clone().add(n+(s?-1:1),v);return+(-(n+(t-e)/(s?e-a:a-e))||0)},a:function(r){return r<0?Math.ceil(r)||0:Math.floor(r)},p:function(r){return{M:v,y:S,w:W,d:y,D:_,h:O,m:L,s:$,ms:d,Q:z}[r]||String(r||"").toLowerCase().replace(/s$/,"")},u:function(r){return r===void 0}},x="en",D={};D[x]=at;var E="$isDayjsObject",U=function(r){return r instanceof V||!(!r||!r[E])},I=function r(i,t,n){var e;if(!i)return x;if(typeof i=="string"){var s=i.toLowerCase();D[s]&&(e=s),t&&(D[s]=t,e=s);var a=i.split("-");if(!e&&a.length>1)return r(a[0])}else{var c=i.name;D[c]=i,e=c}return!n&&e&&(x=e),e||!n&&x},f=function(r,i){if(U(r))return r.clone();var t=typeof i=="object"?i:{};return t.date=r,t.args=arguments,new V(t)},u=ot;u.l=I,u.i=U,u.w=function(r,i){return f(r,{locale:i.$L,utc:i.$u,x:i.$x,$offset:i.$offset})};var V=function(){function r(t){this.$L=I(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[E]=!0}var i=r.prototype;return i.parse=function(t){this.$d=function(n){var e=n.date,s=n.utc;if(e===null)return new Date(NaN);if(u.u(e))return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){var a=e.match(rt);if(a){var c=a[2]-1||0,h=(a[7]||"0").substring(0,3);return s?new Date(Date.UTC(a[1],c,a[3]||1,a[4]||0,a[5]||0,a[6]||0,h)):new Date(a[1],c,a[3]||1,a[4]||0,a[5]||0,a[6]||0,h)}}return new Date(e)}(t),this.init()},i.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},i.$utils=function(){return u},i.isValid=function(){return this.$d.toString()!==B},i.isSame=function(t,n){var e=f(t);return this.startOf(n)<=e&&e<=this.endOf(n)},i.isAfter=function(t,n){return f(t)<this.startOf(n)},i.isBefore=function(t,n){return this.endOf(n)<f(t)},i.$g=function(t,n,e){return u.u(t)?this[n]:this.set(e,t)},i.unix=function(){return Math.floor(this.valueOf()/1e3)},i.valueOf=function(){return this.$d.getTime()},i.startOf=function(t,n){var e=this,s=!!u.u(n)||n,a=u.p(t),c=function(k,m){var w=u.w(e.$u?Date.UTC(e.$y,m,k):new Date(e.$y,m,k),e);return s?w:w.endOf(y)},h=function(k,m){return u.w(e.toDate()[k].apply(e.toDate("s"),(s?[0,0,0,0]:[23,59,59,999]).slice(m)),e)},l=this.$W,g=this.$M,p=this.$D,j="set"+(this.$u?"UTC":"");switch(a){case S:return s?c(1,0):c(31,11);case v:return s?c(1,g):c(0,g+1);case W:var T=this.$locale().weekStart||0,A=(l<T?l+7:l)-T;return c(s?p-A:p+(6-A),g);case y:case _:return h(j+"Hours",0);case O:return h(j+"Minutes",1);case L:return h(j+"Seconds",2);case $:return h(j+"Milliseconds",3);default:return this.clone()}},i.endOf=function(t){return this.startOf(t,!1)},i.$set=function(t,n){var e,s=u.p(t),a="set"+(this.$u?"UTC":""),c=(e={},e[y]=a+"Date",e[_]=a+"Date",e[v]=a+"Month",e[S]=a+"FullYear",e[O]=a+"Hours",e[L]=a+"Minutes",e[$]=a+"Seconds",e[d]=a+"Milliseconds",e)[s],h=s===y?this.$D+(n-this.$W):n;if(s===v||s===S){var l=this.clone().set(_,1);l.$d[c](h),l.init(),this.$d=l.set(_,Math.min(this.$D,l.daysInMonth())).$d}else c&&this.$d[c](h);return this.init(),this},i.set=function(t,n){return this.clone().$set(t,n)},i.get=function(t){return this[u.p(t)]()},i.add=function(t,n){var e,s=this;t=Number(t);var a=u.p(n),c=function(g){var p=f(s);return u.w(p.date(p.date()+Math.round(g*t)),s)};if(a===v)return this.set(v,this.$M+t);if(a===S)return this.set(S,this.$y+t);if(a===y)return c(1);if(a===W)return c(7);var h=(e={},e[L]=b,e[O]=o,e[$]=M,e)[a]||1,l=this.$d.getTime()+t*h;return u.w(l,this)},i.subtract=function(t,n){return this.add(-1*t,n)},i.format=function(t){var n=this,e=this.$locale();if(!this.isValid())return e.invalidDate||B;var s=t||"YYYY-MM-DDTHH:mm:ssZ",a=u.z(this),c=this.$H,h=this.$m,l=this.$M,g=e.weekdays,p=e.months,j=e.meridiem,T=function(m,w,H,C){return m&&(m[w]||m(n,s))||H[w].slice(0,C)},A=function(m){return u.s(c%12||12,m,"0")},k=j||function(m,w,H){var C=m<12?"AM":"PM";return H?C.toLowerCase():C};return s.replace(st,function(m,w){return w||function(H){switch(H){case"YY":return String(n.$y).slice(-2);case"YYYY":return u.s(n.$y,4,"0");case"M":return l+1;case"MM":return u.s(l+1,2,"0");case"MMM":return T(e.monthsShort,l,p,3);case"MMMM":return T(p,l);case"D":return n.$D;case"DD":return u.s(n.$D,2,"0");case"d":return String(n.$W);case"dd":return T(e.weekdaysMin,n.$W,g,2);case"ddd":return T(e.weekdaysShort,n.$W,g,3);case"dddd":return g[n.$W];case"H":return String(c);case"HH":return u.s(c,2,"0");case"h":return A(1);case"hh":return A(2);case"a":return k(c,h,!0);case"A":return k(c,h,!1);case"m":return String(h);case"mm":return u.s(h,2,"0");case"s":return String(n.$s);case"ss":return u.s(n.$s,2,"0");case"SSS":return u.s(n.$ms,3,"0");case"Z":return a}return null}(m)||a.replace(":","")})},i.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},i.diff=function(t,n,e){var s,a=this,c=u.p(n),h=f(t),l=(h.utcOffset()-this.utcOffset())*b,g=this-h,p=function(){return u.m(a,h)};switch(c){case S:s=p()/12;break;case v:s=p();break;case z:s=p()/3;break;case W:s=(g-l)/6048e5;break;case y:s=(g-l)/864e5;break;case O:s=g/o;break;case L:s=g/b;break;case $:s=g/M;break;default:s=g}return e?s:u.a(s)},i.daysInMonth=function(){return this.endOf(v).$D},i.$locale=function(){return D[this.$L]},i.locale=function(t,n){if(!t)return this.$L;var e=this.clone(),s=I(t,n,!0);return s&&(e.$L=s),e},i.clone=function(){return u.w(this.$d,this)},i.toDate=function(){return new Date(this.valueOf())},i.toJSON=function(){return this.isValid()?this.toISOString():null},i.toISOString=function(){return this.$d.toISOString()},i.toString=function(){return this.$d.toUTCString()},r}(),P=V.prototype;return f.prototype=P,[["$ms",d],["$s",$],["$m",L],["$H",O],["$W",y],["$M",v],["$y",S],["$D",_]].forEach(function(r){P[r[1]]=function(i){return this.$g(i,r[0],r[1])}}),f.extend=function(r,i){return r.$i||(r(i,V,f),r.$i=!0),f},f.locale=I,f.isDayjs=U,f.unix=function(r){return f(1e3*r)},f.en=D[x],f.Ls=D,f.p={},f})});var q=ct(nt(),1);var vt=(()=>{class M{$api=Y(it);$title=Y(X);$toastr=Y(et);$translate=Y(tt);env={};formAuth=!0;uiVersion;theme;lightingMode;currentLightingMode;actualLightingMode;browserLightingMode;menuMode;loginWallpaper;serverTimeOffset=0;defaultTheme="orange";themeList=["orange","red","pink","purple","deep-purple","indigo","blue","blue-grey","cyan","green","teal","grey","brown"];rtl=!1;settingsLoadedSubject=new G;onSettingsLoaded=this.settingsLoadedSubject.pipe(K());settingsLoaded=!1;constructor(){this.getAppSettings()}getAppSettings(){return Q(this,null,function*(){let o=yield N(this.$api.get("/auth/settings"));this.formAuth=o.formAuth,this.env=o.env,this.lightingMode=o.lightingMode,this.loginWallpaper=o.loginWallpaper,this.setLightingMode(this.lightingMode,"user"),this.setTheme(o.theme),this.setMenuMode(o.menuMode),this.setTitle(this.env.homebridgeInstanceName),this.checkServerTime(o.serverTimestamp),this.setUiVersion(o.env.packageVersion),this.setLang(this.env.lang),this.settingsLoaded=!0,this.settingsLoadedSubject.next(void 0)})}setBrowserLightingMode(o){this.browserLightingMode=o,this.lightingMode==="auto"&&this.setLightingMode(o,"browser")}setLightingMode(o,d){d==="user"&&(this.lightingMode=o),this.currentLightingMode=o,this.actualLightingMode=this.currentLightingMode==="auto"?this.browserLightingMode:this.currentLightingMode,this.theme&&this.setTheme(this.theme)}setTheme(o){(!o||!this.themeList.includes(o))&&(o=this.defaultTheme,N(this.$api.put("/config-editor/ui",{key:"theme",value:o})).catch($=>console.error($)));let d=window.document.querySelector("body");d.classList.remove(`config-ui-x-${this.theme}`),d.classList.remove(`config-ui-x-dark-mode-${this.theme}`),this.theme=o,this.actualLightingMode==="dark"?(d.classList.add(`config-ui-x-dark-mode-${this.theme}`),d.classList.contains("dark-mode")||d.classList.add("dark-mode")):(d.classList.add(`config-ui-x-${this.theme}`),d.classList.contains("dark-mode")&&d.classList.remove("dark-mode"))}setMenuMode(o){this.menuMode=o}setTitle(o){this.$title.setTitle(o||"Homebridge")}setUiVersion(o){this.uiVersion||(this.uiVersion=o)}setLang(o){o?this.$translate.use(o):o="auto",this.env.lang=o}setEnvItem(o,d){this.env[o]=d}checkServerTime(o){let $=(0,q.default)(o).diff((0,q.default)(),"hour");this.serverTimeOffset=$*60*60,($>=8||$<=-8)&&this.$toastr.warning(this.$translate.instant("settings.datetime.incorrect"),this.$translate.instant("toast.title_warning"),{timeOut:2e4,tapToDismiss:!1}).onTap.subscribe(()=>{window.open("https://homebridge.io/w/JqTFs","_blank")})}static \u0275fac=function(d){return new(d||M)};static \u0275prov=R({token:M,factory:M.\u0275fac,providedIn:"root"})}return M})();export{nt as a,vt as b};
@@ -0,0 +1 @@
1
+ import{f as a}from"./chunk-XPN5TMQN.js";import"./chunk-SBMAEWZL.js";import"./chunk-S54GY5PX.js";import"./chunk-ESOONFXO.js";import"./chunk-UR24V3JB.js";import"./chunk-4XCUHCZU.js";import"./chunk-55BN66AX.js";import"./chunk-EPVBHJMO.js";import"./chunk-CHQVUHUA.js";import"./chunk-3VIG5M5R.js";import"./chunk-XZR7OZ6I.js";import"./chunk-6FASN3MD.js";import"./chunk-Q7VA22QV.js";import"./chunk-FHMZVMZK.js";import"./chunk-JMCN2SQV.js";import"./chunk-YXEV6KOV.js";import"./chunk-UH63AXBP.js";import"./chunk-LTDUXFUG.js";import"./chunk-2PGR64P5.js";import"./chunk-7S2SCSTB.js";import"./chunk-HLSZVFAU.js";import"./chunk-IEZW2VEP.js";import"./chunk-QR7L4UUP.js";import"./chunk-7GYDUXMU.js";import"./chunk-WP2UTBVE.js";import"./chunk-37FVXLTH.js";import"./chunk-ASBFWS7L.js";import"./chunk-DJKI5XBW.js";import"./chunk-U4V4ICSI.js";export{a as StatusComponent};