@duplicati/ngclient 0.0.111 → 0.0.112

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 (68) hide show
  1. package/{chunk-HPGYPP74.js → chunk-2JKJCHMV.js} +1 -1
  2. package/{chunk-SKJ6XSV3.js → chunk-2LP4DYGQ.js} +1 -1
  3. package/chunk-2N2WJIUS.js +1 -0
  4. package/{chunk-MHHVE6AV.js → chunk-3AU26GAL.js} +1 -1
  5. package/{chunk-P5SS3OV3.js → chunk-6JLZLD5D.js} +1 -1
  6. package/{chunk-65OCE2TY.js → chunk-6OAGVTHV.js} +1 -1
  7. package/{chunk-TJS6O6KD.js → chunk-7JUYF3HW.js} +1 -1
  8. package/{chunk-RQSBT3TK.js → chunk-7NFVFBIE.js} +1 -1
  9. package/{chunk-7S5SYCMV.js → chunk-7ROGJAJZ.js} +1 -1
  10. package/{chunk-HLHNKLWF.js → chunk-7RTXH4CB.js} +1 -1
  11. package/{chunk-QKA2VJWD.js → chunk-AX5RFEOL.js} +1 -1
  12. package/chunk-BVTZNGGE.js +1 -0
  13. package/{chunk-4RGZG24K.js → chunk-CD3DB23J.js} +1 -1
  14. package/{chunk-IIB7YCLW.js → chunk-CIGZ6WGG.js} +1 -1
  15. package/chunk-DDIVZTRS.js +1 -0
  16. package/chunk-DMDYUREZ.js +8 -0
  17. package/{chunk-DDM4R5FN.js → chunk-DMZ5CRRQ.js} +1 -1
  18. package/{chunk-T33TACR6.js → chunk-EP7S6KOG.js} +1 -1
  19. package/{chunk-CHRKPWRG.js → chunk-F4EEOSGJ.js} +1 -1
  20. package/{chunk-URU2SLPX.js → chunk-GJROCOAD.js} +1 -1
  21. package/{chunk-BOBAN442.js → chunk-H632X43F.js} +1 -1
  22. package/chunk-IDOYGPGZ.js +1 -0
  23. package/{chunk-YJNKW5ES.js → chunk-IPRTKJDE.js} +1 -1
  24. package/chunk-J7PTPA7J.js +1 -0
  25. package/chunk-JP7GZSDH.js +1 -0
  26. package/{chunk-3M3M4YXP.js → chunk-JPF4Y3PP.js} +1 -1
  27. package/{chunk-4AECHE4W.js → chunk-JSGFZ2GA.js} +1 -1
  28. package/{chunk-QP4QZQOW.js → chunk-KHC3VCF4.js} +1 -1
  29. package/{chunk-2ZVLF3KW.js → chunk-KIUU6RPZ.js} +1 -1
  30. package/{chunk-NP4VUDPK.js → chunk-KXLXF2JD.js} +1 -1
  31. package/{chunk-45RYC5NZ.js → chunk-N5ASXZEE.js} +1 -1
  32. package/{chunk-Z4MV4ZSL.js → chunk-NHQOHNI2.js} +1 -1
  33. package/{chunk-6OKAWH4X.js → chunk-NQNRR7VE.js} +1 -1
  34. package/{chunk-WEQQEKIH.js → chunk-OHQK4UOI.js} +1 -1
  35. package/{chunk-YJSWEW6C.js → chunk-ORDORLQT.js} +1 -1
  36. package/{chunk-GDHVQU56.js → chunk-OTLEEXAA.js} +1 -1
  37. package/chunk-OWDXYX4N.js +1 -0
  38. package/{chunk-2MCIQSK2.js → chunk-PQVEQNEN.js} +1 -1
  39. package/{chunk-XTWVXTYP.js → chunk-Q6GENX6C.js} +1 -1
  40. package/{chunk-XJAEXNPS.js → chunk-RRBU7RBN.js} +1 -1
  41. package/{chunk-WQLN5T4T.js → chunk-RTXTOPSU.js} +1 -1
  42. package/{chunk-KEAH5JAH.js → chunk-SQQMYNOF.js} +1 -1
  43. package/{chunk-25ZZFR2F.js → chunk-T5X5KX6A.js} +1 -1
  44. package/{chunk-LQ5ORNDI.js → chunk-THDYLLMU.js} +1 -1
  45. package/{chunk-PFE36372.js → chunk-TK4BPZWA.js} +1 -1
  46. package/{chunk-PN73DZ2H.js → chunk-TMD3MDHS.js} +1 -1
  47. package/{chunk-ZMDK6XIQ.js → chunk-TSIPKXNX.js} +1 -1
  48. package/{chunk-JIPJYOH5.js → chunk-VINJGSIH.js} +1 -1
  49. package/{chunk-CR4OKZPA.js → chunk-VZBHJ6AU.js} +1 -1
  50. package/chunk-WLIE4IB5.js +1 -0
  51. package/chunk-XL2NKFYE.js +1 -0
  52. package/{chunk-2KUDLHPP.js → chunk-YDR42CNA.js} +1 -1
  53. package/chunk-ZXWA7BUQ.js +1 -0
  54. package/{chunk-UMP4YQXB.js → chunk-ZYGT7OII.js} +1 -1
  55. package/index.html +1 -1
  56. package/{main-S6Q4T2BU.js → main-3OUIM37D.js} +1 -1
  57. package/package.json +1 -1
  58. package/chunk-3KSBRC3X.js +0 -1
  59. package/chunk-AADIFDNE.js +0 -1
  60. package/chunk-D3I33UIQ.js +0 -1
  61. package/chunk-JD54W4UA.js +0 -8
  62. package/chunk-LZUCVLMF.js +0 -1
  63. package/chunk-QJILVQSS.js +0 -1
  64. package/chunk-VLIGMNJX.js +0 -1
  65. package/chunk-W577IVOD.js +0 -1
  66. package/chunk-X4SAPDOB.js +0 -1
  67. package/chunk-X5YRWKCW.js +0 -1
  68. package/chunk-YD7PS7OS.js +0 -1
