homebridge-config-ui-x 5.0.0-beta.5 → 5.0.0-beta.7

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 (88) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/bin/fork.js +17 -7
  3. package/dist/bin/fork.js.map +1 -1
  4. package/dist/bin/hb-service.js +17 -7
  5. package/dist/bin/hb-service.js.map +1 -1
  6. package/dist/bin/standalone.js +17 -7
  7. package/dist/bin/standalone.js.map +1 -1
  8. package/dist/index.js +17 -7
  9. package/dist/index.js.map +1 -1
  10. package/dist/modules/config-editor/config-editor.controller.d.ts +1 -1
  11. package/dist/modules/config-editor/config-editor.service.d.ts +1 -1
  12. package/package.json +3 -3
  13. package/public/chunk-26EDYJQW.js +1 -0
  14. package/public/{chunk-6I6PSM5Y.js → chunk-2JDN5J3P.js} +1 -1
  15. package/public/{chunk-CNJMINEX.js → chunk-2PMXH77A.js} +1 -1
  16. package/public/{chunk-72QXF2GF.js → chunk-3C2OQ2W5.js} +1 -1
  17. package/public/chunk-3JROOWCZ.js +1 -0
  18. package/public/chunk-4LLA7QYB.js +1 -0
  19. package/public/{chunk-XEVIOBJR.js → chunk-4N3YQA7W.js} +1 -1
  20. package/public/{chunk-LQ6YDB4A.js → chunk-52L2LAHB.js} +1 -1
  21. package/public/{chunk-JBM7KQHD.js → chunk-5KIRKUWH.js} +1 -1
  22. package/public/{chunk-BNVAYTYZ.js → chunk-6HR4EKFX.js} +1 -1
  23. package/public/chunk-7LUCJVXB.js +1 -0
  24. package/public/{chunk-BVDMEFSJ.js → chunk-A4HS5JYI.js} +1 -1
  25. package/public/{chunk-Z7AUXG5E.js → chunk-A76FDQKF.js} +1 -1
  26. package/public/{chunk-S3XAJEVU.js → chunk-AAVBU64J.js} +1 -1
  27. package/public/chunk-AFRS7ZFI.js +1 -0
  28. package/public/chunk-BS2EMJX7.js +1 -0
  29. package/public/{chunk-D6RX5SPU.js → chunk-BVNJ63AC.js} +1 -1
  30. package/public/{chunk-BIDQZJXT.js → chunk-CJIFFTFC.js} +1 -1
  31. package/public/{chunk-XNCOF5TV.js → chunk-CY55AES3.js} +1 -1
  32. package/public/{chunk-F3EORWUJ.js → chunk-DAYZQW6Q.js} +1 -1
  33. package/public/{chunk-WJNSNBGE.js → chunk-ED5XL3PD.js} +1 -1
  34. package/public/{chunk-A7YWFX6I.js → chunk-EJKB2WDE.js} +1 -1
  35. package/public/chunk-FA2N3XXT.js +1 -0
  36. package/public/chunk-IB5GZVXD.js +1 -0
  37. package/public/{chunk-MP3LZHQU.js → chunk-IVORLBXB.js} +1 -1
  38. package/public/{chunk-RN75UMGP.js → chunk-IW3HI4LO.js} +1 -1
  39. package/public/{chunk-ZJ4LBIOD.js → chunk-JU4PP2VY.js} +1 -1
  40. package/public/{chunk-7JR63ERC.js → chunk-KHNBODZR.js} +1 -1
  41. package/public/{chunk-QOKEWT7C.js → chunk-KRNQN3FT.js} +1 -1
  42. package/public/{chunk-7DTAFWJ7.js → chunk-KVW76M4O.js} +1 -1
  43. package/public/chunk-LMPCXQ23.js +1 -0
  44. package/public/{chunk-SIQ2FHQL.js → chunk-LV2VCDOI.js} +1 -1
  45. package/public/{chunk-G4TRVUCL.js → chunk-M6SHEAQY.js} +1 -1
  46. package/public/chunk-MDDU475D.js +1 -0
  47. package/public/{chunk-4WTXJHZA.js → chunk-MPVSAJDU.js} +1 -1
  48. package/public/{chunk-5S4H26Y6.js → chunk-NDNK3KHG.js} +1 -1
  49. package/public/{chunk-74VT5JYS.js → chunk-NV6GUYHV.js} +1 -1
  50. package/public/{chunk-7K5J3AOO.js → chunk-OKKTO3UM.js} +1 -1
  51. package/public/chunk-OOHFQB4Z.js +1 -0
  52. package/public/{chunk-J26JMISE.js → chunk-QGDVQDUP.js} +1 -1
  53. package/public/{chunk-KJHDP3ZC.js → chunk-QKWNCNRW.js} +1 -1
  54. package/public/{chunk-ZYZBMA5E.js → chunk-RDAMEJPR.js} +1 -1
  55. package/public/{chunk-GETFKFI6.js → chunk-SK5UJRQU.js} +1 -1
  56. package/public/{chunk-W4MTVPF3.js → chunk-TFEVMIHT.js} +1 -1
  57. package/public/chunk-U2KJ2IEE.js +1 -0
  58. package/public/{chunk-XXJO3JY3.js → chunk-UAQGK64S.js} +1 -1
  59. package/public/{chunk-3YKYXC2T.js → chunk-UKAOVQ6N.js} +1 -1
  60. package/public/{chunk-ZHMC7KSZ.js → chunk-UNVMI6CK.js} +1 -1
  61. package/public/{chunk-UFDZ4SFB.js → chunk-US5QSVJ2.js} +1 -1
  62. package/public/{chunk-KPVA6CSL.js → chunk-UWLLEMGO.js} +1 -1
  63. package/public/chunk-V2TYBIZV.js +1 -0
  64. package/public/{chunk-UC2NMLJ6.js → chunk-V7D5U2P3.js} +1 -1
  65. package/public/{chunk-M3N7PSSC.js → chunk-WNVJPPO7.js} +1 -1
  66. package/public/{chunk-G4CGNDAD.js → chunk-WP6BKFEA.js} +1 -1
  67. package/public/{chunk-OZ6IXX3E.js → chunk-WSYFRV2X.js} +1 -1
  68. package/public/{chunk-LBTLF3MZ.js → chunk-XLY5QPTN.js} +1 -1
  69. package/public/{chunk-5XU3C2P2.js → chunk-XY74TB4S.js} +1 -1
  70. package/public/{chunk-SJHJKPSQ.js → chunk-YP7JWH3J.js} +1 -1
  71. package/public/chunk-ZOKILXR3.js +1 -0
  72. package/public/index.html +1 -1
  73. package/public/main-6PBYD25D.js +1 -0
  74. package/public/chunk-4DLA2ICF.js +0 -1
  75. package/public/chunk-5HCG4CER.js +0 -1
  76. package/public/chunk-BVK7NCGF.js +0 -1
  77. package/public/chunk-DNLDZVVB.js +0 -1
  78. package/public/chunk-I544XQGS.js +0 -1
  79. package/public/chunk-J3XWQZ5N.js +0 -1
  80. package/public/chunk-MSXXP7RE.js +0 -1
  81. package/public/chunk-RD4QIA6H.js +0 -1
  82. package/public/chunk-TWQP6XJT.js +0 -1
  83. package/public/chunk-UCB7UE24.js +0 -1
  84. package/public/chunk-WRDG5DTE.js +0 -1
  85. package/public/chunk-XDGJOFX2.js +0 -1
  86. package/public/chunk-YJ7ICNKX.js +0 -1
  87. package/public/chunk-ZBNZILWV.js +0 -1
  88. package/public/main-TQOXBTSD.js +0 -1
