homebridge-config-ui-x 5.0.0-beta.90 → 5.0.0-beta.92

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 (89) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/config.schema.json +0 -21
  3. package/dist/bin/hb-service.js +1 -1
  4. package/dist/core/auth/auth.controller.d.ts +8 -2
  5. package/dist/core/config/config.service.d.ts +8 -2
  6. package/dist/core/config/config.service.js +8 -1
  7. package/dist/core/config/config.service.js.map +1 -1
  8. package/dist/modules/config-editor/config-editor.service.js +2 -2
  9. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  10. package/dist/modules/status/status.service.js +8 -0
  11. package/dist/modules/status/status.service.js.map +1 -1
  12. package/package.json +8 -3
  13. package/public/{chunk-IVCMNRU4.js → chunk-2CW327CY.js} +1 -1
  14. package/public/{chunk-P7BL7CLR.js → chunk-2KD2XOYC.js} +1 -1
  15. package/public/chunk-2WPK56PX.js +1 -0
  16. package/public/chunk-44RHSCAB.js +1 -0
  17. package/public/{chunk-E4XKX7UK.js → chunk-45Y2FG24.js} +1 -1
  18. package/public/{chunk-4FKCTI4U.js → chunk-4RSII4FO.js} +5 -5
  19. package/public/{chunk-VWFYKFR2.js → chunk-4T23HW6C.js} +1 -1
  20. package/public/{chunk-D4RGGBK3.js → chunk-4VQO4ZTU.js} +1 -1
  21. package/public/{chunk-5AQGPMHT.js → chunk-53367L4B.js} +1 -1
  22. package/public/{chunk-JFFBCK75.js → chunk-6KUFRRJO.js} +1 -1
  23. package/public/{chunk-FY5PL5MR.js → chunk-6PWEY66K.js} +1 -1
  24. package/public/{chunk-MMXKQEQO.js → chunk-6RF3TDAU.js} +1 -1
  25. package/public/chunk-7AYYKL3I.js +1 -0
  26. package/public/{chunk-B6WBGOVM.js → chunk-7FVSDABO.js} +1 -1
  27. package/public/{chunk-42N4BQBA.js → chunk-7X3XMTAN.js} +1 -1
  28. package/public/chunk-AIOIWKCY.js +1 -0
  29. package/public/chunk-B55JVEWT.js +1 -0
  30. package/public/{chunk-CVKLBLXM.js → chunk-BNGLNG3U.js} +1 -1
  31. package/public/{chunk-EEUYLNDO.js → chunk-BU76M3H5.js} +1 -1
  32. package/public/{chunk-SF7DRFC6.js → chunk-CJFTYWNR.js} +1 -1
  33. package/public/{chunk-3AF2QBDU.js → chunk-CTSSD2EZ.js} +1 -1
  34. package/public/{chunk-VOOJDGMJ.js → chunk-DM5V4JFC.js} +1 -1
  35. package/public/{chunk-ZE45ONWQ.js → chunk-DMZKSOE6.js} +1 -1
  36. package/public/{chunk-UT52O3FM.js → chunk-DP47RFFX.js} +1 -1
  37. package/public/{chunk-PA52AH7H.js → chunk-DYOKFUUF.js} +1 -1
  38. package/public/chunk-EEBYUVQY.js +1 -0
  39. package/public/chunk-EFHLJTQ3.js +1 -0
  40. package/public/{chunk-VB5IQKBP.js → chunk-EWFACBTA.js} +1 -1
  41. package/public/chunk-F2KSAULE.js +1 -0
  42. package/public/{chunk-D6TU4SM3.js → chunk-FB6SIZJB.js} +1 -1
  43. package/public/{chunk-F7SPUPN4.js → chunk-FHAEPFX4.js} +1 -1
  44. package/public/{chunk-4XXNIIG7.js → chunk-FYPMMNJH.js} +1 -1
  45. package/public/chunk-GTUHXK3Q.js +1 -0
  46. package/public/{chunk-EP2F3UQR.js → chunk-HOC3JRUW.js} +1 -1
  47. package/public/{chunk-K25HWAP5.js → chunk-HSQMH5MK.js} +1 -1
  48. package/public/{chunk-DM5B72RZ.js → chunk-HY4VKKSI.js} +1 -1
  49. package/public/chunk-IARRIMKK.js +1 -0
  50. package/public/chunk-JYF4U2K3.js +1 -0
  51. package/public/chunk-KL2VWGZB.js +1 -0
  52. package/public/{chunk-UVGXL5ZW.js → chunk-LVDRJVNM.js} +1 -1
  53. package/public/{chunk-A72PCJ6R.js → chunk-MHT5EWEJ.js} +1 -1
  54. package/public/{chunk-4CNFMQHX.js → chunk-N5Z6Q3PB.js} +1 -1
  55. package/public/{chunk-UT35MQIH.js → chunk-O7HG4PDK.js} +1 -1
  56. package/public/{chunk-CW7HPG62.js → chunk-OXYS5VG3.js} +1 -1
  57. package/public/{chunk-NHJTMRLT.js → chunk-QARZCKVI.js} +1 -1
  58. package/public/{chunk-2RK3HZEO.js → chunk-RMRL4WBE.js} +1 -1
  59. package/public/{chunk-YWOWWE53.js → chunk-SSI3OSA4.js} +1 -1
  60. package/public/chunk-TS2FX75D.js +1 -0
  61. package/public/{chunk-XW322JAX.js → chunk-ULEGYJKD.js} +1 -1
  62. package/public/chunk-ULOQNFLF.js +1 -0
  63. package/public/{chunk-XCSR3FBC.js → chunk-VKY76476.js} +1 -1
  64. package/public/{chunk-4V6GR2SD.js → chunk-WA55SQES.js} +1 -1
  65. package/public/chunk-WFC2KZ5X.js +1 -0
  66. package/public/chunk-WPJYEGTG.js +1 -0
  67. package/public/{chunk-ET7FWSNM.js → chunk-X4SELLPV.js} +1 -1
  68. package/public/{chunk-XOC6FQ7D.js → chunk-XV3L5UW5.js} +1 -1
  69. package/public/{chunk-3SQKC2TS.js → chunk-ZKD2IJFD.js} +1 -1
  70. package/public/{chunk-ZZCXKIGL.js → chunk-ZVEQJMUN.js} +1 -1
  71. package/public/index.html +1 -1
  72. package/public/main-JYGJYOC2.js +1 -0
  73. package/public/chunk-3YAYVLRD.js +0 -1
  74. package/public/chunk-45VPTZ2V.js +0 -1
  75. package/public/chunk-5UZVX47W.js +0 -1
  76. package/public/chunk-7Y6NWNO6.js +0 -1
  77. package/public/chunk-AE26NEIO.js +0 -1
  78. package/public/chunk-GGYRCAYF.js +0 -1
  79. package/public/chunk-JZQGN6ID.js +0 -1
  80. package/public/chunk-LNCIURRX.js +0 -1
  81. package/public/chunk-O7MBAN56.js +0 -1
  82. package/public/chunk-PLCPUQJZ.js +0 -1
  83. package/public/chunk-QQ5WKGNO.js +0 -1
  84. package/public/chunk-SVB7PE7C.js +0 -1
  85. package/public/chunk-TPK2GQ3K.js +0 -1
  86. package/public/chunk-XZIODJCL.js +0 -1
  87. package/public/chunk-ZVMYOL56.js +0 -1
  88. package/public/chunk-ZZNJCKGO.js +0 -1
  89. package/public/main-U47N7JMY.js +0 -1