@@ -1 +1 @@
1
- import{a as ae}from"./chunk-HTNYQE2B.js";import{a as te}from"./chunk-TJS6O6KD.js";import"./chunk-2ZVLF3KW.js";import"./chunk-6OKAWH4X.js";import{a as Q}from"./chunk-GDHVQU56.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import{c as Y,e as Z,h as x,s as ee}from"./chunk-T2OUHRUV.js";import"./chunk-CHRKPWRG.js";import"./chunk-I3C2AEHI.js";import{b as z,e as q}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as W,g as j,l as J}from"./chunk-WX7L7V6J.js";import{h as H}from"./chunk-4AECHE4W.js";import"./chunk-JV6DGJII.js";import"./chunk-CKPICCFH.js";import"./chunk-EF7JWRDC.js";import{$b as C,Ac as k,Bc as h,E as g,F as u,Gb as p,Hb as r,Ib as F,Jb as L,Kb as U,Mb as A,N as E,Qa as s,Y as P,ab as y,ec as w,fb as v,fc as X,gc as V,nb as d,pb as D,r as O,rb as G,sb as K,ua as c,wb as i,xb as a,yb as l}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";function ie(S,t){S&1&&(i(0,"spk-icon",19),C(1,"check"),a())}function ne(S,t){S&1&&(i(0,"spk-icon",19),C(1,"warning"),a())}var m=class S{#a=P(z);#i=P(Q);#e=P(H);#t="";backupId=ae(this.#a.params.pipe(O(t=>t.id)));activeBackup=k(()=>{let t=this.#i.backups().find(_=>_.Backup?.ID===this.backupId());return this.#t=t?.Backup?.DBPath??"",t});backupFilePath=c("");lastValidatedPath=c("");isValidatedPath=k(()=>this.lastValidatedPath()===this.backupFilePath());pathHasChanged=k(()=>this.backupFilePath()!==this.#t);backupFilePathEffect=h(()=>{let t=this.backupFilePath();t!==""&&this.#e.postApiV1FilesystemValidate({requestBody:{path:t}}).subscribe({next:()=>this.lastValidatedPath.set(t)})});isRestoring=c(!1);isRepairing=c(!1);isDeleting=c(!1);isSavingDbPath=c(!1);isSavingAndRepairing=c(!1);isMovingDb=c(!1);activeBackupEffect=h(()=>{let t=this.activeBackup();if(!t)return;let _=t.Backup?.DBPath??"";this.backupFilePath.set(_)});repairDatabase(){this.isRepairing.set(!0),this.#e.postApiV1BackupByIdRepair({id:this.backupId()}).pipe(g(1),u(()=>this.isRepairing.set(!1))).subscribe()}deleteDatabase(){this.isDeleting.set(!0),this.#e.postApiV1BackupByIdDeletedb({id:this.backupId()}).pipe(g(1),u(()=>this.isDeleting.set(!1))).subscribe()}restoreDatabase(){this.isRestoring.set(!0),this.#e.postApiV1BackupByIdDeletedb({id:this.backupId()}).pipe(g(1),E(()=>this.#e.postApiV1BackupByIdRepair({id:this.backupId()})),u(()=>this.isRestoring.set(!1))).subscribe()}resetDatabasePath(){this.backupFilePath.set(this.#t)}saveDatabasePath(){this.isSavingDbPath.set(!0),this.#e.postApiV1BackupByIdUpdatedb({id:this.backupId(),requestBody:{path:this.backupFilePath()}}).pipe(u(()=>this.isSavingDbPath.set(!1))).subscribe()}saveAndRepairDatabasePath(){this.isSavingAndRepairing.set(!0),this.#e.postApiV1BackupByIdUpdatedb({id:this.backupId(),requestBody:{path:this.backupFilePath()}}).pipe(E(()=>this.#e.postApiV1BackupByIdRepair({id:this.backupId()})),u(()=>this.isSavingAndRepairing.set(!1)))}moveDatabasePath(){this.isMovingDb.set(!0),this.#e.postApiV1BackupByIdMovedb({id:this.backupId(),requestBody:{path:this.backupFilePath()}}).pipe(u(()=>this.isMovingDb.set(!1))).subscribe()}static \u0275fac=function(_){return new(_||S)};static \u0275cmp=y({type:S,selectors:[["app-database"]],decls:46,vars:17,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let _;_=$localize`Local database for ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let e;e=$localize` Each backup has a local database associated with it, which stores information about the remote backup on the local machine. This makes it faster to perform many operations, and reduces the amount of data that needs to be downloaded for each operation. `;let n;n=$localize`Maintenance`;let T;T=$localize` If the backup and the remote storage is out of sync, Duplicati will require that you perform a repair operation to synchronize the database. If the repair is unsuccessful, you can delete the local database and re-generate. `;let b;b=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:wrench${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Repair `;let f;f=$localize`${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:trash${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON: Delete `;let B;B=$localize`${"\uFFFD#25\uFFFD"}:START_TAG_SPK_ICON:clock-counter-clockwise${"\uFFFD/#25\uFFFD"}:CLOSE_TAG_SPK_ICON: Restore (delete and repair) `;let I;I=$localize`Placement`;let M;M=$localize`${"\uFFFD#36\uFFFD"}:START_TAG_SPK_ICON:backspace${"\uFFFD/#36\uFFFD"}:CLOSE_TAG_SPK_ICON: Reset `;let N;N=$localize`${"\uFFFD#39\uFFFD"}:START_TAG_SPK_ICON:floppy-disk${"\uFFFD/#39\uFFFD"}:CLOSE_TAG_SPK_ICON: Save `;let $;$=$localize`${"\uFFFD#42\uFFFD"}:START_TAG_SPK_ICON:wrench${"\uFFFD/#42\uFFFD"}:CLOSE_TAG_SPK_ICON: Save & Repair `;let R;return R=$localize`${"\uFFFD#45\uFFFD"}:START_TAG_SPK_ICON:flow-arrow${"\uFFFD/#45\uFFFD"}:CLOSE_TAG_SPK_ICON: Move existing database `,[t,_,e,n,T,b,f,B,I,M,N,$,R,[1,"back"],["type","button","spk-button","","routerLink","/",1,"small"],[1,"actions","maintenance"],["spk-button","",3,"click","disabled"],["spk-button","",3,"click"],["type","text",3,"ngModelChange","ngModel"],["prefix",""],[1,"actions","placement"]]},template:function(_,e){if(_&1&&(l(0,"app-status-bar"),i(1,"section")(2,"div",13)(3,"button",14),p(4,0),l(5,"spk-icon"),r(),a()(),i(6,"article")(7,"h1"),F(8,1),a(),i(9,"p"),F(10,2),a()(),i(11,"article")(12,"h2"),F(13,3),a(),i(14,"p"),F(15,4),a(),i(16,"div",15)(17,"button",16),A("click",function(){return e.repairDatabase()}),p(18,5),l(19,"spk-icon"),r(),a(),i(20,"button",16),A("click",function(){return e.deleteDatabase()}),p(21,6),l(22,"spk-icon"),r(),a(),i(23,"button",17),A("click",function(){return e.restoreDatabase()}),p(24,7),l(25,"spk-icon"),r(),a()()(),i(26,"article")(27,"h2"),F(28,8),a(),i(29,"spk-form-field")(30,"input",18),V("ngModelChange",function(T){return X(e.backupFilePath,T)||(e.backupFilePath=T),T}),a(),v(31,ie,2,0,"spk-icon",19)(32,ne,2,0,"spk-icon",19),a(),i(33,"div",20)(34,"button",16),A("click",function(){return e.resetDatabasePath()}),p(35,9),l(36,"spk-icon"),r(),a(),i(37,"button",16),A("click",function(){return e.saveDatabasePath()}),p(38,10),l(39,"spk-icon"),r(),a(),i(40,"button",16),A("click",function(){return e.saveAndRepairDatabasePath()}),p(41,11),l(42,"spk-icon"),r(),a(),i(43,"button",16),A("click",function(){return e.moveDatabasePath()}),p(44,12),l(45,"spk-icon"),r(),a()()()()),_&2){let n;s(8),L((n=e.activeBackup())==null||n.Backup==null?null:n.Backup.Name),U(8),s(9),D("loader",e.isRepairing()),d("disabled",!e.isValidatedPath()),s(3),D("loader",e.isDeleting()),d("disabled",!e.isValidatedPath()),s(3),D("loader",e.isRestoring()),s(6),G(e.isValidatedPath()?"success":"error"),s(),w("ngModel",e.backupFilePath),s(),K(e.isValidatedPath()?31:32),s(3),d("disabled",!(e.isValidatedPath()&&e.pathHasChanged())),s(3),d("disabled",!(e.isValidatedPath()&&e.pathHasChanged())),s(3),d("disabled",!(e.isValidatedPath()&&e.pathHasChanged())),s(3),d("disabled",!(e.isValidatedPath()&&e.pathHasChanged()))}},dependencies:[ee,Y,Z,x,te,j,J,W,q],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:2rem}article[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}h1[_ngcontent-%COMP%]{font:var(--title-20)}h2[_ngcontent-%COMP%]{font:var(--title-30)}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{m as default};
1
+ import{a as ae}from"./chunk-HTNYQE2B.js";import{a as te}from"./chunk-7JUYF3HW.js";import"./chunk-KIUU6RPZ.js";import"./chunk-NQNRR7VE.js";import{a as Q}from"./chunk-OTLEEXAA.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import{c as Y,e as Z,h as x,s as ee}from"./chunk-T2OUHRUV.js";import"./chunk-F4EEOSGJ.js";import"./chunk-I3C2AEHI.js";import{b as z,e as q}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as W,g as j,l as J}from"./chunk-WX7L7V6J.js";import{h as H}from"./chunk-JSGFZ2GA.js";import"./chunk-JV6DGJII.js";import"./chunk-CKPICCFH.js";import"./chunk-EF7JWRDC.js";import{$b as C,Ac as k,Bc as h,E as g,F as d,Gb as p,Hb as r,Ib as F,Jb as L,Kb as U,Mb as u,N as E,Qa as s,Y as D,ab as y,ec as w,fb as v,fc as X,gc as V,nb as A,pb as P,r as O,rb as G,sb as K,ua as c,wb as i,xb as a,yb as l}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";function ie(S,t){S&1&&(i(0,"spk-icon",18),C(1,"check"),a())}function ne(S,t){S&1&&(i(0,"spk-icon",18),C(1,"warning"),a())}var m=class S{#a=D(z);#i=D(Q);#e=D(H);#t="";backupId=ae(this.#a.params.pipe(O(t=>t.id)));activeBackup=k(()=>{let t=this.#i.backups().find(_=>_.Backup?.ID===this.backupId());return this.#t=t?.Backup?.DBPath??"",t});backupFilePath=c("");lastValidatedPath=c("");isValidatedPath=k(()=>this.lastValidatedPath()===this.backupFilePath());pathHasChanged=k(()=>this.backupFilePath()!==this.#t);backupFilePathEffect=h(()=>{let t=this.backupFilePath();t!==""&&this.#e.postApiV1FilesystemValidate({requestBody:{path:t}}).subscribe({next:()=>this.lastValidatedPath.set(t)})});isRestoring=c(!1);isRepairing=c(!1);isDeleting=c(!1);isSavingDbPath=c(!1);isSavingAndRepairing=c(!1);isMovingDb=c(!1);activeBackupEffect=h(()=>{let t=this.activeBackup();if(!t)return;let _=t.Backup?.DBPath??"";this.backupFilePath.set(_)});repairDatabase(){this.isRepairing.set(!0),this.#e.postApiV1BackupByIdRepair({id:this.backupId()}).pipe(g(1),d(()=>this.isRepairing.set(!1))).subscribe()}deleteDatabase(){this.isDeleting.set(!0),this.#e.postApiV1BackupByIdDeletedb({id:this.backupId()}).pipe(g(1),d(()=>this.isDeleting.set(!1))).subscribe()}restoreDatabase(){this.isRestoring.set(!0),this.#e.postApiV1BackupByIdDeletedb({id:this.backupId()}).pipe(g(1),E(()=>this.#e.postApiV1BackupByIdRepair({id:this.backupId()})),d(()=>this.isRestoring.set(!1))).subscribe()}resetDatabasePath(){this.backupFilePath.set(this.#t)}saveDatabasePath(){this.isSavingDbPath.set(!0),this.#e.postApiV1BackupByIdUpdatedb({id:this.backupId(),requestBody:{path:this.backupFilePath()}}).pipe(d(()=>this.isSavingDbPath.set(!1))).subscribe()}saveAndRepairDatabasePath(){this.isSavingAndRepairing.set(!0),this.#e.postApiV1BackupByIdUpdatedb({id:this.backupId(),requestBody:{path:this.backupFilePath()}}).pipe(E(()=>this.#e.postApiV1BackupByIdRepair({id:this.backupId()})),d(()=>this.isSavingAndRepairing.set(!1)))}moveDatabasePath(){this.isMovingDb.set(!0),this.#e.postApiV1BackupByIdMovedb({id:this.backupId(),requestBody:{path:this.backupFilePath()}}).pipe(d(()=>this.isMovingDb.set(!1))).subscribe()}static \u0275fac=function(_){return new(_||S)};static \u0275cmp=y({type:S,selectors:[["app-database"]],decls:46,vars:18,consts:()=>{let t;t=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON: Back `;let _;_=$localize`Local database for ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let e;e=$localize` Each backup has a local database associated with it, which stores information about the remote backup on the local machine. This makes it faster to perform many operations, and reduces the amount of data that needs to be downloaded for each operation. `;let n;n=$localize`Maintenance`;let T;T=$localize` If the backup and the remote storage is out of sync, Duplicati will require that you perform a repair operation to synchronize the database. If the repair is unsuccessful, you can delete the local database and re-generate. `;let b;b=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:wrench${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Repair `;let f;f=$localize`${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:trash${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON: Delete `;let B;B=$localize`${"\uFFFD#25\uFFFD"}:START_TAG_SPK_ICON:clock-counter-clockwise${"\uFFFD/#25\uFFFD"}:CLOSE_TAG_SPK_ICON: Restore (delete and repair) `;let I;I=$localize`Placement`;let M;M=$localize`${"\uFFFD#36\uFFFD"}:START_TAG_SPK_ICON:backspace${"\uFFFD/#36\uFFFD"}:CLOSE_TAG_SPK_ICON: Reset `;let N;N=$localize`${"\uFFFD#39\uFFFD"}:START_TAG_SPK_ICON:floppy-disk${"\uFFFD/#39\uFFFD"}:CLOSE_TAG_SPK_ICON: Save `;let $;$=$localize`${"\uFFFD#42\uFFFD"}:START_TAG_SPK_ICON:wrench${"\uFFFD/#42\uFFFD"}:CLOSE_TAG_SPK_ICON: Save & Repair `;let R;return R=$localize`${"\uFFFD#45\uFFFD"}:START_TAG_SPK_ICON:flow-arrow${"\uFFFD/#45\uFFFD"}:CLOSE_TAG_SPK_ICON: Move existing database `,[t,_,e,n,T,b,f,B,I,M,N,$,R,[1,"back"],["type","button","spk-button","","routerLink","/",1,"small"],[1,"actions","maintenance"],["spk-button","",3,"click","disabled"],["type","text",3,"ngModelChange","ngModel"],["prefix",""],[1,"actions","placement"]]},template:function(_,e){if(_&1&&(l(0,"app-status-bar"),i(1,"section")(2,"div",13)(3,"button",14),p(4,0),l(5,"spk-icon"),r(),a()(),i(6,"article")(7,"h1"),F(8,1),a(),i(9,"p"),F(10,2),a()(),i(11,"article")(12,"h2"),F(13,3),a(),i(14,"p"),F(15,4),a(),i(16,"div",15)(17,"button",16),u("click",function(){return e.repairDatabase()}),p(18,5),l(19,"spk-icon"),r(),a(),i(20,"button",16),u("click",function(){return e.deleteDatabase()}),p(21,6),l(22,"spk-icon"),r(),a(),i(23,"button",16),u("click",function(){return e.restoreDatabase()}),p(24,7),l(25,"spk-icon"),r(),a()()(),i(26,"article")(27,"h2"),F(28,8),a(),i(29,"spk-form-field")(30,"input",17),V("ngModelChange",function(T){return X(e.backupFilePath,T)||(e.backupFilePath=T),T}),a(),v(31,ie,2,0,"spk-icon",18)(32,ne,2,0,"spk-icon",18),a(),i(33,"div",19)(34,"button",16),u("click",function(){return e.resetDatabasePath()}),p(35,9),l(36,"spk-icon"),r(),a(),i(37,"button",16),u("click",function(){return e.saveDatabasePath()}),p(38,10),l(39,"spk-icon"),r(),a(),i(40,"button",16),u("click",function(){return e.saveAndRepairDatabasePath()}),p(41,11),l(42,"spk-icon"),r(),a(),i(43,"button",16),u("click",function(){return e.moveDatabasePath()}),p(44,12),l(45,"spk-icon"),r(),a()()()()),_&2){let n;s(8),L((n=e.activeBackup())==null||n.Backup==null?null:n.Backup.Name),U(8),s(9),P("loader",e.isRepairing()),A("disabled",!e.isValidatedPath()),s(3),P("loader",e.isDeleting()),A("disabled",!e.isValidatedPath()),s(3),P("loader",e.isRestoring()),A("disabled",e.pathHasChanged()),s(6),G(e.isValidatedPath()?"success":"error"),s(),w("ngModel",e.backupFilePath),s(),K(e.isValidatedPath()?31:32),s(3),A("disabled",!e.pathHasChanged()),s(3),A("disabled",!e.pathHasChanged()),s(3),A("disabled",!e.pathHasChanged()),s(3),A("disabled",!e.pathHasChanged())}},dependencies:[ee,Y,Z,x,te,j,J,W,q],styles:["[_nghost-%COMP%]{display:block}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:2rem}article[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}h1[_ngcontent-%COMP%]{font:var(--title-20)}h2[_ngcontent-%COMP%]{font:var(--title-30)}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{m as default};
@@ -1 +1 @@
1
- import{a as z}from"./chunk-TJS6O6KD.js";import"./chunk-2ZVLF3KW.js";import"./chunk-6OKAWH4X.js";import{a as X}from"./chunk-GDHVQU56.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import"./chunk-T2OUHRUV.js";import"./chunk-CHRKPWRG.js";import"./chunk-I3C2AEHI.js";import{e as E}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as R,g as f,h as k,k as G,p as w}from"./chunk-WX7L7V6J.js";import{h as L}from"./chunk-4AECHE4W.js";import"./chunk-JV6DGJII.js";import"./chunk-CKPICCFH.js";import"./chunk-EF7JWRDC.js";import{$b as l,Ab as b,Gb as h,Hb as y,Ib as c,Jb as A,Kb as I,Nb as S,Qa as p,Y as d,ab as O,cc as B,fb as m,kb as M,lb as P,lc as g,mc as v,nb as u,sb as F,tb as N,ub as x,vb as $,wb as e,xb as i,yb as s,zb as D}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var W=()=>[k,f,R,E],j=()=>["/restore-from-files"],K=()=>["/restore/from-config"],q=t=>["/restore",t];function V(t,r){if(t&1&&(e(0,"spk-card",5),s(1,"img",10),e(2,"div",7)(3,"h3"),c(4,1),i(),e(5,"p"),l(6),i()(),e(7,"button",8),h(8,2),s(9,"spk-icon"),y(),i()()),t&2){let n,a,o=r.$implicit;p(4),A((n=o.Backup==null?null:o.Backup.Name)!==null&&n!==void 0?n:"Backup name missing"),I(4),p(2),B(" ",(a=o.Backup==null||o.Backup.Metadata==null?null:o.Backup.Metadata.SourceSizeString)!==null&&a!==void 0?a:"-"," / ",(a=o.Backup==null||o.Backup.Metadata==null?null:o.Backup.Metadata.BackupListCount)!==null&&a!==void 0?a:"-"," "),p(),u("routerLink",v(4,q,o.Backup==null?null:o.Backup.ID))}}function H(t,r){if(t&1&&x(0,V,10,6,"spk-card",5,N),t&2){let n=S(2);$(n.backups())}}function J(t,r){t&1&&(D(0),c(1,3),b())}function Q(t,r){if(t&1&&m(0,H,2,0)(1,J,2,0,"ng-container"),t&2){let n=S();F(n.backups().length?0:1)}}function U(t,r){t&1&&(e(0,"div",11),s(1,"spk-progress-bar",12),e(2,"div",7)(3,"h3"),c(4,4),i()()())}var C=class t{#e=d(X);#t=d(L);backups=this.#e.backups;backupsLoading=this.#e.backupsLoading;ngOnInit(){this.#e.getBackups(!0)}restoreNow(r){this.#t.postApiV1BackupByIdRestore({id:r.Backup?.ID,requestBody:{}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=O({type:t,selectors:[["app-restore"]],decls:32,vars:5,consts:()=>{let r;r=$localize`Where do you want to restore from?`;let n;n=$localize`Restore ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let a;a=$localize` Restore ${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let o;o=$localize`No backups founds`;let T;return T=$localize`Loading backups...`,[r,n,a,o,T,[1,"type-a"],["src","assets/images/backup.png","alt","","width","48px"],[1,"text"],["spk-button","",3,"routerLink"],["src","assets/images/restore.png","alt","","width","48px"],["src","assets/images/folder.png","alt","","width","48px"],[1,"loading-list"],[1,"indeterminate","primary"]]},template:function(n,a){n&1&&(s(0,"app-status-bar"),e(1,"section")(2,"h2"),c(3,0),i(),e(4,"spk-card",5),s(5,"img",6),e(6,"div",7)(7,"h3"),l(8,"Direct restore from backup files"),i(),e(9,"p"),l(10,"Point to your backup files and restore from there."),i()(),e(11,"button",8),l(12," Start "),e(13,"spk-icon"),l(14,"play-circle"),i()()(),e(15,"spk-card",5),s(16,"img",9),e(17,"div",7)(18,"h3"),l(19,"Restore from configuration"),i(),e(20,"p"),l(21,"Load destination from an exported job or a storage provider"),i()(),e(22,"button",8),l(23," Start "),e(24,"spk-icon"),l(25,"play-circle"),i()()(),e(26,"spk-divider"),l(27,"Or existing"),i(),m(28,Q,2,1)(29,U,5,0),M(30,28,W,null,29),i()),n&2&&(p(11),u("routerLink",g(3,j)),p(11),u("routerLink",g(4,K)),p(8),P(!a.backupsLoading()))},dependencies:[z,k,f,G,R,w,E],styles:["[_nghost-%COMP%]{display:block}h2[_ngcontent-%COMP%]{font:var(--title-30);text-align:center;padding:2rem}section[_ngcontent-%COMP%]{max-width:43.75rem;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;gap:1rem}spk-divider[_ngcontent-%COMP%]{color:var(--base-level-60)}spk-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;--card-padding: 2rem}spk-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:.25rem}"],changeDetection:0})};export{C as default};
1
+ import{a as z}from"./chunk-7JUYF3HW.js";import"./chunk-KIUU6RPZ.js";import"./chunk-NQNRR7VE.js";import{a as X}from"./chunk-OTLEEXAA.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import"./chunk-T2OUHRUV.js";import"./chunk-F4EEOSGJ.js";import"./chunk-I3C2AEHI.js";import{e as E}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as R,g as f,h as k,k as G,p as w}from"./chunk-WX7L7V6J.js";import{h as L}from"./chunk-JSGFZ2GA.js";import"./chunk-JV6DGJII.js";import"./chunk-CKPICCFH.js";import"./chunk-EF7JWRDC.js";import{$b as l,Ab as b,Gb as h,Hb as y,Ib as c,Jb as A,Kb as I,Nb as S,Qa as p,Y as d,ab as O,cc as B,fb as m,kb as M,lb as P,lc as g,mc as v,nb as u,sb as F,tb as N,ub as x,vb as $,wb as e,xb as i,yb as s,zb as D}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var W=()=>[k,f,R,E],j=()=>["/restore-from-files"],K=()=>["/restore/from-config"],q=t=>["/restore",t];function V(t,r){if(t&1&&(e(0,"spk-card",5),s(1,"img",10),e(2,"div",7)(3,"h3"),c(4,1),i(),e(5,"p"),l(6),i()(),e(7,"button",8),h(8,2),s(9,"spk-icon"),y(),i()()),t&2){let n,a,o=r.$implicit;p(4),A((n=o.Backup==null?null:o.Backup.Name)!==null&&n!==void 0?n:"Backup name missing"),I(4),p(2),B(" ",(a=o.Backup==null||o.Backup.Metadata==null?null:o.Backup.Metadata.SourceSizeString)!==null&&a!==void 0?a:"-"," / ",(a=o.Backup==null||o.Backup.Metadata==null?null:o.Backup.Metadata.BackupListCount)!==null&&a!==void 0?a:"-"," "),p(),u("routerLink",v(4,q,o.Backup==null?null:o.Backup.ID))}}function H(t,r){if(t&1&&x(0,V,10,6,"spk-card",5,N),t&2){let n=S(2);$(n.backups())}}function J(t,r){t&1&&(D(0),c(1,3),b())}function Q(t,r){if(t&1&&m(0,H,2,0)(1,J,2,0,"ng-container"),t&2){let n=S();F(n.backups().length?0:1)}}function U(t,r){t&1&&(e(0,"div",11),s(1,"spk-progress-bar",12),e(2,"div",7)(3,"h3"),c(4,4),i()()())}var C=class t{#e=d(X);#t=d(L);backups=this.#e.backups;backupsLoading=this.#e.backupsLoading;ngOnInit(){this.#e.getBackups(!0)}restoreNow(r){this.#t.postApiV1BackupByIdRestore({id:r.Backup?.ID,requestBody:{}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=O({type:t,selectors:[["app-restore"]],decls:32,vars:5,consts:()=>{let r;r=$localize`Where do you want to restore from?`;let n;n=$localize`Restore ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let a;a=$localize` Restore ${"\uFFFD#9\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let o;o=$localize`No backups founds`;let T;return T=$localize`Loading backups...`,[r,n,a,o,T,[1,"type-a"],["src","assets/images/backup.png","alt","","width","48px"],[1,"text"],["spk-button","",3,"routerLink"],["src","assets/images/restore.png","alt","","width","48px"],["src","assets/images/folder.png","alt","","width","48px"],[1,"loading-list"],[1,"indeterminate","primary"]]},template:function(n,a){n&1&&(s(0,"app-status-bar"),e(1,"section")(2,"h2"),c(3,0),i(),e(4,"spk-card",5),s(5,"img",6),e(6,"div",7)(7,"h3"),l(8,"Direct restore from backup files"),i(),e(9,"p"),l(10,"Point to your backup files and restore from there."),i()(),e(11,"button",8),l(12," Start "),e(13,"spk-icon"),l(14,"play-circle"),i()()(),e(15,"spk-card",5),s(16,"img",9),e(17,"div",7)(18,"h3"),l(19,"Restore from configuration"),i(),e(20,"p"),l(21,"Load destination from an exported job or a storage provider"),i()(),e(22,"button",8),l(23," Start "),e(24,"spk-icon"),l(25,"play-circle"),i()()(),e(26,"spk-divider"),l(27,"Or existing"),i(),m(28,Q,2,1)(29,U,5,0),M(30,28,W,null,29),i()),n&2&&(p(11),u("routerLink",g(3,j)),p(11),u("routerLink",g(4,K)),p(8),P(!a.backupsLoading()))},dependencies:[z,k,f,G,R,w,E],styles:["[_nghost-%COMP%]{display:block}h2[_ngcontent-%COMP%]{font:var(--title-30);text-align:center;padding:2rem}section[_ngcontent-%COMP%]{max-width:43.75rem;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;gap:1rem}spk-divider[_ngcontent-%COMP%]{color:var(--base-level-60)}spk-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;--card-padding: 2rem}spk-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:.25rem}"],changeDetection:0})};export{C as default};
@@ -1 +1 @@
1
- import{c as M}from"./chunk-CHRKPWRG.js";import"./chunk-I3C2AEHI.js";import"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{g as h}from"./chunk-WX7L7V6J.js";import"./chunk-4AECHE4W.js";import"./chunk-CKPICCFH.js";import{$b as O,Ib as l,Ob as C,Pb as c,Qa as u,Y as m,ab as s,fb as _,sb as f,wb as t,xb as i,yb as g}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var v=["*",[["","footer",""]]],T=["*","[footer]"],r=class n{static \u0275fac=function(e){return new(e||n)};static \u0275cmp=s({type:n,selectors:[["app-custom-card"]],ngContentSelectors:T,decls:11,vars:0,consts:[[1,"card"],["src","/assets/noise/auth-noise.svg",1,"noise"],[1,"header-title"],["src","/assets/duplicati/duplicati.svg","alt",""],[1,"bg"]],template:function(e,a){e&1&&(C(v),t(0,"div",0),g(1,"img",1),t(2,"header")(3,"div",2),g(4,"img",3),O(5," Duplicati "),i()(),t(6,"main"),c(7),t(8,"footer"),c(9,1),i()()(),g(10,"div",4))},styles:['[_nghost-%COMP%]{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background-color:var(--base-level-20)}body.dark [_nghost-%COMP%] .card[_ngcontent-%COMP%]:before{background:radial-gradient(rgba(var(--primary-rgb-900),1),#0000 60%)}.card[_ngcontent-%COMP%]{max-width:480px;width:100%;position:relative;z-index:100;background-color:var(--base-level-10);border-radius:var(--shape-5);box-shadow:var(--box-shadow-40);border:1px solid var(--base-level-30);overflow:hidden}.card[_ngcontent-%COMP%]:before{content:"";position:absolute;height:480px;transform:translateY(-285px);left:0;right:0;z-index:-2;background:radial-gradient(rgba(var(--primary-rgb-100),1),#0000 60%)}.card[_ngcontent-%COMP%] img.noise[_ngcontent-%COMP%]{position:absolute;height:480px;width:100%;transform:translateY(-285px);left:0;right:0;z-index:-1;mask-image:radial-gradient(#000,#0000 60%)}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding:2rem 2rem 0;gap:12px;position:relative;z-index:10}.header-title[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;gap:10px}.header-title[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:28px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}main[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;padding:2rem;gap:2.5rem;position:relative;z-index:10}main[_ngcontent-%COMP%] footer[_ngcontent-%COMP%]{font:var(--paragraph-40);color:var(--base-level-60R);text-align:center;text-wrap:balance}.bg[_ngcontent-%COMP%]{position:fixed;inset:0;width:100vw;height:100vh;background-image:url(/assets/backgrounds/base-bg.svg);background-size:cover;background-position:center;background-repeat:no-repeat}body.dark[_ngcontent-%COMP%] .bg[_ngcontent-%COMP%]{opacity:1}footer[_ngcontent-%COMP%]:empty{display:none}'],changeDetection:0})};function x(n,o){n&1&&(t(0,"h3"),l(1,0),i())}function y(n,o){n&1&&(t(0,"h3"),l(1,1),i(),t(2,"button",3),l(3,2),i())}var d=class n{#e=m(M);isLoggingOut=this.#e.isLoggingOut;ngOnInit(){this.#e.logout()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=s({type:n,selectors:[["app-logout"]],decls:3,vars:1,consts:()=>{let o;o=$localize`Logging out...`;let e;e=$localize`You have successfully logged out your being redirected to login page.`;let a;return a=$localize`Go to login page`,[o,e,a,["spk-button","","routerLink","/",1,"raised","primary"]]},template:function(e,a){e&1&&(t(0,"app-custom-card"),_(1,x,2,0,"h3")(2,y,4,0),i()),e&2&&(u(),f(a.isLoggingOut()?1:2))},dependencies:[r,h],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})};export{d as default};
1
+ import{c as M}from"./chunk-F4EEOSGJ.js";import"./chunk-I3C2AEHI.js";import"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{g as h}from"./chunk-WX7L7V6J.js";import"./chunk-JSGFZ2GA.js";import"./chunk-CKPICCFH.js";import{$b as O,Ib as l,Ob as C,Pb as c,Qa as u,Y as m,ab as s,fb as _,sb as f,wb as t,xb as i,yb as g}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var v=["*",[["","footer",""]]],T=["*","[footer]"],r=class n{static \u0275fac=function(e){return new(e||n)};static \u0275cmp=s({type:n,selectors:[["app-custom-card"]],ngContentSelectors:T,decls:11,vars:0,consts:[[1,"card"],["src","/assets/noise/auth-noise.svg",1,"noise"],[1,"header-title"],["src","/assets/duplicati/duplicati.svg","alt",""],[1,"bg"]],template:function(e,a){e&1&&(C(v),t(0,"div",0),g(1,"img",1),t(2,"header")(3,"div",2),g(4,"img",3),O(5," Duplicati "),i()(),t(6,"main"),c(7),t(8,"footer"),c(9,1),i()()(),g(10,"div",4))},styles:['[_nghost-%COMP%]{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background-color:var(--base-level-20)}body.dark [_nghost-%COMP%] .card[_ngcontent-%COMP%]:before{background:radial-gradient(rgba(var(--primary-rgb-900),1),#0000 60%)}.card[_ngcontent-%COMP%]{max-width:480px;width:100%;position:relative;z-index:100;background-color:var(--base-level-10);border-radius:var(--shape-5);box-shadow:var(--box-shadow-40);border:1px solid var(--base-level-30);overflow:hidden}.card[_ngcontent-%COMP%]:before{content:"";position:absolute;height:480px;transform:translateY(-285px);left:0;right:0;z-index:-2;background:radial-gradient(rgba(var(--primary-rgb-100),1),#0000 60%)}.card[_ngcontent-%COMP%] img.noise[_ngcontent-%COMP%]{position:absolute;height:480px;width:100%;transform:translateY(-285px);left:0;right:0;z-index:-1;mask-image:radial-gradient(#000,#0000 60%)}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding:2rem 2rem 0;gap:12px;position:relative;z-index:10}.header-title[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;gap:10px}.header-title[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:28px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}main[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;padding:2rem;gap:2.5rem;position:relative;z-index:10}main[_ngcontent-%COMP%] footer[_ngcontent-%COMP%]{font:var(--paragraph-40);color:var(--base-level-60R);text-align:center;text-wrap:balance}.bg[_ngcontent-%COMP%]{position:fixed;inset:0;width:100vw;height:100vh;background-image:url(/assets/backgrounds/base-bg.svg);background-size:cover;background-position:center;background-repeat:no-repeat}body.dark[_ngcontent-%COMP%] .bg[_ngcontent-%COMP%]{opacity:1}footer[_ngcontent-%COMP%]:empty{display:none}'],changeDetection:0})};function x(n,o){n&1&&(t(0,"h3"),l(1,0),i())}function y(n,o){n&1&&(t(0,"h3"),l(1,1),i(),t(2,"button",3),l(3,2),i())}var d=class n{#e=m(M);isLoggingOut=this.#e.isLoggingOut;ngOnInit(){this.#e.logout()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=s({type:n,selectors:[["app-logout"]],decls:3,vars:1,consts:()=>{let o;o=$localize`Logging out...`;let e;e=$localize`You have successfully logged out your being redirected to login page.`;let a;return a=$localize`Go to login page`,[o,e,a,["spk-button","","routerLink","/",1,"raised","primary"]]},template:function(e,a){e&1&&(t(0,"app-custom-card"),_(1,x,2,0,"h3")(2,y,4,0),i()),e&2&&(u(),f(a.isLoggingOut()?1:2))},dependencies:[r,h],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})};export{d as default};
@@ -1 +1 @@
1
- import{n as re}from"./chunk-JD54W4UA.js";import"./chunk-6DH6O5YE.js";import"./chunk-YJSWEW6C.js";import"./chunk-VN7JM6M3.js";import"./chunk-KSP3JQHY.js";import{a as Tt}from"./chunk-HTNYQE2B.js";import{a as ut}from"./chunk-6HTVIY6O.js";import{a as Z}from"./chunk-URU2SLPX.js";import{a as St}from"./chunk-XJXOUOD5.js";import{a as gt}from"./chunk-TJS6O6KD.js";import{a as pt}from"./chunk-7L42EO7J.js";import"./chunk-2ZVLF3KW.js";import"./chunk-6OKAWH4X.js";import"./chunk-GDHVQU56.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import{c as J,e as Y,h as ee,l as ct,s as te,t as ne}from"./chunk-T2OUHRUV.js";import"./chunk-CHRKPWRG.js";import{a as nt}from"./chunk-I3C2AEHI.js";import"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{A as dt,a as q,b as j,e as it,g as K,k as ot,l as Q,p as st,q as at,r as rt,t as lt,z as _t}from"./chunk-WX7L7V6J.js";import{h as v}from"./chunk-4AECHE4W.js";import"./chunk-JV6DGJII.js";import"./chunk-CKPICCFH.js";import"./chunk-EF7JWRDC.js";import{$b as R,Ac as $,B as k,Bc as b,Cb as P,F as I,Gb as z,Hb as U,Ib as r,Jb as se,Kb as ae,Lb as Ze,Mb as S,Na as qe,Nb as p,Qa as l,Qb as Je,S as V,Xa as je,Y as T,Yb as Ye,Zb as et,a as Be,ab as L,ac as B,b as We,bc as W,c as He,da as m,ea as C,ec as y,fb as f,fc as G,gc as A,kb as Ke,kc as tt,lb as Qe,lc as H,n as w,nb as h,pb as N,sb as E,ua as c,wb as i,xb as o,yb as O}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var F=class s{#e=T(v);#t=Tt(this.#e.getApiV1Serversettings());#n=c(void 0);serverSettings=$(()=>this.#n()||this.#t());refreshServerSettings(){this.#e.getApiV1Serversettings().subscribe({next:e=>{this.#n.set(e)}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=V({token:s,factory:s.\u0275fac,providedIn:"root"})};var Et=["formRef"],ft=()=>[import("./chunk-AADIFDNE.js").then(s=>s.OptionsListComponent)];function Nt(s,e){s&1&&(i(0,"spk-alert",3),r(1,1),o())}function Mt(s,e){if(s&1){let t=P();i(0,"app-options-list",5),A("optionsChange",function(a){m(t);let d=p();return G(d.settings,a)||(d.settings=a),C(a)}),o()}if(s&2){let t=p();y("options",t.settings),h("hasFreeTextSettings",!0)}}var ht=["Bytes","KB","MB","GB","TB","PB"],D=class s{#e=T(re);#t=T(F);#n=T(v);formRef=je.required("formRef");settings=this.#e.settings;isSubmitting=c(!1);isLoadingOptions=c(!0);saved=c(!1);sizeOptions=c(ht);lastRecievedServerSettings=c({});serverSettingsEffect=b(()=>{let e=this.#t.serverSettings();if(e===void 0)return;this.lastRecievedServerSettings.set(e),this.isLoadingOptions.set(!0);let t=Object.entries(e);t.forEach(([n,a],d)=>{if(n.startsWith("--")){let u=n.replace("--","");this.settings.update(g=>(g.some(M=>M.Name===u)||g.push({Name:u,Value:a}),g))}d===t.length-1&&this.isLoadingOptions.set(!1)})});submit(){this.isSubmitting.set(!0);let e=this.settings(),t=this.lastRecievedServerSettings(),n=e.map(g=>g.Name),d=Object.keys(t).filter(g=>!n.includes(g.replace("--",""))),u=e.reduce((g,M)=>(g[`--${M.Name}`]=M.Value,g),{});d.forEach(g=>{u[g]=null}),this.#n.patchApiV1Serversettings({requestBody:u}).pipe(I(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.#t.refreshServerSettings(),this.saved.set(!0),setTimeout(()=>{this.saved.set(!1)},3e3)}})}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(t,n){t&1&&Ye(n.formRef,Et,5),t&2&&et()},features:[tt([re])],decls:8,vars:4,consts:()=>{let e;e=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SPK_ICON:floppy-disk${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPK_ICON: Save settings `;let t;return t=$localize`Settings saved`,[e,t,[1,"actions"],[1,"success"],["spk-button","","type","button",1,"raised","primary",3,"click"],[3,"optionsChange","options","hasFreeTextSettings"]]},template:function(t,n){t&1&&(i(0,"div",2),f(1,Nt,2,0,"spk-alert",3),i(2,"button",4),S("click",function(){return n.submit()}),z(3,0),O(4,"spk-icon"),U(),o()(),f(5,Mt,1,2),Ke(6,5,ft)),t&2&&(l(),E(n.saved()?1:-1),l(),N("loader",n.isSubmitting()),l(4),Qe(!n.isLoadingOptions()))},dependencies:[ne,K,q,j],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40.625rem;justify-self:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:flex-end;grid-template-columns:1fr 2.5rem;gap:.5rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.remote-volume-wrap[_ngcontent-%COMP%] p.warning[_ngcontent-%COMP%]{color:#7d7d00}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 40px;align-items:flex-end}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var x=class s{#e=T(it);#t=T(v);#n=T(Z);repeatRegisterTimer=null;state=c("unknown");claimUrl=c(null);registerUrl=c("");status=$(()=>{let e=this.state();return e==="enabled"?"Remote control is enabled but not connected":e==="connected"?"Remote control is connected":e==="registering"?"Registering machine...":e==="registeringfaulted"?"Registration failed":e==="registered"?"Registered, waiting for accept":e==="disabled"?"Remote control is configured but not enabled":e==="unknown"?"...loading...":"Remote control is not set up"});sysInfoEffect=b(()=>{let e=this.#n.systemInfo();e&&this.registerUrl.set(e.RemoteControlRegistrationUrl??"")});#i(e){e.RegistrationUrl&&this.claimUrl.set(e.RegistrationUrl),e.IsConnected?this.state.set("connected"):e.IsEnabled?this.state.set("enabled"):e.CanEnable?this.state.set("disabled"):e.IsRegisteringFaulted?this.state.set("registeringfaulted"):e.IsRegistering?e.RegistrationUrl!=null&&e.RegistrationUrl.trim().length>0?this.state.set("registered"):this.state.set("registering"):this.state.set("inactive");let t=this.state();this.repeatRegisterTimer!==null&&(clearTimeout(this.repeatRegisterTimer),this.repeatRegisterTimer=null),t==="registering"&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:""}}).subscribe({next:n=>this.#i(n),error:n=>this.#o(n)})},5e3)),(t==="enabled"||t==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.getApiV1RemotecontrolStatus().subscribe({next:n=>this.#i(n),error:n=>this.#o(n)})},5e3)),e.IsRegistering&&e.CanEnable&&this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:n=>this.#i(n)})}#o(e){this.#t.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#i(t)})}refreshRemoteControlStatus(){this.#t.getApiV1RemotecontrolStatus().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}beginRemoteRegistration(){this.state.set("registering"),this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:this.registerUrl()}}).subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}cancelRemoteRegistration(){this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}enableRemoteControl(){this.#t.postApiV1RemotecontrolEnable().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}disableRemoteControl(){this.#t.postApiV1RemotecontrolDisable().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}deleteRemoteControl(){let e=this;this.#e.open(pt,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete the remote control registration?`,confirmText:$localize`Delete registration`,cancelText:$localize`Cancel`},closed:t=>{t&&e.#t.deleteApiV1RemotecontrolRegistration().subscribe({next:n=>e.#i(n),error:n=>e.#o(n)})}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=V({token:s,factory:s.\u0275fac,providedIn:"root"})};function Ot(s,e){if(s&1){let t=P();i(0,"spk-form-field",10)(1,"input",11),A("ngModelChange",function(a){m(t);let d=p(2);return G(d.registerUrl,a)||(d.registerUrl=a),C(a)}),o()(),i(2,"button",12),S("click",function(){m(t);let a=p(2);return C(a.register())}),r(3,0),o()}if(s&2){let t=p(2);l(),y("ngModel",t.registerUrl)}}function Rt(s,e){if(s&1&&(i(0,"div",8)(1,"label"),r(2,1),o(),i(3,"a",13),R(4),o()()),s&2){let t=p(2);l(3),Je("href",t.claimUrl(),qe),l(),B(t.claimUrl())}}function It(s,e){s&1&&(i(0,"div",8)(1,"label"),r(2,2),o()())}function yt(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.cancel())}),r(1,3),o()}}function Gt(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.disable())}),r(1,4),o()}}function At(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.enable())}),r(1,5),o(),i(2,"button",14),S("click",function(){m(t);let a=p(2);return C(a.delete())}),r(3,6),o()}}function vt(s,e){if(s&1&&(i(0,"div",7),f(1,Ot,4,1)(2,Rt,5,2,"div",8)(3,It,3,0,"div",8)(4,yt,2,0,"button",9)(5,Gt,2,0,"button",9)(6,At,4,0),o()),s&2){let t=p();l(),E(t.state()==="inactive"?1:-1),l(),E(t.state()==="registered"?2:-1),l(),E(t.state()==="registering"?3:-1),l(),E(t.state()==="registering"||t.state()==="registeringfaulted"||t.state()==="registered"?4:-1),l(),E(t.state()==="connected"||t.state()==="enabled"?5:-1),l(),E(t.state()==="disabled"?6:-1)}}var oe=class s{#e=T(x);state=this.#e.state;claimUrl=this.#e.claimUrl;registerUrl=this.#e.registerUrl;ngOnInit(){this.#e.refreshRemoteControlStatus()}cancel(){this.#e.cancelRemoteRegistration()}register(){this.#e.beginRemoteRegistration()}disable(){this.#e.disableRemoteControl()}enable(){this.#e.enableRemoteControl()}delete(){this.#e.deleteRemoteControl()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-remote-control"]],decls:1,vars:1,consts:()=>{let e;e=$localize`Register for remote control`;let t;t=$localize`Machine is now registered, open this link to add it to your account:`;let n;n=$localize`Registering, please wait...`;let a;a=$localize`Cancel registration`;let d;d=$localize`Disable remote control`;let u;u=$localize`Enable remote control`;let g;return g=$localize`Delete remote control setup`,[e,t,n,a,d,u,g,[1,"field-row"],[1,"field-col"],["type","button","spk-button","",1,"raised"],["label","Registration URL","for","remoteControlRegisterUrl"],["type","text","spk-input","","id","remoteControlRegisterUrl","name","remoteControlRegisterUrl",3,"ngModelChange","ngModel"],["type","button","spk-button","",1,"raised",3,"click"],["target","_blank",3,"href"],["type","button","spk-button","",1,"raised","error",3,"click"]]},template:function(t,n){t&1&&f(0,vt,7,6,"div",7),t&2&&E(n.state()!=="unknown"?0:-1)},dependencies:[te,J,Y,ee,Q],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] button[_ngcontent-%COMP%]{white-space:nowrap}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] spk-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] spk-select[_ngcontent-%COMP%]{flex:1 0}"],changeDetection:0})};function Ct(...s){let e=c(...s);return Object.defineProperty(e,"value",{get:e.asReadonly(),set:e.set.bind(e)})}var le=()=>({standalone:!0});function $t(s,e){s&1&&(i(0,"spk-icon",69),R(1,"check"),o())}function bt(s,e){s&1&&(i(0,"spk-icon",70),R(1,"prohibit"),o())}function wt(s,e){if(s&1){let t=P();i(0,"button",74),S("click",function(){m(t);let a=p(2);return C(a.updatePassphrase())}),r(1,34),o()}if(s&2){let t=p(2);N("loader",t.isUpdating())}}function kt(s,e){if(s&1){let t=P();i(0,"spk-tooltip",73)(1,"button",75),S("click",function(){m(t);let a=p(2);return C(a.updatePassphrase())}),r(2,35),o()()}if(s&2){let t=p(2);l(),N("loader",t.isUpdating()),h("disabled",!0)}}function Lt(s,e){if(s&1){let t=P();i(0,"spk-form-field")(1,"label",65),r(2,31),o(),i(3,"input",66),A("ngModelChange",function(a){m(t);let d=p();return G(d.passphrase,a)||(d.passphrase=a),C(a)}),o()(),i(4,"spk-form-field")(5,"label",67),r(6,32),o(),i(7,"input",68),A("ngModelChange",function(a){m(t);let d=p();return G(d.repeatPassphrase,a)||(d.repeatPassphrase=a),C(a)}),o(),f(8,$t,2,0,"spk-icon",69)(9,bt,2,0,"spk-icon",70),o(),i(10,"div",48)(11,"button",71),S("click",function(){m(t);let a=p();return C(a.cancelPasswordChange())}),r(12,33),o(),f(13,wt,2,2,"button",72)(14,kt,3,3,"spk-tooltip",73),o()}if(s&2){let t=p();l(3),y("ngModel",t.passphrase),l(4),h("disabled",t.passphrase().length===0),y("ngModel",t.repeatPassphrase),l(),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?8:9),l(3),N("loader",t.isUpdating()),l(2),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?13:14)}}function Ft(s,e){s&1&&(i(0,"spk-icon",76),R(1,"check"),o())}function xt(s,e){if(s&1){let t=P();i(0,"div",48)(1,"button",71),S("click",function(){m(t);let a=p();return C(a.openPassphraseForm())}),r(2,36),o(),f(3,Ft,2,0,"spk-icon",76),o()}if(s&2){let t=p();l(3),E(t.passwordUpdated()?3:-1)}}function Dt(s,e){if(s&1){let t=P();i(0,"spk-form-field")(1,"label",77),r(2,37),o(),i(3,"textarea",78),A("ngModelChange",function(a){m(t);let d=p();return G(d.allowedHostnames,a)||(d.allowedHostnames=a),C(a)}),o()(),i(4,"spk-alert",79),r(5,38),o(),i(6,"button",74),S("click",function(){m(t);let a=p();return C(a.updateAllowedHostnames())}),r(7,39),o()}if(s&2){let t=p();l(3),y("ngModel",t.allowedHostnames),l(3),N("loader",t.updatingAllowedHosts())}}function Xt(s,e){if(s&1&&R(0),s&2){let t,n=p();W(" ",(t=n.sysinfo())==null?null:t.ServerVersion," ")}}function Vt(s,e){s&1&&O(0,"spk-progress-bar",53)}function zt(s,e){if(s&1&&R(0),s&2){let t=e.$implicit;W(" ",t.label," ")}}function Ut(s,e){if(s&1&&R(0),s&2){let t=e.$implicit;W(" ",t.label," ")}}function Bt(s,e,t){let n=Ct(s),a=n[Be];t?.equal&&(a.equal=t.equal);let d;return n.set=u=>{clearTimeout(d),d=setTimeout(()=>We(a,u),e)},n.update=u=>{clearTimeout(d),d=setTimeout(()=>He(a,u),e)},n}var Wt=[{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],Ht=[{value:"none",label:$localize`System default (information)`},{value:"information",label:$localize`Usage statistics, warnings, errors, and crashes`},{value:"warning",label:$localize`Warnings, errors and crashes`},{value:"error",label:$localize`Errors and crashes`},{value:"crash",label:$localize`Crashes only`},{value:"none",label:$localize`None / disabled`}],_e=class s{#e=T(St);#t=T(Z);#n=T(v);#i=T(F);#o=T(x);#s=T(nt);#a=this.#s.getItem("locale")??"en-US";sysinfo=this.#t.systemInfo;isDarkMode=this.#e.isDarkMode;editAs=c("list");previousLang=this.#a;langCtrl=c(this.#a);usageStatistics=c("");updatingUsageStatistics=c(!1);remoteControlStatus=this.#o.status;updatingChannel=c(!1);updateChannel=c("");setNewChannel(e){let t=this.updateChannel();this.updateChannel.set(e),this.#n.patchApiV1Serversettings({requestBody:{"update-channel":e}}).pipe(I(()=>this.updatingChannel.set(!1)),k(()=>(this.updateChannel.set(t),w(null)))).subscribe()}allowRemoteAccess=c(!1);allowedHostnames=c("");loadedAllowedHostnames=c("");updatingRemoteAccess=c(!1);updatingAllowedHosts=c(!1);updateRemoteAccess(){let e=this.allowRemoteAccess(),t=!e;this.allowRemoteAccess.set(t),this.#n.patchApiV1Serversettings({requestBody:{"server-listen-interface":t?"any":"loopback"}}).pipe(I(()=>this.updatingRemoteAccess.set(!1)),k(()=>(this.allowRemoteAccess.set(e),w(null)))).subscribe()}updateAllowedHostnames(){let e=this.loadedAllowedHostnames(),t=this.allowedHostnames();this.updatingAllowedHosts.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"server-listen-interface":"any","allowed-hostnames":t}}).pipe(I(()=>this.updatingAllowedHosts.set(!1)),k(()=>(this.allowedHostnames.set(e),w(null)))).subscribe()}updatingDisableTrayIconLogin=c(!1);disableTrayIconLogin=c(!1);saveDisableTrayIconLogin(){let e=this.disableTrayIconLogin(),t=!e;this.updatingDisableTrayIconLogin.set(!0),this.disableTrayIconLogin.set(t),this.#n.patchApiV1Serversettings({requestBody:{"disable-tray-icon-login":t?"True":"False"}}).pipe(I(()=>this.updatingDisableTrayIconLogin.set(!1)),k(()=>(this.disableTrayIconLogin.set(e),w(null)))).subscribe()}showPassphraseForm=c(!1);isUpdating=c(!1);passphrase=c("");repeatPassphrase=c("");passwordUpdated=c(!1);updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(I(()=>this.isUpdating.set(!1))).subscribe({next:()=>{this.showPassphraseForm.set(!1),this.passwordUpdated.set(!0),setTimeout(()=>{this.passwordUpdated.set(!1)},3e3)}}))}openPassphraseForm(){this.showPassphraseForm.set(!0)}cancelPasswordChange(){this.showPassphraseForm.set(!1)}languageOptions=c(ut);usageStatisticsOptions=c(Ht);timeTypeOptions=c(Wt);timeType=c("s");timeValue=Bt(void 0,300);timeRange=$(()=>this.timeType()==="h"?[0,24]:[0,60]);timeValueEffect=b(()=>{let e=this.timeValue();this.updateStartupDelay()});updateLocale(e){!e||e===""||e===this.previousLang||(this.#s.setItem("locale",e),window.location.reload())}updateStartupDelay(){let e=this.#i.serverSettings(),t=this.timeValue(),n=this.timeType(),a=`${t}${n}`;typeof t!="number"||a===""||e&&e["startup-delay"]===a||this.#n.patchApiV1Serversettings({requestBody:{"startup-delay":a==="0s"?"":a}}).subscribe()}updateTimeType(e){this.timeType.set(e)}updateUsageStatistics(e){let t=this.usageStatistics();!e||e===""||e===t||(this.usageStatistics.set(e),this.updatingUsageStatistics.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"usage-reporter-level":this.usageStatistics()==="none"?"":this.usageStatistics()}}).pipe(I(()=>this.updatingUsageStatistics.set(!1)),k(()=>(this.usageStatistics.set(t),w(null)))).subscribe())}serverSettingsEffect=b(()=>{let e=this.#i.serverSettings();if(e===void 0)return;let t=e["startup-delay"],n=t.slice(-1),a=t.slice(0,-1),d=["s","m","h"];this.disableTrayIconLogin.set(e["disable-tray-icon-login"]!=="False"),this.updateChannel.set(e["update-channel"]),this.allowRemoteAccess.set(e["server-listen-interface"]==="any"),this.allowedHostnames.set(e["allowed-hostnames"]),this.loadedAllowedHostnames.set(e["allowed-hostnames"]),this.usageStatistics.set(e["usage-reporter-level"]===""?"none":e["usage-reporter-level"]),this.timeType.set(d.includes(n)?n:"s"),this.timeValue.set(parseInt(a==""?"0":a))});setDarkMode(){this.#e.setDarkMode()}setLightMode(){this.#e.setLightMode()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-settings"]],decls:132,vars:45,consts:()=>{let e;e=$localize`Settings`;let t;t=$localize`Configure your backup settings.`;let n;n=$localize`Remote access control`;let a;a=$localize`Color theme`;let d;d=$localize`Customize your application theme`;let u;u=$localize`Passwords`;let g;g=$localize`Change server passphrase`;let M;M=$localize`Language`;let de;de=$localize`Select a language for the platform`;let ce;ce=$localize`Allow remote access (requires restart)`;let pe;pe=$localize` By allowing remote access, the server listens to requests from any machine on your network. If you enable this option, make sure you are always using the computer on a secure firewall protected network. `;let Se;Se=$localize`Allow remote access`;let ge;ge=$localize`Prevent tray icon automatic log-in`;let Te;Te=$localize` By default, the tray icon will open the user interface with a token that unlocks the user interface. This ensures that you can access the user interface from the tray icon, while requiring others to enter a password. If you prefer having to type in the password, even when accessing the user interface from the tray icon, enable this option. `;let ue;ue=$localize`Prevent tray icon automatic log-in`;let me;me=$localize`Update channel`;let Ce;Ce=$localize` Default (${"\uFFFD0\uFFFD"}:INTERPOLATION:) `;let Ee;Ee=$localize`Same as the base install version: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let fe;fe=$localize`Stable`;let Ne;Ne=$localize`Official releases`;let Me;Me=$localize`Beta`;let he;he=$localize` Try out the new features that we are working on. Currently the most stable version available. Test Restore data before using this in production environments. `;let Pe;Pe=$localize` Experimental `;let Oe;Oe=$localize`Specific builds for developers only. Not for use with important data.`;let Re;Re=$localize`Canary`;let Ie;Ie=$localize`Individual builds for developers only. Not for use with important data.`;let ye;ye=$localize`Pause after startup or hibernation`;let Ge;Ge=$localize` Duplicati will run when started, but will remain in paused state for the duration. Duplicati will occupy minimal system resources and no backups will be run. `;let Ae;Ae=$localize`Usage statistics`;let X;X=$localize` Usage reports help us improve the user experience and evaluate impact of new features. We use them to generate ${"\uFFFD#119\uFFFD"}:START_LINK:public usage statistics.${"\uFFFD/#119\uFFFD"}:CLOSE_LINK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK: All usage reports are sent anonymously and do not contain any personal information. They contain information about hardware and operating system, the type of backend, backup duration, overall size of source data and similar data. They do not contain paths, filenames, usernames, passwords or similar sensitive information. `,X=Ze(X);let ve;ve=$localize`Advanced options`;let $e;$e=$localize`Enter new password`;let be;be=$localize`Repeat password`;let we;we=$localize`Password have to be filled and have to match`;let ke;ke=$localize`Passphrase`;let Le;Le=$localize`Repeat passphrase`;let Fe;Fe=$localize`Cancel`;let xe;xe=$localize` Update passphrase `;let De;De=$localize` Update passphrase `;let Xe;Xe=$localize`Change password`;let Ve;Ve=$localize`Allowed hostnames`;let ze;ze=$localize` To prevent various DNS based attacks, Duplicati limits the allowed hostnames to the ones listed here. Direct IP access and localhost is always allowed. Multiple hostnames can be supplied with a semicolon separator. If any of the allowed hostnames is an asterisk (*), all hostnames are allowed and this feature is disabled. If the field is empty, only IP address and localhost access is allowed. `;let Ue;return Ue=$localize` Update allowed hostnames `,[e,t,n,a,d,u,g,M,de,ce,pe,Se,ge,Te,ue,me,Ce,Ee,fe,Ne,Me,he,Pe,Oe,Re,Ie,ye,Ge,Ae,X,ve,ke,Le,Fe,xe,De,Xe,Ve,ze,Ue,[1,"content"],[1,"title"],[1,"left"],[1,"right"],[1,"themes"],["src","assets/images/light-theme.png","alt","light theme",3,"click"],["src","assets/images/dark-theme.png","alt","dark theme",3,"click"],[1,"right","passphrase-form"],[1,"actions"],["value","value","label","label",3,"options","isClearable","inlineSearch"],["type","text",3,"ngModelChange","ngModel","ngModelOptions"],[1,"right","remote-access-form"],[1,"primary","raised",3,"click"],[1,"indeterminate","primary"],[1,"right","radios"],[1,"radio-option",3,"click"],[1,"primary","raised"],[1,"field-row"],[1,"raised","primary",3,"unit"],["type","range",3,"min","max","ngModel","ngModelOptions"],["label","label","value","value",3,"options","isClearable"],["type","text",3,"ngModelChange","ngModel"],["href","#"],["label","label","value","value",3,"options","isLoading"],[1,"advanced-settings"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",$e,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",be,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"spk-success"],["suffix",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"loader"],["message",we,1,"primary"],["spk-button","",1,"raised","primary",3,"click"],["spk-button","",1,"raised","primary",3,"click","disabled"],[1,"spk-success"],["for","allowedHostnames"],["type","text","id","allowedHostnames",3,"ngModelChange","ngModel"],["type","primary"]]},template:function(t,n){if(t&1&&(O(0,"app-status-bar"),i(1,"div",40)(2,"header")(3,"div",41)(4,"h2"),r(5,0),o(),i(6,"p"),r(7,1),o()()(),i(8,"section")(9,"div",42)(10,"h3"),r(11,2),o(),i(12,"p"),R(13),o()(),i(14,"div",43),O(15,"app-remote-control"),o()(),i(16,"section")(17,"div",42)(18,"h3"),r(19,3),o(),i(20,"p"),r(21,4),o()(),i(22,"div",43)(23,"div",44)(24,"img",45),S("click",function(){return n.setLightMode()}),o(),i(25,"img",46),S("click",function(){return n.setDarkMode()}),o()()()(),i(26,"section")(27,"div",42)(28,"h3"),r(29,5),o(),i(30,"p"),r(31,6),o()(),i(32,"div",47),f(33,Lt,15,7)(34,xt,4,1,"div",48),o()(),i(35,"section")(36,"div",42)(37,"h3"),r(38,7),o(),i(39,"p"),r(40,8),o()(),i(41,"div",43)(42,"spk-select",49)(43,"input",50),S("ngModelChange",function(d){return n.updateLocale(d)}),o()()()(),i(44,"section")(45,"div",42)(46,"h3"),r(47,9),o(),i(48,"p"),r(49,10),o()(),i(50,"div",51)(51,"spk-toggle",52),S("click",function(){return n.updateRemoteAccess()}),i(52,"label"),r(53,11),o()(),f(54,Dt,8,3),o()(),i(55,"section")(56,"div",42)(57,"h3"),r(58,12),o(),i(59,"p"),r(60,13),o()(),i(61,"div",43)(62,"spk-toggle",52),S("click",function(){return n.saveDisableTrayIconLogin()}),i(63,"label"),r(64,14),o()()()(),i(65,"section")(66,"div",42)(67,"h3"),r(68,15),o(),i(69,"p"),f(70,Xt,1,1),o(),f(71,Vt,1,0,"spk-progress-bar",53),o(),i(72,"div",54)(73,"div",55),S("click",function(){return n.setNewChannel("")}),i(74,"spk-radio",56),r(75,16),o(),i(76,"p"),r(77,17),o()(),i(78,"div",55),S("click",function(){return n.setNewChannel("stable")}),i(79,"spk-radio",56),r(80,18),o(),i(81,"p"),r(82,19),o()(),i(83,"div",55),S("click",function(){return n.setNewChannel("beta")}),i(84,"spk-radio",56),r(85,20),o(),i(86,"p"),r(87,21),o()(),i(88,"div",55),S("click",function(){return n.setNewChannel("experimental")}),i(89,"spk-radio",56),r(90,22),o(),i(91,"p"),r(92,23),o()(),i(93,"div",55),S("click",function(){return n.setNewChannel("canary")}),i(94,"spk-radio",56),r(95,24),o(),i(96,"p"),r(97,25),o()()()()(),O(98,"spk-divider"),i(99,"div",40)(100,"section")(101,"div",42)(102,"h3"),r(103,26),o(),i(104,"p"),r(105,27),o()(),i(106,"div",43)(107,"div",57)(108,"spk-range-slider",58),O(109,"input",59),o(),i(110,"spk-select",60)(111,"input",61),S("ngModelChange",function(d){return n.updateTimeType(d)}),o(),f(112,zt,1,1,"ng-template"),o()()()(),i(113,"section")(114,"div",42)(115,"h3"),r(116,28),o(),i(117,"p"),z(118,29),O(119,"a",62)(120,"br")(121,"br"),U(),o()(),i(122,"div",43)(123,"spk-select",63)(124,"input",50),S("ngModelChange",function(d){return n.updateUsageStatistics(d)}),o(),f(125,Ut,1,1,"ng-template"),o()()()(),i(126,"div",40)(127,"section")(128,"div",64)(129,"h3"),r(130,30),o(),O(131,"app-advanced-options-settings"),o()()()),t&2){let a,d,u;l(13),B(n.remoteControlStatus()),l(11),N("active",!n.isDarkMode()),l(),N("active",n.isDarkMode()),l(8),E(n.showPassphraseForm()?33:34),l(9),h("options",n.languageOptions())("isClearable",!1)("inlineSearch",!0),l(),h("ngModel",n.langCtrl())("ngModelOptions",H(42,le)),l(8),N("active",n.allowRemoteAccess()),l(3),E(n.allowRemoteAccess()?54:-1),l(8),N("active",n.disableTrayIconLogin()),l(8),E(n.updateChannel()!==""&&((a=n.sysinfo())!=null&&a.ServerVersion)?70:-1),l(),E(n.updatingChannel()?71:-1),l(3),N("active",n.updateChannel()===""),l(),se((d=n.sysinfo())==null?null:d.DefaultUpdateChannel),ae(75),l(2),se((u=n.sysinfo())==null?null:u.ServerVersionType),ae(77),l(2),N("active",n.updateChannel()==="stable"),l(5),N("active",n.updateChannel()==="beta"),l(5),N("active",n.updateChannel()==="experimental"),l(5),N("active",n.updateChannel()==="canary"),l(14),h("unit",n.timeType()),l(),h("min",n.timeRange()[0])("max",n.timeRange()[1])("ngModel",n.timeValue)("ngModelOptions",H(43,le)),l(),h("options",n.timeTypeOptions())("isClearable",!1),l(),h("ngModel",n.timeType()),l(12),h("options",n.usageStatisticsOptions())("isLoading",n.updatingUsageStatistics()),l(),h("ngModel",n.usageStatistics())("ngModelOptions",H(44,le))}},dependencies:[te,J,ct,Y,ee,ne,gt,oe,D,K,at,rt,st,_t,dt,Q,q,ot,j,lt],styles:["[_nghost-%COMP%]{display:block}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem 2rem}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem 0;position:sticky;top:0;background:var(--base-level-10);z-index:1000;border-bottom:1px solid var(--base-level-40)}header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}section[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem 0;border-top:1px solid var(--base-level-40)}section[_ngcontent-%COMP%]:first-of-type{border-top:0}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] spk-button-group[_ngcontent-%COMP%]{margin-top:.25rem}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;width:50%}.passphrase-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.passphrase-form[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.remote-access-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.themes[_ngcontent-%COMP%]{display:flex;gap:.5rem}.themes[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:240px;border-radius:var(--shape-3);cursor:pointer}.themes[_ngcontent-%COMP%] img.active[_ngcontent-%COMP%]{border:2px solid var(--primary-500)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.radio-option[_ngcontent-%COMP%]{cursor:pointer}.radio-option[_ngcontent-%COMP%] spk-radio[_ngcontent-%COMP%]{color:var(--base-level-60);margin-bottom:.25rem}.radio-option[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;color:var(--base-level-60R)}.field-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] spk-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] spk-select[_ngcontent-%COMP%]{flex:1 0}.advanced-settings[_ngcontent-%COMP%]{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:1rem}"],changeDetection:0})};export{Bt as debounceSignal,_e as default};
1
+ import{n as re}from"./chunk-DMDYUREZ.js";import"./chunk-6DH6O5YE.js";import"./chunk-ORDORLQT.js";import"./chunk-VN7JM6M3.js";import"./chunk-KSP3JQHY.js";import{a as Tt}from"./chunk-HTNYQE2B.js";import{a as ut}from"./chunk-6HTVIY6O.js";import{a as Z}from"./chunk-GJROCOAD.js";import{a as St}from"./chunk-XJXOUOD5.js";import{a as gt}from"./chunk-7JUYF3HW.js";import{a as pt}from"./chunk-7L42EO7J.js";import"./chunk-KIUU6RPZ.js";import"./chunk-NQNRR7VE.js";import"./chunk-OTLEEXAA.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import{c as J,e as Y,h as ee,l as ct,s as te,t as ne}from"./chunk-T2OUHRUV.js";import"./chunk-F4EEOSGJ.js";import{a as nt}from"./chunk-I3C2AEHI.js";import"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{A as dt,a as q,b as j,e as it,g as K,k as ot,l as Q,p as st,q as at,r as rt,t as lt,z as _t}from"./chunk-WX7L7V6J.js";import{h as v}from"./chunk-JSGFZ2GA.js";import"./chunk-JV6DGJII.js";import"./chunk-CKPICCFH.js";import"./chunk-EF7JWRDC.js";import{$b as R,Ac as $,B as k,Bc as b,Cb as P,F as I,Gb as z,Hb as U,Ib as r,Jb as se,Kb as ae,Lb as Ze,Mb as S,Na as qe,Nb as p,Qa as l,Qb as Je,S as V,Xa as je,Y as T,Yb as Ye,Zb as et,a as Be,ab as L,ac as B,b as We,bc as W,c as He,da as m,ea as C,ec as y,fb as f,fc as G,gc as A,kb as Ke,kc as tt,lb as Qe,lc as H,n as w,nb as h,pb as N,sb as E,ua as c,wb as i,xb as o,yb as O}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var F=class s{#e=T(v);#t=Tt(this.#e.getApiV1Serversettings());#n=c(void 0);serverSettings=$(()=>this.#n()||this.#t());refreshServerSettings(){this.#e.getApiV1Serversettings().subscribe({next:e=>{this.#n.set(e)}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=V({token:s,factory:s.\u0275fac,providedIn:"root"})};var Et=["formRef"],ft=()=>[import("./chunk-OWDXYX4N.js").then(s=>s.OptionsListComponent)];function Nt(s,e){s&1&&(i(0,"spk-alert",3),r(1,1),o())}function Mt(s,e){if(s&1){let t=P();i(0,"app-options-list",5),A("optionsChange",function(a){m(t);let d=p();return G(d.settings,a)||(d.settings=a),C(a)}),o()}if(s&2){let t=p();y("options",t.settings),h("hasFreeTextSettings",!0)}}var ht=["Bytes","KB","MB","GB","TB","PB"],D=class s{#e=T(re);#t=T(F);#n=T(v);formRef=je.required("formRef");settings=this.#e.settings;isSubmitting=c(!1);isLoadingOptions=c(!0);saved=c(!1);sizeOptions=c(ht);lastRecievedServerSettings=c({});serverSettingsEffect=b(()=>{let e=this.#t.serverSettings();if(e===void 0)return;this.lastRecievedServerSettings.set(e),this.isLoadingOptions.set(!0);let t=Object.entries(e);t.forEach(([n,a],d)=>{if(n.startsWith("--")){let u=n.replace("--","");this.settings.update(g=>(g.some(M=>M.Name===u)||g.push({Name:u,Value:a}),g))}d===t.length-1&&this.isLoadingOptions.set(!1)})});submit(){this.isSubmitting.set(!0);let e=this.settings(),t=this.lastRecievedServerSettings(),n=e.map(g=>g.Name),d=Object.keys(t).filter(g=>!n.includes(g.replace("--",""))),u=e.reduce((g,M)=>(g[`--${M.Name}`]=M.Value,g),{});d.forEach(g=>{u[g]=null}),this.#n.patchApiV1Serversettings({requestBody:u}).pipe(I(()=>this.isSubmitting.set(!1))).subscribe({next:()=>{this.#t.refreshServerSettings(),this.saved.set(!0),setTimeout(()=>{this.saved.set(!1)},3e3)}})}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(t,n){t&1&&Ye(n.formRef,Et,5),t&2&&et()},features:[tt([re])],decls:8,vars:4,consts:()=>{let e;e=$localize`${"\uFFFD#4\uFFFD"}:START_TAG_SPK_ICON:floppy-disk${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_SPK_ICON: Save settings `;let t;return t=$localize`Settings saved`,[e,t,[1,"actions"],[1,"success"],["spk-button","","type","button",1,"raised","primary",3,"click"],[3,"optionsChange","options","hasFreeTextSettings"]]},template:function(t,n){t&1&&(i(0,"div",2),f(1,Nt,2,0,"spk-alert",3),i(2,"button",4),S("click",function(){return n.submit()}),z(3,0),O(4,"spk-icon"),U(),o()(),f(5,Mt,1,2),Ke(6,5,ft)),t&2&&(l(),E(n.saved()?1:-1),l(),N("loader",n.isSubmitting()),l(4),Qe(!n.isLoadingOptions()))},dependencies:[ne,K,q,j],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:40.625rem;justify-self:flex-end}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:flex-end;grid-template-columns:1fr 2.5rem;gap:.5rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.remote-volume-wrap[_ngcontent-%COMP%] p.warning[_ngcontent-%COMP%]{color:#7d7d00}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.row-inputs[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1 0}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 40px;align-items:flex-end}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"],changeDetection:0})};var x=class s{#e=T(it);#t=T(v);#n=T(Z);repeatRegisterTimer=null;state=c("unknown");claimUrl=c(null);registerUrl=c("");status=$(()=>{let e=this.state();return e==="enabled"?"Remote control is enabled but not connected":e==="connected"?"Remote control is connected":e==="registering"?"Registering machine...":e==="registeringfaulted"?"Registration failed":e==="registered"?"Registered, waiting for accept":e==="disabled"?"Remote control is configured but not enabled":e==="unknown"?"...loading...":"Remote control is not set up"});sysInfoEffect=b(()=>{let e=this.#n.systemInfo();e&&this.registerUrl.set(e.RemoteControlRegistrationUrl??"")});#i(e){e.RegistrationUrl&&this.claimUrl.set(e.RegistrationUrl),e.IsConnected?this.state.set("connected"):e.IsEnabled?this.state.set("enabled"):e.CanEnable?this.state.set("disabled"):e.IsRegisteringFaulted?this.state.set("registeringfaulted"):e.IsRegistering?e.RegistrationUrl!=null&&e.RegistrationUrl.trim().length>0?this.state.set("registered"):this.state.set("registering"):this.state.set("inactive");let t=this.state();this.repeatRegisterTimer!==null&&(clearTimeout(this.repeatRegisterTimer),this.repeatRegisterTimer=null),t==="registering"&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:""}}).subscribe({next:n=>this.#i(n),error:n=>this.#o(n)})},5e3)),(t==="enabled"||t==="registered")&&(this.repeatRegisterTimer=setTimeout(()=>{this.#t.getApiV1RemotecontrolStatus().subscribe({next:n=>this.#i(n),error:n=>this.#o(n)})},5e3)),e.IsRegistering&&e.CanEnable&&this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:n=>this.#i(n)})}#o(e){this.#t.getApiV1RemotecontrolStatus().subscribe({next:t=>this.#i(t)})}refreshRemoteControlStatus(){this.#t.getApiV1RemotecontrolStatus().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}beginRemoteRegistration(){this.state.set("registering"),this.#t.postApiV1RemotecontrolRegister({requestBody:{RegistrationUrl:this.registerUrl()}}).subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}cancelRemoteRegistration(){this.#t.deleteApiV1RemotecontrolRegister().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}enableRemoteControl(){this.#t.postApiV1RemotecontrolEnable().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}disableRemoteControl(){this.#t.postApiV1RemotecontrolDisable().subscribe({next:e=>this.#i(e),error:e=>this.#o(e)})}deleteRemoteControl(){let e=this;this.#e.open(pt,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete the remote control registration?`,confirmText:$localize`Delete registration`,cancelText:$localize`Cancel`},closed:t=>{t&&e.#t.deleteApiV1RemotecontrolRegistration().subscribe({next:n=>e.#i(n),error:n=>e.#o(n)})}})}static \u0275fac=function(t){return new(t||s)};static \u0275prov=V({token:s,factory:s.\u0275fac,providedIn:"root"})};function Ot(s,e){if(s&1){let t=P();i(0,"spk-form-field",10)(1,"input",11),A("ngModelChange",function(a){m(t);let d=p(2);return G(d.registerUrl,a)||(d.registerUrl=a),C(a)}),o()(),i(2,"button",12),S("click",function(){m(t);let a=p(2);return C(a.register())}),r(3,0),o()}if(s&2){let t=p(2);l(),y("ngModel",t.registerUrl)}}function Rt(s,e){if(s&1&&(i(0,"div",8)(1,"label"),r(2,1),o(),i(3,"a",13),R(4),o()()),s&2){let t=p(2);l(3),Je("href",t.claimUrl(),qe),l(),B(t.claimUrl())}}function It(s,e){s&1&&(i(0,"div",8)(1,"label"),r(2,2),o()())}function yt(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.cancel())}),r(1,3),o()}}function Gt(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.disable())}),r(1,4),o()}}function At(s,e){if(s&1){let t=P();i(0,"button",12),S("click",function(){m(t);let a=p(2);return C(a.enable())}),r(1,5),o(),i(2,"button",14),S("click",function(){m(t);let a=p(2);return C(a.delete())}),r(3,6),o()}}function vt(s,e){if(s&1&&(i(0,"div",7),f(1,Ot,4,1)(2,Rt,5,2,"div",8)(3,It,3,0,"div",8)(4,yt,2,0,"button",9)(5,Gt,2,0,"button",9)(6,At,4,0),o()),s&2){let t=p();l(),E(t.state()==="inactive"?1:-1),l(),E(t.state()==="registered"?2:-1),l(),E(t.state()==="registering"?3:-1),l(),E(t.state()==="registering"||t.state()==="registeringfaulted"||t.state()==="registered"?4:-1),l(),E(t.state()==="connected"||t.state()==="enabled"?5:-1),l(),E(t.state()==="disabled"?6:-1)}}var oe=class s{#e=T(x);state=this.#e.state;claimUrl=this.#e.claimUrl;registerUrl=this.#e.registerUrl;ngOnInit(){this.#e.refreshRemoteControlStatus()}cancel(){this.#e.cancelRemoteRegistration()}register(){this.#e.beginRemoteRegistration()}disable(){this.#e.disableRemoteControl()}enable(){this.#e.enableRemoteControl()}delete(){this.#e.deleteRemoteControl()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-remote-control"]],decls:1,vars:1,consts:()=>{let e;e=$localize`Register for remote control`;let t;t=$localize`Machine is now registered, open this link to add it to your account:`;let n;n=$localize`Registering, please wait...`;let a;a=$localize`Cancel registration`;let d;d=$localize`Disable remote control`;let u;u=$localize`Enable remote control`;let g;return g=$localize`Delete remote control setup`,[e,t,n,a,d,u,g,[1,"field-row"],[1,"field-col"],["type","button","spk-button","",1,"raised"],["label","Registration URL","for","remoteControlRegisterUrl"],["type","text","spk-input","","id","remoteControlRegisterUrl","name","remoteControlRegisterUrl",3,"ngModelChange","ngModel"],["type","button","spk-button","",1,"raised",3,"click"],["target","_blank",3,"href"],["type","button","spk-button","",1,"raised","error",3,"click"]]},template:function(t,n){t&1&&f(0,vt,7,6,"div",7),t&2&&E(n.state()!=="unknown"?0:-1)},dependencies:[te,J,Y,ee,Q],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] button[_ngcontent-%COMP%]{white-space:nowrap}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] spk-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] spk-select[_ngcontent-%COMP%]{flex:1 0}"],changeDetection:0})};function Ct(...s){let e=c(...s);return Object.defineProperty(e,"value",{get:e.asReadonly(),set:e.set.bind(e)})}var le=()=>({standalone:!0});function $t(s,e){s&1&&(i(0,"spk-icon",69),R(1,"check"),o())}function bt(s,e){s&1&&(i(0,"spk-icon",70),R(1,"prohibit"),o())}function wt(s,e){if(s&1){let t=P();i(0,"button",74),S("click",function(){m(t);let a=p(2);return C(a.updatePassphrase())}),r(1,34),o()}if(s&2){let t=p(2);N("loader",t.isUpdating())}}function kt(s,e){if(s&1){let t=P();i(0,"spk-tooltip",73)(1,"button",75),S("click",function(){m(t);let a=p(2);return C(a.updatePassphrase())}),r(2,35),o()()}if(s&2){let t=p(2);l(),N("loader",t.isUpdating()),h("disabled",!0)}}function Lt(s,e){if(s&1){let t=P();i(0,"spk-form-field")(1,"label",65),r(2,31),o(),i(3,"input",66),A("ngModelChange",function(a){m(t);let d=p();return G(d.passphrase,a)||(d.passphrase=a),C(a)}),o()(),i(4,"spk-form-field")(5,"label",67),r(6,32),o(),i(7,"input",68),A("ngModelChange",function(a){m(t);let d=p();return G(d.repeatPassphrase,a)||(d.repeatPassphrase=a),C(a)}),o(),f(8,$t,2,0,"spk-icon",69)(9,bt,2,0,"spk-icon",70),o(),i(10,"div",48)(11,"button",71),S("click",function(){m(t);let a=p();return C(a.cancelPasswordChange())}),r(12,33),o(),f(13,wt,2,2,"button",72)(14,kt,3,3,"spk-tooltip",73),o()}if(s&2){let t=p();l(3),y("ngModel",t.passphrase),l(4),h("disabled",t.passphrase().length===0),y("ngModel",t.repeatPassphrase),l(),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?8:9),l(3),N("loader",t.isUpdating()),l(2),E(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?13:14)}}function Ft(s,e){s&1&&(i(0,"spk-icon",76),R(1,"check"),o())}function xt(s,e){if(s&1){let t=P();i(0,"div",48)(1,"button",71),S("click",function(){m(t);let a=p();return C(a.openPassphraseForm())}),r(2,36),o(),f(3,Ft,2,0,"spk-icon",76),o()}if(s&2){let t=p();l(3),E(t.passwordUpdated()?3:-1)}}function Dt(s,e){if(s&1){let t=P();i(0,"spk-form-field")(1,"label",77),r(2,37),o(),i(3,"textarea",78),A("ngModelChange",function(a){m(t);let d=p();return G(d.allowedHostnames,a)||(d.allowedHostnames=a),C(a)}),o()(),i(4,"spk-alert",79),r(5,38),o(),i(6,"button",74),S("click",function(){m(t);let a=p();return C(a.updateAllowedHostnames())}),r(7,39),o()}if(s&2){let t=p();l(3),y("ngModel",t.allowedHostnames),l(3),N("loader",t.updatingAllowedHosts())}}function Xt(s,e){if(s&1&&R(0),s&2){let t,n=p();W(" ",(t=n.sysinfo())==null?null:t.ServerVersion," ")}}function Vt(s,e){s&1&&O(0,"spk-progress-bar",53)}function zt(s,e){if(s&1&&R(0),s&2){let t=e.$implicit;W(" ",t.label," ")}}function Ut(s,e){if(s&1&&R(0),s&2){let t=e.$implicit;W(" ",t.label," ")}}function Bt(s,e,t){let n=Ct(s),a=n[Be];t?.equal&&(a.equal=t.equal);let d;return n.set=u=>{clearTimeout(d),d=setTimeout(()=>We(a,u),e)},n.update=u=>{clearTimeout(d),d=setTimeout(()=>He(a,u),e)},n}var Wt=[{value:"s",label:$localize`Seconds`},{value:"m",label:$localize`Minutes`},{value:"h",label:$localize`Hours`}],Ht=[{value:"none",label:$localize`System default (information)`},{value:"information",label:$localize`Usage statistics, warnings, errors, and crashes`},{value:"warning",label:$localize`Warnings, errors and crashes`},{value:"error",label:$localize`Errors and crashes`},{value:"crash",label:$localize`Crashes only`},{value:"none",label:$localize`None / disabled`}],_e=class s{#e=T(St);#t=T(Z);#n=T(v);#i=T(F);#o=T(x);#s=T(nt);#a=this.#s.getItem("locale")??"en-US";sysinfo=this.#t.systemInfo;isDarkMode=this.#e.isDarkMode;editAs=c("list");previousLang=this.#a;langCtrl=c(this.#a);usageStatistics=c("");updatingUsageStatistics=c(!1);remoteControlStatus=this.#o.status;updatingChannel=c(!1);updateChannel=c("");setNewChannel(e){let t=this.updateChannel();this.updateChannel.set(e),this.#n.patchApiV1Serversettings({requestBody:{"update-channel":e}}).pipe(I(()=>this.updatingChannel.set(!1)),k(()=>(this.updateChannel.set(t),w(null)))).subscribe()}allowRemoteAccess=c(!1);allowedHostnames=c("");loadedAllowedHostnames=c("");updatingRemoteAccess=c(!1);updatingAllowedHosts=c(!1);updateRemoteAccess(){let e=this.allowRemoteAccess(),t=!e;this.allowRemoteAccess.set(t),this.#n.patchApiV1Serversettings({requestBody:{"server-listen-interface":t?"any":"loopback"}}).pipe(I(()=>this.updatingRemoteAccess.set(!1)),k(()=>(this.allowRemoteAccess.set(e),w(null)))).subscribe()}updateAllowedHostnames(){let e=this.loadedAllowedHostnames(),t=this.allowedHostnames();this.updatingAllowedHosts.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"server-listen-interface":"any","allowed-hostnames":t}}).pipe(I(()=>this.updatingAllowedHosts.set(!1)),k(()=>(this.allowedHostnames.set(e),w(null)))).subscribe()}updatingDisableTrayIconLogin=c(!1);disableTrayIconLogin=c(!1);saveDisableTrayIconLogin(){let e=this.disableTrayIconLogin(),t=!e;this.updatingDisableTrayIconLogin.set(!0),this.disableTrayIconLogin.set(t),this.#n.patchApiV1Serversettings({requestBody:{"disable-tray-icon-login":t?"True":"False"}}).pipe(I(()=>this.updatingDisableTrayIconLogin.set(!1)),k(()=>(this.disableTrayIconLogin.set(e),w(null)))).subscribe()}showPassphraseForm=c(!1);isUpdating=c(!1);passphrase=c("");repeatPassphrase=c("");passwordUpdated=c(!1);updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(I(()=>this.isUpdating.set(!1))).subscribe({next:()=>{this.showPassphraseForm.set(!1),this.passwordUpdated.set(!0),setTimeout(()=>{this.passwordUpdated.set(!1)},3e3)}}))}openPassphraseForm(){this.showPassphraseForm.set(!0)}cancelPasswordChange(){this.showPassphraseForm.set(!1)}languageOptions=c(ut);usageStatisticsOptions=c(Ht);timeTypeOptions=c(Wt);timeType=c("s");timeValue=Bt(void 0,300);timeRange=$(()=>this.timeType()==="h"?[0,24]:[0,60]);timeValueEffect=b(()=>{let e=this.timeValue();this.updateStartupDelay()});updateLocale(e){!e||e===""||e===this.previousLang||(this.#s.setItem("locale",e),window.location.reload())}updateStartupDelay(){let e=this.#i.serverSettings(),t=this.timeValue(),n=this.timeType(),a=`${t}${n}`;typeof t!="number"||a===""||e&&e["startup-delay"]===a||this.#n.patchApiV1Serversettings({requestBody:{"startup-delay":a==="0s"?"":a}}).subscribe()}updateTimeType(e){this.timeType.set(e)}updateUsageStatistics(e){let t=this.usageStatistics();!e||e===""||e===t||(this.usageStatistics.set(e),this.updatingUsageStatistics.set(!0),this.#n.patchApiV1Serversettings({requestBody:{"usage-reporter-level":this.usageStatistics()==="none"?"":this.usageStatistics()}}).pipe(I(()=>this.updatingUsageStatistics.set(!1)),k(()=>(this.usageStatistics.set(t),w(null)))).subscribe())}serverSettingsEffect=b(()=>{let e=this.#i.serverSettings();if(e===void 0)return;let t=e["startup-delay"],n=t.slice(-1),a=t.slice(0,-1),d=["s","m","h"];this.disableTrayIconLogin.set(e["disable-tray-icon-login"]!=="False"),this.updateChannel.set(e["update-channel"]),this.allowRemoteAccess.set(e["server-listen-interface"]==="any"),this.allowedHostnames.set(e["allowed-hostnames"]),this.loadedAllowedHostnames.set(e["allowed-hostnames"]),this.usageStatistics.set(e["usage-reporter-level"]===""?"none":e["usage-reporter-level"]),this.timeType.set(d.includes(n)?n:"s"),this.timeValue.set(parseInt(a==""?"0":a))});setDarkMode(){this.#e.setDarkMode()}setLightMode(){this.#e.setLightMode()}static \u0275fac=function(t){return new(t||s)};static \u0275cmp=L({type:s,selectors:[["app-settings"]],decls:132,vars:45,consts:()=>{let e;e=$localize`Settings`;let t;t=$localize`Configure your backup settings.`;let n;n=$localize`Remote access control`;let a;a=$localize`Color theme`;let d;d=$localize`Customize your application theme`;let u;u=$localize`Passwords`;let g;g=$localize`Change server passphrase`;let M;M=$localize`Language`;let de;de=$localize`Select a language for the platform`;let ce;ce=$localize`Allow remote access (requires restart)`;let pe;pe=$localize` By allowing remote access, the server listens to requests from any machine on your network. If you enable this option, make sure you are always using the computer on a secure firewall protected network. `;let Se;Se=$localize`Allow remote access`;let ge;ge=$localize`Prevent tray icon automatic log-in`;let Te;Te=$localize` By default, the tray icon will open the user interface with a token that unlocks the user interface. This ensures that you can access the user interface from the tray icon, while requiring others to enter a password. If you prefer having to type in the password, even when accessing the user interface from the tray icon, enable this option. `;let ue;ue=$localize`Prevent tray icon automatic log-in`;let me;me=$localize`Update channel`;let Ce;Ce=$localize` Default (${"\uFFFD0\uFFFD"}:INTERPOLATION:) `;let Ee;Ee=$localize`Same as the base install version: ${"\uFFFD0\uFFFD"}:INTERPOLATION:`;let fe;fe=$localize`Stable`;let Ne;Ne=$localize`Official releases`;let Me;Me=$localize`Beta`;let he;he=$localize` Try out the new features that we are working on. Currently the most stable version available. Test Restore data before using this in production environments. `;let Pe;Pe=$localize` Experimental `;let Oe;Oe=$localize`Specific builds for developers only. Not for use with important data.`;let Re;Re=$localize`Canary`;let Ie;Ie=$localize`Individual builds for developers only. Not for use with important data.`;let ye;ye=$localize`Pause after startup or hibernation`;let Ge;Ge=$localize` Duplicati will run when started, but will remain in paused state for the duration. Duplicati will occupy minimal system resources and no backups will be run. `;let Ae;Ae=$localize`Usage statistics`;let X;X=$localize` Usage reports help us improve the user experience and evaluate impact of new features. We use them to generate ${"\uFFFD#119\uFFFD"}:START_LINK:public usage statistics.${"\uFFFD/#119\uFFFD"}:CLOSE_LINK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK:${"[\uFFFD#120\uFFFD\uFFFD/#120\uFFFD|\uFFFD#121\uFFFD\uFFFD/#121\uFFFD]"}:LINE_BREAK: All usage reports are sent anonymously and do not contain any personal information. They contain information about hardware and operating system, the type of backend, backup duration, overall size of source data and similar data. They do not contain paths, filenames, usernames, passwords or similar sensitive information. `,X=Ze(X);let ve;ve=$localize`Advanced options`;let $e;$e=$localize`Enter new password`;let be;be=$localize`Repeat password`;let we;we=$localize`Password have to be filled and have to match`;let ke;ke=$localize`Passphrase`;let Le;Le=$localize`Repeat passphrase`;let Fe;Fe=$localize`Cancel`;let xe;xe=$localize` Update passphrase `;let De;De=$localize` Update passphrase `;let Xe;Xe=$localize`Change password`;let Ve;Ve=$localize`Allowed hostnames`;let ze;ze=$localize` To prevent various DNS based attacks, Duplicati limits the allowed hostnames to the ones listed here. Direct IP access and localhost is always allowed. Multiple hostnames can be supplied with a semicolon separator. If any of the allowed hostnames is an asterisk (*), all hostnames are allowed and this feature is disabled. If the field is empty, only IP address and localhost access is allowed. `;let Ue;return Ue=$localize` Update allowed hostnames `,[e,t,n,a,d,u,g,M,de,ce,pe,Se,ge,Te,ue,me,Ce,Ee,fe,Ne,Me,he,Pe,Oe,Re,Ie,ye,Ge,Ae,X,ve,ke,Le,Fe,xe,De,Xe,Ve,ze,Ue,[1,"content"],[1,"title"],[1,"left"],[1,"right"],[1,"themes"],["src","assets/images/light-theme.png","alt","light theme",3,"click"],["src","assets/images/dark-theme.png","alt","dark theme",3,"click"],[1,"right","passphrase-form"],[1,"actions"],["value","value","label","label",3,"options","isClearable","inlineSearch"],["type","text",3,"ngModelChange","ngModel","ngModelOptions"],[1,"right","remote-access-form"],[1,"primary","raised",3,"click"],[1,"indeterminate","primary"],[1,"right","radios"],[1,"radio-option",3,"click"],[1,"primary","raised"],[1,"field-row"],[1,"raised","primary",3,"unit"],["type","range",3,"min","max","ngModel","ngModelOptions"],["label","label","value","value",3,"options","isClearable"],["type","text",3,"ngModelChange","ngModel"],["href","#"],["label","label","value","value",3,"options","isLoading"],[1,"advanced-settings"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",$e,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",be,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"spk-success"],["suffix",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"loader"],["message",we,1,"primary"],["spk-button","",1,"raised","primary",3,"click"],["spk-button","",1,"raised","primary",3,"click","disabled"],[1,"spk-success"],["for","allowedHostnames"],["type","text","id","allowedHostnames",3,"ngModelChange","ngModel"],["type","primary"]]},template:function(t,n){if(t&1&&(O(0,"app-status-bar"),i(1,"div",40)(2,"header")(3,"div",41)(4,"h2"),r(5,0),o(),i(6,"p"),r(7,1),o()()(),i(8,"section")(9,"div",42)(10,"h3"),r(11,2),o(),i(12,"p"),R(13),o()(),i(14,"div",43),O(15,"app-remote-control"),o()(),i(16,"section")(17,"div",42)(18,"h3"),r(19,3),o(),i(20,"p"),r(21,4),o()(),i(22,"div",43)(23,"div",44)(24,"img",45),S("click",function(){return n.setLightMode()}),o(),i(25,"img",46),S("click",function(){return n.setDarkMode()}),o()()()(),i(26,"section")(27,"div",42)(28,"h3"),r(29,5),o(),i(30,"p"),r(31,6),o()(),i(32,"div",47),f(33,Lt,15,7)(34,xt,4,1,"div",48),o()(),i(35,"section")(36,"div",42)(37,"h3"),r(38,7),o(),i(39,"p"),r(40,8),o()(),i(41,"div",43)(42,"spk-select",49)(43,"input",50),S("ngModelChange",function(d){return n.updateLocale(d)}),o()()()(),i(44,"section")(45,"div",42)(46,"h3"),r(47,9),o(),i(48,"p"),r(49,10),o()(),i(50,"div",51)(51,"spk-toggle",52),S("click",function(){return n.updateRemoteAccess()}),i(52,"label"),r(53,11),o()(),f(54,Dt,8,3),o()(),i(55,"section")(56,"div",42)(57,"h3"),r(58,12),o(),i(59,"p"),r(60,13),o()(),i(61,"div",43)(62,"spk-toggle",52),S("click",function(){return n.saveDisableTrayIconLogin()}),i(63,"label"),r(64,14),o()()()(),i(65,"section")(66,"div",42)(67,"h3"),r(68,15),o(),i(69,"p"),f(70,Xt,1,1),o(),f(71,Vt,1,0,"spk-progress-bar",53),o(),i(72,"div",54)(73,"div",55),S("click",function(){return n.setNewChannel("")}),i(74,"spk-radio",56),r(75,16),o(),i(76,"p"),r(77,17),o()(),i(78,"div",55),S("click",function(){return n.setNewChannel("stable")}),i(79,"spk-radio",56),r(80,18),o(),i(81,"p"),r(82,19),o()(),i(83,"div",55),S("click",function(){return n.setNewChannel("beta")}),i(84,"spk-radio",56),r(85,20),o(),i(86,"p"),r(87,21),o()(),i(88,"div",55),S("click",function(){return n.setNewChannel("experimental")}),i(89,"spk-radio",56),r(90,22),o(),i(91,"p"),r(92,23),o()(),i(93,"div",55),S("click",function(){return n.setNewChannel("canary")}),i(94,"spk-radio",56),r(95,24),o(),i(96,"p"),r(97,25),o()()()()(),O(98,"spk-divider"),i(99,"div",40)(100,"section")(101,"div",42)(102,"h3"),r(103,26),o(),i(104,"p"),r(105,27),o()(),i(106,"div",43)(107,"div",57)(108,"spk-range-slider",58),O(109,"input",59),o(),i(110,"spk-select",60)(111,"input",61),S("ngModelChange",function(d){return n.updateTimeType(d)}),o(),f(112,zt,1,1,"ng-template"),o()()()(),i(113,"section")(114,"div",42)(115,"h3"),r(116,28),o(),i(117,"p"),z(118,29),O(119,"a",62)(120,"br")(121,"br"),U(),o()(),i(122,"div",43)(123,"spk-select",63)(124,"input",50),S("ngModelChange",function(d){return n.updateUsageStatistics(d)}),o(),f(125,Ut,1,1,"ng-template"),o()()()(),i(126,"div",40)(127,"section")(128,"div",64)(129,"h3"),r(130,30),o(),O(131,"app-advanced-options-settings"),o()()()),t&2){let a,d,u;l(13),B(n.remoteControlStatus()),l(11),N("active",!n.isDarkMode()),l(),N("active",n.isDarkMode()),l(8),E(n.showPassphraseForm()?33:34),l(9),h("options",n.languageOptions())("isClearable",!1)("inlineSearch",!0),l(),h("ngModel",n.langCtrl())("ngModelOptions",H(42,le)),l(8),N("active",n.allowRemoteAccess()),l(3),E(n.allowRemoteAccess()?54:-1),l(8),N("active",n.disableTrayIconLogin()),l(8),E(n.updateChannel()!==""&&((a=n.sysinfo())!=null&&a.ServerVersion)?70:-1),l(),E(n.updatingChannel()?71:-1),l(3),N("active",n.updateChannel()===""),l(),se((d=n.sysinfo())==null?null:d.DefaultUpdateChannel),ae(75),l(2),se((u=n.sysinfo())==null?null:u.ServerVersionType),ae(77),l(2),N("active",n.updateChannel()==="stable"),l(5),N("active",n.updateChannel()==="beta"),l(5),N("active",n.updateChannel()==="experimental"),l(5),N("active",n.updateChannel()==="canary"),l(14),h("unit",n.timeType()),l(),h("min",n.timeRange()[0])("max",n.timeRange()[1])("ngModel",n.timeValue)("ngModelOptions",H(43,le)),l(),h("options",n.timeTypeOptions())("isClearable",!1),l(),h("ngModel",n.timeType()),l(12),h("options",n.usageStatisticsOptions())("isLoading",n.updatingUsageStatistics()),l(),h("ngModel",n.usageStatistics())("ngModelOptions",H(44,le))}},dependencies:[te,J,ct,Y,ee,ne,gt,oe,D,K,at,rt,st,_t,dt,Q,q,ot,j,lt],styles:["[_nghost-%COMP%]{display:block}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem 2rem}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem 0;position:sticky;top:0;background:var(--base-level-10);z-index:1000;border-bottom:1px solid var(--base-level-40)}header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}section[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem 0;border-top:1px solid var(--base-level-40)}section[_ngcontent-%COMP%]:first-of-type{border-top:0}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] spk-button-group[_ngcontent-%COMP%]{margin-top:.25rem}section[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;width:50%}.passphrase-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.passphrase-form[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.remote-access-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.themes[_ngcontent-%COMP%]{display:flex;gap:.5rem}.themes[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:240px;border-radius:var(--shape-3);cursor:pointer}.themes[_ngcontent-%COMP%] img.active[_ngcontent-%COMP%]{border:2px solid var(--primary-500)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.radio-option[_ngcontent-%COMP%]{cursor:pointer}.radio-option[_ngcontent-%COMP%] spk-radio[_ngcontent-%COMP%]{color:var(--base-level-60);margin-bottom:.25rem}.radio-option[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-wrap:balance;color:var(--base-level-60R)}.field-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] spk-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] spk-select[_ngcontent-%COMP%]{flex:1 0}.advanced-settings[_ngcontent-%COMP%]{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:1rem}"],changeDetection:0})};export{Bt as debounceSignal,_e as default};
@@ -1 +1 @@
1
- import{a as ae}from"./chunk-VLIGMNJX.js";import{n as le}from"./chunk-JD54W4UA.js";import{a as ie,b as se}from"./chunk-6DH6O5YE.js";import"./chunk-YJSWEW6C.js";import"./chunk-VN7JM6M3.js";import"./chunk-KSP3JQHY.js";import"./chunk-HTNYQE2B.js";import"./chunk-URU2SLPX.js";import"./chunk-7L42EO7J.js";import"./chunk-RHW5QVAY.js";import{c as Z,e as J,h as ee,j as ne,s as te,t as oe}from"./chunk-T2OUHRUV.js";import{b as V,d as q}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as Y,g as H,l as Q,t as j}from"./chunk-WX7L7V6J.js";import"./chunk-4AECHE4W.js";import"./chunk-CKPICCFH.js";import{Ac as k,Cb as M,Gb as S,Hb as O,Ib as r,Mb as I,Nb as c,Qa as p,Xa as v,Y as C,Yb as U,Zb as X,ab as K,da as P,ea as f,ec as u,fb as N,fc as d,gc as m,lc as W,nb as g,pb as G,sb as F,ua as x,wb as t,xb as i,yb as T}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var _e=["formRef"],re=()=>["--skip-files-larger-than","dblock-size","encryption-module","no-encryption","--no-encryption","--exclude-files-attributes","keep-time","keep-versions","retention-policy"];function pe(s,a){s&1&&(S(0,1,1),T(1,"spk-icon",20),O())}function ce(s,a){s&1&&(t(0,"p",20),r(1,6),i())}function ue(s,a){s&1&&(t(0,"p"),r(1,7),i())}function de(s,a){if(s&1){let e=M();t(0,"p"),r(1,8),i(),t(2,"app-timespan",18),m("ngModelChange",function(l){P(e);let o=c();return d(o.optionsFields.backupRetentionTime,l)||(o.optionsFields.backupRetentionTime=l),f(l)}),t(3,"label",29),r(4,9),i()()}if(s&2){let e=c();p(2),g("customId","backupRetentionTime"),u("ngModel",e.optionsFields.backupRetentionTime)}}function me(s,a){if(s&1){let e=M();t(0,"p"),r(1,10),i(),t(2,"spk-form-field")(3,"label",30),r(4,11),i(),t(5,"input",31),m("ngModelChange",function(l){P(e);let o=c();return d(o.optionsFields.backupRetentionVersions,l)||(o.optionsFields.backupRetentionVersions=l),f(l)}),i()()}if(s&2){let e=c();p(5),u("ngModel",e.optionsFields.backupRetentionVersions)}}function Se(s,a){s&1&&(t(0,"p"),r(1,12),i())}function Oe(s,a){if(s&1){let e=M();t(0,"p"),r(1,13),i(),t(2,"spk-form-field")(3,"p"),r(4,14),i(),t(5,"label",32),r(6,15),i(),t(7,"input",33),m("ngModelChange",function(l){P(e);let o=c();return d(o.optionsFields.backupRetentionCustom,l)||(o.optionsFields.backupRetentionCustom=l),f(l)}),i()()}if(s&2){let e=c();p(7),u("ngModel",e.optionsFields.backupRetentionCustom)}}var ge=["Bytes","KB","MB","GB","TB","PB"],Te=[{value:"all",name:$localize`Keep all backups`},{value:"time",name:$localize`Delete backups that are older than`},{value:"versions",name:$localize`Keep a specific number of backups`},{value:"smart",name:$localize`Smart backup retention`},{value:"custom",name:$localize`Custom backup retention`}],Ce=1024*1024*1024*2,Pe=1024*1024*5,h=class s{#e=C(le);#n=C(q);#t=C(V);formRef=v.required("formRef");selectedOptions=this.#e.selectedOptions;nonSelectedOptions=this.#e.nonSelectedOptions;isSubmitting=this.#e.isSubmitting;settings=this.#e.settings;optionsFields=this.#e.optionsFields;retentionOptions=x(Te);sizeSplit=k(()=>{let e=this.optionsFields.remoteVolumeSize().match(/^(\d+)(bytes|kb|mb|gb|tb|pb|b)$/i);return{value:e?parseInt(e[1],10):0,unit:e?e[2].toUpperCase():"MB"}});exceededVolumeSize=k(()=>{let a=this.sizeSplit().value,e=this.sizeSplit().unit;if(a==null||e===null||e===void 0)return!1;let n=a*Math.pow(1024,ge.indexOf(e));return n>Ce||n<Pe});goBack(){this.#n.navigate(["schedule"],{relativeTo:this.#t.parent})}submit(){this.#e.submit()}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=K({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(e,n){e&1&&U(n.formRef,_e,5),e&2&&X()},decls:30,vars:14,consts:()=>{let a;a=$localize`Options`;let e;e=$localize` Remote volume size ${"\uFFFD*7:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SPK_ICON:warning${"\uFFFD/#1:1\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/*7:1\uFFFD"}:CLOSE_BLOCK_IF:`;let n;n=$localize` The backups will be split up into multiple files called volumes. Here you can set the maximum size of the individual volume files. ${"\uFFFD#11\uFFFD"}:START_LINK: Read more ${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-square-out${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#11\uFFFD"}:CLOSE_LINK:`;let l;l=$localize`Backup retention`;let o;o=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#26\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let E;E=$localize`${"\uFFFD#29\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#29\uFFFD"}:CLOSE_TAG_SPK_ICON: Submit `;let b;b=$localize` The chosen size is outside the recommended range. This may cause performance issues, excessively large temporary files or other problems. `;let A;A=$localize`Nothing will be deleted. The backup size will grow with each change.`;let R;R=$localize`If at least one newer backup is found, all backups older than this date are deleted.`;let y;y=$localize`Time to keep versions`;let $;$=$localize`Once there are more backups than the specified number, the oldest backups are deleted.`;let w;w=$localize`Number of versions`;let D;D=$localize` Over time backups will be deleted automatically. There will remain one backup for each of the last 7 days, each of the last 4 weeks, each of the last 12 months. There will always be at least one remaining backup. `;let B;B=$localize` Enter a retention strategy manually. Placeholders are D/W/Y for days/weeks/years and U for unlimited. The syntax is: 7D:1D,4W:1W,36M:1M. This example keeps one backup for each of the next 7 days, one for each of the next 4 weeks, and one for each of the next 36 months. This can also be written as 1W:1D,1M:1W,3Y:1M. `;let L;L=$localize`Once there are more backups than the specified number, the oldest backups are deleted.`;let z;return z=$localize`Retention expression`,[a,e,n,l,o,E,b,A,R,y,$,w,D,B,L,z,[1,"title-30"],[1,"remote-volume-wrap"],[3,"ngModelChange","customId","ngModel"],["for","size"],[1,"warning"],["href","https://forum.duplicati.com/t/choosing-sizes-in-duplicati/17683","target","_blank",1,"spk-primary"],["suffix",""],["value","value","label","name",3,"options","inlineSearch","isClearable"],["type","text",3,"ngModelChange","ngModel"],[3,"optionsChange","options","hiddenOptions"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","",1,"raised","primary",3,"click"],["for","backupRetentionTime"],["for","backupRetentionVersions"],["type","number","id","backupRetentionVersions",3,"ngModelChange","ngModel"],["for","backupRetentionCustom"],["type","text","id","backupRetentionCustom",3,"ngModelChange","ngModel"]]},template:function(e,n){e&1&&(t(0,"section")(1,"h3",16),r(2,0),i(),t(3,"div",17)(4,"app-size",18),m("ngModelChange",function(o){return d(n.optionsFields.remoteVolumeSize,o)||(n.optionsFields.remoteVolumeSize=o),o}),t(5,"label",19),S(6,1),N(7,pe,2,0,"spk-icon",20),O(),i()(),N(8,ce,2,0,"p",20),t(9,"p"),S(10,2),t(11,"a",21),T(12,"spk-icon",22),i(),O(),i()(),t(13,"spk-select",23)(14,"label",19),r(15,3),i(),t(16,"input",24),m("ngModelChange",function(o){return d(n.optionsFields.backupRetention,o)||(n.optionsFields.backupRetention=o),o}),i()(),N(17,ue,2,0,"p")(18,de,5,2)(19,me,6,1)(20,Se,2,0,"p")(21,Oe,8,1),t(22,"app-options-list",25),m("optionsChange",function(o){return d(n.settings,o)||(n.settings=o),o}),i(),t(23,"div",26)(24,"button",27),I("click",function(){return n.goBack()}),S(25,4),T(26,"spk-icon"),O(),i(),t(27,"button",28),I("click",function(){return n.submit()}),S(28,5),T(29,"spk-icon"),O(),i()()()),e&2&&(p(4),g("customId","size"),u("ngModel",n.optionsFields.remoteVolumeSize),p(3),F(n.exceededVolumeSize()?7:-1),p(),F(n.exceededVolumeSize()?8:-1),p(5),g("options",n.retentionOptions())("inlineSearch",!0)("isClearable",!1),p(3),u("ngModel",n.optionsFields.backupRetention),p(),F(n.optionsFields.backupRetention()==="all"?17:n.optionsFields.backupRetention()==="time"?18:n.optionsFields.backupRetention()==="versions"?19:n.optionsFields.backupRetention()==="smart"?20:n.optionsFields.backupRetention()==="custom"?21:-1),p(5),u("options",n.settings),g("hiddenOptions",W(13,re)),p(5),G("loader",n.isSubmitting()))},dependencies:[te,Z,ne,J,ee,oe,ae,H,Y,j,ie,se,Q],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1.5rem}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:flex-end;grid-template-columns:1fr 2.5rem;gap:.5rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.remote-volume-wrap[_ngcontent-%COMP%] p.warning[_ngcontent-%COMP%]{color:#7d7d00}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 40px;align-items:flex-end}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}spk-select[_ngcontent-%COMP%]{--miw: p2r(120)}"],changeDetection:0})};export{h as default};
1
+ import{a as ae}from"./chunk-BVTZNGGE.js";import{n as le}from"./chunk-DMDYUREZ.js";import{a as ie,b as se}from"./chunk-6DH6O5YE.js";import"./chunk-ORDORLQT.js";import"./chunk-VN7JM6M3.js";import"./chunk-KSP3JQHY.js";import"./chunk-HTNYQE2B.js";import"./chunk-GJROCOAD.js";import"./chunk-7L42EO7J.js";import"./chunk-RHW5QVAY.js";import{c as Z,e as J,h as ee,j as ne,s as te,t as oe}from"./chunk-T2OUHRUV.js";import{b as V,d as q}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as Y,g as H,l as Q,t as j}from"./chunk-WX7L7V6J.js";import"./chunk-JSGFZ2GA.js";import"./chunk-CKPICCFH.js";import{Ac as k,Cb as M,Gb as S,Hb as O,Ib as r,Mb as I,Nb as c,Qa as p,Xa as v,Y as C,Yb as U,Zb as X,ab as K,da as P,ea as f,ec as u,fb as N,fc as d,gc as m,lc as W,nb as g,pb as G,sb as F,ua as x,wb as t,xb as i,yb as T}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var _e=["formRef"],re=()=>["--skip-files-larger-than","dblock-size","encryption-module","no-encryption","--no-encryption","--exclude-files-attributes","keep-time","keep-versions","retention-policy"];function pe(s,a){s&1&&(S(0,1,1),T(1,"spk-icon",20),O())}function ce(s,a){s&1&&(t(0,"p",20),r(1,6),i())}function ue(s,a){s&1&&(t(0,"p"),r(1,7),i())}function de(s,a){if(s&1){let e=M();t(0,"p"),r(1,8),i(),t(2,"app-timespan",18),m("ngModelChange",function(l){P(e);let o=c();return d(o.optionsFields.backupRetentionTime,l)||(o.optionsFields.backupRetentionTime=l),f(l)}),t(3,"label",29),r(4,9),i()()}if(s&2){let e=c();p(2),g("customId","backupRetentionTime"),u("ngModel",e.optionsFields.backupRetentionTime)}}function me(s,a){if(s&1){let e=M();t(0,"p"),r(1,10),i(),t(2,"spk-form-field")(3,"label",30),r(4,11),i(),t(5,"input",31),m("ngModelChange",function(l){P(e);let o=c();return d(o.optionsFields.backupRetentionVersions,l)||(o.optionsFields.backupRetentionVersions=l),f(l)}),i()()}if(s&2){let e=c();p(5),u("ngModel",e.optionsFields.backupRetentionVersions)}}function Se(s,a){s&1&&(t(0,"p"),r(1,12),i())}function Oe(s,a){if(s&1){let e=M();t(0,"p"),r(1,13),i(),t(2,"spk-form-field")(3,"p"),r(4,14),i(),t(5,"label",32),r(6,15),i(),t(7,"input",33),m("ngModelChange",function(l){P(e);let o=c();return d(o.optionsFields.backupRetentionCustom,l)||(o.optionsFields.backupRetentionCustom=l),f(l)}),i()()}if(s&2){let e=c();p(7),u("ngModel",e.optionsFields.backupRetentionCustom)}}var ge=["Bytes","KB","MB","GB","TB","PB"],Te=[{value:"all",name:$localize`Keep all backups`},{value:"time",name:$localize`Delete backups that are older than`},{value:"versions",name:$localize`Keep a specific number of backups`},{value:"smart",name:$localize`Smart backup retention`},{value:"custom",name:$localize`Custom backup retention`}],Ce=1024*1024*1024*2,Pe=1024*1024*5,h=class s{#e=C(le);#n=C(q);#t=C(V);formRef=v.required("formRef");selectedOptions=this.#e.selectedOptions;nonSelectedOptions=this.#e.nonSelectedOptions;isSubmitting=this.#e.isSubmitting;settings=this.#e.settings;optionsFields=this.#e.optionsFields;retentionOptions=x(Te);sizeSplit=k(()=>{let e=this.optionsFields.remoteVolumeSize().match(/^(\d+)(bytes|kb|mb|gb|tb|pb|b)$/i);return{value:e?parseInt(e[1],10):0,unit:e?e[2].toUpperCase():"MB"}});exceededVolumeSize=k(()=>{let a=this.sizeSplit().value,e=this.sizeSplit().unit;if(a==null||e===null||e===void 0)return!1;let n=a*Math.pow(1024,ge.indexOf(e));return n>Ce||n<Pe});goBack(){this.#n.navigate(["schedule"],{relativeTo:this.#t.parent})}submit(){this.#e.submit()}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=K({type:s,selectors:[["app-advanced-options-settings"]],viewQuery:function(e,n){e&1&&U(n.formRef,_e,5),e&2&&X()},decls:30,vars:14,consts:()=>{let a;a=$localize`Options`;let e;e=$localize` Remote volume size ${"\uFFFD*7:1\uFFFD"}:START_BLOCK_IF:${"\uFFFD#1:1\uFFFD"}:START_TAG_SPK_ICON:warning${"\uFFFD/#1:1\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/*7:1\uFFFD"}:CLOSE_BLOCK_IF:`;let n;n=$localize` The backups will be split up into multiple files called volumes. Here you can set the maximum size of the individual volume files. ${"\uFFFD#11\uFFFD"}:START_LINK: Read more ${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-square-out${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#11\uFFFD"}:CLOSE_LINK:`;let l;l=$localize`Backup retention`;let o;o=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SPK_ICON:arrow-left${"\uFFFD/#26\uFFFD"}:CLOSE_TAG_SPK_ICON: Go back `;let E;E=$localize`${"\uFFFD#29\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#29\uFFFD"}:CLOSE_TAG_SPK_ICON: Submit `;let b;b=$localize` The chosen size is outside the recommended range. This may cause performance issues, excessively large temporary files or other problems. `;let A;A=$localize`Nothing will be deleted. The backup size will grow with each change.`;let R;R=$localize`If at least one newer backup is found, all backups older than this date are deleted.`;let y;y=$localize`Time to keep versions`;let $;$=$localize`Once there are more backups than the specified number, the oldest backups are deleted.`;let w;w=$localize`Number of versions`;let D;D=$localize` Over time backups will be deleted automatically. There will remain one backup for each of the last 7 days, each of the last 4 weeks, each of the last 12 months. There will always be at least one remaining backup. `;let B;B=$localize` Enter a retention strategy manually. Placeholders are D/W/Y for days/weeks/years and U for unlimited. The syntax is: 7D:1D,4W:1W,36M:1M. This example keeps one backup for each of the next 7 days, one for each of the next 4 weeks, and one for each of the next 36 months. This can also be written as 1W:1D,1M:1W,3Y:1M. `;let L;L=$localize`Once there are more backups than the specified number, the oldest backups are deleted.`;let z;return z=$localize`Retention expression`,[a,e,n,l,o,E,b,A,R,y,$,w,D,B,L,z,[1,"title-30"],[1,"remote-volume-wrap"],[3,"ngModelChange","customId","ngModel"],["for","size"],[1,"warning"],["href","https://forum.duplicati.com/t/choosing-sizes-in-duplicati/17683","target","_blank",1,"spk-primary"],["suffix",""],["value","value","label","name",3,"options","inlineSearch","isClearable"],["type","text",3,"ngModelChange","ngModel"],[3,"optionsChange","options","hiddenOptions"],[1,"form-actions"],["spk-button","","type","button",3,"click"],["spk-button","",1,"raised","primary",3,"click"],["for","backupRetentionTime"],["for","backupRetentionVersions"],["type","number","id","backupRetentionVersions",3,"ngModelChange","ngModel"],["for","backupRetentionCustom"],["type","text","id","backupRetentionCustom",3,"ngModelChange","ngModel"]]},template:function(e,n){e&1&&(t(0,"section")(1,"h3",16),r(2,0),i(),t(3,"div",17)(4,"app-size",18),m("ngModelChange",function(o){return d(n.optionsFields.remoteVolumeSize,o)||(n.optionsFields.remoteVolumeSize=o),o}),t(5,"label",19),S(6,1),N(7,pe,2,0,"spk-icon",20),O(),i()(),N(8,ce,2,0,"p",20),t(9,"p"),S(10,2),t(11,"a",21),T(12,"spk-icon",22),i(),O(),i()(),t(13,"spk-select",23)(14,"label",19),r(15,3),i(),t(16,"input",24),m("ngModelChange",function(o){return d(n.optionsFields.backupRetention,o)||(n.optionsFields.backupRetention=o),o}),i()(),N(17,ue,2,0,"p")(18,de,5,2)(19,me,6,1)(20,Se,2,0,"p")(21,Oe,8,1),t(22,"app-options-list",25),m("optionsChange",function(o){return d(n.settings,o)||(n.settings=o),o}),i(),t(23,"div",26)(24,"button",27),I("click",function(){return n.goBack()}),S(25,4),T(26,"spk-icon"),O(),i(),t(27,"button",28),I("click",function(){return n.submit()}),S(28,5),T(29,"spk-icon"),O(),i()()()),e&2&&(p(4),g("customId","size"),u("ngModel",n.optionsFields.remoteVolumeSize),p(3),F(n.exceededVolumeSize()?7:-1),p(),F(n.exceededVolumeSize()?8:-1),p(5),g("options",n.retentionOptions())("inlineSearch",!0)("isClearable",!1),p(3),u("ngModel",n.optionsFields.backupRetention),p(),F(n.optionsFields.backupRetention()==="all"?17:n.optionsFields.backupRetention()==="time"?18:n.optionsFields.backupRetention()==="versions"?19:n.optionsFields.backupRetention()==="smart"?20:n.optionsFields.backupRetention()==="custom"?21:-1),p(5),u("options",n.settings),g("hiddenOptions",W(13,re)),p(5),G("loader",n.isSubmitting()))},dependencies:[te,Z,ne,J,ee,oe,ae,H,Y,j,ie,se,Q],styles:["[_nghost-%COMP%]{display:block;width:100%;max-width:32.5rem;padding:2.5rem}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1.5rem}.form-column[_ngcontent-%COMP%]{display:flex;flex-direction:column}.form-column[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.form-column[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{font-size:1rem}.field-row[_ngcontent-%COMP%]{display:grid;align-items:flex-end;grid-template-columns:1fr 2.5rem;gap:.5rem}.form-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:3fr 1fr;gap:.5rem;align-items:flex-end}.form-wrap[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr 2.5rem;gap:.5rem;align-items:flex-end}.remote-volume-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.remote-volume-wrap[_ngcontent-%COMP%] p.warning[_ngcontent-%COMP%]{color:#7d7d00}.row-inputs[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.advanced-option[_ngcontent-%COMP%]{display:grid;gap:.5rem;grid-template-columns:1fr 1fr 40px;align-items:flex-end}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}spk-select[_ngcontent-%COMP%]{--miw: p2r(120)}"],changeDetection:0})};export{h as default};
@@ -1,2 +1,2 @@
1
- import{a as K}from"./chunk-HTNYQE2B.js";import{a as z,d as J,g as q}from"./chunk-WX7L7V6J.js";import{h as X}from"./chunk-4AECHE4W.js";import"./chunk-CKPICCFH.js";import{$b as c,Bc as W,Cb as u,Gb as A,Hb as D,Ib as y,Mb as f,Na as E,Nb as S,Qa as l,Qb as w,Y as v,ab as h,ac as C,bc as I,cc as N,da as d,ea as _,ec as $,fb as k,fc as B,gc as V,hc as U,lc as G,nb as F,r as T,sb as M,tb as P,ua as m,ub as R,vb as x,wb as i,xb as a,yb as g}from"./chunk-W2F756OF.js";import{a as b,b as O}from"./chunk-7CGTOI24.js";var j=()=>({maxWidth:"700px",width:"100%"});function H(s,t){if(s&1&&(i(0,"a",9)(1,"spk-icon"),c(2,"link"),a()()),s&2){let e=S().$implicit;w("href",e.Url,E)}}function Q(s,t){if(s&1){let e=u();i(0,"div",2)(1,"h4"),c(2),k(3,H,3,1,"a",9),a(),i(4,"p"),c(5),g(6,"br"),i(7,"i"),c(8),a()(),i(9,"div",10)(10,"button",11),f("click",function(){let o=d(e).$implicit,r=S();return _(r.openLicense(o))}),A(11,1),g(12,"spk-icon"),D(),a()()()}if(s&2){let e=t.$implicit;l(2),N(" ",e.Title," - ",e.data==null?null:e.data.license," "),l(),M(e.Url?3:-1),l(2),I(" ",e.data==null?null:e.data.description," "),l(3),C(e.data==null?null:e.data.notes)}}var L=class s{#e=v(X);licenses=K(this.#e.getApiV1Licenses().pipe(T(t=>t.map(e=>O(b({},e),{data:e.Jsondata?JSON.parse(e.Jsondata):null})))));dialogIsOpen=m(!1);dialogLicense=m(null);#t=W(()=>{this.dialogLicense()&&this.dialogIsOpen.set(!0)});openLicense(t){this.dialogLicense.set(t)}closeLicense(){this.dialogIsOpen.set(!1),this.dialogLicense.set(null)}breakIntoLines(t){let e=t.split(`
1
+ import{a as K}from"./chunk-HTNYQE2B.js";import{a as z,d as J,g as q}from"./chunk-WX7L7V6J.js";import{h as X}from"./chunk-JSGFZ2GA.js";import"./chunk-CKPICCFH.js";import{$b as c,Bc as W,Cb as u,Gb as A,Hb as D,Ib as y,Mb as f,Na as E,Nb as S,Qa as l,Qb as w,Y as v,ab as h,ac as C,bc as I,cc as N,da as d,ea as _,ec as $,fb as k,fc as B,gc as V,hc as U,lc as G,nb as F,r as T,sb as M,tb as P,ua as m,ub as R,vb as x,wb as i,xb as a,yb as g}from"./chunk-W2F756OF.js";import{a as b,b as O}from"./chunk-7CGTOI24.js";var j=()=>({maxWidth:"700px",width:"100%"});function H(s,t){if(s&1&&(i(0,"a",9)(1,"spk-icon"),c(2,"link"),a()()),s&2){let e=S().$implicit;w("href",e.Url,E)}}function Q(s,t){if(s&1){let e=u();i(0,"div",2)(1,"h4"),c(2),k(3,H,3,1,"a",9),a(),i(4,"p"),c(5),g(6,"br"),i(7,"i"),c(8),a()(),i(9,"div",10)(10,"button",11),f("click",function(){let o=d(e).$implicit,r=S();return _(r.openLicense(o))}),A(11,1),g(12,"spk-icon"),D(),a()()()}if(s&2){let e=t.$implicit;l(2),N(" ",e.Title," - ",e.data==null?null:e.data.license," "),l(),M(e.Url?3:-1),l(2),I(" ",e.data==null?null:e.data.description," "),l(3),C(e.data==null?null:e.data.notes)}}var L=class s{#e=v(X);licenses=K(this.#e.getApiV1Licenses().pipe(T(t=>t.map(e=>O(b({},e),{data:e.Jsondata?JSON.parse(e.Jsondata):null})))));dialogIsOpen=m(!1);dialogLicense=m(null);#t=W(()=>{this.dialogLicense()&&this.dialogIsOpen.set(!0)});openLicense(t){this.dialogLicense.set(t)}closeLicense(){this.dialogIsOpen.set(!1),this.dialogLicense.set(null)}breakIntoLines(t){let e=t.split(`
2
2
  `),n="";for(let o=0;o<e.length;o++)n+=`<li>${e[o]}</li>`;return n}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=h({type:s,selectors:[["app-libraries"]],decls:15,vars:5,consts:()=>{let t;t=$localize`Libraries`;let e;return e=$localize` Details ${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:arrow-square-in${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON:`,[t,e,[1,"license"],[3,"isOpenChange","isOpen","options"],["header",""],["content",""],[1,"license-dialog"],["footer",""],["spk-button","","type","button",3,"click"],[3,"href"],[1,"actions"],["spk-button","",3,"click"]]},template:function(e,n){if(e&1){let o=u();i(0,"h3"),y(1,0),a(),R(2,Q,13,5,"div",2,P),i(4,"spk-dialog",3),V("isOpenChange",function(p){return d(o),B(n.dialogIsOpen,p)||(n.dialogIsOpen=p),_(p)}),i(5,"header",4)(6,"h3"),c(7),a()(),i(8,"div",5),U(9),i(10,"div",6),c(11),a()(),i(12,"footer",7)(13,"button",8),f("click",function(){return d(o),n.dialogLicense.set(null),_(n.dialogIsOpen.set(!1))}),c(14,"Close"),a()()()}if(e&2){let o,r;l(2),x(n.licenses()),l(2),$("isOpen",n.dialogIsOpen),F("options",G(4,j)),l(3),C((o=n.dialogLicense())==null?null:o.Title);let p=(r=(r=n.dialogLicense())==null?null:r.License)!==null&&r!==void 0?r:"";l(4),I(" ",p," ")}},dependencies:[z,q,J],styles:["[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}h4[_ngcontent-%COMP%]{font:var(--paragraph-10)}a[_ngcontent-%COMP%]{text-decoration:none}.license[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid var(--base-level-40);display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.license[_ngcontent-%COMP%]:first-of-type{border-top:1px solid var(--base-level-40)}.license[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;gap:.25rem;align-items:center}.license-dialog[_ngcontent-%COMP%]{background-color:var(--base-level-10);color:var(--base-level-70);padding:2.5rem 2.5rem 2.5rem 1.5rem;border-radius:var(--shape-3);overflow:auto;max-height:31.25rem;white-space:pre;border:1px solid var(--base-level-40)}"],changeDetection:0})};export{L as default};
@@ -1 +1 @@
1
- import{g as a,h as b,i as c}from"./chunk-JD54W4UA.js";import"./chunk-6DH6O5YE.js";import"./chunk-YJSWEW6C.js";import"./chunk-VN7JM6M3.js";import"./chunk-KSP3JQHY.js";import"./chunk-HTNYQE2B.js";import"./chunk-URU2SLPX.js";import"./chunk-7L42EO7J.js";import"./chunk-RHW5QVAY.js";import"./chunk-T2OUHRUV.js";import"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import"./chunk-WX7L7V6J.js";import"./chunk-4AECHE4W.js";import"./chunk-CKPICCFH.js";import"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";export{b as NONE_OPTION,a as createGeneralForm,c as default};
1
+ import{g as a,h as b,i as c}from"./chunk-DMDYUREZ.js";import"./chunk-6DH6O5YE.js";import"./chunk-ORDORLQT.js";import"./chunk-VN7JM6M3.js";import"./chunk-KSP3JQHY.js";import"./chunk-HTNYQE2B.js";import"./chunk-GJROCOAD.js";import"./chunk-7L42EO7J.js";import"./chunk-RHW5QVAY.js";import"./chunk-T2OUHRUV.js";import"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import"./chunk-WX7L7V6J.js";import"./chunk-JSGFZ2GA.js";import"./chunk-CKPICCFH.js";import"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";export{b as NONE_OPTION,a as createGeneralForm,c as default};
@@ -1 +1 @@
1
- import{a as Ie}from"./chunk-XJXOUOD5.js";import{a as Ne}from"./chunk-SKJ6XSV3.js";import{a as w}from"./chunk-QP4QZQOW.js";import{a as De}from"./chunk-ULHQZGHN.js";import"./chunk-7L42EO7J.js";import"./chunk-2ZVLF3KW.js";import"./chunk-6OKAWH4X.js";import{a as Te}from"./chunk-GDHVQU56.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import{c as Ce,d as Ee,e as Pe,h as Oe,r as fe,s as he,t as ke}from"./chunk-T2OUHRUV.js";import{a as ce,c as me}from"./chunk-CHRKPWRG.js";import"./chunk-I3C2AEHI.js";import{c as le,e as re,f as _e}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{A as Ae,a as I,b as y,c as pe,e as ue,g as H,k as Se,l as de,n as ge,u as Fe}from"./chunk-WX7L7V6J.js";import{h as b}from"./chunk-4AECHE4W.js";import"./chunk-CKPICCFH.js";import{$b as d,Ac as ae,Bc as j,Cb as O,F as B,Gb as p,Hb as u,Ib as f,Lb as $,Mb as S,Nb as c,Qa as l,Xa as Z,Y as g,Yb as oe,Za as X,Zb as ie,ab as N,ac as V,bc as K,da as T,ea as C,ec as z,fb as m,fc as W,gc as q,lc as se,nb as D,pb as G,qa as J,rb as R,sb as F,tb as ee,ua as P,ub as te,vb as ne,wb as s,xb as i,yb as _}from"./chunk-W2F756OF.js";import{a as U,b as Y}from"./chunk-7CGTOI24.js";var $e=["scroller"];function ve(o,n){o&1&&(s(0,"spk-icon"),d(1,"bell-ringing"),i())}function Ge(o,n){o&1&&(s(0,"spk-icon"),d(1,"bell"),i())}function be(o,n){if(o&1&&(s(0,"div",9),d(1),i()),o&2){let e,t=c(2);l(),K(" ",(e=t.shownMessage())==null?null:e.content," ")}}function ye(o,n){if(o&1&&(s(0,"div",6)(1,"spk-alert")(2,"div",8),d(3),i(),m(4,be,2,1,"div",9),i()()),o&2){let e,t,a,r=c();l(),R((e=(e=r.shownMessage())==null?null:e.type)!==null&&e!==void 0?e:"error"),l(2),V((t=r.shownMessage())==null?null:t.title),l(),F((a=r.shownMessage())!=null&&a.content?4:-1)}}function He(o,n){if(o&1){let e=O();s(0,"div",7)(1,"div",10)(2,"h6",11),p(3,2),s(4,"button",5),S("click",function(){T(e);let a=c();return C(a.toggleNotifications())}),_(5,"spk-icon"),i(),u(),i(),s(6,"div",12,0)(8,"div",13),_(9,"app-notifications"),i()()()()}}function we(o,n){if(o&1&&(s(0,"div",17),d(1),i()),o&2){let e=c().$implicit;l(),K(" ",e.content," ")}}function xe(o,n){if(o&1){let e=O();s(0,"spk-alert",15,1),S("click",function(){let a=T(e).$implicit,r=c(2);return C(r.deleteAlertByIndex(a.id))}),s(2,"div",16),d(3),i(),m(4,we,2,1,"div",17),i()}if(o&2){let e=n.$implicit;R(e.type),D("id",e.id),l(3),V(e.title),l(),F(e.content?4:-1)}}function Ue(o,n){o&1&&(s(0,"p"),f(1,4),i())}function Ye(o,n){if(o&1){let e=O();s(0,"div",7)(1,"div",10)(2,"h6",11),p(3,3),s(4,"button",5),S("click",function(){T(e);let a=c();return C(a.toggleAlerts())}),_(5,"spk-icon"),i(),u(),i(),s(6,"div",12,0)(8,"div",13),te(9,xe,5,5,"spk-alert",14,ee,!1,Ue,2,0,"p"),i()()()()}if(o&2){let e=c();l(9),ne(e.alertHistory())}}var Me=new fe,v=class o{#e=g(pe);#t=g(w);isSubmitting=P(!1);messageSent=P(!1);form=Me.group({message:Me.control("",[Ee.required])});notifications=this.#t.notifications;shownMessage=P(null);shownMessageInterval=null;alertHistory=this.#e.alertHistory;alertHistoryIsOpen=this.#e.alertHistoryIsOpen;alertHistoryIsHidden=this.#e.alertHistoryIsHidden;numberOfOpenAlerts=ae(()=>this.alertHistory().filter(n=>n.isOpen).length);scroller=Z("scroller");isAlertsOpen=X(!1);isNotificationsOpen=X(!1);previousHistoryCount=P(null);constructor(){j(()=>{let n=this.alertHistory();n.length&&this.previousHistoryCount()!==n.length&&!this.isAlertsOpen()&&(this.shownMessage.set(Y(U({},n[0]),{countDown:3})),this.previousHistoryCount.set(n.length),this.shownMessageInterval=setInterval(()=>{let e=this.shownMessage();if(e?.countDown===0){this.shownMessage.set(null),this.shownMessageInterval=null;return}e!==null&&this.shownMessage.update(t=>Y(U({},t),{countDown:t.countDown-1}))},1e3))}),j(()=>{this.alertHistoryIsOpen(),this.scrollToBottom()})}resetPreviewMessage(){this.shownMessage.set(null),this.shownMessageInterval=null}toggleAlerts(){this.isAlertsOpen()?this.isAlertsOpen.set(!1):(this.isAlertsOpen.set(!0),this.isNotificationsOpen.set(!1),this.resetPreviewMessage())}toggleNotifications(){this.isNotificationsOpen.set(!this.isNotificationsOpen()),this.isAlertsOpen()&&this.isAlertsOpen.set(!1)}deleteAlertByIndex(n){this.#e.removeAlert(n)}scrollToBottom(){this.scroller()&&this.scroller()?.nativeElement&&this.scroller().nativeElement.scrollTo(0,this.scroller().nativeElement.scrollHeight)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=N({type:o,selectors:[["app-service-hub"]],viewQuery:function(e,t){e&1&&oe(t.scroller,$e,5),e&2&&ie()},inputs:{isAlertsOpen:[1,"isAlertsOpen"],isNotificationsOpen:[1,"isNotificationsOpen"]},outputs:{isAlertsOpen:"isAlertsOpenChange",isNotificationsOpen:"isNotificationsOpenChange"},decls:9,vars:8,consts:()=>{let n;n=$localize` Notifications ${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_BUTTON:`;let e;e=$localize` Alerts ${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_BUTTON:`;let t;return t=$localize`No alerts yet`,[["scroller",""],["alerts",""],n,e,t,["spk-button","",3,"click"],[1,"preview-alert-wrap"],[1,"alert-stream-modal"],["sparkle-alert-title",""],["sparkle-alert-content",""],[1,"alert-stream-modal-content"],[1,"paragraph-20"],[1,"alert-stream-modal-list-scroller"],[1,"alert-stream-modal-list"],[3,"class","id"],[3,"click","id"],["title",""],["content",""]]},template:function(e,t){e&1&&(s(0,"button",5),S("click",function(){return t.toggleAlerts()}),s(1,"spk-icon"),d(2,"info"),i()(),s(3,"button",5),S("click",function(){return t.toggleNotifications()}),m(4,ve,2,0,"spk-icon")(5,Ge,2,0,"spk-icon"),i(),m(6,ye,5,4,"div",6)(7,He,10,0,"div",7)(8,Ye,12,1,"div",7)),e&2&&(R(t.alertHistory().length?"error":""),l(3),R(t.notifications().length?"error":""),l(),F(t.notifications().length?4:5),l(2),F(t.shownMessage()?6:-1),l(),F(t.isNotificationsOpen()?7:-1),l(),F(t.isAlertsOpen()?8:-1))},dependencies:[ke,y,I,H,Ne],styles:["[_nghost-%COMP%]{display:flex;position:fixed;gap:.5rem;bottom:1.5rem;right:1.5rem;z-index:5000}@media only screen and (max-width: 768px){[_nghost-%COMP%]{bottom:1rem;right:1rem}}[_nghost-%COMP%] h6[_ngcontent-%COMP%]{margin:0}.preview-alert-wrap[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column;min-width:250px}.helpdesk-modal[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column}@media only screen and (max-width: 768px){.helpdesk-modal[_ngcontent-%COMP%]{bottom:2.6875rem}}.helpdesk-modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;gap:1rem;min-width:20rem;border:1px solid var(--base-level-40);background-color:var(--base-level-10);border-radius:var(--shape-2)}.helpdesk-modal-content[_ngcontent-%COMP%] .message-sent[_ngcontent-%COMP%]{padding:0 1rem 1rem;text-wrap:pretty}.helpdesk-modal-content[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid var(--base-level-40);display:flex;align-items:center;justify-content:space-between}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{padding:0 1rem 1rem;display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{width:100%;text-wrap:pretty}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.alert-stream-modal[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column}@media only screen and (max-width: 768px){.alert-stream-modal[_ngcontent-%COMP%]{bottom:2.6875rem}}.alert-stream-modal-list-scroller[_ngcontent-%COMP%]{overflow-y:auto;max-height:18.75rem}.alert-stream-modal-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:1rem;border-radius:var(--shape-2)}.alert-stream-modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;min-width:20rem;border:1px solid var(--base-level-40);background-color:var(--base-level-10);border-radius:var(--shape-2)}.alert-stream-modal-content[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid var(--base-level-40);display:flex;align-items:center;justify-content:space-between}"],changeDetection:0})};function Be(o,n){o&1&&(s(0,"spk-icon",14),d(1,"check"),i())}function Xe(o,n){o&1&&(s(0,"spk-icon",15),d(1,"prohibit"),i())}function Ve(o,n){if(o&1){let e=O();s(0,"button",20),S("click",function(){T(e);let a=c();return C(a.updatePassphrase())}),f(1,5),i()}if(o&2){let e=c();G("loader",e.isUpdating())}}function Ke(o,n){if(o&1){let e=O();s(0,"spk-tooltip",19)(1,"button",21),S("click",function(){T(e);let a=c();return C(a.updatePassphrase())}),f(2,6),i()()}if(o&2){let e=c();l(),G("loader",e.isUpdating()),D("disabled",!0)}}var x=class o{#e=g(b);closed=J();isUpdating=P(!1);passphrase=P("");repeatPassphrase=P("");updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#e.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(B(()=>this.isUpdating.set(!1))).subscribe({next:()=>this.closed.emit()}))}cancel(){this.isUpdating.set(!0),this.#e.patchApiV1Serversettings({requestBody:{"has-asked-for-password-change":"True"}}).pipe(B(()=>this.isUpdating.set(!1))).subscribe({next:()=>this.closed.emit()})}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=N({type:o,selectors:[["app-change-passphrase-alert-dialog"]],outputs:{closed:"closed"},decls:23,vars:7,consts:()=>{let n;n=$localize`Enter new password`;let e;e=$localize`Repeat password`;let t;t=$localize`Password have to be filled and have to match`;let a;a=$localize`Change passphrase`;let r;r=$localize` Duplicati needs to be secured with a passphrase and a random passphrase has been generated for you. ${"[\uFFFD#6\uFFFD\uFFFD/#6\uFFFD|\uFFFD#7\uFFFD\uFFFD/#7\uFFFD]"}:LINE_BREAK:${"[\uFFFD#6\uFFFD\uFFFD/#6\uFFFD|\uFFFD#7\uFFFD\uFFFD/#7\uFFFD]"}:LINE_BREAK: If you open Duplicati from the tray icon, you do not need a passphrase, but if you plan to open it from another location you need to set a passphrase you know. Do you want to set a passphrase now? `,r=$(r);let h;h=$localize`Passphrase`;let k;k=$localize`Repeat passphrase`;let M;M=$localize`Not now thanks`;let L;L=$localize` Yes, update passphrase now `;let A;return A=$localize` Yes, update passphrase now `,[a,r,h,k,M,L,A,["header",""],["content",""],["type","warning"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",n,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",e,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"spk-success"],["suffix",""],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"loader"],["message",t,1,"primary"],["spk-button","",1,"raised","primary",3,"click"],["spk-button","",1,"raised","primary",3,"click","disabled"]]},template:function(e,t){e&1&&(s(0,"header",7)(1,"h3"),f(2,0),i()(),s(3,"div",8)(4,"spk-alert",9),p(5,1),_(6,"br")(7,"br"),u(),i(),s(8,"spk-form-field")(9,"label",10),f(10,2),i(),s(11,"input",11),q("ngModelChange",function(r){return W(t.passphrase,r)||(t.passphrase=r),r}),i()(),s(12,"spk-form-field")(13,"label",12),f(14,3),i(),s(15,"input",13),q("ngModelChange",function(r){return W(t.repeatPassphrase,r)||(t.repeatPassphrase=r),r}),i(),m(16,Be,2,0,"spk-icon",14)(17,Xe,2,0,"spk-icon",15),i()(),s(18,"footer",16)(19,"button",17),S("click",function(){return t.cancel()}),f(20,4),i(),m(21,Ve,2,2,"button",18)(22,Ke,3,3,"spk-tooltip",19),i()),e&2&&(l(11),z("ngModel",t.passphrase),l(4),D("disabled",t.passphrase().length===0),z("ngModel",t.repeatPassphrase),l(),F(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?16:17),l(3),G("loader",t.isUpdating()),l(2),F(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?21:22))},dependencies:[he,Ce,Pe,Oe,y,de,I,Ae],styles:["[_nghost-%COMP%]{display:block;--dialog-p: 1.5rem}[content][_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}"],changeDetection:0})};var ze=()=>({exact:!0});function We(o,n){o&1&&(s(0,"spk-icon"),d(1,"sun"),i())}function qe(o,n){o&1&&(s(0,"spk-icon"),d(1,"moon"),i())}function je(o,n){if(o&1){let e=O();s(0,"button",21),S("click",function(){T(e);let a=c();return C(a.changeDefaultClientTo("ngax"))}),p(1,7),_(2,"spk-icon"),u(),i(),s(3,"button",21),S("click",function(){T(e);let a=c();return C(a.logout())}),p(4,8),_(5,"spk-icon"),u(),i()}}var Q=class o{#e=g(Ie);#t=g(b);#n=g(Te);#o=g(ce);#i=g(ue);#s=g(w);#a=g(me);relayIsEnabled=this.#o.relayIsEnabled;isDarkMode=this.#e.isDarkMode;ngOnInit(){return this.#s.init(),this.#n.getBackups(!0),this.#t.getApiV1Serversettings().subscribe({next:n=>{let e=n["autogenerated-passphrase"]==="True",t=n["has-asked-for-password-change"]==="True";e&&!t&&this.#i.open(x,{maxWidth:"500px"})}})}toggleBodyClass(){this.#e.toggleBodyClass()}changeDefaultClientTo(n){this.#l(n),window.location.replace(`/${n}`)}logout(){this.#a.logout()}#l(n){var e=new Date;e.setTime(e.getTime()+90*24*60*60*1e3),document.cookie="default-client="+n+"; expires="+e.toUTCString()+"; path=/"}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=N({type:o,selectors:[["app-layout"]],decls:37,vars:4,consts:()=>{let n;n=$localize`${"\uFFFD#10\uFFFD"}:START_TAG_SPK_ICON:house${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_SPK_ICON: Home `;let e;e=$localize`${"\uFFFD#13\uFFFD"}:START_TAG_SPK_ICON:database${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SPK_ICON: Add backup `;let t;t=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SPK_ICON:clock-counter-clockwise${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SPK_ICON: Restore `;let a;a=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:gear${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Settings `;let r;r=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SPK_ICON:info${"\uFFFD/#26\uFFFD"}:CLOSE_TAG_SPK_ICON: About Duplicati `;let h;h=$localize`${"\uFFFD#29\uFFFD"}:START_TAG_SPK_ICON:files${"[\uFFFD/#29\uFFFD|\uFFFD/#30\uFFFD]"}:CLOSE_TAG_SPK_ICON: Documentation ${"\uFFFD#30\uFFFD"}:START_TAG_SPK_ICON_1:arrow-square-out${"[\uFFFD/#29\uFFFD|\uFFFD/#30\uFFFD]"}:CLOSE_TAG_SPK_ICON:`,h=$(h);let k;k=$localize`${"\uFFFD#33\uFFFD"}:START_TAG_SPK_ICON:chats-circle${"[\uFFFD/#33\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SPK_ICON: Visit forum ${"\uFFFD#34\uFFFD"}:START_TAG_SPK_ICON_1:arrow-square-out${"[\uFFFD/#33\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SPK_ICON:`,k=$(k);let M;M=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:skip-back${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Revert to NGAX client `;let L;return L=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:sign-out${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON: Log out `,[n,e,t,a,r,h,k,M,L,["sidenav",""],["spk-button","",1,"icon","small",3,"click"],[1,"base-level-20","primary"],["action","","routerLink","/","routerLinkActive","active",3,"routerLinkActiveOptions"],["action","","routerLink","/add-backup","routerLinkActive","active"],["action","","routerLink","/restore","routerLinkActive","active"],["action","","routerLink","/settings","routerLinkActive","active"],[1,"spacer"],["action","","routerLink","/about","routerLinkActive","active"],["href","https://docs.duplicati.com","target","_blank","action",""],["suffix",""],["href","https://forum.duplicati.com","target","_blank","action",""],["action","",3,"click"]]},template:function(e,t){e&1&&(s(0,"spk-sidenav")(1,"div",9)(2,"header"),_(3,"app-logo"),s(4,"button",10),S("click",function(){return t.toggleBodyClass()}),m(5,We,2,0,"spk-icon")(6,qe,2,0,"spk-icon"),i()(),s(7,"spk-list",11)(8,"button",12),p(9,0),_(10,"spk-icon"),u(),i(),s(11,"button",13),p(12,1),_(13,"spk-icon"),u(),i(),s(14,"button",14),p(15,2),_(16,"spk-icon"),u(),i(),s(17,"button",15),p(18,3),_(19,"spk-icon"),u(),i()(),_(20,"div",16),s(21,"spk-list",11),m(22,je,6,0),_(23,"spk-divider"),s(24,"button",17),p(25,4),_(26,"spk-icon"),u(),i(),s(27,"a",18),p(28,5),_(29,"spk-icon")(30,"spk-icon",19),u(),i(),s(31,"a",20),p(32,6),_(33,"spk-icon")(34,"spk-icon",19),u(),i()()(),_(35,"router-outlet")(36,"app-service-hub"),i()),e&2&&(l(5),F(t.isDarkMode()?5:6),l(3),D("routerLinkActiveOptions",se(3,ze)),l(14),F(t.relayIsEnabled()?-1:22))},dependencies:[le,re,_e,Fe,I,ge,H,Se,v,De],styles:["[_nghost-%COMP%]{height:100vh;width:100%;overflow:hidden}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:20px;gap:12px}h3[title][_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}div[sidenav][_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100vh}"],changeDetection:0})};export{Q as default};
1
+ import{a as Ie}from"./chunk-XJXOUOD5.js";import{a as Ne}from"./chunk-2LP4DYGQ.js";import{a as w}from"./chunk-KHC3VCF4.js";import{a as De}from"./chunk-ULHQZGHN.js";import"./chunk-7L42EO7J.js";import"./chunk-KIUU6RPZ.js";import"./chunk-NQNRR7VE.js";import{a as Te}from"./chunk-OTLEEXAA.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import{c as Ce,d as Ee,e as Pe,h as Oe,r as fe,s as he,t as ke}from"./chunk-T2OUHRUV.js";import{a as ce,c as me}from"./chunk-F4EEOSGJ.js";import"./chunk-I3C2AEHI.js";import{c as le,e as re,f as _e}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{A as Ae,a as I,b as y,c as pe,e as ue,g as H,k as Se,l as de,n as ge,u as Fe}from"./chunk-WX7L7V6J.js";import{h as b}from"./chunk-JSGFZ2GA.js";import"./chunk-CKPICCFH.js";import{$b as d,Ac as ae,Bc as j,Cb as O,F as B,Gb as p,Hb as u,Ib as f,Lb as $,Mb as S,Nb as c,Qa as l,Xa as Z,Y as g,Yb as oe,Za as X,Zb as ie,ab as N,ac as V,bc as K,da as T,ea as C,ec as z,fb as m,fc as W,gc as q,lc as se,nb as D,pb as G,qa as J,rb as R,sb as F,tb as ee,ua as P,ub as te,vb as ne,wb as s,xb as i,yb as _}from"./chunk-W2F756OF.js";import{a as U,b as Y}from"./chunk-7CGTOI24.js";var $e=["scroller"];function ve(o,n){o&1&&(s(0,"spk-icon"),d(1,"bell-ringing"),i())}function Ge(o,n){o&1&&(s(0,"spk-icon"),d(1,"bell"),i())}function be(o,n){if(o&1&&(s(0,"div",9),d(1),i()),o&2){let e,t=c(2);l(),K(" ",(e=t.shownMessage())==null?null:e.content," ")}}function ye(o,n){if(o&1&&(s(0,"div",6)(1,"spk-alert")(2,"div",8),d(3),i(),m(4,be,2,1,"div",9),i()()),o&2){let e,t,a,r=c();l(),R((e=(e=r.shownMessage())==null?null:e.type)!==null&&e!==void 0?e:"error"),l(2),V((t=r.shownMessage())==null?null:t.title),l(),F((a=r.shownMessage())!=null&&a.content?4:-1)}}function He(o,n){if(o&1){let e=O();s(0,"div",7)(1,"div",10)(2,"h6",11),p(3,2),s(4,"button",5),S("click",function(){T(e);let a=c();return C(a.toggleNotifications())}),_(5,"spk-icon"),i(),u(),i(),s(6,"div",12,0)(8,"div",13),_(9,"app-notifications"),i()()()()}}function we(o,n){if(o&1&&(s(0,"div",17),d(1),i()),o&2){let e=c().$implicit;l(),K(" ",e.content," ")}}function xe(o,n){if(o&1){let e=O();s(0,"spk-alert",15,1),S("click",function(){let a=T(e).$implicit,r=c(2);return C(r.deleteAlertByIndex(a.id))}),s(2,"div",16),d(3),i(),m(4,we,2,1,"div",17),i()}if(o&2){let e=n.$implicit;R(e.type),D("id",e.id),l(3),V(e.title),l(),F(e.content?4:-1)}}function Ue(o,n){o&1&&(s(0,"p"),f(1,4),i())}function Ye(o,n){if(o&1){let e=O();s(0,"div",7)(1,"div",10)(2,"h6",11),p(3,3),s(4,"button",5),S("click",function(){T(e);let a=c();return C(a.toggleAlerts())}),_(5,"spk-icon"),i(),u(),i(),s(6,"div",12,0)(8,"div",13),te(9,xe,5,5,"spk-alert",14,ee,!1,Ue,2,0,"p"),i()()()()}if(o&2){let e=c();l(9),ne(e.alertHistory())}}var Me=new fe,v=class o{#e=g(pe);#t=g(w);isSubmitting=P(!1);messageSent=P(!1);form=Me.group({message:Me.control("",[Ee.required])});notifications=this.#t.notifications;shownMessage=P(null);shownMessageInterval=null;alertHistory=this.#e.alertHistory;alertHistoryIsOpen=this.#e.alertHistoryIsOpen;alertHistoryIsHidden=this.#e.alertHistoryIsHidden;numberOfOpenAlerts=ae(()=>this.alertHistory().filter(n=>n.isOpen).length);scroller=Z("scroller");isAlertsOpen=X(!1);isNotificationsOpen=X(!1);previousHistoryCount=P(null);constructor(){j(()=>{let n=this.alertHistory();n.length&&this.previousHistoryCount()!==n.length&&!this.isAlertsOpen()&&(this.shownMessage.set(Y(U({},n[0]),{countDown:3})),this.previousHistoryCount.set(n.length),this.shownMessageInterval=setInterval(()=>{let e=this.shownMessage();if(e?.countDown===0){this.shownMessage.set(null),this.shownMessageInterval=null;return}e!==null&&this.shownMessage.update(t=>Y(U({},t),{countDown:t.countDown-1}))},1e3))}),j(()=>{this.alertHistoryIsOpen(),this.scrollToBottom()})}resetPreviewMessage(){this.shownMessage.set(null),this.shownMessageInterval=null}toggleAlerts(){this.isAlertsOpen()?this.isAlertsOpen.set(!1):(this.isAlertsOpen.set(!0),this.isNotificationsOpen.set(!1),this.resetPreviewMessage())}toggleNotifications(){this.isNotificationsOpen.set(!this.isNotificationsOpen()),this.isAlertsOpen()&&this.isAlertsOpen.set(!1)}deleteAlertByIndex(n){this.#e.removeAlert(n)}scrollToBottom(){this.scroller()&&this.scroller()?.nativeElement&&this.scroller().nativeElement.scrollTo(0,this.scroller().nativeElement.scrollHeight)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=N({type:o,selectors:[["app-service-hub"]],viewQuery:function(e,t){e&1&&oe(t.scroller,$e,5),e&2&&ie()},inputs:{isAlertsOpen:[1,"isAlertsOpen"],isNotificationsOpen:[1,"isNotificationsOpen"]},outputs:{isAlertsOpen:"isAlertsOpenChange",isNotificationsOpen:"isNotificationsOpenChange"},decls:9,vars:8,consts:()=>{let n;n=$localize` Notifications ${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_BUTTON:`;let e;e=$localize` Alerts ${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON:${"\uFFFD/#4\uFFFD"}:CLOSE_TAG_BUTTON:`;let t;return t=$localize`No alerts yet`,[["scroller",""],["alerts",""],n,e,t,["spk-button","",3,"click"],[1,"preview-alert-wrap"],[1,"alert-stream-modal"],["sparkle-alert-title",""],["sparkle-alert-content",""],[1,"alert-stream-modal-content"],[1,"paragraph-20"],[1,"alert-stream-modal-list-scroller"],[1,"alert-stream-modal-list"],[3,"class","id"],[3,"click","id"],["title",""],["content",""]]},template:function(e,t){e&1&&(s(0,"button",5),S("click",function(){return t.toggleAlerts()}),s(1,"spk-icon"),d(2,"info"),i()(),s(3,"button",5),S("click",function(){return t.toggleNotifications()}),m(4,ve,2,0,"spk-icon")(5,Ge,2,0,"spk-icon"),i(),m(6,ye,5,4,"div",6)(7,He,10,0,"div",7)(8,Ye,12,1,"div",7)),e&2&&(R(t.alertHistory().length?"error":""),l(3),R(t.notifications().length?"error":""),l(),F(t.notifications().length?4:5),l(2),F(t.shownMessage()?6:-1),l(),F(t.isNotificationsOpen()?7:-1),l(),F(t.isAlertsOpen()?8:-1))},dependencies:[ke,y,I,H,Ne],styles:["[_nghost-%COMP%]{display:flex;position:fixed;gap:.5rem;bottom:1.5rem;right:1.5rem;z-index:5000}@media only screen and (max-width: 768px){[_nghost-%COMP%]{bottom:1rem;right:1rem}}[_nghost-%COMP%] h6[_ngcontent-%COMP%]{margin:0}.preview-alert-wrap[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column;min-width:250px}.helpdesk-modal[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column}@media only screen and (max-width: 768px){.helpdesk-modal[_ngcontent-%COMP%]{bottom:2.6875rem}}.helpdesk-modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;gap:1rem;min-width:20rem;border:1px solid var(--base-level-40);background-color:var(--base-level-10);border-radius:var(--shape-2)}.helpdesk-modal-content[_ngcontent-%COMP%] .message-sent[_ngcontent-%COMP%]{padding:0 1rem 1rem;text-wrap:pretty}.helpdesk-modal-content[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid var(--base-level-40);display:flex;align-items:center;justify-content:space-between}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{padding:0 1rem 1rem;display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{width:100%;text-wrap:pretty}.helpdesk-modal-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.alert-stream-modal[_ngcontent-%COMP%]{position:absolute;bottom:2.6875rem;right:0;display:flex;flex-direction:column}@media only screen and (max-width: 768px){.alert-stream-modal[_ngcontent-%COMP%]{bottom:2.6875rem}}.alert-stream-modal-list-scroller[_ngcontent-%COMP%]{overflow-y:auto;max-height:18.75rem}.alert-stream-modal-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:1rem;border-radius:var(--shape-2)}.alert-stream-modal-content[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;min-width:20rem;border:1px solid var(--base-level-40);background-color:var(--base-level-10);border-radius:var(--shape-2)}.alert-stream-modal-content[_ngcontent-%COMP%] h6[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid var(--base-level-40);display:flex;align-items:center;justify-content:space-between}"],changeDetection:0})};function Be(o,n){o&1&&(s(0,"spk-icon",14),d(1,"check"),i())}function Xe(o,n){o&1&&(s(0,"spk-icon",15),d(1,"prohibit"),i())}function Ve(o,n){if(o&1){let e=O();s(0,"button",20),S("click",function(){T(e);let a=c();return C(a.updatePassphrase())}),f(1,5),i()}if(o&2){let e=c();G("loader",e.isUpdating())}}function Ke(o,n){if(o&1){let e=O();s(0,"spk-tooltip",19)(1,"button",21),S("click",function(){T(e);let a=c();return C(a.updatePassphrase())}),f(2,6),i()()}if(o&2){let e=c();l(),G("loader",e.isUpdating()),D("disabled",!0)}}var x=class o{#e=g(b);closed=J();isUpdating=P(!1);passphrase=P("");repeatPassphrase=P("");updatePassphrase(){this.passphrase()===this.repeatPassphrase()&&(this.isUpdating.set(!0),this.#e.patchApiV1Serversettings({requestBody:{"server-passphrase":this.passphrase()}}).pipe(B(()=>this.isUpdating.set(!1))).subscribe({next:()=>this.closed.emit()}))}cancel(){this.isUpdating.set(!0),this.#e.patchApiV1Serversettings({requestBody:{"has-asked-for-password-change":"True"}}).pipe(B(()=>this.isUpdating.set(!1))).subscribe({next:()=>this.closed.emit()})}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=N({type:o,selectors:[["app-change-passphrase-alert-dialog"]],outputs:{closed:"closed"},decls:23,vars:7,consts:()=>{let n;n=$localize`Enter new password`;let e;e=$localize`Repeat password`;let t;t=$localize`Password have to be filled and have to match`;let a;a=$localize`Change passphrase`;let r;r=$localize` Duplicati needs to be secured with a passphrase and a random passphrase has been generated for you. ${"[\uFFFD#6\uFFFD\uFFFD/#6\uFFFD|\uFFFD#7\uFFFD\uFFFD/#7\uFFFD]"}:LINE_BREAK:${"[\uFFFD#6\uFFFD\uFFFD/#6\uFFFD|\uFFFD#7\uFFFD\uFFFD/#7\uFFFD]"}:LINE_BREAK: If you open Duplicati from the tray icon, you do not need a passphrase, but if you plan to open it from another location you need to set a passphrase you know. Do you want to set a passphrase now? `,r=$(r);let h;h=$localize`Passphrase`;let k;k=$localize`Repeat passphrase`;let M;M=$localize`Not now thanks`;let L;L=$localize` Yes, update passphrase now `;let A;return A=$localize` Yes, update passphrase now `,[a,r,h,k,M,L,A,["header",""],["content",""],["type","warning"],["for","password"],["type","password","name","password","autocomplete","disabled","placeholder",n,"tabindex","1",3,"ngModelChange","ngModel"],["for","repeatPassword"],["type","password","name","repeatPassword","autocomplete","disabled","placeholder",e,"tabindex","2",3,"ngModelChange","disabled","ngModel"],["suffix","",1,"spk-success"],["suffix",""],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"loader"],["message",t,1,"primary"],["spk-button","",1,"raised","primary",3,"click"],["spk-button","",1,"raised","primary",3,"click","disabled"]]},template:function(e,t){e&1&&(s(0,"header",7)(1,"h3"),f(2,0),i()(),s(3,"div",8)(4,"spk-alert",9),p(5,1),_(6,"br")(7,"br"),u(),i(),s(8,"spk-form-field")(9,"label",10),f(10,2),i(),s(11,"input",11),q("ngModelChange",function(r){return W(t.passphrase,r)||(t.passphrase=r),r}),i()(),s(12,"spk-form-field")(13,"label",12),f(14,3),i(),s(15,"input",13),q("ngModelChange",function(r){return W(t.repeatPassphrase,r)||(t.repeatPassphrase=r),r}),i(),m(16,Be,2,0,"spk-icon",14)(17,Xe,2,0,"spk-icon",15),i()(),s(18,"footer",16)(19,"button",17),S("click",function(){return t.cancel()}),f(20,4),i(),m(21,Ve,2,2,"button",18)(22,Ke,3,3,"spk-tooltip",19),i()),e&2&&(l(11),z("ngModel",t.passphrase),l(4),D("disabled",t.passphrase().length===0),z("ngModel",t.repeatPassphrase),l(),F(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?16:17),l(3),G("loader",t.isUpdating()),l(2),F(t.passphrase().length!==0&&t.passphrase()===t.repeatPassphrase()?21:22))},dependencies:[he,Ce,Pe,Oe,y,de,I,Ae],styles:["[_nghost-%COMP%]{display:block;--dialog-p: 1.5rem}[content][_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}"],changeDetection:0})};var ze=()=>({exact:!0});function We(o,n){o&1&&(s(0,"spk-icon"),d(1,"sun"),i())}function qe(o,n){o&1&&(s(0,"spk-icon"),d(1,"moon"),i())}function je(o,n){if(o&1){let e=O();s(0,"button",21),S("click",function(){T(e);let a=c();return C(a.changeDefaultClientTo("ngax"))}),p(1,7),_(2,"spk-icon"),u(),i(),s(3,"button",21),S("click",function(){T(e);let a=c();return C(a.logout())}),p(4,8),_(5,"spk-icon"),u(),i()}}var Q=class o{#e=g(Ie);#t=g(b);#n=g(Te);#o=g(ce);#i=g(ue);#s=g(w);#a=g(me);relayIsEnabled=this.#o.relayIsEnabled;isDarkMode=this.#e.isDarkMode;ngOnInit(){return this.#s.init(),this.#n.getBackups(!0),this.#t.getApiV1Serversettings().subscribe({next:n=>{let e=n["autogenerated-passphrase"]==="True",t=n["has-asked-for-password-change"]==="True";e&&!t&&this.#i.open(x,{maxWidth:"500px"})}})}toggleBodyClass(){this.#e.toggleBodyClass()}changeDefaultClientTo(n){this.#l(n),window.location.replace(`/${n}`)}logout(){this.#a.logout()}#l(n){var e=new Date;e.setTime(e.getTime()+90*24*60*60*1e3),document.cookie="default-client="+n+"; expires="+e.toUTCString()+"; path=/"}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=N({type:o,selectors:[["app-layout"]],decls:37,vars:4,consts:()=>{let n;n=$localize`${"\uFFFD#10\uFFFD"}:START_TAG_SPK_ICON:house${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_SPK_ICON: Home `;let e;e=$localize`${"\uFFFD#13\uFFFD"}:START_TAG_SPK_ICON:database${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SPK_ICON: Add backup `;let t;t=$localize`${"\uFFFD#16\uFFFD"}:START_TAG_SPK_ICON:clock-counter-clockwise${"\uFFFD/#16\uFFFD"}:CLOSE_TAG_SPK_ICON: Restore `;let a;a=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:gear${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Settings `;let r;r=$localize`${"\uFFFD#26\uFFFD"}:START_TAG_SPK_ICON:info${"\uFFFD/#26\uFFFD"}:CLOSE_TAG_SPK_ICON: About Duplicati `;let h;h=$localize`${"\uFFFD#29\uFFFD"}:START_TAG_SPK_ICON:files${"[\uFFFD/#29\uFFFD|\uFFFD/#30\uFFFD]"}:CLOSE_TAG_SPK_ICON: Documentation ${"\uFFFD#30\uFFFD"}:START_TAG_SPK_ICON_1:arrow-square-out${"[\uFFFD/#29\uFFFD|\uFFFD/#30\uFFFD]"}:CLOSE_TAG_SPK_ICON:`,h=$(h);let k;k=$localize`${"\uFFFD#33\uFFFD"}:START_TAG_SPK_ICON:chats-circle${"[\uFFFD/#33\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SPK_ICON: Visit forum ${"\uFFFD#34\uFFFD"}:START_TAG_SPK_ICON_1:arrow-square-out${"[\uFFFD/#33\uFFFD|\uFFFD/#34\uFFFD]"}:CLOSE_TAG_SPK_ICON:`,k=$(k);let M;M=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SPK_ICON:skip-back${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SPK_ICON: Revert to NGAX client `;let L;return L=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_ICON:sign-out${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_ICON: Log out `,[n,e,t,a,r,h,k,M,L,["sidenav",""],["spk-button","",1,"icon","small",3,"click"],[1,"base-level-20","primary"],["action","","routerLink","/","routerLinkActive","active",3,"routerLinkActiveOptions"],["action","","routerLink","/add-backup","routerLinkActive","active"],["action","","routerLink","/restore","routerLinkActive","active"],["action","","routerLink","/settings","routerLinkActive","active"],[1,"spacer"],["action","","routerLink","/about","routerLinkActive","active"],["href","https://docs.duplicati.com","target","_blank","action",""],["suffix",""],["href","https://forum.duplicati.com","target","_blank","action",""],["action","",3,"click"]]},template:function(e,t){e&1&&(s(0,"spk-sidenav")(1,"div",9)(2,"header"),_(3,"app-logo"),s(4,"button",10),S("click",function(){return t.toggleBodyClass()}),m(5,We,2,0,"spk-icon")(6,qe,2,0,"spk-icon"),i()(),s(7,"spk-list",11)(8,"button",12),p(9,0),_(10,"spk-icon"),u(),i(),s(11,"button",13),p(12,1),_(13,"spk-icon"),u(),i(),s(14,"button",14),p(15,2),_(16,"spk-icon"),u(),i(),s(17,"button",15),p(18,3),_(19,"spk-icon"),u(),i()(),_(20,"div",16),s(21,"spk-list",11),m(22,je,6,0),_(23,"spk-divider"),s(24,"button",17),p(25,4),_(26,"spk-icon"),u(),i(),s(27,"a",18),p(28,5),_(29,"spk-icon")(30,"spk-icon",19),u(),i(),s(31,"a",20),p(32,6),_(33,"spk-icon")(34,"spk-icon",19),u(),i()()(),_(35,"router-outlet")(36,"app-service-hub"),i()),e&2&&(l(5),F(t.isDarkMode()?5:6),l(3),D("routerLinkActiveOptions",se(3,ze)),l(14),F(t.relayIsEnabled()?-1:22))},dependencies:[le,re,_e,Fe,I,ge,H,Se,v,De],styles:["[_nghost-%COMP%]{height:100vh;width:100%;overflow:hidden}header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:20px;gap:12px}h3[title][_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}div[sidenav][_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100vh}"],changeDetection:0})};export{Q as default};
@@ -1 +1 @@
1
- import{a as De}from"./chunk-TJS6O6KD.js";import{a as Ae}from"./chunk-7L42EO7J.js";import"./chunk-2ZVLF3KW.js";import"./chunk-6OKAWH4X.js";import{a as fe}from"./chunk-GDHVQU56.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import"./chunk-T2OUHRUV.js";import"./chunk-CHRKPWRG.js";import"./chunk-I3C2AEHI.js";import{e as v}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as X,e as ke,g as z,h as Pe,j as Ne,k as $e,o as w,p as Ie}from"./chunk-WX7L7V6J.js";import{h as me}from"./chunk-4AECHE4W.js";import"./chunk-JV6DGJII.js";import"./chunk-CKPICCFH.js";import"./chunk-EF7JWRDC.js";import{$b as S,Ab as T,Cb as x,F as D,Gb as p,Hb as d,Ib as s,Jb as I,Kb as f,Mb as M,Nb as u,Qa as c,Y as R,ab as Me,bc as N,da as O,ea as m,fb as C,kb as Ce,lb as Oe,lc as L,mc as P,nb as g,pb as $,pc as A,qc as G,rc as h,sb as k,tb as y,ua as H,ub as B,vb as b,wb as _,xb as t,yb as r,zb as E}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var Re=()=>[v,z,X,Ne,$e,w,import("./chunk-SEA4YEEO.js").then(e=>e.DurationFormatPipe),import("./chunk-CETM57LL.js").then(e=>e.BytesPipe),import("./chunk-MHO7INGX.js").then(e=>e.RelativeTimePipe)],He=()=>["/add-backup"],ye=()=>["/restore"],Be=e=>["/backup",e],be=e=>["/restore",e],xe=e=>["/backup",e,"export"],Le=e=>["/backup",e,"database"],Ge=e=>["/backup",e,"commandline"],he=e=>["/backup",e,"log"];function ve(e,i){if(e&1){let o=x();_(0,"button",42),M("click",function(){let l=O(o).$implicit,F=u();return m(F.setOrderBy(l.value))}),s(1,11),t()}if(e&2){let o=i.$implicit,n=u();$("active",n.orderBy()===o.value),c(),I(o.label),f(1)}}function Xe(e,i){if(e&1&&(S(0),A(1,"durationFormat")),e&2){let o=u().$implicit,n=u(3);N(" ",h(1,1,o.Backup==null||o.Backup.Metadata==null?null:o.Backup.Metadata.LastBackupDuration,n.timeType()==="actual")," ")}}function ze(e,i){e&1&&(E(0),s(1,26),T())}function we(e,i){if(e&1&&(S(0),A(1,"bytes")),e&2){let o=u().$implicit;N(" ",G(1,1,o.Backup==null||o.Backup.Metadata==null?null:o.Backup.Metadata.SourceFilesSize)," ")}}function Ke(e,i){e&1&&(E(0),s(1,27),T())}function Ve(e,i){if(e&1&&(S(0),A(1,"bytes")),e&2){let o=u().$implicit;N(" ",G(1,1,o.Backup==null||o.Backup.Metadata==null?null:o.Backup.Metadata.TargetFilesSize)," ")}}function je(e,i){e&1&&(E(0),s(1,28),T())}function qe(e,i){if(e&1&&(_(0,"spk-chip",46),s(1,29),t()),e&2){let o=u().$implicit;c(),I(o.Backup==null||o.Backup.Metadata==null?null:o.Backup.Metadata.BackupListCount),f(1)}}function Ue(e,i){e&1&&(_(0,"spk-chip",47),s(1,30),t())}function We(e,i){e&1&&(_(0,"spk-icon"),S(1,"check"),t())}function Je(e,i){e&1&&(_(0,"spk-icon"),S(1,"dots-three-vertical"),t())}function Qe(e,i){if(e&1){let o=x();_(0,"div",45)(1,"div",35)(2,"h3"),S(3),_(4,"spk-icon"),S(5,"database"),t()(),_(6,"p")(7,"span"),s(8,12),t(),S(9),A(10,"relativeTime"),t(),_(11,"p")(12,"span"),s(13,13),t(),C(14,Xe,2,4)(15,ze,2,0,"ng-container"),t(),_(16,"p")(17,"span"),s(18,14),t(),C(19,we,2,3)(20,Ke,2,0,"ng-container"),t(),_(21,"p")(22,"span"),s(23,15),t(),C(24,Ve,2,3)(25,je,2,0,"ng-container"),t()(),C(26,qe,2,1,"spk-chip",46)(27,Ue,2,0,"spk-chip",47),_(28,"div",39)(29,"button",48),M("click",function(){let l=O(o).$implicit,F=u(3);return m(F.startBackup(l.Backup==null?null:l.Backup.ID))}),p(30,16),r(31,"spk-icon"),d(),t(),_(32,"button",49)(33,"spk-icon"),S(34,"pencil-simple"),t()(),_(35,"spk-menu",50)(36,"button",36),C(37,We,2,0,"spk-icon")(38,Je,2,0,"spk-icon"),t(),E(39,41),_(40,"h3",51),S(41,"Operations"),t(),_(42,"button",52),p(43,17),r(44,"spk-icon"),d(),t(),_(45,"button",52),p(46,18),r(47,"spk-icon"),d(),t(),_(48,"button",53),M("click",function(){let l=O(o).$implicit,F=u(3);return m(F.deleteBackup(l.Backup==null?null:l.Backup.ID))}),p(49,19),r(50,"spk-icon"),d(),t(),r(51,"spk-divider"),_(52,"h3",51),S(53,"Advanced"),t(),_(54,"button",52),p(55,20),r(56,"spk-icon"),d(),t(),_(57,"button",42),M("click",function(){let l=O(o).$implicit,F=u(3);return m(F.verifyFiles(l.Backup==null?null:l.Backup.ID))}),p(58,21),r(59,"spk-icon"),d(),t(),_(60,"button",42),M("click",function(){let l=O(o).$implicit,F=u(3);return m(F.compressBackup(l.Backup==null?null:l.Backup.ID))}),p(61,22),r(62,"spk-icon"),d(),t(),_(63,"button",52),p(64,23),r(65,"spk-icon"),d(),t(),r(66,"spk-divider"),_(67,"h3",51),S(68,"Reporting"),t(),_(69,"button",52),p(70,24),r(71,"spk-icon"),d(),t(),_(72,"button",42),M("click",function(){let l=O(o).$implicit,F=u(3);return m(F.createErrorReport(l.Backup==null?null:l.Backup.ID))}),p(73,25),r(74,"spk-icon"),d(),t(),T(),t()()()}if(e&2){let o,n=i.$implicit,l=u(3);c(3),N(" ",(o=n.Backup==null?null:n.Backup.Name)!==null&&o!==void 0?o:l.MISSING_BACKUP_NAME," "),c(6),N(" ",h(10,22,n.Backup==null||n.Backup.Metadata==null?null:n.Backup.Metadata.LastBackupDate,l.timeType()==="actual")," "),c(5),k(!(n.Backup==null||n.Backup.Metadata==null)&&n.Backup.Metadata.LastBackupDuration?14:15),c(5),k(!(n.Backup==null||n.Backup.Metadata==null)&&n.Backup.Metadata.SourceFilesSize?19:20),c(5),k(!(n.Backup==null||n.Backup.Metadata==null)&&n.Backup.Metadata.TargetFilesSize?24:25),c(2),k(!(n.Backup==null||n.Backup.Metadata==null)&&n.Backup.Metadata.BackupListCount?26:27),c(3),$("loader",l.startingBackup()===(n.Backup==null?null:n.Backup.ID)),c(3),g("routerLink",P(25,Be,n.Backup==null?null:n.Backup.ID)),c(3),g("right",!0),c(),$("loader",l.loadingId()===(n.Backup==null?null:n.Backup.ID))("success",l.successId()===(n.Backup==null?null:n.Backup.ID)),c(),k(l.successId()===(n.Backup==null?null:n.Backup.ID)?37:38),c(5),g("routerLink",P(27,be,n.Backup==null?null:n.Backup.ID)),c(3),g("routerLink",P(29,xe,n.Backup==null?null:n.Backup.ID)),c(3),$("loader",l.deletingBackup()===(n.Backup==null?null:n.Backup.ID)),c(6),g("routerLink",P(31,Le,n.Backup==null?null:n.Backup.ID)),c(9),g("routerLink",P(33,Ge,n.Backup==null?null:n.Backup.ID)),c(6),g("routerLink",P(35,he,n.Backup==null?null:n.Backup.ID))}}function Ye(e,i){if(e&1&&B(0,Qe,75,37,"div",45,y),e&2){let o=u(2);b(o.backups())}}function Ze(e,i){e&1&&(E(0),s(1,31),T())}function en(e,i){if(e&1&&C(0,Ye,2,0)(1,Ze,2,0,"ng-container"),e&2){let o=u();k(o.backups().length?0:1)}}function nn(e,i){e&1&&(_(0,"div",54),r(1,"spk-progress-bar",55),_(2,"div",35)(3,"h3"),s(4,32),t()()())}var K=class e{#e=R(fe);#t=R(ke);#n=R(me);MISSING_BACKUP_NAME=$localize`Backup name missing`;sortOrderOptions=this.#e.orderByOptions;orderBy=this.#e.orderBy;backups=this.#e.backups;backupsLoading=this.#e.backupsLoading;startingBackup=this.#e.startingBackup;deletingBackup=this.#e.deletingBackup;timeType=this.#e.timeType;loadingId=H(null);successId=H(null);ngOnInit(){this.#e.getBackups(!0)}setOrderBy(i){this.#e.setOrderBy(i)}setTimeType(i){this.#e.setTimeType(i)}startBackup(i){this.#e.startBackup(i)}deleteBackup(i){this.loadingId.set(i),this.#t.open(Ae,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete this backup?`,confirmText:$localize`Delete backup`,cancelText:$localize`Cancel`},closed:o=>{o&&this.#e.deleteBackup(i)}})}verifyFiles(i){this.loadingId.set(i),this.#n.postApiV1BackupByIdVerify({id:i}).pipe(D(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(i),setTimeout(()=>this.successId.set(null),2e3)}})}compressBackup(i){this.loadingId.set(i),this.#n.postApiV1BackupByIdCompact({id:i}).pipe(D(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(i),setTimeout(()=>this.successId.set(null),2e3)}})}createErrorReport(i){this.loadingId.set(i),this.#n.postApiV1BackupByIdCreatereport({id:i}).pipe(D(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(i),setTimeout(()=>this.successId.set(null),2e3)}})}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=Me({type:e,selectors:[["app-home"]],decls:51,vars:7,consts:()=>{let i;i=$localize`Backups`;let o;o=$localize`Backups are stored in the cloud and can be restored at any time.`;let n;n=$localize` Add ${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let l;l=$localize`Restores`;let F;F=$localize`Restores allow you to restore your data from the cloud.`;let V;V=$localize` Start ${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let j;j=$localize`My backups`;let q;q=$localize` Time: ${"\uFFFD#31\uFFFD"}:START_TAG_STRONG:${"\uFFFD0\uFFFD"}:INTERPOLATION:${"\uFFFD/#31\uFFFD"}:CLOSE_TAG_STRONG:${"\uFFFD#32\uFFFD"}:START_TAG_SPK_ICON:clock${"\uFFFD/#32\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let U;U=$localize`Relative time`;let W;W=$localize`Actual time`;let J;J=$localize` Order by: ${"\uFFFD#41\uFFFD"}:START_TAG_STRONG:${"\uFFFD0\uFFFD"}:INTERPOLATION:${"\uFFFD/#41\uFFFD"}:CLOSE_TAG_STRONG:${"\uFFFD#42\uFFFD"}:START_TAG_SPK_ICON:arrows-down-up${"\uFFFD/#42\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let Q;Q=$localize` ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let Y;Y=$localize`Last successful backup:`;let Z;Z=$localize`Duration:`;let ee;ee=$localize`Source:`;let ne;ne=$localize`Destination:`;let te;te=$localize`${"\uFFFD#31\uFFFD"}:START_TAG_SPK_ICON:play-circle${"\uFFFD/#31\uFFFD"}:CLOSE_TAG_SPK_ICON: Start `;let oe;oe=$localize`${"\uFFFD#44\uFFFD"}:START_TAG_SPK_ICON:clock-counter-clockwise${"\uFFFD/#44\uFFFD"}:CLOSE_TAG_SPK_ICON: Restore `;let ie;ie=$localize`${"\uFFFD#47\uFFFD"}:START_TAG_SPK_ICON:export${"\uFFFD/#47\uFFFD"}:CLOSE_TAG_SPK_ICON: Export `;let _e;_e=$localize`${"\uFFFD#50\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#50\uFFFD"}:CLOSE_TAG_SPK_ICON: Delete `;let ae;ae=$localize`${"\uFFFD#56\uFFFD"}:START_TAG_SPK_ICON:database${"\uFFFD/#56\uFFFD"}:CLOSE_TAG_SPK_ICON: Database `;let le;le=$localize`${"\uFFFD#59\uFFFD"}:START_TAG_SPK_ICON:check-square-offset${"\uFFFD/#59\uFFFD"}:CLOSE_TAG_SPK_ICON: Verify files `;let ce;ce=$localize`${"\uFFFD#62\uFFFD"}:START_TAG_SPK_ICON:file-archive${"\uFFFD/#62\uFFFD"}:CLOSE_TAG_SPK_ICON: Compress now `;let re;re=$localize`${"\uFFFD#65\uFFFD"}:START_TAG_SPK_ICON:terminal-window${"\uFFFD/#65\uFFFD"}:CLOSE_TAG_SPK_ICON: Commandline `;let se;se=$localize`${"\uFFFD#71\uFFFD"}:START_TAG_SPK_ICON:notepad${"\uFFFD/#71\uFFFD"}:CLOSE_TAG_SPK_ICON: Log `;let ue;ue=$localize`${"\uFFFD#74\uFFFD"}:START_TAG_SPK_ICON:file-plus${"\uFFFD/#74\uFFFD"}:CLOSE_TAG_SPK_ICON: Create error report `;let pe;pe=$localize`N/A`;let de;de=$localize`N/A`;let Fe;Fe=$localize`N/A`;let Se;Se=$localize` ${"\uFFFD0\uFFFD"}:INTERPOLATION: Version `;let ge;ge=$localize`No version yet`;let Ee;Ee=$localize`No backups founds`;let Te;return Te=$localize`Loading backups...`,[i,o,n,l,F,V,j,q,U,W,J,Q,Y,Z,ee,ne,te,oe,ie,_e,ae,le,ce,re,se,ue,pe,de,Fe,Se,ge,Ee,Te,[1,"type-a",3,"routerLink"],["src","assets/images/backup.png","alt","","width","48px"],[1,"text"],["type","button","spk-button",""],["src","assets/images/restore.png","alt","","width","48px"],[1,"content"],[1,"actions"],["type","button","spk-button","",1,"small"],["menu",""],["type","button",3,"click"],["type","button",3,"active"],[1,"backups"],[1,"backup"],[1,"simple","success"],[1,"simple"],["spk-button","",3,"click"],["type","button","spk-button","",3,"routerLink"],[3,"right"],["title",""],["type","button",3,"routerLink"],[3,"click"],[1,"loading-list"],[1,"indeterminate","primary"]]},template:function(o,n){o&1&&(r(0,"app-status-bar"),_(1,"section")(2,"header")(3,"spk-card",33),r(4,"img",34),_(5,"div",35)(6,"h3"),s(7,0),t(),_(8,"p"),s(9,1),t()(),_(10,"button",36),p(11,2),r(12,"spk-icon"),d(),t()(),_(13,"spk-card",33),r(14,"img",37),_(15,"div",35)(16,"h3"),s(17,3),t(),_(18,"p"),s(19,4),t()(),_(20,"button",36),p(21,5),r(22,"spk-icon"),d(),t()()(),_(23,"div",38)(24,"h2"),E(25),s(26,6),T(),_(27,"div",39)(28,"spk-menu")(29,"button",40),p(30,7),r(31,"strong")(32,"spk-icon"),d(),t(),E(33,41),_(34,"button",42),M("click",function(){return n.setTimeType("relative")}),s(35,8),t(),_(36,"button",42),M("click",function(){return n.setTimeType("actual")}),s(37,9),t(),T(),t(),_(38,"spk-menu")(39,"button",40),p(40,10),r(41,"strong")(42,"spk-icon"),d(),t(),E(43,41),B(44,ve,2,3,"button",43,y),T(),t()()(),_(46,"div",44),C(47,en,2,1)(48,nn,5,0),Ce(49,47,Re,null,48),t()()()),o&2&&(c(3),g("routerLink",L(5,He)),c(10),g("routerLink",L(6,ye)),c(19),I(n.timeType()),f(30),c(10),I(n.orderBy()),f(40),c(2),b(n.sortOrderOptions()),c(5),Oe(!n.backupsLoading()))},dependencies:[v,De,Pe,z,X,w,Ie],styles:["[_nghost-%COMP%]{display:block}h2[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:2rem 0}header[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;padding:0 2rem;gap:1rem}spk-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem}spk-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:.25rem}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem;gap:1rem}.backups[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.backup[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem;gap:1rem;border:1px solid var(--base-level-40);border-radius:var(--shape-3);box-shadow:var(--shadow-1)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:40%}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{color:var(--base-level-60)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-level-60)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--base-level-70)}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{K as default};
1
+ import{a as De}from"./chunk-7JUYF3HW.js";import{a as Ae}from"./chunk-7L42EO7J.js";import"./chunk-KIUU6RPZ.js";import"./chunk-NQNRR7VE.js";import{a as fe}from"./chunk-OTLEEXAA.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import"./chunk-T2OUHRUV.js";import"./chunk-F4EEOSGJ.js";import"./chunk-I3C2AEHI.js";import{e as v}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as X,e as ke,g as z,h as Pe,j as Ne,k as $e,o as w,p as Ie}from"./chunk-WX7L7V6J.js";import{h as me}from"./chunk-JSGFZ2GA.js";import"./chunk-JV6DGJII.js";import"./chunk-CKPICCFH.js";import"./chunk-EF7JWRDC.js";import{$b as S,Ab as T,Cb as x,F as D,Gb as p,Hb as d,Ib as s,Jb as I,Kb as f,Mb as M,Nb as u,Qa as c,Y as R,ab as Me,bc as N,da as O,ea as m,fb as C,kb as Ce,lb as Oe,lc as L,mc as P,nb as g,pb as $,pc as A,qc as G,rc as h,sb as k,tb as y,ua as H,ub as B,vb as b,wb as _,xb as t,yb as r,zb as E}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var Re=()=>[v,z,X,Ne,$e,w,import("./chunk-SEA4YEEO.js").then(e=>e.DurationFormatPipe),import("./chunk-CETM57LL.js").then(e=>e.BytesPipe),import("./chunk-MHO7INGX.js").then(e=>e.RelativeTimePipe)],He=()=>["/add-backup"],ye=()=>["/restore"],Be=e=>["/backup",e],be=e=>["/restore",e],xe=e=>["/backup",e,"export"],Le=e=>["/backup",e,"database"],Ge=e=>["/backup",e,"commandline"],he=e=>["/backup",e,"log"];function ve(e,i){if(e&1){let o=x();_(0,"button",42),M("click",function(){let l=O(o).$implicit,F=u();return m(F.setOrderBy(l.value))}),s(1,11),t()}if(e&2){let o=i.$implicit,n=u();$("active",n.orderBy()===o.value),c(),I(o.label),f(1)}}function Xe(e,i){if(e&1&&(S(0),A(1,"durationFormat")),e&2){let o=u().$implicit,n=u(3);N(" ",h(1,1,o.Backup==null||o.Backup.Metadata==null?null:o.Backup.Metadata.LastBackupDuration,n.timeType()==="actual")," ")}}function ze(e,i){e&1&&(E(0),s(1,26),T())}function we(e,i){if(e&1&&(S(0),A(1,"bytes")),e&2){let o=u().$implicit;N(" ",G(1,1,o.Backup==null||o.Backup.Metadata==null?null:o.Backup.Metadata.SourceFilesSize)," ")}}function Ke(e,i){e&1&&(E(0),s(1,27),T())}function Ve(e,i){if(e&1&&(S(0),A(1,"bytes")),e&2){let o=u().$implicit;N(" ",G(1,1,o.Backup==null||o.Backup.Metadata==null?null:o.Backup.Metadata.TargetFilesSize)," ")}}function je(e,i){e&1&&(E(0),s(1,28),T())}function qe(e,i){if(e&1&&(_(0,"spk-chip",46),s(1,29),t()),e&2){let o=u().$implicit;c(),I(o.Backup==null||o.Backup.Metadata==null?null:o.Backup.Metadata.BackupListCount),f(1)}}function Ue(e,i){e&1&&(_(0,"spk-chip",47),s(1,30),t())}function We(e,i){e&1&&(_(0,"spk-icon"),S(1,"check"),t())}function Je(e,i){e&1&&(_(0,"spk-icon"),S(1,"dots-three-vertical"),t())}function Qe(e,i){if(e&1){let o=x();_(0,"div",45)(1,"div",35)(2,"h3"),S(3),_(4,"spk-icon"),S(5,"database"),t()(),_(6,"p")(7,"span"),s(8,12),t(),S(9),A(10,"relativeTime"),t(),_(11,"p")(12,"span"),s(13,13),t(),C(14,Xe,2,4)(15,ze,2,0,"ng-container"),t(),_(16,"p")(17,"span"),s(18,14),t(),C(19,we,2,3)(20,Ke,2,0,"ng-container"),t(),_(21,"p")(22,"span"),s(23,15),t(),C(24,Ve,2,3)(25,je,2,0,"ng-container"),t()(),C(26,qe,2,1,"spk-chip",46)(27,Ue,2,0,"spk-chip",47),_(28,"div",39)(29,"button",48),M("click",function(){let l=O(o).$implicit,F=u(3);return m(F.startBackup(l.Backup==null?null:l.Backup.ID))}),p(30,16),r(31,"spk-icon"),d(),t(),_(32,"button",49)(33,"spk-icon"),S(34,"pencil-simple"),t()(),_(35,"spk-menu",50)(36,"button",36),C(37,We,2,0,"spk-icon")(38,Je,2,0,"spk-icon"),t(),E(39,41),_(40,"h3",51),S(41,"Operations"),t(),_(42,"button",52),p(43,17),r(44,"spk-icon"),d(),t(),_(45,"button",52),p(46,18),r(47,"spk-icon"),d(),t(),_(48,"button",53),M("click",function(){let l=O(o).$implicit,F=u(3);return m(F.deleteBackup(l.Backup==null?null:l.Backup.ID))}),p(49,19),r(50,"spk-icon"),d(),t(),r(51,"spk-divider"),_(52,"h3",51),S(53,"Advanced"),t(),_(54,"button",52),p(55,20),r(56,"spk-icon"),d(),t(),_(57,"button",42),M("click",function(){let l=O(o).$implicit,F=u(3);return m(F.verifyFiles(l.Backup==null?null:l.Backup.ID))}),p(58,21),r(59,"spk-icon"),d(),t(),_(60,"button",42),M("click",function(){let l=O(o).$implicit,F=u(3);return m(F.compressBackup(l.Backup==null?null:l.Backup.ID))}),p(61,22),r(62,"spk-icon"),d(),t(),_(63,"button",52),p(64,23),r(65,"spk-icon"),d(),t(),r(66,"spk-divider"),_(67,"h3",51),S(68,"Reporting"),t(),_(69,"button",52),p(70,24),r(71,"spk-icon"),d(),t(),_(72,"button",42),M("click",function(){let l=O(o).$implicit,F=u(3);return m(F.createErrorReport(l.Backup==null?null:l.Backup.ID))}),p(73,25),r(74,"spk-icon"),d(),t(),T(),t()()()}if(e&2){let o,n=i.$implicit,l=u(3);c(3),N(" ",(o=n.Backup==null?null:n.Backup.Name)!==null&&o!==void 0?o:l.MISSING_BACKUP_NAME," "),c(6),N(" ",h(10,22,n.Backup==null||n.Backup.Metadata==null?null:n.Backup.Metadata.LastBackupDate,l.timeType()==="actual")," "),c(5),k(!(n.Backup==null||n.Backup.Metadata==null)&&n.Backup.Metadata.LastBackupDuration?14:15),c(5),k(!(n.Backup==null||n.Backup.Metadata==null)&&n.Backup.Metadata.SourceFilesSize?19:20),c(5),k(!(n.Backup==null||n.Backup.Metadata==null)&&n.Backup.Metadata.TargetFilesSize?24:25),c(2),k(!(n.Backup==null||n.Backup.Metadata==null)&&n.Backup.Metadata.BackupListCount?26:27),c(3),$("loader",l.startingBackup()===(n.Backup==null?null:n.Backup.ID)),c(3),g("routerLink",P(25,Be,n.Backup==null?null:n.Backup.ID)),c(3),g("right",!0),c(),$("loader",l.loadingId()===(n.Backup==null?null:n.Backup.ID))("success",l.successId()===(n.Backup==null?null:n.Backup.ID)),c(),k(l.successId()===(n.Backup==null?null:n.Backup.ID)?37:38),c(5),g("routerLink",P(27,be,n.Backup==null?null:n.Backup.ID)),c(3),g("routerLink",P(29,xe,n.Backup==null?null:n.Backup.ID)),c(3),$("loader",l.deletingBackup()===(n.Backup==null?null:n.Backup.ID)),c(6),g("routerLink",P(31,Le,n.Backup==null?null:n.Backup.ID)),c(9),g("routerLink",P(33,Ge,n.Backup==null?null:n.Backup.ID)),c(6),g("routerLink",P(35,he,n.Backup==null?null:n.Backup.ID))}}function Ye(e,i){if(e&1&&B(0,Qe,75,37,"div",45,y),e&2){let o=u(2);b(o.backups())}}function Ze(e,i){e&1&&(E(0),s(1,31),T())}function en(e,i){if(e&1&&C(0,Ye,2,0)(1,Ze,2,0,"ng-container"),e&2){let o=u();k(o.backups().length?0:1)}}function nn(e,i){e&1&&(_(0,"div",54),r(1,"spk-progress-bar",55),_(2,"div",35)(3,"h3"),s(4,32),t()()())}var K=class e{#e=R(fe);#t=R(ke);#n=R(me);MISSING_BACKUP_NAME=$localize`Backup name missing`;sortOrderOptions=this.#e.orderByOptions;orderBy=this.#e.orderBy;backups=this.#e.backups;backupsLoading=this.#e.backupsLoading;startingBackup=this.#e.startingBackup;deletingBackup=this.#e.deletingBackup;timeType=this.#e.timeType;loadingId=H(null);successId=H(null);ngOnInit(){this.#e.getBackups(!0)}setOrderBy(i){this.#e.setOrderBy(i)}setTimeType(i){this.#e.setTimeType(i)}startBackup(i){this.#e.startBackup(i)}deleteBackup(i){this.loadingId.set(i),this.#t.open(Ae,{data:{title:$localize`Confirm delete`,message:$localize`Are you sure you want to delete this backup?`,confirmText:$localize`Delete backup`,cancelText:$localize`Cancel`},closed:o=>{o&&this.#e.deleteBackup(i)}})}verifyFiles(i){this.loadingId.set(i),this.#n.postApiV1BackupByIdVerify({id:i}).pipe(D(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(i),setTimeout(()=>this.successId.set(null),2e3)}})}compressBackup(i){this.loadingId.set(i),this.#n.postApiV1BackupByIdCompact({id:i}).pipe(D(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(i),setTimeout(()=>this.successId.set(null),2e3)}})}createErrorReport(i){this.loadingId.set(i),this.#n.postApiV1BackupByIdCreatereport({id:i}).pipe(D(()=>this.loadingId.set(null))).subscribe({next:()=>{this.successId.set(i),setTimeout(()=>this.successId.set(null),2e3)}})}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=Me({type:e,selectors:[["app-home"]],decls:51,vars:7,consts:()=>{let i;i=$localize`Backups`;let o;o=$localize`Backups are stored in the cloud and can be restored at any time.`;let n;n=$localize` Add ${"\uFFFD#12\uFFFD"}:START_TAG_SPK_ICON:plus${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let l;l=$localize`Restores`;let F;F=$localize`Restores allow you to restore your data from the cloud.`;let V;V=$localize` Start ${"\uFFFD#22\uFFFD"}:START_TAG_SPK_ICON:arrow-right${"\uFFFD/#22\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let j;j=$localize`My backups`;let q;q=$localize` Time: ${"\uFFFD#31\uFFFD"}:START_TAG_STRONG:${"\uFFFD0\uFFFD"}:INTERPOLATION:${"\uFFFD/#31\uFFFD"}:CLOSE_TAG_STRONG:${"\uFFFD#32\uFFFD"}:START_TAG_SPK_ICON:clock${"\uFFFD/#32\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let U;U=$localize`Relative time`;let W;W=$localize`Actual time`;let J;J=$localize` Order by: ${"\uFFFD#41\uFFFD"}:START_TAG_STRONG:${"\uFFFD0\uFFFD"}:INTERPOLATION:${"\uFFFD/#41\uFFFD"}:CLOSE_TAG_STRONG:${"\uFFFD#42\uFFFD"}:START_TAG_SPK_ICON:arrows-down-up${"\uFFFD/#42\uFFFD"}:CLOSE_TAG_SPK_ICON:`;let Q;Q=$localize` ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let Y;Y=$localize`Last successful backup:`;let Z;Z=$localize`Duration:`;let ee;ee=$localize`Source:`;let ne;ne=$localize`Destination:`;let te;te=$localize`${"\uFFFD#31\uFFFD"}:START_TAG_SPK_ICON:play-circle${"\uFFFD/#31\uFFFD"}:CLOSE_TAG_SPK_ICON: Start `;let oe;oe=$localize`${"\uFFFD#44\uFFFD"}:START_TAG_SPK_ICON:clock-counter-clockwise${"\uFFFD/#44\uFFFD"}:CLOSE_TAG_SPK_ICON: Restore `;let ie;ie=$localize`${"\uFFFD#47\uFFFD"}:START_TAG_SPK_ICON:export${"\uFFFD/#47\uFFFD"}:CLOSE_TAG_SPK_ICON: Export `;let _e;_e=$localize`${"\uFFFD#50\uFFFD"}:START_TAG_SPK_ICON:x-circle${"\uFFFD/#50\uFFFD"}:CLOSE_TAG_SPK_ICON: Delete `;let ae;ae=$localize`${"\uFFFD#56\uFFFD"}:START_TAG_SPK_ICON:database${"\uFFFD/#56\uFFFD"}:CLOSE_TAG_SPK_ICON: Database `;let le;le=$localize`${"\uFFFD#59\uFFFD"}:START_TAG_SPK_ICON:check-square-offset${"\uFFFD/#59\uFFFD"}:CLOSE_TAG_SPK_ICON: Verify files `;let ce;ce=$localize`${"\uFFFD#62\uFFFD"}:START_TAG_SPK_ICON:file-archive${"\uFFFD/#62\uFFFD"}:CLOSE_TAG_SPK_ICON: Compress now `;let re;re=$localize`${"\uFFFD#65\uFFFD"}:START_TAG_SPK_ICON:terminal-window${"\uFFFD/#65\uFFFD"}:CLOSE_TAG_SPK_ICON: Commandline `;let se;se=$localize`${"\uFFFD#71\uFFFD"}:START_TAG_SPK_ICON:notepad${"\uFFFD/#71\uFFFD"}:CLOSE_TAG_SPK_ICON: Log `;let ue;ue=$localize`${"\uFFFD#74\uFFFD"}:START_TAG_SPK_ICON:file-plus${"\uFFFD/#74\uFFFD"}:CLOSE_TAG_SPK_ICON: Create error report `;let pe;pe=$localize`N/A`;let de;de=$localize`N/A`;let Fe;Fe=$localize`N/A`;let Se;Se=$localize` ${"\uFFFD0\uFFFD"}:INTERPOLATION: Version `;let ge;ge=$localize`No version yet`;let Ee;Ee=$localize`No backups founds`;let Te;return Te=$localize`Loading backups...`,[i,o,n,l,F,V,j,q,U,W,J,Q,Y,Z,ee,ne,te,oe,ie,_e,ae,le,ce,re,se,ue,pe,de,Fe,Se,ge,Ee,Te,[1,"type-a",3,"routerLink"],["src","assets/images/backup.png","alt","","width","48px"],[1,"text"],["type","button","spk-button",""],["src","assets/images/restore.png","alt","","width","48px"],[1,"content"],[1,"actions"],["type","button","spk-button","",1,"small"],["menu",""],["type","button",3,"click"],["type","button",3,"active"],[1,"backups"],[1,"backup"],[1,"simple","success"],[1,"simple"],["spk-button","",3,"click"],["type","button","spk-button","",3,"routerLink"],[3,"right"],["title",""],["type","button",3,"routerLink"],[3,"click"],[1,"loading-list"],[1,"indeterminate","primary"]]},template:function(o,n){o&1&&(r(0,"app-status-bar"),_(1,"section")(2,"header")(3,"spk-card",33),r(4,"img",34),_(5,"div",35)(6,"h3"),s(7,0),t(),_(8,"p"),s(9,1),t()(),_(10,"button",36),p(11,2),r(12,"spk-icon"),d(),t()(),_(13,"spk-card",33),r(14,"img",37),_(15,"div",35)(16,"h3"),s(17,3),t(),_(18,"p"),s(19,4),t()(),_(20,"button",36),p(21,5),r(22,"spk-icon"),d(),t()()(),_(23,"div",38)(24,"h2"),E(25),s(26,6),T(),_(27,"div",39)(28,"spk-menu")(29,"button",40),p(30,7),r(31,"strong")(32,"spk-icon"),d(),t(),E(33,41),_(34,"button",42),M("click",function(){return n.setTimeType("relative")}),s(35,8),t(),_(36,"button",42),M("click",function(){return n.setTimeType("actual")}),s(37,9),t(),T(),t(),_(38,"spk-menu")(39,"button",40),p(40,10),r(41,"strong")(42,"spk-icon"),d(),t(),E(43,41),B(44,ve,2,3,"button",43,y),T(),t()()(),_(46,"div",44),C(47,en,2,1)(48,nn,5,0),Ce(49,47,Re,null,48),t()()()),o&2&&(c(3),g("routerLink",L(5,He)),c(10),g("routerLink",L(6,ye)),c(19),I(n.timeType()),f(30),c(10),I(n.orderBy()),f(40),c(2),b(n.sortOrderOptions()),c(5),Oe(!n.backupsLoading()))},dependencies:[v,De,Pe,z,X,w,Ie],styles:["[_nghost-%COMP%]{display:block}h2[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:2rem 0}header[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;padding:0 2rem;gap:1rem}spk-card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem}spk-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{flex:1 0;display:flex;flex-direction:column;gap:.25rem}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 2rem;gap:1rem}.backups[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.backup[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:2rem;gap:1rem;border:1px solid var(--base-level-40);border-radius:var(--shape-3);box-shadow:var(--shadow-1)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:40%}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] spk-icon[_ngcontent-%COMP%]{color:var(--base-level-60)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--paragraph-30);color:var(--base-level-60)}.backup[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] p[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:var(--base-level-70)}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{K as default};
@@ -1 +1 @@
1
- import{a as h}from"./chunk-GDHVQU56.js";import"./chunk-RHW5QVAY.js";import{b as v,c as G,e as L,f as w,i as U,n as K,q as X,r as x,t as V}from"./chunk-T2OUHRUV.js";import"./chunk-I3C2AEHI.js";import{d as O,e as A}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as R,c as N,g as E,l as $,m as y,z as B}from"./chunk-WX7L7V6J.js";import{h as b}from"./chunk-4AECHE4W.js";import"./chunk-CKPICCFH.js";import{F as g,Gb as P,Hb as I,Ib as _,Lb as M,Mb as d,Qa as s,Y as F,ab as T,fb as S,lc as k,nb as u,pb as C,sb as D,ua as m,wb as r,xb as n,yb as l}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var z=()=>["/"];function j(c,t){c&1&&(r(0,"spk-form-field")(1,"label",14),_(2,3),n(),l(3,"input",15),n())}var p=new x,f=class c{#e=F(N);#t=F(b);#o=F(h);#n=F(O);isImporting=m(!1);isSecureFile=m(!1);importForm=p.group({config:p.control(""),cmdline:p.control(!1),importMetadata:p.control(!1),direct:p.control(!1),passphrase:p.control("")});selectedFile=m([]);onFileDropped(t){let e=t[0];if(e){let o=new FileReader;this.isSecureFile.set(e.type!=="application/json"),o.onload=this.#i.bind(this),o.readAsArrayBuffer(e)}}#i(t){let e=t.target?.result;this.importForm.patchValue({config:this.#r(e)})}#r(t){let e=new Uint8Array(t),o=e.byteLength,a="";for(let i=0;i<o;i++)a+=String.fromCharCode(e[i]);return btoa(a)}submit(){this.isImporting.set(!0),this.#t.postApiV1BackupsImport({requestBody:this.importForm.value}).pipe(g(()=>this.isImporting.set(!1))).subscribe({next:t=>{let e=this.#o.addDraftBackup(t.data);this.#n.navigate(["/backup-draft",e])},error:t=>{this.#e.error(t.message)}})}static \u0275fac=function(e){return new(e||c)};static \u0275cmp=T({type:c,selectors:[["app-import"]],decls:19,vars:8,consts:()=>{let t;t=$localize` Import backup configuration ${"\uFFFD#3\uFFFD"}:START_TAG_DIV:${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SPK_ICON:arrow-left${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SPK_ICON: Back ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#6\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SPK_ICON:download-simple${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SPK_ICON: Import ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_DIV:`,t=M(t);let e;e=$localize`Import Metadata`;let o;o=$localize`Save now`;let a;return a=$localize`Passphrase`,[t,e,o,a,[1,"actions"],["spk-button","","type","button",1,"outlined",3,"routerLink"],["spk-button","","type","submit",1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["accept",".json,.aes",3,"filesChange","files"],[1,"primary","raised"],["for","importMetadata"],["type","checkbox","formControlName","importMetadata"],["for","direct"],["type","checkbox","formControlName","direct"],["for","passphrase"],["type","password","formControlName","passphrase"]]},template:function(e,o){e&1&&(r(0,"header")(1,"h3"),P(2,0),r(3,"div",4)(4,"button",5),l(5,"spk-icon"),n(),r(6,"button",6),d("click",function(){return o.submit()}),l(7,"spk-icon"),n()(),I(),n()(),r(8,"form",7)(9,"spk-file-upload",8),d("filesChange",function(i){return o.onFileDropped(i)}),n(),S(10,j,4,0,"spk-form-field"),r(11,"spk-toggle",9)(12,"label",10),_(13,1),n(),l(14,"input",11),n(),r(15,"spk-toggle",9)(16,"label",12),_(17,2),n(),l(18,"input",13),n()()),e&2&&(s(4),u("routerLink",k(7,z)),s(2),C("loader",o.isImporting()),u("disabled",o.isImporting()),s(2),u("formGroup",o.importForm),s(),u("files",o.selectedFile()),s(),D(o.isSecureFile()?10:-1))},dependencies:[V,U,G,v,L,w,K,X,A,$,R,E,B,y],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}spk-file-upload[_ngcontent-%COMP%]{width:100%}"],changeDetection:0})};export{f as default};
1
+ import{a as h}from"./chunk-OTLEEXAA.js";import"./chunk-RHW5QVAY.js";import{b as v,c as G,e as L,f as w,i as U,n as K,q as X,r as x,t as V}from"./chunk-T2OUHRUV.js";import"./chunk-I3C2AEHI.js";import{d as O,e as A}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{a as R,c as N,g as E,l as $,m as y,z as B}from"./chunk-WX7L7V6J.js";import{h as b}from"./chunk-JSGFZ2GA.js";import"./chunk-CKPICCFH.js";import{F as g,Gb as P,Hb as I,Ib as _,Lb as M,Mb as d,Qa as s,Y as F,ab as T,fb as S,lc as k,nb as u,pb as C,sb as D,ua as m,wb as r,xb as n,yb as l}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var z=()=>["/"];function j(c,t){c&1&&(r(0,"spk-form-field")(1,"label",14),_(2,3),n(),l(3,"input",15),n())}var p=new x,f=class c{#e=F(N);#t=F(b);#o=F(h);#n=F(O);isImporting=m(!1);isSecureFile=m(!1);importForm=p.group({config:p.control(""),cmdline:p.control(!1),importMetadata:p.control(!1),direct:p.control(!1),passphrase:p.control("")});selectedFile=m([]);onFileDropped(t){let e=t[0];if(e){let o=new FileReader;this.isSecureFile.set(e.type!=="application/json"),o.onload=this.#i.bind(this),o.readAsArrayBuffer(e)}}#i(t){let e=t.target?.result;this.importForm.patchValue({config:this.#r(e)})}#r(t){let e=new Uint8Array(t),o=e.byteLength,a="";for(let i=0;i<o;i++)a+=String.fromCharCode(e[i]);return btoa(a)}submit(){this.isImporting.set(!0),this.#t.postApiV1BackupsImport({requestBody:this.importForm.value}).pipe(g(()=>this.isImporting.set(!1))).subscribe({next:t=>{let e=this.#o.addDraftBackup(t.data);this.#n.navigate(["/backup-draft",e])},error:t=>{this.#e.error(t.message)}})}static \u0275fac=function(e){return new(e||c)};static \u0275cmp=T({type:c,selectors:[["app-import"]],decls:19,vars:8,consts:()=>{let t;t=$localize` Import backup configuration ${"\uFFFD#3\uFFFD"}:START_TAG_DIV:${"\uFFFD#4\uFFFD"}:START_TAG_BUTTON:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SPK_ICON:arrow-left${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SPK_ICON: Back ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD#6\uFFFD"}:START_TAG_BUTTON_1:${"[\uFFFD#5\uFFFD|\uFFFD#7\uFFFD]"}:START_TAG_SPK_ICON:download-simple${"[\uFFFD/#5\uFFFD|\uFFFD/#7\uFFFD]"}:CLOSE_TAG_SPK_ICON: Import ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_DIV:`,t=M(t);let e;e=$localize`Import Metadata`;let o;o=$localize`Save now`;let a;return a=$localize`Passphrase`,[t,e,o,a,[1,"actions"],["spk-button","","type","button",1,"outlined",3,"routerLink"],["spk-button","","type","submit",1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["accept",".json,.aes",3,"filesChange","files"],[1,"primary","raised"],["for","importMetadata"],["type","checkbox","formControlName","importMetadata"],["for","direct"],["type","checkbox","formControlName","direct"],["for","passphrase"],["type","password","formControlName","passphrase"]]},template:function(e,o){e&1&&(r(0,"header")(1,"h3"),P(2,0),r(3,"div",4)(4,"button",5),l(5,"spk-icon"),n(),r(6,"button",6),d("click",function(){return o.submit()}),l(7,"spk-icon"),n()(),I(),n()(),r(8,"form",7)(9,"spk-file-upload",8),d("filesChange",function(i){return o.onFileDropped(i)}),n(),S(10,j,4,0,"spk-form-field"),r(11,"spk-toggle",9)(12,"label",10),_(13,1),n(),l(14,"input",11),n(),r(15,"spk-toggle",9)(16,"label",12),_(17,2),n(),l(18,"input",13),n()()),e&2&&(s(4),u("routerLink",k(7,z)),s(2),C("loader",o.isImporting()),u("disabled",o.isImporting()),s(2),u("formGroup",o.importForm),s(),u("files",o.selectedFile()),s(),D(o.isSecureFile()?10:-1))},dependencies:[V,U,G,v,L,w,K,X,A,$,R,E,B,y],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:2rem;padding:3rem}h3[_ngcontent-%COMP%]{font:var(--title-30);display:flex;align-items:center;justify-content:space-between}.actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;max-width:31.25rem}spk-file-upload[_ngcontent-%COMP%]{width:100%}"],changeDetection:0})};export{f as default};
@@ -0,0 +1 @@
1
+ import{n as T}from"./chunk-DMDYUREZ.js";import"./chunk-6DH6O5YE.js";import"./chunk-ORDORLQT.js";import"./chunk-VN7JM6M3.js";import"./chunk-KSP3JQHY.js";import{a as m}from"./chunk-HTNYQE2B.js";import"./chunk-GJROCOAD.js";import{a as L}from"./chunk-7JUYF3HW.js";import"./chunk-7L42EO7J.js";import"./chunk-KIUU6RPZ.js";import"./chunk-NQNRR7VE.js";import{a as v}from"./chunk-OTLEEXAA.js";import"./chunk-RHW5QVAY.js";import"./chunk-O2YN63YI.js";import"./chunk-T2OUHRUV.js";import"./chunk-F4EEOSGJ.js";import"./chunk-I3C2AEHI.js";import{b as O,c as B,e as b,f as $}from"./chunk-QVIZK4WW.js";import"./chunk-WMTA6PZM.js";import{p as N,q as I,v as K}from"./chunk-WX7L7V6J.js";import{h as M}from"./chunk-JSGFZ2GA.js";import"./chunk-JV6DGJII.js";import"./chunk-CKPICCFH.js";import"./chunk-EF7JWRDC.js";import{$b as A,Bc as E,E as C,Gb as d,Hb as c,Nb as R,Qa as n,Y as _,ab as D,bc as P,fb as k,kc as h,nb as u,nc as l,sb as g,wb as p,xb as s,yb as r}from"./chunk-W2F756OF.js";import"./chunk-7CGTOI24.js";var G=(i,e)=>[i,e,"general"],y=(i,e)=>[i,e,"destination"],U=(i,e)=>[i,e,"source-data"],w=(i,e)=>[i,e,"schedule"],X=(i,e)=>[i,e,"options"];function x(i,e){if(i&1&&(p(0,"p"),A(1),s()),i&2){let a=R();n(),P("Editing: ",a.backupName(),"")}}function z(i,e){i&1&&r(0,"spk-progress-bar",6)}function V(i,e){i&1&&(p(0,"section"),r(1,"router-outlet"),s())}var f=class i{#t=_(O);#e=_(T);#a=_(v);#i=_(M);isDraft=this.#e.isDraft;isNew=this.#e.isNew;backupId=this.#e.backupId;backupName=this.#e.backupName;finishedLoading=this.#e.finishedLoading;#o=m(this.#t.params);#n=m(this.#t.url);paramsChanged=E(()=>{let e=this.#o()?.id,a=!!this.#n()?.find(t=>t.path==="backup-draft");this.#e.backupId.set(e),e!=="new"?this.getBackup(e,a):this.getDefaults()});getDefaults(){this.#i.getApiV1Backupdefaults().pipe(C(1)).subscribe({next:e=>{let a=e.Backup;a.Settings=[...a.Settings,...e.ApplicationOptions.map(t=>({Name:t.Name,Value:t.Value}))],this.#e.mapScheduleToForm(e.Schedule),this.#e.mapOptionsToForms(a),this.#e.backupDefaults.set(e),this.#e.finishedLoading.set(!0)}})}getBackup(e,a=!1){let t=o=>{this.#e.mapScheduleToForm(o.Schedule??null),o.Backup&&(this.#e.mapGeneralToForm(o.Backup),this.#e.mapDestinationToForm(o.Backup),this.#e.mapSourceDataToForm(o.Backup),this.#e.mapOptionsToForms(o.Backup)),this.#e.finishedLoading.set(!0)};if(a){this.isDraft.set(a);let o=this.#a.draftBackups().find(F=>F.id===e);if(!o){alert("Backup not found");return}t(o.data)}else this.#i.getApiV1BackupById({id:e}).subscribe({next:t})}static \u0275fac=function(a){return new(a||i)};static \u0275cmp=D({type:i,selectors:[["app-backup"]],features:[h([T])],decls:21,vars:22,consts:()=>{let e;e=$localize`${"\uFFFD#6\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_SPK_RADIO: General `;let a;a=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SPK_RADIO: Destination `;let t;t=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SPK_RADIO: Source Data `;let o;o=$localize`${"\uFFFD#15\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#15\uFFFD"}:CLOSE_TAG_SPK_RADIO: Schedule `;let F;return F=$localize`${"\uFFFD#18\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#18\uFFFD"}:CLOSE_TAG_SPK_RADIO: Options `,[e,a,t,o,F,["step","","routerLinkActive","active",3,"routerLink"],[1,"indeterminate","primary"]]},template:function(a,t){a&1&&(r(0,"app-status-bar"),p(1,"header"),k(2,x,2,1,"p"),p(3,"spk-stepper")(4,"div",5),d(5,0),r(6,"spk-radio"),c(),s(),p(7,"div",5),d(8,1),r(9,"spk-radio"),c(),s(),p(10,"div",5),d(11,2),r(12,"spk-radio"),c(),s(),p(13,"div",5),d(14,3),r(15,"spk-radio"),c(),s(),p(16,"div",5),d(17,4),r(18,"spk-radio"),c(),s()()(),k(19,z,1,0,"spk-progress-bar",6)(20,V,2,0,"section")),a&2&&(n(2),g(t.isNew()?-1:2),n(2),u("routerLink",l(7,G,t.isDraft()?"/backup-draft":"/backup",t.backupId())),n(3),u("routerLink",l(10,y,t.isDraft()?"/backup-draft":"/backup",t.backupId())),n(3),u("routerLink",l(13,U,t.isDraft()?"/backup-draft":"/backup",t.backupId())),n(3),u("routerLink",l(16,w,t.isDraft()?"/backup-draft":"/backup",t.backupId())),n(3),u("routerLink",l(19,X,t.isDraft()?"/backup-draft":"/backup",t.backupId())),n(3),g(t.finishedLoading()?20:19))},dependencies:[B,b,$,L,I,K,N],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%}header[_ngcontent-%COMP%]{padding:1rem 1.5rem;border-bottom:1px solid var(--base-level-40)}header[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-bottom:.5rem}header[_ngcontent-%COMP%] spk-stepper[_ngcontent-%COMP%]{width:100%}section[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:center;flex:1 0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:auto}"],changeDetection:0})};export{f as default};
@@ -0,0 +1 @@
1
+ import"./chunk-7CGTOI24.js";var o=[{path:"",redirectTo:"select-files",pathMatch:"full"},{path:"destination",loadComponent:()=>import("./chunk-CIGZ6WGG.js")},{path:"encryption",loadComponent:()=>import("./chunk-J7PTPA7J.js")},{path:"select-files",loadComponent:()=>import("./chunk-2N2WJIUS.js")},{path:"options",loadComponent:()=>import("./chunk-7ROGJAJZ.js")},{path:"progress",loadComponent:()=>import("./chunk-6OAGVTHV.js")}],t=o;export{t as default};