@@ -1 +1 @@
1
- import{T as te,c as X,d as Y,e as Z,f as ee}from"./chunk-XXJO3JY3.js";import{a as U}from"./chunk-JZZQRLNW.js";import{m as J,n as K,o as Q}from"./chunk-ORPWYWCL.js";import{c as W,e as R,f as H,i as j,l as G,m as z,y as q}from"./chunk-QHPDGSZ6.js";import{c as F}from"./chunk-SJHJKPSQ.js";import{b as L}from"./chunk-UC2NMLJ6.js";import{b as T}from"./chunk-3IX3CLER.js";import{$b as A,Bc as s,Cc as l,Kb as y,Lb as x,Mb as c,Wb as r,Xb as a,Yb as _,Zb as E,_b as B,ad as P,bd as V,cc as v,cd as N,dc as p,dd as O,ib as n,na as f,nc as d,oc as u,pc as w,rb as C,sc as M,tc as S,uc as k,wc as $,xa as b,xc as D,ya as h}from"./chunk-TXOB7R5K.js";var re=()=>({standalone:!0}),ne=(()=>{class t{$activeModal=f(J);roomName;static \u0275fac=function(o){return new(o||t)};static \u0275cmp=C({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},decls:30,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],["role","alert",1,"alert"],[1,"md-form"],["type","text","id","form-name","autofocus","",1,"form-control","px-0",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],["for","form-name"],[1,"fas","fa-fw","fa-home"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),d(4),s(5,"translate"),a(),r(6,"button",3),s(7,"translate"),v("click",function(){return i.$activeModal.dismiss("Dismiss")}),r(8,"span",4),d(9,"\xD7"),a()()(),r(10,"div",5)(11,"div",6),d(12),s(13,"translate"),a(),r(14,"div",7)(15,"input",8),k("ngModelChange",function(I){return S(i.roomName,I)||(i.roomName=I),I}),v("keyup.enter",function(){return i.$activeModal.close(i.roomName)}),a(),r(16,"label",9),_(17,"i",10),d(18),s(19,"translate"),a()()(),r(20,"div",11)(21,"div",12)(22,"button",13),v("click",function(){return i.$activeModal.dismiss("Dismiss")}),d(23),s(24,"translate"),a()(),_(25,"div",14),r(26,"div",15)(27,"button",16),v("click",function(){return i.$activeModal.close(i.roomName)}),d(28),s(29,"translate"),a()()()()()),o&2&&(n(4),u(l(5,8,"accessories.button_add_room")),n(2),x("aria-label",l(7,10,"form.button_close")),n(6),u(l(13,12,"accessories.rooms_not_appear_in_homekit")),n(3),M("ngModel",i.roomName),c("ngModelOptions",$(20,re)),n(3),w(" ",l(19,14,"accessories.room_name")," "),n(5),w(" ",l(24,16,"form.button_close")," "),n(5),w(" ",l(29,18,"form.button_save")," "))},dependencies:[q,z,W,R,H,G,j,T],encapsulation:2})}return t})();var oe=(()=>{class t{constructor(){}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=C({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-fw","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(o,i){o&1&&(r(0,"div",0),_(1,"i",1),r(2,"div",2),d(3),s(4,"translate"),a()()),o&2&&(n(3),u(l(4,1,"accessories.control.drag_here")))},dependencies:[T],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var ae=t=>({"cursor-move":t});function se(t,g){if(t&1&&(r(0,"div",19)(1,"div",20)(2,"h5",21),d(3),s(4,"translate"),a()()()),t&2){let e=p().$implicit,o=p(2);n(2),c("ngClass",D(4,ae,!o.isMobile)),n(),w(" ",e.name==="Default Room"?l(4,2,"accessories.control.default_room"):e.name," ")}}function le(t,g){if(t&1&&(E(0),_(1,"app-accessory-tile",26),B()),t&2){let e=p().$implicit;n(),c("service",e)}}function ce(t,g){if(t&1&&(r(0,"div",25),y(1,le,2,1,"ng-container",0),a()),t&2){let e=g.$implicit,o=p(4);c("ngSwitch",e.type),n(),c("ngIf",!o.hideHidden||!e.hidden)}}function de(t,g){if(t&1){let e=A();r(0,"div",22),k("dragulaModelChange",function(i){b(e);let m=p().$implicit;return S(m.services,i)||(m.services=i),h(i)}),y(1,ce,2,2,"div",23),_(2,"div",24)(3,"div",24)(4,"div",24)(5,"div",24)(6,"div",24)(7,"div",24)(8,"div",24)(9,"div",24)(10,"div",24)(11,"div",24)(12,"div",24)(13,"div",24)(14,"div",24)(15,"div",24)(16,"div",24),a()}if(t&2){let e=p().$implicit;c("dragula","services-bag"),M("dragulaModel",e.services),n(),c("ngForOf",e.services)}}function pe(t,g){if(t&1){let e=A();r(0,"div",27),k("dragulaModelChange",function(i){b(e);let m=p().$implicit;return S(m.services,i)||(m.services=i),h(i)}),_(1,"app-drag-here-placeholder",28),a()}if(t&2){let e=p().$implicit;c("dragula","services-bag"),M("dragulaModel",e.services)}}function me(t,g){if(t&1&&(r(0,"div"),y(1,se,5,6,"div",15),r(2,"div",16),y(3,de,17,3,"div",17)(4,pe,2,2,"div",18),a()()),t&2){let e=g.$implicit,o=p(2);n(),c("ngIf",!o.isMobile||e.services.length),n(2),c("ngIf",e.services.length),n(),c("ngIf",!e.services.length&&!o.isMobile)}}function _e(t,g){if(t&1){let e=A();r(0,"div")(1,"div",1)(2,"div",2)(3,"h3",3),d(4),s(5,"translate"),a()(),r(6,"div",4)(7,"div",5)(8,"button",6),s(9,"translate"),s(10,"translate"),v("click",function(){b(e);let i=p();return h(i.addRoom())}),_(11,"i",7),a()(),r(12,"div",5)(13,"button",6),s(14,"translate"),s(15,"translate"),s(16,"translate"),s(17,"translate"),v("click",function(){b(e);let i=p();return h(i.hideHidden=!i.hideHidden)}),_(18,"i",8),a()(),r(19,"div",5)(20,"button",9),s(21,"translate"),s(22,"translate"),v("click",function(){b(e);let i=p();return h(i.toggleLayoutLock())}),_(23,"i",10),a(),r(24,"button",11),s(25,"translate"),s(26,"translate"),v("click",function(){b(e);let i=p();return h(i.toggleLayoutLock())}),_(27,"i",12),a()()()(),r(28,"div",13),k("dragulaModelChange",function(i){b(e);let m=p();return S(m.$accessories.rooms,i)||(m.$accessories.rooms=i),h(i)}),y(29,me,5,3,"div",14),a()()}if(t&2){let e=p();n(4),u(l(5,17,"accessories.title_accessories")),n(4),c("hidden",e.isMobile)("ngbTooltip",l(9,19,"accessories.button_add_room")),x("aria-label",l(10,21,"accessories.button_add_room")),n(5),c("hidden",e.isMobile)("ngbTooltip",e.hideHidden?l(14,23,"accessories.button_hidden_show"):l(15,25,"accessories.button_hidden_hide")),x("aria-label",e.hideHidden?l(16,27,"accessories.button_hidden_show"):l(17,29,"accessories.button_hidden_hide")),n(5),c("ngClass",e.hideHidden?"fa-eye-slash":"fa-eye"),n(2),c("disabled",!e.isMobile)("ngbTooltip",l(21,31,"form.button_unlock")),x("aria-label",l(22,33,"form.button_unlock")),n(4),c("disabled",e.isMobile)("ngbTooltip",l(25,35,"form.button_lock")),x("aria-label",l(26,37,"form.button_lock")),n(4),c("dragula","rooms-bag"),M("dragulaModel",e.$accessories.rooms),n(),c("ngForOf",e.$accessories.rooms)}}function ue(t,g){t&1&&(r(0,"p",37),d(1),s(2,"translate"),a()),t&2&&(n(),u(l(2,1,"accessories.settings_link")))}function ge(t,g){if(t&1&&(r(0,"div")(1,"div",19)(2,"div",29)(3,"h3",30),d(4),s(5,"translate"),a()(),r(6,"div",31)(7,"div",32)(8,"h4",33),d(9),s(10,"translate"),a(),r(11,"div")(12,"p"),d(13),s(14,"translate"),a(),r(15,"p",34)(16,"span"),d(17),s(18,"translate"),a(),r(19,"a",35),d(20," https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control "),a(),r(21,"span"),d(22),s(23,"translate"),a()(),y(24,ue,3,3,"p",36),a()()()()()),t&2){let e=p();n(4),u(l(5,6,"accessories.title_accessories")),n(5),u(l(10,8,"accessories.control_disabled")),n(4),u(l(14,10,"accessories.message_must_use_insecure_mode")),n(4),u(l(18,12,"accessories.message_please_see")),n(5),u(l(23,14,"accessories.message_for_more_information")),n(2),c("ngIf",e.$auth.user.admin)}}var We=(()=>{class t{$auth=f(F);dragulaService=f(Y);$modal=f(K);$settings=f(L);$md=f(U);$accessories=f(X);isMobile=!1;hideHidden=!0;orderSubscription;constructor(){let e=this.dragulaService;this.isMobile=this.$md.detect.mobile(),e.createGroup("rooms-bag",{moves:(o,i,m)=>!this.isMobile&&m.classList.contains("drag-handle")}),e.createGroup("services-bag",{moves:o=>!this.isMobile&&!o.classList.contains("no-drag")}),this.orderSubscription=e.drop().subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),window.localStorage.getItem("accessories-layout-locked")&&(this.isMobile=!0)}ngOnInit(){this.$accessories.start()}addRoom(){this.$modal.open(ne,{size:"lg",backdrop:"static"}).result.then(e=>{!e||!e.length||this.$accessories.rooms.find(o=>o.name===e)||(this.$accessories.rooms.push({name:e,services:[]}),this.isMobile&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile=!this.isMobile,this.isMobile?window.localStorage.setItem("accessories-layout-locked","yes"):window.localStorage.removeItem("accessories-layout-locked")}ngOnDestroy(){this.$accessories.stop(),this.orderSubscription.unsubscribe(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=C({type:t,selectors:[["app-accessories"]],decls:2,vars:2,consts:[[4,"ngIf"],[1,"row","mb-3"],[1,"col-sm-6"],[1,"primary-text","m-0"],[1,"col-sm-6","text-right","d-none","d-sm-block"],["role","group",1,"btn-group"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0",3,"click","hidden","ngbTooltip"],[1,"fas","fa-fw","fa-folder-plus"],[1,"fas","fa-fw",3,"ngClass"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-unlock"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0","mr-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-lock"],[3,"dragulaModelChange","dragula","dragulaModel"],[4,"ngFor","ngForOf"],["class","row",4,"ngIf"],[1,"row","mb-4"],["class","col-md-12 d-flex flex-wrap justify-content-between noselect services-bag",3,"dragula","dragulaModel","dragulaModelChange",4,"ngIf"],["class","col-md-12 d-flex flex-wrap noselect",3,"dragula","dragulaModel","dragulaModelChange",4,"ngIf"],[1,"row"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","justify-content-between","noselect","services-bag",3,"dragulaModelChange","dragula","dragulaModel"],["class","accessory-item accessory-tab",3,"ngSwitch",4,"ngFor","ngForOf"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0 !important"],[1,"accessory-item","accessory-tab",3,"ngSwitch"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],[1,"col-12","text-center"],["role","alert",1,"alert","alert-warning","p-4"],[1,"primary-text","mb-3","mt-0"],[1,"mb-0"],["target","_blank","rel","noopener noreferrer","href","https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control"],["class","mt-3 mb-0",4,"ngIf"],[1,"mt-3","mb-0"]],template:function(o,i){o&1&&y(0,_e,30,39,"div",0)(1,ge,25,16,"div",0),o&2&&(c("ngIf",i.$settings.env.enableAccessories),n(),c("ngIf",!i.$settings.env.enableAccessories))},dependencies:[N,Q,P,ee,Z,V,O,te,oe,T],styles:[".room-title[_ngcontent-%COMP%]{margin-left:10px}@media (max-width: 575px){.room-title[_ngcontent-%COMP%]{margin-left:7px}}.services-bag[_ngcontent-%COMP%]{min-height:170px}@media (max-width: 575px){.services-bag[_ngcontent-%COMP%]{min-height:initial}}.cursor-move[_ngcontent-%COMP%]{cursor:move}.gu-transit[_ngcontent-%COMP%] .manage-accessory-button[_ngcontent-%COMP%]{display:none}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return t})();export{ne as a,We as b};
1
+ import{T as te,c as X,d as Y,e as Z,f as ee}from"./chunk-UAQGK64S.js";import{a as U}from"./chunk-JZZQRLNW.js";import{m as J,n as K,o as Q}from"./chunk-ORPWYWCL.js";import{c as W,e as R,f as H,i as j,l as G,m as z,y as q}from"./chunk-QHPDGSZ6.js";import{c as F}from"./chunk-YP7JWH3J.js";import{b as L}from"./chunk-V7D5U2P3.js";import{b as T}from"./chunk-3IX3CLER.js";import{$b as A,Bc as s,Cc as l,Kb as y,Lb as x,Mb as c,Wb as r,Xb as a,Yb as _,Zb as E,_b as B,ad as P,bd as V,cc as v,cd as N,dc as p,dd as O,ib as n,na as f,nc as d,oc as u,pc as w,rb as C,sc as M,tc as S,uc as k,wc as $,xa as b,xc as D,ya as h}from"./chunk-TXOB7R5K.js";var re=()=>({standalone:!0}),ne=(()=>{class t{$activeModal=f(J);roomName;static \u0275fac=function(o){return new(o||t)};static \u0275cmp=C({type:t,selectors:[["ng-component"]],inputs:{roomName:"roomName"},decls:30,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],["role","alert",1,"alert"],[1,"md-form"],["type","text","id","form-name","autofocus","",1,"form-control","px-0",3,"ngModelChange","keyup.enter","ngModel","ngModelOptions"],["for","form-name"],[1,"fas","fa-fw","fa-home"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(o,i){o&1&&(r(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),d(4),s(5,"translate"),a(),r(6,"button",3),s(7,"translate"),v("click",function(){return i.$activeModal.dismiss("Dismiss")}),r(8,"span",4),d(9,"\xD7"),a()()(),r(10,"div",5)(11,"div",6),d(12),s(13,"translate"),a(),r(14,"div",7)(15,"input",8),k("ngModelChange",function(I){return S(i.roomName,I)||(i.roomName=I),I}),v("keyup.enter",function(){return i.$activeModal.close(i.roomName)}),a(),r(16,"label",9),_(17,"i",10),d(18),s(19,"translate"),a()()(),r(20,"div",11)(21,"div",12)(22,"button",13),v("click",function(){return i.$activeModal.dismiss("Dismiss")}),d(23),s(24,"translate"),a()(),_(25,"div",14),r(26,"div",15)(27,"button",16),v("click",function(){return i.$activeModal.close(i.roomName)}),d(28),s(29,"translate"),a()()()()()),o&2&&(n(4),u(l(5,8,"accessories.button_add_room")),n(2),x("aria-label",l(7,10,"form.button_close")),n(6),u(l(13,12,"accessories.rooms_not_appear_in_homekit")),n(3),M("ngModel",i.roomName),c("ngModelOptions",$(20,re)),n(3),w(" ",l(19,14,"accessories.room_name")," "),n(5),w(" ",l(24,16,"form.button_close")," "),n(5),w(" ",l(29,18,"form.button_save")," "))},dependencies:[q,z,W,R,H,G,j,T],encapsulation:2})}return t})();var oe=(()=>{class t{constructor(){}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=C({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-fw","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(o,i){o&1&&(r(0,"div",0),_(1,"i",1),r(2,"div",2),d(3),s(4,"translate"),a()()),o&2&&(n(3),u(l(4,1,"accessories.control.drag_here")))},dependencies:[T],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var ae=t=>({"cursor-move":t});function se(t,g){if(t&1&&(r(0,"div",19)(1,"div",20)(2,"h5",21),d(3),s(4,"translate"),a()()()),t&2){let e=p().$implicit,o=p(2);n(2),c("ngClass",D(4,ae,!o.isMobile)),n(),w(" ",e.name==="Default Room"?l(4,2,"accessories.control.default_room"):e.name," ")}}function le(t,g){if(t&1&&(E(0),_(1,"app-accessory-tile",26),B()),t&2){let e=p().$implicit;n(),c("service",e)}}function ce(t,g){if(t&1&&(r(0,"div",25),y(1,le,2,1,"ng-container",0),a()),t&2){let e=g.$implicit,o=p(4);c("ngSwitch",e.type),n(),c("ngIf",!o.hideHidden||!e.hidden)}}function de(t,g){if(t&1){let e=A();r(0,"div",22),k("dragulaModelChange",function(i){b(e);let m=p().$implicit;return S(m.services,i)||(m.services=i),h(i)}),y(1,ce,2,2,"div",23),_(2,"div",24)(3,"div",24)(4,"div",24)(5,"div",24)(6,"div",24)(7,"div",24)(8,"div",24)(9,"div",24)(10,"div",24)(11,"div",24)(12,"div",24)(13,"div",24)(14,"div",24)(15,"div",24)(16,"div",24),a()}if(t&2){let e=p().$implicit;c("dragula","services-bag"),M("dragulaModel",e.services),n(),c("ngForOf",e.services)}}function pe(t,g){if(t&1){let e=A();r(0,"div",27),k("dragulaModelChange",function(i){b(e);let m=p().$implicit;return S(m.services,i)||(m.services=i),h(i)}),_(1,"app-drag-here-placeholder",28),a()}if(t&2){let e=p().$implicit;c("dragula","services-bag"),M("dragulaModel",e.services)}}function me(t,g){if(t&1&&(r(0,"div"),y(1,se,5,6,"div",15),r(2,"div",16),y(3,de,17,3,"div",17)(4,pe,2,2,"div",18),a()()),t&2){let e=g.$implicit,o=p(2);n(),c("ngIf",!o.isMobile||e.services.length),n(2),c("ngIf",e.services.length),n(),c("ngIf",!e.services.length&&!o.isMobile)}}function _e(t,g){if(t&1){let e=A();r(0,"div")(1,"div",1)(2,"div",2)(3,"h3",3),d(4),s(5,"translate"),a()(),r(6,"div",4)(7,"div",5)(8,"button",6),s(9,"translate"),s(10,"translate"),v("click",function(){b(e);let i=p();return h(i.addRoom())}),_(11,"i",7),a()(),r(12,"div",5)(13,"button",6),s(14,"translate"),s(15,"translate"),s(16,"translate"),s(17,"translate"),v("click",function(){b(e);let i=p();return h(i.hideHidden=!i.hideHidden)}),_(18,"i",8),a()(),r(19,"div",5)(20,"button",9),s(21,"translate"),s(22,"translate"),v("click",function(){b(e);let i=p();return h(i.toggleLayoutLock())}),_(23,"i",10),a(),r(24,"button",11),s(25,"translate"),s(26,"translate"),v("click",function(){b(e);let i=p();return h(i.toggleLayoutLock())}),_(27,"i",12),a()()()(),r(28,"div",13),k("dragulaModelChange",function(i){b(e);let m=p();return S(m.$accessories.rooms,i)||(m.$accessories.rooms=i),h(i)}),y(29,me,5,3,"div",14),a()()}if(t&2){let e=p();n(4),u(l(5,17,"accessories.title_accessories")),n(4),c("hidden",e.isMobile)("ngbTooltip",l(9,19,"accessories.button_add_room")),x("aria-label",l(10,21,"accessories.button_add_room")),n(5),c("hidden",e.isMobile)("ngbTooltip",e.hideHidden?l(14,23,"accessories.button_hidden_show"):l(15,25,"accessories.button_hidden_hide")),x("aria-label",e.hideHidden?l(16,27,"accessories.button_hidden_show"):l(17,29,"accessories.button_hidden_hide")),n(5),c("ngClass",e.hideHidden?"fa-eye-slash":"fa-eye"),n(2),c("disabled",!e.isMobile)("ngbTooltip",l(21,31,"form.button_unlock")),x("aria-label",l(22,33,"form.button_unlock")),n(4),c("disabled",e.isMobile)("ngbTooltip",l(25,35,"form.button_lock")),x("aria-label",l(26,37,"form.button_lock")),n(4),c("dragula","rooms-bag"),M("dragulaModel",e.$accessories.rooms),n(),c("ngForOf",e.$accessories.rooms)}}function ue(t,g){t&1&&(r(0,"p",37),d(1),s(2,"translate"),a()),t&2&&(n(),u(l(2,1,"accessories.settings_link")))}function ge(t,g){if(t&1&&(r(0,"div")(1,"div",19)(2,"div",29)(3,"h3",30),d(4),s(5,"translate"),a()(),r(6,"div",31)(7,"div",32)(8,"h4",33),d(9),s(10,"translate"),a(),r(11,"div")(12,"p"),d(13),s(14,"translate"),a(),r(15,"p",34)(16,"span"),d(17),s(18,"translate"),a(),r(19,"a",35),d(20," https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control "),a(),r(21,"span"),d(22),s(23,"translate"),a()(),y(24,ue,3,3,"p",36),a()()()()()),t&2){let e=p();n(4),u(l(5,6,"accessories.title_accessories")),n(5),u(l(10,8,"accessories.control_disabled")),n(4),u(l(14,10,"accessories.message_must_use_insecure_mode")),n(4),u(l(18,12,"accessories.message_please_see")),n(5),u(l(23,14,"accessories.message_for_more_information")),n(2),c("ngIf",e.$auth.user.admin)}}var We=(()=>{class t{$auth=f(F);dragulaService=f(Y);$modal=f(K);$settings=f(L);$md=f(U);$accessories=f(X);isMobile=!1;hideHidden=!0;orderSubscription;constructor(){let e=this.dragulaService;this.isMobile=this.$md.detect.mobile(),e.createGroup("rooms-bag",{moves:(o,i,m)=>!this.isMobile&&m.classList.contains("drag-handle")}),e.createGroup("services-bag",{moves:o=>!this.isMobile&&!o.classList.contains("no-drag")}),this.orderSubscription=e.drop().subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),window.localStorage.getItem("accessories-layout-locked")&&(this.isMobile=!0)}ngOnInit(){this.$accessories.start()}addRoom(){this.$modal.open(ne,{size:"lg",backdrop:"static"}).result.then(e=>{!e||!e.length||this.$accessories.rooms.find(o=>o.name===e)||(this.$accessories.rooms.push({name:e,services:[]}),this.isMobile&&this.toggleLayoutLock())}).catch(()=>{})}toggleLayoutLock(){this.isMobile=!this.isMobile,this.isMobile?window.localStorage.setItem("accessories-layout-locked","yes"):window.localStorage.removeItem("accessories-layout-locked")}ngOnDestroy(){this.$accessories.stop(),this.orderSubscription.unsubscribe(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=C({type:t,selectors:[["app-accessories"]],decls:2,vars:2,consts:[[4,"ngIf"],[1,"row","mb-3"],[1,"col-sm-6"],[1,"primary-text","m-0"],[1,"col-sm-6","text-right","d-none","d-sm-block"],["role","group",1,"btn-group"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0",3,"click","hidden","ngbTooltip"],[1,"fas","fa-fw","fa-folder-plus"],[1,"fas","fa-fw",3,"ngClass"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-unlock"],["type","button","container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","status-button","my-0","mr-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-lock"],[3,"dragulaModelChange","dragula","dragulaModel"],[4,"ngFor","ngForOf"],["class","row",4,"ngIf"],[1,"row","mb-4"],["class","col-md-12 d-flex flex-wrap justify-content-between noselect services-bag",3,"dragula","dragulaModel","dragulaModelChange",4,"ngIf"],["class","col-md-12 d-flex flex-wrap noselect",3,"dragula","dragulaModel","dragulaModelChange",4,"ngIf"],[1,"row"],[1,"col-md-12"],[1,"primary-text","drag-handle","room-title","m-0",3,"ngClass"],[1,"col-md-12","d-flex","flex-wrap","justify-content-between","noselect","services-bag",3,"dragulaModelChange","dragula","dragulaModel"],["class","accessory-item accessory-tab",3,"ngSwitch",4,"ngFor","ngForOf"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0 !important"],[1,"accessory-item","accessory-tab",3,"ngSwitch"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],[1,"col-12","text-center"],["role","alert",1,"alert","alert-warning","p-4"],[1,"primary-text","mb-3","mt-0"],[1,"mb-0"],["target","_blank","rel","noopener noreferrer","href","https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control"],["class","mt-3 mb-0",4,"ngIf"],[1,"mt-3","mb-0"]],template:function(o,i){o&1&&y(0,_e,30,39,"div",0)(1,ge,25,16,"div",0),o&2&&(c("ngIf",i.$settings.env.enableAccessories),n(),c("ngIf",!i.$settings.env.enableAccessories))},dependencies:[N,Q,P,ee,Z,V,O,te,oe,T],styles:[".room-title[_ngcontent-%COMP%]{margin-left:10px}@media (max-width: 575px){.room-title[_ngcontent-%COMP%]{margin-left:7px}}.services-bag[_ngcontent-%COMP%]{min-height:170px}@media (max-width: 575px){.services-bag[_ngcontent-%COMP%]{min-height:initial}}.cursor-move[_ngcontent-%COMP%]{cursor:move}.gu-transit[_ngcontent-%COMP%] .manage-accessory-button[_ngcontent-%COMP%]{display:none}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return t})();export{ne as a,We as b};
@@ -1 +1 @@
1
- import{a as f}from"./chunk-W4MTVPF3.js";import{a as s}from"./chunk-Z7AUXG5E.js";import"./chunk-ZT23DWNL.js";import"./chunk-6TCHCTXZ.js";import"./chunk-ZJ4LBIOD.js";import"./chunk-7JR63ERC.js";import"./chunk-7EUQWCP5.js";import"./chunk-WNWWUCCZ.js";import"./chunk-BNVAYTYZ.js";import"./chunk-CCUID66K.js";import"./chunk-QE7DO6J3.js";import"./chunk-BKUGARB4.js";import"./chunk-BPMSJ2VF.js";import"./chunk-WHJOLAED.js";import"./chunk-JZZQRLNW.js";import"./chunk-KQJ7ONUG.js";import{q as p}from"./chunk-ORPWYWCL.js";import{y as u,z as l}from"./chunk-QHPDGSZ6.js";import"./chunk-GETFKFI6.js";import{g as e}from"./chunk-NZNNTHFQ.js";import"./chunk-SJHJKPSQ.js";import"./chunk-UC2NMLJ6.js";import"./chunk-M3N7PSSC.js";import"./chunk-UG5DK2RQ.js";import{c as m}from"./chunk-3IX3CLER.js";import{ia as t,md as n,sb as r}from"./chunk-TXOB7R5K.js";var g=[{path:"",loadComponent:()=>import("./chunk-YJ7ICNKX.js").then(o=>o.PluginsComponent)}],d=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[e.forChild(g),e]})}return o})();var v=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,u,l,m.forChild(),p,f,d,s]})}return o})();export{v as PluginsModule};
1
+ import{a as f}from"./chunk-TFEVMIHT.js";import{a as s}from"./chunk-A76FDQKF.js";import"./chunk-ZT23DWNL.js";import"./chunk-6TCHCTXZ.js";import"./chunk-JU4PP2VY.js";import"./chunk-KHNBODZR.js";import"./chunk-7EUQWCP5.js";import"./chunk-WNWWUCCZ.js";import"./chunk-6HR4EKFX.js";import"./chunk-CCUID66K.js";import"./chunk-QE7DO6J3.js";import"./chunk-BKUGARB4.js";import"./chunk-BPMSJ2VF.js";import"./chunk-WHJOLAED.js";import"./chunk-JZZQRLNW.js";import"./chunk-KQJ7ONUG.js";import{q as p}from"./chunk-ORPWYWCL.js";import{y as u,z as l}from"./chunk-QHPDGSZ6.js";import"./chunk-SK5UJRQU.js";import{g as e}from"./chunk-NZNNTHFQ.js";import"./chunk-YP7JWH3J.js";import"./chunk-V7D5U2P3.js";import"./chunk-WNVJPPO7.js";import"./chunk-UG5DK2RQ.js";import{c as m}from"./chunk-3IX3CLER.js";import{ia as t,md as n,sb as r}from"./chunk-TXOB7R5K.js";var g=[{path:"",loadComponent:()=>import("./chunk-U2KJ2IEE.js").then(o=>o.PluginsComponent)}],d=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[e.forChild(g),e]})}return o})();var v=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,u,l,m.forChild(),p,f,d,s]})}return o})();export{v as PluginsModule};
@@ -1,4 +1,4 @@
1
- import{a as U}from"./chunk-CCUID66K.js";import{a as S,b as O}from"./chunk-BKUGARB4.js";import{a as g}from"./chunk-GETFKFI6.js";import{M as w,e as x,g as h,ha as E,n as R,na as L}from"./chunk-TXOB7R5K.js";var F=x((v,b)=>{(function(a,l){typeof define=="function"&&define.amd?define([],l):typeof v<"u"?l():(l(),a.FileSaver={})})(v,function(){"use strict";function a(e,t){return typeof t>"u"?t={autoBom:!1}:typeof t!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e}function l(e,t,n){var i=new XMLHttpRequest;i.open("GET",e),i.responseType="blob",i.onload=function(){r(i.response,t,n)},i.onerror=function(){console.error("could not download file")},i.send()}function d(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch{}return 200<=t.status&&299>=t.status}function c(e){try{e.dispatchEvent(new MouseEvent("click"))}catch{var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var s=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,m=s.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),r=s.saveAs||(typeof window!="object"||window!==s?function(){}:"download"in HTMLAnchorElement.prototype&&!m?function(e,t,n){var i=s.URL||s.webkitURL,o=document.createElement("a");t=t||e.name||"download",o.download=t,o.rel="noopener",typeof e=="string"?(o.href=e,o.origin===location.origin?c(o):d(o.href)?l(e,t,n):c(o,o.target="_blank")):(o.href=i.createObjectURL(e),setTimeout(function(){i.revokeObjectURL(o.href)},4e4),setTimeout(function(){c(o)},0))}:"msSaveOrOpenBlob"in navigator?function(e,t,n){if(t=t||e.name||"download",typeof e!="string")navigator.msSaveOrOpenBlob(a(e,n),t);else if(d(e))l(e,t,n);else{var i=document.createElement("a");i.href=e,i.target="_blank",setTimeout(function(){c(i)})}}:function(e,t,n,i){if(i=i||open("","_blank"),i&&(i.document.title=i.document.body.innerText="downloading..."),typeof e=="string")return l(e,t,n);var o=e.type==="application/octet-stream",z=/constructor/i.test(s.HTMLElement)||s.safari,y=/CriOS\/[\d]+/.test(navigator.userAgent);if((y||o&&z||m)&&typeof FileReader<"u"){var u=new FileReader;u.onloadend=function(){var f=u.result;f=y?f:f.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=f:location=f,i=null},u.readAsDataURL(e)}else{var A=s.URL||s.webkitURL,p=A.createObjectURL(e);i?i.location=p:location.href=p,i=null,setTimeout(function(){A.revokeObjectURL(p)},4e4)}});s.saveAs=r.saveAs=r,typeof b<"u"&&(b.exports=r)})});var k=h(S(),1),j=h(O(),1),T=h(U(),1);var W=(()=>{class a{$ws=L(g);term;io;fitAddon;webLinksAddon;resize;elementResize;pluginName;startTerminal(d,c={},s,m){this.pluginName=m,this.elementResize=s,this.io=this.$ws.connectToNamespace("log"),this.term=new k.Terminal(c),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new j.FitAddon,this.webLinksAddon=new T.WebLinksAddon,this.resize=new R,this.term.open(d.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.subscribe(()=>{this.term.reset(),this.io.socket.emit("tail-log",{cols:this.term.cols,rows:this.term.rows})}),this.io.socket.on("disconnect",()=>{this.term.write(`
1
+ import{a as U}from"./chunk-CCUID66K.js";import{a as S,b as O}from"./chunk-BKUGARB4.js";import{a as g}from"./chunk-SK5UJRQU.js";import{M as w,e as x,g as h,ha as E,n as R,na as L}from"./chunk-TXOB7R5K.js";var F=x((v,b)=>{(function(a,l){typeof define=="function"&&define.amd?define([],l):typeof v<"u"?l():(l(),a.FileSaver={})})(v,function(){"use strict";function a(e,t){return typeof t>"u"?t={autoBom:!1}:typeof t!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e}function l(e,t,n){var i=new XMLHttpRequest;i.open("GET",e),i.responseType="blob",i.onload=function(){r(i.response,t,n)},i.onerror=function(){console.error("could not download file")},i.send()}function d(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch{}return 200<=t.status&&299>=t.status}function c(e){try{e.dispatchEvent(new MouseEvent("click"))}catch{var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var s=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,m=s.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),r=s.saveAs||(typeof window!="object"||window!==s?function(){}:"download"in HTMLAnchorElement.prototype&&!m?function(e,t,n){var i=s.URL||s.webkitURL,o=document.createElement("a");t=t||e.name||"download",o.download=t,o.rel="noopener",typeof e=="string"?(o.href=e,o.origin===location.origin?c(o):d(o.href)?l(e,t,n):c(o,o.target="_blank")):(o.href=i.createObjectURL(e),setTimeout(function(){i.revokeObjectURL(o.href)},4e4),setTimeout(function(){c(o)},0))}:"msSaveOrOpenBlob"in navigator?function(e,t,n){if(t=t||e.name||"download",typeof e!="string")navigator.msSaveOrOpenBlob(a(e,n),t);else if(d(e))l(e,t,n);else{var i=document.createElement("a");i.href=e,i.target="_blank",setTimeout(function(){c(i)})}}:function(e,t,n,i){if(i=i||open("","_blank"),i&&(i.document.title=i.document.body.innerText="downloading..."),typeof e=="string")return l(e,t,n);var o=e.type==="application/octet-stream",z=/constructor/i.test(s.HTMLElement)||s.safari,y=/CriOS\/[\d]+/.test(navigator.userAgent);if((y||o&&z||m)&&typeof FileReader<"u"){var u=new FileReader;u.onloadend=function(){var f=u.result;f=y?f:f.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=f:location=f,i=null},u.readAsDataURL(e)}else{var A=s.URL||s.webkitURL,p=A.createObjectURL(e);i?i.location=p:location.href=p,i=null,setTimeout(function(){A.revokeObjectURL(p)},4e4)}});s.saveAs=r.saveAs=r,typeof b<"u"&&(b.exports=r)})});var k=h(S(),1),j=h(O(),1),T=h(U(),1);var W=(()=>{class a{$ws=L(g);term;io;fitAddon;webLinksAddon;resize;elementResize;pluginName;startTerminal(d,c={},s,m){this.pluginName=m,this.elementResize=s,this.io=this.$ws.connectToNamespace("log"),this.term=new k.Terminal(c),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new j.FitAddon,this.webLinksAddon=new T.WebLinksAddon,this.resize=new R,this.term.open(d.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.subscribe(()=>{this.term.reset(),this.io.socket.emit("tail-log",{cols:this.term.cols,rows:this.term.rows})}),this.io.socket.on("disconnect",()=>{this.term.write(`
2
2
  \r
3
3
  \rWebsocket failed to connect. Is the server running?
4
4
  \r
@@ -0,0 +1 @@
1
+ import{a as G}from"./chunk-WHJSVGC7.js";import{a as W}from"./chunk-BPMSJ2VF.js";import{a as Z}from"./chunk-WHJOLAED.js";import{a as X}from"./chunk-JZZQRLNW.js";import{a as H}from"./chunk-KQJ7ONUG.js";import{n as B}from"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import{a as R}from"./chunk-SK5UJRQU.js";import{a as q,c as N,d as T,e as D,f as j}from"./chunk-NZNNTHFQ.js";import{c as $}from"./chunk-YP7JWH3J.js";import{b as L}from"./chunk-V7D5U2P3.js";import{a as P}from"./chunk-WNVJPPO7.js";import"./chunk-UG5DK2RQ.js";import{a as M,b as U}from"./chunk-3IX3CLER.js";import{$b as y,Bc as d,Cc as l,Kb as E,Lb as u,Mb as m,Rb as w,Wb as n,Xb as a,Yb as p,ad as V,cc as _,dc as C,g as Y,h as z,ib as o,na as c,nc as f,oc as v,pb as F,rb as O,sd as K,w as A,wc as g,xa as b,xc as k,ya as x}from"./chunk-TXOB7R5K.js";var Q=Y(Z(),1);var I=()=>["/"],te=i=>({"hamburger-icon-cross":i}),ne=i=>({expanded:i}),ie=()=>({exact:!0}),oe=()=>["/accessories"],re=()=>["/support"],ae=()=>["/power-options"],se=()=>["/plugins"],de=()=>["/logs"],le=()=>["/platform-tools/terminal"],pe=()=>["/config"],ce=()=>["/settings"];function me(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",19),d(2,"translate"),d(3,"translate"),_("click",function(){b(e);let t=C();return x(t.openUnderVoltageModal())})("keydown",function(t){b(e);let r=C();return x(r.handleKeydown(t))}),n(4,"div",12),p(5,"i",20),a(),n(6,"div",14),f(7),d(8,"translate"),a()()()}i&2&&(o(),u("aria-label",l(2,2,"rpi.throttled.undervoltage_title")+" - "+l(3,4,"rpi.throttled.undervoltage_description")),o(6),v(l(8,6,"rpi.throttled.undervoltage_title")))}function ue(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=C();return x(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",21),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),m("routerLink",g(8,se))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_plugins")),o(5),v(l(7,6,"menu.label_plugins")))}function _e(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=C();return x(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",22),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),m("routerLink",g(8,de))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_logs")),o(5),v(l(7,6,"menu.linux.label_logs")))}function fe(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=C();return x(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",23),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),m("routerLink",g(8,le))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_terminal")),o(5),v(l(7,6,"menu.linux.label_terminal")))}function ge(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=C();return x(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",24),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),m("routerLink",g(8,pe))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.config_json_editor")),o(5),v(l(7,6,"menu.config_json_editor")))}function ve(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=C();return x(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",25),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),m("routerLink",g(8,ce))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_settings")),o(5),v(l(7,6,"menu.label_settings")))}function he(i,S){if(i&1){let e=y();n(0,"div",10)(1,"div",19),d(2,"translate"),_("click",function(){b(e);let t=C();return x(t.$auth.logout())})("keydown",function(t){b(e);let r=C();return x(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",26),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),u("aria-label",l(2,2,"menu.tooltip_logout")),o(5),v(l(7,4,"menu.tooltip_logout")))}var J=(()=>{class i{router=c(T);translate=c(M);$auth=c($);$settings=c(L);$md=c(X);$modal=c(B);$notification=c(G);$translate=c(M);renderer=c(F);isExpanded=!1;rPiCurrentlyUnderVoltage=!1;rPiWasUnderVoltage=!1;isMobile=!1;freezeMenu=!1;constructor(){let e=this.router;this.isMobile=this.$md.detect.mobile(),e.events.subscribe(s=>{s instanceof q&&(this.closeSidebar(),this.freezeMenu=!0,setTimeout(()=>{this.freezeMenu=!1},500))})}ngOnInit(){this.$notification.raspberryPiThrottled.subscribe(r=>{r["Under Voltage"]&&(this.rPiCurrentlyUnderVoltage=!0),r["Under-voltage has occurred"]&&(this.rPiWasUnderVoltage=!0)});let e=document.querySelector(".sidebar"),s=document.querySelector(".m-header"),t=document.querySelector(".content");this.isMobile?document.addEventListener("touchstart",r=>{if(t.contains(r.target)&&this.isExpanded){r.preventDefault(),this.toggleSidebar();return}!e.contains(r.target)&&!s.contains(r.target)&&this.isExpanded&&(r.preventDefault(),this.closeSidebar())},{passive:!1}):(e.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),s.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),e.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}),s.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}),document.addEventListener("click",r=>{e.contains(r.target)&&r.clientX>60&&this.closeSidebar()},{passive:!1})),this.updateContentStyles()}openSidebar(){this.freezeMenu||(this.isExpanded=!0,this.updateContentStyles())}closeSidebar(){this.freezeMenu||(this.isExpanded=!1,this.updateContentStyles())}toggleSidebar(){this.freezeMenu||(this.isExpanded=!this.isExpanded,this.updateContentStyles())}updateContentStyles(){let e=document.querySelector(".content");this.isExpanded?(this.renderer.setStyle(e,"opacity","20%"),this.renderer.setStyle(e,"pointer-events","none"),this.renderer.setStyle(e,"overflow","hidden")):(this.renderer.removeStyle(e,"opacity"),this.renderer.removeStyle(e,"pointer-events"),this.renderer.removeStyle(e,"overflow"))}openUnderVoltageModal(){let e=this.$modal.open(W,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("rpi.throttled.undervoltage_title"),e.componentInstance.message=this.$translate.instant(this.rPiCurrentlyUnderVoltage?"rpi.throttled.currently_message":"rpi.throttled.previously_message"),e.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),e.componentInstance.faIconClass="fas fa-fw fa-bolt yellow-text",e.componentInstance.ctaButtonLink="https://pimylifeup.com/raspberry-pi-low-voltage-warning"}handleKeydown(e){if(e.key==="Enter"){let s=e.target;["menuitem","button"].includes(s.getAttribute("role"))&&s.click()}}static \u0275fac=function(s){return new(s||i)};static \u0275cmp=O({type:i,selectors:[["app-sidebar"]],inputs:{isExpanded:"isExpanded"},decls:60,vars:66,consts:[["tabindex","0","role","button",1,"m-header","text-right",3,"click","keydown"],[1,"mr-2","d-block","d-lg-none",2,"font-size","0.9rem","color","#dddddd"],[3,"routerLink"],["ngSrc","../../../../assets/homebridge-logo.svg","alt","HB Logo","height","35","width","35",2,"height","35px","width","35px"],[1,"hb-logo-text-mobile"],[1,"hamburger-icon",3,"ngClass"],["role","navigation","id","sidebar",1,"sidebar",3,"ngClass"],["tabindex","0","role","button",1,"header",3,"click","keydown"],[1,"hb-logo-text"],[1,"link-wrapper"],[1,"link"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive","routerLinkActiveOptions"],[1,"icon"],[1,"fa","fa-fw","fa-house"],[1,"title"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive"],[1,"fa","fa-fw","fa-lightbulb"],[1,"fa","fa-fw","fa-question-circle-o"],[1,"fa","fa-fw","fa-power-off"],["role","menuitem","tabindex","0",1,"link-row",3,"click","keydown"],[1,"fas","fa-fw","fa-bolt","fa-beat","yellow-text",2,"--fa-beat-scale","1.5"],[1,"fa","fa-fw","fa-plug"],[1,"fa","fa-fw","fa-wave-square"],[1,"fa","fa-fw","fa-terminal"],[1,"fa","fa-fw","fa-code"],[1,"fa","fa-fw","fa-cog"],[1,"fa","fa-fw","fa-right-from-bracket"]],template:function(s,t){s&1&&(n(0,"div",0),d(1,"translate"),_("click",function(){return t.toggleSidebar()})("keydown",function(h){return t.handleKeydown(h)}),p(2,"span",1),n(3,"a",2),d(4,"translate"),p(5,"img",3),n(6,"div",4),f(7,"Homebridge"),a()(),n(8,"div",5),p(9,"span")(10,"span")(11,"span")(12,"span"),a()(),n(13,"div",6)(14,"div",7),_("click",function(){return t.toggleSidebar()})("keydown",function(h){return t.handleKeydown(h)}),n(15,"a",2),d(16,"translate"),p(17,"img",3),n(18,"div",8),f(19,"Homebridge"),a()()(),n(20,"div",9)(21,"div",10)(22,"div",11),d(23,"translate"),_("keydown",function(h){return t.handleKeydown(h)}),n(24,"div",12),p(25,"i",13),a(),n(26,"div",14),f(27),d(28,"translate"),a()()(),E(29,me,9,8,"div",10)(30,ue,8,9,"div",10),n(31,"div",10)(32,"div",15),d(33,"translate"),_("keydown",function(h){return t.handleKeydown(h)}),n(34,"div",12),p(35,"i",16),a(),n(36,"div",14),f(37),d(38,"translate"),a()()(),E(39,_e,8,9,"div",10)(40,fe,8,9,"div",10)(41,ge,8,9,"div",10)(42,ve,8,9,"div",10),n(43,"div",10)(44,"div",15),d(45,"translate"),_("keydown",function(h){return t.handleKeydown(h)}),n(46,"div",12),p(47,"i",17),a(),n(48,"div",14),f(49),d(50,"translate"),a()()(),n(51,"div",10)(52,"div",15),d(53,"translate"),_("keydown",function(h){return t.handleKeydown(h)}),n(54,"div",12),p(55,"i",18),a(),n(56,"div",14),f(57),d(58,"translate"),a()()(),E(59,he,8,6,"div",10),a()()),s&2&&(u("aria-expanded",t.isExpanded?"true":"false")("aria-controls","sidebar")("aria-label",l(1,33,"menu.sidebar.aria_menu")),o(3),m("routerLink",g(55,I)),u("aria-label",l(4,35,"menu.label_status")),o(5),m("ngClass",k(56,te,t.isExpanded)),o(5),m("ngClass",k(58,ne,t.isExpanded)),o(2),m("routerLink",g(60,I)),u("aria-label",l(16,37,"menu.label_status")),o(7),m("routerLink",g(61,I))("routerLinkActive","active")("routerLinkActiveOptions",g(62,ie)),u("aria-label",l(23,39,"menu.label_status")),o(5),v(l(28,41,"menu.label_status")),o(2),w(t.rPiWasUnderVoltage||t.rPiCurrentlyUnderVoltage?29:-1),o(),w(t.$auth.user.admin?30:-1),o(2),m("routerLink",g(63,oe))("routerLinkActive","active"),u("aria-label",l(33,43,"menu.label_accessories")),o(5),v(l(38,45,"menu.label_accessories")),o(2),w(t.$auth.user.admin?39:-1),o(),w(t.$settings.env.enableTerminalAccess&&t.$auth.user.admin?40:-1),o(),w(t.$auth.user.admin?41:-1),o(),w(t.$auth.user.admin?42:-1),o(2),m("routerLink",g(64,re))("routerLinkActive","active"),u("aria-label",l(45,47,"support.title")),o(5),v(l(50,49,"support.title")),o(3),m("routerLink",g(65,ae))("routerLinkActive","active"),u("aria-label",l(53,51,"menu.restart.title")),o(5),v(l(58,53,"menu.restart.title")),o(2),w(t.$settings.formAuth?59:-1))},dependencies:[K,V,D,j,U],styles:[".m-header[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:65px;z-index:510;display:flex;align-items:center;padding-left:3px;padding-right:3px}.m-header[_ngcontent-%COMP%]:hover{cursor:pointer}@media (min-width: 768px){.m-header[_ngcontent-%COMP%]{display:none}}.sidebar[_ngcontent-%COMP%]{position:fixed;left:0;top:0;height:100vh;transition:.3s;width:60px;z-index:500}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;padding:15px 10px 15px 11px;font-size:.85rem}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]:hover{cursor:pointer}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{overflow-y:auto;max-height:calc(100vh - 80px)!important}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%]{display:flex;align-items:center;padding:15px 10px;cursor:pointer;transition:.2s;font-size:17px}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{flex:0 0 38px;display:flex;align-items:center;justify-content:center}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1;transition:.3s;max-width:0;overflow:hidden;white-space:nowrap}@media (max-width: 767px){.sidebar[_ngcontent-%COMP%]{width:0}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:none}}.sidebar.expanded[_ngcontent-%COMP%]{width:210px}@media (max-width: 767px){.sidebar.expanded[_ngcontent-%COMP%]{width:210px}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:block}}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{max-width:150px;padding-left:10px}.hamburger-icon[_ngcontent-%COMP%]{margin:-7px 0 0 25px}@media (min-width: 768px){.hb-logo-text[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px}.sidebar.expanded[_ngcontent-%COMP%] .hb-logo-text[_ngcontent-%COMP%]{opacity:1;left:55px;transition:.3s}.sidebar[_ngcontent-%COMP%]:not(.expanded) .hb-logo-text[_ngcontent-%COMP%]{opacity:0;left:40px;transition:.3s}.hb-logo-text-mobile[_ngcontent-%COMP%], .hamburger-icon[_ngcontent-%COMP%]{display:none!important}}@media (max-width: 767px){.hb-logo-text[_ngcontent-%COMP%]{display:none!important}.hb-logo-text-mobile[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px;opacity:1;left:55px}.hamburger-icon[_ngcontent-%COMP%]{position:absolute;right:10px;top:28px;width:30px;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.5s ease-in-out;-moz-transition:.5s ease-in-out;-o-transition:.5s ease-in-out;transition:.5s ease-in-out;cursor:pointer}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;position:absolute;height:2px;width:100%;background-color:#fff;border-radius:9px;opacity:1;left:0;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0);-webkit-transition:.25s ease-in-out;-moz-transition:.25s ease-in-out;-o-transition:.25s ease-in-out;transition:.25s ease-in-out}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:0}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2), .hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){top:10px}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:20px}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:10px;width:0;left:50%}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:10px;width:0;left:50%}}"]})}return i})();var be=i=>({sidebarExpanded:i}),He=(()=>{class i{$auth=c($);$modal=c(B);$router=c(T);$settings=c(L);$translate=c(M);$ws=c(R);sidebarExpanded=!1;io;ngOnInit(){this.io=this.$ws.connectToNamespace("app"),this.io.socket.on("reconnect",()=>{this.$auth.checkToken()}),this.compareServerUiVersion()}compareServerUiVersion(){return z(this,null,function*(){if(this.$settings.settingsLoaded||(yield A(this.$settings.onSettingsLoaded)),(0,Q.lt)(this.$settings.uiVersion,P.serverTarget)){console.log(`Server restart required. UI Version: ${P.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=this.$modal.open(H,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("platform.version.service_restart_required"),e.componentInstance.message=this.$translate.instant("platform.version.restart_required",{serverVersion:this.$settings.uiVersion,uiVersion:P.serverTarget}),e.componentInstance.confirmButtonLabel=this.$translate.instant("menu.tooltip_restart"),e.componentInstance.faIconClass="fas fa-fw-power-off",e.result.then(()=>{this.$router.navigate(["/restart"])}).catch(()=>{})}})}static \u0275fac=function(s){return new(s||i)};static \u0275cmp=O({type:i,selectors:[["app-layout"]],decls:3,vars:4,consts:[[3,"isExpanded"],[1,"content","px-3","p-md-4",3,"ngClass"]],template:function(s,t){s&1&&(p(0,"app-sidebar",0),n(1,"div",1),p(2,"router-outlet"),a()),s&2&&(m("isExpanded",t.sidebarExpanded),o(),m("ngClass",k(2,be,t.sidebarExpanded)))},dependencies:[J,V,N],styles:[".content[_ngcontent-%COMP%]{margin-left:60px;transition:.3s;height:100%}@media (max-width: 767px){.content[_ngcontent-%COMP%]{margin-left:0;padding-top:85px!important}}@media (min-width: 768px){.content[_ngcontent-%COMP%]{height:100%}}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return i})();export{He as LayoutComponent};
@@ -1 +1 @@
1
- import{a as j}from"./chunk-J26JMISE.js";import"./chunk-EA5J2VEJ.js";import"./chunk-7JR63ERC.js";import{c as y}from"./chunk-7EUQWCP5.js";import"./chunk-JZZQRLNW.js";import{q as h}from"./chunk-ORPWYWCL.js";import{y as M,z as v}from"./chunk-QHPDGSZ6.js";import{d as C,g as a}from"./chunk-NZNNTHFQ.js";import"./chunk-UC2NMLJ6.js";import{b as l,j as g}from"./chunk-M3N7PSSC.js";import"./chunk-UG5DK2RQ.js";import{a as d,c as u}from"./chunk-3IX3CLER.js";import{h as s,ha as c,ia as i,md as p,na as e,sb as n,w as f}from"./chunk-TXOB7R5K.js";var m=(()=>{class o{$api=e(l);$router=e(C);$toastr=e(g);$translate=e(d);resolve(){return s(this,null,function*(){try{let r=yield f(this.$api.get("/config-editor"));return JSON.stringify(r,null,4)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(t){return new(t||o)};static \u0275prov=c({token:o,factory:o.\u0275fac})}return o})();var $=[{path:"",loadComponent:()=>import("./chunk-WRDG5DTE.js").then(o=>o.ConfigEditorComponent),resolve:{config:m}}],R=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=n({type:o});static \u0275inj=i({imports:[a.forChild($),a]})}return o})();var Q=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=n({type:o});static \u0275inj=i({providers:[m],imports:[p,M,v,y,h,u.forChild(),R,j]})}return o})();export{Q as ConfigEditorModule};
1
+ import{a as j}from"./chunk-QGDVQDUP.js";import"./chunk-EA5J2VEJ.js";import"./chunk-KHNBODZR.js";import{c as y}from"./chunk-7EUQWCP5.js";import"./chunk-JZZQRLNW.js";import{q as h}from"./chunk-ORPWYWCL.js";import{y as M,z as v}from"./chunk-QHPDGSZ6.js";import{d as C,g as a}from"./chunk-NZNNTHFQ.js";import"./chunk-V7D5U2P3.js";import{b as l,j as g}from"./chunk-WNVJPPO7.js";import"./chunk-UG5DK2RQ.js";import{a as d,c as u}from"./chunk-3IX3CLER.js";import{h as s,ha as c,ia as i,md as p,na as e,sb as n,w as f}from"./chunk-TXOB7R5K.js";var m=(()=>{class o{$api=e(l);$router=e(C);$toastr=e(g);$translate=e(d);resolve(){return s(this,null,function*(){try{let r=yield f(this.$api.get("/config-editor"));return JSON.stringify(r,null,4)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(t){return new(t||o)};static \u0275prov=c({token:o,factory:o.\u0275fac})}return o})();var $=[{path:"",loadComponent:()=>import("./chunk-FA2N3XXT.js").then(o=>o.ConfigEditorComponent),resolve:{config:m}}],R=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=n({type:o});static \u0275inj=i({imports:[a.forChild($),a]})}return o})();var Q=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=n({type:o});static \u0275inj=i({providers:[m],imports:[p,M,v,y,h,u.forChild(),R,j]})}return o})();export{Q as ConfigEditorModule};
@@ -1 +1 @@
1
- import{a as he,b as be}from"./chunk-ZT23DWNL.js";import{a as _e}from"./chunk-6TCHCTXZ.js";import{o as Ce,w as j}from"./chunk-ZJ4LBIOD.js";import{a as R}from"./chunk-7JR63ERC.js";import{a as A}from"./chunk-BPMSJ2VF.js";import{a as fe}from"./chunk-JZZQRLNW.js";import{a as me}from"./chunk-KQJ7ONUG.js";import{h as le,i as re,j as se,k as de,l as pe,m as ce,n as ue,o as ge}from"./chunk-ORPWYWCL.js";import{c as K,d as Q,e as X,f as Y,g as Z,j as ee,m as ie,p as te,q as ne,y as ae,z as oe}from"./chunk-QHPDGSZ6.js";import{a as H}from"./chunk-GETFKFI6.js";import{a as W,d as J}from"./chunk-NZNNTHFQ.js";import{b as N}from"./chunk-UC2NMLJ6.js";import{b as E,j as D}from"./chunk-M3N7PSSC.js";import{a as M,b as T}from"./chunk-3IX3CLER.js";import{$b as h,Bc as c,Cc as u,Dc as O,Kb as v,Lb as y,Mb as x,Rb as d,Tb as U,Ub as z,Vb as q,Wb as o,Xb as l,Yb as r,ad as L,cc as m,dc as p,eb as I,h as S,ib as n,kd as G,na as w,nc as g,oc as k,pc as b,rb as V,w as B,xa as _,ya as C,yc as F}from"./chunk-TXOB7R5K.js";function ke(t,s){if(t&1){let e=h();o(0,"button",15),m("click",function(){_(e);let i=p();return C(i.$activeModal.dismiss("Dismiss"))}),g(1),c(2,"translate"),l()}t&2&&(n(),b(" ",u(2,1,"form.button_close")," "))}function Se(t,s){if(t&1){let e=h();o(0,"button",15),m("click",function(){_(e);let i=p();return C(i.$activeModal.dismiss("Dismiss"))}),g(1),c(2,"translate"),l()}t&2&&(n(),b(" ",u(2,1,"form.button_close")," "))}function ye(t,s){if(t&1&&(o(0,"a",14),g(1),c(2,"translate"),r(3,"i",16),l()),t&2){let e=p();x("href",e.plugin.links.homepage||e.plugin.links.npm,I),n(),b(" ",u(2,2,"plugins.button_homepage")," ")}}var xe=(()=>{class t{$activeModal=w(ce);plugin;defaultIcon="assets/hb-icon.png";ngOnInit(){this.plugin.icon||(this.plugin.icon=this.defaultIcon)}handleIconError(){this.plugin.icon=this.defaultIcon}static \u0275fac=function(a){return new(a||t)};static \u0275cmp=V({type:t,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:26,vars:14,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","w-100","text-center"],["alt","Plugin Icon",1,"mb-3","plugin-icon",3,"error","src"],[1,"my-3"],[1,"m-0","grey-text"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-right"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(a,i){a&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),g(3),c(4,"translate"),l(),o(5,"button",3),c(6,"translate"),m("click",function(){return i.$activeModal.dismiss("Dismiss")}),o(7,"span",4),g(8,"\xD7"),l()()(),o(9,"div",5)(10,"img",6),m("error",function(){return i.handleIconError()}),l(),o(11,"h4"),g(12),l(),o(13,"p",7),g(14),l(),o(15,"p",8),g(16),l(),o(17,"p",8),g(18),l()(),o(19,"div",9)(20,"div",10),v(21,ke,3,3,"button",11),l(),o(22,"div",12),v(23,Se,3,3,"button",11),l(),o(24,"div",13),v(25,ye,4,4,"a",14),l()()()),a&2&&(n(3),k(u(4,10,"plugins.manage.information")),n(2),y("aria-label",u(6,12,"form.button_close")),n(5),x("src",i.plugin.icon,I),n(2),k(i.plugin.displayName||i.plugin.name),n(2),k(i.plugin.description),n(2),k(i.plugin.name),n(2),b("@",i.plugin.author,""),n(3),d(i.plugin.links.homepage||i.plugin.links.npm?21:-1),n(2),d(!i.plugin.links.homepage&&!i.plugin.links.npm?23:-1),n(2),d(i.plugin.links.homepage||i.plugin.links.npm?25:-1))},dependencies:[T],styles:[".plugin-icon[_ngcontent-%COMP%]{height:75px;width:75px;border-radius:15px;border:1px solid #222222}"]})}return t})();var Be=(t,s)=>({"fa-bridge-circle-exclamation orange-text":t,"fa-bridge-circle-xmark red-text":s});function Ie(t,s){t&1&&r(0,"i",25)}function Ve(t,s){t&1&&r(0,"i",26)}function Te(t,s){if(t&1){let e=h();o(0,"a",24),m("click",function(){_(e);let i=p();return C(i.openHb2InfoModal())}),v(1,Ie,1,0,"i",25)(2,Ve,1,0,"i",26),l()}if(t&2){let e=p();x("ngbTooltip","Homebridge v2.0 Readiness")("placement","right"),n(),d(e.hb2Status==="supported"?1:-1),n(),d(e.hb2Status==="unknown"?2:-1)}}function $e(t,s){if(t&1){let e=h();o(0,"a",27),c(1,"translate"),c(2,"translate"),m("click",function(){_(e);let i=p();return C(i.$plugin.checkAndUpdatePlugin(i.plugin,i.plugin.updateTag||"latest"))}),r(3,"i",28),l()}t&2&&(x("ngbTooltip",u(1,2,"plugins.button_update")),y("aria-label",u(2,4,"plugins.button_update")))}function Ee(t,s){if(t&1){let e=h();o(0,"a",27),c(1,"translate"),c(2,"translate"),m("click",function(){_(e);let i=p();return C(i.$plugin.switchToScoped(i.plugin))}),r(3,"i",29),l()}t&2&&(x("ngbTooltip",u(1,2,"plugins.manage.scoped.switch")),y("aria-label",u(2,4,"plugins.manage.scoped.switch")))}function Me(t,s){if(t&1){let e=h();o(0,"a",27),c(1,"translate"),c(2,"translate"),m("click",function(){_(e);let i=p();return C(i.$plugin.settings(i.plugin))}),r(3,"i",30),l()}t&2&&(x("ngbTooltip",u(1,2,"plugins.button_set_up")),y("aria-label",u(2,4,"plugins.button_set_up")))}function De(t,s){if(t&1){let e=h();o(0,"a",27),c(1,"translate"),c(2,"translate"),m("click",function(){_(e);let i=p();return C(i.$plugin.bridgeSettings(i.plugin))}),r(3,"i",31),l()}t&2&&(x("ngbTooltip",u(1,2,"child_bridge.setup")),y("aria-label",u(2,4,"child_bridge.setup")))}function Ne(t,s){if(t&1){let e=h();o(0,"a",27),c(1,"translate"),c(2,"translate"),m("click",function(){_(e);let i=p();return C(i.$plugin.bridgeSettings(i.plugin))}),r(3,"i",32),l()}t&2&&(x("ngbTooltip",u(1,2,"child_bridge.bridge_connect")),y("aria-label",u(2,4,"child_bridge.bridge_connect")))}function He(t,s){if(t&1&&r(0,"i",13),t&2){let e=p();x("ngClass",F(1,Be,e.childBridgeStatus==="pending",e.childBridgeStatus==="down"))}}function je(t,s){if(t&1){let e=h();o(0,"p",18)(1,"a",33),m("click",function(){_(e);let i=p();return C(i.openVerifiedModal())}),r(2,"i",34),o(3,"span",17),g(4),c(5,"translate"),l()()()}t&2&&(n(4),k(u(5,1,"plugins.donate.button_verified")))}function Ae(t,s){if(t&1){let e=h();o(0,"p",18)(1,"a",35),m("click",function(){_(e);let i=p();return C(i.openVerifiedModal())}),r(2,"i",36),o(3,"span",17),g(4),c(5,"translate"),l()()()}t&2&&(n(4),k(u(5,1,"plugins.donate.button_not_verified")))}function Re(t,s){if(t&1){let e=h();o(0,"a",37),m("click",function(){_(e);let i=p();return C(i.openFundingModal(i.plugin))}),r(1,"i",38),o(2,"span",17),g(3),l()()}if(t&2){let e=p();n(3),b("@",e.plugin.author,"")}}function Ue(t,s){if(t&1&&(o(0,"span",17),r(1,"i",39),g(2),l()),t&2){let e=p();n(2),b("@",e.plugin.author," ")}}function ze(t,s){if(t&1&&(o(0,"span"),g(1),c(2,"date"),l()),t&2){let e=p(2);n(),b("(",O(2,1,e.plugin.lastUpdated,"yyyy-MM-dd"),")")}}function qe(t,s){if(t&1&&(o(0,"span"),r(1,"i",40),o(2,"span",17),g(3),v(4,ze,3,4,"span"),l()()),t&2){let e=p();n(3),b("v",e.plugin.latestVersion," "),n(),d(e.plugin.lastUpdated?4:-1)}}function Fe(t,s){if(t&1&&(o(0,"span"),r(1,"i",41),g(2),l()),t&2){let e=p();n(2),b("v",e.plugin.installedVersion," ")}}function Oe(t,s){if(t&1){let e=h();o(0,"a",27),c(1,"translate"),m("click",function(){_(e);let i=p();return C(i.doChildBridgeAction("restart"))}),r(2,"i",42),l()}if(t&2){let e=p();x("ngbTooltip",u(1,1,e.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart"))}}function Le(t,s){if(t&1){let e=h();o(0,"a",43),m("click",function(){_(e);let i=p();return C(i.enablePlugin(i.plugin))}),r(1,"i",44),c(2,"translate"),l()}t&2&&(n(),x("ngbTooltip",u(2,1,"plugins.status_disabled")))}function Ge(t,s){if(t&1){let e=h();o(0,"a",45),m("click",function(){_(e);let i=p();return C(i.$plugin.installAlternateVersion(i.plugin))}),r(1,"i",46),l()}}function We(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.viewPluginLog(i.plugin))}),r(1,"i",55),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"plugins.manage.plugin_logs")," "))}function Je(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.$plugin.installAlternateVersion(i.plugin))}),r(1,"i",56),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"plugins.manage.manage_version")," "))}function Ke(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.$plugin.jsonEditor(i.plugin))}),r(1,"i",57),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"plugins.manage.json_config")," "))}function Qe(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.disablePlugin(i.plugin))}),r(1,"i",58),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"plugins.manage.disable")," "))}function Xe(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.enablePlugin(i.plugin))}),r(1,"i",59),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"plugins.manage.enable")," "))}function Ye(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.$plugin.uninstallPlugin(i.plugin,i.setChildBridges))}),r(1,"i",60),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"plugins.button_uninstall")," "))}function Ze(t,s){t&1&&r(0,"div",53)}function ei(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(3);return C(i.doChildBridgeAction("restart"))}),r(1,"i",62),g(2),c(3,"translate"),l()}if(t&2){let e=p(3);n(2),b(" ",u(3,1,e.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart")," ")}}function ii(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(3);return C(i.doChildBridgeAction("stop"))}),r(1,"i",63),g(2),c(3,"translate"),l()}if(t&2){let e=p(3);n(2),b(" ",u(3,1,e.setChildBridges.length>1?"child_bridge.stop_plural":"child_bridge.stop")," ")}}function ti(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(3);return C(i.doChildBridgeAction("start"))}),r(1,"i",64),g(2),c(3,"translate"),l()}if(t&2){let e=p(3);n(2),b(" ",u(3,1,e.setChildBridges.length>1?"child_bridge.start_plural":"child_bridge.start")," ")}}function ni(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(3);return C(i.$plugin.resetChildBridges(i.setChildBridges))}),r(1,"i",65),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"child_bridge.reset_accessories")," "))}function ai(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.$plugin.bridgeSettings(i.plugin))}),r(1,"i",61),g(2),c(3,"translate"),l(),v(4,ei,4,3,"button",52)(5,ii,4,3,"button",52)(6,ti,4,3,"button",52)(7,ni,4,3,"button",52)}if(t&2){let e=p(2);n(2),b(" ",u(3,5,"child_bridge.bridge_settings")," "),n(2),d(e.childBridgeRestartInProgress?-1:4),n(),d(e.allChildBridgesStopped?-1:5),n(),d(e.allChildBridgesStopped?6:-1),n(),d(e.$settings.env.serviceMode?7:-1)}}function oi(t,s){t&1&&r(0,"div",53)}function li(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.$plugin.bridgeSettings(i.plugin))}),r(1,"i",66),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"child_bridge.setup")," "))}function ri(t,s){t&1&&r(0,"div",53)}function si(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.$plugin.bridgeSettings(i.plugin))}),r(1,"i",66),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"child_bridge.setup")," "))}function di(t,s){t&1&&r(0,"div",53)}function pi(t,s){if(t&1&&(o(0,"a",54),r(1,"i",67),g(2),c(3,"translate"),l()),t&2){let e=p(2);x("href",e.plugin.links.bugs,I),n(2),b(" ",u(3,2,"support.links.issue")," ")}}function ci(t,s){if(t&1){let e=h();o(0,"span",23)(1,"a",47),r(2,"i",48),l(),o(3,"div",49)(4,"button",50),m("click",function(){_(e);let i=p();return C(i.$plugin.settings(i.plugin))}),r(5,"i",51),g(6),c(7,"translate"),l(),v(8,We,4,3,"button",52)(9,Je,4,3,"button",52)(10,Ke,4,3,"button",52)(11,Qe,4,3,"button",52)(12,Xe,4,3,"button",52)(13,Ye,4,3,"button",52)(14,Ze,1,0,"div",53)(15,ai,8,7)(16,oi,1,0,"div",53)(17,li,4,3,"button",52)(18,ri,1,0,"div",53)(19,si,4,3,"button",52)(20,di,1,0,"div",53)(21,pi,4,4,"a",54),l()()}if(t&2){let e=p();n(),y("aria-label","Plugin Actions Dropdown"),n(5),b(" ",u(7,16,"plugins.button_settings")," "),n(2),d(e.plugin.isConfigured&&!e.plugin.disabled?8:-1),n(),d(e.plugin.publicPackage?9:-1),n(),d(!e.isMobile&&e.plugin.name!=="homebridge-config-ui-x"?10:-1),n(),d(e.plugin.name!=="homebridge-config-ui-x"&&!e.plugin.disabled?11:-1),n(),d(e.plugin.name!=="homebridge-config-ui-x"&&e.plugin.disabled?12:-1),n(),d(e.plugin.name!=="homebridge-config-ui-x"?13:-1),n(),d(!e.plugin.disabled&&e.plugin.isConfigured&&e.plugin.hasChildBridges&&e.plugin.installedVersion&&e.plugin.name!=="homebridge-config-ui-x"?14:-1),n(),d(e.plugin.hasChildBridges&&!e.plugin.disabled?15:-1),n(),d(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&!e.plugin.recommendChildBridge?16:-1),n(),d(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&!e.plugin.recommendChildBridge?17:-1),n(),d(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&e.plugin.recommendChildBridge&&e.plugin.updateAvailable?18:-1),n(),d(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&e.plugin.recommendChildBridge&&e.plugin.updateAvailable?19:-1),n(),d(e.plugin.links!=null&&e.plugin.links.bugs?20:-1),n(),d(e.plugin.links!=null&&e.plugin.links.bugs?21:-1)}}var we=(()=>{class t{$api=w(E);$md=w(fe);$modal=w(ue);$plugin=w(j);$settings=w(N);$toastr=w(D);$translate=w(M);$ws=w(H);plugin;hasChildBridges=!1;hasUnpairedChildBridges=!1;allChildBridgesStopped=!1;childBridgeStatus="pending";childBridgeRestartInProgress=!1;defaultIcon="assets/hb-icon.png";isMobile;setChildBridges=[];prettyDisplayName="";hb2Status="unknown";io;set childBridges(e){var f,$;this.hasChildBridges=e.length>0,this.hasUnpairedChildBridges=e.filter(P=>P.paired===!1).length>0,this.allChildBridgesStopped=e.filter(P=>P.manuallyStopped===!0).length===e.length,this.hasChildBridges&&(e.some(P=>P.status==="down")?this.childBridgeStatus="down":e.some(P=>P.status==="pending")?this.childBridgeStatus="pending":e.some(P=>P.status==="ok")&&(this.childBridgeStatus="ok")),this.setChildBridges=e;let a=this.$settings.env.homebridgeVersion.split(".")[0],i=(($=(f=this.plugin.engines)==null?void 0:f.homebridge)==null?void 0:$.split("||").map(P=>P.trim()))||[];this.hb2Status=a==="2"?"hide":i.some(P=>P.startsWith("^2")||P.startsWith(">=2"))?"supported":this.hb2Status}ngOnInit(){this.isMobile=this.$md.detect.mobile(),this.prettyDisplayName=this.prettifyName(),this.io=this.$ws.getExistingNamespace("child-bridges"),this.plugin.icon||(this.plugin.icon=this.defaultIcon)}openFundingModal(e){let a=this.$modal.open(be,{size:"lg",backdrop:"static"});a.componentInstance.plugin=e}openVerifiedModal(){let e=this.$modal.open(A,{size:"lg",backdrop:"static"});this.plugin.verifiedPlugin||this.plugin.verifiedPlusPlugin?(e.componentInstance.title=this.$translate.instant("plugins.manage.verified_title"),e.componentInstance.subtitle=this.$translate.instant("plugins.manage.verified_subtitle",{pluginName:this.plugin.displayName||this.plugin.name}),e.componentInstance.message=this.$translate.instant("plugins.manage.verified_message"),e.componentInstance.faIconClass="fa-shield-alt green-text"):(e.componentInstance.title=this.$translate.instant("plugins.manage.unverified_title"),e.componentInstance.subtitle=this.$translate.instant("plugins.manage.unverified_subtitle",{pluginName:this.plugin.displayName||this.plugin.name}),e.componentInstance.message=this.$translate.instant("plugins.manage.unverified_message"),e.componentInstance.faIconClass="fa-shield-alt grey-text"),e.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),e.componentInstance.ctaButtonLink="https://github.com/homebridge/homebridge/wiki/verified-Plugins"}pluginInfoModal(e){let a=this.$modal.open(xe,{size:"lg",backdrop:"static"});a.componentInstance.plugin=e}disablePlugin(e){let a=this.$modal.open(he,{size:"lg",backdrop:"static"});a.componentInstance.pluginName=e.name,a.componentInstance.isConfigured=e.isConfigured,a.componentInstance.isConfiguredDynamicPlatform=e.isConfiguredDynamicPlatform,a.result.then(()=>S(this,null,function*(){try{yield B(this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/disable`,{})),e.disabled=!0,this.hasChildBridges&&this.doChildBridgeAction("stop"),this.$modal.open(R,{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 a=this.$modal.open(me,{size:"lg",backdrop:"static"});a.componentInstance.title=`${this.$translate.instant("plugins.manage.enable")}: ${e.name}`,a.componentInstance.message=this.$translate.instant("plugins.manage.confirm_enable",{pluginName:e.name}),a.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.enable"),a.componentInstance.faIconClass="fa-circle-play primary-text",a.result.then(()=>S(this,null,function*(){try{yield B(this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/enable`,{})),e.disabled=!1,this.hasChildBridges&&(yield this.doChildBridgeAction("start")),this.$modal.open(R,{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 a=this.$modal.open(Ce,{size:"xl",backdrop:"static"});a.componentInstance.plugin=e}doChildBridgeAction(e){return S(this,null,function*(){this.childBridgeRestartInProgress=!0;try{for(let a of this.setChildBridges)yield B(this.io.request(`${e}-child-bridge`,a.username))}catch(a){console.error(a),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}prettifyName(){let e=this.plugin.displayName||(this.plugin.name.charAt(0)==="@"?this.plugin.name.split("/")[1]:this.plugin.name);return e=e.replace(/-/g," "),this.isMobile&&e.toLowerCase().startsWith("homebridge ")&&(e=e.replace(/^homebridge /i,"")),this.plugin.displayName||(e=e.replace(/\w\S*/g,a=>a.charAt(0).toUpperCase()+a.substring(1).toLowerCase())),e}openHb2InfoModal(){let e=this.$modal.open(A,{size:"lg",backdrop:"static"});e.componentInstance.title="Plugin Readiness",this.hb2Status==="supported"?(e.componentInstance.subtitle=`${this.plugin.displayName||this.plugin.name} is ready for Homebridge v2.0`,e.componentInstance.message="The developer has specifically marked your installed version of the plugin as compatible with Homebridge v2.0.",e.componentInstance.faIconClass="fa-check-circle green-text"):(e.componentInstance.subtitle=`${this.plugin.displayName||this.plugin.name} might not be ready for Homebridge v2.0`,e.componentInstance.message="The developer has not specifically marked your installed version of the plugin as compatible with Homebridge v2.0, but it may still work.",e.componentInstance.faIconClass="fa-question-circle orange-text"),e.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),e.componentInstance.ctaButtonLink="https://github.com/homebridge/homebridge/wiki/Updating-To-Homebridge-v2.0"}static \u0275fac=function(a){return new(a||t)};static \u0275cmp=V({type:t,selectors:[["app-plugin-card"]],inputs:{plugin:"plugin",childBridges:"childBridges"},decls:38,vars:21,consts:[[1,"card","card-body","mb-3"],[1,"d-flex","flex-row","justify-content-between"],[1,"d-flex","flex-column","mr-3","align-items-center","justify-content-between"],["alt","Plugin Icon",1,"plugin-icon-card","mb-3",3,"error","src"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover","aria-label","Homebridge v2.0 Readiness",3,"ngbTooltip","placement"],[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,"ml-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","ml-3",3,"hidden"],[1,"fas","fa-fw","fa-lg","ml-3",3,"ngClass"],[1,"card-text","mb-2","text-truncate"],["href","javascript:void(0)",1,"card-link","grey-text",3,"click"],[1,"fas","fa-fw","fa-info-circle","fa-lg","mr-1"],[1,"grey-text"],[1,"card-text","mb-2"],["href","javascript:void(0)",1,"card-link","pink-text"],[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","ml-3","mt-auto"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover","aria-label","Homebridge v2.0 Readiness",3,"click","ngbTooltip","placement"],["aria-label","The developer has specifically marked this plugin as compatible with Homebridge v2.0",1,"fas","fa-check-circle","green-text","fa-xl"],["aria-label","The developer has not specifically marked this plugin as compatible with Homebridge v2.0, but it may still work.",1,"fas","fa-question-circle","orange-text","fa-xl"],["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","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-arrow-right-arrow-left","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-sliders","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-bridge","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-qrcode","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],["href","javascript:void(0)",1,"card-link","green-text",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","mr-1"],["href","javascript:void(0)",1,"card-link",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","mr-1",2,"opacity","0.25"],["href","javascript:void(0)",1,"card-link","pink-text",3,"click"],[1,"fas","fa-fw","fa-heart","fa-lg","mr-1"],[1,"fas","fa-fw","fa-heart","fa-lg","mr-1",2,"opacity","0.5"],[1,"far","fa-fw","fa-circle-dot","fa-lg","mr-1"],[1,"far","fa-fw","fa-circle-check","fa-lg","mr-1"],[1,"fas","fa-fw","fa-lg","fa-power-off","ml-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,"fa-fw","icon-button","fas","fa-fw","fa-power-off"],[1,"fas","fa-fw","fa-stop"],[1,"fas","fa-fw","fa-play"],[1,"fas","fa-fw","fa-broom"],[1,"icon-button","fas","fa-fw","fa-bridge"],[1,"icon-button","fa","fa-fw","fa-question-circle-o"]],template:function(a,i){a&1&&(o(0,"div",0)(1,"div",1)(2,"div",2)(3,"img",3),m("error",function(){return i.handleIconError()}),l(),v(4,Te,3,4,"a",4),l(),o(5,"div",5)(6,"div",6)(7,"div",7)(8,"div",8)(9,"h5",9),g(10),l(),o(11,"div",10),v(12,$e,4,6,"a",11)(13,Ee,4,6,"a",11)(14,Me,4,6,"a",11)(15,De,4,6,"a",11)(16,Ne,4,6,"a",11),r(17,"i",12),v(18,He,1,4,"i",13),l()(),o(19,"p",14)(20,"a",15),m("click",function(){return i.pluginInfoModal(i.plugin)}),r(21,"i",16),o(22,"span",17),g(23),l()()(),v(24,je,6,3,"p",18)(25,Ae,6,3,"p",18),o(26,"p",18),v(27,Re,4,1,"a",19)(28,Ue,3,1,"span",17),l(),o(29,"div",8)(30,"p",20),v(31,qe,5,2,"span")(32,Fe,3,1,"span"),l(),o(33,"div",10),v(34,Oe,3,3,"a",11)(35,Le,3,3,"a",21)(36,Ge,2,0,"a",22)(37,ci,22,18,"span",23),l()()()()()()()),a&2&&(n(3),x("src",i.plugin.icon,I),n(),d(i.plugin.installedVersion&&i.hb2Status!=="hide"?4:-1),n(6),k(i.prettyDisplayName),n(2),d(i.plugin.installedVersion&&i.plugin.updateAvailable&&!i.childBridgeRestartInProgress?12:-1),n(),d(i.plugin.installedVersion&&(i.plugin.newHbScope==null?null:i.plugin.newHbScope.switch)===i.plugin.installedVersion&&!i.childBridgeRestartInProgress?13:-1),n(),d(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&!i.plugin.isConfigured&&!i.childBridgeRestartInProgress?14:-1),n(),d(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?15:-1),n(),d(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?16:-1),n(),x("hidden",!i.childBridgeRestartInProgress),n(),d(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?18:-1),n(5),k(i.plugin.name),n(),d(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin?24:-1),n(),d(!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin?25:-1),n(2),d((i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)&&i.plugin.funding?27:-1),n(),d((i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)&&i.plugin.funding?-1:28),n(3),d(i.plugin.publicPackage&&!i.plugin.installedVersion?31:-1),n(),d(i.plugin.installedVersion?32:-1),n(2),d(!i.plugin.disabled&&i.plugin.hasChildBridges&&i.childBridgeStatus==="ok"?34:-1),n(),d(i.plugin.installedVersion&&i.plugin.disabled?35:-1),n(),d(i.plugin.publicPackage&&!i.plugin.installedVersion?36:-1),n(),d(i.plugin.installedVersion?37:-1))},dependencies:[ge,L,pe,de,se,re,le,G,T],encapsulation:2})}return t})();function ui(t,s){t&1&&r(0,"app-spinner")}function gi(t,s){t&1&&r(0,"i",8)}function mi(t,s){if(t&1&&(o(0,"div",10),r(1,"app-plugin-card",12),l()),t&2){let e=s.$implicit,a=p();n(),x("plugin",e)("childBridges",a.getPluginChildBridges(e))}}function fi(t,s){t&1&&(o(0,"div",11),r(1,"i",13),o(2,"p"),g(3),c(4,"translate"),l()()),t&2&&(n(3),k(u(4,1,"plugins.placeholder_search_first")))}var at=(()=>{class t{$api=w(E);$plugin=w(j);$router=w(J);$settings=w(N);$toastr=w(D);$translate=w(M);$ws=w(H);loading=!0;installedPlugins=[];childBridges=[];form=new Z({query:new ee("",[Q.required])});io;navigationSubscription;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"),yield this.loadInstalledPlugins();let e=this.$router.parseUrl(this.$router.url).queryParams.installed;if(e){let a=this.installedPlugins.find(i=>i.name===e);a&&!a.isConfigured&&this.$plugin.settings(a),this.$router.navigate(["/plugins"])}})),this.io.socket.on("child-bridge-status-update",e=>{let a=this.childBridges.find(i=>i.username===e.username);a?Object.assign(a,e):this.childBridges.push(e)}),this.navigationSubscription=this.$router.events.subscribe(e=>{e instanceof W&&this.loadInstalledPlugins()})})}loadInstalledPlugins(){return S(this,null,function*(){this.form.setValue({query:""}),this.installedPlugins=[],this.loading=!0;try{let e=yield B(this.$api.get("/plugins"));this.installedPlugins=e.filter(i=>i.name!=="homebridge-config-ui-x"),yield this.appendMetaInfo();let a=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,a}catch(e){console.error(e),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 a=yield B(this.$api.get(`/config-editor/plugin/${encodeURIComponent(e.name)}`));e.isConfigured=a.length>0,e.isConfiguredDynamicPlatform=e.isConfigured&&Object.prototype.hasOwnProperty.call(a[0],"platform"),e.recommendChildBridge=e.isConfiguredDynamicPlatform&&this.$settings.env.recommendChildBridges&&this.$settings.env.serviceMode&&!["homebridge","homebridge-config-ui-x"].includes(e.name),e.hasChildBridges=e.isConfigured&&a.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.$api.get(`/plugins/search/${encodeURIComponent(this.form.value.query)}`).subscribe({next:e=>{let a=new Set;this.installedPlugins=e.sort((i,f)=>i.newHbScope&&!f.newHbScope?-1:!i.newHbScope&&f.newHbScope?1:0).reduce((i,f)=>{if(f.name==="homebridge-config-ui-x"||a.has(f.name))return i;if(f.newHbScope){let $=f.newHbScope.to,P=e.some(Pe=>Pe.name===$);(f.installedVersion||!P)&&(a.add($),i.push(f))}else i.push(f);return i},[]).sort((i,f)=>i.installedVersion!==f.installedVersion?i.installedVersion?-1:1:0),this.appendMetaInfo(),this.loading=!1},error:e=>{this.loading=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error")),this.loadInstalledPlugins()}})}onClearSearch(){this.form.setValue({query:""}),this.loadInstalledPlugins()}onSubmit({value:e}){e.query.length?this.search():this.loadInstalledPlugins()}getChildBridgeMetadata(){this.io.request("get-homebridge-child-bridge-status").subscribe(e=>{this.childBridges=e})}getPluginChildBridges(e){return this.childBridges.filter(a=>a.plugin===e.name)}ngOnDestroy(){this.navigationSubscription&&this.navigationSubscription.unsubscribe(),this.io.end()}static \u0275fac=function(a){return new(a||t)};static \u0275cmp=V({type:t,selectors:[["ng-component"]],decls:17,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",3,"click"],[1,"far","fa-fw","fa-times-circle"],[1,"d-flex","flex-wrap","justify-content-between"],[1,"hb-plugin-space-between"],[1,"alert","alert-info","mt-4","text-center","w-100"],[3,"plugin","childBridges"],[1,"fas","fa-fw","fa-magnifying-glass","primary-text","my-3",2,"font-size","75px"]],template:function(a,i){a&1&&(v(0,ui,1,0,"app-spinner"),o(1,"div",0)(2,"div",1)(3,"h3",2),g(4),c(5,"translate"),l()()(),o(6,"div",3)(7,"div",4)(8,"form",5),m("ngSubmit",function(){return i.onSubmit(i.form)}),r(9,"input",6),c(10,"translate"),o(11,"a",7),m("click",function(){return i.onClearSearch()}),v(12,gi,1,0,"i",8),l()()()(),o(13,"div",9),z(14,mi,2,2,"div",10,U),v(16,fi,5,3,"div",11),l()),a&2&&(d(i.loading?0:-1),n(4),k(u(5,6,"menu.label_plugins")),n(4),x("formGroup",i.form),n(),x("placeholder",u(10,8,"plugins.placeholder_search_plugin")),n(3),d(i.form.controls.query.value?12:-1),n(2),q(i.installedPlugins),n(2),d(i.installedPlugins.length===0&&!i.loading?16:-1))},dependencies:[_e,ae,ie,K,X,Y,oe,te,ne,we,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 t})();export{at as a};
1
+ import{a as he,b as be}from"./chunk-ZT23DWNL.js";import{a as _e}from"./chunk-6TCHCTXZ.js";import{o as Ce,w as j}from"./chunk-JU4PP2VY.js";import{a as R}from"./chunk-KHNBODZR.js";import{a as A}from"./chunk-BPMSJ2VF.js";import{a as fe}from"./chunk-JZZQRLNW.js";import{a as me}from"./chunk-KQJ7ONUG.js";import{h as le,i as re,j as se,k as de,l as pe,m as ce,n as ue,o as ge}from"./chunk-ORPWYWCL.js";import{c as K,d as Q,e as X,f as Y,g as Z,j as ee,m as ie,p as te,q as ne,y as ae,z as oe}from"./chunk-QHPDGSZ6.js";import{a as H}from"./chunk-SK5UJRQU.js";import{a as W,d as J}from"./chunk-NZNNTHFQ.js";import{b as N}from"./chunk-V7D5U2P3.js";import{b as E,j as D}from"./chunk-WNVJPPO7.js";import{a as M,b as T}from"./chunk-3IX3CLER.js";import{$b as h,Bc as c,Cc as u,Dc as O,Kb as v,Lb as y,Mb as x,Rb as d,Tb as U,Ub as z,Vb as q,Wb as o,Xb as l,Yb as r,ad as L,cc as m,dc as p,eb as I,h as S,ib as n,kd as G,na as w,nc as g,oc as k,pc as b,rb as V,w as B,xa as _,ya as C,yc as F}from"./chunk-TXOB7R5K.js";function ke(t,s){if(t&1){let e=h();o(0,"button",15),m("click",function(){_(e);let i=p();return C(i.$activeModal.dismiss("Dismiss"))}),g(1),c(2,"translate"),l()}t&2&&(n(),b(" ",u(2,1,"form.button_close")," "))}function Se(t,s){if(t&1){let e=h();o(0,"button",15),m("click",function(){_(e);let i=p();return C(i.$activeModal.dismiss("Dismiss"))}),g(1),c(2,"translate"),l()}t&2&&(n(),b(" ",u(2,1,"form.button_close")," "))}function ye(t,s){if(t&1&&(o(0,"a",14),g(1),c(2,"translate"),r(3,"i",16),l()),t&2){let e=p();x("href",e.plugin.links.homepage||e.plugin.links.npm,I),n(),b(" ",u(2,2,"plugins.button_homepage")," ")}}var xe=(()=>{class t{$activeModal=w(ce);plugin;defaultIcon="assets/hb-icon.png";ngOnInit(){this.plugin.icon||(this.plugin.icon=this.defaultIcon)}handleIconError(){this.plugin.icon=this.defaultIcon}static \u0275fac=function(a){return new(a||t)};static \u0275cmp=V({type:t,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:26,vars:14,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","w-100","text-center"],["alt","Plugin Icon",1,"mb-3","plugin-icon",3,"error","src"],[1,"my-3"],[1,"m-0","grey-text"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-right"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(a,i){a&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),g(3),c(4,"translate"),l(),o(5,"button",3),c(6,"translate"),m("click",function(){return i.$activeModal.dismiss("Dismiss")}),o(7,"span",4),g(8,"\xD7"),l()()(),o(9,"div",5)(10,"img",6),m("error",function(){return i.handleIconError()}),l(),o(11,"h4"),g(12),l(),o(13,"p",7),g(14),l(),o(15,"p",8),g(16),l(),o(17,"p",8),g(18),l()(),o(19,"div",9)(20,"div",10),v(21,ke,3,3,"button",11),l(),o(22,"div",12),v(23,Se,3,3,"button",11),l(),o(24,"div",13),v(25,ye,4,4,"a",14),l()()()),a&2&&(n(3),k(u(4,10,"plugins.manage.information")),n(2),y("aria-label",u(6,12,"form.button_close")),n(5),x("src",i.plugin.icon,I),n(2),k(i.plugin.displayName||i.plugin.name),n(2),k(i.plugin.description),n(2),k(i.plugin.name),n(2),b("@",i.plugin.author,""),n(3),d(i.plugin.links.homepage||i.plugin.links.npm?21:-1),n(2),d(!i.plugin.links.homepage&&!i.plugin.links.npm?23:-1),n(2),d(i.plugin.links.homepage||i.plugin.links.npm?25:-1))},dependencies:[T],styles:[".plugin-icon[_ngcontent-%COMP%]{height:75px;width:75px;border-radius:15px;border:1px solid #222222}"]})}return t})();var Be=(t,s)=>({"fa-bridge-circle-exclamation orange-text":t,"fa-bridge-circle-xmark red-text":s});function Ie(t,s){t&1&&r(0,"i",25)}function Ve(t,s){t&1&&r(0,"i",26)}function Te(t,s){if(t&1){let e=h();o(0,"a",24),m("click",function(){_(e);let i=p();return C(i.openHb2InfoModal())}),v(1,Ie,1,0,"i",25)(2,Ve,1,0,"i",26),l()}if(t&2){let e=p();x("ngbTooltip","Homebridge v2.0 Readiness")("placement","right"),n(),d(e.hb2Status==="supported"?1:-1),n(),d(e.hb2Status==="unknown"?2:-1)}}function $e(t,s){if(t&1){let e=h();o(0,"a",27),c(1,"translate"),c(2,"translate"),m("click",function(){_(e);let i=p();return C(i.$plugin.checkAndUpdatePlugin(i.plugin,i.plugin.updateTag||"latest"))}),r(3,"i",28),l()}t&2&&(x("ngbTooltip",u(1,2,"plugins.button_update")),y("aria-label",u(2,4,"plugins.button_update")))}function Ee(t,s){if(t&1){let e=h();o(0,"a",27),c(1,"translate"),c(2,"translate"),m("click",function(){_(e);let i=p();return C(i.$plugin.switchToScoped(i.plugin))}),r(3,"i",29),l()}t&2&&(x("ngbTooltip",u(1,2,"plugins.manage.scoped.switch")),y("aria-label",u(2,4,"plugins.manage.scoped.switch")))}function Me(t,s){if(t&1){let e=h();o(0,"a",27),c(1,"translate"),c(2,"translate"),m("click",function(){_(e);let i=p();return C(i.$plugin.settings(i.plugin))}),r(3,"i",30),l()}t&2&&(x("ngbTooltip",u(1,2,"plugins.button_set_up")),y("aria-label",u(2,4,"plugins.button_set_up")))}function De(t,s){if(t&1){let e=h();o(0,"a",27),c(1,"translate"),c(2,"translate"),m("click",function(){_(e);let i=p();return C(i.$plugin.bridgeSettings(i.plugin))}),r(3,"i",31),l()}t&2&&(x("ngbTooltip",u(1,2,"child_bridge.setup")),y("aria-label",u(2,4,"child_bridge.setup")))}function Ne(t,s){if(t&1){let e=h();o(0,"a",27),c(1,"translate"),c(2,"translate"),m("click",function(){_(e);let i=p();return C(i.$plugin.bridgeSettings(i.plugin))}),r(3,"i",32),l()}t&2&&(x("ngbTooltip",u(1,2,"child_bridge.bridge_connect")),y("aria-label",u(2,4,"child_bridge.bridge_connect")))}function He(t,s){if(t&1&&r(0,"i",13),t&2){let e=p();x("ngClass",F(1,Be,e.childBridgeStatus==="pending",e.childBridgeStatus==="down"))}}function je(t,s){if(t&1){let e=h();o(0,"p",18)(1,"a",33),m("click",function(){_(e);let i=p();return C(i.openVerifiedModal())}),r(2,"i",34),o(3,"span",17),g(4),c(5,"translate"),l()()()}t&2&&(n(4),k(u(5,1,"plugins.donate.button_verified")))}function Ae(t,s){if(t&1){let e=h();o(0,"p",18)(1,"a",35),m("click",function(){_(e);let i=p();return C(i.openVerifiedModal())}),r(2,"i",36),o(3,"span",17),g(4),c(5,"translate"),l()()()}t&2&&(n(4),k(u(5,1,"plugins.donate.button_not_verified")))}function Re(t,s){if(t&1){let e=h();o(0,"a",37),m("click",function(){_(e);let i=p();return C(i.openFundingModal(i.plugin))}),r(1,"i",38),o(2,"span",17),g(3),l()()}if(t&2){let e=p();n(3),b("@",e.plugin.author,"")}}function Ue(t,s){if(t&1&&(o(0,"span",17),r(1,"i",39),g(2),l()),t&2){let e=p();n(2),b("@",e.plugin.author," ")}}function ze(t,s){if(t&1&&(o(0,"span"),g(1),c(2,"date"),l()),t&2){let e=p(2);n(),b("(",O(2,1,e.plugin.lastUpdated,"yyyy-MM-dd"),")")}}function qe(t,s){if(t&1&&(o(0,"span"),r(1,"i",40),o(2,"span",17),g(3),v(4,ze,3,4,"span"),l()()),t&2){let e=p();n(3),b("v",e.plugin.latestVersion," "),n(),d(e.plugin.lastUpdated?4:-1)}}function Fe(t,s){if(t&1&&(o(0,"span"),r(1,"i",41),g(2),l()),t&2){let e=p();n(2),b("v",e.plugin.installedVersion," ")}}function Oe(t,s){if(t&1){let e=h();o(0,"a",27),c(1,"translate"),m("click",function(){_(e);let i=p();return C(i.doChildBridgeAction("restart"))}),r(2,"i",42),l()}if(t&2){let e=p();x("ngbTooltip",u(1,1,e.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart"))}}function Le(t,s){if(t&1){let e=h();o(0,"a",43),m("click",function(){_(e);let i=p();return C(i.enablePlugin(i.plugin))}),r(1,"i",44),c(2,"translate"),l()}t&2&&(n(),x("ngbTooltip",u(2,1,"plugins.status_disabled")))}function Ge(t,s){if(t&1){let e=h();o(0,"a",45),m("click",function(){_(e);let i=p();return C(i.$plugin.installAlternateVersion(i.plugin))}),r(1,"i",46),l()}}function We(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.viewPluginLog(i.plugin))}),r(1,"i",55),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"plugins.manage.plugin_logs")," "))}function Je(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.$plugin.installAlternateVersion(i.plugin))}),r(1,"i",56),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"plugins.manage.manage_version")," "))}function Ke(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.$plugin.jsonEditor(i.plugin))}),r(1,"i",57),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"plugins.manage.json_config")," "))}function Qe(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.disablePlugin(i.plugin))}),r(1,"i",58),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"plugins.manage.disable")," "))}function Xe(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.enablePlugin(i.plugin))}),r(1,"i",59),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"plugins.manage.enable")," "))}function Ye(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.$plugin.uninstallPlugin(i.plugin,i.setChildBridges))}),r(1,"i",60),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"plugins.button_uninstall")," "))}function Ze(t,s){t&1&&r(0,"div",53)}function ei(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(3);return C(i.doChildBridgeAction("restart"))}),r(1,"i",62),g(2),c(3,"translate"),l()}if(t&2){let e=p(3);n(2),b(" ",u(3,1,e.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart")," ")}}function ii(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(3);return C(i.doChildBridgeAction("stop"))}),r(1,"i",63),g(2),c(3,"translate"),l()}if(t&2){let e=p(3);n(2),b(" ",u(3,1,e.setChildBridges.length>1?"child_bridge.stop_plural":"child_bridge.stop")," ")}}function ti(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(3);return C(i.doChildBridgeAction("start"))}),r(1,"i",64),g(2),c(3,"translate"),l()}if(t&2){let e=p(3);n(2),b(" ",u(3,1,e.setChildBridges.length>1?"child_bridge.start_plural":"child_bridge.start")," ")}}function ni(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(3);return C(i.$plugin.resetChildBridges(i.setChildBridges))}),r(1,"i",65),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"child_bridge.reset_accessories")," "))}function ai(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.$plugin.bridgeSettings(i.plugin))}),r(1,"i",61),g(2),c(3,"translate"),l(),v(4,ei,4,3,"button",52)(5,ii,4,3,"button",52)(6,ti,4,3,"button",52)(7,ni,4,3,"button",52)}if(t&2){let e=p(2);n(2),b(" ",u(3,5,"child_bridge.bridge_settings")," "),n(2),d(e.childBridgeRestartInProgress?-1:4),n(),d(e.allChildBridgesStopped?-1:5),n(),d(e.allChildBridgesStopped?6:-1),n(),d(e.$settings.env.serviceMode?7:-1)}}function oi(t,s){t&1&&r(0,"div",53)}function li(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.$plugin.bridgeSettings(i.plugin))}),r(1,"i",66),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"child_bridge.setup")," "))}function ri(t,s){t&1&&r(0,"div",53)}function si(t,s){if(t&1){let e=h();o(0,"button",50),m("click",function(){_(e);let i=p(2);return C(i.$plugin.bridgeSettings(i.plugin))}),r(1,"i",66),g(2),c(3,"translate"),l()}t&2&&(n(2),b(" ",u(3,1,"child_bridge.setup")," "))}function di(t,s){t&1&&r(0,"div",53)}function pi(t,s){if(t&1&&(o(0,"a",54),r(1,"i",67),g(2),c(3,"translate"),l()),t&2){let e=p(2);x("href",e.plugin.links.bugs,I),n(2),b(" ",u(3,2,"support.links.issue")," ")}}function ci(t,s){if(t&1){let e=h();o(0,"span",23)(1,"a",47),r(2,"i",48),l(),o(3,"div",49)(4,"button",50),m("click",function(){_(e);let i=p();return C(i.$plugin.settings(i.plugin))}),r(5,"i",51),g(6),c(7,"translate"),l(),v(8,We,4,3,"button",52)(9,Je,4,3,"button",52)(10,Ke,4,3,"button",52)(11,Qe,4,3,"button",52)(12,Xe,4,3,"button",52)(13,Ye,4,3,"button",52)(14,Ze,1,0,"div",53)(15,ai,8,7)(16,oi,1,0,"div",53)(17,li,4,3,"button",52)(18,ri,1,0,"div",53)(19,si,4,3,"button",52)(20,di,1,0,"div",53)(21,pi,4,4,"a",54),l()()}if(t&2){let e=p();n(),y("aria-label","Plugin Actions Dropdown"),n(5),b(" ",u(7,16,"plugins.button_settings")," "),n(2),d(e.plugin.isConfigured&&!e.plugin.disabled?8:-1),n(),d(e.plugin.publicPackage?9:-1),n(),d(!e.isMobile&&e.plugin.name!=="homebridge-config-ui-x"?10:-1),n(),d(e.plugin.name!=="homebridge-config-ui-x"&&!e.plugin.disabled?11:-1),n(),d(e.plugin.name!=="homebridge-config-ui-x"&&e.plugin.disabled?12:-1),n(),d(e.plugin.name!=="homebridge-config-ui-x"?13:-1),n(),d(!e.plugin.disabled&&e.plugin.isConfigured&&e.plugin.hasChildBridges&&e.plugin.installedVersion&&e.plugin.name!=="homebridge-config-ui-x"?14:-1),n(),d(e.plugin.hasChildBridges&&!e.plugin.disabled?15:-1),n(),d(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&!e.plugin.recommendChildBridge?16:-1),n(),d(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&!e.plugin.recommendChildBridge?17:-1),n(),d(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&e.plugin.recommendChildBridge&&e.plugin.updateAvailable?18:-1),n(),d(e.plugin.isConfigured&&!e.plugin.hasChildBridges&&!e.plugin.disabled&&e.plugin.recommendChildBridge&&e.plugin.updateAvailable?19:-1),n(),d(e.plugin.links!=null&&e.plugin.links.bugs?20:-1),n(),d(e.plugin.links!=null&&e.plugin.links.bugs?21:-1)}}var we=(()=>{class t{$api=w(E);$md=w(fe);$modal=w(ue);$plugin=w(j);$settings=w(N);$toastr=w(D);$translate=w(M);$ws=w(H);plugin;hasChildBridges=!1;hasUnpairedChildBridges=!1;allChildBridgesStopped=!1;childBridgeStatus="pending";childBridgeRestartInProgress=!1;defaultIcon="assets/hb-icon.png";isMobile;setChildBridges=[];prettyDisplayName="";hb2Status="unknown";io;set childBridges(e){var f,$;this.hasChildBridges=e.length>0,this.hasUnpairedChildBridges=e.filter(P=>P.paired===!1).length>0,this.allChildBridgesStopped=e.filter(P=>P.manuallyStopped===!0).length===e.length,this.hasChildBridges&&(e.some(P=>P.status==="down")?this.childBridgeStatus="down":e.some(P=>P.status==="pending")?this.childBridgeStatus="pending":e.some(P=>P.status==="ok")&&(this.childBridgeStatus="ok")),this.setChildBridges=e;let a=this.$settings.env.homebridgeVersion.split(".")[0],i=(($=(f=this.plugin.engines)==null?void 0:f.homebridge)==null?void 0:$.split("||").map(P=>P.trim()))||[];this.hb2Status=a==="2"?"hide":i.some(P=>P.startsWith("^2")||P.startsWith(">=2"))?"supported":this.hb2Status}ngOnInit(){this.isMobile=this.$md.detect.mobile(),this.prettyDisplayName=this.prettifyName(),this.io=this.$ws.getExistingNamespace("child-bridges"),this.plugin.icon||(this.plugin.icon=this.defaultIcon)}openFundingModal(e){let a=this.$modal.open(be,{size:"lg",backdrop:"static"});a.componentInstance.plugin=e}openVerifiedModal(){let e=this.$modal.open(A,{size:"lg",backdrop:"static"});this.plugin.verifiedPlugin||this.plugin.verifiedPlusPlugin?(e.componentInstance.title=this.$translate.instant("plugins.manage.verified_title"),e.componentInstance.subtitle=this.$translate.instant("plugins.manage.verified_subtitle",{pluginName:this.plugin.displayName||this.plugin.name}),e.componentInstance.message=this.$translate.instant("plugins.manage.verified_message"),e.componentInstance.faIconClass="fa-shield-alt green-text"):(e.componentInstance.title=this.$translate.instant("plugins.manage.unverified_title"),e.componentInstance.subtitle=this.$translate.instant("plugins.manage.unverified_subtitle",{pluginName:this.plugin.displayName||this.plugin.name}),e.componentInstance.message=this.$translate.instant("plugins.manage.unverified_message"),e.componentInstance.faIconClass="fa-shield-alt grey-text"),e.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),e.componentInstance.ctaButtonLink="https://github.com/homebridge/homebridge/wiki/verified-Plugins"}pluginInfoModal(e){let a=this.$modal.open(xe,{size:"lg",backdrop:"static"});a.componentInstance.plugin=e}disablePlugin(e){let a=this.$modal.open(he,{size:"lg",backdrop:"static"});a.componentInstance.pluginName=e.name,a.componentInstance.isConfigured=e.isConfigured,a.componentInstance.isConfiguredDynamicPlatform=e.isConfiguredDynamicPlatform,a.result.then(()=>S(this,null,function*(){try{yield B(this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/disable`,{})),e.disabled=!0,this.hasChildBridges&&this.doChildBridgeAction("stop"),this.$modal.open(R,{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 a=this.$modal.open(me,{size:"lg",backdrop:"static"});a.componentInstance.title=`${this.$translate.instant("plugins.manage.enable")}: ${e.name}`,a.componentInstance.message=this.$translate.instant("plugins.manage.confirm_enable",{pluginName:e.name}),a.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.enable"),a.componentInstance.faIconClass="fa-circle-play primary-text",a.result.then(()=>S(this,null,function*(){try{yield B(this.$api.put(`/config-editor/plugin/${encodeURIComponent(e.name)}/enable`,{})),e.disabled=!1,this.hasChildBridges&&(yield this.doChildBridgeAction("start")),this.$modal.open(R,{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 a=this.$modal.open(Ce,{size:"xl",backdrop:"static"});a.componentInstance.plugin=e}doChildBridgeAction(e){return S(this,null,function*(){this.childBridgeRestartInProgress=!0;try{for(let a of this.setChildBridges)yield B(this.io.request(`${e}-child-bridge`,a.username))}catch(a){console.error(a),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}prettifyName(){let e=this.plugin.displayName||(this.plugin.name.charAt(0)==="@"?this.plugin.name.split("/")[1]:this.plugin.name);return e=e.replace(/-/g," "),this.isMobile&&e.toLowerCase().startsWith("homebridge ")&&(e=e.replace(/^homebridge /i,"")),this.plugin.displayName||(e=e.replace(/\w\S*/g,a=>a.charAt(0).toUpperCase()+a.substring(1).toLowerCase())),e}openHb2InfoModal(){let e=this.$modal.open(A,{size:"lg",backdrop:"static"});e.componentInstance.title="Plugin Readiness",this.hb2Status==="supported"?(e.componentInstance.subtitle=`${this.plugin.displayName||this.plugin.name} is ready for Homebridge v2.0`,e.componentInstance.message="The developer has specifically marked your installed version of the plugin as compatible with Homebridge v2.0.",e.componentInstance.faIconClass="fa-check-circle green-text"):(e.componentInstance.subtitle=`${this.plugin.displayName||this.plugin.name} might not be ready for Homebridge v2.0`,e.componentInstance.message="The developer has not specifically marked your installed version of the plugin as compatible with Homebridge v2.0, but it may still work.",e.componentInstance.faIconClass="fa-question-circle orange-text"),e.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),e.componentInstance.ctaButtonLink="https://github.com/homebridge/homebridge/wiki/Updating-To-Homebridge-v2.0"}static \u0275fac=function(a){return new(a||t)};static \u0275cmp=V({type:t,selectors:[["app-plugin-card"]],inputs:{plugin:"plugin",childBridges:"childBridges"},decls:38,vars:21,consts:[[1,"card","card-body","mb-3"],[1,"d-flex","flex-row","justify-content-between"],[1,"d-flex","flex-column","mr-3","align-items-center","justify-content-between"],["alt","Plugin Icon",1,"plugin-icon-card","mb-3",3,"error","src"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover","aria-label","Homebridge v2.0 Readiness",3,"ngbTooltip","placement"],[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,"ml-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","ml-3",3,"hidden"],[1,"fas","fa-fw","fa-lg","ml-3",3,"ngClass"],[1,"card-text","mb-2","text-truncate"],["href","javascript:void(0)",1,"card-link","grey-text",3,"click"],[1,"fas","fa-fw","fa-info-circle","fa-lg","mr-1"],[1,"grey-text"],[1,"card-text","mb-2"],["href","javascript:void(0)",1,"card-link","pink-text"],[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","ml-3","mt-auto"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover","aria-label","Homebridge v2.0 Readiness",3,"click","ngbTooltip","placement"],["aria-label","The developer has specifically marked this plugin as compatible with Homebridge v2.0",1,"fas","fa-check-circle","green-text","fa-xl"],["aria-label","The developer has not specifically marked this plugin as compatible with Homebridge v2.0, but it may still work.",1,"fas","fa-question-circle","orange-text","fa-xl"],["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","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-arrow-right-arrow-left","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-sliders","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-bridge","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-qrcode","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],["href","javascript:void(0)",1,"card-link","green-text",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","mr-1"],["href","javascript:void(0)",1,"card-link",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","mr-1",2,"opacity","0.25"],["href","javascript:void(0)",1,"card-link","pink-text",3,"click"],[1,"fas","fa-fw","fa-heart","fa-lg","mr-1"],[1,"fas","fa-fw","fa-heart","fa-lg","mr-1",2,"opacity","0.5"],[1,"far","fa-fw","fa-circle-dot","fa-lg","mr-1"],[1,"far","fa-fw","fa-circle-check","fa-lg","mr-1"],[1,"fas","fa-fw","fa-lg","fa-power-off","ml-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,"fa-fw","icon-button","fas","fa-fw","fa-power-off"],[1,"fas","fa-fw","fa-stop"],[1,"fas","fa-fw","fa-play"],[1,"fas","fa-fw","fa-broom"],[1,"icon-button","fas","fa-fw","fa-bridge"],[1,"icon-button","fa","fa-fw","fa-question-circle-o"]],template:function(a,i){a&1&&(o(0,"div",0)(1,"div",1)(2,"div",2)(3,"img",3),m("error",function(){return i.handleIconError()}),l(),v(4,Te,3,4,"a",4),l(),o(5,"div",5)(6,"div",6)(7,"div",7)(8,"div",8)(9,"h5",9),g(10),l(),o(11,"div",10),v(12,$e,4,6,"a",11)(13,Ee,4,6,"a",11)(14,Me,4,6,"a",11)(15,De,4,6,"a",11)(16,Ne,4,6,"a",11),r(17,"i",12),v(18,He,1,4,"i",13),l()(),o(19,"p",14)(20,"a",15),m("click",function(){return i.pluginInfoModal(i.plugin)}),r(21,"i",16),o(22,"span",17),g(23),l()()(),v(24,je,6,3,"p",18)(25,Ae,6,3,"p",18),o(26,"p",18),v(27,Re,4,1,"a",19)(28,Ue,3,1,"span",17),l(),o(29,"div",8)(30,"p",20),v(31,qe,5,2,"span")(32,Fe,3,1,"span"),l(),o(33,"div",10),v(34,Oe,3,3,"a",11)(35,Le,3,3,"a",21)(36,Ge,2,0,"a",22)(37,ci,22,18,"span",23),l()()()()()()()),a&2&&(n(3),x("src",i.plugin.icon,I),n(),d(i.plugin.installedVersion&&i.hb2Status!=="hide"?4:-1),n(6),k(i.prettyDisplayName),n(2),d(i.plugin.installedVersion&&i.plugin.updateAvailable&&!i.childBridgeRestartInProgress?12:-1),n(),d(i.plugin.installedVersion&&(i.plugin.newHbScope==null?null:i.plugin.newHbScope.switch)===i.plugin.installedVersion&&!i.childBridgeRestartInProgress?13:-1),n(),d(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&!i.plugin.isConfigured&&!i.childBridgeRestartInProgress?14:-1),n(),d(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?15:-1),n(),d(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?16:-1),n(),x("hidden",!i.childBridgeRestartInProgress),n(),d(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?18:-1),n(5),k(i.plugin.name),n(),d(i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin?24:-1),n(),d(!i.plugin.verifiedPlugin&&!i.plugin.verifiedPlusPlugin?25:-1),n(2),d((i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)&&i.plugin.funding?27:-1),n(),d((i.plugin.verifiedPlugin||i.plugin.verifiedPlusPlugin)&&i.plugin.funding?-1:28),n(3),d(i.plugin.publicPackage&&!i.plugin.installedVersion?31:-1),n(),d(i.plugin.installedVersion?32:-1),n(2),d(!i.plugin.disabled&&i.plugin.hasChildBridges&&i.childBridgeStatus==="ok"?34:-1),n(),d(i.plugin.installedVersion&&i.plugin.disabled?35:-1),n(),d(i.plugin.publicPackage&&!i.plugin.installedVersion?36:-1),n(),d(i.plugin.installedVersion?37:-1))},dependencies:[ge,L,pe,de,se,re,le,G,T],encapsulation:2})}return t})();function ui(t,s){t&1&&r(0,"app-spinner")}function gi(t,s){t&1&&r(0,"i",8)}function mi(t,s){if(t&1&&(o(0,"div",10),r(1,"app-plugin-card",12),l()),t&2){let e=s.$implicit,a=p();n(),x("plugin",e)("childBridges",a.getPluginChildBridges(e))}}function fi(t,s){t&1&&(o(0,"div",11),r(1,"i",13),o(2,"p"),g(3),c(4,"translate"),l()()),t&2&&(n(3),k(u(4,1,"plugins.placeholder_search_first")))}var at=(()=>{class t{$api=w(E);$plugin=w(j);$router=w(J);$settings=w(N);$toastr=w(D);$translate=w(M);$ws=w(H);loading=!0;installedPlugins=[];childBridges=[];form=new Z({query:new ee("",[Q.required])});io;navigationSubscription;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"),yield this.loadInstalledPlugins();let e=this.$router.parseUrl(this.$router.url).queryParams.installed;if(e){let a=this.installedPlugins.find(i=>i.name===e);a&&!a.isConfigured&&this.$plugin.settings(a),this.$router.navigate(["/plugins"])}})),this.io.socket.on("child-bridge-status-update",e=>{let a=this.childBridges.find(i=>i.username===e.username);a?Object.assign(a,e):this.childBridges.push(e)}),this.navigationSubscription=this.$router.events.subscribe(e=>{e instanceof W&&this.loadInstalledPlugins()})})}loadInstalledPlugins(){return S(this,null,function*(){this.form.setValue({query:""}),this.installedPlugins=[],this.loading=!0;try{let e=yield B(this.$api.get("/plugins"));this.installedPlugins=e.filter(i=>i.name!=="homebridge-config-ui-x"),yield this.appendMetaInfo();let a=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,a}catch(e){console.error(e),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 a=yield B(this.$api.get(`/config-editor/plugin/${encodeURIComponent(e.name)}`));e.isConfigured=a.length>0,e.isConfiguredDynamicPlatform=e.isConfigured&&Object.prototype.hasOwnProperty.call(a[0],"platform"),e.recommendChildBridge=e.isConfiguredDynamicPlatform&&this.$settings.env.recommendChildBridges&&this.$settings.env.serviceMode&&!["homebridge","homebridge-config-ui-x"].includes(e.name),e.hasChildBridges=e.isConfigured&&a.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.$api.get(`/plugins/search/${encodeURIComponent(this.form.value.query)}`).subscribe({next:e=>{let a=new Set;this.installedPlugins=e.sort((i,f)=>i.newHbScope&&!f.newHbScope?-1:!i.newHbScope&&f.newHbScope?1:0).reduce((i,f)=>{if(f.name==="homebridge-config-ui-x"||a.has(f.name))return i;if(f.newHbScope){let $=f.newHbScope.to,P=e.some(Pe=>Pe.name===$);(f.installedVersion||!P)&&(a.add($),i.push(f))}else i.push(f);return i},[]).sort((i,f)=>i.installedVersion!==f.installedVersion?i.installedVersion?-1:1:0),this.appendMetaInfo(),this.loading=!1},error:e=>{this.loading=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error")),this.loadInstalledPlugins()}})}onClearSearch(){this.form.setValue({query:""}),this.loadInstalledPlugins()}onSubmit({value:e}){e.query.length?this.search():this.loadInstalledPlugins()}getChildBridgeMetadata(){this.io.request("get-homebridge-child-bridge-status").subscribe(e=>{this.childBridges=e})}getPluginChildBridges(e){return this.childBridges.filter(a=>a.plugin===e.name)}ngOnDestroy(){this.navigationSubscription&&this.navigationSubscription.unsubscribe(),this.io.end()}static \u0275fac=function(a){return new(a||t)};static \u0275cmp=V({type:t,selectors:[["ng-component"]],decls:17,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",3,"click"],[1,"far","fa-fw","fa-times-circle"],[1,"d-flex","flex-wrap","justify-content-between"],[1,"hb-plugin-space-between"],[1,"alert","alert-info","mt-4","text-center","w-100"],[3,"plugin","childBridges"],[1,"fas","fa-fw","fa-magnifying-glass","primary-text","my-3",2,"font-size","75px"]],template:function(a,i){a&1&&(v(0,ui,1,0,"app-spinner"),o(1,"div",0)(2,"div",1)(3,"h3",2),g(4),c(5,"translate"),l()()(),o(6,"div",3)(7,"div",4)(8,"form",5),m("ngSubmit",function(){return i.onSubmit(i.form)}),r(9,"input",6),c(10,"translate"),o(11,"a",7),m("click",function(){return i.onClearSearch()}),v(12,gi,1,0,"i",8),l()()()(),o(13,"div",9),z(14,mi,2,2,"div",10,U),v(16,fi,5,3,"div",11),l()),a&2&&(d(i.loading?0:-1),n(4),k(u(5,6,"menu.label_plugins")),n(4),x("formGroup",i.form),n(),x("placeholder",u(10,8,"plugins.placeholder_search_plugin")),n(3),d(i.form.controls.query.value?12:-1),n(2),q(i.installedPlugins),n(2),d(i.installedPlugins.length===0&&!i.loading?16:-1))},dependencies:[_e,ae,ie,K,X,Y,oe,te,ne,we,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 t})();export{at as a};
@@ -1 +1 @@
1
- import{a as C,b as y,c as $,d as j}from"./chunk-XEVIOBJR.js";import"./chunk-QE7DO6J3.js";import{q as h}from"./chunk-ORPWYWCL.js";import{y as g,z as v}from"./chunk-QHPDGSZ6.js";import{d as U,g as n}from"./chunk-NZNNTHFQ.js";import"./chunk-SJHJKPSQ.js";import"./chunk-UC2NMLJ6.js";import{b as c,j as M}from"./chunk-M3N7PSSC.js";import"./chunk-UG5DK2RQ.js";import{a as u,c as d}from"./chunk-3IX3CLER.js";import{h as a,ha as f,ia as i,md as l,na as e,sb as s,w as p}from"./chunk-TXOB7R5K.js";var m=(()=>{class r{$api=e(c);$router=e(U);$toastr=e(M);$translate=e(u);resolve(){return a(this,null,function*(){try{return yield p(this.$api.get("/users"))}catch(o){console.error(o),this.$toastr.error(o.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(t){return new(t||r)};static \u0275prov=f({token:r,factory:r.\u0275fac})}return r})();var F=[{path:"",loadComponent:()=>import("./chunk-I544XQGS.js").then(r=>r.UsersComponent),resolve:{homebridgeUsers:m}}],b=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275mod=s({type:r});static \u0275inj=i({imports:[n.forChild(F),n]})}return r})();var Y=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275mod=s({type:r});static \u0275inj=i({providers:[m],imports:[l,g,v,d.forChild(),h,b,$,j,y,C]})}return r})();export{Y as UsersModule};
1
+ import{a as C,b as y,c as $,d as j}from"./chunk-4N3YQA7W.js";import"./chunk-QE7DO6J3.js";import{q as h}from"./chunk-ORPWYWCL.js";import{y as g,z as v}from"./chunk-QHPDGSZ6.js";import{d as U,g as n}from"./chunk-NZNNTHFQ.js";import"./chunk-YP7JWH3J.js";import"./chunk-V7D5U2P3.js";import{b as c,j as M}from"./chunk-WNVJPPO7.js";import"./chunk-UG5DK2RQ.js";import{a as u,c as d}from"./chunk-3IX3CLER.js";import{h as a,ha as f,ia as i,md as l,na as e,sb as s,w as p}from"./chunk-TXOB7R5K.js";var m=(()=>{class r{$api=e(c);$router=e(U);$toastr=e(M);$translate=e(u);resolve(){return a(this,null,function*(){try{return yield p(this.$api.get("/users"))}catch(o){console.error(o),this.$toastr.error(o.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(t){return new(t||r)};static \u0275prov=f({token:r,factory:r.\u0275fac})}return r})();var F=[{path:"",loadComponent:()=>import("./chunk-OOHFQB4Z.js").then(r=>r.UsersComponent),resolve:{homebridgeUsers:m}}],b=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275mod=s({type:r});static \u0275inj=i({imports:[n.forChild(F),n]})}return r})();var Y=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275mod=s({type:r});static \u0275inj=i({providers:[m],imports:[l,g,v,d.forChild(),h,b,$,j,y,C]})}return r})();export{Y as UsersModule};
@@ -0,0 +1 @@
1
+ import{f as a}from"./chunk-XLY5QPTN.js";import"./chunk-MPVSAJDU.js";import"./chunk-UAQGK64S.js";import"./chunk-WHJSVGC7.js";import"./chunk-6TCHCTXZ.js";import"./chunk-JU4PP2VY.js";import"./chunk-KHNBODZR.js";import"./chunk-7EUQWCP5.js";import"./chunk-WNWWUCCZ.js";import"./chunk-6HR4EKFX.js";import"./chunk-CCUID66K.js";import"./chunk-QE7DO6J3.js";import"./chunk-BKUGARB4.js";import"./chunk-BPMSJ2VF.js";import"./chunk-WHJOLAED.js";import"./chunk-JZZQRLNW.js";import"./chunk-KQJ7ONUG.js";import"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-SK5UJRQU.js";import"./chunk-NZNNTHFQ.js";import"./chunk-YP7JWH3J.js";import"./chunk-V7D5U2P3.js";import"./chunk-WNVJPPO7.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as StatusComponent};
@@ -0,0 +1 @@
1
+ import{b as a}from"./chunk-52L2LAHB.js";import"./chunk-UAQGK64S.js";import"./chunk-JZZQRLNW.js";import"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-SK5UJRQU.js";import"./chunk-YP7JWH3J.js";import"./chunk-V7D5U2P3.js";import"./chunk-WNVJPPO7.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as AccessoriesComponent};
@@ -1,4 +1,4 @@
1
- import{a as O}from"./chunk-7EUQWCP5.js";import{a as L}from"./chunk-JZZQRLNW.js";import{c as P,e as I,l as D,y as H}from"./chunk-QHPDGSZ6.js";import{b as T}from"./chunk-NZNNTHFQ.js";import{b as $}from"./chunk-UC2NMLJ6.js";import{b as y,j as k}from"./chunk-M3N7PSSC.js";import{a as E}from"./chunk-3IX3CLER.js";import{$b as g,Kb as h,Mb as f,Rb as d,Wb as m,Xb as l,Yb as w,cc as _,dc as a,h as S,ib as s,na as r,nc as v,rb as x,sc as b,tc as M,uc as V,w as C,xa as c,ya as p}from"./chunk-TXOB7R5K.js";function z(i,u){i&1&&w(0,"i",6)}function A(i,u){i&1&&w(0,"i",7)}function F(i,u){if(i&1){let t=g();m(0,"ngx-monaco-editor",10),_("onInit",function(e){c(t);let o=a();return p(o.onEditorInit(e))})("keydown.control.s",function(e){c(t);let o=a();return e.preventDefault(),p(o.onSave())})("keydown.meta.s",function(e){c(t);let o=a();return e.preventDefault(),p(o.onSave())}),l()}if(i&2){let t=a();f("options",t.editorOptions)("model",t.monacoEditorModel)}}function W(i,u){if(i&1){let t=g();m(0,"textarea",11),V("ngModelChange",function(e){c(t);let o=a();return M(o.startupScript,e)||(o.startupScript=e),p(e)}),v(1," "),l()}if(i&2){let t=a();b("ngModel",t.startupScript)}}var tt=(()=>{class i{$api=r(y);$md=r(L);$route=r(T);$settings=r($);$toastr=r(k);$translate=r(E);startupScript;saveInProgress;isMobile=!1;options={printMargin:!1};monacoEditor;editorOptions;monacoEditorModel;lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"shell",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0},this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.$route.data.subscribe(t=>{this.startupScript=t.startupScript.script}),this.monacoEditorModel={value:"",language:"shell"}}onEditorInit(t){this.monacoEditor=t,this.monacoEditor.getModel().setValue(this.startupScript)}onSave(){return S(this,null,function*(){if(!this.saveInProgress){if(this.saveInProgress=!0,this.isMobile||(yield this.monacoEditor.getAction("editor.action.formatDocument").run(),this.startupScript=this.monacoEditor.getModel().getValue()),!["#!/bin/sh","#!/bin/bash"].includes(this.startupScript.split(`
1
+ import{a as O}from"./chunk-7EUQWCP5.js";import{a as L}from"./chunk-JZZQRLNW.js";import{c as P,e as I,l as D,y as H}from"./chunk-QHPDGSZ6.js";import{b as T}from"./chunk-NZNNTHFQ.js";import{b as $}from"./chunk-V7D5U2P3.js";import{b as y,j as k}from"./chunk-WNVJPPO7.js";import{a as E}from"./chunk-3IX3CLER.js";import{$b as g,Kb as h,Mb as f,Rb as d,Wb as m,Xb as l,Yb as w,cc as _,dc as a,h as S,ib as s,na as r,nc as v,rb as x,sc as b,tc as M,uc as V,w as C,xa as c,ya as p}from"./chunk-TXOB7R5K.js";function z(i,u){i&1&&w(0,"i",6)}function A(i,u){i&1&&w(0,"i",7)}function F(i,u){if(i&1){let t=g();m(0,"ngx-monaco-editor",10),_("onInit",function(e){c(t);let o=a();return p(o.onEditorInit(e))})("keydown.control.s",function(e){c(t);let o=a();return e.preventDefault(),p(o.onSave())})("keydown.meta.s",function(e){c(t);let o=a();return e.preventDefault(),p(o.onSave())}),l()}if(i&2){let t=a();f("options",t.editorOptions)("model",t.monacoEditorModel)}}function W(i,u){if(i&1){let t=g();m(0,"textarea",11),V("ngModelChange",function(e){c(t);let o=a();return M(o.startupScript,e)||(o.startupScript=e),p(e)}),v(1," "),l()}if(i&2){let t=a();b("ngModel",t.startupScript)}}var tt=(()=>{class i{$api=r(y);$md=r(L);$route=r(T);$settings=r($);$toastr=r(k);$translate=r(E);startupScript;saveInProgress;isMobile=!1;options={printMargin:!1};monacoEditor;editorOptions;monacoEditorModel;lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"shell",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0},this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.$route.data.subscribe(t=>{this.startupScript=t.startupScript.script}),this.monacoEditorModel={value:"",language:"shell"}}onEditorInit(t){this.monacoEditor=t,this.monacoEditor.getModel().setValue(this.startupScript)}onSave(){return S(this,null,function*(){if(!this.saveInProgress){if(this.saveInProgress=!0,this.isMobile||(yield this.monacoEditor.getAction("editor.action.formatDocument").run(),this.startupScript=this.monacoEditor.getModel().getValue()),!["#!/bin/sh","#!/bin/bash"].includes(this.startupScript.split(`
2
2
  `)[0].trim())){this.$toastr.error(this.$translate.instant("platform.docker.must_use_hashbang"),this.$translate.instant("toast.title_error")),this.startupScript=`#!/bin/sh
3
3
 
4
4
  ${this.startupScript}`,this.isMobile||this.monacoEditor.getModel().setValue(this.startupScript),this.saveInProgress=!1;return}try{yield C(this.$api.put("/platform-tools/docker/startup-script",{script:this.startupScript})),this.$toastr.success(this.$translate.instant("platform.docker.restart_required"),this.$translate.instant("platform.docker.script_saved"))}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}visualViewPortChanged(){this.lastHeight<window.visualViewport.height&&document.activeElement.blur(),window.visualViewport.height<window.innerHeight?(this.$md.enableTouchMove(),this.lastHeight=window.visualViewport.height):window.visualViewport.height===window.innerHeight&&(this.$md.disableTouchMove(),this.lastHeight=window.visualViewport.height)}ngOnDestroy(){window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove()),this.monacoEditor&&this.monacoEditor.dispose()}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=x({type:i,selectors:[["ng-component"]],decls:11,vars:5,consts:[[1,"flex-column","d-flex","align-items-stretch","h-100"],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0","text-monospace"],[1,"col-6","text-right"],[1,"btn","btn-primary","waves-effect","m-0",3,"click","disabled"],[1,"fas","fa-fw","fa-floppy-disk"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"flex-grow-1","h-100","w-100","my-2",3,"options","model"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-2",3,"ngModel"],[1,"flex-grow-1","h-100","w-100","my-2",3,"onInit","keydown.control.s","keydown.meta.s","options","model"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-2",3,"ngModelChange","ngModel"]],template:function(n,e){n&1&&(m(0,"div",0)(1,"div",1)(2,"div",2)(3,"h3",3),v(4,"startup.sh"),l()(),m(5,"div",4)(6,"button",5),_("click",function(){return e.onSave()}),h(7,z,1,0,"i",6)(8,A,1,0,"i",7),l()()(),h(9,F,1,2,"ngx-monaco-editor",8)(10,W,2,1,"textarea",9),l()),n&2&&(s(6),f("disabled",e.saveInProgress),s(),d(e.saveInProgress?-1:7),s(),d(e.saveInProgress?8:-1),s(),d(e.isMobile?-1:9),s(),d(e.isMobile?10:-1))},dependencies:[O,H,P,I,D],encapsulation:2})}return i})();export{tt as a};
@@ -1 +1 @@
1
- import{a as h}from"./chunk-4WTXJHZA.js";import{b}from"./chunk-3IX3CLER.js";import{Bc as y,Cc as T,Gb as c,Wb as r,Xb as o,Yb as p,cc as u,gb as l,ib as s,kc as f,lc as v,n as m,na as a,nc as g,oc as w,rb as d}from"./chunk-TXOB7R5K.js";var C=["terminaloutput"],k=(()=>{class t{$terminal=a(h);termTarget=c("terminaloutput");resizeEvent=new m;onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$terminal.startTerminal(this.termTarget(),{},this.resizeEvent),this.$terminal.term.focus()}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$terminal.destroyTerminal()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=d({type:t,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&f(n.termTarget,C,5),e&2&&v()},hostBindings:function(e,n){e&1&&u("resize",function(x){return n.onWindowResize(x)},!1,l)},decls:8,vars:3,consts:[["terminaloutput",""],[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","docker-terminal",1,"align-self-end","w-100","h-100","mb-1"]],template:function(e,n){e&1&&(r(0,"div",1)(1,"div",2)(2,"h3",3),g(3),y(4,"translate"),o()()(),r(5,"div",4),p(6,"div",5,0),o()),e&2&&(s(3),w(T(4,1,"menu.linux.label_terminal")))},dependencies:[b],encapsulation:2})}return t})();export{k as a};
1
+ import{a as h}from"./chunk-MPVSAJDU.js";import{b}from"./chunk-3IX3CLER.js";import{Bc as y,Cc as T,Gb as c,Wb as r,Xb as o,Yb as p,cc as u,gb as l,ib as s,kc as f,lc as v,n as m,na as a,nc as g,oc as w,rb as d}from"./chunk-TXOB7R5K.js";var C=["terminaloutput"],k=(()=>{class t{$terminal=a(h);termTarget=c("terminaloutput");resizeEvent=new m;onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$terminal.startTerminal(this.termTarget(),{},this.resizeEvent),this.$terminal.term.focus()}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$terminal.destroyTerminal()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=d({type:t,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&f(n.termTarget,C,5),e&2&&v()},hostBindings:function(e,n){e&1&&u("resize",function(x){return n.onWindowResize(x)},!1,l)},decls:8,vars:3,consts:[["terminaloutput",""],[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","docker-terminal",1,"align-self-end","w-100","h-100","mb-1"]],template:function(e,n){e&1&&(r(0,"div",1)(1,"div",2)(2,"h3",3),g(3),y(4,"translate"),o()()(),r(5,"div",4),p(6,"div",5,0),o()),e&2&&(s(3),w(T(4,1,"menu.linux.label_terminal")))},dependencies:[b],encapsulation:2})}return t})();export{k as a};
@@ -1 +1 @@
1
- import{A as N,B as x,C as D,D as W,E as I,F as j,G as O,H as V,I as q,J as B,K as G,L as R,M as U,N as z,O as E,P as J,Q as K,R as P,S as Q,T as X,b as f,c as a,g as C,h as s,i as d,j as c,k as u,l,m as g,n as M,o as y,p as h,q as v,r as S,s as b,t as w,u as A,v as F,w as k,x as T,y as H,z as L}from"./chunk-XXJO3JY3.js";import{b as Y}from"./chunk-WNWWUCCZ.js";import{q as p}from"./chunk-ORPWYWCL.js";import{y as t,z as i}from"./chunk-QHPDGSZ6.js";import{c as n}from"./chunk-3IX3CLER.js";import{ia as m,md as e,sb as r}from"./chunk-TXOB7R5K.js";var Cm=(()=>{class o{static \u0275fac=function(Z){return new(Z||o)};static \u0275mod=r({type:o});static \u0275inj=m({providers:[a],imports:[e,t,i,n.forChild(),C,p,Y,X,f,B,q,R,D,h,v,U,T,k,H,L,S,N,x,c,Q,P,K,J,y,M,G,g,V,O,I,W,F,j,E,z,A,d,s,b,w,l,u]})}return o})();export{Cm as a};
1
+ import{A as N,B as x,C as D,D as W,E as I,F as j,G as O,H as V,I as q,J as B,K as G,L as R,M as U,N as z,O as E,P as J,Q as K,R as P,S as Q,T as X,b as f,c as a,g as C,h as s,i as d,j as c,k as u,l,m as g,n as M,o as y,p as h,q as v,r as S,s as b,t as w,u as A,v as F,w as k,x as T,y as H,z as L}from"./chunk-UAQGK64S.js";import{b as Y}from"./chunk-WNWWUCCZ.js";import{q as p}from"./chunk-ORPWYWCL.js";import{y as t,z as i}from"./chunk-QHPDGSZ6.js";import{c as n}from"./chunk-3IX3CLER.js";import{ia as m,md as e,sb as r}from"./chunk-TXOB7R5K.js";var Cm=(()=>{class o{static \u0275fac=function(Z){return new(Z||o)};static \u0275mod=r({type:o});static \u0275inj=m({providers:[a],imports:[e,t,i,n.forChild(),C,p,Y,X,f,B,q,R,D,h,v,U,T,k,H,L,S,N,x,c,Q,P,K,J,y,M,G,g,V,O,I,W,F,j,E,z,A,d,s,b,w,l,u]})}return o})();export{Cm as a};
@@ -1 +1 @@
1
- import{a as R}from"./chunk-D6RX5SPU.js";import"./chunk-G4CGNDAD.js";import{c as g}from"./chunk-7EUQWCP5.js";import"./chunk-JZZQRLNW.js";import{q as C}from"./chunk-ORPWYWCL.js";import{y as S,z as v}from"./chunk-QHPDGSZ6.js";import"./chunk-GETFKFI6.js";import{d as h,g as n}from"./chunk-NZNNTHFQ.js";import"./chunk-SJHJKPSQ.js";import"./chunk-UC2NMLJ6.js";import{b as f,j as M}from"./chunk-M3N7PSSC.js";import"./chunk-UG5DK2RQ.js";import{a as u,c as d}from"./chunk-3IX3CLER.js";import{h as p,ha as c,ia as i,md as l,na as e,sb as a,w as s}from"./chunk-TXOB7R5K.js";var m=(()=>{class t{$api=e(f);$router=e(h);$toastr=e(M);$translate=e(u);resolve(){return p(this,null,function*(){try{return yield s(this.$api.get("/platform-tools/docker/startup-script"))}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(o){return new(o||t)};static \u0275prov=c({token:t,factory:t.\u0275fac})}return t})();var j=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"startup-script",loadComponent:()=>import("./chunk-J3XWQZ5N.js").then(t=>t.StartupScriptComponent),resolve:{startupScript:m}},{path:"restart-container",loadComponent:()=>import("./chunk-5HCG4CER.js").then(t=>t.ContainerRestartComponent)}],$=(()=>{class t{static \u0275fac=function(o){return new(o||t)};static \u0275mod=a({type:t});static \u0275inj=i({imports:[n.forChild(j),n]})}return t})();var Q=(()=>{class t{static \u0275fac=function(o){return new(o||t)};static \u0275mod=a({type:t});static \u0275inj=i({providers:[m],imports:[l,S,v,g,C,d.forChild(),$,R]})}return t})();export{Q as DockerModule};
1
+ import{a as R}from"./chunk-BVNJ63AC.js";import"./chunk-WP6BKFEA.js";import{c as g}from"./chunk-7EUQWCP5.js";import"./chunk-JZZQRLNW.js";import{q as C}from"./chunk-ORPWYWCL.js";import{y as S,z as v}from"./chunk-QHPDGSZ6.js";import"./chunk-SK5UJRQU.js";import{d as h,g as n}from"./chunk-NZNNTHFQ.js";import"./chunk-YP7JWH3J.js";import"./chunk-V7D5U2P3.js";import{b as f,j as M}from"./chunk-WNVJPPO7.js";import"./chunk-UG5DK2RQ.js";import{a as u,c as d}from"./chunk-3IX3CLER.js";import{h as p,ha as c,ia as i,md as l,na as e,sb as a,w as s}from"./chunk-TXOB7R5K.js";var m=(()=>{class t{$api=e(f);$router=e(h);$toastr=e(M);$translate=e(u);resolve(){return p(this,null,function*(){try{return yield s(this.$api.get("/platform-tools/docker/startup-script"))}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(o){return new(o||t)};static \u0275prov=c({token:t,factory:t.\u0275fac})}return t})();var j=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"startup-script",loadComponent:()=>import("./chunk-3JROOWCZ.js").then(t=>t.StartupScriptComponent),resolve:{startupScript:m}},{path:"restart-container",loadComponent:()=>import("./chunk-V2TYBIZV.js").then(t=>t.ContainerRestartComponent)}],$=(()=>{class t{static \u0275fac=function(o){return new(o||t)};static \u0275mod=a({type:t});static \u0275inj=i({imports:[n.forChild(j),n]})}return t})();var Q=(()=>{class t{static \u0275fac=function(o){return new(o||t)};static \u0275mod=a({type:t});static \u0275inj=i({providers:[m],imports:[l,S,v,g,C,d.forChild(),$,R]})}return t})();export{Q as DockerModule};
@@ -1 +1 @@
1
- import{b as _,j as S}from"./chunk-M3N7PSSC.js";import{a as h,b as w}from"./chunk-3IX3CLER.js";import{Bc as s,Cc as m,Kb as f,Rb as d,Wb as n,Xb as i,Yb as u,dc as v,ib as e,na as p,nc as o,oc as a,rb as x}from"./chunk-TXOB7R5K.js";function C(t,y){t&1&&(n(0,"p",7),o(1),s(2,"translate"),i()),t&2&&(e(),a(m(2,1,"platform.linux.server_will_power_down")))}function g(t,y){if(t&1&&(n(0,"div",8),o(1),i()),t&2){let r=v();e(),a(r.error)}}var B=(()=>{class t{$api=p(_);$toastr=p(S);$translate=p(h);error=!1;ngOnInit(){this.$api.put("/platform-tools/linux/shutdown-host",{}).subscribe({error:r=>{console.error(r),this.error=this.$translate.instant("platform.linux.server_restart_error"),this.$toastr.error(this.$translate.instant("platform.linux.server_restart_error"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(l){return new(l||t)};static \u0275cmp=x({type:t,selectors:[["ng-component"]],decls:13,vars:8,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-fw","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"grey-text"],[1,"alert","alert-error","my-4"]],template:function(l,c){l&1&&(n(0,"div",0)(1,"h3",1),o(2),s(3,"translate"),i()(),n(4,"div",2)(5,"div",3),u(6,"i",4),i(),n(7,"div",5)(8,"h4",6),o(9),s(10,"translate"),i(),f(11,C,3,3,"p",7)(12,g,2,1,"div",8),i()()),l&2&&(e(2),a(m(3,4,"menu.restart.title")),e(7),a(m(10,6,"platform.linux.shutting_down_server")),e(2),d(c.error?-1:11),e(),d(c.error?12:-1))},dependencies:[w],encapsulation:2})}return t})();export{B as a};
1
+ import{b as _,j as S}from"./chunk-WNVJPPO7.js";import{a as h,b as w}from"./chunk-3IX3CLER.js";import{Bc as s,Cc as m,Kb as f,Rb as d,Wb as n,Xb as i,Yb as u,dc as v,ib as e,na as p,nc as o,oc as a,rb as x}from"./chunk-TXOB7R5K.js";function C(t,y){t&1&&(n(0,"p",7),o(1),s(2,"translate"),i()),t&2&&(e(),a(m(2,1,"platform.linux.server_will_power_down")))}function g(t,y){if(t&1&&(n(0,"div",8),o(1),i()),t&2){let r=v();e(),a(r.error)}}var B=(()=>{class t{$api=p(_);$toastr=p(S);$translate=p(h);error=!1;ngOnInit(){this.$api.put("/platform-tools/linux/shutdown-host",{}).subscribe({error:r=>{console.error(r),this.error=this.$translate.instant("platform.linux.server_restart_error"),this.$toastr.error(this.$translate.instant("platform.linux.server_restart_error"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(l){return new(l||t)};static \u0275cmp=x({type:t,selectors:[["ng-component"]],decls:13,vars:8,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-fw","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"grey-text"],[1,"alert","alert-error","my-4"]],template:function(l,c){l&1&&(n(0,"div",0)(1,"h3",1),o(2),s(3,"translate"),i()(),n(4,"div",2)(5,"div",3),u(6,"i",4),i(),n(7,"div",5)(8,"h4",6),o(9),s(10,"translate"),i(),f(11,C,3,3,"p",7)(12,g,2,1,"div",8),i()()),l&2&&(e(2),a(m(3,4,"menu.restart.title")),e(7),a(m(10,6,"platform.linux.shutting_down_server")),e(2),d(c.error?-1:11),e(),d(c.error?12:-1))},dependencies:[w],encapsulation:2})}return t})();export{B as a};
@@ -1 +1 @@
1
- import{a as X}from"./chunk-QOKEWT7C.js";import{n as Q}from"./chunk-ORPWYWCL.js";import{c as D,d as C,e as G,f as j,g as H,j as F,m as A,p as q,q as L,y as K,z as J}from"./chunk-QHPDGSZ6.js";import{e as N}from"./chunk-NZNNTHFQ.js";import{c as W}from"./chunk-SJHJKPSQ.js";import{b as R}from"./chunk-UC2NMLJ6.js";import{a as z,b as B,j as O}from"./chunk-M3N7PSSC.js";import{l as M}from"./chunk-UG5DK2RQ.js";import{a as P,b as V}from"./chunk-3IX3CLER.js";import{$b as y,Bc as s,Cc as l,Kb as I,Mb as _,Rb as f,Wb as i,Xb as o,Yb as c,ad as E,cc as b,dc as m,h as w,ib as t,na as g,nc as a,oc as d,pc as v,rb as T,w as S,xa as x,xc as $,ya as h,yc as k}from"./chunk-TXOB7R5K.js";var U=(n,u)=>({"is-valid":n,"is-invalid":u}),Z=n=>({"button-loading":n});function ee(n,u){if(n&1){let e=y();i(0,"div",2),c(1,"img",3),i(2,"h3",4),a(3),s(4,"translate"),o(),i(5,"button",5),b("click",function(){x(e);let p=m();return h(p.onClickGettingStarted())}),a(6),s(7,"translate"),o(),i(8,"small",6)(9,"a",7),b("click",function(){x(e);let p=m();return h(p.onClickRestoreBackup())}),a(10),s(11,"translate"),o()()()}n&2&&(t(3),d(l(4,3,"setup.welcome_to_homebridge")),t(3),v(" ",l(7,5,"setup.button_get_started")," "),t(4),d(l(11,7,"setup_wizard_message_restore")))}function te(n,u){if(n&1){let e=y();i(0,"div",2),c(1,"img",8),i(2,"h3",4),a(3),s(4,"translate"),o(),i(5,"div",9)(6,"p"),a(7),s(8,"translate"),o(),i(9,"form",10),b("ngSubmit",function(){x(e);let p=m();return h(p.createFirstUser())}),i(10,"div",11),c(11,"i",12)(12,"input",13),i(13,"label",14),a(14),s(15,"translate"),o()(),i(16,"div",11),c(17,"i",15)(18,"input",16),i(19,"label",17),a(20),s(21,"translate"),o()(),i(22,"div",11),c(23,"i",15)(24,"input",18),i(25,"label",19),a(26),s(27,"translate"),o()(),i(28,"div",20)(29,"button",21),a(30),s(31,"translate"),c(32,"i",22),o()()()()()}if(n&2){let e=m();t(3),d(l(4,15,"setup.create_account")),t(4),d(l(8,17,"setup.create_account_reason")),t(2),_("formGroup",e.createUserForm),t(3),_("readonly",e.loading)("ngClass",k(27,U,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.valid,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.invalid)),t(2),d(l(15,19,"users.label_username")),t(4),_("readonly",e.loading)("ngClass",k(30,U,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.valid,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.errors)),t(2),d(l(21,21,"users.label_password")),t(4),_("readonly",e.loading)("ngClass",k(33,U,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.valid,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.errors)),t(2),d(l(27,23,"users.label_confirm_password")),t(3),_("disabled",e.createUserForm.invalid||e.loading)("ngClass",$(36,Z,e.loading)),t(),v(" ",l(31,25,"setup.create_account")," ")}}function ie(n,u){n&1&&(i(0,"span"),c(1,"i",29),a(2),s(3,"translate"),o()),n&2&&(t(2),v(" ",l(3,1,"backup.label_uploading")," "))}function ne(n,u){n&1&&(i(0,"span"),a(1),s(2,"translate"),o()),n&2&&(t(),d(l(2,1,"backup.button_restore_backup")))}function oe(n,u){if(n&1){let e=y();i(0,"div",2),c(1,"img",8),i(2,"h3",4),a(3),s(4,"translate"),o(),i(5,"p"),a(6),s(7,"translate"),o(),i(8,"div",23)(9,"input",24),b("change",function(p){x(e);let Y=m();return h(Y.handleRestoreFileInput(p.target.files))}),o(),i(10,"label",25),a(11),s(12,"translate"),o()(),i(13,"div",26)(14,"button",27),b("click",function(){x(e);let p=m();return h(p.onClickCancelRestore())}),a(15),s(16,"translate"),o(),i(17,"button",28),b("click",function(){x(e);let p=m();return h(p.onRestoreBackupClick())}),I(18,ie,4,3,"span")(19,ne,3,3,"span"),o()()()}if(n&2){let e=m();t(3),d(l(4,8,"form.button_restore")),t(3),d(l(7,10,"backup.restore_help_one")),t(5),v(" ",l(12,12,(e.selectedFile==null?null:e.selectedFile.name)||"backup.label_choose_backup_file_to_restore")," "),t(3),_("disabled",e.restoreUploadStarted),t(),v(" ",l(16,14,"form.button_cancel")," "),t(2),_("disabled",e.restoreUploading||!e.selectedFile),t(),f(e.restoreUploading?18:-1),t(),f(e.restoreUploading?-1:19)}}function re(n,u){n&1&&(i(0,"div",2),c(1,"img",8),i(2,"h3",4),a(3),s(4,"translate"),o(),i(5,"h1"),c(6,"i",29),o()()),n&2&&(t(3),d(l(4,1,"restart.title_restart")))}function ae(n,u){n&1&&(i(0,"div",2),c(1,"img",8),i(2,"h3",30),a(3),s(4,"translate"),o(),i(5,"p",31),a(6),s(7,"translate"),o(),i(8,"a",32),a(9),s(10,"translate"),o()()),n&2&&(t(3),d(l(4,3,"setup_wizard_message_complete_title")),t(3),d(l(7,5,"setup_wizard_message_complete_message")),t(3),d(l(10,7,"setup.open_dashboard")))}var ye=(()=>{class n{$api=g(B);$auth=g(W);$modal=g(Q);$settings=g(R);$title=g(M);$toastr=g(O);$translate=g(P);previousTitle;step="welcome";createUserForm=new H({username:new F("",[C.required]),password:new F("",[C.compose([C.required,C.minLength(4)])]),passwordConfirm:new F("",[C.required])},this.matchPassword);loading=!1;selectedFile;restoreUploading=!1;ngOnInit(){this.previousTitle=this.$title.getTitle(),this.$title.setTitle("Setup Homebridge")}matchPassword(e){let r=e.get("password").value,p=e.get("passwordConfirm").value;if(r!==p)e.get("passwordConfirm").setErrors({matchPassword:!0});else return null}ngOnDestroy(){this.$title.setTitle(this.previousTitle)}onClickGettingStarted(){this.step="create-account"}onClickRestoreBackup(){this.step="restore-backup"}onClickCancelRestore(){this.selectedFile=null,this.step="welcome"}createFirstUser(){this.loading=!0;let e=this.createUserForm.getRawValue();e.name=e.username,this.$api.post("/setup-wizard/create-first-user",e).subscribe({next:()=>w(this,null,function*(){this.$settings.env.setupWizardComplete=!0,yield this.$auth.login({username:e.username,password:e.password}),this.step="setup-complete"}),error:r=>{this.loading=!1,console.error(r),this.$toastr.error(r.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}handleRestoreFileInput(e){e.length?this.selectedFile=e[0]:delete this.selectedFile}onRestoreBackupClick(){this.restoreUploading=!0,this.uploadHomebridgeArchive()}uploadHomebridgeArchive(){return w(this,null,function*(){try{let e=yield S(this.$api.get("/setup-wizard/get-setup-wizard-token"));window.localStorage.setItem(z.jwt.tokenKey,e.access_token),this.$auth.token=e.access_token;let r=new FormData;r.append("restoreArchive",this.selectedFile,this.selectedFile.name),yield S(this.$api.post("/backup/restore",r)),this.openRestoreModal(),this.restoreUploading=!1}catch(e){this.restoreUploading=!1,console.error(e),this.$toastr.error(e.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}openRestoreModal(){let e=this.$modal.open(X,{size:"lg",backdrop:"static"});e.componentInstance.setupWizardRestore=!0,e.result.then(r=>{r===!0&&this.waitForHomebridgeToRestart()})}waitForHomebridgeToRestart(){return w(this,null,function*(){this.step="restarting",window.localStorage.removeItem(z.jwt.tokenKey),this.$auth.token=null,yield new Promise(r=>setTimeout(r,15e3));let e=setInterval(()=>w(this,null,function*(){try{yield S(this.$api.get("/auth/settings")),clearInterval(e),location.reload()}catch{}}),1e3)})}static \u0275fac=function(r){return new(r||n)};static \u0275cmp=T({type:n,selectors:[["ng-component"]],decls:7,vars:5,consts:[[1,"setup-container","d-flex","align-items-center","justify-content-center"],[1,"w-100","setup-card","d-flex","py-5"],[1,"w-100","d-flex","flex-column","align-items-center"],["src","/assets/homebridge-color-round.svg","alt","hb logo",1,"homebridge-logo","mx-auto"],[1,"pt-4","pb-3","text-center"],["type","button",1,"btn","btn-lg","btn-primary",3,"click"],[1,"mt-3"],["href","javascript:void(0)",1,"grey-text",3,"click"],["src","/assets/homebridge-color-round.svg","alt","hb logo",1,"homebridge-logo","homebridge-logo-small","mx-auto"],[1,"w-100"],["novalidate","",3,"ngSubmit","formGroup"],[1,"md-form"],[1,"fas","fa-fw","fa-user","prefix","grey-text"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none","tabindex","1",1,"form-control","px-0",3,"readonly","ngClass"],["for","form-username"],[1,"fas","fa-fw","fa-lock","prefix","grey-text"],["formControlName","password","type","password","id","form-pass","autocomplete","new-password","tabindex","2",1,"form-control","px-0",3,"readonly","ngClass"],["for","form-pass"],["formControlName","passwordConfirm","type","password","id","form-pass-confirm","autocomplete","new-password","tabindex","2",1,"form-control","px-0",3,"readonly","ngClass"],["for","form-pass-confirm"],[1,"w-100","text-center"],["type","submit",1,"btn","btn-primary",3,"disabled","ngClass"],[1,"button-loading-overlay","fas","fa-fw","fa-spinner","fa-pulse"],[1,"custom-file"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz",1,"custom-file-input",3,"change"],["for","restoreFileUpload",1,"custom-file-label"],[1,"mt-3","w-100","d-flex","justify-content-between"],["type","button",1,"btn","btn-elegant","ml-0",3,"click","disabled"],["type","button",1,"btn","btn-primary","mr-0",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"pt-4","pb-3"],[1,"text-center"],["routerLink","/",1,"btn","btn-lg","btn-primary","mt-3"]],template:function(r,p){r&1&&(i(0,"div",0)(1,"div",1),I(2,ee,12,9,"div",2)(3,te,33,38,"div",2)(4,oe,20,16,"div",2)(5,re,7,3,"div",2)(6,ae,11,9,"div",2),o()()),r&2&&(t(2),f(p.step==="welcome"?2:-1),t(),f(p.step==="create-account"?3:-1),t(),f(p.step==="restore-backup"?4:-1),t(),f(p.step==="restarting"?5:-1),t(),f(p.step==="setup-complete"?6:-1))},dependencies:[K,A,D,G,j,J,q,L,E,N,V],styles:[".setup-container[_ngcontent-%COMP%]{background-size:cover;z-index:-1;padding-top:1em;padding-bottom:1em}@media screen and (min-height: 500px) and (min-width: 600px){.setup-container[_ngcontent-%COMP%]{padding-top:4em}}.setup-card[_ngcontent-%COMP%]{max-width:600px;border-radius:15px;background-color:#fff;padding-right:25px;padding-left:25px}.setup-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (max-width: 600px){.setup-card[_ngcontent-%COMP%]{margin-left:1em;margin-right:1em}} body.dark-mode .setup-card{background-color:#2b2b2b;color:#fff}.homebridge-logo[_ngcontent-%COMP%]{margin-right:10px;height:200px}@media screen and (max-height: 500px){.homebridge-logo[_ngcontent-%COMP%]{height:100px}}@media screen and (max-width: 600px){.homebridge-logo[_ngcontent-%COMP%]{height:100px}}.homebridge-logo-small[_ngcontent-%COMP%]{height:50px}.button-loading[_ngcontent-%COMP%]{position:relative;color:#0000}.button-loading[_ngcontent-%COMP%] .button-loading-overlay[_ngcontent-%COMP%]{display:block;color:#fff}.button-loading-overlay[_ngcontent-%COMP%]{display:none;position:absolute;top:9px;left:0;right:0}small[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}"]})}return n})();export{ye as a};
1
+ import{a as X}from"./chunk-KRNQN3FT.js";import{n as Q}from"./chunk-ORPWYWCL.js";import{c as D,d as C,e as G,f as j,g as H,j as F,m as A,p as q,q as L,y as K,z as J}from"./chunk-QHPDGSZ6.js";import{e as N}from"./chunk-NZNNTHFQ.js";import{c as W}from"./chunk-YP7JWH3J.js";import{b as R}from"./chunk-V7D5U2P3.js";import{a as z,b as B,j as O}from"./chunk-WNVJPPO7.js";import{l as M}from"./chunk-UG5DK2RQ.js";import{a as P,b as V}from"./chunk-3IX3CLER.js";import{$b as y,Bc as s,Cc as l,Kb as I,Mb as _,Rb as f,Wb as i,Xb as o,Yb as c,ad as E,cc as b,dc as m,h as w,ib as t,na as g,nc as a,oc as d,pc as v,rb as T,w as S,xa as x,xc as $,ya as h,yc as k}from"./chunk-TXOB7R5K.js";var U=(n,u)=>({"is-valid":n,"is-invalid":u}),Z=n=>({"button-loading":n});function ee(n,u){if(n&1){let e=y();i(0,"div",2),c(1,"img",3),i(2,"h3",4),a(3),s(4,"translate"),o(),i(5,"button",5),b("click",function(){x(e);let p=m();return h(p.onClickGettingStarted())}),a(6),s(7,"translate"),o(),i(8,"small",6)(9,"a",7),b("click",function(){x(e);let p=m();return h(p.onClickRestoreBackup())}),a(10),s(11,"translate"),o()()()}n&2&&(t(3),d(l(4,3,"setup.welcome_to_homebridge")),t(3),v(" ",l(7,5,"setup.button_get_started")," "),t(4),d(l(11,7,"setup_wizard_message_restore")))}function te(n,u){if(n&1){let e=y();i(0,"div",2),c(1,"img",8),i(2,"h3",4),a(3),s(4,"translate"),o(),i(5,"div",9)(6,"p"),a(7),s(8,"translate"),o(),i(9,"form",10),b("ngSubmit",function(){x(e);let p=m();return h(p.createFirstUser())}),i(10,"div",11),c(11,"i",12)(12,"input",13),i(13,"label",14),a(14),s(15,"translate"),o()(),i(16,"div",11),c(17,"i",15)(18,"input",16),i(19,"label",17),a(20),s(21,"translate"),o()(),i(22,"div",11),c(23,"i",15)(24,"input",18),i(25,"label",19),a(26),s(27,"translate"),o()(),i(28,"div",20)(29,"button",21),a(30),s(31,"translate"),c(32,"i",22),o()()()()()}if(n&2){let e=m();t(3),d(l(4,15,"setup.create_account")),t(4),d(l(8,17,"setup.create_account_reason")),t(2),_("formGroup",e.createUserForm),t(3),_("readonly",e.loading)("ngClass",k(27,U,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.valid,e.createUserForm.controls.username.dirty&&e.createUserForm.controls.username.invalid)),t(2),d(l(15,19,"users.label_username")),t(4),_("readonly",e.loading)("ngClass",k(30,U,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.valid,e.createUserForm.controls.password.dirty&&e.createUserForm.controls.password.errors)),t(2),d(l(21,21,"users.label_password")),t(4),_("readonly",e.loading)("ngClass",k(33,U,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.valid,e.createUserForm.controls.passwordConfirm.dirty&&e.createUserForm.controls.passwordConfirm.errors)),t(2),d(l(27,23,"users.label_confirm_password")),t(3),_("disabled",e.createUserForm.invalid||e.loading)("ngClass",$(36,Z,e.loading)),t(),v(" ",l(31,25,"setup.create_account")," ")}}function ie(n,u){n&1&&(i(0,"span"),c(1,"i",29),a(2),s(3,"translate"),o()),n&2&&(t(2),v(" ",l(3,1,"backup.label_uploading")," "))}function ne(n,u){n&1&&(i(0,"span"),a(1),s(2,"translate"),o()),n&2&&(t(),d(l(2,1,"backup.button_restore_backup")))}function oe(n,u){if(n&1){let e=y();i(0,"div",2),c(1,"img",8),i(2,"h3",4),a(3),s(4,"translate"),o(),i(5,"p"),a(6),s(7,"translate"),o(),i(8,"div",23)(9,"input",24),b("change",function(p){x(e);let Y=m();return h(Y.handleRestoreFileInput(p.target.files))}),o(),i(10,"label",25),a(11),s(12,"translate"),o()(),i(13,"div",26)(14,"button",27),b("click",function(){x(e);let p=m();return h(p.onClickCancelRestore())}),a(15),s(16,"translate"),o(),i(17,"button",28),b("click",function(){x(e);let p=m();return h(p.onRestoreBackupClick())}),I(18,ie,4,3,"span")(19,ne,3,3,"span"),o()()()}if(n&2){let e=m();t(3),d(l(4,8,"form.button_restore")),t(3),d(l(7,10,"backup.restore_help_one")),t(5),v(" ",l(12,12,(e.selectedFile==null?null:e.selectedFile.name)||"backup.label_choose_backup_file_to_restore")," "),t(3),_("disabled",e.restoreUploadStarted),t(),v(" ",l(16,14,"form.button_cancel")," "),t(2),_("disabled",e.restoreUploading||!e.selectedFile),t(),f(e.restoreUploading?18:-1),t(),f(e.restoreUploading?-1:19)}}function re(n,u){n&1&&(i(0,"div",2),c(1,"img",8),i(2,"h3",4),a(3),s(4,"translate"),o(),i(5,"h1"),c(6,"i",29),o()()),n&2&&(t(3),d(l(4,1,"restart.title_restart")))}function ae(n,u){n&1&&(i(0,"div",2),c(1,"img",8),i(2,"h3",30),a(3),s(4,"translate"),o(),i(5,"p",31),a(6),s(7,"translate"),o(),i(8,"a",32),a(9),s(10,"translate"),o()()),n&2&&(t(3),d(l(4,3,"setup_wizard_message_complete_title")),t(3),d(l(7,5,"setup_wizard_message_complete_message")),t(3),d(l(10,7,"setup.open_dashboard")))}var ye=(()=>{class n{$api=g(B);$auth=g(W);$modal=g(Q);$settings=g(R);$title=g(M);$toastr=g(O);$translate=g(P);previousTitle;step="welcome";createUserForm=new H({username:new F("",[C.required]),password:new F("",[C.compose([C.required,C.minLength(4)])]),passwordConfirm:new F("",[C.required])},this.matchPassword);loading=!1;selectedFile;restoreUploading=!1;ngOnInit(){this.previousTitle=this.$title.getTitle(),this.$title.setTitle("Setup Homebridge")}matchPassword(e){let r=e.get("password").value,p=e.get("passwordConfirm").value;if(r!==p)e.get("passwordConfirm").setErrors({matchPassword:!0});else return null}ngOnDestroy(){this.$title.setTitle(this.previousTitle)}onClickGettingStarted(){this.step="create-account"}onClickRestoreBackup(){this.step="restore-backup"}onClickCancelRestore(){this.selectedFile=null,this.step="welcome"}createFirstUser(){this.loading=!0;let e=this.createUserForm.getRawValue();e.name=e.username,this.$api.post("/setup-wizard/create-first-user",e).subscribe({next:()=>w(this,null,function*(){this.$settings.env.setupWizardComplete=!0,yield this.$auth.login({username:e.username,password:e.password}),this.step="setup-complete"}),error:r=>{this.loading=!1,console.error(r),this.$toastr.error(r.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}handleRestoreFileInput(e){e.length?this.selectedFile=e[0]:delete this.selectedFile}onRestoreBackupClick(){this.restoreUploading=!0,this.uploadHomebridgeArchive()}uploadHomebridgeArchive(){return w(this,null,function*(){try{let e=yield S(this.$api.get("/setup-wizard/get-setup-wizard-token"));window.localStorage.setItem(z.jwt.tokenKey,e.access_token),this.$auth.token=e.access_token;let r=new FormData;r.append("restoreArchive",this.selectedFile,this.selectedFile.name),yield S(this.$api.post("/backup/restore",r)),this.openRestoreModal(),this.restoreUploading=!1}catch(e){this.restoreUploading=!1,console.error(e),this.$toastr.error(e.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}openRestoreModal(){let e=this.$modal.open(X,{size:"lg",backdrop:"static"});e.componentInstance.setupWizardRestore=!0,e.result.then(r=>{r===!0&&this.waitForHomebridgeToRestart()})}waitForHomebridgeToRestart(){return w(this,null,function*(){this.step="restarting",window.localStorage.removeItem(z.jwt.tokenKey),this.$auth.token=null,yield new Promise(r=>setTimeout(r,15e3));let e=setInterval(()=>w(this,null,function*(){try{yield S(this.$api.get("/auth/settings")),clearInterval(e),location.reload()}catch{}}),1e3)})}static \u0275fac=function(r){return new(r||n)};static \u0275cmp=T({type:n,selectors:[["ng-component"]],decls:7,vars:5,consts:[[1,"setup-container","d-flex","align-items-center","justify-content-center"],[1,"w-100","setup-card","d-flex","py-5"],[1,"w-100","d-flex","flex-column","align-items-center"],["src","/assets/homebridge-color-round.svg","alt","hb logo",1,"homebridge-logo","mx-auto"],[1,"pt-4","pb-3","text-center"],["type","button",1,"btn","btn-lg","btn-primary",3,"click"],[1,"mt-3"],["href","javascript:void(0)",1,"grey-text",3,"click"],["src","/assets/homebridge-color-round.svg","alt","hb logo",1,"homebridge-logo","homebridge-logo-small","mx-auto"],[1,"w-100"],["novalidate","",3,"ngSubmit","formGroup"],[1,"md-form"],[1,"fas","fa-fw","fa-user","prefix","grey-text"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none","tabindex","1",1,"form-control","px-0",3,"readonly","ngClass"],["for","form-username"],[1,"fas","fa-fw","fa-lock","prefix","grey-text"],["formControlName","password","type","password","id","form-pass","autocomplete","new-password","tabindex","2",1,"form-control","px-0",3,"readonly","ngClass"],["for","form-pass"],["formControlName","passwordConfirm","type","password","id","form-pass-confirm","autocomplete","new-password","tabindex","2",1,"form-control","px-0",3,"readonly","ngClass"],["for","form-pass-confirm"],[1,"w-100","text-center"],["type","submit",1,"btn","btn-primary",3,"disabled","ngClass"],[1,"button-loading-overlay","fas","fa-fw","fa-spinner","fa-pulse"],[1,"custom-file"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz",1,"custom-file-input",3,"change"],["for","restoreFileUpload",1,"custom-file-label"],[1,"mt-3","w-100","d-flex","justify-content-between"],["type","button",1,"btn","btn-elegant","ml-0",3,"click","disabled"],["type","button",1,"btn","btn-primary","mr-0",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"pt-4","pb-3"],[1,"text-center"],["routerLink","/",1,"btn","btn-lg","btn-primary","mt-3"]],template:function(r,p){r&1&&(i(0,"div",0)(1,"div",1),I(2,ee,12,9,"div",2)(3,te,33,38,"div",2)(4,oe,20,16,"div",2)(5,re,7,3,"div",2)(6,ae,11,9,"div",2),o()()),r&2&&(t(2),f(p.step==="welcome"?2:-1),t(),f(p.step==="create-account"?3:-1),t(),f(p.step==="restore-backup"?4:-1),t(),f(p.step==="restarting"?5:-1),t(),f(p.step==="setup-complete"?6:-1))},dependencies:[K,A,D,G,j,J,q,L,E,N,V],styles:[".setup-container[_ngcontent-%COMP%]{background-size:cover;z-index:-1;padding-top:1em;padding-bottom:1em}@media screen and (min-height: 500px) and (min-width: 600px){.setup-container[_ngcontent-%COMP%]{padding-top:4em}}.setup-card[_ngcontent-%COMP%]{max-width:600px;border-radius:15px;background-color:#fff;padding-right:25px;padding-left:25px}.setup-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (max-width: 600px){.setup-card[_ngcontent-%COMP%]{margin-left:1em;margin-right:1em}} body.dark-mode .setup-card{background-color:#2b2b2b;color:#fff}.homebridge-logo[_ngcontent-%COMP%]{margin-right:10px;height:200px}@media screen and (max-height: 500px){.homebridge-logo[_ngcontent-%COMP%]{height:100px}}@media screen and (max-width: 600px){.homebridge-logo[_ngcontent-%COMP%]{height:100px}}.homebridge-logo-small[_ngcontent-%COMP%]{height:50px}.button-loading[_ngcontent-%COMP%]{position:relative;color:#0000}.button-loading[_ngcontent-%COMP%] .button-loading-overlay[_ngcontent-%COMP%]{display:block;color:#fff}.button-loading-overlay[_ngcontent-%COMP%]{display:none;position:absolute;top:9px;left:0;right:0}small[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}"]})}return n})();export{ye as a};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-QGDVQDUP.js";import"./chunk-EA5J2VEJ.js";import"./chunk-KHNBODZR.js";import"./chunk-7EUQWCP5.js";import"./chunk-JZZQRLNW.js";import"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-NZNNTHFQ.js";import"./chunk-V7D5U2P3.js";import"./chunk-WNVJPPO7.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as ConfigEditorComponent};
@@ -0,0 +1 @@
1
+ import{g as a}from"./chunk-WSYFRV2X.js";import"./chunk-KRNQN3FT.js";import"./chunk-JU4PP2VY.js";import"./chunk-KHNBODZR.js";import"./chunk-7EUQWCP5.js";import"./chunk-WNWWUCCZ.js";import"./chunk-6HR4EKFX.js";import"./chunk-CCUID66K.js";import"./chunk-QE7DO6J3.js";import"./chunk-BKUGARB4.js";import"./chunk-WHJOLAED.js";import"./chunk-JZZQRLNW.js";import"./chunk-KQJ7ONUG.js";import"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-SK5UJRQU.js";import"./chunk-NZNNTHFQ.js";import"./chunk-YP7JWH3J.js";import"./chunk-V7D5U2P3.js";import"./chunk-WNVJPPO7.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as SettingsComponent};
@@ -1 +1 @@
1
- import"./chunk-ZHMC7KSZ.js";import"./chunk-BNVAYTYZ.js";import"./chunk-CCUID66K.js";import"./chunk-BKUGARB4.js";import"./chunk-KQJ7ONUG.js";import{q as s}from"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-GETFKFI6.js";import{g as i}from"./chunk-NZNNTHFQ.js";import"./chunk-SJHJKPSQ.js";import"./chunk-UC2NMLJ6.js";import"./chunk-M3N7PSSC.js";import"./chunk-UG5DK2RQ.js";import{c as n}from"./chunk-3IX3CLER.js";import{ia as t,md as m,sb as r}from"./chunk-TXOB7R5K.js";var f=[{path:"",loadComponent:()=>import("./chunk-7DTAFWJ7.js").then(o=>o.LogsComponent)}],p=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(f),i]})}return o})();var h=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[m,p,s,n.forChild()]})}return o})();export{h as LogsModule};
1
+ import"./chunk-UNVMI6CK.js";import"./chunk-6HR4EKFX.js";import"./chunk-CCUID66K.js";import"./chunk-BKUGARB4.js";import"./chunk-KQJ7ONUG.js";import{q as s}from"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-SK5UJRQU.js";import{g as i}from"./chunk-NZNNTHFQ.js";import"./chunk-YP7JWH3J.js";import"./chunk-V7D5U2P3.js";import"./chunk-WNVJPPO7.js";import"./chunk-UG5DK2RQ.js";import{c as n}from"./chunk-3IX3CLER.js";import{ia as t,md as m,sb as r}from"./chunk-TXOB7R5K.js";var f=[{path:"",loadComponent:()=>import("./chunk-KVW76M4O.js").then(o=>o.LogsComponent)}],p=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(f),i]})}return o})();var h=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[m,p,s,n.forChild()]})}return o})();export{h as LogsModule};
@@ -1 +1 @@
1
- import{a}from"./chunk-72QXF2GF.js";import"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-NZNNTHFQ.js";import"./chunk-UC2NMLJ6.js";import"./chunk-M3N7PSSC.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as PowerOptionsComponent};
1
+ import{a}from"./chunk-3C2OQ2W5.js";import"./chunk-ORPWYWCL.js";import"./chunk-QHPDGSZ6.js";import"./chunk-NZNNTHFQ.js";import"./chunk-V7D5U2P3.js";import"./chunk-WNVJPPO7.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as PowerOptionsComponent};