@@ -0,0 +1 @@
1
+ import{a as Ve}from"./chunk-EWFACBTA.js";import{w as Ne}from"./chunk-MHT5EWEJ.js";import{b as Ze}from"./chunk-6RF3TDAU.js";import{a as Xe,b as Ye}from"./chunk-Y6TXYIFY.js";import{g as ae,m as R,n as W,o as De}from"./chunk-2EMPNH2X.js";import{A as J,b as q,c as te,e as Q,j as E,k as ke,l as Ie,n as we,o as ie,r as Ee,s as Be,t as Te,u as $e,v as Fe,x as Re,z as ne}from"./chunk-EJ3RNOUF.js";import{d as V,e as Ae}from"./chunk-ZOLUFCSO.js";import{a as Me}from"./chunk-VKY76476.js";import{b as X}from"./chunk-7X3XMTAN.js";import{c as ye,d as le,f as ee,g as pe,k as A,m as Pe,n as P}from"./chunk-KL2VWGZB.js";import{c as xe,d as Se}from"./chunk-FDPTBVVC.js";import{a as D,b as F}from"./chunk-GOW5VSYJ.js";import{$a as t,Ac as o,Bc as s,Cc as L,Gb as v,Hb as h,Ib as _,Kb as N,Lb as z,M as w,Mb as O,Nb as m,Ob as n,Pb as a,Qb as d,Ub as I,Xa as se,Xb as f,Ya as ue,Yb as b,ac as he,bc as _e,bd as U,cc as ge,g as oe,gd as Z,h as S,id as Ce,jc as l,kc as u,la as C,lb as $,lc as g,qc as be,ra as y,rc as ve,sa as k,sc as fe,w as B,wc as M,xc as T,yc as j}from"./chunk-NR37MAXW.js";var de=oe(Ze(),1);var ze=oe(Xe(),1),Oe=oe(Ye(),1);var et=i=>({maxBackupSizeText:i});function tt(i,c){if(i&1&&d(0,"input",10),i&2){let e=b(2);m("value",e.selectedBackup.fileName)}}function it(i,c){if(i&1){let e=I();n(0,"input",12),f("change",function(p){y(e);let x=b(2);return k(x.handleRestoreFileInput(p.target.files))}),a()}}function nt(i,c){if(i&1&&(n(0,"div",4)(1,"div",7),d(2,"i",8),a(),n(3,"ul",9)(4,"li"),l(5),o(6,"translate"),a(),n(7,"li"),l(8),o(9,"translate"),a(),n(10,"li"),l(11),o(12,"translate"),a(),n(13,"li"),l(14),o(15,"translate"),a()(),h(16,tt,1,1,"input",10),h(17,it,1,0,"input",11),a()),i&2){let e=b();t(5),u(s(6,6,"backup.restore_help_one")),t(3),u(s(9,8,"backup.restore_help_two")),t(3),u(L(12,10,"backup.restore_max_size",M(15,et,e.maxFileSizeText))),t(3),u(s(15,13,"backup.restore_warning")),t(2),_(e.selectedBackup?16:-1),t(),_(e.selectedBackup?-1:17)}}function at(i,c){if(i&1){let e=I();n(0,"button",18),o(1,"translate"),f("click",function(){y(e);let p=b(2);return k(p.$activeModal.dismiss("Dismiss"))}),l(2),o(3,"translate"),a()}if(i&2){let e=b(2);m("disabled",e.clicked),v("aria-label",s(1,3,"form.button_close")),t(2),g(" ",s(3,5,"form.button_close")," ")}}function rt(i,c){if(i&1){let e=I();n(0,"button",18),o(1,"translate"),f("click",function(){y(e);let p=b(2);return k(p.reopenBackupModal())}),l(2),o(3,"translate"),a()}if(i&2){let e=b(2);m("disabled",e.clicked),v("aria-label",s(1,3,"form.button_back")),t(2),g(" ",s(3,5,"form.button_back")," ")}}function ot(i,c){i&1&&d(0,"i",19)}function st(i,c){if(i&1&&(n(0,"span"),l(1),a()),i&2){let e=b(3);t(),g("",e.uploadPercent,"% - ")}}function lt(i,c){i&1&&(n(0,"span"),l(1," Extracting Archive"),a())}function pt(i,c){i&1&&(n(0,"span"),l(1),o(2,"translate"),a()),i&2&&(t(),g(" ",s(2,1,"backup.label_uploading")))}function dt(i,c){if(i&1&&(n(0,"span"),h(1,ot,1,0,"i",19),h(2,st,2,1,"span"),h(3,lt,2,0,"span"),h(4,pt,3,3,"span"),a()),i&2){let e=b(2);t(),_(!e.uploadPercent||e.uploadPercent===100?1:-1),t(),_(e.uploadPercent&&e.uploadPercent!==100?2:-1),t(),_(e.uploadPercent===100?3:-1),t(),_(e.uploadPercent!==100?4:-1)}}function ct(i,c){i&1&&(l(0),o(1,"translate")),i&2&&g(" ",s(1,1,"form.button_restore")," ")}function mt(i,c){if(i&1){let e=I();n(0,"div",6)(1,"div",13),h(2,at,4,7,"button",14),h(3,rt,4,7,"button",14),a(),d(4,"div",15),n(5,"div",16)(6,"button",17),f("click",function(){y(e);let p=b();return k(p.onRestoreBackupClick())}),h(7,dt,5,4,"span"),h(8,ct,2,3),a()()()}if(i&2){let e=b();t(2),_(e.setupWizardRestore?2:-1),t(),_(e.setupWizardRestore?-1:3),t(3),m("disabled",!e.selectedBackup&&!e.selectedFile||e.clicked),t(),_(e.clicked?7:-1),t(),_(e.clicked?-1:8)}}function ut(i,c){if(i&1){let e=I();n(0,"div",6),d(1,"div",13),n(2,"div",15)(3,"button",20),f("click",function(){y(e);let p=b();return k(p.postBackupRestart())}),l(4),o(5,"translate"),a()(),d(6,"div",16),a()}i&2&&(t(4),g(" ",s(5,1,"menu.hbrestart.title")," "))}var Le=(()=>{class i{$activeModal=C(R);$api=C(P);$modal=C(W);$route=C(V);$toastr=C(A);$translate=C(D);$ws=C(Me);setupWizardRestore=!1;selectedBackup=null;clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;restoreInProgress=!1;restoreStarted=!1;restoreFailed=!1;restoreArchiveType="homebridge";uploadPercent=0;term=new ze.Terminal;termTarget;fitAddon=new Oe.FitAddon;io;constructor(){}ngOnInit(){return S(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:r=>{console.error(r),this.$toastr.error(r.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})}restoreScheduledBackup(){return S(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 S(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:r=>{r.type===xe.UploadProgress?this.uploadPercent=Math.round(100*r.loaded/r.total):r instanceof Se&&(this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startHbfxRestore()},500),this.clicked=!1)},error:r=>{this.clicked=!1,console.error(r),this.$toastr.error(r.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})}startHbfxRestore(){return S(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(re,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.io.end()}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,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(r,p){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),o(4,"translate"),a(),n(5,"button",3),o(6,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),a()(),h(7,nt,18,17,"div",4),d(8,"div",5),h(9,mt,9,5,"div",6),h(10,ut,7,3,"div",6),a()),r&2&&(t(3),u(s(4,7,"backup.title_backup")),t(2),m("disabled",p.restoreInProgress),v("aria-label",s(6,9,"form.button_close")),t(2),_(!p.restoreStarted&&!p.setupWizardRestore?7:-1),t(),m("hidden",!p.restoreStarted),t(),_(!p.restoreStarted||p.restoreFailed===!0?9:-1),t(),_(!p.restoreInProgress&&p.restoreStarted?10:-1))},dependencies:[F],encapsulation:2})}return i})();var ht=(i,c)=>({"fa-arrow-right":i,"fa-cog fa-spin":c}),_t=i=>({backupTime:i,dayCount:7}),gt=(i,c)=>({"fa-trash":i,"fa-cog fa-spin":c}),bt=(i,c)=>({backupSize:i,maxBackupSizeText:c});function vt(i,c){if(i&1&&(n(0,"li",23)(1,"label",28),l(2),o(3,"translate"),a(),n(4,"div",29),d(5,"input",30),o(6,"translate"),a()()),i&2){let e=b();t(2),u(s(3,3,"backup.settings_path")),t(3),m("formControl",e.pathFormControl),v("aria-label",s(6,5,"backup.settings_path"))}}function ft(i,c){if(i&1&&(l(0),o(1,"date"),o(2,"translate")),i&2){let e=b(2);g(" ",L(2,4,"backup.scheduled_backup_time",M(7,_t,L(1,1,e.backupTime,"shortTime")))," ")}}function Ct(i,c){i&1&&(l(0),o(1,"translate")),i&2&&g(" ",s(1,1,"backup.scheduled_backup_disabled")," ")}function xt(i,c){if(i&1&&(n(0,"span",33),o(1,"translate"),d(2,"i",40),l(3),a()),i&2){let e=b().$implicit;m("ngbTooltip",L(1,2,"backup.backup_exceeds_max_size",T(5,bt,e.size+"MB",e.maxBackupSizeText))),t(3),g(" ",e.size,"MB ")}}function St(i,c){if(i&1&&(n(0,"span"),l(1),a()),i&2){let e=b().$implicit;t(),g(" ",e.size,"MB ")}}function yt(i,c){if(i&1){let e=I();n(0,"li",9)(1,"span")(2,"span",32),l(3),o(4,"date"),a(),d(5,"br"),n(6,"small",10),l(7),o(8,"date"),h(9,xt,4,8,"span",33),h(10,St,2,1,"span"),a()(),n(11,"span",34)(12,"button",35),o(13,"translate"),o(14,"translate"),f("click",function(){let p=y(e).$implicit,x=b(2);return k(x.restore(p))}),d(15,"i",36),a(),n(16,"button",37),o(17,"translate"),o(18,"translate"),f("click",function(){let p=y(e).$implicit,x=b(2);return k(x.download(p))}),d(19,"i",38),a(),n(20,"button",39),o(21,"translate"),o(22,"translate"),f("click",function(){let p=y(e).$implicit,x=b(2);return k(x.delete(p))}),d(23,"i",12),a()()()}if(i&2){let e=c.$implicit,r=b(2);t(2),m("ngbTooltip",e.fileName),t(),g(" ",L(4,15,e.timestamp,"mediumDate")," "),t(4),g(" ",L(8,18,e.timestamp,"shortTime")," \xB7 "),t(2),_(e.size>e.maxBackupSize?9:-1),t(),_(e.size<=e.maxBackupSize?10:-1),t(2),m("disabled",r.clicked||r.deleting||e.size>e.maxBackupSize)("ngbTooltip",s(13,21,"form.button_restore")),v("aria-label",s(14,23,"form.button_restore")),t(4),m("disabled",r.clicked||r.deleting)("ngbTooltip",s(17,25,"form.button_download")),v("aria-label",s(18,27,"form.button_download")),t(4),m("disabled",r.clicked||r.deleting)("ngbTooltip",s(21,29,"form.button_delete")),v("aria-label",s(22,31,"form.button_delete")),t(3),m("ngClass",T(33,gt,e.id!==r.deleting,e.id===r.deleting))}}function kt(i,c){if(i&1&&(n(0,"ul",14)(1,"li",15)(2,"h6",16),l(3),o(4,"translate"),a(),n(5,"p",31),h(6,ft,3,9),h(7,Ct,2,3),a()(),z(8,yt,24,36,"li",9,N),a()),i&2){let e=b();t(3),u(s(4,3,"backup.files_auto")),t(3),_(e.currentSettingEnabled&&e.backupTime?6:-1),t(),_(!e.currentSettingEnabled||!e.backupTime?7:-1),t(),O(e.scheduledBackups)}}var re=(()=>{class i{$activeModal=C(R);$api=C(P);$modal=C(W);$router=C(V);$settings=C(X);$toastr=C(A);$translate=C(D);restartToastIsShown=!1;clicked=!1;scheduledBackups=[];backupTime;deleting=null;currentSettingEnabled=!1;currentSettingPath="";enabledFormControl=new E(!1);pathFormControl=new E("");constructor(){}ngOnInit(){this.getScheduledBackups(),this.getNextBackup(),this.currentSettingEnabled=!this.$settings.env.scheduledBackupDisable,this.currentSettingPath=this.$settings.env.scheduledBackupPath,this.enabledFormControl.patchValue(this.currentSettingEnabled),this.pathFormControl.patchValue(this.currentSettingPath),this.enabledFormControl.valueChanges.pipe(w(750)).subscribe(e=>S(this,null,function*(){this.currentSettingEnabled=e,yield this.saveUiSettingChange("scheduledBackupDisable",!this.currentSettingEnabled)})),this.pathFormControl.valueChanges.pipe(w(1500)).subscribe(e=>S(this,null,function*(){this.currentSettingPath=e,yield this.saveUiSettingChange("scheduledBackupPath",this.currentSettingPath)}))}saveUiSettingChange(e,r){return S(this,null,function*(){try{yield B(this.$api.put("/config-editor/ui",{key:e,value:r})),this.showRestartToast()}catch(p){console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})}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:r=>{let p=e.fileName||"homebridge-backup.tar.gz",x=r.body.size;if(x>globalThis.backup.maxBackupSize){let H=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(x/1048576).toFixed(1)}MB`});this.$toastr.warning(H,this.$translate.instant("toast.title_warning"))}(0,de.saveAs)(r.body,p)},error:r=>{console.error(r),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})}restore(e){this.$activeModal.close();let r=this.$modal.open(Le,{size:"lg",backdrop:"static"});r.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:r=>{this.deleting=null,console.error(r),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"))}})}onDownloadBackupClick(){return S(this,null,function*(){this.clicked=!0,this.$api.get("/backup/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{let r=e.headers.get("File-Name")||"homebridge-backup.tar.gz";this.clicked=!1;let p=e.body.size;if(p>globalThis.backup.maxBackupSize){let x=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(p/1048576).toFixed(1)}MB`});this.$toastr.warning(x,this.$translate.instant("toast.title_warning"))}(0,de.saveAs)(e.body,r)},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})})}showRestartToast(){if(!this.restartToastIsShown){this.restartToastIsShown=!0;let e=this.$toastr.info(this.$translate.instant("settings.changes.saved"),this.$translate.instant("menu.hbrestart.title"),{timeOut:0,closeButton:!1,tapToDismiss:!0,disableTimeOut:!0,positionClass:"toast-bottom-right",enableHtml:!0});e&&e.onTap&&e.onTap.subscribe(()=>{this.$router.navigate(["/restart"])})}}Date=Date;static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],decls:70,vars:59,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,"list-group-item"],[1,"mb-1","text-center"],[1,"mb-0","small","grey-text","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","disableScheduledBackups",1,"rendux-input",3,"formControl"],["for","disableScheduledBackups",1,"rendux-label"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"modal-footer","justify-content-between"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-end"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","text","placeholder","/home/pi/homebridge-backups",1,"form-control","custom-input",3,"formControl"],[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(r,p){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),o(4,"translate"),a(),n(5,"button",3),o(6,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),a()(),n(7,"div",4)(8,"div",5),d(9,"i",6),a(),n(10,"ul",7)(11,"li"),l(12),o(13,"translate"),a(),n(14,"li"),l(15),o(16,"translate"),a(),n(17,"li"),l(18),o(19,"translate"),a()(),n(20,"ul",8)(21,"li",9)(22,"div")(23,"span"),l(24),o(25,"translate"),a(),d(26,"br"),n(27,"small",10),l(28),o(29,"translate"),a()(),n(30,"button",11),o(31,"translate"),f("click",function(){return p.onDownloadBackupClick()}),d(32,"i",12),a()(),n(33,"li",9)(34,"div")(35,"span"),l(36),o(37,"translate"),a(),d(38,"br"),n(39,"small",10),l(40),o(41,"translate"),a()(),n(42,"button",11),o(43,"translate"),f("click",function(){return p.restore(null)}),d(44,"i",13),a()()(),n(45,"ul",14)(46,"li",15)(47,"h6",16),l(48),o(49,"translate"),a(),n(50,"p",17),l(51),o(52,"translate"),a()(),n(53,"li",18)(54,"span",19),l(55),o(56,"translate"),a(),n(57,"div",20),d(58,"input",21),o(59,"translate"),d(60,"label",22),a()(),h(61,vt,7,7,"li",23),a(),h(62,kt,10,5,"ul",14),a(),n(63,"div",24),d(64,"div",19),n(65,"div",25)(66,"button",26),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),l(67),o(68,"translate"),a()(),d(69,"div",27),a()()),r&2&&(t(3),u(s(4,24,"backup.title_backup")),t(2),m("disabled",p.clicked||p.deleting),v("aria-label",s(6,26,"form.button_close")),t(7),u(s(13,28,"backup.backup_help_one")),t(3),u(s(16,30,"backup.backup_help_two")),t(3),u(s(19,32,"backup.backup_warning")),t(6),u(s(25,34,"backup.backup_now")),t(4),u(s(29,36,"backup.backup_now_desc")),t(2),m("disabled",p.clicked),v("aria-label",s(31,38,"backup.backup_now")),t(2),m("ngClass",T(56,ht,!p.clicked,p.clicked)),t(4),u(s(37,40,"backup.restore_now")),t(4),u(s(41,42,"backup.restore_now_desc")),t(2),m("disabled",p.clicked),v("aria-label",s(43,44,"backup.restore_now")),t(6),u(s(49,46,"backup.settings_title")),t(3),u(s(52,48,"form.auto_save")),t(4),u(s(56,50,"backup.settings_enable")),t(3),m("formControl",p.enabledFormControl),v("aria-label",s(59,52,"backup.settings_enable")),t(3),_(p.currentSettingEnabled?61:-1),t(),_(p.scheduledBackups.length?62:-1),t(4),m("disabled",p.clicked||p.deleting),t(),g(" ",s(68,54,"form.button_close")," "))},dependencies:[De,U,Ce,F,J,te,q,Q,ie],encapsulation:2})}return i})();function It(i,c){i&1&&(n(0,"div",12),d(1,"i",13),a(),n(2,"p",14),l(3),o(4,"translate"),a()),i&2&&(t(3),u(s(4,1,"reset.no_accessories")))}function wt(i,c){i&1&&(n(0,"div",12),d(1,"i",15),a(),n(2,"ul",16)(3,"li"),l(4),o(5,"translate"),a(),n(6,"li"),l(7),o(8,"translate"),a(),n(9,"li"),l(10),o(11,"translate"),a()(),n(12,"ngb-alert",17)(13,"p",18),l(14),o(15,"translate"),a()()),i&2&&(t(4),u(s(5,5,"reset.accessory_all.list_1")),t(3),u(s(8,7,"reset.accessory_all.list_2")),t(3),u(s(11,9,"reset.accessory_all.list_3")),t(2),m("dismissible",!1),t(2),u(s(15,11,"reset.action_is_irreversible")))}function Et(i,c){if(i&1){let e=I();n(0,"button",19),o(1,"translate"),f("click",function(){y(e);let p=b();return k(p.$activeModal.dismiss("Dismiss"))}),l(2),o(3,"translate"),a()}if(i&2){let e=b();m("disabled",e.clicked),v("aria-label",s(1,3,"form.button_close")),t(2),g(" ",s(3,5,"form.button_close")," ")}}function Bt(i,c){if(i&1){let e=I();n(0,"button",20),o(1,"translate"),f("click",function(){y(e);let p=b();return k(p.$activeModal.dismiss("Dismiss"))}),l(2),o(3,"translate"),a()}i&2&&(v("aria-label",s(1,2,"form.button_close")),t(2),g(" ",s(3,4,"form.button_close")," "))}function Tt(i,c){i&1&&(l(0),o(1,"translate")),i&2&&g(" ",s(1,1,"form.button_remove")," ")}function $t(i,c){i&1&&d(0,"i",22)}function Ft(i,c){if(i&1){let e=I();n(0,"button",21),f("click",function(){y(e);let p=b();return k(p.onResetCachedAccessoriesClick())}),h(1,Tt,2,3),h(2,$t,1,0,"i",22),a()}if(i&2){let e=b();m("disabled",e.clicked),t(),_(e.clicked?-1:1),t(),_(e.clicked?2:-1)}}var Ue=(()=>{class i{$activeModal=C(R);$api=C(P);$router=C(V);$toastr=C(A);$translate=C(D);clicked=!1;cachedAccessories=[];constructor(){}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return S(this,null,function*(){try{this.cachedAccessories=yield B(this.$api.get("/server/cached-accessories"))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}onResetCachedAccessoriesClick(){return this.clicked=!0,this.$api.put("/server/reset-cached-accessories",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.delete_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],decls:17,vars:12,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,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(r,p){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),o(4,"translate"),a(),n(5,"button",3),o(6,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),a()(),n(7,"div",4),h(8,It,5,3),h(9,wt,16,13),a(),n(10,"div",5)(11,"div",6),h(12,Et,4,7,"button",7),a(),n(13,"div",8),h(14,Bt,4,6,"button",9),a(),n(15,"div",10),h(16,Ft,3,3,"button",11),a()()()),r&2&&(t(3),u(s(4,8,"reset.accessory_all.title")),t(2),m("disabled",p.clicked),v("aria-label",s(6,10,"form.button_close")),t(3),_(p.cachedAccessories.length===0?8:-1),t(),_(p.cachedAccessories.length>0?9:-1),t(3),_(p.cachedAccessories.length>0?12:-1),t(2),_(p.cachedAccessories.length===0?14:-1),t(2),_(p.cachedAccessories.length>0?16:-1))},dependencies:[ae,F],encapsulation:2})}return i})();var Rt=(i,c)=>({"green-text":i,"grey-text":c}),Dt=(i,c)=>({"btn-danger":i,"btn-elegant":c}),At=(i,c,e)=>({"fa-broom":i,"fa-undo":c,"fa-spinner fa-pulse":e});function Pt(i,c){i&1&&(n(0,"div",12),d(1,"i",13),a(),n(2,"p",14),l(3),o(4,"translate"),a()),i&2&&(t(3),u(s(4,1,"reset.bridge_accessories.empty")))}function Mt(i,c){if(i&1){let e=I();n(0,"li",18)(1,"span"),l(2),d(3,"br"),n(4,"small",19),d(5,"i",20),l(6),o(7,"translate"),n(8,"span",21),l(9),a()()(),n(10,"button",22),o(11,"translate"),f("click",function(){let p=y(e).$implicit,x=b(2);return k(x.toggleList(p._id))}),d(12,"i",23),a()()}if(i&2){let e=c.$implicit,r=b(2);t(2),g(" ",e.name," "),t(3),m("ngClass",T(12,Rt,e._isPaired,!e._isPaired)),t(),g(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),u(e._username),t(),m("disabled",r.clicked)("ngClass",T(15,Dt,!r.toDelete.includes(e._id),r.toDelete.includes(e._id))),v("aria-label",s(11,10,"form.button_delete")),t(2),m("ngClass",j(18,At,!r.toDelete.includes(e._id),r.toDelete.includes(e._id)&&!r.clicked,r.toDelete.includes(e._id)&&r.clicked))}}function Vt(i,c){if(i&1&&(n(0,"div",12),d(1,"i",15),a(),n(2,"ul",16)(3,"li"),l(4),o(5,"translate"),a(),n(6,"li"),l(7),o(8,"translate"),a(),n(9,"li"),l(10),o(11,"translate"),a()(),n(12,"ul",17),z(13,Mt,13,22,"li",18,N),a()),i&2){let e=b();t(4),u(s(5,3,"reset.bridge_accessories.list_1")),t(3),u(s(8,5,"reset.clear_cache_single.list_3")),t(3),u(s(11,7,"reset.bridge_accessories.list_2")),t(3),O(e.pairings)}}function Nt(i,c){if(i&1){let e=I();n(0,"button",24),f("click",function(){y(e);let p=b();return k(p.$activeModal.dismiss("Dismiss"))}),l(1),o(2,"translate"),a()}if(i&2){let e=b();m("disabled",e.clicked),t(),g(" ",s(2,2,"form.button_close")," ")}}function zt(i,c){if(i&1){let e=I();n(0,"button",25),f("click",function(){y(e);let p=b();return k(p.$activeModal.dismiss("Dismiss"))}),l(1),o(2,"translate"),a()}i&2&&(t(),g(" ",s(2,1,"form.button_close")," "))}function Ot(i,c){if(i&1&&l(0),i&2){let e=b(3);g(" (",e.toDelete.length,") ")}}function Lt(i,c){if(i&1&&(l(0),o(1,"translate"),h(2,Ot,1,1)),i&2){let e=b(2);g(" ",s(1,2,"form.button_remove")," "),t(2),_(e.toDelete.length>0?2:-1)}}function Ht(i,c){i&1&&d(0,"i",27)}function Ut(i,c){if(i&1){let e=I();n(0,"button",26),f("click",function(){y(e);let p=b();return k(p.cleanBridges())}),h(1,Lt,3,4),h(2,Ht,1,0,"i",27),a()}if(i&2){let e=b();m("disabled",!e.toDelete.length||e.clicked),t(),_(e.clicked?-1:1),t(),_(e.clicked?2:-1)}}var We=(()=>{class i{$activeModal=C(R);$api=C(P);$router=C(V);$toastr=C(A);$translate=C(D);clicked=!1;pairings=[];toDelete=[];constructor(){}ngOnInit(){this.loadPairings()}loadPairings(){return S(this,null,function*(){try{this.pairings=(yield B(this.$api.get("/server/pairings"))).filter(e=>e._category==="bridge"&&!e._main).sort((e,r)=>e.name.localeCompare(r.name))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(e){this.toDelete.includes(e)?this.toDelete=this.toDelete.filter(r=>r!==e):this.toDelete.push(e)}cleanBridges(){return this.clicked=!0,this.$api.delete("/server/pairings/accessories",{body:this.toDelete.map(e=>({id:e}))}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],decls:17,vars:12,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,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-broom","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(r,p){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),o(4,"translate"),a(),n(5,"button",3),o(6,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),a()(),n(7,"div",4),h(8,Pt,5,3),h(9,Vt,15,9),a(),n(10,"div",5)(11,"div",6),h(12,Nt,3,4,"button",7),a(),n(13,"div",8),h(14,zt,3,3,"button",9),a(),n(15,"div",10),h(16,Ut,3,3,"button",11),a()()()),r&2&&(t(3),u(s(4,8,"reset.bridge_accessories.title")),t(2),m("disabled",p.clicked),v("aria-label",s(6,10,"form.button_close")),t(3),_(p.pairings.length===0?8:-1),t(),_(p.pairings.length>0?9:-1),t(3),_(p.pairings.length>0?12:-1),t(2),_(p.pairings.length===0?14:-1),t(2),_(p.pairings.length>0?16:-1))},dependencies:[U,F],encapsulation:2})}return i})();function Wt(i,c){i&1&&(l(0),o(1,"translate")),i&2&&g(" ",s(1,1,"form.button_reset")," ")}function Kt(i,c){i&1&&d(0,"i",16)}var Ke=(()=>{class i{$activeModal=C(R);$api=C(P);$route=C(V);$toastr=C(A);$translate=C(D);clicked;constructor(){}onResetHomebridgeAccessoryClick(){return this.clicked=!0,this.$api.put("/server/reset-homebridge-accessory",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_reset"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$route.navigate(["/restart"])},error:e=>{console.error(e),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],decls:38,vars:33,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-bridge","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(r,p){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),o(4,"translate"),a(),n(5,"button",3),o(6,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),a()(),n(7,"div",4)(8,"div",5),d(9,"i",6),a(),n(10,"ul",7)(11,"li"),l(12),o(13,"translate"),a(),n(14,"li"),l(15),o(16,"translate"),a(),n(17,"li"),l(18),o(19,"translate"),a(),n(20,"li"),l(21),o(22,"translate"),a()(),n(23,"ngb-alert",8)(24,"p",9),l(25),o(26,"translate"),a()()(),n(27,"div",10)(28,"div",11)(29,"button",12),o(30,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),l(31),o(32,"translate"),a()(),d(33,"div",13),n(34,"div",14)(35,"button",15),f("click",function(){return p.onResetHomebridgeAccessoryClick()}),h(36,Wt,2,3),h(37,Kt,1,0,"i",16),a()()()()),r&2&&(t(3),u(s(4,15,"reset.bridge_all.title")),t(2),m("disabled",p.clicked),v("aria-label",s(6,17,"form.button_close")),t(7),u(s(13,19,"reset.bridge_all.list_1")),t(3),u(s(16,21,"reset.bridge_all.list_2")),t(3),u(s(19,23,"reset.bridge_all.list_3")),t(3),u(s(22,25,"reset.bridge_all.list_4")),t(2),m("dismissible",!1),t(2),u(s(26,27,"reset.action_is_irreversible")),t(4),m("disabled",p.clicked),v("aria-label",s(30,29,"form.button_close")),t(2),g(" ",s(32,31,"form.button_close")," "),t(4),m("disabled",p.clicked),t(),_(p.clicked?-1:36),t(),_(p.clicked?37:-1))},dependencies:[ae,F],encapsulation:2})}return i})();var ce=(i,c)=>({"green-text":i,"grey-text":c}),me=(i,c)=>({"btn-danger":i,"btn-elegant":c}),Ge=(i,c,e)=>({"fa-refresh":i,"fa-undo":c,"fa-spinner fa-pulse":e}),Gt=(i,c,e)=>({"fa-trash":i,"fa-undo":c,"fa-spinner fa-pulse":e});function jt(i,c){i&1&&(n(0,"div",12),d(1,"i",13),a(),n(2,"p",14),l(3),o(4,"translate"),a()),i&2&&(t(3),u(s(4,1,"reset.bridges.empty")))}function qt(i,c){if(i&1){let e=I();n(0,"li",20)(1,"span"),l(2),d(3,"br"),n(4,"small",21),d(5,"i",22),l(6),o(7,"translate"),n(8,"span",23),l(9),a(),l(10),o(11,"titlecase"),a()(),n(12,"button",24),o(13,"translate"),f("click",function(){let p=y(e).$implicit,x=b(3);return k(x.toggleList(p._id,!1))}),d(14,"i",25),a()()}if(i&2){let e=c.$implicit,r=b(3);t(2),g(" ",e.name," "),t(3),m("ngClass",T(15,ce,e._isPaired,!e._isPaired)),t(),g(" ",s(7,9,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),u(e._username),t(),g(" \xB7 ",e._main?"Homebridge":s(11,11,e._category)," "),t(2),m("disabled",r.clicked)("ngClass",T(18,me,!r.isInList(e._id),r.isInList(e._id))),v("aria-label",s(13,13,"form.button_unpair")),t(2),m("ngClass",j(21,Ge,!r.isInList(e._id),r.isInList(e._id)&&!r.clicked,r.isInList(e._id)&&r.clicked))}}function Qt(i,c){if(i&1&&(n(0,"ul",16)(1,"li",17)(2,"h6",18),l(3),o(4,"translate"),a(),n(5,"p",19),l(6),o(7,"translate"),a()(),z(8,qt,15,25,"li",20,N),a()),i&2){let e=b(2);t(3),u(s(4,2,"reset.bridge_ind.head_non_child")),t(3),u(s(7,4,"reset.bridge_ind.desc_non_child")),t(2),O(e.pairingsNonChild)}}function Jt(i,c){if(i&1){let e=I();n(0,"li",20)(1,"span"),l(2),d(3,"br"),n(4,"small",21),d(5,"i",22),l(6),o(7,"translate"),n(8,"span",23),l(9),a()()(),n(10,"button",24),o(11,"translate"),f("click",function(){let p=y(e).$implicit,x=b(3);return k(x.toggleList(p._id,!0))}),d(12,"i",25),a()()}if(i&2){let e=c.$implicit,r=b(3);t(2),g(" ",e.name," "),t(3),m("ngClass",T(12,ce,e._isPaired,!e._isPaired)),t(),g(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),u(e._username),t(),m("disabled",r.clicked)("ngClass",T(15,me,!r.isInList(e._id),r.isInList(e._id))),v("aria-label",s(11,10,"form.button_unpair")),t(2),m("ngClass",j(18,Ge,!r.isInList(e._id),r.isInList(e._id)&&!r.clicked,r.isInList(e._id)&&r.clicked))}}function Xt(i,c){if(i&1&&(n(0,"ul",16)(1,"li",17)(2,"h6",18),l(3),o(4,"translate"),a(),n(5,"p",19),l(6),o(7,"translate"),a()(),z(8,Jt,13,22,"li",20,N),a()),i&2){let e=b(2);t(3),u(s(4,2,"reset.bridge_ind.head_child_active")),t(3),u(s(7,4,"reset.bridge_ind.desc_child_active")),t(2),O(e.pairingsChildActive)}}function Yt(i,c){if(i&1){let e=I();n(0,"li",20)(1,"span"),l(2),d(3,"br"),n(4,"small",21),d(5,"i",22),l(6),o(7,"translate"),n(8,"span",23),l(9),a()()(),n(10,"button",24),o(11,"translate"),f("click",function(){let p=y(e).$implicit,x=b(3);return k(x.toggleList(p._id,!1))}),d(12,"i",25),a()()}if(i&2){let e=c.$implicit,r=b(3);t(2),g(" ",e.name," "),t(3),m("ngClass",T(12,ce,e._isPaired,!e._isPaired)),t(),g(" ",s(7,8,e._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),t(3),u(e._username),t(),m("disabled",r.clicked)("ngClass",T(15,me,!r.isInList(e._id),r.isInList(e._id))),v("aria-label",s(11,10,"form.button_unpair")),t(2),m("ngClass",j(18,Gt,!r.isInList(e._id),r.isInList(e._id)&&!r.clicked,r.isInList(e._id)&&r.clicked))}}function Zt(i,c){if(i&1&&(n(0,"ul",16)(1,"li",17)(2,"h6",18),l(3),o(4,"translate"),a(),n(5,"p",19),l(6),o(7,"translate"),a()(),z(8,Yt,13,22,"li",20,N),a()),i&2){let e=b(2);t(3),u(s(4,2,"reset.bridge_ind.head_child_stale")),t(3),u(s(7,4,"reset.bridge_ind.desc_child_stale")),t(2),O(e.pairingsChildStale)}}function ei(i,c){if(i&1&&(n(0,"div",12),d(1,"i",15),a(),h(2,Qt,10,6,"ul",16),h(3,Xt,10,6,"ul",16),h(4,Zt,10,6,"ul",16)),i&2){let e=b();t(2),_(e.pairingsNonChild.length>0?2:-1),t(),_(e.pairingsChildActive.length>0?3:-1),t(),_(e.pairingsChildStale.length>0?4:-1)}}function ti(i,c){if(i&1){let e=I();n(0,"button",26),f("click",function(){y(e);let p=b();return k(p.$activeModal.dismiss("Dismiss"))}),l(1),o(2,"translate"),a()}if(i&2){let e=b();m("disabled",e.clicked),t(),g(" ",s(2,2,"form.button_close")," ")}}function ii(i,c){if(i&1){let e=I();n(0,"button",27),f("click",function(){y(e);let p=b();return k(p.$activeModal.dismiss("Dismiss"))}),l(1),o(2,"translate"),a()}i&2&&(t(),g(" ",s(2,1,"form.button_close")," "))}function ni(i,c){if(i&1&&l(0),i&2){let e=b(3);g(" (",e.toDelete.length,") ")}}function ai(i,c){if(i&1&&(l(0),o(1,"translate"),h(2,ni,1,1)),i&2){let e=b(2);g(" ",s(1,2,"form.button_reset")," "),t(2),_(e.toDelete.length>0?2:-1)}}function ri(i,c){i&1&&d(0,"i",29)}function oi(i,c){if(i&1){let e=I();n(0,"button",28),f("click",function(){y(e);let p=b();return k(p.removeBridges())}),h(1,ai,3,4),h(2,ri,1,0,"i",29),a()}if(i&2){let e=b();m("disabled",!e.toDelete.length||e.clicked),t(),_(e.clicked?-1:1),t(),_(e.clicked?2:-1)}}var je=(()=>{class i{$activeModal=C(R);$api=C(P);$router=C(V);$toastr=C(A);$translate=C(D);clicked=!1;pairingsNonChild=[];pairingsChildActive=[];pairingsChildStale=[];toDelete=[];constructor(){}ngOnInit(){this.loadPairings()}loadPairings(){return S(this,null,function*(){try{let e=(yield B(this.$api.get("/server/pairings"))).filter(r=>!r._main).sort((r,p)=>r.name.localeCompare(p.name));this.pairingsChildActive=e.filter(r=>r._category==="bridge"&&!r._couldBeStale),this.pairingsNonChild=e.filter(r=>r._category!=="bridge"),this.pairingsChildStale=e.filter(r=>r._category==="bridge"&&r._couldBeStale)}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(e,r=!1){this.toDelete.some(p=>p.id===e)?this.toDelete=this.toDelete.filter(p=>p.id!==e):this.toDelete.push({id:e,resetPairingInfo:r})}isInList(e){return this.toDelete.some(r=>r.id===e)}removeBridges(){return this.clicked=!0,this.$api.delete("/server/pairings",{body:this.toDelete}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.bridge_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.bridge_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],decls:17,vars:12,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,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"text-center","mb-0"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"list-group-item"],[1,"mb-1","text-center"],[1,"mb-0","small","grey-text","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(r,p){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),o(4,"translate"),a(),n(5,"button",3),o(6,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),a()(),n(7,"div",4),h(8,jt,5,3),h(9,ei,5,3),a(),n(10,"div",5)(11,"div",6),h(12,ti,3,4,"button",7),a(),n(13,"div",8),h(14,ii,3,3,"button",9),a(),n(15,"div",10),h(16,oi,3,3,"button",11),a()()()),r&2&&(t(3),u(s(4,8,"reset.bridge_ind.title")),t(2),m("disabled",p.clicked),v("aria-label",s(6,10,"form.button_close")),t(3),_(p.pairingsChildActive.length===0&&p.pairingsChildStale.length===0&&p.pairingsNonChild.length===0?8:-1),t(),_(p.pairingsChildActive.length>0||p.pairingsChildStale.length>0||p.pairingsNonChild.length>0?9:-1),t(3),_(p.pairingsChildActive.length>0||p.pairingsChildStale.length>0||p.pairingsNonChild.length>0?12:-1),t(2),_(p.pairingsChildActive.length===0&&p.pairingsChildStale.length===0&&p.pairingsNonChild.length===0?14:-1),t(2),_(p.pairingsChildActive.length>0||p.pairingsChildStale.length>0||p.pairingsNonChild.length>0?16:-1))},dependencies:[U,Z,F],encapsulation:2})}return i})();function si(i,c){if(i&1){let e=I();n(0,"li",10)(1,"span")(2,"label",17)(3,"input",18),fe("ngModelChange",function(p){let x=y(e).$implicit;return ve(x.selected,p)||(x.selected=p),k(p)}),f("ngModelChange",function(){y(e);let p=b();return k(p.onAdapterSelectionChange())}),a(),n(4,"span"),l(5),a(),d(6,"span",19),a()(),n(7,"span",20),l(8),a()()}if(i&2){let e=c.$implicit;t(2),m("for","adapter"+e.iface),t(),m("id","adapter"+e.iface),be("ngModel",e.selected),t(2),u(e.iface),t(3),u(e.ip4||e.ip6)}}var qe=(()=>{class i{$activeModal=C(R);adaptersAvailable=[];adaptersOriginal=[];isUnchanged=!0;constructor(){}ngOnInit(){this.adaptersOriginal=this.adaptersAvailable.filter(e=>e.selected).map(e=>e.iface)}onAdapterSelectionChange(){this.isUnchanged=this.adaptersOriginal.length===this.adaptersAvailable.filter(e=>e.selected).length&&this.adaptersOriginal.every(e=>this.adaptersAvailable.some(r=>r.iface===e&&r.selected))}submit(){this.$activeModal.close(this.adaptersAvailable.filter(e=>e.selected).map(e=>e.iface))}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],inputs:{adaptersAvailable:"adaptersAvailable"},decls:35,vars:25,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-ethernet","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","flex-row","justify-content-between"],[1,"list-group-item","d-flex","flex-row","flex-wrap","justify-content-between"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"hb-uix-switch","d-inline","pe-3",3,"for"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"hb-uix-slider","hb-uix-round"],[1,"font-monospace"]],template:function(r,p){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),o(4,"translate"),a(),n(5,"button",3),o(6,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),a()(),n(7,"div",4)(8,"div",5),d(9,"i",6),a(),n(10,"ul",7)(11,"li"),l(12),o(13,"translate"),a()(),n(14,"ul",8)(15,"li",9)(16,"strong"),l(17),o(18,"translate"),a(),n(19,"strong"),l(20),o(21,"translate"),a()(),z(22,si,9,5,"li",10,N),a()(),n(24,"div",11)(25,"div",12)(26,"button",13),o(27,"translate"),f("click",function(){return p.$activeModal.dismiss("Dismiss")}),l(28),o(29,"translate"),a()(),d(30,"div",14),n(31,"div",15)(32,"button",16),f("click",function(){return p.submit()}),l(33),o(34,"translate"),a()()()()),r&2&&(t(3),u(s(4,9,"settings.network.title_network_interfaces")),t(2),v("aria-label",s(6,11,"form.button_close")),t(7),u(s(13,13,"settings.network.message_network_interface")),t(5),u(s(18,15,"settings.network.label_interface_name")),t(3),u(s(21,17,"settings.network.label_ip_address")),t(2),O(p.adaptersAvailable),t(4),v("aria-label",s(27,19,"form.button_close")),t(2),g(" ",s(29,21,"form.button_close")," "),t(4),m("disabled",p.isUnchanged),t(),g(" ",s(34,23,"form.button_save")," "))},dependencies:[ne,q,Q,Ie,F],encapsulation:2})}return i})();var li=["wallpaperInput"],pi=i=>({maxFileSizeText:i});function di(i,c){if(i&1){let e=I();n(0,"div",10),d(1,"img",20),n(2,"button",21),o(3,"translate"),f("click",function(){y(e);let p=b();return k(p.clearWallpaper())}),d(4,"i",22),a()()}if(i&2){let e=b();t(),m("src",e.wallpaperUrl,ue),t(),v("aria-label",s(3,2,"form.button_delete"))}}function ci(i,c){i&1&&d(0,"div",11)}var Qe=(()=>{class i{$activeModal=C(R);$api=C(P);$modal=C(W);$settings=C(X);$toastr=C(A);$translate=C(D);clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;wallpaperUrl=null;originalWallpaperUrl=null;wallpaperInput;constructor(){}ngOnInit(){this.$settings.env.customWallpaperHash&&(this.wallpaperUrl=`${Pe.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`,this.originalWallpaperUrl=this.wallpaperUrl)}onFileChange(e){if(e.length){this.selectedFile=e[0];let r=new FileReader;r.onload=p=>{this.wallpaperUrl=p.target.result},r.readAsDataURL(this.selectedFile)}else delete this.selectedFile,this.wallpaperUrl=this.originalWallpaperUrl}saveWallpaper(){if(this.clicked=!0,this.selectedFile){let e=new FormData;e.append("wallpaper",this.selectedFile,this.selectedFile.name),this.$api.post("/server/wallpaper",e).subscribe({next:()=>{this.$settings.setItem("wallpaper",`ui-wallpaper.${this.selectedFile.name.split(".").pop()}`),this.$activeModal.close(),this.$toastr.success(this.$translate.instant("settings.display.wallpaper_success"),this.$translate.instant("toast.title_success"))},error:r=>{console.error(r),this.$toastr.error(r.error?.message,this.$translate.instant("toast.title_error")),this.clicked=!1}})}else this.$api.delete("/server/wallpaper").subscribe({next:()=>{this.$activeModal.close()},error:e=>{console.error(e),this.$toastr.error(e.error?.message,this.$translate.instant("toast.title_error")),this.clicked=!1}})}clearWallpaper(){this.selectedFile=null,this.wallpaperUrl=this.wallpaperUrl===this.originalWallpaperUrl?null:this.originalWallpaperUrl,this.wallpaperInput.nativeElement.value=""}cancel(){this.$activeModal.dismiss()}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],viewQuery:function(r,p){if(r&1&&he(li,5),r&2){let x;_e(x=ge())&&(p.wallpaperInput=x.first)}},decls:36,vars:28,consts:[["wallpaperInput",""],[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-image","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"mb-3","text-center"],[1,"position-relative","d-inline-block"],[1,"gradient","anim","rounded",2,"height","200px","width","350px","margin","0 auto"],[1,"mb-0"],["type","file","id","wallpaper","accept","image/*",1,"form-control",3,"change"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],["alt","Current Wallpaper",1,"img-fluid","rounded","mx-auto","d-block",2,"height","200px",3,"src"],[1,"btn","btn-danger","position-absolute",2,"top","10px","right","10px",3,"click"],[1,"fas","fa-fw","fa-trash"]],template:function(r,p){if(r&1){let x=I();n(0,"div",1)(1,"div",2)(2,"h5",3),l(3),o(4,"translate"),a(),n(5,"button",4),o(6,"translate"),f("click",function(){return y(x),k(p.$activeModal.dismiss("Dismiss"))}),a()(),n(7,"div",5)(8,"div",6),d(9,"i",7),a(),n(10,"ul",8)(11,"li"),l(12),o(13,"translate"),a(),n(14,"li"),l(15),o(16,"translate"),a(),n(17,"li"),l(18),o(19,"translate"),a()(),n(20,"div",9),h(21,di,5,4,"div",10)(22,ci,1,0,"div",11),a(),n(23,"div",12)(24,"input",13,0),f("change",function(Je){return y(x),k(p.onFileChange(Je.target.files))}),a()()(),n(26,"div",14)(27,"div",15)(28,"button",16),f("click",function(){return y(x),k(p.cancel())}),l(29),o(30,"translate"),a()(),d(31,"div",17),n(32,"div",18)(33,"button",19),f("click",function(){return y(x),k(p.saveWallpaper())}),l(34),o(35,"translate"),a()()()()}r&2&&(t(3),u(s(4,11,"settings.display.wallpaper")),t(2),m("disabled",p.clicked),v("aria-label",s(6,13,"form.button_close")),t(7),u(s(13,15,"settings.display.wallpaper_intro")),t(3),u(L(16,17,"settings.display.wallpaper_rule",M(26,pi,p.maxFileSizeText))),t(3),u(s(19,20,"settings.display.wallpaper_rule2")),t(3),_(p.wallpaperUrl?21:22),t(7),m("disabled",p.clicked),t(),g(" ",s(30,22,"form.button_close")," "),t(4),m("disabled",p.wallpaperUrl===p.originalWallpaperUrl||p.clicked),t(),g(" ",s(35,24,"form.button_save")," "))},dependencies:[J,F],styles:[".anim[_ngcontent-%COMP%]{-webkit-animation:_ngcontent-%COMP%_gradient 20s ease infinite;-moz-animation:gradient 20s ease infinite;-o-animation:gradient 20s ease infinite;animation:_ngcontent-%COMP%_gradient 20s ease infinite}@keyframes _ngcontent-%COMP%_gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}"]})}return i})();var G=(i,c)=>({"fa-chevron-down":i,"fa-chevron-right":c}),Y=i=>({"is-invalid":i}),mi=i=>({link:i}),ui=(i,c)=>({"badge-danger":i,"badge-info":c});function hi(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function _i(i,c){if(i&1){let e=I();n(0,"ul",5)(1,"li",14)(2,"span"),l(3),o(4,"translate"),a(),n(5,"div",15),d(6,"input",16),o(7,"translate"),h(8,hi,1,1,"i",17),a()(),n(9,"li",18)(10,"span",19),l(11),o(12,"translate"),a(),n(13,"button",20),o(14,"translate"),f("click",function(){y(e);let p=b();return k(p.openUiSettings())}),d(15,"i",21),a()(),n(16,"li",18)(17,"span",19),l(18),o(19,"translate"),a(),n(20,"button",20),o(21,"translate"),f("click",function(){y(e);let p=b();return k(p.openBackupModal())}),d(22,"i",21),a()(),n(23,"li",18)(24,"span",19),l(25),o(26,"translate"),a(),n(27,"a",22),o(28,"translate"),d(29,"i",21),a()()()}if(i&2){let e=b();t(3),u(s(4,11,"settings.name")),t(3),m("formControl",e.hbNameFormControl)("ngClass",M(27,Y,e.hbNameIsInvalid)),v("aria-label",s(7,13,"settings.name")),t(2),_(e.hbNameIsSaving?8:-1),t(3),u(s(12,15,"menu.label_settings_advanced")),t(2),v("aria-label",s(14,17,"menu.label_settings_advanced")),t(5),g(" ",s(19,19,"backup.title_backup")," "),t(2),v("aria-label",s(21,21,"backup.title_backup")),t(5),g(" ",s(26,23,"menu.tooltip_user_accounts")," "),t(2),v("aria-label",s(28,25,"menu.tooltip_user_accounts"))}}function gi(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function bi(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function vi(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function fi(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function Ci(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function xi(i,c){if(i&1){let e=I();n(0,"ul",6)(1,"li",14),l(2),o(3,"translate"),n(4,"div",23)(5,"select",24)(6,"option",25),l(7),o(8,"translate"),a(),n(9,"option",26),l(10,"Bulgarian (bg)"),a(),n(11,"option",27),l(12,"Catalan (ca)"),a(),n(13,"option",28),l(14,"Chinese - Simplified (zh-CN)"),a(),n(15,"option",29),l(16,"Chinese - Traditional (zh-TW)"),a(),n(17,"option",30),l(18,"Czech (cs)"),a(),n(19,"option",31),l(20,"Dutch (nl)"),a(),n(21,"option",32),l(22,"English (en)"),a(),n(23,"option",33),l(24,"Finnish (fi)"),a(),n(25,"option",34),l(26,"French (fr)"),a(),n(27,"option",35),l(28,"German (de)"),a(),n(29,"option",36),l(30,"Hebrew (he)"),a(),n(31,"option",37),l(32,"Hungarian (hu)"),a(),n(33,"option",38),l(34,"Indonesian (id)"),a(),n(35,"option",39),l(36,"Italian (it)"),a(),n(37,"option",40),l(38,"Japanese (ja)"),a(),n(39,"option",41),l(40,"Korean (ko)"),a(),n(41,"option",42),l(42,"Macedonian (mk)"),a(),n(43,"option",43),l(44,"Norwegian (no)"),a(),n(45,"option",44),l(46,"Polish (pl)"),a(),n(47,"option",45),l(48,"Portuguese (Brazil)"),a(),n(49,"option",46),l(50,"Portuguese (Portugal)"),a(),n(51,"option",47),l(52,"Russian (ru)"),a(),n(53,"option",48),l(54,"Slovenian (sl)"),a(),n(55,"option",49),l(56,"Spanish (es)"),a(),n(57,"option",50),l(58,"Swedish (sv)"),a(),n(59,"option",51),l(60,"Thai (th)"),a(),n(61,"option",52),l(62,"Turkish (tr)"),a(),n(63,"option",53),l(64,"Ukrainian (uk)"),a()(),h(65,gi,1,1,"i",17),a()(),n(66,"li",14),l(67),o(68,"translate"),n(69,"div",23)(70,"select",24)(71,"option",54),l(72),o(73,"translate"),a(),n(74,"option",55),l(75),o(76,"translate"),a(),n(77,"option",56),l(78),o(79,"translate"),a(),n(80,"option",57),l(81),o(82,"translate"),a(),n(83,"option",58),l(84),o(85,"translate"),a(),n(86,"option",59),l(87),o(88,"translate"),a(),n(89,"option",60),l(90),o(91,"translate"),a(),n(92,"option",61),l(93),o(94,"translate"),a(),n(95,"option",62),l(96),o(97,"translate"),a(),n(98,"option",63),l(99),o(100,"translate"),a(),n(101,"option",64),l(102),o(103,"translate"),a(),n(104,"option",65),l(105),o(106,"translate"),a(),n(107,"option",66),l(108),o(109,"translate"),a()(),h(110,bi,1,1,"i",17),a()(),n(111,"li",14),l(112),o(113,"translate"),n(114,"div",23)(115,"select",24)(116,"option",25),l(117),o(118,"translate"),a(),n(119,"option",67),l(120),o(121,"translate"),a(),n(122,"option",68),l(123),o(124,"translate"),a()(),h(125,vi,1,1,"i",17),a()(),n(126,"li",14),l(127),o(128,"translate"),n(129,"div",23)(130,"select",24)(131,"option",69),l(132),o(133,"translate"),a(),n(134,"option",70),l(135),o(136,"translate"),a()(),h(137,fi,1,1,"i",17),a()(),n(138,"li",14),l(139),o(140,"translate"),n(141,"div",23)(142,"select",24)(143,"option",71),l(144),o(145,"translate"),a(),n(146,"option",72),l(147),o(148,"translate"),a()(),h(149,Ci,1,1,"i",17),a()(),n(150,"li",18)(151,"span",19),l(152),o(153,"translate"),a(),n(154,"button",20),o(155,"translate"),f("click",function(){y(e);let p=b();return k(p.openWallpaperModal())}),d(156,"i",21),a()()()}if(i&2){let e=b();t(2),g(" ",s(3,38,"settings.display.lang")," "),t(3),m("formControl",e.uiLangFormControl),t(2),u(s(8,40,"form.select.auto")),t(58),_(e.uiLangIsSaving?65:-1),t(2),g(" ",s(68,42,"settings.display.theme")," "),t(3),m("formControl",e.uiThemeFormControl),t(2),u(s(73,44,"settings.display.orange")),t(3),u(s(76,46,"settings.display.red")),t(3),u(s(79,48,"settings.display.pink")),t(3),u(s(82,50,"settings.display.purple")),t(3),u(s(85,52,"settings.display.deep_purple")),t(3),u(s(88,54,"settings.display.indigo")),t(3),u(s(91,56,"settings.display.blue")),t(3),u(s(94,58,"settings.display.bluegrey")),t(3),u(s(97,60,"settings.display.cyan")),t(3),u(s(100,62,"settings.display.green")),t(3),u(s(103,64,"settings.display.teal")),t(3),u(s(106,66,"settings.display.grey")),t(3),u(s(109,68,"settings.display.brown")),t(2),_(e.uiThemeIsSaving?110:-1),t(2),g(" ",s(113,70,"settings.display.lighting_mode")," "),t(3),m("formControl",e.uiLightFormControl),t(2),u(s(118,72,"form.select.auto")),t(3),u(s(121,74,"settings.display.light")),t(3),u(s(124,76,"settings.display.dark")),t(2),_(e.uiLightIsSaving?125:-1),t(2),g(" ",s(128,78,"settings.display.menu_mode")," "),t(3),m("formControl",e.uiMenuFormControl),t(2),u(s(133,80,"settings.display.menu_default")),t(3),u(s(136,82,"settings.display.menu_freeze")),t(2),_(e.uiMenuIsSaving?137:-1),t(2),g(" ",s(140,84,"settings.display.temp_units")," "),t(3),m("formControl",e.uiTempFormControl),t(2),u(s(145,86,"settings.display.temp_units.c")),t(3),u(s(148,88,"settings.display.temp_units.f")),t(2),_(e.uiTempIsSaving?149:-1),t(3),u(s(153,90,"settings.display.wallpaper")),t(2),v("aria-label",s(155,92,"settings.display.wallpaper"))}}function Si(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function yi(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function ki(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function Ii(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function wi(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function Ei(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function Bi(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function Ti(i,c){i&1&&(n(0,"li",18)(1,"span"),l(2),o(3,"translate"),d(4,"br"),n(5,"small",73),l(6),o(7,"translate"),a()(),n(8,"a",90),o(9,"translate"),d(10,"i",21),a()()),i&2&&(t(2),g(" ",s(3,3,"menu.docker.startup_script")),t(4),u(s(7,5,"platform.docker.script_help")),t(2),v("aria-label",s(9,7,"menu.docker.startup_script")))}function $i(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function Fi(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function Ri(i,c){if(i&1&&(n(0,"li",14)(1,"span"),l(2),o(3,"translate"),d(4,"br"),n(5,"small",73),l(6),o(7,"translate"),a()(),n(8,"div",23),d(9,"input",91),o(10,"translate"),h(11,Fi,1,1,"i",17),a()()),i&2){let e=b(2);t(2),g(" ",s(3,6,"settings.startup.log_truncate")),t(4),u(s(7,8,"settings.startup.log_truncate_desc")),t(3),m("formControl",e.hbLogTruncateFormControl)("ngClass",M(12,Y,e.hbLogTruncateIsInvalid)),v("aria-label",s(10,10,"settings.startup.log_truncate")),t(2),_(e.hbLogTruncateIsSaving?11:-1)}}function Di(i,c){if(i&1&&(n(0,"ul",7)(1,"li",18)(2,"span"),l(3),o(4,"translate"),n(5,"code"),l(6,"-D"),a(),d(7,"br"),n(8,"small",73),l(9),o(10,"translate"),a()(),n(11,"div",74)(12,"div",75),d(13,"input",76),o(14,"translate"),d(15,"label",77),a(),h(16,Si,1,1,"i",17),a()(),n(17,"li",18)(18,"span"),l(19),o(20,"translate"),n(21,"code"),l(22,"-I"),a(),d(23,"br"),n(24,"small",73),l(25),o(26,"translate"),a()(),n(27,"div",74)(28,"div",75),d(29,"input",78),o(30,"translate"),d(31,"label",79),a(),h(32,yi,1,1,"i",17),a()(),n(33,"li",18)(34,"span"),l(35),o(36,"translate"),n(37,"code"),l(38,"-K"),a(),d(39,"br"),n(40,"small",73),l(41),o(42,"translate"),a()(),n(43,"div",74)(44,"div",75),d(45,"input",80),o(46,"translate"),d(47,"label",81),a(),h(48,ki,1,1,"i",17),a()(),n(49,"li",18)(50,"span"),l(51),o(52,"translate"),n(53,"code"),l(54,"-K"),a(),d(55,"br"),n(56,"small",73),l(57),o(58,"translate"),a()(),n(59,"div",74)(60,"div",75),d(61,"input",82),o(62,"translate"),d(63,"label",83),a(),h(64,Ii,1,1,"i",17),a()(),n(65,"li",14)(66,"span"),l(67),o(68,"translate"),d(69,"br"),n(70,"small",73),l(71),o(72,"translate"),a()(),n(73,"div",23),d(74,"input",84),o(75,"translate"),h(76,wi,1,1,"i",17),a()(),n(77,"li",14)(78,"span")(79,"span",85),l(80,"DEBUG"),a(),d(81,"br")(82,"small",86),o(83,"translate"),a(),n(84,"div",23),d(85,"input",87),h(86,Ei,1,1,"i",17),a()(),n(87,"li",14)(88,"span")(89,"span",85),l(90,"NODE_OPTIONS"),a(),d(91,"br"),n(92,"small",73),l(93),o(94,"translate"),a()(),n(95,"div",23),d(96,"input",88),h(97,Bi,1,1,"i",17),a()(),h(98,Ti,11,9,"li",18),n(99,"li",14)(100,"span"),l(101),o(102,"translate"),d(103,"br"),n(104,"small",73),l(105),o(106,"translate"),a()(),n(107,"div",23),d(108,"input",89),o(109,"translate"),h(110,$i,1,1,"i",17),a()(),h(111,Ri,12,14,"li",14),a()),i&2){let e=b();t(3),g(" ",s(4,39,"settings.startup.debug")," "),t(6),g(" ",s(10,41,e.isHbV2?"settings.startup.debug_desc_v2":"settings.startup.debug_desc_v1")," "),t(4),m("formControl",e.hbDebugFormControl),v("aria-label",s(14,43,"settings.startup.debug")),t(3),_(e.hbDebugIsSaving?16:-1),t(3),g(" ",s(20,45,"settings.startup.insecure")," "),t(6),u(s(26,47,"settings.startup.insecure_desc")),t(4),m("formControl",e.hbInsecureFormControl),v("aria-label",s(30,49,"settings.startup.insecure")),t(3),_(e.hbInsecureIsSaving?32:-1),t(3),g(" ",s(36,51,"settings.startup.keep_accessories")," "),t(6),u(s(42,53,"settings.startup.keep_accessories_desc")),t(4),m("formControl",e.hbKeepFormControl),v("aria-label",s(46,55,"settings.startup.keep_accessories")),t(3),_(e.hbKeepIsSaving?48:-1),t(3),g(" ",s(52,57,"settings.startup.metrics")," "),t(6),u(s(58,59,"settings.startup.metrics_desc")),t(4),m("formControl",e.uiMetricsFormControl),v("aria-label",s(62,61,"settings.startup.metrics")),t(3),_(e.uiMetricsIsSaving?64:-1),t(3),g(" ",s(68,63,"settings.network.hb_package")),t(4),u(s(72,65,"settings.network.hb_package_desc")),t(3),m("formControl",e.hbPackageFormControl),v("aria-label",s(75,67,"settings.network.hb_package")),t(2),_(e.hbPackageIsSaving?76:-1),t(6),m("innerHTML",L(83,69,"settings.service.debug_tooltip",M(80,mi,e.linkDebug)),se),t(3),m("formControl",e.hbEnvDebugFormControl),t(),_(e.hbEnvDebugIsSaving?86:-1),t(7),u(s(94,72,"settings.service.node_tooltip")),t(3),m("formControl",e.hbEnvNodeFormControl),t(),_(e.hbEnvNodeIsSaving?97:-1),t(),_(e.$settings.env.runningInDocker?98:-1),t(3),g(" ",s(102,74,"settings.startup.log_max")),t(4),u(s(106,76,"settings.startup.log_max_desc")),t(3),m("formControl",e.hbLogSizeFormControl)("ngClass",M(82,Y,e.hbLogSizeIsInvalid)),v("aria-label",s(109,78,"settings.startup.log_max")),t(2),_(e.hbLogSizeIsSaving?110:-1),t(),_(e.hbLogSizeFormControl.value>0?111:-1)}}function Ai(i,c){i&1&&d(0,"i",104)}function Pi(i,c){if(i&1&&(n(0,"span",93),h(1,Ai,1,0,"i",104),l(2),n(3,"span",105),l(4),o(5,"translate"),a()()),i&2){let e=c.$implicit;m("ngClass",T(6,ui,e.missing,!e.missing)),t(),_(e.missing?1:-1),t(),g(" ",e.iface,": "),t(2),u(e.missing?s(5,4,"settings.mdns_advertiser_not_connected"):e.ip4||e.ip6)}}function Mi(i,c){i&1&&(n(0,"option",95),l(1),o(2,"translate"),a()),i&2&&(t(),g("Avahi (",s(2,1,"settings.mdns_advertiser_rec"),")"))}function Vi(i,c){i&1&&(n(0,"option",98),l(1),o(2,"translate"),a()),i&2&&(t(),g("systemd-resolved (",s(2,1,"settings.mdns_advertiser_exp"),")"))}function Ni(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function zi(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function Oi(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function Li(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function Hi(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function Ui(i,c){if(i&1){let e=I();n(0,"ul",8)(1,"li",18)(2,"span",19),l(3),o(4,"translate"),d(5,"br"),n(6,"div",92),l(7),o(8,"translate"),a(),z(9,Pi,6,9,"span",93,N),a(),n(11,"button",94),o(12,"translate"),f("click",function(){y(e);let p=b();return k(p.selectNetworkInterfaces())}),d(13,"i",21),a()(),n(14,"li",14)(15,"span"),l(16),o(17,"translate"),d(18,"br"),n(19,"small",73),l(20),o(21,"translate"),a()(),n(22,"div",23)(23,"select",24),o(24,"translate"),h(25,Mi,3,3,"option",95),n(26,"option",96),l(27),o(28,"translate"),a(),n(29,"option",97),l(30,"Bonjour HAP"),a(),h(31,Vi,3,3,"option",98),a(),h(32,Ni,1,1,"i",17),a()(),n(33,"li",14)(34,"span"),l(35),o(36,"translate"),d(37,"br"),n(38,"small",73),l(39),o(40,"translate"),a()(),n(41,"div",23),d(42,"input",99),o(43,"translate"),h(44,zi,1,1,"i",17),a()(),n(45,"li",14)(46,"span"),l(47),o(48,"translate"),d(49,"br"),n(50,"small",73),l(51),o(52,"translate"),a()(),n(53,"div",23),d(54,"input",100),o(55,"translate"),h(56,Oi,1,1,"i",17),a()(),n(57,"li",14)(58,"span"),l(59),o(60,"translate"),d(61,"br")(62,"small",101),o(63,"translate"),a(),n(64,"div",23),d(65,"input",102),o(66,"translate"),h(67,Li,1,1,"i",17),a()(),n(68,"li",14)(69,"span"),l(70),o(71,"translate"),d(72,"br"),n(73,"small",73),l(74),o(75,"translate"),a()(),n(76,"div",23),d(77,"input",103),o(78,"translate"),h(79,Hi,1,1,"i",17),a()()()}if(i&2){let e=b();t(3),g(" ",s(4,34,"settings.network.title_network_interfaces")),t(4),u(s(8,36,"settings.network.message_network_interface")),t(2),O(e.adaptersSelected),t(2),m("disabled",!e.adaptersAvailable.length),v("aria-label",s(12,38,"settings.network.title_network_interfaces")),t(5),g(" ",s(17,40,"settings.mdns_advertiser")),t(4),u(s(21,42,"settings.mdns_advertiser_help")),t(3),m("formControl",e.hbMDnsFormControl),v("aria-label",s(24,44,"settings.mdns_advertiser")),t(2),_(e.showAvahiMdnsOption?25:-1),t(2),g(" Ciao ",e.showAvahiMdnsOption?"":"("+s(28,46,"settings.mdns_advertiser_rec")+")"," "),t(4),_(e.showResolvedMdnsOption?31:-1),t(),_(e.hbMDnsIsSaving?32:-1),t(3),g(" ",s(36,48,"settings.network.port_hb")),t(4),u(s(40,50,"settings.network.port_hb_desc")),t(3),m("formControl",e.hbPortFormControl)("ngClass",M(72,Y,e.hbPortIsInvalid)),v("aria-label",s(43,52,"settings.network.port")),t(2),_(e.hbPortIsSaving?44:-1),t(3),g(" ",s(48,54,"settings.network.port_ui")),t(4),u(s(52,56,"settings.network.port_ui_desc")),t(3),m("formControl",e.uiPortFormControl)("ngClass",M(74,Y,e.uiPortIsInvalid)),v("aria-label",s(55,58,"settings.network.port_ui")),t(2),_(e.uiPortIsSaving?56:-1),t(3),g(" ",s(60,60,"settings.network.host")),t(3),m("innerHtml",s(63,62,"settings.network.host_desc"),se),t(3),m("formControl",e.uiHostFormControl),v("aria-label",s(66,64,"settings.network.host")),t(2),_(e.uiHostIsSaving?67:-1),t(3),g(" ",s(71,66,"settings.network.proxy")),t(4),u(s(75,68,"settings.network.proxy_desc")),t(3),m("formControl",e.uiProxyHostFormControl),v("aria-label",s(78,70,"settings.network.proxy")),t(2),_(e.uiProxyHostIsSaving?79:-1)}}function Wi(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function Ki(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function Gi(i,c){if(i&1&&(n(0,"li",14)(1,"span"),l(2),o(3,"translate"),d(4,"br"),n(5,"small",73),l(6),o(7,"translate"),a()(),n(8,"div",23),d(9,"input",111),o(10,"translate"),h(11,Ki,1,1,"i",17),a()()),i&2){let e=b(2);t(2),g(" ",s(3,6,"settings.startup.session")),t(4),u(s(7,8,"settings.startup.session_desc")),t(3),m("formControl",e.uiSessionTimeoutFormControl)("ngClass",M(12,Y,e.uiSessionTimeoutIsInvalid)),v("aria-label",s(10,10,"settings.startup.session")),t(2),_(e.uiSessionTimeoutIsSaving?11:-1)}}function ji(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function qi(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function Qi(i,c){if(i&1&&(n(0,"li",14)(1,"span"),l(2),o(3,"translate"),a(),n(4,"div",23),d(5,"input",112),o(6,"translate"),h(7,ji,1,1,"i",17),a()(),n(8,"li",14)(9,"span"),l(10),o(11,"translate"),a(),n(12,"div",23),d(13,"input",113),o(14,"translate"),h(15,qi,1,1,"i",17),a()()),i&2){let e=b(2);t(2),u(s(3,8,"settings.security.key")),t(3),m("formControl",e.uiSslKeyFormControl),v("aria-label",s(6,10,"settings.security.key")),t(2),_(e.uiSslKeyIsSaving?7:-1),t(3),u(s(11,12,"settings.security.cert")),t(3),m("formControl",e.uiSslCertFormControl),v("aria-label",s(14,14,"settings.security.cert")),t(2),_(e.uiSslCertIsSaving?15:-1)}}function Ji(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function Xi(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function Yi(i,c){if(i&1){let e=I();n(0,"li",14)(1,"span"),l(2),o(3,"translate"),a(),n(4,"div",23),d(5,"input",114),o(6,"translate"),h(7,Ji,1,1,"i",17),a()(),n(8,"li",14)(9,"span"),l(10),o(11,"translate"),a(),n(12,"div",23)(13,"input",115),o(14,"translate"),f("focus",function(){y(e);let p=b(2);return k(p.showPfxPassphrase=!0)})("blur",function(){y(e);let p=b(2);return k(p.showPfxPassphrase=!1)}),a(),h(15,Xi,1,1,"i",17),a()()}if(i&2){let e=b(2);t(2),u(s(3,9,"settings.security.pfx")),t(3),m("formControl",e.uiSslPfxFormControl),v("aria-label",s(6,11,"settings.security.pfx")),t(2),_(e.uiSslPfxIsSaving?7:-1),t(3),u(s(11,13,"settings.security.pass")),t(3),m("type",e.showPfxPassphrase?"text":"password")("formControl",e.uiSslPassphraseFormControl),v("aria-label",s(14,15,"settings.security.pass")),t(2),_(e.uiSslPassphraseIsSaving?15:-1)}}function Zi(i,c){if(i&1&&(n(0,"ul",9)(1,"li",18)(2,"span"),l(3),o(4,"translate"),d(5,"br"),n(6,"small",73),l(7),o(8,"translate"),a()(),n(9,"div",74)(10,"div",75),d(11,"input",106),o(12,"translate"),d(13,"label",107),a(),h(14,Wi,1,1,"i",17),a()(),h(15,Gi,12,14,"li",14),n(16,"li",18)(17,"span"),l(18),o(19,"translate"),d(20,"br"),n(21,"small",73),l(22),o(23,"translate"),a()(),n(24,"select",24),o(25,"translate"),n(26,"option",108),l(27),o(28,"translate"),a(),n(29,"option",109),l(30),o(31,"translate"),a(),n(32,"option",110),l(33),o(34,"translate"),a()()(),h(35,Qi,16,16),h(36,Yi,16,17),a()),i&2){let e=b();t(3),g(" ",s(4,15,"settings.security.auth")),t(4),g(" ",s(8,17,"settings.security.auth_desc")," "),t(4),m("formControl",e.uiAuthFormControl),v("aria-label",s(12,19,"settings.security.auth")),t(3),_(e.uiAuthIsSaving?14:-1),t(),_(e.uiAuthFormControl.value?15:-1),t(3),g(" ",s(19,21,"settings.security.https")),t(4),u(s(23,23,"settings.security.https_desc")),t(2),m("formControl",e.uiSslTypeFormControl),v("aria-label",s(25,25,"settings.security.https")),t(3),u(s(28,27,"accessories.control.off")),t(3),u(s(31,29,"settings.security.https_keycert")),t(3),u(s(34,31,"settings.security.https_pfx")),t(2),_(e.uiSslTypeFormControl.value==="keycert"?35:-1),t(),_(e.uiSslTypeFormControl.value==="pfx"?36:-1)}}function en(i,c){i&1&&(n(0,"p",10),l(1),o(2,"translate"),a()),i&2&&(t(),u(s(2,1,"settings.cache.desc")))}function tn(i,c){i&1&&d(0,"i",17),i&2&&m("@fadeInOut",void 0)}function nn(i,c){if(i&1){let e=I();n(0,"ul",11)(1,"li",18)(2,"span"),l(3),o(4,"translate"),d(5,"br"),n(6,"small",73),l(7),o(8,"translate"),a()(),n(9,"div",74)(10,"div",75),d(11,"input",116),o(12,"translate"),d(13,"label",117),a(),h(14,tn,1,1,"i",17),a()(),n(15,"li",18)(16,"span",19),l(17),o(18,"translate"),d(19,"br"),n(20,"small",73),l(21),o(22,"translate"),a()(),n(23,"button",20),o(24,"translate"),f("click",function(){y(e);let p=b();return k(p.removeSingleCachedAccessories())}),d(25,"i",21),a()(),n(26,"li",18)(27,"span",19),l(28),o(29,"translate"),d(30,"br"),n(31,"small",73),l(32),o(33,"translate"),a()(),n(34,"button",20),o(35,"translate"),f("click",function(){y(e);let p=b();return k(p.removeBridgeAccessories())}),d(36,"i",21),a()(),n(37,"li",18)(38,"span",19),l(39),o(40,"translate"),d(41,"br"),n(42,"small",73),l(43),o(44,"translate"),a()(),n(45,"button",20),o(46,"translate"),f("click",function(){y(e);let p=b();return k(p.removeAllCachedAccessories())}),d(47,"i",21),a()()()}if(i&2){let e=b();t(3),g(" ",s(4,14,"settings.accessory.debug")),t(4),u(s(8,16,"settings.accessory.debug_desc")),t(4),m("formControl",e.uiAccDebugFormControl),v("aria-label",s(12,18,"settings.accessory.debug")),t(3),_(e.uiAccDebugIsSaving?14:-1),t(3),g(" ",s(18,20,"reset.accessory_ind.title")),t(4),u(s(22,22,"reset.accessory_ind.desc")),t(2),v("aria-label",s(24,24,"reset.accessory_ind.title")),t(5),g(" ",s(29,26,"reset.bridge_accessories.title")),t(4),u(s(33,28,"reset.bridge_accessories.desc")),t(2),v("aria-label",s(35,30,"reset.accessory_all.title")),t(5),g(" ",s(40,32,"reset.accessory_all.title")),t(4),u(s(44,34,"reset.accessory_all.desc")),t(2),v("aria-label",s(46,36,"reset.accessory_all.title"))}}function an(i,c){i&1&&(n(0,"p",10),l(1),o(2,"translate"),a()),i&2&&(t(),u(s(2,1,"reset.bridges.desc")))}function rn(i,c){if(i&1){let e=I();n(0,"ul",12)(1,"li",18)(2,"span",19),l(3),o(4,"translate"),d(5,"br"),n(6,"small",73),l(7),o(8,"translate"),a()(),n(9,"button",20),o(10,"translate"),f("click",function(){y(e);let p=b();return k(p.unpairAccessory())}),d(11,"i",21),a()(),n(12,"li",18)(13,"span",19),l(14),o(15,"translate"),o(16,"titlecase"),d(17,"br"),n(18,"small",73),l(19),o(20,"translate"),a()(),n(21,"button",20),o(22,"translate"),f("click",function(){y(e);let p=b();return k(p.resetHomebridgeState())}),d(23,"i",21),a()()()}i&2&&(t(3),g(" ",s(4,6,"reset.bridge_ind.title")),t(4),u(s(8,8,"reset.bridge_ind.desc")),t(2),v("aria-label",s(10,10,"reset.bridge_ind.title")),t(5),g(" ",s(16,14,s(15,12,"reset.bridge_all.title"))),t(5),u(s(20,16,"reset.bridge_all.desc")),t(2),v("aria-label",s(22,18,"reset.bridge_all.title")))}var or=(()=>{class i{$api=C(P);$modal=C(W);$plugin=C(Ne);$router=C(V);$settings=C(X);$toastr=C(A);$translate=C(D);restartToastIsShown=!1;showFields={general:!0,display:!0,startup:!0,network:!0,security:!0,reset:!0,cache:!0};isHbV2=!1;showAvahiMdnsOption=!1;showResolvedMdnsOption=!1;adaptersAvailable=[];adaptersSelected=[];showPfxPassphrase=!1;hbNameIsInvalid=!1;hbNameIsSaving=!1;hbNameFormControl=new E("");uiLangIsSaving=!1;uiLangFormControl=new E("");uiThemeIsSaving=!1;uiThemeFormControl=new E("");uiLightIsSaving=!1;uiLightFormControl=new E("");uiMenuIsSaving=!1;uiMenuFormControl=new E("");uiTempIsSaving=!1;uiTempFormControl=new E("");hbDebugIsSaving=!1;hbDebugFormControl=new E(!1);hbInsecureIsSaving=!1;hbInsecureFormControl=new E(!1);hbKeepIsSaving=!1;hbKeepFormControl=new E(!1);hbEnvDebugIsSaving=!1;hbEnvDebugFormControl=new E("");hbEnvNodeIsSaving=!1;hbEnvNodeFormControl=new E("");hbLogSizeIsInvalid=!1;hbLogSizeIsSaving=!1;hbLogSizeFormControl=new E(-1);hbLogTruncateIsInvalid=!1;hbLogTruncateIsSaving=!1;hbLogTruncateFormControl=new E(0);hbMDnsIsSaving=!1;hbMDnsFormControl=new E("");hbPortIsInvalid=!1;hbPortIsSaving=!1;hbPortFormControl=new E(0);uiPortIsInvalid=!1;uiPortIsSaving=!1;uiPortFormControl=new E(0);uiAuthIsSaving=!1;uiAuthFormControl=new ke(!0);uiSessionTimeoutIsInvalid=!1;uiSessionTimeoutIsSaving=!1;uiSessionTimeoutFormControl=new E(0);uiSslTypeFormControl=new E("off");uiSslKeyIsSaving=!1;uiSslKeyFormControl=new E("");uiSslCertIsSaving=!1;uiSslCertFormControl=new E("");uiSslPfxIsSaving=!1;uiSslPfxFormControl=new E("");uiSslPassphraseIsSaving=!1;uiSslPassphraseFormControl=new E("");uiHostIsSaving=!1;uiHostFormControl=new E("");uiProxyHostIsSaving=!1;uiProxyHostFormControl=new E("");hbPackageIsSaving=!1;hbPackageFormControl=new E("");uiMetricsIsSaving=!1;uiMetricsFormControl=new E(!0);uiAccDebugIsSaving=!1;uiAccDebugFormControl=new E(!1);linkDebug='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values" target="_blank"><i class="fa fa-fw fa-external-link-alt primary-text"></i></a>';constructor(){}ngOnInit(){return S(this,null,function*(){this.isHbV2=this.$settings.env.homebridgeVersion.startsWith("2"),yield this.initNetworkingOptions(),yield this.initStartupSettings(),this.hbNameFormControl.patchValue(this.$settings.env.homebridgeInstanceName),this.hbNameFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.hbNameSave(e)),this.uiLangFormControl.patchValue(this.$settings.env.lang),this.uiLangFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiLangSave(e)),this.uiThemeFormControl.patchValue(this.$settings.theme),this.uiThemeFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiThemeSave(e)),this.uiLightFormControl.patchValue(this.$settings.lightingMode),this.uiLightFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiLightSave(e)),this.uiMenuFormControl.patchValue(this.$settings.menuMode),this.uiMenuFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiMenuSave(e)),this.uiTempFormControl.patchValue(this.$settings.env.temperatureUnits),this.uiTempFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiTempSave(e)),this.hbLogSizeFormControl.patchValue(this.$settings.env.log?.maxSize),this.hbLogSizeFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.hbLogSizeSave(e)),this.hbLogTruncateFormControl.patchValue(this.$settings.env.log?.truncateSize),this.hbLogTruncateFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.hbLogTruncateSave(e)),this.uiPortFormControl.patchValue(this.$settings.env.port),this.uiPortFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.uiPortSave(e)),this.uiAuthFormControl.patchValue(this.$settings.formAuth),this.uiAuthFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiAuthSave(e)),this.uiSessionTimeoutFormControl.patchValue(this.$settings.sessionTimeout),this.uiSessionTimeoutFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiSessionTimeoutSave(e)),this.uiSslKeyFormControl.patchValue(this.$settings.env.ssl?.key||""),this.uiSslKeyFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.uiSslKeySave(e)),this.uiSslCertFormControl.patchValue(this.$settings.env.ssl?.cert||""),this.uiSslCertFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.uiSslCertSave(e)),this.uiSslPfxFormControl.patchValue(this.$settings.env.ssl?.pfx||""),this.uiSslPfxFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.uiSslPfxSave(e)),this.uiSslPassphraseFormControl.patchValue(this.$settings.env.ssl?.passphrase||""),this.uiSslPassphraseFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.uiSslPassphraseSave(e)),this.uiSslTypeFormControl.patchValue(this.uiSslKeyFormControl.value||this.uiSslCertFormControl.value?"keycert":this.uiSslPfxFormControl.value||this.uiSslPassphraseFormControl.value?"pfx":"off"),this.uiSslTypeFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiSslTypeSave(e)),this.uiHostFormControl.patchValue(this.$settings.env.host||""),this.uiHostFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.uiHostSave(e)),this.uiProxyHostFormControl.patchValue(this.$settings.env.proxyHost||""),this.uiProxyHostFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.uiProxyHostSave(e)),this.hbPackageFormControl.patchValue(this.$settings.env.homebridgePackagePath||""),this.hbPackageFormControl.valueChanges.pipe(w(1500)).subscribe(e=>this.hbPackageSave(e)),this.uiMetricsFormControl.patchValue(!this.$settings.env.disableServerMetricsMonitoring),this.uiMetricsFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiMetricsSave(e)),this.uiAccDebugFormControl.patchValue(!this.$settings.env.accessoryControl?.debug),this.uiAccDebugFormControl.valueChanges.pipe(w(750)).subscribe(e=>this.uiAccDebugSave(e))})}initStartupSettings(){return S(this,null,function*(){try{let e=yield B(this.$api.get("/platform-tools/hb-service/homebridge-startup-settings"));this.hbDebugFormControl.patchValue(e.HOMEBRIDGE_DEBUG),this.hbDebugFormControl.valueChanges.pipe(w(750)).subscribe(r=>this.hbDebugSave(r)),this.hbInsecureFormControl.patchValue(e.HOMEBRIDGE_INSECURE),this.hbInsecureFormControl.valueChanges.pipe(w(750)).subscribe(r=>this.hbInsecureSave(r)),this.hbKeepFormControl.patchValue(e.HOMEBRIDGE_KEEP_ORPHANS),this.hbKeepFormControl.valueChanges.pipe(w(750)).subscribe(r=>this.hbKeepSave(r)),this.hbEnvDebugFormControl.patchValue(e.ENV_DEBUG),this.hbEnvDebugFormControl.valueChanges.pipe(w(1500)).subscribe(r=>this.hbEnvDebugSave(r)),this.hbEnvNodeFormControl.patchValue(e.ENV_NODE_OPTIONS),this.hbEnvNodeFormControl.valueChanges.pipe(w(1500)).subscribe(r=>this.hbEnvNodeSave(r))}catch(e){console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}})}initNetworkingOptions(){return S(this,null,function*(){try{yield this.getNetworkSettings(),(this.$settings.env.runningInLinux||this.$settings.env.runningInDocker||this.$settings.env.runningInSynologyPackage||this.$settings.env.runningInPackageMode)&&(this.showAvahiMdnsOption=!0,this.showResolvedMdnsOption=!0)}catch(e){console.error(e),this.$toastr.error(e.message,this.$translate.instant("toast.title_error"))}})}getNetworkSettings(){return S(this,null,function*(){return Promise.all([B(this.$api.get("/server/network-interfaces/system")),B(this.$api.get("/server/network-interfaces/bridge")),B(this.$api.get("/server/mdns-advertiser")),B(this.$api.get("/server/port"))]).then(([e,r,p,x])=>{this.adaptersAvailable=e,this.buildBridgeNetworkAdapterList(r),this.hbMDnsFormControl.patchValue(p.advertiser),this.hbMDnsFormControl.valueChanges.pipe(w(750)).subscribe(H=>this.hbMDnsSave(H)),this.hbPortFormControl.patchValue(x.port),this.hbPortFormControl.valueChanges.pipe(w(1500)).subscribe(H=>this.hbPortSave(H))})})}saveUiSettingChange(e,r){return S(this,null,function*(){try{yield B(this.$api.put("/config-editor/ui",{key:e,value:r}))}catch(p){console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})}hbNameSave(e){return S(this,null,function*(){if(!e||!/^[\p{L}\p{N}][\p{L}\p{N} ']*[\p{L}\p{N}]$/u.test(e)){this.hbNameIsInvalid=!0;return}try{this.hbNameIsSaving=!0,yield B(this.$api.put("/server/name",{value:e})),this.$settings.setEnvItem("homebridgeInstanceName",e),this.hbNameIsInvalid=!1}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.hbNameIsSaving=!1},1e3)}})}uiLangSave(e){return S(this,null,function*(){try{this.uiLangIsSaving=!0,this.$settings.setLang(e),yield this.saveUiSettingChange("lang",e)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.uiLangIsSaving=!1},1e3)}})}uiThemeSave(e){return S(this,null,function*(){try{this.uiThemeIsSaving=!0,this.$settings.setTheme(e),yield this.saveUiSettingChange("theme",e)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.uiThemeIsSaving=!1},1e3)}})}uiLightSave(e){return S(this,null,function*(){try{this.uiLightIsSaving=!0,this.$settings.setLightingMode(e,"user"),yield this.saveUiSettingChange("lightingMode",e)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.uiLightIsSaving=!1},1e3)}})}uiMenuSave(e){return S(this,null,function*(){try{this.uiMenuIsSaving=!0,this.$settings.setMenuMode(e),yield this.saveUiSettingChange("menuMode",e),window.location.reload()}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.uiMenuIsSaving=!1},1e3)}})}uiTempSave(e){return S(this,null,function*(){try{this.uiTempIsSaving=!0,this.$settings.setEnvItem("temperatureUnits",e),yield this.saveUiSettingChange("tempUnits",e)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.uiTempIsSaving=!1},1e3)}})}hbDebugSave(e){return S(this,null,function*(){try{this.hbDebugIsSaving=!0,yield B(this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:e,HOMEBRIDGE_KEEP_ORPHANS:this.hbKeepFormControl.value,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value}))}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.hbDebugIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error:r=>{console.error(r),this.showRestartToast()}})},1e3)}})}hbInsecureSave(e){return S(this,null,function*(){try{this.hbInsecureIsSaving=!0,yield B(this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:this.hbKeepFormControl.value,HOMEBRIDGE_INSECURE:e,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value}))}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.hbInsecureIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error:r=>{console.error(r),this.showRestartToast()}})},1e3)}})}hbKeepSave(e){return S(this,null,function*(){try{this.hbKeepIsSaving=!0,yield B(this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:e,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value}))}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.hbKeepIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error:r=>{console.error(r),this.showRestartToast()}})},1e3)}})}hbEnvDebugSave(e){return S(this,null,function*(){try{this.hbEnvDebugIsSaving=!0,yield B(this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:this.hbKeepFormControl.value,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:e,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value}))}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.hbEnvDebugIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error:r=>{console.error(r),this.showRestartToast()}})},1e3)}})}hbEnvNodeSave(e){return S(this,null,function*(){try{this.hbEnvNodeIsSaving=!0,yield B(this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:this.hbKeepFormControl.value,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:e}))}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.hbEnvNodeIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error:r=>{console.error(r),this.showRestartToast()}})},1e3)}})}hbLogSizeSave(e){return S(this,null,function*(){if(e&&(typeof e!="number"||e<-1||Number.isInteger(e)===!1)){this.hbLogSizeIsInvalid=!0;return}try{this.hbLogSizeIsSaving=!0,this.$settings.setEnvItem("log.maxSize",e),(!e||e===-1)&&(yield this.saveUiSettingChange("log.truncateSize",null),this.hbLogTruncateIsInvalid=!1),yield this.saveUiSettingChange("log.maxSize",e),this.hbLogSizeIsInvalid=!1}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.hbLogSizeIsSaving=!1,this.showRestartToast()},1e3)}})}hbLogTruncateSave(e){return S(this,null,function*(){if(e&&(typeof e!="number"||e<0||Number.isInteger(e)===!1)){this.hbLogTruncateIsInvalid=!0;return}try{this.hbLogTruncateIsSaving=!0,this.$settings.setEnvItem("log.truncateSize",e),yield this.saveUiSettingChange("log.truncateSize",e),this.hbLogTruncateIsInvalid=!1}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.hbLogTruncateIsSaving=!1,this.showRestartToast()},1e3)}})}hbMDnsSave(e){return S(this,null,function*(){try{this.hbMDnsIsSaving=!0,yield B(this.$api.put("/server/mdns-advertiser",{advertiser:e}))}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.hbMDnsIsSaving=!1,this.showRestartToast()},1e3)}})}hbPortSave(e){return S(this,null,function*(){if(e===this.uiPortFormControl.value){this.hbPortIsInvalid=!0;return}try{this.hbPortIsSaving=!0,yield B(this.$api.put("/server/port",{port:e})),this.hbPortIsInvalid=!1}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.hbPortIsSaving=!1,this.showRestartToast()},1e3)}})}uiPortSave(e){return S(this,null,function*(){if(!e||typeof e!="number"||e<1025||e>65533||Number.isInteger(e)===!1||e===this.hbPortFormControl.value){this.uiPortIsInvalid=!0;return}try{this.uiPortIsSaving=!0,this.$settings.setEnvItem("port",e),yield this.saveUiSettingChange("port",e),this.uiPortIsInvalid=!1}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.uiPortIsSaving=!1,this.showRestartToast()},1e3)}})}uiAuthSave(e){return S(this,null,function*(){try{this.uiAuthIsSaving=!0,this.$settings.setItem("formAuth",e),yield this.saveUiSettingChange("auth",e?"form":"none")}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.uiAuthIsSaving=!1,this.showRestartToast()},1e3)}})}uiSessionTimeoutSave(e){return S(this,null,function*(){if(e&&(typeof e!="number"||e<600||e>864e5||Number.isInteger(e)===!1)){this.uiSessionTimeoutIsInvalid=!0;return}try{this.uiSessionTimeoutIsSaving=!0,this.$settings.setItem("sessionTimeout",e),yield this.saveUiSettingChange("sessionTimeout",e),this.uiSessionTimeoutIsInvalid=!1}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.uiSessionTimeoutIsSaving=!1,this.showRestartToast()},1e3)}})}uiSslKeySave(e){return S(this,null,function*(){try{this.uiSslKeyIsSaving=!0,this.$settings.setEnvItem("ssl.key",e),yield this.saveUiSettingChange("ssl.key",e)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.uiSslKeyIsSaving=!1,this.showRestartToast()},1e3)}})}uiSslCertSave(e){return S(this,null,function*(){try{this.uiSslCertIsSaving=!0,this.$settings.setEnvItem("ssl.cert",e),yield this.saveUiSettingChange("ssl.cert",e)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.uiSslCertIsSaving=!1,this.showRestartToast()},1e3)}})}uiSslPfxSave(e){return S(this,null,function*(){try{this.uiSslPfxIsSaving=!0,this.$settings.setEnvItem("ssl.pfx",e),yield this.saveUiSettingChange("ssl.pfx",e)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.uiSslPfxIsSaving=!1,this.showRestartToast()},1e3)}})}uiSslPassphraseSave(e){return S(this,null,function*(){try{this.uiSslPassphraseIsSaving=!0,this.$settings.setEnvItem("ssl.passphrase",e),yield this.saveUiSettingChange("ssl.passphrase",e)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.uiSslPassphraseIsSaving=!1,this.showRestartToast()},1e3)}})}uiSslTypeSave(e){return S(this,null,function*(){switch(e){case"keycert":this.uiSslPfxFormControl.patchValue("",{emitEvent:!1}),this.uiSslPassphraseFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.pfx",""),this.$settings.setEnvItem("ssl.passphrase","");break;case"pfx":this.uiSslKeyFormControl.patchValue("",{emitEvent:!1}),this.uiSslCertFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.key",""),this.$settings.setEnvItem("ssl.cert","");break;default:this.uiSslKeyFormControl.patchValue("",{emitEvent:!1}),this.uiSslCertFormControl.patchValue("",{emitEvent:!1}),this.uiSslPfxFormControl.patchValue("",{emitEvent:!1}),this.uiSslPassphraseFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.key",""),this.$settings.setEnvItem("ssl.cert",""),this.$settings.setEnvItem("ssl.pfx",""),this.$settings.setEnvItem("ssl.passphrase",""),yield this.saveUiSettingChange("ssl",""),this.showRestartToast()}})}uiHostSave(e){return S(this,null,function*(){try{this.uiHostIsSaving=!0,this.$settings.setEnvItem("host",e),yield this.saveUiSettingChange("host",e)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.uiHostIsSaving=!1,this.showRestartToast()},1e3)}})}uiProxyHostSave(e){return S(this,null,function*(){try{this.uiProxyHostIsSaving=!0,this.$settings.setEnvItem("proxyHost",e),yield this.saveUiSettingChange("proxyHost",e)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.uiProxyHostIsSaving=!1,this.showRestartToast()},1e3)}})}hbPackageSave(e){return S(this,null,function*(){try{this.hbPackageIsSaving=!0,this.$settings.setEnvItem("homebridgePackagePath",e),yield this.saveUiSettingChange("homebridgePackagePath",e)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.hbPackageIsSaving=!1,this.showRestartToast()},1e3)}})}uiMetricsSave(e){return S(this,null,function*(){try{this.uiMetricsIsSaving=!0,this.$settings.setEnvItem("disableServerMetricsMonitoring",!e),yield this.saveUiSettingChange("disableServerMetricsMonitoring",!e)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.uiMetricsIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error:r=>{console.error(r),this.showRestartToast()}})},1e3)}})}uiAccDebugSave(e){return S(this,null,function*(){try{this.uiAccDebugIsSaving=!0,this.$settings.setEnvItem("accessoryControl.debug",e),yield this.saveUiSettingChange("accessoryControl.debug",e)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}finally{setTimeout(()=>{this.uiAccDebugIsSaving=!1,this.showRestartToast()},1e3)}})}openUiSettings(){this.$plugin.settings({name:"homebridge-config-ui-x",displayName:"Homebridge UI",settingsSchema:!0,links:{}})}openBackupModal(){this.$modal.open(re,{size:"lg",backdrop:"static"})}openWallpaperModal(){this.$modal.open(Qe,{size:"lg",backdrop:"static"})}resetHomebridgeState(){this.$modal.open(Ke,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(je,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(Ue,{size:"lg",backdrop:"static"})}removeSingleCachedAccessories(){this.$modal.open(Ve,{size:"lg",backdrop:"static"})}removeBridgeAccessories(){this.$modal.open(We,{size:"lg",backdrop:"static"})}selectNetworkInterfaces(){return S(this,null,function*(){let e=this.$modal.open(qe,{size:"lg",backdrop:"static"});e.componentInstance.adaptersAvailable=this.adaptersAvailable;try{let r=yield e.result;this.buildBridgeNetworkAdapterList(r),yield B(this.$api.put("/server/network-interfaces/bridge",{adapters:r})),this.showRestartToast()}catch(r){r!=="Dismiss"&&(console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")))}})}buildBridgeNetworkAdapterList(e){if(!e.length){this.adaptersSelected=[];return}this.adaptersSelected=e.map(r=>{let p=this.adaptersAvailable.find(x=>x.iface===r);return p?{iface:p.iface,selected:!0,missing:!1,ip4:p.ip4,ip6:p.ip6}:{iface:r,selected:!0,missing:!0}})}toggleSection(e){this.showFields[e]=!this.showFields[e]}showRestartToast(){if(!this.restartToastIsShown){this.restartToastIsShown=!0;let e=this.$toastr.info(this.$translate.instant("settings.changes.saved"),this.$translate.instant("menu.hbrestart.title"),{timeOut:0,closeButton:!1,tapToDismiss:!0,disableTimeOut:!0,positionClass:"toast-bottom-right",enableHtml:!0});e&&e.onTap&&e.onTap.subscribe(()=>{this.$router.navigate(["/restart"])})}}static \u0275fac=function(r){return new(r||i)};static \u0275cmp=$({type:i,selectors:[["ng-component"]],decls:52,vars:75,consts:[[1,"primary-text","m-0"],[1,"my-4"],["role","button","tabindex","0",1,"mt-3","hover-pointer",3,"click"],[1,"primary-text"],[1,"fa","fa-fw",3,"ngClass"],["id","fieldsGeneral",1,"list-group","list-group-box","mt-2","mx-0"],["id","fieldsDisplay",1,"list-group","list-group-box","mt-2","mx-0"],["id","fieldsStartup",1,"list-group","list-group-box","mb-4","mx-0"],["id","fieldsNetwork",1,"list-group","list-group-box","mt-2","mx-0"],["id","fieldsSecurity",1,"list-group","list-group-box","mt-2","mx-0"],[1,"small","grey-text","mb-2","mx-0"],["id","fieldsCache",1,"list-group","list-group-box","mb-4","mx-0"],["id","fieldsReset",1,"list-group","list-group-box","mt-2","mx-0"],[1,"pb-3"],[1,"list-group-item","d-block","d-md-flex","justify-content-between","align-items-center"],[1,"my-3","my-md-0","pl-0","pl-md-5","w-auto","d-flex","align-items-center"],["type","text",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],[1,"fas","fa-fw","fa-floppy-disk","primary-text","fa-xl","me-0","me-md-2","ms-2","ms-md-0","order-2","order-md-1"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pe-2"],[1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["routerLink","/users",1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px"],[1,"my-3","my-md-0","ps-0","ps-md-5","w-auto","d-flex","align-items-center"],[1,"custom-select","resp-select","order-1","order-md-2",3,"formControl"],["value","auto"],["value","bg"],["value","ca"],["value","zh-CN"],["value","zh-TW"],["value","cs"],["value","nl"],["value","en"],["value","fi"],["value","fr"],["value","de"],["value","he"],["value","hu"],["value","id"],["value","it"],["value","ja"],["value","ko"],["value","mk"],["value","no"],["value","pl"],["value","pt-BR"],["value","pt"],["value","ru"],["value","sl"],["value","es"],["value","sv"],["value","th"],["value","tr"],["value","uk"],["value","orange"],["value","red"],["value","pink"],["value","purple"],["value","deep-purple"],["value","indigo"],["value","blue"],["value","blue-grey"],["value","cyan"],["value","green"],["value","teal"],["value","grey"],["value","brown"],["value","light"],["value","dark"],["value","default"],["value","freeze"],["value","c"],["value","f"],[1,"grey-text","pe-2"],[1,"d-flex","align-items-center"],[1,"order-1","order-md-2"],["type","checkbox","id","homebridgeDebugMode",1,"rendux-input",3,"formControl"],["for","homebridgeDebugMode",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeInsecureMode",1,"rendux-input",3,"formControl"],["for","homebridgeInsecureMode",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeKeepOrphans",1,"rendux-input",3,"formControl"],["for","homebridgeKeepOrphans",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeMetrics",1,"rendux-input",3,"formControl"],["for","homebridgeMetrics",1,"rendux-label","ms-3",2,"min-width","50px"],["type","text","placeholder","/usr/local/lib/node_modules/homebridge",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],[1,"font-monospace"],[1,"grey-text","pe-2",3,"innerHTML"],["type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","number","min","-1","placeholder","1000000",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],["routerLink","/platform-tools/docker/startup-script",1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px"],["type","number","min","0","placeholder","200000",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],[1,"small","grey-text","pe-2"],[1,"badge","badge-primary","me-1",3,"ngClass"],[1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px",3,"click","disabled"],["value","avahi"],["value","ciao"],["value","bonjour-hap"],["value","resolved"],["type","number","min","1025","max","65533",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],["type","number","min","1025","max","65533","placeholder","8581",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],[1,"grey-text","pe-2",3,"innerHtml"],["type","text","pattern","^[^{}/ :\\\\]+(?::\\d+)?$","placeholder","0.0.0.0",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","pattern","^[^{}/ :\\\\]+(?::\\d+)?$","placeholder","example.com:8443",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],[1,"fas","fa-fw","fa-exclamation-triangle"],[1,"fw-normal"],["type","checkbox","id","uiAuthForm",1,"rendux-input",3,"formControl"],["for","uiAuthForm",1,"rendux-label","ms-3",2,"min-width","50px"],["value","off"],["value","keycert"],["value","pfx"],["type","number","min","600","max","86400000","placeholder","28800",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],["type","text","placeholder","/Users/.../certs/server.key",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","placeholder","/Users/.../certs/server.crt",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","placeholder","/Users/.../certs/server.pfx",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["placeholder","mypassphrase",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"focus","blur","type","formControl"],["type","checkbox","id","accessoryDebug",1,"rendux-input",3,"formControl"],["for","accessoryDebug",1,"rendux-label","ms-3",2,"min-width","50px"]],template:function(r,p){r&1&&(n(0,"h3",0),l(1),o(2,"translate"),a(),n(3,"div",1)(4,"div",2),f("click",function(){return p.toggleSection("general")}),n(5,"h5",3),d(6,"i",4),l(7),o(8,"translate"),a()(),h(9,_i,30,29,"ul",5),a(),n(10,"div",1)(11,"div",2),f("click",function(){return p.toggleSection("display")}),n(12,"h5",3),d(13,"i",4),l(14),o(15,"translate"),a()(),h(16,xi,157,94,"ul",6),a(),n(17,"div",2),f("click",function(){return p.toggleSection("startup")}),n(18,"h5",3),d(19,"i",4),l(20),o(21,"translate"),a()(),h(22,Di,112,84,"ul",7),n(23,"div",2),f("click",function(){return p.toggleSection("network")}),n(24,"h5",3),d(25,"i",4),l(26),o(27,"translate"),a()(),h(28,Ui,80,76,"ul",8),n(29,"div",2),f("click",function(){return p.toggleSection("security")}),n(30,"h5",3),d(31,"i",4),l(32),o(33,"translate"),a()(),h(34,Zi,37,33,"ul",9),n(35,"div",1)(36,"div",2),f("click",function(){return p.toggleSection("cache")}),n(37,"h5",3),d(38,"i",4),l(39),o(40,"translate"),a()(),h(41,en,3,3,"p",10),h(42,nn,48,38,"ul",11),a(),n(43,"div",1)(44,"div",2),f("click",function(){return p.toggleSection("reset")}),n(45,"h5",3),d(46,"i",4),l(47),o(48,"translate"),a()(),h(49,an,3,3,"p",10),h(50,rn,24,20,"ul",12),a(),d(51,"div",13)),r&2&&(t(),u(s(2,38,"menu.settings.title")),t(3),v("aria-expanded",p.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),t(2),m("ngClass",T(54,G,p.showFields.general,!p.showFields.general)),t(),g(" ",s(8,40,"settings.general.title_general")," "),t(2),_(p.showFields.general?9:-1),t(2),v("aria-expanded",p.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),t(2),m("ngClass",T(57,G,p.showFields.display,!p.showFields.display)),t(),g(" ",s(15,42,"settings.general.title_display")," "),t(2),_(p.showFields.display?16:-1),t(),v("aria-expanded",p.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),t(2),m("ngClass",T(60,G,p.showFields.startup,!p.showFields.startup)),t(),g(" ",s(21,44,"settings.title_startup_options")," "),t(2),_(p.showFields.startup?22:-1),t(),v("aria-expanded",p.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),t(2),m("ngClass",T(63,G,p.showFields.network,!p.showFields.network)),t(),g(" ",s(27,46,"settings.network.title_network")," "),t(2),_(p.showFields.network?28:-1),t(),v("aria-expanded",p.showFields.security?"true":"false")("aria-controls","fieldsSecurity"),t(2),m("ngClass",T(66,G,p.showFields.security,!p.showFields.security)),t(),g(" ",s(33,48,"settings.network.title_security")," "),t(2),_(p.showFields.security?34:-1),t(2),v("aria-expanded",p.showFields.cache?"true":"false")("aria-controls","fieldsCache"),t(2),m("ngClass",T(69,G,p.showFields.cache,!p.showFields.cache)),t(),g(" ",s(40,50,"settings.cache.title")," "),t(2),_(p.showFields.cache?41:-1),t(),_(p.showFields.cache?42:-1),t(2),v("aria-expanded",p.showFields.reset?"true":"false")("aria-controls","fieldsReset"),t(2),m("ngClass",T(72,G,p.showFields.reset,!p.showFields.reset)),t(),g(" ",s(48,52,"reset.bridges.title")," "),t(2),_(p.showFields.reset?49:-1),t(),_(p.showFields.reset?50:-1))},dependencies:[U,Ae,ne,Be,Te,te,we,q,Ee,Q,Re,Fe,$e,J,ie,Z,F],encapsulation:2,data:{animation:[ye("fadeInOut",[pe(":enter",[ee({opacity:0}),le("750ms",ee({opacity:1}))]),pe(":leave",[le("750ms",ee({opacity:0}))])])]}})}return i})();export{re as a,Ue as b,Ke as c,qe as d,Qe as e,or as f};
@@ -0,0 +1 @@
1
+ import{e as a}from"./chunk-WPJYEGTG.js";import"./chunk-ANCTYTNR.js";import"./chunk-2EMPNH2X.js";import"./chunk-EJ3RNOUF.js";import"./chunk-ZOLUFCSO.js";import"./chunk-BNGLNG3U.js";import"./chunk-7X3XMTAN.js";import"./chunk-KL2VWGZB.js";import"./chunk-FDPTBVVC.js";import"./chunk-GOW5VSYJ.js";import"./chunk-NR37MAXW.js";export{a as UsersComponent};
@@ -1 +1 @@
1
- import{m as J}from"./chunk-2EMPNH2X.js";import{e as O,l as W,r as z,s as q,t as G,z as H}from"./chunk-EJ3RNOUF.js";import{d as Y}from"./chunk-ZOLUFCSO.js";import{h as X,k as Z}from"./chunk-3YAYVLRD.js";import{a as K,b as Q}from"./chunk-GOW5VSYJ.js";import{$a as s,Ac as m,Bc as p,Gb as A,Hb as _,Ib as u,Kb as $,Lb as k,Mb as E,Nb as C,Ob as o,Pb as a,Qb as w,Ub as B,Xb as b,Yb as d,a as T,b as D,bd as j,h as R,jc as c,kc as g,la as y,lb as M,lc as h,mc as V,qc as F,ra as v,rc as U,sa as f,sc as L,w as S,xc as N,yc as P}from"./chunk-NR37MAXW.js";var te=(t,l)=>({"btn-danger":t,"btn-elegant":l}),ie=(t,l,e)=>({"fa-trash":t,"fa-undo":l,"fa-spinner fa-pulse":e});function ne(t,l){t&1&&(o(0,"div",12),w(1,"i",13),a(),o(2,"p",14),c(3),m(4,"translate"),a()),t&2&&(s(3),g(p(4,1,"reset.no_accessories")))}function se(t,l){if(t&1&&(o(0,"option",24),c(1),a()),t&2){let e=l.$implicit;C("value",e._id),s(),V("",e.name," (",e._username,")")}}function oe(t,l){if(t&1){let e=B();o(0,"li",20),c(1),m(2,"translate"),a(),o(3,"li",18)(4,"label",21),c(5),m(6,"translate"),a(),o(7,"div",22)(8,"select",23),L("ngModelChange",function(i){v(e);let r=d(2);return U(r.selectedBridge,i)||(r.selectedBridge=i),f(i)}),b("change",function(i){v(e);let r=d(2);return f(r.onBridgeChange(i.target.value))}),k(9,se,2,3,"option",24,$),a()()()}if(t&2){let e=d(2);s(),g(p(2,3,"form.label.changes_kept")),s(4),g(p(6,5,"reset.accessory_ind.bridge")),s(3),F("ngModel",e.selectedBridge),s(),E(e.pairings)}}function ae(t,l){if(t&1&&(o(0,"li",18)(1,"label",25),c(2),m(3,"translate"),a(),o(4,"div",26),c(5),a()()),t&2){let e=d(2);s(2),g(p(3,2,"reset.accessory_ind.bridge")),s(3),h(" ",e.getCurrentlySelectedBridge()," ")}}function re(t,l){if(t&1){let e=B();o(0,"li",19)(1,"span"),c(2),w(3,"br"),o(4,"small")(5,"span",27),c(6),a()()(),o(7,"button",28),m(8,"translate"),b("click",function(){let i=v(e).$implicit,r=d(2);return f(r.toggleList(i.UUID,i.$cacheFile))}),w(9,"i",29),a()()}if(t&2){let e=l.$implicit,n=d(2);s(2),h(" ",e.displayName),s(4),g(e.UUID),s(),C("disabled",n.clicked)("ngClass",N(8,te,!n.isInList(e.UUID,e.$cacheFile),n.isInList(e.UUID,e.$cacheFile))),A("aria-label",p(8,6,"form.button_delete")),s(2),C("ngClass",P(11,ie,!n.isInList(e.UUID,e.$cacheFile),n.isInList(e.UUID,e.$cacheFile)&&!n.clicked,n.isInList(e.UUID,e.$cacheFile)&&n.clicked))}}function le(t,l){if(t&1&&(o(0,"div",12),w(1,"i",15),a(),o(2,"ul",16)(3,"li"),c(4),m(5,"translate"),a(),o(6,"li"),c(7),m(8,"translate"),a(),o(9,"li"),c(10),m(11,"translate"),a()(),o(12,"ul",17),_(13,oe,11,7),_(14,ae,6,4,"li",18),k(15,re,10,15,"li",19,$),a()),t&2){let e=d();s(4),g(p(5,5,"reset.accessory_ind.list_1")),s(3),g(p(8,7,"reset.accessory_ind.list_2")),s(3),g(p(11,9,"reset.accessory_ind.list_3")),s(3),u(e.pairings.length>1?13:-1),s(),u(e.pairings.length===1?14:-1),s(),E(e.selectedBridgeAccessories)}}function ce(t,l){if(t&1){let e=B();o(0,"button",30),b("click",function(){v(e);let i=d();return f(i.$activeModal.dismiss("Dismiss"))}),c(1),m(2,"translate"),a()}if(t&2){let e=d();C("disabled",e.clicked),s(),h(" ",p(2,2,"form.button_close")," ")}}function de(t,l){if(t&1){let e=B();o(0,"button",31),b("click",function(){v(e);let i=d();return f(i.$activeModal.dismiss("Dismiss"))}),c(1),m(2,"translate"),a()}t&2&&(s(),h(" ",p(2,1,"form.button_close")," "))}function me(t,l){if(t&1&&c(0),t&2){let e=d(3);h(" (",e.toDelete.length,") ")}}function pe(t,l){if(t&1&&(c(0),m(1,"translate"),_(2,me,1,1)),t&2){let e=d(2);h(" ",p(1,2,"form.button_remove")," "),s(2),u(e.toDelete.length>0?2:-1)}}function _e(t,l){t&1&&w(0,"i",33)}function ue(t,l){if(t&1){let e=B();o(0,"button",32),b("click",function(){v(e);let i=d();return f(i.removeAccessories())}),_(1,pe,3,4),_(2,_e,1,0,"i",33),a()}if(t&2){let e=d();C("disabled",!e.toDelete.length||e.clicked),s(),u(e.clicked?-1:1),s(),u(e.clicked?2:-1)}}var $e=(()=>{class t{$activeModal=y(J);$api=y(Z);$router=y(Y);$toastr=y(X);$translate=y(K);pairings=[];selectedBridge="";clicked=!1;selectedBridgeAccessories=[];accessoriesExist=!1;toDelete=[];constructor(){}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return R(this,null,function*(){try{let[e,n]=yield Promise.all([S(this.$api.get("/server/cached-accessories")),S(this.$api.get("/server/pairings"))]),i=new Map(n.map(r=>[r._id,D(T({},r),{accessories:[]})]));e.sort((r,x)=>r.displayName.localeCompare(x.displayName)).forEach(r=>{let x=n.find(ee=>ee._main),I=r.$cacheFile?.split(".")?.[1]||x._id;(!this.selectedBridge||this.selectedBridge===I)&&(i.has(I)||i.set(I,{_id:I,_username:I.match(/.{1,2}/g).join(":"),name:this.$translate.instant("reset.accessory_ind.unknown"),accessories:[]}),i.get(I).accessories.push(r))}),this.pairings=Array.from(i.values()).filter(r=>r.accessories.length>0).sort((r,x)=>r._main&&!x._main?-1:!r._main&&x._main?1:r.name.localeCompare(x.name)),this.selectedBridge=this.selectedBridge||this.pairings[0]?._id,this.selectedBridge&&(this.accessoriesExist=!0,this.selectedBridgeAccessories=this.pairings[0].accessories)}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}onBridgeChange(e){this.selectedBridge=e,this.selectedBridgeAccessories=this.pairings.find(n=>n._id===this.selectedBridge)?.accessories}getCurrentlySelectedBridge(){let e=this.pairings.find(n=>n._id===this.selectedBridge);return`${e.name} - ${e._username}`}toggleList(e,n){this.toDelete.some(i=>i.uuid===e&&i.cacheFile===n)?this.toDelete=this.toDelete.filter(i=>i.uuid!==e||i.cacheFile!==n):this.toDelete.push({cacheFile:n,uuid:e})}isInList(e,n){return this.toDelete.some(i=>i.uuid===e&&i.cacheFile===n)}removeAccessories(){return this.clicked=!0,this.$api.delete("/server/cached-accessories",{body:this.toDelete}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],inputs:{selectedBridge:"selectedBridge"},decls:17,vars:12,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,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"list-group-item","text-center","grey-text","small"],["for","bridgeSelect",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["id","bridgeSelect",1,"custom-select",3,"ngModelChange","change","ngModel"],[3,"value"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50","grey-text","font-monospace"],[1,"font-monospace","grey-text"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(n,i){n&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),c(3),m(4,"translate"),a(),o(5,"button",3),m(6,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),a()(),o(7,"div",4),_(8,ne,5,3),_(9,le,17,11),a(),o(10,"div",5)(11,"div",6),_(12,ce,3,4,"button",7),a(),o(13,"div",8),_(14,de,3,3,"button",9),a(),o(15,"div",10),_(16,ue,3,3,"button",11),a()()()),n&2&&(s(3),g(p(4,8,"reset.accessory_ind.title")),s(2),C("disabled",i.clicked),A("aria-label",p(6,10,"form.button_close")),s(3),u(i.accessoriesExist?-1:8),s(),u(i.accessoriesExist?9:-1),s(3),u(i.accessoriesExist?12:-1),s(2),u(i.accessoriesExist?-1:14),s(2),u(i.accessoriesExist?16:-1))},dependencies:[j,Q,H,q,G,z,O,W],encapsulation:2})}return t})();export{$e as a};
1
+ import{m as J}from"./chunk-2EMPNH2X.js";import{e as O,l as W,r as z,s as q,t as G,z as H}from"./chunk-EJ3RNOUF.js";import{d as Y}from"./chunk-ZOLUFCSO.js";import{k as X,n as Z}from"./chunk-KL2VWGZB.js";import{a as K,b as Q}from"./chunk-GOW5VSYJ.js";import{$a as s,Ac as m,Bc as p,Gb as A,Hb as _,Ib as u,Kb as $,Lb as k,Mb as E,Nb as C,Ob as o,Pb as a,Qb as w,Ub as B,Xb as b,Yb as d,a as T,b as D,bd as j,h as R,jc as c,kc as g,la as y,lb as M,lc as h,mc as V,qc as F,ra as v,rc as U,sa as f,sc as L,w as S,xc as N,yc as P}from"./chunk-NR37MAXW.js";var te=(t,l)=>({"btn-danger":t,"btn-elegant":l}),ie=(t,l,e)=>({"fa-trash":t,"fa-undo":l,"fa-spinner fa-pulse":e});function ne(t,l){t&1&&(o(0,"div",12),w(1,"i",13),a(),o(2,"p",14),c(3),m(4,"translate"),a()),t&2&&(s(3),g(p(4,1,"reset.no_accessories")))}function se(t,l){if(t&1&&(o(0,"option",24),c(1),a()),t&2){let e=l.$implicit;C("value",e._id),s(),V("",e.name," (",e._username,")")}}function oe(t,l){if(t&1){let e=B();o(0,"li",20),c(1),m(2,"translate"),a(),o(3,"li",18)(4,"label",21),c(5),m(6,"translate"),a(),o(7,"div",22)(8,"select",23),L("ngModelChange",function(i){v(e);let r=d(2);return U(r.selectedBridge,i)||(r.selectedBridge=i),f(i)}),b("change",function(i){v(e);let r=d(2);return f(r.onBridgeChange(i.target.value))}),k(9,se,2,3,"option",24,$),a()()()}if(t&2){let e=d(2);s(),g(p(2,3,"form.label.changes_kept")),s(4),g(p(6,5,"reset.accessory_ind.bridge")),s(3),F("ngModel",e.selectedBridge),s(),E(e.pairings)}}function ae(t,l){if(t&1&&(o(0,"li",18)(1,"label",25),c(2),m(3,"translate"),a(),o(4,"div",26),c(5),a()()),t&2){let e=d(2);s(2),g(p(3,2,"reset.accessory_ind.bridge")),s(3),h(" ",e.getCurrentlySelectedBridge()," ")}}function re(t,l){if(t&1){let e=B();o(0,"li",19)(1,"span"),c(2),w(3,"br"),o(4,"small")(5,"span",27),c(6),a()()(),o(7,"button",28),m(8,"translate"),b("click",function(){let i=v(e).$implicit,r=d(2);return f(r.toggleList(i.UUID,i.$cacheFile))}),w(9,"i",29),a()()}if(t&2){let e=l.$implicit,n=d(2);s(2),h(" ",e.displayName),s(4),g(e.UUID),s(),C("disabled",n.clicked)("ngClass",N(8,te,!n.isInList(e.UUID,e.$cacheFile),n.isInList(e.UUID,e.$cacheFile))),A("aria-label",p(8,6,"form.button_delete")),s(2),C("ngClass",P(11,ie,!n.isInList(e.UUID,e.$cacheFile),n.isInList(e.UUID,e.$cacheFile)&&!n.clicked,n.isInList(e.UUID,e.$cacheFile)&&n.clicked))}}function le(t,l){if(t&1&&(o(0,"div",12),w(1,"i",15),a(),o(2,"ul",16)(3,"li"),c(4),m(5,"translate"),a(),o(6,"li"),c(7),m(8,"translate"),a(),o(9,"li"),c(10),m(11,"translate"),a()(),o(12,"ul",17),_(13,oe,11,7),_(14,ae,6,4,"li",18),k(15,re,10,15,"li",19,$),a()),t&2){let e=d();s(4),g(p(5,5,"reset.accessory_ind.list_1")),s(3),g(p(8,7,"reset.accessory_ind.list_2")),s(3),g(p(11,9,"reset.accessory_ind.list_3")),s(3),u(e.pairings.length>1?13:-1),s(),u(e.pairings.length===1?14:-1),s(),E(e.selectedBridgeAccessories)}}function ce(t,l){if(t&1){let e=B();o(0,"button",30),b("click",function(){v(e);let i=d();return f(i.$activeModal.dismiss("Dismiss"))}),c(1),m(2,"translate"),a()}if(t&2){let e=d();C("disabled",e.clicked),s(),h(" ",p(2,2,"form.button_close")," ")}}function de(t,l){if(t&1){let e=B();o(0,"button",31),b("click",function(){v(e);let i=d();return f(i.$activeModal.dismiss("Dismiss"))}),c(1),m(2,"translate"),a()}t&2&&(s(),h(" ",p(2,1,"form.button_close")," "))}function me(t,l){if(t&1&&c(0),t&2){let e=d(3);h(" (",e.toDelete.length,") ")}}function pe(t,l){if(t&1&&(c(0),m(1,"translate"),_(2,me,1,1)),t&2){let e=d(2);h(" ",p(1,2,"form.button_remove")," "),s(2),u(e.toDelete.length>0?2:-1)}}function _e(t,l){t&1&&w(0,"i",33)}function ue(t,l){if(t&1){let e=B();o(0,"button",32),b("click",function(){v(e);let i=d();return f(i.removeAccessories())}),_(1,pe,3,4),_(2,_e,1,0,"i",33),a()}if(t&2){let e=d();C("disabled",!e.toDelete.length||e.clicked),s(),u(e.clicked?-1:1),s(),u(e.clicked?2:-1)}}var $e=(()=>{class t{$activeModal=y(J);$api=y(Z);$router=y(Y);$toastr=y(X);$translate=y(K);pairings=[];selectedBridge="";clicked=!1;selectedBridgeAccessories=[];accessoriesExist=!1;toDelete=[];constructor(){}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return R(this,null,function*(){try{let[e,n]=yield Promise.all([S(this.$api.get("/server/cached-accessories")),S(this.$api.get("/server/pairings"))]),i=new Map(n.map(r=>[r._id,D(T({},r),{accessories:[]})]));e.sort((r,x)=>r.displayName.localeCompare(x.displayName)).forEach(r=>{let x=n.find(ee=>ee._main),I=r.$cacheFile?.split(".")?.[1]||x._id;(!this.selectedBridge||this.selectedBridge===I)&&(i.has(I)||i.set(I,{_id:I,_username:I.match(/.{1,2}/g).join(":"),name:this.$translate.instant("reset.accessory_ind.unknown"),accessories:[]}),i.get(I).accessories.push(r))}),this.pairings=Array.from(i.values()).filter(r=>r.accessories.length>0).sort((r,x)=>r._main&&!x._main?-1:!r._main&&x._main?1:r.name.localeCompare(x.name)),this.selectedBridge=this.selectedBridge||this.pairings[0]?._id,this.selectedBridge&&(this.accessoriesExist=!0,this.selectedBridgeAccessories=this.pairings[0].accessories)}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}onBridgeChange(e){this.selectedBridge=e,this.selectedBridgeAccessories=this.pairings.find(n=>n._id===this.selectedBridge)?.accessories}getCurrentlySelectedBridge(){let e=this.pairings.find(n=>n._id===this.selectedBridge);return`${e.name} - ${e._username}`}toggleList(e,n){this.toDelete.some(i=>i.uuid===e&&i.cacheFile===n)?this.toDelete=this.toDelete.filter(i=>i.uuid!==e||i.cacheFile!==n):this.toDelete.push({cacheFile:n,uuid:e})}isInList(e,n){return this.toDelete.some(i=>i.uuid===e&&i.cacheFile===n)}removeAccessories(){return this.clicked=!0,this.$api.delete("/server/cached-accessories",{body:this.toDelete}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],inputs:{selectedBridge:"selectedBridge"},decls:17,vars:12,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,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"list-group-item","text-center","grey-text","small"],["for","bridgeSelect",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["id","bridgeSelect",1,"custom-select",3,"ngModelChange","change","ngModel"],[3,"value"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50","grey-text","font-monospace"],[1,"font-monospace","grey-text"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(n,i){n&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),c(3),m(4,"translate"),a(),o(5,"button",3),m(6,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),a()(),o(7,"div",4),_(8,ne,5,3),_(9,le,17,11),a(),o(10,"div",5)(11,"div",6),_(12,ce,3,4,"button",7),a(),o(13,"div",8),_(14,de,3,3,"button",9),a(),o(15,"div",10),_(16,ue,3,3,"button",11),a()()()),n&2&&(s(3),g(p(4,8,"reset.accessory_ind.title")),s(2),C("disabled",i.clicked),A("aria-label",p(6,10,"form.button_close")),s(3),u(i.accessoriesExist?-1:8),s(),u(i.accessoriesExist?9:-1),s(3),u(i.accessoriesExist?12:-1),s(2),u(i.accessoriesExist?-1:14),s(2),u(i.accessoriesExist?16:-1))},dependencies:[j,Q,H,q,G,z,O,W],encapsulation:2})}return t})();export{$e as a};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-FHAEPFX4.js";import"./chunk-EJ3RNOUF.js";import"./chunk-VKY76476.js";import"./chunk-BNGLNG3U.js";import"./chunk-7X3XMTAN.js";import"./chunk-KL2VWGZB.js";import"./chunk-FDPTBVVC.js";import"./chunk-GOW5VSYJ.js";import"./chunk-NR37MAXW.js";export{a as SetupWizardComponent};
@@ -1 +1 @@
1
- import{a as vi,b as xi}from"./chunk-L3YFIHHA.js";import{a as Ci}from"./chunk-EWUBHGYD.js";import{n as bi,w as U}from"./chunk-A72PCJ6R.js";import{a as $}from"./chunk-CEC3XQIL.js";import{a as hi}from"./chunk-DQBVZWYJ.js";import{a as _i}from"./chunk-FMIYWTUO.js";import{h as ri,i as si,j as di,k as pi,l as ci,m as ui,n as N,o as gi}from"./chunk-2EMPNH2X.js";import{A as li,c as X,e as Y,f as Z,g as ii,j as ei,m as ni,p as ti,q as oi,z as ai}from"./chunk-EJ3RNOUF.js";import{a as mi,d as fi}from"./chunk-ZOLUFCSO.js";import{a as R}from"./chunk-XCSR3FBC.js";import{b as F}from"./chunk-42N4BQBA.js";import{h as A,k as j}from"./chunk-3YAYVLRD.js";import{a as H,b as E}from"./chunk-GOW5VSYJ.js";import{$a as t,Ac as s,Bc as g,Cc as D,Gb as B,Hb as c,Ib as u,Kb as L,Lb as G,Mb as W,Nb as x,Ob as a,Pb as l,Qb as d,Ub as b,Xa as q,Xb as _,Ya as I,Yb as p,bd as T,ed as K,h as S,id as Q,jc as m,kc as P,la as w,lb as V,lc as v,ra as C,sa as h,w as k,wc as M,xc as y,yc as J}from"./chunk-NR37MAXW.js";var ki=(n,r)=>({"orange-text":n,"grey-text":r}),z=n=>({opacity:n}),Ii=(n,r)=>({"green-text":n,"grey-text":r}),Vi=(n,r)=>({"purple-text":n,"grey-text":r}),Ti=(n,r)=>({scopedLink:n,verifiedLink:r});function Ei(n,r){n&1&&(a(0,"h6",18),m(1),s(2,"translate"),l(),a(3,"p",19),m(4),s(5,"translate"),l(),a(6,"p",19),m(7),s(8,"translate"),l()),n&2&&(t(),P(g(2,3,"plugins.manage.scoped_subtitle")),t(3),P(g(5,5,"plugins.manage.scoped_message")),t(3),P(g(8,7,"plugins.manage.verified_message")))}function $i(n,r){n&1&&(a(0,"h6",18),m(1),s(2,"translate"),l(),a(3,"p",19),m(4),s(5,"translate"),l()),n&2&&(t(),P(g(2,2,"plugins.manage.verified_subtitle")),t(3),P(g(5,4,"plugins.manage.verified_message")))}function Mi(n,r){n&1&&(a(0,"h6",18),m(1),s(2,"translate"),l(),a(3,"p",19),m(4),s(5,"translate"),l()),n&2&&(t(),P(g(2,2,"plugins.manage.unverified_subtitle")),t(3),P(g(5,4,"plugins.manage.unverified_message")))}function Di(n,r){if(n&1){let e=b();a(0,"button",20),_("click",function(){C(e);let i=p();return h(i.$activeModal.dismiss("Dismiss"))}),m(1),s(2,"translate"),l()}n&2&&(t(),v(" ",g(2,1,"form.button_close")," "))}function Ni(n,r){if(n&1){let e=b();a(0,"button",20),_("click",function(){C(e);let i=p();return h(i.$activeModal.dismiss("Dismiss"))}),m(1),s(2,"translate"),l()}n&2&&(t(),v(" ",g(2,1,"form.button_close")," "))}function Hi(n,r){if(n&1&&(a(0,"a",17),m(1),s(2,"translate"),d(3,"i",21),l()),n&2){let e=p();x("href",e.plugin.links.homepage||e.plugin.links.npm,I),t(),v(" ",g(2,2,"plugins.button_homepage")," ")}}var Pi=(()=>{class n{$activeModal=w(ui);plugin;defaultIcon="assets/hb-icon.png";linkScoped='<a href="https://github.com/homebridge/plugins/wiki/Scoped-Plugins" target="_blank"><i class="fas fa-fw fa-external-link-alt primary-text"></i></a>';linkVerified='<a href="https://github.com/homebridge/plugins/wiki/Verified-Plugins" target="_blank"><i class="fas fa-fw fa-external-link-alt primary-text"></i></a>';constructor(){}ngOnInit(){this.plugin.icon||(this.plugin.icon=this.defaultIcon)}handleIconError(){this.plugin.icon=this.defaultIcon}static \u0275fac=function(o){return new(o||n)};static \u0275cmp=V({type:n,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:32,vars:45,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center"],["alt","Plugin Icon",1,"mb-3","plugin-icon-card",3,"error","src"],[1,"mb-1"],[1,"grey-text","mb-0","font-monospace"],[1,"grey-text","mb-1","font-monospace"],[1,"mb-3"],[1,"fas","fa-fw","fa-shield-alt","mb-3",2,"font-size","48px",3,"ngClass","ngStyle"],[1,"mb-0","grey-text",3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[1,"mb-2"],[1,"mb-1","grey-text"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),m(3),s(4,"translate"),l(),a(5,"button",3),s(6,"translate"),_("click",function(){return i.$activeModal.dismiss("Dismiss")}),l()(),a(7,"div",4)(8,"img",5),_("error",function(){return i.handleIconError()}),l(),a(9,"h4",6),m(10),l(),a(11,"p",7),m(12),l(),a(13,"p",8),m(14),l(),a(15,"p",9),m(16),l(),d(17,"i",10)(18,"i",10)(19,"i",10),c(20,Ei,9,9),c(21,$i,6,6),c(22,Mi,6,6),d(23,"p",11),s(24,"translate"),l(),a(25,"div",12)(26,"div",13),c(27,Di,3,3,"button",14),l(),a(28,"div",15),c(29,Ni,3,3,"button",14),l(),a(30,"div",16),c(31,Hi,4,4,"a",17),l()()()),o&2&&(t(3),P(g(4,20,"plugins.manage.information")),t(2),B("aria-label",g(6,22,"form.button_close")),t(3),x("src",i.plugin.icon,I),t(2),P(i.plugin.displayName),t(2),P(i.plugin.name),t(2),v("@",i.plugin.author),t(2),P(i.plugin.description),t(),x("ngClass",y(27,ki,!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin,i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin))("ngStyle",M(30,z,!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin?1:.25)),t(),x("ngClass",y(32,Ii,!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin),i.plugin.isHbScoped||!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin))("ngStyle",M(35,z,!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)?1:.25)),t(),x("ngClass",y(37,Vi,i.plugin.isHbScoped,!i.plugin.isHbScoped))("ngStyle",M(40,z,i.plugin.isHbScoped?1:.25)),t(),u(i.plugin.isHbScoped?20:-1),t(),u(!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)?21:-1),t(),u(!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin?22:-1),t(),x("innerHTML",D(24,24,"plugins.manage.more_info",y(42,Ti,i.linkScoped,i.linkVerified)),q),t(4),u(i.plugin.links.homepage||i.plugin.links.npm?27:-1),t(2),u(!i.plugin.links.homepage&&!i.plugin.links.npm?29:-1),t(2),u(i.plugin.links.homepage||i.plugin.links.npm?31:-1))},dependencies:[E,T,K],styles:[".plugin-icon[_ngcontent-%COMP%]{height:75px;width:75px;border-radius:15px;border:1px solid #222222}"]})}return n})();var Ai=(n,r,e)=>({"purple-text":n,"green-text":r,"orange-text":e}),ji=(n,r)=>({"fa-bridge-circle-exclamation orange-text":n,"fa-bridge-circle-xmark red-text":r});function Fi(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),s(2,"translate"),_("click",function(){C(e);let i=p();return h(i.$plugin.checkAndUpdatePlugin(i.plugin,i.plugin.updateTag||"latest"))}),d(3,"i",24),l()}n&2&&(x("ngbTooltip",g(1,2,"plugins.button_update")),B("aria-label",g(2,4,"plugins.button_update")))}function Ri(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),s(2,"translate"),_("click",function(){C(e);let i=p();return h(i.$plugin.switchToScoped(i.plugin))}),d(3,"i",25),l()}n&2&&(x("ngbTooltip",g(1,2,"plugins.manage.scoped.switch")),B("aria-label",g(2,4,"plugins.manage.scoped.switch")))}function Ui(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),s(2,"translate"),_("click",function(){C(e);let i=p();return h(i.$plugin.settings(i.plugin))}),d(3,"i",26),l()}n&2&&(x("ngbTooltip",g(1,2,"plugins.button_set_up")),B("aria-label",g(2,4,"plugins.button_set_up")))}function zi(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),s(2,"translate"),_("click",function(){C(e);let i=p();return h(i.$plugin.bridgeSettings(i.plugin))}),d(3,"i",27),l()}n&2&&(x("ngbTooltip",g(1,2,"child_bridge.setup")),B("aria-label",g(2,4,"child_bridge.setup")))}function Oi(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),s(2,"translate"),_("click",function(){C(e);let i=p();return h(i.$plugin.bridgeSettings(i.plugin))}),d(3,"i",28),l()}n&2&&(x("ngbTooltip",g(1,2,"child_bridge.bridge_connect")),B("aria-label",g(2,4,"child_bridge.bridge_connect")))}function qi(n,r){if(n&1&&d(0,"i",12),n&2){let e=p();x("ngClass",y(1,ji,e.childBridgeStatus==="pending",e.childBridgeStatus==="down"))}}function Li(n,r){if(n&1){let e=b();a(0,"a",14),_("click",function(){C(e);let i=p();return h(i.openFundingModal(i.plugin))}),d(1,"i",29),a(2,"span",16),m(3),l()()}if(n&2){let e=p();t(3),v("@",e.plugin.author)}}function Gi(n,r){if(n&1&&(a(0,"span",16),d(1,"i",30),m(2),l()),n&2){let e=p();t(2),v("@",e.plugin.author," ")}}function Wi(n,r){if(n&1&&(a(0,"span"),m(1),s(2,"date"),l()),n&2){let e=p(2);t(),v("(",D(2,1,e.plugin.lastUpdated,"yyyy-MM-dd"),")")}}function Ji(n,r){if(n&1&&(a(0,"span"),d(1,"i",31),a(2,"span",16),m(3),c(4,Wi,3,4,"span"),l()()),n&2){let e=p();t(3),v("v",e.plugin.latestVersion," "),t(),u(e.plugin.lastUpdated?4:-1)}}function Ki(n,r){if(n&1&&(d(0,"i",32),m(1)),n&2){let e=p();t(),v("v",e.plugin.installedVersion," ")}}function Qi(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),_("click",function(){C(e);let i=p();return h(i.doChildBridgeAction("restart"))}),d(2,"i",33),l()}if(n&2){let e=p();x("ngbTooltip",g(1,1,e.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart"))}}function Xi(n,r){if(n&1){let e=b();a(0,"a",34),_("click",function(){C(e);let i=p();return h(i.enablePlugin(i.plugin))}),d(1,"i",35),s(2,"translate"),l()}n&2&&(t(),x("ngbTooltip",g(2,1,"plugins.status_disabled")))}function Yi(n,r){if(n&1){let e=b();a(0,"a",36),_("click",function(){C(e);let i=p();return h(i.$plugin.installAlternateVersion(i.plugin))}),d(1,"i",37),l()}}function Zi(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.viewPluginLog(i.plugin))}),d(1,"i",46),m(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.manage.plugin_logs")," "))}function ie(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.$plugin.installAlternateVersion(i.plugin))}),d(1,"i",47),m(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.manage.manage_version")," "))}function ee(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.$plugin.jsonEditor(i.plugin))}),d(1,"i",48),m(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.manage.json_config")," "))}function ne(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.disablePlugin(i.plugin))}),d(1,"i",49),m(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.manage.disable")," "))}function te(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.enablePlugin(i.plugin))}),d(1,"i",50),m(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.manage.enable")," "))}function oe(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.$plugin.uninstallPlugin(i.plugin,i.setChildBridges))}),d(1,"i",51),m(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.button_uninstall")," "))}function ae(n,r){n&1&&d(0,"div",44)}function le(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(3);return h(i.doChildBridgeAction("restart"))}),d(1,"i",54),m(2),s(3,"translate"),l()}if(n&2){let e=p(3);t(2),v(" ",g(3,1,e.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart")," ")}}function re(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(3);return h(i.doChildBridgeAction("stop"))}),d(1,"i",55),m(2),s(3,"translate"),l()}if(n&2){let e=p(3);t(2),v(" ",g(3,1,e.setChildBridges.length>1?"child_bridge.stop_plural":"child_bridge.stop")," ")}}function se(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(3);return h(i.doChildBridgeAction("start"))}),d(1,"i",56),m(2),s(3,"translate"),l()}if(n&2){let e=p(3);t(2),v(" ",g(3,1,e.setChildBridges.length>1?"child_bridge.start_plural":"child_bridge.start")," ")}}function de(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.$plugin.bridgeSettings(i.plugin))}),d(1,"i",52),m(2),s(3,"translate"),l(),c(4,le,4,3,"button",43),c(5,re,4,3,"button",43),c(6,se,4,3,"button",43),a(7,"button",41),_("click",function(){C(e);let i=p(2);return h(i.$plugin.resetChildBridges(i.setChildBridges))}),d(8,"i",53),m(9),s(10,"translate"),l()}if(n&2){let e=p(2);t(2),v(" ",g(3,5,"child_bridge.bridge_settings")," "),t(2),u(e.childBridgeRestartInProgress?-1:4),t(),u(e.allChildBridgesStopped?-1:5),t(),u(e.allChildBridgesStopped?6:-1),t(3),v(" ",g(10,7,"child_bridge.reset_accessories")," ")}}function pe(n,r){n&1&&d(0,"div",44)}function ce(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.$plugin.bridgeSettings(i.plugin))}),d(1,"i",57),m(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"child_bridge.setup")," "))}function ue(n,r){n&1&&d(0,"div",44)}function ge(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.$plugin.bridgeSettings(i.plugin))}),d(1,"i",57),m(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"child_bridge.setup")," "))}function me(n,r){n&1&&d(0,"div",44)}function fe(n,r){if(n&1&&(a(0,"a",45),d(1,"i",58),m(2),s(3,"translate"),l()),n&2){let e=p(2);x("href",e.plugin.links.bugs,I),t(2),v(" ",g(3,2,"support.links.issue")," ")}}function _e(n,r){if(n&1){let e=b();a(0,"span",22)(1,"a",38),d(2,"i",39),l(),a(3,"div",40)(4,"button",41),_("click",function(){C(e);let i=p();return h(i.$plugin.settings(i.plugin))}),d(5,"i",42),m(6),s(7,"translate"),l(),c(8,Zi,4,3,"button",43),c(9,ie,4,3,"button",43),c(10,ee,4,3,"button",43),c(11,ne,4,3,"button",43),c(12,te,4,3,"button",43),c(13,oe,4,3,"button",43),c(14,ae,1,0,"div",44),c(15,de,11,9),c(16,pe,1,0,"div",44),c(17,ce,4,3,"button",43),c(18,ue,1,0,"div",44),c(19,ge,4,3,"button",43),c(20,me,1,0,"div",44),c(21,fe,4,4,"a",45),l()()}if(n&2){let e=p();t(),B("aria-label","Plugin Actions Dropdown"),t(5),v(" ",g(7,16,"plugins.button_settings")," "),t(2),u(e.plugin.isConfigured&&!e.plugin.disabled?8:-1),t(),u(e.plugin.publicPackage?9:-1),t(),u(!e.isMobile&&e.plugin.name!=="homebridge-config-ui-x"?10:-1),t(),u(e.plugin.name!=="homebridge-config-ui-x"&&!e.plugin.disabled?11:-1),t(),u(e.plugin.name!=="homebridge-config-ui-x"&&e.plugin.disabled?12:-1),t(),u(e.plugin.name!=="homebridge-config-ui-x"?13:-1),t(),u(!e.plugin.disabled&&e.plugin.isConfigured&&e.plugin.hasChildBridges&&e.plugin.installedVersion&&e.plugin.name!=="homebridge-config-ui-x"?14:-1),t(),u(e.plugin.hasChildBridges&&!e.plugin.disabled?15:-1),t(),u(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&!e.plugin.recommendChildBridge?16:-1),t(),u(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&!e.plugin.recommendChildBridge?17:-1),t(),u(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&e.plugin.recommendChildBridge&&e.plugin.updateAvailable?18:-1),t(),u(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&e.plugin.recommendChildBridge&&e.plugin.updateAvailable?19:-1),t(),u(e.plugin.links!=null&&e.plugin.links.bugs?20:-1),t(),u(e.plugin.links!=null&&e.plugin.links.bugs?21:-1)}}var Si=(()=>{class n{$api=w(j);$md=w(hi);$modal=w(N);$plugin=w(U);$settings=w(F);$toastr=w(A);$translate=w(H);$ws=w(R);plugin;hasChildBridges=!1;hasUnpairedChildBridges=!1;allChildBridgesStopped=!1;childBridgeStatus="pending";childBridgeRestartInProgress=!1;defaultIcon="assets/hb-icon.png";isMobile;setChildBridges=[];hb2Status="unknown";io;constructor(){}set childBridges(e){this.hasChildBridges=e.length>0,this.hasUnpairedChildBridges=e.filter(f=>f.paired===!1).length>0,this.allChildBridgesStopped=e.filter(f=>f.manuallyStopped===!0).length===e.length,this.hasChildBridges&&(e.some(f=>f.status==="down")?this.childBridgeStatus="down":e.some(f=>f.status==="pending")?this.childBridgeStatus="pending":e.some(f=>f.status==="ok")&&(this.childBridgeStatus="ok")),this.setChildBridges=e;let o=this.$settings.env.homebridgeVersion?.split(".")[0],i=this.plugin.engines?.homebridge?.split("||").map(f=>f.trim())||[];this.hb2Status=o==="2"?"hide":i.some(f=>f.startsWith("^2")||f.startsWith(">=2"))?"supported":this.hb2Status}ngOnInit(){this.isMobile=this.$md.detect.mobile(),this.io=this.$ws.getExistingNamespace("child-bridges"),this.isMobile&&this.plugin.displayName.toLowerCase().startsWith("homebridge ")&&(this.plugin.displayName=this.plugin.displayName.replace(/^homebridge /i,"")),this.plugin.icon||(this.plugin.icon=this.defaultIcon)}openFundingModal(e){let o=this.$modal.open(xi,{size:"lg",backdrop:"static"});o.componentInstance.plugin=e}pluginInfoModal(e){let o=this.$modal.open(Pi,{size:"lg",backdrop:"static"});o.componentInstance.plugin=e}disablePlugin(e){let o=this.$modal.open(vi,{size:"lg",backdrop:"static"});o.componentInstance.pluginName=e.displayName,o.componentInstance.isConfigured=e.isConfigured,o.componentInstance.isConfiguredDynamicPlatform=e.isConfiguredDynamicPlatform,o.result.then(()=>S(this,null,function*(){try{yield k(this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/disable`,{})),e.disabled=!0,this.hasChildBridges&&this.doChildBridgeAction("stop"),this.$modal.open($,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.disable.error"),this.$translate.instant("toast.title_error"))}}))}enablePlugin(e){let o=this.$modal.open(_i,{size:"lg",backdrop:"static"});o.componentInstance.title=e.name,o.componentInstance.message=this.$translate.instant("plugins.manage.confirm_enable",{pluginName:e.displayName}),o.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.enable"),o.componentInstance.faIconClass="fa-circle-play primary-text",o.result.then(()=>S(this,null,function*(){try{yield k(this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/enable`,{})),e.disabled=!1,this.hasChildBridges&&(yield this.doChildBridgeAction("start")),this.$modal.open($,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.enable.error"),this.$translate.instant("toast.title_error"))}}))}viewPluginLog(e){let o=this.$modal.open(bi,{size:"xl",backdrop:"static"});o.componentInstance.plugin=e}doChildBridgeAction(e){return S(this,null,function*(){this.childBridgeRestartInProgress=!0;try{for(let o of this.setChildBridges)yield k(this.io.request(`${e}-child-bridge`,o.username))}catch(o){console.error(o),this.$toastr.error(this.$translate.instant("plugins.bridge.action_error",{action:e}),this.$translate.instant("toast.title_error")),this.childBridgeRestartInProgress=!1}finally{setTimeout(()=>{this.childBridgeRestartInProgress=!1},e==="restart"?12e3:e==="stop"?6e3:1e3)}})}handleIconError(){this.plugin.icon=this.defaultIcon}static \u0275fac=function(o){return new(o||n)};static \u0275cmp=V({type:n,selectors:[["app-plugin-card"]],inputs:{plugin:"plugin",childBridges:"childBridges"},decls:35,vars:23,consts:[[1,"card","card-body","mb-3"],[1,"d-flex","flex-row","justify-content-between"],[1,"d-flex","flex-column","me-3","align-items-center","justify-content-between"],["alt","Plugin Icon",1,"plugin-icon-card","mb-3",3,"error","src"],[1,"d-flex","flex-column","justify-content-between",2,"min-width","calc(100% - 80px)"],[1,"d-flex","flex-row","align-items-end"],[1,"d-flex","flex-column","w-100"],[1,"d-flex","flex-row"],[1,"card-title","mb-2","text-truncate"],[1,"ms-auto"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover",1,"card-link",3,"ngbTooltip"],[1,"fas","fa-fw","fa-spinner","fa-pulse","fa-lg","grey-text","ms-3",3,"hidden"],[1,"fas","fa-fw","fa-lg","ms-3",3,"ngClass"],[1,"card-text","mb-2","text-truncate"],["href","javascript:void(0)",1,"card-link",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","me-1",3,"ngClass"],[1,"grey-text"],[1,"card-text","mb-2"],["href","javascript:void(0)",1,"card-link"],[1,"card-text","mb-0","grey-text"],["href","javascript:void(0)",1,"card-link","red-text"],["href","javascript:void(0)"],["ngbDropdown","","placement","left",1,"d-inline-block","ms-3","mt-auto"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover",1,"card-link",3,"click","ngbTooltip"],[1,"far","fa-fw","fa-arrow-alt-circle-up","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-arrow-right-arrow-left","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-sliders","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-bridge","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-qrcode","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-heart","fa-lg","me-1","pink-text"],[1,"fas","fa-fw","fa-heart","fa-lg","me-1",2,"opacity","0.5"],[1,"far","fa-fw","fa-circle-dot","fa-lg","me-1"],[1,"far","fa-fw","fa-circle-check","fa-lg","me-1"],[1,"fas","fa-fw","fa-lg","fa-power-off","ms-3"],["href","javascript:void(0)",1,"card-link","red-text",3,"click"],["container","body","openDelay","150","triggers","hover",1,"far","fa-fw","fa-pause-circle","fa-lg",3,"ngbTooltip"],["href","javascript:void(0)",3,"click"],[1,"far","fa-fw","fa-arrow-alt-circle-down","fa-lg"],["href","javascript:void(0)","ngbDropdownToggle","",1,"card-link","text-decoration-none","mt-auto",2,"outline","none"],[1,"fa-solid","fa-fw","fa-ellipsis-v","fa-lg"],["ngbDropdownMenu","","aria-labelledby","Plugin Actions Dropdown"],["ngbDropdownItem","",3,"click"],[1,"fas","fa-fw","fa-sliders"],["ngbDropdownItem",""],[1,"dropdown-divider"],["ngbDropdownItem","","rel","noopener noreferrer","target","_blank",3,"href"],[1,"fas","fa-fw","fa-wave-square"],[1,"fas","fa-fw","fa-code-compare"],[1,"fas","fa-fw","fa-code"],[1,"far","fa-fw","fa-circle-pause"],[1,"far","fa-fw","fa-circle-play"],[1,"fas","fa-fw","fa-trash"],[1,"fas","fa-fw","fa-bridge"],[1,"fas","fa-fw","fa-broom"],[1,"fa-fw","icon-button","fas","fa-fw","fa-power-off"],[1,"fas","fa-fw","fa-stop"],[1,"fas","fa-fw","fa-play"],[1,"icon-button","fas","fa-fw","fa-bridge"],[1,"icon-button","fa","fa-fw","fa-question-circle-o"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"div",2)(3,"img",3),_("error",function(){return i.handleIconError()}),l()(),a(4,"div",4)(5,"div",5)(6,"div",6)(7,"div",7)(8,"h5",8),m(9),l(),a(10,"div",9),c(11,Fi,4,6,"a",10),c(12,Ri,4,6,"a",10),c(13,Ui,4,6,"a",10),c(14,zi,4,6,"a",10),c(15,Oi,4,6,"a",10),d(16,"i",11),c(17,qi,1,4,"i",12),l()(),a(18,"p",13)(19,"a",14),_("click",function(){return i.pluginInfoModal(i.plugin)}),d(20,"i",15),a(21,"span",16),m(22),l()()(),a(23,"p",17),c(24,Li,4,1,"a",18),c(25,Gi,3,1,"span",16),l(),a(26,"div",7)(27,"p",19),c(28,Ji,5,2,"span"),c(29,Ki,2,1),l(),a(30,"div",9),c(31,Qi,3,3,"a",10),c(32,Xi,3,3,"a",20),c(33,Yi,2,0,"a",21),c(34,_e,22,18,"span",22),l()()()()()()()),o&2&&(t(3),x("src",i.plugin.icon,I),t(6),P(i.plugin.displayName),t(2),u(i.plugin.installedVersion&&i.plugin.updateAvailable&&!i.childBridgeRestartInProgress?11:-1),t(),u(i.plugin.installedVersion&&(i.plugin.newHbScope==null?null:i.plugin.newHbScope.switch)===i.plugin.installedVersion&&!i.childBridgeRestartInProgress?12:-1),t(),u(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&!i.plugin.isConfigured&&!i.childBridgeRestartInProgress&&!i.plugin.disabled?13:-1),t(),u(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&!i.plugin.hasChildBridges&&!i.plugin.disabled&&i.plugin.recommendChildBridge&&!i.childBridgeRestartInProgress?14:-1),t(),u(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&i.plugin.hasChildBridges&&!i.childBridgeRestartInProgress&&i.hasUnpairedChildBridges&&i.childBridgeStatus==="ok"&&!i.plugin.disabled?15:-1),t(),x("hidden",!i.childBridgeRestartInProgress),t(),u(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&i.plugin.hasChildBridges&&!i.childBridgeRestartInProgress&&!i.hasUnpairedChildBridges&&i.childBridgeStatus!=="ok"&&!i.plugin.disabled?17:-1),t(3),x("ngClass",J(19,Ai,i.plugin.isHbScoped,!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin),!i.plugin.isHbScoped&&!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin)),t(2),P(i.plugin.name),t(2),u((i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)&&i.plugin.funding?24:-1),t(),u((i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)&&i.plugin.funding?-1:25),t(3),u(i.plugin.publicPackage&&!i.plugin.installedVersion?28:-1),t(),u(i.plugin.installedVersion?29:-1),t(2),u(!i.plugin.disabled&&i.plugin.hasChildBridges&&i.childBridgeStatus==="ok"?31:-1),t(),u(i.plugin.installedVersion&&i.plugin.disabled?32:-1),t(),u(i.plugin.publicPackage&&!i.plugin.installedVersion?33:-1),t(),u(i.plugin.installedVersion?34:-1))},dependencies:[gi,T,ci,pi,di,si,ri,Q,E],encapsulation:2})}return n})();var Ce=(n,r)=>({"fa-magnifying-glass":n,"fa-exclamation-circle":r});function he(n,r){n&1&&d(0,"app-spinner")}function be(n,r){if(n&1){let e=b();a(0,"a",9),_("click",function(){C(e);let i=p();return h(i.onClearSearch())}),d(1,"i",10),l()}}function ve(n,r){if(n&1&&(a(0,"div",11),d(1,"app-plugin-card",13),l()),n&2){let e=r.$implicit,o=p(2);t(),x("plugin",e)("childBridges",o.getPluginChildBridges(e))}}function xe(n,r){if(n&1&&(a(0,"div",12),d(1,"i",14),a(2,"p"),m(3),s(4,"translate"),l()()),n&2){let e=p(2);t(),x("ngClass",y(4,Ce,!e.showExitButton,e.showExitButton)),t(2),P(g(4,2,e.showExitButton?"plugins.placeholder_search_none":"plugins.placeholder_search_first"))}}function we(n,r){if(n&1&&(a(0,"div",8),G(1,ve,2,2,"div",11,L),c(3,xe,5,7,"div",12),l()),n&2){let e=p();t(),W(e.installedPlugins),t(2),u(e.installedPlugins.length===0&&!e.loading&&!e.mainError?3:-1)}}var fn=(()=>{class n{$api=w(j);$modal=w(N);$plugin=w(U);$router=w(fi);$settings=w(F);$toastr=w(A);$translate=w(H);$ws=w(R);isSearchMode=!1;mainError=!1;loading=!0;installedPlugins=[];childBridges=[];showExitButton=!1;form=new ii({query:new ei("")});io;navigationSubscription;constructor(){}ngOnInit(){return S(this,null,function*(){this.io=this.$ws.connectToNamespace("child-bridges"),this.io.connected.subscribe(()=>S(this,null,function*(){this.getChildBridgeMetadata(),this.io.socket.emit("monitor-child-bridge-status"),this.loadInstalledPlugins().then(()=>{let e=this.$router.parseUrl(this.$router.url).queryParams.installed;if(e){let o=this.installedPlugins.find(i=>i.name===e);o&&(o.isConfigured?this.$modal.open($,{size:"lg",backdrop:"static"}):this.$plugin.settings(o)),this.$router.navigate(["/plugins"])}})})),this.io.socket.on("child-bridge-status-update",e=>{let o=this.childBridges.find(i=>i.username===e.username);o?Object.assign(o,e):this.childBridges.push(e)}),this.navigationSubscription=this.$router.events.subscribe(e=>{e instanceof mi&&this.loadInstalledPlugins()})})}loadInstalledPlugins(){return S(this,null,function*(){this.form.setValue({query:""}),this.showExitButton=!1,this.installedPlugins=[],this.loading=!0,this.mainError=!1;try{let e=yield k(this.$api.get("/plugins"));this.installedPlugins=e.filter(i=>i.name!=="homebridge-config-ui-x"),yield this.appendMetaInfo();let o=this.installedPlugins.sort((i,f)=>i.updateAvailable!==f.updateAvailable?i.updateAvailable?-1:1:i.newHbScope&&!f.newHbScope?-1:i.disabled!==f.disabled?i.disabled?1:-1:i.isConfigured!==f.isConfigured?i.isConfigured?1:-1:i.hasChildBridgesUnpaired!==f.hasChildBridgesUnpaired?i.hasChildBridgesUnpaired?-1:1:i.hasChildBridges!==f.hasChildBridges&&this.$settings.env.recommendChildBridges?i.hasChildBridges?1:-1:i.name.localeCompare(f.name));return this.loading=!1,o}catch(e){console.error(e),this.loading=!1,this.mainError=!0,this.$toastr.error(this.$translate.instant("plugins.toast_failed_to_load_plugins"),this.$translate.instant("toast.title_error"))}})}appendMetaInfo(){return S(this,null,function*(){yield Promise.all(this.installedPlugins.filter(e=>e.installedVersion).map(e=>S(this,null,function*(){try{let o=yield k(this.$api.get(`/config-editor/plugin/${encodeURIComponent(e.name)}`));e.isConfigured=o.length>0,e.isConfiguredDynamicPlatform=e.isConfigured&&Object.prototype.hasOwnProperty.call(o[0],"platform"),e.recommendChildBridge=e.isConfiguredDynamicPlatform&&this.$settings.env.recommendChildBridges&&!["homebridge","homebridge-config-ui-x"].includes(e.name),e.hasChildBridges=e.isConfigured&&o.some(f=>f._bridge&&f._bridge.username);let i=this.getPluginChildBridges(e);e.hasChildBridgesUnpaired=i.some(f=>!f.paired)}catch{e.isConfigured=!0,e.hasChildBridges=!0}})))})}search(){this.installedPlugins=[],this.loading=!0,this.showExitButton=!0,this.$api.get(`/plugins/search/${encodeURIComponent(this.form.value.query)}`).subscribe({next:e=>{let o=new Set;this.installedPlugins=e.reduce((i,f)=>{if(f.name==="homebridge-config-ui-x"||o.has(f.name))return i;if(f.newHbScope){let O=f.newHbScope.to,Bi=e.some(yi=>yi.name===O);(f.installedVersion||!Bi)&&(o.add(O),i.push(f))}else i.push(f);return i},[]),this.appendMetaInfo(),this.loading=!1},error:e=>{this.loading=!1,this.isSearchMode=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error")),this.loadInstalledPlugins()}})}onClearSearch(){this.loadInstalledPlugins()}onSubmit({value:e}){e.query.length?(this.isSearchMode=!0,this.search()):this.isSearchMode&&(this.isSearchMode=!1,this.loadInstalledPlugins())}getChildBridgeMetadata(){this.io.request("get-homebridge-child-bridge-status").subscribe(e=>{this.childBridges=e})}getPluginChildBridges(e){return this.childBridges.filter(o=>o.plugin===e.name)}ngOnDestroy(){this.navigationSubscription&&this.navigationSubscription.unsubscribe(),this.io.end()}static \u0275fac=function(o){return new(o||n)};static \u0275cmp=V({type:n,selectors:[["ng-component"]],decls:13,vars:10,consts:[[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"row"],[1,"col-md-12"],["novalidate","",3,"ngSubmit","formGroup"],["type","text","formControlName","query",1,"hb-npm-search",3,"placeholder"],["href","javascript:void(0)",1,"hb-npm-search-clear"],[1,"d-flex","flex-wrap","justify-content-between"],["href","javascript:void(0)",1,"hb-npm-search-clear",3,"click"],[1,"far","fa-fw","fa-times-circle"],[1,"hb-plugin-space-between"],[1,"alert","alert-info","mt-4","text-center","w-100"],[3,"plugin","childBridges"],[1,"fas","fa-fw","primary-text","my-3",2,"font-size","75px",3,"ngClass"]],template:function(o,i){o&1&&(c(0,he,1,0,"app-spinner"),a(1,"div",0)(2,"div",1)(3,"h3",2),m(4),s(5,"translate"),l()()(),a(6,"div",3)(7,"div",4)(8,"form",5),_("ngSubmit",function(){return i.onSubmit(i.form)}),d(9,"input",6),s(10,"translate"),c(11,be,2,0,"a",7),l()()(),c(12,we,4,1,"div",8)),o&2&&(u(i.loading?0:-1),t(4),P(g(5,6,"menu.label_plugins")),t(4),x("formGroup",i.form),t(),x("placeholder",g(10,8,"plugins.placeholder_search_plugin")),t(2),u(i.showExitButton?11:-1),t(),u(i.loading?-1:12))},dependencies:[Ci,ai,ni,X,Y,Z,li,ti,oi,Si,E,T],styles:[".hb-npm-search[_ngcontent-%COMP%]{outline:none;box-sizing:inherit!important;background-color:inherit;height:50px!important;width:100%;border-width:.5px;padding:10px;margin-bottom:15px}@media (hover: hover){.hb-npm-search[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.hb-npm-search[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.hb-npm-search-clear[_ngcontent-%COMP%]{position:absolute;right:25px;font-size:35px;color:#d0d0d0;line-height:50px;cursor:pointer}.hb-plugin-space-between[_ngcontent-%COMP%]{box-sizing:border-box;width:calc(50% - 6.6666666667px)}@media only screen and (max-width: 991px){.hb-plugin-space-between[_ngcontent-%COMP%]{width:100%}}"]})}return n})();export{fn as a};
1
+ import{a as vi,b as xi}from"./chunk-L3YFIHHA.js";import{a as Ci}from"./chunk-EWUBHGYD.js";import{n as bi,w as U}from"./chunk-MHT5EWEJ.js";import{a as $}from"./chunk-CEC3XQIL.js";import{a as hi}from"./chunk-DQBVZWYJ.js";import{a as _i}from"./chunk-FMIYWTUO.js";import{h as ri,i as si,j as di,k as pi,l as ci,m as ui,n as N,o as gi}from"./chunk-2EMPNH2X.js";import{A as li,c as X,e as Y,f as Z,g as ii,j as ei,m as ni,p as ti,q as oi,z as ai}from"./chunk-EJ3RNOUF.js";import{a as mi,d as fi}from"./chunk-ZOLUFCSO.js";import{a as R}from"./chunk-VKY76476.js";import{b as F}from"./chunk-7X3XMTAN.js";import{k as A,n as j}from"./chunk-KL2VWGZB.js";import{a as H,b as E}from"./chunk-GOW5VSYJ.js";import{$a as t,Ac as s,Bc as g,Cc as D,Gb as B,Hb as c,Ib as u,Kb as L,Lb as G,Mb as W,Nb as x,Ob as a,Pb as l,Qb as d,Ub as b,Xa as q,Xb as _,Ya as I,Yb as p,bd as T,ed as K,h as S,id as Q,jc as m,kc as P,la as w,lb as V,lc as v,ra as C,sa as h,w as k,wc as M,xc as y,yc as J}from"./chunk-NR37MAXW.js";var ki=(n,r)=>({"orange-text":n,"grey-text":r}),z=n=>({opacity:n}),Ii=(n,r)=>({"green-text":n,"grey-text":r}),Vi=(n,r)=>({"purple-text":n,"grey-text":r}),Ti=(n,r)=>({scopedLink:n,verifiedLink:r});function Ei(n,r){n&1&&(a(0,"h6",18),m(1),s(2,"translate"),l(),a(3,"p",19),m(4),s(5,"translate"),l(),a(6,"p",19),m(7),s(8,"translate"),l()),n&2&&(t(),P(g(2,3,"plugins.manage.scoped_subtitle")),t(3),P(g(5,5,"plugins.manage.scoped_message")),t(3),P(g(8,7,"plugins.manage.verified_message")))}function $i(n,r){n&1&&(a(0,"h6",18),m(1),s(2,"translate"),l(),a(3,"p",19),m(4),s(5,"translate"),l()),n&2&&(t(),P(g(2,2,"plugins.manage.verified_subtitle")),t(3),P(g(5,4,"plugins.manage.verified_message")))}function Mi(n,r){n&1&&(a(0,"h6",18),m(1),s(2,"translate"),l(),a(3,"p",19),m(4),s(5,"translate"),l()),n&2&&(t(),P(g(2,2,"plugins.manage.unverified_subtitle")),t(3),P(g(5,4,"plugins.manage.unverified_message")))}function Di(n,r){if(n&1){let e=b();a(0,"button",20),_("click",function(){C(e);let i=p();return h(i.$activeModal.dismiss("Dismiss"))}),m(1),s(2,"translate"),l()}n&2&&(t(),v(" ",g(2,1,"form.button_close")," "))}function Ni(n,r){if(n&1){let e=b();a(0,"button",20),_("click",function(){C(e);let i=p();return h(i.$activeModal.dismiss("Dismiss"))}),m(1),s(2,"translate"),l()}n&2&&(t(),v(" ",g(2,1,"form.button_close")," "))}function Hi(n,r){if(n&1&&(a(0,"a",17),m(1),s(2,"translate"),d(3,"i",21),l()),n&2){let e=p();x("href",e.plugin.links.homepage||e.plugin.links.npm,I),t(),v(" ",g(2,2,"plugins.button_homepage")," ")}}var Pi=(()=>{class n{$activeModal=w(ui);plugin;defaultIcon="assets/hb-icon.png";linkScoped='<a href="https://github.com/homebridge/plugins/wiki/Scoped-Plugins" target="_blank"><i class="fas fa-fw fa-external-link-alt primary-text"></i></a>';linkVerified='<a href="https://github.com/homebridge/plugins/wiki/Verified-Plugins" target="_blank"><i class="fas fa-fw fa-external-link-alt primary-text"></i></a>';constructor(){}ngOnInit(){this.plugin.icon||(this.plugin.icon=this.defaultIcon)}handleIconError(){this.plugin.icon=this.defaultIcon}static \u0275fac=function(o){return new(o||n)};static \u0275cmp=V({type:n,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:32,vars:45,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center"],["alt","Plugin Icon",1,"mb-3","plugin-icon-card",3,"error","src"],[1,"mb-1"],[1,"grey-text","mb-0","font-monospace"],[1,"grey-text","mb-1","font-monospace"],[1,"mb-3"],[1,"fas","fa-fw","fa-shield-alt","mb-3",2,"font-size","48px",3,"ngClass","ngStyle"],[1,"mb-0","grey-text",3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[1,"mb-2"],[1,"mb-1","grey-text"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),m(3),s(4,"translate"),l(),a(5,"button",3),s(6,"translate"),_("click",function(){return i.$activeModal.dismiss("Dismiss")}),l()(),a(7,"div",4)(8,"img",5),_("error",function(){return i.handleIconError()}),l(),a(9,"h4",6),m(10),l(),a(11,"p",7),m(12),l(),a(13,"p",8),m(14),l(),a(15,"p",9),m(16),l(),d(17,"i",10)(18,"i",10)(19,"i",10),c(20,Ei,9,9),c(21,$i,6,6),c(22,Mi,6,6),d(23,"p",11),s(24,"translate"),l(),a(25,"div",12)(26,"div",13),c(27,Di,3,3,"button",14),l(),a(28,"div",15),c(29,Ni,3,3,"button",14),l(),a(30,"div",16),c(31,Hi,4,4,"a",17),l()()()),o&2&&(t(3),P(g(4,20,"plugins.manage.information")),t(2),B("aria-label",g(6,22,"form.button_close")),t(3),x("src",i.plugin.icon,I),t(2),P(i.plugin.displayName),t(2),P(i.plugin.name),t(2),v("@",i.plugin.author),t(2),P(i.plugin.description),t(),x("ngClass",y(27,ki,!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin,i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin))("ngStyle",M(30,z,!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin?1:.25)),t(),x("ngClass",y(32,Ii,!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin),i.plugin.isHbScoped||!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin))("ngStyle",M(35,z,!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)?1:.25)),t(),x("ngClass",y(37,Vi,i.plugin.isHbScoped,!i.plugin.isHbScoped))("ngStyle",M(40,z,i.plugin.isHbScoped?1:.25)),t(),u(i.plugin.isHbScoped?20:-1),t(),u(!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)?21:-1),t(),u(!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin?22:-1),t(),x("innerHTML",D(24,24,"plugins.manage.more_info",y(42,Ti,i.linkScoped,i.linkVerified)),q),t(4),u(i.plugin.links.homepage||i.plugin.links.npm?27:-1),t(2),u(!i.plugin.links.homepage&&!i.plugin.links.npm?29:-1),t(2),u(i.plugin.links.homepage||i.plugin.links.npm?31:-1))},dependencies:[E,T,K],styles:[".plugin-icon[_ngcontent-%COMP%]{height:75px;width:75px;border-radius:15px;border:1px solid #222222}"]})}return n})();var Ai=(n,r,e)=>({"purple-text":n,"green-text":r,"orange-text":e}),ji=(n,r)=>({"fa-bridge-circle-exclamation orange-text":n,"fa-bridge-circle-xmark red-text":r});function Fi(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),s(2,"translate"),_("click",function(){C(e);let i=p();return h(i.$plugin.checkAndUpdatePlugin(i.plugin,i.plugin.updateTag||"latest"))}),d(3,"i",24),l()}n&2&&(x("ngbTooltip",g(1,2,"plugins.button_update")),B("aria-label",g(2,4,"plugins.button_update")))}function Ri(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),s(2,"translate"),_("click",function(){C(e);let i=p();return h(i.$plugin.switchToScoped(i.plugin))}),d(3,"i",25),l()}n&2&&(x("ngbTooltip",g(1,2,"plugins.manage.scoped.switch")),B("aria-label",g(2,4,"plugins.manage.scoped.switch")))}function Ui(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),s(2,"translate"),_("click",function(){C(e);let i=p();return h(i.$plugin.settings(i.plugin))}),d(3,"i",26),l()}n&2&&(x("ngbTooltip",g(1,2,"plugins.button_set_up")),B("aria-label",g(2,4,"plugins.button_set_up")))}function zi(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),s(2,"translate"),_("click",function(){C(e);let i=p();return h(i.$plugin.bridgeSettings(i.plugin))}),d(3,"i",27),l()}n&2&&(x("ngbTooltip",g(1,2,"child_bridge.setup")),B("aria-label",g(2,4,"child_bridge.setup")))}function Oi(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),s(2,"translate"),_("click",function(){C(e);let i=p();return h(i.$plugin.bridgeSettings(i.plugin))}),d(3,"i",28),l()}n&2&&(x("ngbTooltip",g(1,2,"child_bridge.bridge_connect")),B("aria-label",g(2,4,"child_bridge.bridge_connect")))}function qi(n,r){if(n&1&&d(0,"i",12),n&2){let e=p();x("ngClass",y(1,ji,e.childBridgeStatus==="pending",e.childBridgeStatus==="down"))}}function Li(n,r){if(n&1){let e=b();a(0,"a",14),_("click",function(){C(e);let i=p();return h(i.openFundingModal(i.plugin))}),d(1,"i",29),a(2,"span",16),m(3),l()()}if(n&2){let e=p();t(3),v("@",e.plugin.author)}}function Gi(n,r){if(n&1&&(a(0,"span",16),d(1,"i",30),m(2),l()),n&2){let e=p();t(2),v("@",e.plugin.author," ")}}function Wi(n,r){if(n&1&&(a(0,"span"),m(1),s(2,"date"),l()),n&2){let e=p(2);t(),v("(",D(2,1,e.plugin.lastUpdated,"yyyy-MM-dd"),")")}}function Ji(n,r){if(n&1&&(a(0,"span"),d(1,"i",31),a(2,"span",16),m(3),c(4,Wi,3,4,"span"),l()()),n&2){let e=p();t(3),v("v",e.plugin.latestVersion," "),t(),u(e.plugin.lastUpdated?4:-1)}}function Ki(n,r){if(n&1&&(d(0,"i",32),m(1)),n&2){let e=p();t(),v("v",e.plugin.installedVersion," ")}}function Qi(n,r){if(n&1){let e=b();a(0,"a",23),s(1,"translate"),_("click",function(){C(e);let i=p();return h(i.doChildBridgeAction("restart"))}),d(2,"i",33),l()}if(n&2){let e=p();x("ngbTooltip",g(1,1,e.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart"))}}function Xi(n,r){if(n&1){let e=b();a(0,"a",34),_("click",function(){C(e);let i=p();return h(i.enablePlugin(i.plugin))}),d(1,"i",35),s(2,"translate"),l()}n&2&&(t(),x("ngbTooltip",g(2,1,"plugins.status_disabled")))}function Yi(n,r){if(n&1){let e=b();a(0,"a",36),_("click",function(){C(e);let i=p();return h(i.$plugin.installAlternateVersion(i.plugin))}),d(1,"i",37),l()}}function Zi(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.viewPluginLog(i.plugin))}),d(1,"i",46),m(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.manage.plugin_logs")," "))}function ie(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.$plugin.installAlternateVersion(i.plugin))}),d(1,"i",47),m(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.manage.manage_version")," "))}function ee(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.$plugin.jsonEditor(i.plugin))}),d(1,"i",48),m(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.manage.json_config")," "))}function ne(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.disablePlugin(i.plugin))}),d(1,"i",49),m(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.manage.disable")," "))}function te(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.enablePlugin(i.plugin))}),d(1,"i",50),m(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.manage.enable")," "))}function oe(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.$plugin.uninstallPlugin(i.plugin,i.setChildBridges))}),d(1,"i",51),m(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"plugins.button_uninstall")," "))}function ae(n,r){n&1&&d(0,"div",44)}function le(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(3);return h(i.doChildBridgeAction("restart"))}),d(1,"i",54),m(2),s(3,"translate"),l()}if(n&2){let e=p(3);t(2),v(" ",g(3,1,e.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart")," ")}}function re(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(3);return h(i.doChildBridgeAction("stop"))}),d(1,"i",55),m(2),s(3,"translate"),l()}if(n&2){let e=p(3);t(2),v(" ",g(3,1,e.setChildBridges.length>1?"child_bridge.stop_plural":"child_bridge.stop")," ")}}function se(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(3);return h(i.doChildBridgeAction("start"))}),d(1,"i",56),m(2),s(3,"translate"),l()}if(n&2){let e=p(3);t(2),v(" ",g(3,1,e.setChildBridges.length>1?"child_bridge.start_plural":"child_bridge.start")," ")}}function de(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.$plugin.bridgeSettings(i.plugin))}),d(1,"i",52),m(2),s(3,"translate"),l(),c(4,le,4,3,"button",43),c(5,re,4,3,"button",43),c(6,se,4,3,"button",43),a(7,"button",41),_("click",function(){C(e);let i=p(2);return h(i.$plugin.resetChildBridges(i.setChildBridges))}),d(8,"i",53),m(9),s(10,"translate"),l()}if(n&2){let e=p(2);t(2),v(" ",g(3,5,"child_bridge.bridge_settings")," "),t(2),u(e.childBridgeRestartInProgress?-1:4),t(),u(e.allChildBridgesStopped?-1:5),t(),u(e.allChildBridgesStopped?6:-1),t(3),v(" ",g(10,7,"child_bridge.reset_accessories")," ")}}function pe(n,r){n&1&&d(0,"div",44)}function ce(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.$plugin.bridgeSettings(i.plugin))}),d(1,"i",57),m(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"child_bridge.setup")," "))}function ue(n,r){n&1&&d(0,"div",44)}function ge(n,r){if(n&1){let e=b();a(0,"button",41),_("click",function(){C(e);let i=p(2);return h(i.$plugin.bridgeSettings(i.plugin))}),d(1,"i",57),m(2),s(3,"translate"),l()}n&2&&(t(2),v(" ",g(3,1,"child_bridge.setup")," "))}function me(n,r){n&1&&d(0,"div",44)}function fe(n,r){if(n&1&&(a(0,"a",45),d(1,"i",58),m(2),s(3,"translate"),l()),n&2){let e=p(2);x("href",e.plugin.links.bugs,I),t(2),v(" ",g(3,2,"support.links.issue")," ")}}function _e(n,r){if(n&1){let e=b();a(0,"span",22)(1,"a",38),d(2,"i",39),l(),a(3,"div",40)(4,"button",41),_("click",function(){C(e);let i=p();return h(i.$plugin.settings(i.plugin))}),d(5,"i",42),m(6),s(7,"translate"),l(),c(8,Zi,4,3,"button",43),c(9,ie,4,3,"button",43),c(10,ee,4,3,"button",43),c(11,ne,4,3,"button",43),c(12,te,4,3,"button",43),c(13,oe,4,3,"button",43),c(14,ae,1,0,"div",44),c(15,de,11,9),c(16,pe,1,0,"div",44),c(17,ce,4,3,"button",43),c(18,ue,1,0,"div",44),c(19,ge,4,3,"button",43),c(20,me,1,0,"div",44),c(21,fe,4,4,"a",45),l()()}if(n&2){let e=p();t(),B("aria-label","Plugin Actions Dropdown"),t(5),v(" ",g(7,16,"plugins.button_settings")," "),t(2),u(e.plugin.isConfigured&&!e.plugin.disabled?8:-1),t(),u(e.plugin.publicPackage?9:-1),t(),u(!e.isMobile&&e.plugin.name!=="homebridge-config-ui-x"?10:-1),t(),u(e.plugin.name!=="homebridge-config-ui-x"&&!e.plugin.disabled?11:-1),t(),u(e.plugin.name!=="homebridge-config-ui-x"&&e.plugin.disabled?12:-1),t(),u(e.plugin.name!=="homebridge-config-ui-x"?13:-1),t(),u(!e.plugin.disabled&&e.plugin.isConfigured&&e.plugin.hasChildBridges&&e.plugin.installedVersion&&e.plugin.name!=="homebridge-config-ui-x"?14:-1),t(),u(e.plugin.hasChildBridges&&!e.plugin.disabled?15:-1),t(),u(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&!e.plugin.recommendChildBridge?16:-1),t(),u(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&!e.plugin.recommendChildBridge?17:-1),t(),u(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&e.plugin.recommendChildBridge&&e.plugin.updateAvailable?18:-1),t(),u(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&e.plugin.recommendChildBridge&&e.plugin.updateAvailable?19:-1),t(),u(e.plugin.links!=null&&e.plugin.links.bugs?20:-1),t(),u(e.plugin.links!=null&&e.plugin.links.bugs?21:-1)}}var Si=(()=>{class n{$api=w(j);$md=w(hi);$modal=w(N);$plugin=w(U);$settings=w(F);$toastr=w(A);$translate=w(H);$ws=w(R);plugin;hasChildBridges=!1;hasUnpairedChildBridges=!1;allChildBridgesStopped=!1;childBridgeStatus="pending";childBridgeRestartInProgress=!1;defaultIcon="assets/hb-icon.png";isMobile;setChildBridges=[];hb2Status="unknown";io;constructor(){}set childBridges(e){this.hasChildBridges=e.length>0,this.hasUnpairedChildBridges=e.filter(f=>f.paired===!1).length>0,this.allChildBridgesStopped=e.filter(f=>f.manuallyStopped===!0).length===e.length,this.hasChildBridges&&(e.some(f=>f.status==="down")?this.childBridgeStatus="down":e.some(f=>f.status==="pending")?this.childBridgeStatus="pending":e.some(f=>f.status==="ok")&&(this.childBridgeStatus="ok")),this.setChildBridges=e;let o=this.$settings.env.homebridgeVersion?.split(".")[0],i=this.plugin.engines?.homebridge?.split("||").map(f=>f.trim())||[];this.hb2Status=o==="2"?"hide":i.some(f=>f.startsWith("^2")||f.startsWith(">=2"))?"supported":this.hb2Status}ngOnInit(){this.isMobile=this.$md.detect.mobile(),this.io=this.$ws.getExistingNamespace("child-bridges"),this.isMobile&&this.plugin.displayName.toLowerCase().startsWith("homebridge ")&&(this.plugin.displayName=this.plugin.displayName.replace(/^homebridge /i,"")),this.plugin.icon||(this.plugin.icon=this.defaultIcon)}openFundingModal(e){let o=this.$modal.open(xi,{size:"lg",backdrop:"static"});o.componentInstance.plugin=e}pluginInfoModal(e){let o=this.$modal.open(Pi,{size:"lg",backdrop:"static"});o.componentInstance.plugin=e}disablePlugin(e){let o=this.$modal.open(vi,{size:"lg",backdrop:"static"});o.componentInstance.pluginName=e.displayName,o.componentInstance.isConfigured=e.isConfigured,o.componentInstance.isConfiguredDynamicPlatform=e.isConfiguredDynamicPlatform,o.result.then(()=>S(this,null,function*(){try{yield k(this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/disable`,{})),e.disabled=!0,this.hasChildBridges&&this.doChildBridgeAction("stop"),this.$modal.open($,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.disable.error"),this.$translate.instant("toast.title_error"))}}))}enablePlugin(e){let o=this.$modal.open(_i,{size:"lg",backdrop:"static"});o.componentInstance.title=e.name,o.componentInstance.message=this.$translate.instant("plugins.manage.confirm_enable",{pluginName:e.displayName}),o.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.enable"),o.componentInstance.faIconClass="fa-circle-play primary-text",o.result.then(()=>S(this,null,function*(){try{yield k(this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/enable`,{})),e.disabled=!1,this.hasChildBridges&&(yield this.doChildBridgeAction("start")),this.$modal.open($,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.enable.error"),this.$translate.instant("toast.title_error"))}}))}viewPluginLog(e){let o=this.$modal.open(bi,{size:"xl",backdrop:"static"});o.componentInstance.plugin=e}doChildBridgeAction(e){return S(this,null,function*(){this.childBridgeRestartInProgress=!0;try{for(let o of this.setChildBridges)yield k(this.io.request(`${e}-child-bridge`,o.username))}catch(o){console.error(o),this.$toastr.error(this.$translate.instant("plugins.bridge.action_error",{action:e}),this.$translate.instant("toast.title_error")),this.childBridgeRestartInProgress=!1}finally{setTimeout(()=>{this.childBridgeRestartInProgress=!1},e==="restart"?12e3:e==="stop"?6e3:1e3)}})}handleIconError(){this.plugin.icon=this.defaultIcon}static \u0275fac=function(o){return new(o||n)};static \u0275cmp=V({type:n,selectors:[["app-plugin-card"]],inputs:{plugin:"plugin",childBridges:"childBridges"},decls:35,vars:23,consts:[[1,"card","card-body","mb-3"],[1,"d-flex","flex-row","justify-content-between"],[1,"d-flex","flex-column","me-3","align-items-center","justify-content-between"],["alt","Plugin Icon",1,"plugin-icon-card","mb-3",3,"error","src"],[1,"d-flex","flex-column","justify-content-between",2,"min-width","calc(100% - 80px)"],[1,"d-flex","flex-row","align-items-end"],[1,"d-flex","flex-column","w-100"],[1,"d-flex","flex-row"],[1,"card-title","mb-2","text-truncate"],[1,"ms-auto"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover",1,"card-link",3,"ngbTooltip"],[1,"fas","fa-fw","fa-spinner","fa-pulse","fa-lg","grey-text","ms-3",3,"hidden"],[1,"fas","fa-fw","fa-lg","ms-3",3,"ngClass"],[1,"card-text","mb-2","text-truncate"],["href","javascript:void(0)",1,"card-link",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","me-1",3,"ngClass"],[1,"grey-text"],[1,"card-text","mb-2"],["href","javascript:void(0)",1,"card-link"],[1,"card-text","mb-0","grey-text"],["href","javascript:void(0)",1,"card-link","red-text"],["href","javascript:void(0)"],["ngbDropdown","","placement","left",1,"d-inline-block","ms-3","mt-auto"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover",1,"card-link",3,"click","ngbTooltip"],[1,"far","fa-fw","fa-arrow-alt-circle-up","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-arrow-right-arrow-left","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-sliders","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-bridge","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-qrcode","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-heart","fa-lg","me-1","pink-text"],[1,"fas","fa-fw","fa-heart","fa-lg","me-1",2,"opacity","0.5"],[1,"far","fa-fw","fa-circle-dot","fa-lg","me-1"],[1,"far","fa-fw","fa-circle-check","fa-lg","me-1"],[1,"fas","fa-fw","fa-lg","fa-power-off","ms-3"],["href","javascript:void(0)",1,"card-link","red-text",3,"click"],["container","body","openDelay","150","triggers","hover",1,"far","fa-fw","fa-pause-circle","fa-lg",3,"ngbTooltip"],["href","javascript:void(0)",3,"click"],[1,"far","fa-fw","fa-arrow-alt-circle-down","fa-lg"],["href","javascript:void(0)","ngbDropdownToggle","",1,"card-link","text-decoration-none","mt-auto",2,"outline","none"],[1,"fa-solid","fa-fw","fa-ellipsis-v","fa-lg"],["ngbDropdownMenu","","aria-labelledby","Plugin Actions Dropdown"],["ngbDropdownItem","",3,"click"],[1,"fas","fa-fw","fa-sliders"],["ngbDropdownItem",""],[1,"dropdown-divider"],["ngbDropdownItem","","rel","noopener noreferrer","target","_blank",3,"href"],[1,"fas","fa-fw","fa-wave-square"],[1,"fas","fa-fw","fa-code-compare"],[1,"fas","fa-fw","fa-code"],[1,"far","fa-fw","fa-circle-pause"],[1,"far","fa-fw","fa-circle-play"],[1,"fas","fa-fw","fa-trash"],[1,"fas","fa-fw","fa-bridge"],[1,"fas","fa-fw","fa-broom"],[1,"fa-fw","icon-button","fas","fa-fw","fa-power-off"],[1,"fas","fa-fw","fa-stop"],[1,"fas","fa-fw","fa-play"],[1,"icon-button","fas","fa-fw","fa-bridge"],[1,"icon-button","fa","fa-fw","fa-question-circle-o"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"div",2)(3,"img",3),_("error",function(){return i.handleIconError()}),l()(),a(4,"div",4)(5,"div",5)(6,"div",6)(7,"div",7)(8,"h5",8),m(9),l(),a(10,"div",9),c(11,Fi,4,6,"a",10),c(12,Ri,4,6,"a",10),c(13,Ui,4,6,"a",10),c(14,zi,4,6,"a",10),c(15,Oi,4,6,"a",10),d(16,"i",11),c(17,qi,1,4,"i",12),l()(),a(18,"p",13)(19,"a",14),_("click",function(){return i.pluginInfoModal(i.plugin)}),d(20,"i",15),a(21,"span",16),m(22),l()()(),a(23,"p",17),c(24,Li,4,1,"a",18),c(25,Gi,3,1,"span",16),l(),a(26,"div",7)(27,"p",19),c(28,Ji,5,2,"span"),c(29,Ki,2,1),l(),a(30,"div",9),c(31,Qi,3,3,"a",10),c(32,Xi,3,3,"a",20),c(33,Yi,2,0,"a",21),c(34,_e,22,18,"span",22),l()()()()()()()),o&2&&(t(3),x("src",i.plugin.icon,I),t(6),P(i.plugin.displayName),t(2),u(i.plugin.installedVersion&&i.plugin.updateAvailable&&!i.childBridgeRestartInProgress?11:-1),t(),u(i.plugin.installedVersion&&(i.plugin.newHbScope==null?null:i.plugin.newHbScope.switch)===i.plugin.installedVersion&&!i.childBridgeRestartInProgress?12:-1),t(),u(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&!i.plugin.isConfigured&&!i.childBridgeRestartInProgress&&!i.plugin.disabled?13:-1),t(),u(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&!i.plugin.hasChildBridges&&!i.plugin.disabled&&i.plugin.recommendChildBridge&&!i.childBridgeRestartInProgress?14:-1),t(),u(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&i.plugin.hasChildBridges&&!i.childBridgeRestartInProgress&&i.hasUnpairedChildBridges&&i.childBridgeStatus==="ok"&&!i.plugin.disabled?15:-1),t(),x("hidden",!i.childBridgeRestartInProgress),t(),u(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&i.plugin.hasChildBridges&&!i.childBridgeRestartInProgress&&!i.hasUnpairedChildBridges&&i.childBridgeStatus!=="ok"&&!i.plugin.disabled?17:-1),t(3),x("ngClass",J(19,Ai,i.plugin.isHbScoped,!i.plugin.isHbScoped&&(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin),!i.plugin.isHbScoped&&!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin)),t(2),P(i.plugin.name),t(2),u((i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)&&i.plugin.funding?24:-1),t(),u((i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)&&i.plugin.funding?-1:25),t(3),u(i.plugin.publicPackage&&!i.plugin.installedVersion?28:-1),t(),u(i.plugin.installedVersion?29:-1),t(2),u(!i.plugin.disabled&&i.plugin.hasChildBridges&&i.childBridgeStatus==="ok"?31:-1),t(),u(i.plugin.installedVersion&&i.plugin.disabled?32:-1),t(),u(i.plugin.publicPackage&&!i.plugin.installedVersion?33:-1),t(),u(i.plugin.installedVersion?34:-1))},dependencies:[gi,T,ci,pi,di,si,ri,Q,E],encapsulation:2})}return n})();var Ce=(n,r)=>({"fa-magnifying-glass":n,"fa-exclamation-circle":r});function he(n,r){n&1&&d(0,"app-spinner")}function be(n,r){if(n&1){let e=b();a(0,"a",9),_("click",function(){C(e);let i=p();return h(i.onClearSearch())}),d(1,"i",10),l()}}function ve(n,r){if(n&1&&(a(0,"div",11),d(1,"app-plugin-card",13),l()),n&2){let e=r.$implicit,o=p(2);t(),x("plugin",e)("childBridges",o.getPluginChildBridges(e))}}function xe(n,r){if(n&1&&(a(0,"div",12),d(1,"i",14),a(2,"p"),m(3),s(4,"translate"),l()()),n&2){let e=p(2);t(),x("ngClass",y(4,Ce,!e.showExitButton,e.showExitButton)),t(2),P(g(4,2,e.showExitButton?"plugins.placeholder_search_none":"plugins.placeholder_search_first"))}}function we(n,r){if(n&1&&(a(0,"div",8),G(1,ve,2,2,"div",11,L),c(3,xe,5,7,"div",12),l()),n&2){let e=p();t(),W(e.installedPlugins),t(2),u(e.installedPlugins.length===0&&!e.loading&&!e.mainError?3:-1)}}var fn=(()=>{class n{$api=w(j);$modal=w(N);$plugin=w(U);$router=w(fi);$settings=w(F);$toastr=w(A);$translate=w(H);$ws=w(R);isSearchMode=!1;mainError=!1;loading=!0;installedPlugins=[];childBridges=[];showExitButton=!1;form=new ii({query:new ei("")});io;navigationSubscription;constructor(){}ngOnInit(){return S(this,null,function*(){this.io=this.$ws.connectToNamespace("child-bridges"),this.io.connected.subscribe(()=>S(this,null,function*(){this.getChildBridgeMetadata(),this.io.socket.emit("monitor-child-bridge-status"),this.loadInstalledPlugins().then(()=>{let e=this.$router.parseUrl(this.$router.url).queryParams.installed;if(e){let o=this.installedPlugins.find(i=>i.name===e);o&&(o.isConfigured?this.$modal.open($,{size:"lg",backdrop:"static"}):this.$plugin.settings(o)),this.$router.navigate(["/plugins"])}})})),this.io.socket.on("child-bridge-status-update",e=>{let o=this.childBridges.find(i=>i.username===e.username);o?Object.assign(o,e):this.childBridges.push(e)}),this.navigationSubscription=this.$router.events.subscribe(e=>{e instanceof mi&&this.loadInstalledPlugins()})})}loadInstalledPlugins(){return S(this,null,function*(){this.form.setValue({query:""}),this.showExitButton=!1,this.installedPlugins=[],this.loading=!0,this.mainError=!1;try{let e=yield k(this.$api.get("/plugins"));this.installedPlugins=e.filter(i=>i.name!=="homebridge-config-ui-x"),yield this.appendMetaInfo();let o=this.installedPlugins.sort((i,f)=>i.updateAvailable!==f.updateAvailable?i.updateAvailable?-1:1:i.newHbScope&&!f.newHbScope?-1:i.disabled!==f.disabled?i.disabled?1:-1:i.isConfigured!==f.isConfigured?i.isConfigured?1:-1:i.hasChildBridgesUnpaired!==f.hasChildBridgesUnpaired?i.hasChildBridgesUnpaired?-1:1:i.hasChildBridges!==f.hasChildBridges&&this.$settings.env.recommendChildBridges?i.hasChildBridges?1:-1:i.name.localeCompare(f.name));return this.loading=!1,o}catch(e){console.error(e),this.loading=!1,this.mainError=!0,this.$toastr.error(this.$translate.instant("plugins.toast_failed_to_load_plugins"),this.$translate.instant("toast.title_error"))}})}appendMetaInfo(){return S(this,null,function*(){yield Promise.all(this.installedPlugins.filter(e=>e.installedVersion).map(e=>S(this,null,function*(){try{let o=yield k(this.$api.get(`/config-editor/plugin/${encodeURIComponent(e.name)}`));e.isConfigured=o.length>0,e.isConfiguredDynamicPlatform=e.isConfigured&&Object.prototype.hasOwnProperty.call(o[0],"platform"),e.recommendChildBridge=e.isConfiguredDynamicPlatform&&this.$settings.env.recommendChildBridges&&!["homebridge","homebridge-config-ui-x"].includes(e.name),e.hasChildBridges=e.isConfigured&&o.some(f=>f._bridge&&f._bridge.username);let i=this.getPluginChildBridges(e);e.hasChildBridgesUnpaired=i.some(f=>!f.paired)}catch{e.isConfigured=!0,e.hasChildBridges=!0}})))})}search(){this.installedPlugins=[],this.loading=!0,this.showExitButton=!0,this.$api.get(`/plugins/search/${encodeURIComponent(this.form.value.query)}`).subscribe({next:e=>{let o=new Set;this.installedPlugins=e.reduce((i,f)=>{if(f.name==="homebridge-config-ui-x"||o.has(f.name))return i;if(f.newHbScope){let O=f.newHbScope.to,Bi=e.some(yi=>yi.name===O);(f.installedVersion||!Bi)&&(o.add(O),i.push(f))}else i.push(f);return i},[]),this.appendMetaInfo(),this.loading=!1},error:e=>{this.loading=!1,this.isSearchMode=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error")),this.loadInstalledPlugins()}})}onClearSearch(){this.loadInstalledPlugins()}onSubmit({value:e}){e.query.length?(this.isSearchMode=!0,this.search()):this.isSearchMode&&(this.isSearchMode=!1,this.loadInstalledPlugins())}getChildBridgeMetadata(){this.io.request("get-homebridge-child-bridge-status").subscribe(e=>{this.childBridges=e})}getPluginChildBridges(e){return this.childBridges.filter(o=>o.plugin===e.name)}ngOnDestroy(){this.navigationSubscription&&this.navigationSubscription.unsubscribe(),this.io.end()}static \u0275fac=function(o){return new(o||n)};static \u0275cmp=V({type:n,selectors:[["ng-component"]],decls:13,vars:10,consts:[[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"row"],[1,"col-md-12"],["novalidate","",3,"ngSubmit","formGroup"],["type","text","formControlName","query",1,"hb-npm-search",3,"placeholder"],["href","javascript:void(0)",1,"hb-npm-search-clear"],[1,"d-flex","flex-wrap","justify-content-between"],["href","javascript:void(0)",1,"hb-npm-search-clear",3,"click"],[1,"far","fa-fw","fa-times-circle"],[1,"hb-plugin-space-between"],[1,"alert","alert-info","mt-4","text-center","w-100"],[3,"plugin","childBridges"],[1,"fas","fa-fw","primary-text","my-3",2,"font-size","75px",3,"ngClass"]],template:function(o,i){o&1&&(c(0,he,1,0,"app-spinner"),a(1,"div",0)(2,"div",1)(3,"h3",2),m(4),s(5,"translate"),l()()(),a(6,"div",3)(7,"div",4)(8,"form",5),_("ngSubmit",function(){return i.onSubmit(i.form)}),d(9,"input",6),s(10,"translate"),c(11,be,2,0,"a",7),l()()(),c(12,we,4,1,"div",8)),o&2&&(u(i.loading?0:-1),t(4),P(g(5,6,"menu.label_plugins")),t(4),x("formGroup",i.form),t(),x("placeholder",g(10,8,"plugins.placeholder_search_plugin")),t(2),u(i.showExitButton?11:-1),t(),u(i.loading?-1:12))},dependencies:[Ci,ai,ni,X,Y,Z,li,ti,oi,Si,E,T],styles:[".hb-npm-search[_ngcontent-%COMP%]{outline:none;box-sizing:inherit!important;background-color:inherit;height:50px!important;width:100%;border-width:.5px;padding:10px;margin-bottom:15px}@media (hover: hover){.hb-npm-search[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.hb-npm-search[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.hb-npm-search-clear[_ngcontent-%COMP%]{position:absolute;right:25px;font-size:35px;color:#d0d0d0;line-height:50px;cursor:pointer}.hb-plugin-space-between[_ngcontent-%COMP%]{box-sizing:border-box;width:calc(50% - 6.6666666667px)}@media only screen and (max-width: 991px){.hb-plugin-space-between[_ngcontent-%COMP%]{width:100%}}"]})}return n})();export{fn as a};