@duplicati/ngclient 0.0.94 → 0.0.95
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.
- package/assets/spk.woff2 +0 -0
- package/{chunk-NWWH6FOD.js → chunk-2FWU7B4D.js} +1 -1
- package/{chunk-L7FLOT6V.js → chunk-3HJFVNAL.js} +1 -1
- package/chunk-3TZIEZUP.js +1 -0
- package/{chunk-P5DXOHSO.js → chunk-3ZLHMSKS.js} +1 -1
- package/{chunk-G2H5UWAV.js → chunk-5RLVPRCW.js} +1 -1
- package/chunk-APEDZMBI.js +1 -0
- package/{chunk-VKM32I64.js → chunk-AVNZ3OXK.js} +1 -1
- package/{chunk-VTG6KYFA.js → chunk-DTR7JZFL.js} +1 -1
- package/chunk-DUPZCVLU.js +3 -0
- package/chunk-ETPUKEDV.js +1 -0
- package/chunk-F4AVB6VB.js +1 -0
- package/chunk-FAZH6E7O.js +6 -0
- package/chunk-HWVDZXYD.js +1 -0
- package/{chunk-WVLWUQUO.js → chunk-ICOF6OY2.js} +1 -1
- package/{chunk-7B4DII5K.js → chunk-IR7OYLKR.js} +1 -1
- package/{chunk-NWVBCPMZ.js → chunk-L4B5RE7R.js} +1 -1
- package/chunk-LFPZBC5Y.js +1 -0
- package/chunk-LVHYWUFN.js +1 -0
- package/chunk-M5YHW43W.js +6 -0
- package/chunk-MLJFOQOI.js +1 -0
- package/chunk-NU46HB6T.js +1 -0
- package/{chunk-Z5XE4ZV2.js → chunk-ORA656R6.js} +1 -1
- package/chunk-P5GYPUJD.js +1 -0
- package/{chunk-T3IB73UA.js → chunk-QXYKZKGV.js} +1 -1
- package/{chunk-SK4EP46J.js → chunk-R6R4GFBX.js} +1 -1
- package/chunk-RCP6EKCC.js +1 -0
- package/{chunk-RKQDFV7W.js → chunk-RDRLCN5M.js} +1 -1
- package/{chunk-4MLA2ZG7.js → chunk-RHPHTHFC.js} +1 -1
- package/{chunk-7NYCYOKS.js → chunk-S5JZJBJS.js} +1 -1
- package/{chunk-WAE42BEK.js → chunk-SNZ7FE6B.js} +1 -1
- package/chunk-SSXZ4GVY.js +1 -0
- package/{chunk-ZA4X5BZG.js → chunk-TBPNAHEA.js} +1 -1
- package/{chunk-QJWNFRD3.js → chunk-TLNQL27Q.js} +1 -1
- package/chunk-TX5R4CFB.js +1 -0
- package/{chunk-OQEGPSC6.js → chunk-TYO44G6M.js} +1 -1
- package/{chunk-CMNODR42.js → chunk-VFLEQIHL.js} +1 -1
- package/{chunk-L667SCU5.js → chunk-VS2WUXLN.js} +1 -1
- package/{chunk-6XMTMDI4.js → chunk-WNQBKJ3M.js} +1 -1
- package/chunk-WYXI4BXE.js +1 -0
- package/{chunk-7LD5V64E.js → chunk-XL5J65PI.js} +1 -1
- package/chunk-XQXYPXR7.js +1 -0
- package/{chunk-FYSTW7IN.js → chunk-YKB6KLXM.js} +1 -1
- package/{chunk-PVBMNMGK.js → chunk-ZHWVTLKA.js} +1 -1
- package/index.html +2 -2
- package/{main-XIRMJMWZ.js → main-ZZ5NOUMD.js} +1 -1
- package/package.json +1 -1
- package/{styles-XDXFMHQT.css → styles-IOWRSZHV.css} +1 -1
- package/chunk-2ZYPGUOW.js +0 -6
- package/chunk-47XDI5B5.js +0 -1
- package/chunk-7XMYLRVX.js +0 -1
- package/chunk-FF6XUK27.js +0 -1
- package/chunk-HAZC7QF4.js +0 -1
- package/chunk-IY2EGNYQ.js +0 -1
- package/chunk-LGGACMIA.js +0 -1
- package/chunk-OVA6G4AJ.js +0 -6
- package/chunk-PQWBOXD7.js +0 -1
- package/chunk-PWQHMEDY.js +0 -1
- package/chunk-PZSY4DRF.js +0 -1
- package/chunk-QPRM4V75.js +0 -1
- package/chunk-UENFWA7U.js +0 -3
- package/chunk-WZQNMWLT.js +0 -1
- package/chunk-XR74M6VT.js +0 -1
- package/chunk-YKV265HA.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as K}from"./chunk-N5K6ODRA.js";import{
|
|
1
|
+
import{a as K}from"./chunk-N5K6ODRA.js";import{a as z,d as J,g as q}from"./chunk-ECH6I3YN.js";import{b as X}from"./chunk-KLIPTMVG.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import{Ab as i,Bb as a,Cb as g,Gb as u,Mb as A,Mc as W,Nb as D,Oa as E,Ob as y,Qa as l,Sb as S,Tb as f,Wb as w,X as v,ca as d,da as _,db as h,fc as c,gc as C,hc as I,ib as k,ic as N,kc as $,lc as B,mc as V,nc as U,p as T,rb as F,rc as G,sa as m,wb as x,xb as M,yb as P,zb as R}from"./chunk-DTPZU6NP.js";import{a as b,b as O}from"./chunk-C6Q5SG76.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=f().$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),S("click",function(){let o=d(e).$implicit,r=f();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(),x(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(),P(2,Q,13,5,"div",2,M),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),S("click",function(){return d(o),_(n.dialogLicense.set(null))}),c(14,"Close"),a()()()}if(e&2){let o,r;l(2),R(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{b as k,c as v,d as P,e as O,h as x,m as E,p as F,q as G,s as T}from"./chunk-4IJQ7AAQ.js";import{c as M}from"./chunk-
|
|
1
|
+
import{b as k,c as v,d as P,e as O,h as x,m as E,p as F,q as G,s as T}from"./chunk-4IJQ7AAQ.js";import{c as M}from"./chunk-TYO44G6M.js";import{c as y}from"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import{a as S,b,g as L,l as N}from"./chunk-ECH6I3YN.js";import"./chunk-KLIPTMVG.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import{Ab as t,Bb as i,Cb as p,D as c,Qa as m,Sb as w,X as s,db as g,fc as n,ib as f,rb as h,sa as l,tb as _,wb as C}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";function A(r,e){r&1&&(t(0,"spk-alert",1),n(1," Remember to enter a password, if you can't remember the password open the duplicati client on the machine in question and make sure you open it through the tray icon then go into settings to change the password. "),i())}var u=new G,d=class r{#e=s(y);#t=s(M);failedLogin=l(!1);isLoading=l(!1);loginForm=u.group({user:u.control(""),pass:u.control("",v.required)});submit(){let e=this.loginForm.value.pass;this.loginForm.value.user||e&&(this.isLoading.set(!0),this.#t.login(e).pipe(c(()=>{this.isLoading.set(!1),this.failedLogin.set(!0)})).subscribe({next:()=>this.#e.navigate(["/"])}))}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=g({type:r,selectors:[["app-login"]],decls:15,vars:4,consts:()=>{let e;return e=$localize`Enter your password`,[[3,"submit","formGroup"],["type","warning"],[1,"login-row"],["type","text","hidden","","autocomplete","off","name","username","formControlName","user"],["for","password"],["href","https://docs.duplicati.com/detailed-descriptions/duplicati-access-password","target","_blank","rel","noopener noreferrer"],["type","password","name","password","autocomplete","current-password","placeholder",e,"tabindex","1","formControlName","pass"],["spk-button","","type","submit",1,"raised","primary"]]},template:function(o,a){o&1&&(t(0,"form",0),w("submit",function(){return a.submit()}),f(1,A,2,0,"spk-alert",1),t(2,"div",2),p(3,"input",3),t(4,"spk-form-field")(5,"label",4),n(6," Password "),t(7,"a",5)(8,"spk-icon"),n(9,"question"),i()()(),p(10,"input",6),i(),t(11,"button",7),n(12," Login "),t(13,"spk-icon"),n(14,"arrow-right"),i()()()()),o&2&&(h("formGroup",a.loginForm),m(),C(a.failedLogin()?1:-1),m(10),_("loader",a.isLoading()))},dependencies:[T,x,k,P,O,E,F,N,S,L,b],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{width:100vw;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}spk-alert[_ngcontent-%COMP%]{max-width:20rem;margin:0 auto}h3[_ngcontent-%COMP%]{font:var(--title-30)}.login-row[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}"],changeDetection:0})};export{d as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-RCP6EKCC.js";import"./chunk-3HJFVNAL.js";import"./chunk-LFPZBC5Y.js";import"./chunk-4IJQ7AAQ.js";import"./chunk-ECH6I3YN.js";import"./chunk-KLIPTMVG.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";export{a as OptionsListComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as ae}from"./chunk-N5K6ODRA.js";import{a as te}from"./chunk-
|
|
1
|
+
import{a as ae}from"./chunk-N5K6ODRA.js";import{a as te}from"./chunk-VFLEQIHL.js";import"./chunk-RDRLCN5M.js";import"./chunk-GEEPH37P.js";import"./chunk-XL5J65PI.js";import{a as Q}from"./chunk-WZG34QS3.js";import{b as Y,d as Z,g as x,r as ee}from"./chunk-4IJQ7AAQ.js";import"./chunk-TYO44G6M.js";import{a as z,d as q}from"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import{a as j,g as H,l as J}from"./chunk-ECH6I3YN.js";import{b as W}from"./chunk-KLIPTMVG.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import"./chunk-UQH5ZQG7.js";import{Ab as i,Bb as a,C as g,Cb as l,D as u,L as k,Lc as C,Mb as r,Mc as h,Nb as p,Ob as T,Pb as L,Qa as s,Qb as U,Sb as A,X as D,db as y,fc as E,ib as v,kc as w,lc as X,mc as V,p as O,rb as F,sa as c,tb as P,vb as G,wb as K}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";function ie(S,t){S&1&&(i(0,"spk-icon",18),E(1,"check"),a())}function ne(S,t){S&1&&(i(0,"spk-icon",18),E(1,"warning"),a())}var m=class S{#a=D(z);#i=D(Q);#e=D(W);#t="";backupId=ae(this.#a.params.pipe(O(t=>t.id)));activeBackup=C(()=>{let t=this.#i.backups().find(_=>_.Backup?.ID===this.backupId());return this.#t=t?.Backup?.DBPath??"",t});backupFilePath=c("");lastValidatedPath=c("");isValidatedPath=C(()=>this.lastValidatedPath()===this.backupFilePath());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),k(()=>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(k(()=>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:15,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`Maintainance`;let d;d=$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 f;f=$localize`${"\uFFFD#19\uFFFD"}:START_TAG_SPK_ICON:wrench${"\uFFFD/#19\uFFFD"}:CLOSE_TAG_SPK_ICON: Repair `;let b;b=$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,d,f,b,B,I,M,N,$,R,[1,"back"],["type","button","spk-button","","routerLink","/",1,"small"],[1,"actions","maintainance"],["spk-button","",3,"click"],["type","text",3,"ngModelChange","ngModel"],["prefix",""],[1,"actions","placement"],["spk-button","",3,"click","disabled"]]},template:function(_,e){if(_&1&&(l(0,"app-status-bar"),i(1,"section")(2,"div",13)(3,"button",14),r(4,0),l(5,"spk-icon"),p(),a()(),i(6,"article")(7,"h1"),T(8,1),a(),i(9,"p"),T(10,2),a()(),i(11,"article")(12,"h2"),T(13,3),a(),i(14,"p"),T(15,4),a(),i(16,"div",15)(17,"button",16),A("click",function(){return e.repairDatabase()}),r(18,5),l(19,"spk-icon"),p(),a(),i(20,"button",16),A("click",function(){return e.deleteDatabase()}),r(21,6),l(22,"spk-icon"),p(),a(),i(23,"button",16),A("click",function(){return e.restoreDatabase()}),r(24,7),l(25,"spk-icon"),p(),a()()(),i(26,"article")(27,"h2"),T(28,8),a(),i(29,"spk-form-field")(30,"input",17),V("ngModelChange",function(d){return X(e.backupFilePath,d)||(e.backupFilePath=d),d}),a(),v(31,ie,2,0,"spk-icon",18)(32,ne,2,0,"spk-icon",18),a(),i(33,"div",19)(34,"button",20),A("click",function(){return e.resetDatabasePath()}),r(35,9),l(36,"spk-icon"),p(),a(),i(37,"button",20),A("click",function(){return e.saveDatabasePath()}),r(38,10),l(39,"spk-icon"),p(),a(),i(40,"button",20),A("click",function(){return e.saveAndRepairDatabasePath()}),r(41,11),l(42,"spk-icon"),p(),a(),i(43,"button",20),A("click",function(){return e.moveDatabasePath()}),r(44,12),l(45,"spk-icon"),p(),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()),s(3),P("loader",e.isDeleting()),s(3),P("loader",e.isRestoring()),s(6),G(e.isValidatedPath()?"success":"error"),s(),w("ngModel",e.backupFilePath),s(),K(e.isValidatedPath()?31:32),s(3),F("disabled",!e.isValidatedPath()),s(3),F("disabled",!e.isValidatedPath()),s(3),F("disabled",!e.isValidatedPath()),s(3),F("disabled",!e.isValidatedPath())}},dependencies:[ee,Y,Z,x,te,H,J,j,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-
|
|
1
|
+
import{a as z}from"./chunk-VFLEQIHL.js";import"./chunk-RDRLCN5M.js";import"./chunk-GEEPH37P.js";import"./chunk-XL5J65PI.js";import{a as X}from"./chunk-WZG34QS3.js";import"./chunk-4IJQ7AAQ.js";import"./chunk-TYO44G6M.js";import{d as E}from"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import{a as R,g as f,h as k,k as G,o as w}from"./chunk-ECH6I3YN.js";import{b as L}from"./chunk-KLIPTMVG.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import"./chunk-UQH5ZQG7.js";import{Ab as e,Bb as i,Cb as s,Db as D,Eb as b,Mb as h,Nb as y,Ob as c,Pb as A,Qa as p,Qb as I,Tb as S,X as d,db as O,fc as l,ib as m,ic as B,ob as M,pb as P,rb as u,rc as g,sc as v,wb as F,xb as N,yb as x,zb as $}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.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()}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 0;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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as a,n as b}from"./chunk-M5YHW43W.js";import"./chunk-Q67EYU7V.js";import"./chunk-DNHLTHLR.js";import"./chunk-N5K6ODRA.js";import"./chunk-RCP6EKCC.js";import"./chunk-3HJFVNAL.js";import"./chunk-LFPZBC5Y.js";import"./chunk-CK5N2PPF.js";import"./chunk-4IJQ7AAQ.js";import"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import"./chunk-ECH6I3YN.js";import"./chunk-KLIPTMVG.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";export{a as createSourceDataForm,b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{c as I}from"./chunk-AIOUSVMR.js";import{b as A}from"./chunk-KLIPTMVG.js";import{a as y,c as k}from"./chunk-V5GVLIPJ.js";import{C as o,D as m,N as l,R as a,X as r,d as p,i as h,l as u,p as g,sa as i,y as d}from"./chunk-DTPZU6NP.js";var c=class s{#i=i(null);#n=window.self!==window.top;#e=i(this.#n);relayIsEnabled=this.#e.asReadonly();config=this.#i.asReadonly();configLoaded=this.#n?new h:null;isLoading=i(this.#n);parentIframeListner=null;parentOrigin="*";fetchConfig(){this.#t(),this.#n&&(this.#e.set(!0),this.parentIframeListner=new AbortController,this.#s("connected"),window.addEventListener("message",e=>{if(e.data.startsWith("access:")){let t=e.data.replace("access:",""),n=JSON.parse(t);if(!n?.accessToken||!n?.clientId){this.#s("error:invalid-config"),this.#e.set(!1);return}if(typeof n.clientId!="string"){this.#s("error:invalid-config"),this.#e.set(!1);return}if(typeof n.accessToken!="string"){this.#s("error:invalid-config"),this.#e.set(!1);return}console.info("postMessage config set"),this.#i.set(n),this.configLoaded?.next(!0),this.isLoading.set(!1),this.#s("handshake-complete")}},{signal:this.parentIframeListner.signal}))}#s(e){window.parent.postMessage(e,"*")}#t(){this.parentIframeListner&&(this.parentIframeListner.abort(),this.parentIframeListner=null)}setConfig(e){this.#i.set(e)}clearConfig(){this.#i.set(null)}static \u0275fac=function(t){return new(t||s)};static \u0275prov=a({token:s,factory:s.\u0275fac,providedIn:"root"})};var f="PROXY_AUTHED_FAKE_TOKEN",b=class s{#i=r(I);#n=r(k);#e=r(A);#s=r(c);#t=i(null);#r=i(!1);token=this.#t.asReadonly();isLoggingOut=this.#r.asReadonly();login(e){return this.#e.postApiV1AuthLogin({requestBody:{Password:e,RememberMe:!0}}).pipe(o(1),l(t=>t.AccessToken&&this.#t.set(t.AccessToken)))}refreshToken(){return this.#s.relayIsEnabled()?(this.#t.set(f),new p(e=>{e.next({AccessToken:f}),e.complete()})):this.#e.postApiV1AuthRefresh().pipe(o(1),l(e=>e.AccessToken&&this.#t.set(e.AccessToken)))}checkProxyAuthed(){let e=new y({"custom-proxy-check":"true"});return this.#n.get("/api/v1/systeminfo",{headers:e}).pipe(g(()=>(this.#t.set(f),!0)),d(()=>u(!1)))}logout(){this.#r.set(!0),this.#e.postApiV1AuthRefreshLogout().pipe(o(1),m(()=>{this.#r.set(!1),this.#t.set(null),this.#i.navigate(["/login"])})).subscribe()}static \u0275fac=function(t){return new(t||s)};static \u0275prov=a({token:s,factory:s.\u0275fac,providedIn:"root"})};export{c as a,f as b,b as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as pe}from"./chunk-RKQDFV7W.js";import{b as ue,d as ce,g as Se,i as de,r as F}from"./chunk-4IJQ7AAQ.js";import{a as te}from"./chunk-OQEGPSC6.js";import{b as A}from"./chunk-KLIPTMVG.js";import{a as ne,b as ie,e as oe,g as ae,i as h,l as se,o as le,p as _e,r as re}from"./chunk-ECH6I3YN.js";import{pa as ee}from"./chunk-2HS3CYRN.js";import{a as Te}from"./chunk-UQH5ZQG7.js";import{Ab as s,Bb as l,Cb as R,D as g,Gb as V,Lc as G,Mb as I,Nb as k,Ob as p,Qa as _,Rb as j,Sb as u,Tb as C,X as c,ca as x,da as z,db as E,fc as O,gb as X,hc as q,ib as L,ic as Z,jc as J,kc as f,lc as P,mc as N,oa as D,rb as m,sa as r,tb as S,vc as B,wb as v,wc as Y,xb as H,xc as Q,yb as K,zb as W}from"./chunk-DTPZU6NP.js";var y=class a{#e=c(Te);transform(n,...t){return this.#e.locale(),this.#e(n).fromNow()}static \u0275fac=function(t){return new(t||a)};static \u0275pipe=X({name:"appRelativeTime",type:a,pure:!0})};function Ae(a,n){if(a&1){let t=V();s(0,"spk-radio",10),u("click",function(){let i=x(t).$implicit,o=C();return z(o.pauseOption.set(i.value))}),O(1),l()}if(a&2){let t=n.$implicit,e=C();S("active",e.pauseOption()===t.value),_(),q(" ",t.label," ")}}var fe=[{label:$localize`5 minuts`,value:"5m"},{label:$localize`10 minuts`,value:"10m"},{label:$localize`15 minuts`,value:"15m"},{label:$localize`30 minuts`,value:"30m"},{label:$localize`1 hour`,value:"1h"},{label:$localize`4 hours`,value:"4h"},{label:$localize`8 hours`,value:"8h"},{label:$localize`24 hours`,value:"24h"},{label:$localize`Until resumed`,value:void 0}],b=class a{#e=c(A);pauseOptions=r(fe);closed=D();isSubmitting=r(!1);pauseTransfers=r(!1);pauseOption=r(void 0);submit(){this.isSubmitting.set(!0);let n=this.pauseTransfers()||null,t=this.pauseOption();this.#e.postApiV1ServerstatePause({duration:t,pauseTransfers:n}).pipe(g(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit()}})}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=E({type:a,selectors:[["app-pause-dialog"]],outputs:{closed:"closed"},decls:17,vars:4,consts:()=>{let n;n=$localize`Pause settings`;let t;t=$localize` Also pause transfers `;let e;e=$localize`If you pause transfers they could time out and cause retries or failures.`;let i;i=$localize`Cancel`;let o;return o=$localize` Update settings `,[n,t,e,i,o,["header",""],["content",""],[1,"radios"],[1,"primary","raised",3,"active"],[1,"check-wrap"],[1,"primary","raised",3,"click"],["type","warning"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(t,e){t&1&&(s(0,"header",5)(1,"h3"),p(2,0),l()(),s(3,"div",6)(4,"div",7),K(5,Ae,2,3,"spk-radio",8,H),l(),s(7,"div",9)(8,"spk-checkbox",10),u("click",function(){return e.pauseTransfers.set(!e.pauseTransfers())}),p(9,1),l(),s(10,"spk-alert",11),p(11,2),l()()(),s(12,"footer",12)(13,"button",13),u("click",function(){return e.closed.emit()}),p(14,3),l(),s(15,"button",14),u("click",function(){return e.submit()}),p(16,4),l()()),t&2&&(_(5),W(e.pauseOptions()),_(3),S("active",e.pauseTransfers()),_(7),S("loader",e.isSubmitting()))},dependencies:[F,_e,h,ie],styles:["[_nghost-%COMP%]{--dialog-p: 1.5rem;display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.check-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:2rem 0 0}"],changeDetection:0})};var Pe=["Byte/s","KByte/s","MByte/s","GByte/s","TByte/s","PByte/s"],$={Byte:"B",KByte:"KB",MByte:"MB",GByte:"GB",TByte:"TB",PByte:"PB"},ge=Object.entries($).reduce((a,[n,t])=>(a[t]=n,a),{}),M=class a{#e=c(A);closed=D();isSubmitting=r(!1);sizeOptions=r(Pe);maxUploadActive=r(!1);maxDownloadActive=r(!1);maxUpload=r(0);maxDownload=r(0);maxUploadUnit=r("MByte/s");maxDownloadUnit=r("MByte/s");ngOnInit(){this.init()}init(){this.#e.getApiV1Serversettings().subscribe({next:n=>{let t=n?.["max-upload-speed"]?.split(/(\d+)/),e=n?.["max-download-speed"]?.split(/(\d+)/),i=t[1]??"",o=e[1]??"",d=t[2]??"MB",T=e[2]??"MB",Ce=i===""?10:parseInt(i),Oe=o===""?10:parseInt(o);this.maxUploadUnit.set(ge[d]+"/s"),this.maxDownloadUnit.set(ge[T]+"/s"),this.maxUploadActive.set(i!==""),this.maxDownloadActive.set(o!==""),this.maxUpload.set(Ce),this.maxDownload.set(Oe)}})}blockDecimalKeys(n){if([".",","].includes(n.key))return n.preventDefault()}cleanupInputAfterPasting(n){n.preventDefault();let t=n.clipboardData?.getData("text/plain");if(!t)return;let e=t.replaceAll(/[\.,]/g,"");n.target.value=e}submit(){this.isSubmitting.set(!0);let n=this.maxUploadActive()?`${this.maxUpload()}${$[this.maxUploadUnit().replace("/s","")]}`:"",t=this.maxDownloadActive()?`${this.maxDownload()}${$[this.maxDownloadUnit().replace("/s","")]}`:"";this.#e.patchApiV1Serversettings({requestBody:{"max-upload-speed":n,"max-download-speed":t}}).pipe(g(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit(!0)}})}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=E({type:a,selectors:[["app-throttle-settings-dialog"]],outputs:{closed:"closed"},decls:26,vars:16,consts:()=>{let n;n=$localize`Throttle network speed`;let t;t=$localize` Max upload speed `;let e;e=$localize` Max download speed `;let i;i=$localize` Note that speeds are entered in bytes, and line speeds are typically reported in bits. Use a factor of 8 to convert, such that an 8 mbit/s line is equivalent to 1 MByte/s. `;let o;o=$localize`Cancel`;let d;return d=$localize` Update settings `,[n,t,e,i,o,d,["header",""],["content",""],[1,"column"],[1,"field-row"],[1,"primary","raised",3,"click"],["type","number",3,"paste","keydown","ngModelChange","ngModel","disabled"],[3,"isClearable","options"],["type","text",3,"ngModelChange","ngModel"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(t,e){t&1&&(s(0,"header",6)(1,"h3"),p(2,0),l()(),s(3,"div",7)(4,"div",8)(5,"div",9)(6,"spk-checkbox",10),u("click",function(){return e.maxUploadActive.set(!e.maxUploadActive())}),p(7,1),l(),s(8,"spk-form-field")(9,"input",11),u("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),N("ngModelChange",function(o){return P(e.maxUpload,o)||(e.maxUpload=o),o}),l()(),s(10,"spk-select",12)(11,"input",13),N("ngModelChange",function(o){return P(e.maxUploadUnit,o)||(e.maxUploadUnit=o),o}),l()()(),s(12,"div",9)(13,"spk-checkbox",10),u("click",function(){return e.maxDownloadActive.set(!e.maxDownloadActive())}),p(14,2),l(),s(15,"spk-form-field")(16,"input",11),u("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),N("ngModelChange",function(o){return P(e.maxDownload,o)||(e.maxDownload=o),o}),l()(),s(17,"spk-select",12)(18,"input",13),N("ngModelChange",function(o){return P(e.maxDownloadUnit,o)||(e.maxDownloadUnit=o),o}),l()()(),s(19,"p"),p(20,3),l()()(),s(21,"footer",14)(22,"button",15),u("click",function(){return e.closed.emit(!1)}),p(23,4),l(),s(24,"button",16),u("click",function(){return e.submit()}),p(25,5),l()()),t&2&&(_(6),S("active",e.maxUploadActive()),_(3),f("ngModel",e.maxUpload),m("disabled",!e.maxUploadActive()),_(),m("isClearable",!1)("options",e.sizeOptions()),_(),f("ngModel",e.maxUploadUnit),_(2),S("active",e.maxDownloadActive()),_(3),f("ngModel",e.maxDownload),m("disabled",!e.maxDownloadActive()),_(),m("isClearable",!1)("options",e.sizeOptions()),_(),f("ngModel",e.maxDownloadUnit),_(6),S("loader",e.isSubmitting()))},dependencies:[F,ue,de,ce,Se,se,h,re],styles:["[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.column[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.field-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;width:100%}"],changeDetection:0})};function Ne(a,n){if(a&1&&(s(0,"div"),O(1),l(),R(2,"spk-progress-bar",8)),a&2){let t=C();_(),Z("",t.statusData().actionText," - ",t.statusData().statusText,""),_(),m("value",t.statusData().progress*100)}}function Me(a,n){if(a&1&&(s(0,"div",5),O(1),B(2,"appRelativeTime"),B(3,"date"),l()),a&2){let t,e=C();_(),J(" ",(t=e.nextBackup().backup)==null||t.Backup==null?null:t.Backup.Name," - ",Y(2,3,e.nextBackup().time)," at ",Q(3,5,e.nextBackup().time,"shortTime")," ")}}function De(a,n){a&1&&(s(0,"div",5),p(1,1),l())}function Re(a,n){a&1&&(s(0,"div",5),p(1,2),l())}function Ie(a,n){a&1&&(I(0,0,1),R(1,"spk-icon"),k())}function ke(a,n){a&1&&(I(0,0,2),R(1,"spk-icon"),k())}var Ee=new Date,w=class a{#e=c(A);#t=c(pe);#n=c(oe);#i=c(te);minsAgo=Ee.setMinutes(Ee.getMinutes()-1);statusData=this.#t.statusData;serverState=this.#t.serverState;isRunning=G(()=>this.serverState()?.ProgramState==="Running");isResuming=r(!1);nextBackup=G(()=>({backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}));openThrottleSettingsDialog(){this.#n.open(M,{maxWidth:"550px",width:"100%"})}openPauseDialog(){this.#n.open(b,{maxWidth:"550px",width:"100%"})}pauseResume(){if(this.isRunning()){this.openPauseDialog();return}this.isResuming.set(!0),this.#e.postApiV1ServerstateResume().pipe(g(()=>this.isResuming.set(!1))).subscribe()}ngAfterViewInit(){let n=this.#i.relayIsEnabled()?"longpoll":"websocket";this.#t.setConnectionMethod(n)}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=E({type:a,selectors:[["app-status-bar"]],decls:14,vars:4,consts:()=>{let n;n=$localize`${"\uFFFD*9:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:pause${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Pause ${"\uFFFD/*9:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*10:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:play${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Start ${"\uFFFD/*10:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,n=j(n);let t;t=$localize`No scheduled tasks`;let e;return e=$localize`Loading...`,[n,t,e,[1,"current-backup"],[1,"current-backup-progress"],[1,"label"],[1,"current-backup-actions"],["spk-button","",3,"click"],[1,"raised","primary",3,"value"]]},template:function(t,e){if(t&1&&(s(0,"div",3)(1,"div",4),L(2,Ne,3,3)(3,Me,4,8,"div",5)(4,De,2,0,"div",5)(5,Re,2,0,"div",5),l(),s(6,"div",6)(7,"button",7),u("click",function(){return e.pauseResume()}),I(8,0),L(9,Ie,2,0)(10,ke,2,0),k(),l(),s(11,"button",7),u("click",function(){return e.openThrottleSettingsDialog()}),s(12,"spk-icon"),O(13,"speedometer"),l()()()()),t&2){let i;_(2),v((i=e.serverState())!=null&&i.ActiveTask&&(!((i=e.statusData())==null||i.task==null)&&i.task.Status)&&((i=e.statusData())==null||i.task==null?null:i.task.Status)!=="Completed"?2:e.nextBackup().backup||e.nextBackup().time?3:(i=e.serverState())!=null&&i.ActiveTask?5:4),_(5),S("loader",e.isResuming()),_(2),v(e.isRunning()?9:10)}},dependencies:[le,y,ee,ne,ae],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;min-height:3.875rem;border-bottom:1px solid var(--base-level-40)}.current-backup[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}.current-backup-progress[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:18.75rem}.current-backup-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{w as a};
|
|
1
|
+
import{a as pe}from"./chunk-RDRLCN5M.js";import{b as ue,d as ce,g as Se,i as de,r as F}from"./chunk-4IJQ7AAQ.js";import{a as te}from"./chunk-TYO44G6M.js";import{a as ne,b as ie,e as oe,g as ae,i as h,l as se,o as le,p as _e,r as re}from"./chunk-ECH6I3YN.js";import{b as A}from"./chunk-KLIPTMVG.js";import{pa as ee}from"./chunk-2HS3CYRN.js";import{a as Te}from"./chunk-UQH5ZQG7.js";import{Ab as s,Bb as l,Cb as R,D as g,Gb as V,Lc as G,Mb as I,Nb as k,Ob as p,Qa as _,Rb as j,Sb as u,Tb as C,X as c,ca as x,da as z,db as E,fc as O,gb as X,hc as q,ib as L,ic as Z,jc as J,kc as f,lc as P,mc as N,oa as D,rb as m,sa as r,tb as S,vc as B,wb as v,wc as Y,xb as H,xc as Q,yb as K,zb as W}from"./chunk-DTPZU6NP.js";var y=class a{#e=c(Te);transform(n,...t){return this.#e.locale(),this.#e(n).fromNow()}static \u0275fac=function(t){return new(t||a)};static \u0275pipe=X({name:"appRelativeTime",type:a,pure:!0})};function Ae(a,n){if(a&1){let t=V();s(0,"spk-radio",10),u("click",function(){let i=x(t).$implicit,o=C();return z(o.pauseOption.set(i.value))}),O(1),l()}if(a&2){let t=n.$implicit,e=C();S("active",e.pauseOption()===t.value),_(),q(" ",t.label," ")}}var fe=[{label:$localize`5 minuts`,value:"5m"},{label:$localize`10 minuts`,value:"10m"},{label:$localize`15 minuts`,value:"15m"},{label:$localize`30 minuts`,value:"30m"},{label:$localize`1 hour`,value:"1h"},{label:$localize`4 hours`,value:"4h"},{label:$localize`8 hours`,value:"8h"},{label:$localize`24 hours`,value:"24h"},{label:$localize`Until resumed`,value:void 0}],b=class a{#e=c(A);pauseOptions=r(fe);closed=D();isSubmitting=r(!1);pauseTransfers=r(!1);pauseOption=r(void 0);submit(){this.isSubmitting.set(!0);let n=this.pauseTransfers()||null,t=this.pauseOption();this.#e.postApiV1ServerstatePause({duration:t,pauseTransfers:n}).pipe(g(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit()}})}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=E({type:a,selectors:[["app-pause-dialog"]],outputs:{closed:"closed"},decls:17,vars:4,consts:()=>{let n;n=$localize`Pause settings`;let t;t=$localize` Also pause transfers `;let e;e=$localize`If you pause transfers they could time out and cause retries or failures.`;let i;i=$localize`Cancel`;let o;return o=$localize` Update settings `,[n,t,e,i,o,["header",""],["content",""],[1,"radios"],[1,"primary","raised",3,"active"],[1,"check-wrap"],[1,"primary","raised",3,"click"],["type","warning"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(t,e){t&1&&(s(0,"header",5)(1,"h3"),p(2,0),l()(),s(3,"div",6)(4,"div",7),K(5,Ae,2,3,"spk-radio",8,H),l(),s(7,"div",9)(8,"spk-checkbox",10),u("click",function(){return e.pauseTransfers.set(!e.pauseTransfers())}),p(9,1),l(),s(10,"spk-alert",11),p(11,2),l()()(),s(12,"footer",12)(13,"button",13),u("click",function(){return e.closed.emit()}),p(14,3),l(),s(15,"button",14),u("click",function(){return e.submit()}),p(16,4),l()()),t&2&&(_(5),W(e.pauseOptions()),_(3),S("active",e.pauseTransfers()),_(7),S("loader",e.isSubmitting()))},dependencies:[F,_e,h,ie],styles:["[_nghost-%COMP%]{--dialog-p: 1.5rem;display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.check-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:2rem 0 0}"],changeDetection:0})};var Pe=["Byte/s","KByte/s","MByte/s","GByte/s","TByte/s","PByte/s"],$={Byte:"B",KByte:"KB",MByte:"MB",GByte:"GB",TByte:"TB",PByte:"PB"},ge=Object.entries($).reduce((a,[n,t])=>(a[t]=n,a),{}),M=class a{#e=c(A);closed=D();isSubmitting=r(!1);sizeOptions=r(Pe);maxUploadActive=r(!1);maxDownloadActive=r(!1);maxUpload=r(0);maxDownload=r(0);maxUploadUnit=r("MByte/s");maxDownloadUnit=r("MByte/s");ngOnInit(){this.init()}init(){this.#e.getApiV1Serversettings().subscribe({next:n=>{let t=n?.["max-upload-speed"]?.split(/(\d+)/),e=n?.["max-download-speed"]?.split(/(\d+)/),i=t[1]??"",o=e[1]??"",d=t[2]??"MB",T=e[2]??"MB",Ce=i===""?10:parseInt(i),Oe=o===""?10:parseInt(o);this.maxUploadUnit.set(ge[d]+"/s"),this.maxDownloadUnit.set(ge[T]+"/s"),this.maxUploadActive.set(i!==""),this.maxDownloadActive.set(o!==""),this.maxUpload.set(Ce),this.maxDownload.set(Oe)}})}blockDecimalKeys(n){if([".",","].includes(n.key))return n.preventDefault()}cleanupInputAfterPasting(n){n.preventDefault();let t=n.clipboardData?.getData("text/plain");if(!t)return;let e=t.replaceAll(/[\.,]/g,"");n.target.value=e}submit(){this.isSubmitting.set(!0);let n=this.maxUploadActive()?`${this.maxUpload()}${$[this.maxUploadUnit().replace("/s","")]}`:"",t=this.maxDownloadActive()?`${this.maxDownload()}${$[this.maxDownloadUnit().replace("/s","")]}`:"";this.#e.patchApiV1Serversettings({requestBody:{"max-upload-speed":n,"max-download-speed":t}}).pipe(g(()=>this.isSubmitting.set(!1))).subscribe({next:e=>{this.closed.emit(!0)}})}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=E({type:a,selectors:[["app-throttle-settings-dialog"]],outputs:{closed:"closed"},decls:26,vars:16,consts:()=>{let n;n=$localize`Throttle network speed`;let t;t=$localize` Max upload speed `;let e;e=$localize` Max download speed `;let i;i=$localize` Note that speeds are entered in bytes, and line speeds are typically reported in bits. Use a factor of 8 to convert, such that an 8 mbit/s line is equivalent to 1 MByte/s. `;let o;o=$localize`Cancel`;let d;return d=$localize` Update settings `,[n,t,e,i,o,d,["header",""],["content",""],[1,"column"],[1,"field-row"],[1,"primary","raised",3,"click"],["type","number",3,"paste","keydown","ngModelChange","ngModel","disabled"],[3,"isClearable","options"],["type","text",3,"ngModelChange","ngModel"],["footer",""],["spk-button","",3,"click"],["spk-button","",1,"raised","primary",3,"click"]]},template:function(t,e){t&1&&(s(0,"header",6)(1,"h3"),p(2,0),l()(),s(3,"div",7)(4,"div",8)(5,"div",9)(6,"spk-checkbox",10),u("click",function(){return e.maxUploadActive.set(!e.maxUploadActive())}),p(7,1),l(),s(8,"spk-form-field")(9,"input",11),u("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),N("ngModelChange",function(o){return P(e.maxUpload,o)||(e.maxUpload=o),o}),l()(),s(10,"spk-select",12)(11,"input",13),N("ngModelChange",function(o){return P(e.maxUploadUnit,o)||(e.maxUploadUnit=o),o}),l()()(),s(12,"div",9)(13,"spk-checkbox",10),u("click",function(){return e.maxDownloadActive.set(!e.maxDownloadActive())}),p(14,2),l(),s(15,"spk-form-field")(16,"input",11),u("paste",function(o){return e.cleanupInputAfterPasting(o)})("keydown",function(o){return e.blockDecimalKeys(o)}),N("ngModelChange",function(o){return P(e.maxDownload,o)||(e.maxDownload=o),o}),l()(),s(17,"spk-select",12)(18,"input",13),N("ngModelChange",function(o){return P(e.maxDownloadUnit,o)||(e.maxDownloadUnit=o),o}),l()()(),s(19,"p"),p(20,3),l()()(),s(21,"footer",14)(22,"button",15),u("click",function(){return e.closed.emit(!1)}),p(23,4),l(),s(24,"button",16),u("click",function(){return e.submit()}),p(25,5),l()()),t&2&&(_(6),S("active",e.maxUploadActive()),_(3),f("ngModel",e.maxUpload),m("disabled",!e.maxUploadActive()),_(),m("isClearable",!1)("options",e.sizeOptions()),_(),f("ngModel",e.maxUploadUnit),_(2),S("active",e.maxDownloadActive()),_(3),f("ngModel",e.maxDownload),m("disabled",!e.maxDownloadActive()),_(),m("isClearable",!1)("options",e.sizeOptions()),_(),f("ngModel",e.maxDownloadUnit),_(6),S("loader",e.isSubmitting()))},dependencies:[F,ue,de,ce,Se,se,h,re],styles:["[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}.column[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.field-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;width:100%}"],changeDetection:0})};function Ne(a,n){if(a&1&&(s(0,"div"),O(1),l(),R(2,"spk-progress-bar",8)),a&2){let t=C();_(),Z("",t.statusData().actionText," - ",t.statusData().statusText,""),_(),m("value",t.statusData().progress*100)}}function Me(a,n){if(a&1&&(s(0,"div",5),O(1),B(2,"appRelativeTime"),B(3,"date"),l()),a&2){let t,e=C();_(),J(" ",(t=e.nextBackup().backup)==null||t.Backup==null?null:t.Backup.Name," - ",Y(2,3,e.nextBackup().time)," at ",Q(3,5,e.nextBackup().time,"shortTime")," ")}}function De(a,n){a&1&&(s(0,"div",5),p(1,1),l())}function Re(a,n){a&1&&(s(0,"div",5),p(1,2),l())}function Ie(a,n){a&1&&(I(0,0,1),R(1,"spk-icon"),k())}function ke(a,n){a&1&&(I(0,0,2),R(1,"spk-icon"),k())}var Ee=new Date,w=class a{#e=c(A);#t=c(pe);#n=c(oe);#i=c(te);minsAgo=Ee.setMinutes(Ee.getMinutes()-1);statusData=this.#t.statusData;serverState=this.#t.serverState;isRunning=G(()=>this.serverState()?.ProgramState==="Running");isResuming=r(!1);nextBackup=G(()=>({backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}));openThrottleSettingsDialog(){this.#n.open(M,{maxWidth:"550px",width:"100%"})}openPauseDialog(){this.#n.open(b,{maxWidth:"550px",width:"100%"})}pauseResume(){if(this.isRunning()){this.openPauseDialog();return}this.isResuming.set(!0),this.#e.postApiV1ServerstateResume().pipe(g(()=>this.isResuming.set(!1))).subscribe()}ngAfterViewInit(){let n=this.#i.relayIsEnabled()?"longpoll":"websocket";this.#t.setConnectionMethod(n)}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=E({type:a,selectors:[["app-status-bar"]],decls:14,vars:4,consts:()=>{let n;n=$localize`${"\uFFFD*9:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:pause${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Pause ${"\uFFFD/*9:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*10:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SPK_ICON:play${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SPK_ICON: Start ${"\uFFFD/*10:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,n=j(n);let t;t=$localize`No scheduled tasks`;let e;return e=$localize`Loading...`,[n,t,e,[1,"current-backup"],[1,"current-backup-progress"],[1,"label"],[1,"current-backup-actions"],["spk-button","",3,"click"],[1,"raised","primary",3,"value"]]},template:function(t,e){if(t&1&&(s(0,"div",3)(1,"div",4),L(2,Ne,3,3)(3,Me,4,8,"div",5)(4,De,2,0,"div",5)(5,Re,2,0,"div",5),l(),s(6,"div",6)(7,"button",7),u("click",function(){return e.pauseResume()}),I(8,0),L(9,Ie,2,0)(10,ke,2,0),k(),l(),s(11,"button",7),u("click",function(){return e.openThrottleSettingsDialog()}),s(12,"spk-icon"),O(13,"speedometer"),l()()()()),t&2){let i;_(2),v((i=e.serverState())!=null&&i.ActiveTask&&(!((i=e.statusData())==null||i.task==null)&&i.task.Status)&&((i=e.statusData())==null||i.task==null?null:i.task.Status)!=="Completed"?2:e.nextBackup().backup||e.nextBackup().time?3:(i=e.serverState())!=null&&i.ActiveTask?5:4),_(5),S("loader",e.isResuming()),_(2),v(e.isRunning()?9:10)}},dependencies:[le,y,ee,ne,ae],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;min-height:3.875rem;border-bottom:1px solid var(--base-level-40)}.current-backup[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}.current-backup-progress[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:18.75rem}.current-backup-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}"],changeDetection:0})};export{w as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as D}from"./chunk-
|
|
1
|
+
import{a as D}from"./chunk-LFPZBC5Y.js";import{a as b,m as w}from"./chunk-ECH6I3YN.js";import"./chunk-KLIPTMVG.js";import"./chunk-V5GVLIPJ.js";import{ia as A}from"./chunk-2HS3CYRN.js";import{Ab as c,Bb as r,Fb as u,Gb as v,Lc as $,Ob as P,Qa as l,Sb as k,Tb as s,X as y,ca as O,da as x,db as T,ec as C,fc as p,gc as E,ib as a,rb as d,sa as m,sb as h,sc as _,tb as f,tc as N,wb as g,yb as I,yc as F,zb as M}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";var L=e=>({children:e,level:0}),R=e=>({$implicit:e}),V=(e,t)=>({children:e,level:t}),j=(e,t)=>t.id;function z(e,t){if(e&1&&(c(0,"spk-icon"),p(1,"caret-down"),r()),e&2){let n=s().$implicit;f("open",n.isOpen())}}function B(e,t){e&1&&(c(0,"spk-icon"),p(1,"dot"),r())}function G(e,t){e&1&&u(0)}function U(e,t){if(e&1&&a(0,G,1,0,"ng-container",3),e&2){let n=s().$implicit,o=s().$implicit;s();let i=C(3);d("ngTemplateOutlet",i)("ngTemplateOutletContext",_(5,R,N(2,V,n.children,o.level+1)))}}function X(e,t){if(e&1){let n=v();c(0,"div",4,1),k("click",function(){let i=O(n).$implicit,Y=s(2);return x(i.children.length>0&&Y.toggleNode(i))}),a(2,z,2,2,"spk-icon",5)(3,B,2,0,"spk-icon"),c(4,"div",6),p(5),r()(),a(6,U,1,7,"ng-container")}if(e&2){let n=t.$implicit;f("cannot-toggle",n.children.length===0)("open",n.isOpen()),l(2),g(n.children.length>0?2:3),l(3),E(n.text),l(),g(n.isOpen()?6:-1)}}function q(e,t){if(e&1&&(c(0,"spk-list"),I(1,X,7,7,null,null,j),r()),e&2){let n=t.$implicit;h("padding-left",n.level*.25,"rem"),l(),M(n.children)}}function H(e,t){e&1&&u(0)}var S=class e{#e=y(D);treeStructure=$(()=>{let t=this.#e.systemInfo();return this.processObject(t,0)});toggleNode(t){t.isOpen.update(n=>!n)}processObject(t,n){let o=[];for(let i in t)typeof t[i]=="object"?o.push({id:i,text:i,children:this.processObject(t[i],n+1),level:n,isOpen:m(!1)}):o.push({id:i,text:`${i}: ${t[i]}`,children:[],level:n,isOpen:m(!1)});return o}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=T({type:e,selectors:[["app-system-info"]],decls:5,vars:6,consts:()=>{let t;return t=$localize`System info`,[["recursiveTree",""],["treeNode",""],t,[4,"ngTemplateOutlet","ngTemplateOutletContext"],["action","",3,"click"],[3,"open"],[1,"text"]]},template:function(n,o){if(n&1&&(c(0,"h3"),P(1,2),r(),a(2,q,3,2,"ng-template",null,0,F)(4,H,1,0,"ng-container",3)),n&2){let i=C(3);l(4),d("ngTemplateOutlet",i)("ngTemplateOutletContext",_(4,R,_(2,L,o.treeStructure())))}},dependencies:[w,b,A],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}spk-icon[_ngcontent-%COMP%]{font-size:1rem}spk-list[_ngcontent-%COMP%]{padding:0}spk-list[_ngcontent-%COMP%] [action][_ngcontent-%COMP%]{padding:0}spk-list[_ngcontent-%COMP%] [action].cannot-toggle[_ngcontent-%COMP%]{cursor:initial}"],changeDetection:0})};export{S as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as G}from"./chunk-WZG34QS3.js";import{a as L,b as U,d as K,e as w,h as X,m as x,p as V,q as z,s as j}from"./chunk-4IJQ7AAQ.js";import{
|
|
1
|
+
import{a as G}from"./chunk-WZG34QS3.js";import{a as L,b as U,d as K,e as w,h as X,m as x,p as V,q as z,s as j}from"./chunk-4IJQ7AAQ.js";import{c as E,d as R}from"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import{a as b,c as $,g as y,l as B,x as h,z as v}from"./chunk-ECH6I3YN.js";import{b as N}from"./chunk-KLIPTMVG.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import{Ab as r,Bb as n,Cb as l,D as g,Mb as I,Nb as M,Ob as u,Qa as F,Rb as O,Sb as f,X as p,db as S,fc as A,ib as D,rb as d,rc as k,sa as m,tb as C,wb as P}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";var q=()=>["/"];function H(c,e){c&1&&(r(0,"spk-form-field")(1,"label",18),u(2,4),n(),l(3,"input",19),n())}var s=new z,T=class c{#e=p($);#t=p(N);#o=p(G);#n=p(E);isImporting=m(!1);isSecureFile=m(!1);importForm=s.group({config:s.control(""),cmdline:s.control(!1),importMetadata:s.control(!1),direct:s.control(!1),passphrase:s.control("")});selectedFile=m(null);onFileDropped(e){let t=e.target?.files?.item(0);if(t){let i=new FileReader;this.isSecureFile.set(t.type!=="application/json"),i.onload=this.#i.bind(this),i.readAsArrayBuffer(t)}}#i(e){let o=e.target?.result;this.importForm.patchValue({config:this.#r(o)})}#r(e){let o=new Uint8Array(e),t=o.byteLength,i="";for(let a=0;a<t;a++)i+=String.fromCharCode(o[a]);return btoa(i)}submit(){this.isImporting.set(!0),this.#t.postApiV1BackupsImport({requestBody:this.importForm.value}).pipe(g(()=>this.isImporting.set(!1))).subscribe({next:e=>{let o=this.#o.addDraftBackup(e.data);this.#n.navigate(["/backup-draft",o])},error:e=>{this.#e.error(e.message)}})}static \u0275fac=function(o){return new(o||c)};static \u0275cmp=S({type:c,selectors:[["app-import"]],decls:24,vars:7,consts:()=>{let e;e=$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:`,e=O(e);let o;o=$localize`Select a configuration file`;let t;t=$localize`Import Metadata`;let i;i=$localize`Save now`;let a;return a=$localize`Passphrase`,[e,o,t,i,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"],["spkDragDrop","",3,"fileDropped"],["for","file"],["type","file","accept",".json,.aes",3,"change"],["suffix",""],[1,"primary","raised"],["for","importMetadata"],["type","checkbox","formControlName","importMetadata"],["for","direct"],["type","checkbox","formControlName","direct"],["for","passphrase"],["type","password","formControlName","passphrase"]]},template:function(o,t){o&1&&(r(0,"header")(1,"h3"),I(2,0),r(3,"div",5)(4,"button",6),l(5,"spk-icon"),n(),r(6,"button",7),f("click",function(){return t.submit()}),l(7,"spk-icon"),n()(),M(),n()(),r(8,"form",8)(9,"spk-form-field",9),f("fileDropped",function(a){return t.onFileDropped(a)}),r(10,"label",10),u(11,1),n(),r(12,"input",11),f("change",function(a){return t.onFileDropped(a)}),n(),r(13,"spk-icon",12),A(14,"upload"),n()(),D(15,H,4,0,"spk-form-field"),r(16,"spk-toggle",13)(17,"label",14),u(18,2),n(),l(19,"input",15),n(),r(20,"spk-toggle",13)(21,"label",16),u(22,3),n(),l(23,"input",17),n()()),o&2&&(F(4),d("routerLink",k(6,q)),F(2),C("loader",t.isImporting()),d("disabled",t.isImporting()),F(2),d("formGroup",t.importForm),F(7),P(t.isSecureFile()?15:-1))},dependencies:[j,X,U,L,K,w,x,V,R,v,B,b,y,h],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}"],changeDetection:0})};export{T as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as g}from"./chunk-M5YHW43W.js";import"./chunk-Q67EYU7V.js";import"./chunk-DNHLTHLR.js";import{a as k}from"./chunk-N5K6ODRA.js";import"./chunk-RCP6EKCC.js";import"./chunk-3HJFVNAL.js";import"./chunk-LFPZBC5Y.js";import"./chunk-CK5N2PPF.js";import{a as I}from"./chunk-VFLEQIHL.js";import"./chunk-RDRLCN5M.js";import"./chunk-GEEPH37P.js";import"./chunk-XL5J65PI.js";import{a as N}from"./chunk-WZG34QS3.js";import"./chunk-4IJQ7AAQ.js";import"./chunk-TYO44G6M.js";import{a as P,b as h,d as E,e as B}from"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import{o as $,p as M,t as b}from"./chunk-ECH6I3YN.js";import{b as O}from"./chunk-KLIPTMVG.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import"./chunk-UQH5ZQG7.js";import{Ab as s,Bb as p,C as m,Cb as n,Mb as d,Mc as A,Nb as c,Qa as r,X as l,db as f,ib as C,qc as R,rb as u,tc as _,wb as D}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";var K=(i,e)=>[i,e,"general"],L=(i,e)=>[i,e,"destination"],v=(i,e)=>[i,e,"source-data"],G=(i,e)=>[i,e,"schedule"],y=(i,e)=>[i,e,"options"];function U(i,e){i&1&&n(0,"spk-progress-bar",6)}function X(i,e){i&1&&(s(0,"section"),n(1,"router-outlet"),p())}var T=class i{#t=l(P);#e=l(g);#a=l(N);#i=l(O);isDraft=this.#e.isDraft;backupId=this.#e.backupId;finishedLoading=this.#e.finishedLoading;#o=k(this.#t.params);#n=k(this.#t.url);paramsChanged=A(()=>{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(m(1)).subscribe({next:e=>{this.#e.mapScheduleToForm(e.Schedule),this.#e.mapOptionsToForms(e.Backup),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=f({type:i,selectors:[["app-backup"]],features:[R([g])],decls:20,vars:21,consts:()=>{let e;e=$localize`${"\uFFFD#5\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#5\uFFFD"}:CLOSE_TAG_SPK_RADIO: General `;let a;a=$localize`${"\uFFFD#8\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#8\uFFFD"}:CLOSE_TAG_SPK_RADIO: Destination `;let t;t=$localize`${"\uFFFD#11\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#11\uFFFD"}:CLOSE_TAG_SPK_RADIO: Source Data `;let o;o=$localize`${"\uFFFD#14\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SPK_RADIO: Schedule `;let F;return F=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SPK_RADIO:${"\uFFFD/#17\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&&(n(0,"app-status-bar"),s(1,"header")(2,"spk-stepper")(3,"div",5),d(4,0),n(5,"spk-radio"),c(),p(),s(6,"div",5),d(7,1),n(8,"spk-radio"),c(),p(),s(9,"div",5),d(10,2),n(11,"spk-radio"),c(),p(),s(12,"div",5),d(13,3),n(14,"spk-radio"),c(),p(),s(15,"div",5),d(16,4),n(17,"spk-radio"),c(),p()()(),C(18,U,1,0,"spk-progress-bar",6)(19,X,2,0,"section")),a&2&&(r(3),u("routerLink",_(6,K,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),u("routerLink",_(9,L,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),u("routerLink",_(12,v,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),u("routerLink",_(15,G,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),u("routerLink",_(18,y,t.isDraft()?"/backup-draft":"/backup",t.backupId())),r(3),D(t.finishedLoading()?19:18))},dependencies:[h,E,B,I,M,b,$],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%] 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{T as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as P,c as A}from"./chunk-
|
|
1
|
+
import{a as P,c as A}from"./chunk-TYO44G6M.js";import{e as d}from"./chunk-ECH6I3YN.js";import{b as k}from"./chunk-KLIPTMVG.js";import{ua as M}from"./chunk-2HS3CYRN.js";import{Ab as m,Bb as f,Cb as _,Lc as g,M as C,Mb as v,Mc as b,Nb as E,Ob as N,Pb as I,Qa as T,Qb as F,R as c,X as s,db as O,g as S,sa as n,vc as w,xc as y}from"./chunk-DTPZU6NP.js";var r=class o{reconnectTimer=n(15e3);countdown=n(0);connectTimerEffect=b(()=>{let t=this.reconnectTimer();this.countdown.set(t/1e3)});interval=setInterval(()=>{if(this.countdown()<=1){this.countdown.set(this.reconnectTimer()/1e3);return}this.countdown.set(this.countdown()-1)},1e3);ngOnDestroy(){clearInterval(this.interval)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=O({type:o,selectors:[["app-disconnected-dialog"]],decls:8,vars:4,consts:()=>{let t;t=$localize`Reconnecting...`;let e;return e=$localize` The connection to the server is lost, attempting again in ${"\uFFFD#6\uFFFD"}:START_TAG_STRONG:0:${"\uFFFD0\uFFFD"}:INTERPOLATION:${"\uFFFD/#6\uFFFD"}:CLOSE_TAG_STRONG:`,[t,e,["header",""],["content",""]]},template:function(e,i){e&1&&(m(0,"header",2)(1,"h3"),N(2,0),f()(),m(3,"div",3)(4,"p"),v(5,1),_(6,"strong"),w(7,"number"),E(),f()()),e&2&&(T(7),I(y(7,1,i.countdown(),"2.0-0")),F(5))},dependencies:[M],styles:["[_nghost-%COMP%]{display:block;padding:1rem}"],changeDetection:0})};var h=class o{dialog=s(d);#o=s(k);#t=n("disconnected");#e=n(null);#s=n(-1);#n=n(0);#i=n(!1);#c=new S;connectionStatus=this.#t.asReadonly();serverState=this.#e.asReadonly();#r=void 0;duration=s(P).relayIsEnabled()?"94s":"299s";start(){this.#i.set(!0),this.#c=new S,this.#a()}stop(){this.#c.next(),this.#c.complete(),this.#i.set(!1)}reconnect(){this.stop(),this.start()}reconnectIfNeeded(){console.log("reconnectIfNeeded"),!this.#i()&&this.reconnect()}#a(){this.#t.set("connecting"),this.#o.getApiV1Serverstate({lastEventId:this.#s(),longpoll:this.#s()>0,duration:this.duration}).pipe(C(this.#c)).subscribe({next:t=>{t&&this.#l(t),this.#d()},error:t=>{let i=this.#n()+1,l=Math.min(5e3*i,3e4);this.#n.set(i),i>3&&this.#t.set("disconnected"),this.#r||(this.#r=this.dialog.open(r,{closeOnButton:!1,closeOnEsc:!1,closeOnOutsideClick:!1})),this.#r.component.reconnectTimer.set(l),setTimeout(()=>{this.#a()},l)}})}#l(t){this.#t.set("connected"),this.#e.set(t),this.#s.set(t.LastEventID||-1),this.#n.set(0)}#d(){this.#i()&&this.#a()}static \u0275fac=function(e){return new(e||o)};static \u0275prov=c({token:o,factory:o.\u0275fac,providedIn:"root"})};var p=class o{#o=s(A);dialog=s(d);#t=null;#e=n("disconnected");#s=n(null);#n=void 0;shouldConnect=n(!0);connectionStatus=this.#e.asReadonly();serverState=this.#s.asReadonly();start(){this.#i(),this.shouldConnect.set(!0)}#i(){let t=this.#o.token();if(!t){console.error("No access token available");return}let e=window.location.protocol==="https:"?"wss:":"ws:",i=window.location.port?`:${window.location.port}`:"";window.location.port==="4200"&&(i=":8200");let l=window.location.hostname,$=`${e}//${l}${i}/notifications?token=${t}`;this.#e.set("connecting"),this.#t=new WebSocket($),this.#t.onopen=()=>{console.log("WebSocket connection established"),this.#e.set("connected"),this.#n&&this.#n.close()},this.#t.onmessage=a=>{try{let u=JSON.parse(a.data);this.#s.set(u)}catch(u){console.error("Error parsing WebSocket message",u)}},this.#t.onclose=a=>{console.log("WebSocket connection closed",a),this.#e.set("disconnected"),this.shouldConnect()&&(this.#n||(this.#n=this.dialog.open(r,{closeOnButton:!1,closeOnEsc:!1,closeOnOutsideClick:!1}),this.#n.component.reconnectTimer.set(15e3)),setTimeout(()=>this.#i(),5e3))},this.#t.onerror=a=>{console.error("WebSocket error",a),this.#e.set("disconnected")}}stop(){this.shouldConnect.set(!1),this.#t?.close()}reconnect(){this.#t?.close(),this.start()}reconnectIfNeeded(){this.#t?.readyState!==WebSocket.OPEN&&this.reconnect()}static \u0275fac=function(e){return new(e||o)};static \u0275prov=c({token:o,factory:o.\u0275fac,providedIn:"root"})};var R=class o{#o=s(p);#t=s(h);#e=n("longpoll");connectionStatus=g(()=>this.#e()==="websocket"?this.#o.connectionStatus():this.#t.connectionStatus());serverState=g(()=>this.#e()==="websocket"?this.#o.serverState():this.#t.serverState());setConnectionMethod(t){t==="websocket"?(this.#o.reconnectIfNeeded(),this.#t.stop()):(this.#t.reconnectIfNeeded(),this.#o.stop()),this.#e.set(t)}getConnectionMethod(){return this.#e()}static \u0275fac=function(e){return new(e||o)};static \u0275prov=c({token:o,factory:o.\u0275fac,providedIn:"root"})};export{R as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-C6Q5SG76.js";var t=[{path:"",redirectTo:"select-files",pathMatch:"full"},{path:"destination",loadComponent:()=>import("./chunk-FAZH6E7O.js")},{path:"encryption",loadComponent:()=>import("./chunk-F4AVB6VB.js")},{path:"select-files",loadComponent:()=>import("./chunk-3TZIEZUP.js")},{path:"options",loadComponent:()=>import("./chunk-MLJFOQOI.js")}],o=t;export{o as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as P,d as v,e as L,h as w,m as V,p as x,q as X,s as U}from"./chunk-4IJQ7AAQ.js";import{
|
|
1
|
+
import{b as P,d as v,e as L,h as w,m as V,p as x,q as X,s as U}from"./chunk-4IJQ7AAQ.js";import{c as A,d as I}from"./chunk-AIOUSVMR.js";import"./chunk-THUAAYGA.js";import{a as b,c as h,g as $,l as B,z as G}from"./chunk-ECH6I3YN.js";import{b as y}from"./chunk-KLIPTMVG.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import{Ab as i,Bb as r,Cb as _,D as g,L as T,Mb as C,Nb as O,Ob as f,Qa as F,Rb as k,Sb as m,X as u,db as R,fc as N,ib as S,rb as c,rc as M,sa as p,tb as D,wb as E}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";var j=()=>["/"];function z(l,e){l&1&&(i(0,"spk-form-field")(1,"label",11),f(2,2),r(),_(3,"input",12),r())}var a=new X,d=class l{#t=u(h);#e=u(y);#o=u(A);isRestoring=p(!1);isSecureFile=p(!1);importForm=a.group({config:a.control(""),cmdline:a.control(!1),importMetadata:a.control(!1),direct:a.control(!1),passphrase:a.control("")});selectedFile=p(null);onFileDropped(e){let t=e.target?.files?.item(0);if(t){let n=new FileReader;this.isSecureFile.set(t.type!=="application/json"),n.onload=this.#n.bind(this),n.readAsArrayBuffer(t)}}#n(e){let o=e.target?.result;this.importForm.patchValue({config:this.#r(o)})}#r(e){let o=new Uint8Array(e),t=o.byteLength,n="";for(let s=0;s<t;s++)n+=String.fromCharCode(o[s]);return btoa(n)}submit(){this.isRestoring.set(!0),this.#e.postApiV1BackupsImport({requestBody:this.importForm.value}).pipe(T(e=>{let t={Backup:e.data.Backup};return this.#e.postApiV1Backups({requestBody:t,temporary:!0})}),g(()=>this.isRestoring.set(!1))).subscribe({next:e=>{this.#o.navigate(["/restore-draft",e.ID])},error:e=>{this.#t.error(e.message)}})}static \u0275fac=function(o){return new(o||l)};static \u0275cmp=R({type:l,selectors:[["app-restore-from-config"]],decls:16,vars:7,consts:()=>{let e;e=$localize` Restore from config ${"\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: Restore ${"[\uFFFD/#4\uFFFD|\uFFFD/#6\uFFFD]"}:CLOSE_TAG_BUTTON:${"\uFFFD/#3\uFFFD"}:CLOSE_TAG_DIV:`,e=k(e);let o;o=$localize`Select a configuration file`;let t;return t=$localize`Passphrase`,[e,o,t,[1,"actions"],["spk-button","","type","button",1,"outlined",3,"routerLink"],["spk-button","","type","submit",1,"raised","primary",3,"click","disabled"],["autocomplete","off",3,"formGroup"],["spkDragDrop","",3,"fileDropped"],["for","file"],["type","file","accept",".json,.aes",3,"change"],["suffix",""],["for","passphrase"],["type","password","formControlName","passphrase"]]},template:function(o,t){o&1&&(i(0,"header")(1,"h3"),C(2,0),i(3,"div",3)(4,"button",4),_(5,"spk-icon"),r(),i(6,"button",5),m("click",function(){return t.submit()}),_(7,"spk-icon"),r()(),O(),r()(),i(8,"form",6)(9,"spk-form-field",7),m("fileDropped",function(s){return t.onFileDropped(s)}),i(10,"label",8),f(11,1),r(),i(12,"input",9),m("change",function(s){return t.onFileDropped(s)}),r(),i(13,"spk-icon",10),N(14,"upload"),r()(),S(15,z,4,0,"spk-form-field"),r()),o&2&&(F(4),c("routerLink",M(6,j)),F(2),D("loader",t.isRestoring()),c("disabled",t.isRestoring()),F(2),c("formGroup",t.importForm),F(7),E(t.isSecureFile()?15:-1))},dependencies:[U,w,P,v,L,V,x,I,G,B,b,$],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}"],changeDetection:0})};export{d as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as A}from"./chunk-N5K6ODRA.js";import{
|
|
1
|
+
import{a as A}from"./chunk-N5K6ODRA.js";import{c as M}from"./chunk-THUAAYGA.js";import{o as P}from"./chunk-ECH6I3YN.js";import{b as S}from"./chunk-KLIPTMVG.js";import"./chunk-V5GVLIPJ.js";import"./chunk-2HS3CYRN.js";import{Ab as i,Bb as r,Cb as _,D as p,Ob as C,Qa as c,X as o,db as g,fc as u,gc as E,ib as d,p as l,sa as m,wb as f}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";function G(t,e){t&1&&_(0,"spk-progress-bar",1)}var a=class t{#n=o(M);#e=o(S);isLoading=m(!0);generalInfo=A(this.#e.getApiV1Acknowledgements().pipe(l(e=>e.Acknowledgements),p(()=>this.isLoading.set(!1))));static \u0275fac=function(n){return new(n||t)};static \u0275cmp=g({type:t,selectors:[["app-general"]],decls:6,vars:2,consts:()=>{let e;return e=$localize`General`,[e,[1,"indeterminate","primary"]]},template:function(n,s){n&1&&(d(0,G,1,0,"spk-progress-bar",1),i(1,"section")(2,"h3"),C(3,0),r(),i(4,"div"),u(5),r()()),n&2&&(f(s.isLoading()?0:-1),c(5),E(s.generalInfo()))},dependencies:[P],styles:["[_nghost-%COMP%]{display:block;position:relative}h3[_ngcontent-%COMP%]{font:var(--title-30);margin:0 0 1.25rem}section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}section[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{white-space:pre-wrap}spk-progress-bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0}"],changeDetection:0})};export{a as default};
|
package/index.html
CHANGED
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
font-style: normal;
|
|
18
18
|
}
|
|
19
19
|
</style>
|
|
20
|
-
<style>:root{--font-size:16px;font-size:var(--font-size)}html body{--sparkle-light:initial;--sparkle-dark: ;color-scheme:light dark;--primary-50:#eff6ff;--primary-contrast-50:var(--dark-primary-text);--primary-100:#dbeafe;--primary-contrast-100:var(--dark-primary-text);--primary-200:#bfdbfe;--primary-contrast-200:var(--dark-primary-text);--primary-300:#93c5fd;--primary-contrast-300:var(--dark-primary-text);--primary-400:#60a5fa;--primary-contrast-400:var(--dark-primary-text);--primary-500:#3b82f6;--primary-contrast-500:var(--light-primary-text);--primary-600:#2563eb;--primary-contrast-600:var(--light-primary-text);--primary-700:#1d4ed8;--primary-contrast-700:var(--light-primary-text);--primary-800:#1e40af;--primary-contrast-800:var(--light-primary-text);--primary-900:#1e3a8a;--primary-contrast-900:var(--light-primary-text);--primary-950:#172554;--primary-contrast-950:var(--light-primary-text);--accent-50:#f5f3ff;--accent-contrast-50:var(--dark-primary-text);--accent-100:#ede9fe;--accent-contrast-100:var(--dark-primary-text);--accent-200:#ddd6fe;--accent-contrast-200:var(--dark-primary-text);--accent-300:#c4b5fd;--accent-contrast-300:var(--dark-primary-text);--accent-400:#a78bfa;--accent-contrast-400:var(--dark-primary-text);--accent-500:#8b5cf6;--accent-contrast-500:var(--light-primary-text);--accent-600:#7c3aed;--accent-contrast-600:var(--light-primary-text);--accent-700:#6d28d9;--accent-contrast-700:var(--light-primary-text);--accent-800:#5b21b6;--accent-contrast-800:var(--light-primary-text);--accent-900:#4c1d95;--accent-contrast-900:var(--light-primary-text);--accent-950:#2e1065;--accent-contrast-950:var(--light-primary-text);--warn-50:#fffbeb;--warn-contrast-50:var(--dark-primary-text);--warn-100:#fef3c7;--warn-contrast-100:var(--dark-primary-text);--warn-200:#fde68a;--warn-contrast-200:var(--dark-primary-text);--warn-300:#fcd34d;--warn-contrast-300:var(--dark-primary-text);--warn-400:#fbbf24;--warn-contrast-400:var(--light-primary-text);--warn-500:#f59e0b;--warn-contrast-500:var(--light-primary-text);--warn-600:#d97706;--warn-contrast-600:var(--light-primary-text);--warn-700:#b45309;--warn-contrast-700:var(--light-primary-text);--warn-800:#92400e;--warn-contrast-800:var(--light-primary-text);--warn-900:#78350f;--warn-contrast-900:var(--light-primary-text);--warn-950:#451a03;--warn-contrast-950:var(--light-primary-text);--error-50:#fef2f2;--error-contrast-50:var(--dark-primary-text);--error-100:#fee2e2;--error-contrast-100:var(--dark-primary-text);--error-200:#fecaca;--error-contrast-200:var(--dark-primary-text);--error-300:#fca5a5;--error-contrast-300:var(--dark-primary-text);--error-400:#f87171;--error-contrast-400:var(--light-primary-text);--error-500:#ef4444;--error-contrast-500:var(--light-primary-text);--error-600:#dc2626;--error-contrast-600:var(--light-primary-text);--error-700:#b91c1c;--error-contrast-700:var(--light-primary-text);--error-800:#991b1b;--error-contrast-800:var(--light-primary-text);--error-900:#7f1d1d;--error-contrast-900:var(--light-primary-text);--error-950:#450a0a;--error-contrast-950:var(--light-primary-text);--success-50:#ecfdf5;--success-contrast-50:var(--dark-primary-text);--success-100:#d1fae5;--success-contrast-100:var(--dark-primary-text);--success-200:#a7f3d0;--success-contrast-200:var(--dark-primary-text);--success-300:#6ee7b7;--success-contrast-300:var(--dark-primary-text);--success-400:#34d399;--success-contrast-400:var(--light-primary-text);--success-500:#10b981;--success-contrast-500:var(--light-primary-text);--success-600:#059669;--success-contrast-600:var(--light-primary-text);--success-700:#047857;--success-contrast-700:var(--light-primary-text);--success-800:#065f46;--success-contrast-800:var(--light-primary-text);--success-900:#064e3b;--success-contrast-900:var(--light-primary-text);--success-950:#022c22;--success-contrast-950:var(--light-primary-text);--grey-50:#fafafa;--grey-contrast-50:var(--dark-primary-text);--grey-100:#f4f4f5;--grey-contrast-100:var(--dark-primary-text);--grey-200:#e4e4e7;--grey-contrast-200:var(--dark-primary-text);--grey-300:#d4d4d8;--grey-contrast-300:var(--dark-primary-text);--grey-400:#a1a1aa;--grey-contrast-400:var(--dark-primary-text);--grey-500:#71717a;--grey-contrast-500:var(--light-primary-text);--grey-600:#52525b;--grey-contrast-600:var(--light-primary-text);--grey-700:#3f3f46;--grey-contrast-700:var(--light-primary-text);--grey-750:#2f2f31;--grey-contrast-750:var(--light-primary-text);--grey-800:#27272a;--grey-contrast-800:var(--light-primary-text);--grey-900:#18181b;--grey-contrast-900:var(--light-primary-text);--grey-950:#09090b;--grey-contrast-950:var(--light-primary-text);--display-10:600 5rem / normal Inter Tight, sans-serif;--display-20:600 4.5rem / normal Inter Tight, sans-serif;--display-30:600 4rem / normal Inter Tight, sans-serif;--display-40:600 3.5rem / normal Inter Tight, sans-serif;--display-50:600 3rem / normal Inter Tight, sans-serif;--title-10:500 2.5rem / normal Inter Tight, sans-serif;--title-20:500 2rem / normal Inter Tight, sans-serif;--title-30:500 1.5rem / normal Inter Tight, sans-serif;--title-10B:600 2.5rem / normal Inter Tight, sans-serif;--title-20B:600 2rem / normal Inter Tight, sans-serif;--title-30B:600 1.5rem / normal Inter Tight, sans-serif;--paragraph-10:500 1.125rem / normal Inter Tight, sans-serif;--paragraph-20:500 1rem / normal Inter Tight, sans-serif;--paragraph-30:500 .875rem / normal Inter Tight, sans-serif;--paragraph-40:500 .75rem / normal Inter Tight, sans-serif;--paragraph-10B:600 1.125rem / normal Inter Tight, sans-serif;--paragraph-20B:600 1rem / normal Inter Tight, sans-serif;--paragraph-30B:600 .875rem / normal Inter Tight, sans-serif;--paragraph-40B:600 .75rem / normal Inter Tight, sans-serif;--shape-1:.25rem;--shape-2:.5rem;--shape-3:.75rem;--shape-4:1rem;--shape-5:1.25rem;--box-shadow-10:0 1px 2px 0 rgba(18, 18, 23, .07);--box-shadow-20:0 1px 3px 0 rgba(18, 18, 23, .1);--box-shadow-30:0 1px 4px -1px rgba(18, 18, 23, .08);--box-shadow-35:0 4px 6px -1px rgba(18, 18, 23, .08);--box-shadow-40:0 10px 15px -3px rgba(18, 18, 23, .08);--box-shadow-50:0 20px 25px -5px rgba(18, 18, 23, .1);--box-shadow-60:0 25px 50px -12px rgba(18, 18, 23, .25);--base-level-10:var(--sparkle-light, #fff) var(--sparkle-dark, var(--grey-950));--base-level-20:var(--sparkle-light, var(--grey-50)) var(--sparkle-dark, var(--grey-900));--base-level-30:var(--sparkle-light, var(--grey-100)) var(--sparkle-dark, var(--grey-900));--base-level-30R:var(--sparkle-light, var(--grey-900)) var(--sparkle-dark, var(--grey-100));--base-level-40:var(--sparkle-light, var(--grey-200)) var(--sparkle-dark, var(--grey-700));--base-level-50:var(--sparkle-light, var(--grey-300)) var(--sparkle-dark, var(--grey-800));--base-level-60:var(--sparkle-light, var(--grey-500)) var(--sparkle-dark, var(--grey-400));--base-level-60R:var(--sparkle-light, var(--grey-400)) var(--sparkle-dark, var(--grey-500));--base-level-70:var(--sparkle-light, var(--grey-900)) var(--sparkle-dark, #fff);--base-level-70R:var(--sparkle-light, #fff) var(--sparkle-dark, var(--grey-900));--base-gradient-20:linear-gradient(180deg, var(--grey-400) 0%, var(--grey-500) 50%);--base-gradient-30:linear-gradient(180deg, var(--grey-300) 0%, var(--grey-500) 50%);--base-gradient-60:linear-gradient(180deg, var(--grey-700) 0%, var(--grey-900) 50%);--base-gradient-70:linear-gradient(180deg, var(--grey-600) 0%, var(--grey-900) 50%);--primary-level-20:var(--sparkle-light, var(--primary-50)) var(--sparkle-dark, var(--primary-950));--primary-level-30:var(--sparkle-light, var(--primary-100)) var(--sparkle-dark, var(--primary-900));--primary-level-40:var(--sparkle-light, var(--primary-200)) var(--sparkle-dark, var(--primary-800));--primary-level-50:var(--sparkle-light, var(--primary-300)) var(--sparkle-dark, var(--primary-800));--primary-level-50R:var(--sparkle-light, var(--primary-800)) var(--sparkle-dark, var(--primary-300));--primary-level-80:var(--sparkle-light, var(--primary-900)) var(--sparkle-dark, var(--primary-300));--primary-gradient-20:linear-gradient(180deg, var(--primary-400) 0%, var(--primary-500) 50%);--primary-gradient-30:linear-gradient(180deg, var(--primary-300) 0%, var(--primary-500) 50%);--accent-level-20:var(--sparkle-light, var(--accent-50)) var(--sparkle-dark, var(--accent-950));--accent-level-30:var(--sparkle-light, var(--accent-100)) var(--sparkle-dark, var(--accent-900));--accent-level-40:var(--sparkle-light, var(--accent-200)) var(--sparkle-dark, var(--accent-800));--accent-level-50:var(--sparkle-light, var(--accent-300)) var(--sparkle-dark, var(--accent-800));--accent-level-50R:var(--sparkle-light, var(--accent-800)) var(--sparkle-dark, var(--accent-300));--accent-level-80:var(--sparkle-light, var(--accent-900)) var(--sparkle-dark, var(--accent-300));--accent-gradient-20:linear-gradient(180deg, var(--accent-400) 0%, var(--accent-500) 50%);--accent-gradient-30:linear-gradient(180deg, var(--accent-300) 0%, var(--accent-500) 50%);--warn-level-20:var(--sparkle-light, var(--warn-50)) var(--sparkle-dark, var(--warn-950));--warn-level-30:var(--sparkle-light, var(--warn-100)) var(--sparkle-dark, var(--warn-900));--warn-level-40:var(--sparkle-light, var(--warn-200)) var(--sparkle-dark, var(--warn-800));--warn-level-50:var(--sparkle-light, var(--warn-300)) var(--sparkle-dark, var(--warn-800));--warn-level-50R:var(--sparkle-light, var(--warn-800)) var(--sparkle-dark, var(--warn-300));--warn-level-80:var(--sparkle-light, var(--warn-900)) var(--sparkle-dark, var(--warn-300));--warn-gradient-20:linear-gradient(180deg, var(--warn-400) 0%, var(--warn-500) 50%);--warn-gradient-30:linear-gradient(180deg, var(--warn-300) 0%, var(--warn-500) 50%);--error-level-20:var(--sparkle-light, var(--error-50)) var(--sparkle-dark, var(--error-950));--error-level-30:var(--sparkle-light, var(--error-100)) var(--sparkle-dark, var(--error-900));--error-level-40:var(--sparkle-light, var(--error-200)) var(--sparkle-dark, var(--error-800));--error-level-50:var(--sparkle-light, var(--error-300)) var(--sparkle-dark, var(--error-800));--error-level-50R:var(--sparkle-light, var(--error-800)) var(--sparkle-dark, var(--error-300));--error-level-80:var(--sparkle-light, var(--error-900)) var(--sparkle-dark, var(--error-300));--error-gradient-20:linear-gradient(180deg, var(--error-400) 0%, var(--error-500) 50%);--error-gradient-30:linear-gradient(180deg, var(--error-300) 0%, var(--error-500) 50%);--success-level-20:var(--sparkle-light, var(--success-50)) var(--sparkle-dark, var(--success-950));--success-level-30:var(--sparkle-light, var(--success-100)) var(--sparkle-dark, var(--success-900));--success-level-40:var(--sparkle-light, var(--success-200)) var(--sparkle-dark, var(--success-800));--success-level-50:var(--sparkle-light, var(--success-300)) var(--sparkle-dark, var(--success-800));--success-level-50R:var(--sparkle-light, var(--success-800)) var(--sparkle-dark, var(--success-300));--success-level-80:var(--sparkle-light, var(--success-900)) var(--sparkle-dark, var(--success-300));--success-gradient-20:linear-gradient(180deg, var(--success-400) 0%, var(--success-500) 50%);--success-gradient-30:linear-gradient(180deg, var(--success-300) 0%, var(--success-500) 50%);--dark-primary-text:var(--grey-900);--light-primary-text:#fff}*{box-sizing:border-box}html,body,app-root{width:100vw;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--base-level-20)}body{margin:0;font:var(--paragraph-30);color:var(--base-level-70)}</style><link rel="stylesheet" href="styles-XDXFMHQT.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-XDXFMHQT.css"></noscript></head>
|
|
20
|
+
<style>:root{--font-size:16px;font-size:var(--font-size)}html body{--sparkle-light:initial;--sparkle-dark: ;color-scheme:light dark;--primary-50:#eff6ff;--primary-contrast-50:var(--dark-primary-text);--primary-100:#dbeafe;--primary-contrast-100:var(--dark-primary-text);--primary-200:#bfdbfe;--primary-contrast-200:var(--dark-primary-text);--primary-300:#93c5fd;--primary-contrast-300:var(--dark-primary-text);--primary-400:#60a5fa;--primary-contrast-400:var(--dark-primary-text);--primary-500:#3b82f6;--primary-contrast-500:var(--light-primary-text);--primary-600:#2563eb;--primary-contrast-600:var(--light-primary-text);--primary-700:#1d4ed8;--primary-contrast-700:var(--light-primary-text);--primary-800:#1e40af;--primary-contrast-800:var(--light-primary-text);--primary-900:#1e3a8a;--primary-contrast-900:var(--light-primary-text);--primary-950:#172554;--primary-contrast-950:var(--light-primary-text);--accent-50:#f5f3ff;--accent-contrast-50:var(--dark-primary-text);--accent-100:#ede9fe;--accent-contrast-100:var(--dark-primary-text);--accent-200:#ddd6fe;--accent-contrast-200:var(--dark-primary-text);--accent-300:#c4b5fd;--accent-contrast-300:var(--dark-primary-text);--accent-400:#a78bfa;--accent-contrast-400:var(--dark-primary-text);--accent-500:#8b5cf6;--accent-contrast-500:var(--light-primary-text);--accent-600:#7c3aed;--accent-contrast-600:var(--light-primary-text);--accent-700:#6d28d9;--accent-contrast-700:var(--light-primary-text);--accent-800:#5b21b6;--accent-contrast-800:var(--light-primary-text);--accent-900:#4c1d95;--accent-contrast-900:var(--light-primary-text);--accent-950:#2e1065;--accent-contrast-950:var(--light-primary-text);--warn-50:#fffbeb;--warn-contrast-50:var(--dark-primary-text);--warn-100:#fef3c7;--warn-contrast-100:var(--dark-primary-text);--warn-200:#fde68a;--warn-contrast-200:var(--dark-primary-text);--warn-300:#fcd34d;--warn-contrast-300:var(--dark-primary-text);--warn-400:#fbbf24;--warn-contrast-400:var(--light-primary-text);--warn-500:#f59e0b;--warn-contrast-500:var(--light-primary-text);--warn-600:#d97706;--warn-contrast-600:var(--light-primary-text);--warn-700:#b45309;--warn-contrast-700:var(--light-primary-text);--warn-800:#92400e;--warn-contrast-800:var(--light-primary-text);--warn-900:#78350f;--warn-contrast-900:var(--light-primary-text);--warn-950:#451a03;--warn-contrast-950:var(--light-primary-text);--error-50:#fef2f2;--error-contrast-50:var(--dark-primary-text);--error-100:#fee2e2;--error-contrast-100:var(--dark-primary-text);--error-200:#fecaca;--error-contrast-200:var(--dark-primary-text);--error-300:#fca5a5;--error-contrast-300:var(--dark-primary-text);--error-400:#f87171;--error-contrast-400:var(--light-primary-text);--error-500:#ef4444;--error-contrast-500:var(--light-primary-text);--error-600:#dc2626;--error-contrast-600:var(--light-primary-text);--error-700:#b91c1c;--error-contrast-700:var(--light-primary-text);--error-800:#991b1b;--error-contrast-800:var(--light-primary-text);--error-900:#7f1d1d;--error-contrast-900:var(--light-primary-text);--error-950:#450a0a;--error-contrast-950:var(--light-primary-text);--success-50:#ecfdf5;--success-contrast-50:var(--dark-primary-text);--success-100:#d1fae5;--success-contrast-100:var(--dark-primary-text);--success-200:#a7f3d0;--success-contrast-200:var(--dark-primary-text);--success-300:#6ee7b7;--success-contrast-300:var(--dark-primary-text);--success-400:#34d399;--success-contrast-400:var(--light-primary-text);--success-500:#10b981;--success-contrast-500:var(--light-primary-text);--success-600:#059669;--success-contrast-600:var(--light-primary-text);--success-700:#047857;--success-contrast-700:var(--light-primary-text);--success-800:#065f46;--success-contrast-800:var(--light-primary-text);--success-900:#064e3b;--success-contrast-900:var(--light-primary-text);--success-950:#022c22;--success-contrast-950:var(--light-primary-text);--grey-50:#fafafa;--grey-contrast-50:var(--dark-primary-text);--grey-100:#f4f4f5;--grey-contrast-100:var(--dark-primary-text);--grey-200:#e4e4e7;--grey-contrast-200:var(--dark-primary-text);--grey-300:#d4d4d8;--grey-contrast-300:var(--dark-primary-text);--grey-400:#a1a1aa;--grey-contrast-400:var(--dark-primary-text);--grey-500:#71717a;--grey-contrast-500:var(--light-primary-text);--grey-600:#52525b;--grey-contrast-600:var(--light-primary-text);--grey-700:#3f3f46;--grey-contrast-700:var(--light-primary-text);--grey-750:#2f2f31;--grey-contrast-750:var(--light-primary-text);--grey-800:#27272a;--grey-contrast-800:var(--light-primary-text);--grey-900:#18181b;--grey-contrast-900:var(--light-primary-text);--grey-950:#09090b;--grey-contrast-950:var(--light-primary-text);--display-10:600 5rem / normal Inter Tight, sans-serif;--display-20:600 4.5rem / normal Inter Tight, sans-serif;--display-30:600 4rem / normal Inter Tight, sans-serif;--display-40:600 3.5rem / normal Inter Tight, sans-serif;--display-50:600 3rem / normal Inter Tight, sans-serif;--title-10:500 2.5rem / normal Inter Tight, sans-serif;--title-20:500 2rem / normal Inter Tight, sans-serif;--title-30:500 1.5rem / normal Inter Tight, sans-serif;--title-10B:600 2.5rem / normal Inter Tight, sans-serif;--title-20B:600 2rem / normal Inter Tight, sans-serif;--title-30B:600 1.5rem / normal Inter Tight, sans-serif;--paragraph-10:500 1.125rem / normal Inter Tight, sans-serif;--paragraph-20:500 1rem / normal Inter Tight, sans-serif;--paragraph-30:500 .875rem / normal Inter Tight, sans-serif;--paragraph-40:500 .75rem / normal Inter Tight, sans-serif;--paragraph-10B:600 1.125rem / normal Inter Tight, sans-serif;--paragraph-20B:600 1rem / normal Inter Tight, sans-serif;--paragraph-30B:600 .875rem / normal Inter Tight, sans-serif;--paragraph-40B:600 .75rem / normal Inter Tight, sans-serif;--shape-1:.25rem;--shape-2:.5rem;--shape-3:.75rem;--shape-4:1rem;--shape-5:1.25rem;--box-shadow-10:0 1px 2px 0 rgba(18, 18, 23, .07);--box-shadow-20:0 1px 3px 0 rgba(18, 18, 23, .1);--box-shadow-30:0 1px 4px -1px rgba(18, 18, 23, .08);--box-shadow-35:0 4px 6px -1px rgba(18, 18, 23, .08);--box-shadow-40:0 10px 15px -3px rgba(18, 18, 23, .08);--box-shadow-50:0 20px 25px -5px rgba(18, 18, 23, .1);--box-shadow-60:0 25px 50px -12px rgba(18, 18, 23, .25);--base-level-10:var(--sparkle-light, #fff) var(--sparkle-dark, var(--grey-950));--base-level-20:var(--sparkle-light, var(--grey-50)) var(--sparkle-dark, var(--grey-900));--base-level-30:var(--sparkle-light, var(--grey-100)) var(--sparkle-dark, var(--grey-900));--base-level-30R:var(--sparkle-light, var(--grey-900)) var(--sparkle-dark, var(--grey-100));--base-level-40:var(--sparkle-light, var(--grey-200)) var(--sparkle-dark, var(--grey-700));--base-level-50:var(--sparkle-light, var(--grey-300)) var(--sparkle-dark, var(--grey-800));--base-level-60:var(--sparkle-light, var(--grey-500)) var(--sparkle-dark, var(--grey-400));--base-level-60R:var(--sparkle-light, var(--grey-400)) var(--sparkle-dark, var(--grey-500));--base-level-70:var(--sparkle-light, var(--grey-900)) var(--sparkle-dark, #fff);--base-level-70R:var(--sparkle-light, #fff) var(--sparkle-dark, var(--grey-900));--base-gradient-20:linear-gradient(180deg, var(--grey-400) 0%, var(--grey-500) 50%);--base-gradient-30:linear-gradient(180deg, var(--grey-300) 0%, var(--grey-500) 50%);--base-gradient-60:linear-gradient(180deg, var(--grey-700) 0%, var(--grey-900) 50%);--base-gradient-70:linear-gradient(180deg, var(--grey-600) 0%, var(--grey-900) 50%);--primary-level-20:var(--sparkle-light, var(--primary-50)) var(--sparkle-dark, var(--primary-950));--primary-level-30:var(--sparkle-light, var(--primary-100)) var(--sparkle-dark, var(--primary-900));--primary-level-40:var(--sparkle-light, var(--primary-200)) var(--sparkle-dark, var(--primary-800));--primary-level-50:var(--sparkle-light, var(--primary-300)) var(--sparkle-dark, var(--primary-800));--primary-level-50R:var(--sparkle-light, var(--primary-800)) var(--sparkle-dark, var(--primary-300));--primary-level-80:var(--sparkle-light, var(--primary-900)) var(--sparkle-dark, var(--primary-300));--primary-gradient-20:linear-gradient(180deg, var(--primary-400) 0%, var(--primary-500) 50%);--primary-gradient-30:linear-gradient(180deg, var(--primary-300) 0%, var(--primary-500) 50%);--accent-level-20:var(--sparkle-light, var(--accent-50)) var(--sparkle-dark, var(--accent-950));--accent-level-30:var(--sparkle-light, var(--accent-100)) var(--sparkle-dark, var(--accent-900));--accent-level-40:var(--sparkle-light, var(--accent-200)) var(--sparkle-dark, var(--accent-800));--accent-level-50:var(--sparkle-light, var(--accent-300)) var(--sparkle-dark, var(--accent-800));--accent-level-50R:var(--sparkle-light, var(--accent-800)) var(--sparkle-dark, var(--accent-300));--accent-level-80:var(--sparkle-light, var(--accent-900)) var(--sparkle-dark, var(--accent-300));--accent-gradient-20:linear-gradient(180deg, var(--accent-400) 0%, var(--accent-500) 50%);--accent-gradient-30:linear-gradient(180deg, var(--accent-300) 0%, var(--accent-500) 50%);--warn-level-20:var(--sparkle-light, var(--warn-50)) var(--sparkle-dark, var(--warn-950));--warn-level-30:var(--sparkle-light, var(--warn-100)) var(--sparkle-dark, var(--warn-900));--warn-level-40:var(--sparkle-light, var(--warn-200)) var(--sparkle-dark, var(--warn-800));--warn-level-50:var(--sparkle-light, var(--warn-300)) var(--sparkle-dark, var(--warn-800));--warn-level-50R:var(--sparkle-light, var(--warn-800)) var(--sparkle-dark, var(--warn-300));--warn-level-80:var(--sparkle-light, var(--warn-900)) var(--sparkle-dark, var(--warn-300));--warn-gradient-20:linear-gradient(180deg, var(--warn-400) 0%, var(--warn-500) 50%);--warn-gradient-30:linear-gradient(180deg, var(--warn-300) 0%, var(--warn-500) 50%);--error-level-20:var(--sparkle-light, var(--error-50)) var(--sparkle-dark, var(--error-950));--error-level-30:var(--sparkle-light, var(--error-100)) var(--sparkle-dark, var(--error-900));--error-level-40:var(--sparkle-light, var(--error-200)) var(--sparkle-dark, var(--error-800));--error-level-50:var(--sparkle-light, var(--error-300)) var(--sparkle-dark, var(--error-800));--error-level-50R:var(--sparkle-light, var(--error-800)) var(--sparkle-dark, var(--error-300));--error-level-80:var(--sparkle-light, var(--error-900)) var(--sparkle-dark, var(--error-300));--error-gradient-20:linear-gradient(180deg, var(--error-400) 0%, var(--error-500) 50%);--error-gradient-30:linear-gradient(180deg, var(--error-300) 0%, var(--error-500) 50%);--success-level-20:var(--sparkle-light, var(--success-50)) var(--sparkle-dark, var(--success-950));--success-level-30:var(--sparkle-light, var(--success-100)) var(--sparkle-dark, var(--success-900));--success-level-40:var(--sparkle-light, var(--success-200)) var(--sparkle-dark, var(--success-800));--success-level-50:var(--sparkle-light, var(--success-300)) var(--sparkle-dark, var(--success-800));--success-level-50R:var(--sparkle-light, var(--success-800)) var(--sparkle-dark, var(--success-300));--success-level-80:var(--sparkle-light, var(--success-900)) var(--sparkle-dark, var(--success-300));--success-gradient-20:linear-gradient(180deg, var(--success-400) 0%, var(--success-500) 50%);--success-gradient-30:linear-gradient(180deg, var(--success-300) 0%, var(--success-500) 50%);--dark-primary-text:var(--grey-900);--light-primary-text:#fff}*{box-sizing:border-box}html,body,app-root{width:100vw;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--base-level-20)}body{margin:0;font:var(--paragraph-30);color:var(--base-level-70)}</style><link rel="stylesheet" href="styles-IOWRSZHV.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-IOWRSZHV.css"></noscript></head>
|
|
21
21
|
<body>
|
|
22
22
|
<app-root></app-root>
|
|
23
|
-
<link rel="modulepreload" href="chunk-RBRHRXAU.js"><link rel="modulepreload" href="chunk-
|
|
23
|
+
<link rel="modulepreload" href="chunk-RBRHRXAU.js"><link rel="modulepreload" href="chunk-LFPZBC5Y.js"><link rel="modulepreload" href="chunk-R6R4GFBX.js"><link rel="modulepreload" href="chunk-25IC7WV6.js"><link rel="modulepreload" href="chunk-RDRLCN5M.js"><link rel="modulepreload" href="chunk-GEEPH37P.js"><link rel="modulepreload" href="chunk-XL5J65PI.js"><link rel="modulepreload" href="chunk-WZG34QS3.js"><link rel="modulepreload" href="chunk-TYO44G6M.js"><link rel="modulepreload" href="chunk-AIOUSVMR.js"><script src="polyfills-BZ5XXHZK.js" type="module"></script><script src="main-ZZ5NOUMD.js" type="module"></script></body>
|
|
24
24
|
</html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as me,c as de}from"./chunk-RBRHRXAU.js";import{a as N}from"./chunk-
|
|
1
|
+
import{b as me,c as de}from"./chunk-RBRHRXAU.js";import{a as N}from"./chunk-LFPZBC5Y.js";import{a as ce}from"./chunk-R6R4GFBX.js";import{a as y}from"./chunk-25IC7WV6.js";import{a as w}from"./chunk-RDRLCN5M.js";import{a as ie}from"./chunk-GEEPH37P.js";import"./chunk-XL5J65PI.js";import"./chunk-WZG34QS3.js";import{a as b,b as pe,c as T}from"./chunk-TYO44G6M.js";import{b as te,c as oe,f as ne,g as re}from"./chunk-AIOUSVMR.js";import{a as ee}from"./chunk-THUAAYGA.js";import{c as ae}from"./chunk-ECH6I3YN.js";import{d as se}from"./chunk-KLIPTMVG.js";import{a as q,b as X,d as Q,e as Y,f as Z}from"./chunk-V5GVLIPJ.js";import{ua as z}from"./chunk-2HS3CYRN.js";import{b as le}from"./chunk-UQH5ZQG7.js";import{Bc as $,Cb as B,Cc as K,D as S,J as U,L as C,Mc as _,N as F,R,U as D,X as s,d as H,db as J,g as P,ha as G,l as V,m as j,p as A,sa as d,x as O,y as W}from"./chunk-DTPZU6NP.js";import"./chunk-C6Q5SG76.js";var I=class o{#o=s(y);#s=s(b);ngOnInit(){this.#s.fetchConfig(),this.#o.clearAllNotCurrentVersion()}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=J({type:o,selectors:[["app-root"]],decls:1,vars:0,template:function(t,n){t&1&&B(0,"router-outlet")},dependencies:[te],encapsulation:2})};var he={production:!0,baseUrl:"/api",machineServerUrl:"${WS_URL}",defaultTimeout:3e4};var f=new D("ENVIRONMENT");var k=class o{#o=s(se);isLoaded=d(!1);webmodules=d(null);preload(e=!1){let t=this.#o.getApiV1Webmodules().pipe(F(n=>this.webmodules.set(n)),S(()=>this.isLoaded.set(!0)));if(e)return t;t.subscribe()}static \u0275fac=function(t){return new(t||o)};static \u0275prov=R({token:o,factory:o.\u0275fac,providedIn:"root"})};var Re=()=>{let o=s(T);return o.token()?!0:o.checkProxyAuthed().pipe(C(e=>e?V(!0):o.refreshToken().pipe(A(()=>!0))))},Te=()=>{let o=s(b),e=s(w),t=s(G),n=o.relayIsEnabled()?"longpoll":"websocket",i=[t.get(N).preload(!0),t.get(N).preloadFilterGroups(!0),t.get(k).preload(!0)];return o.configLoaded===null?O(i).pipe(A(()=>n)):o.configLoaded?.pipe(C(()=>O(i)))},fe=[{path:"",children:[{path:"login",canActivate:[],loadComponent:()=>import("./chunk-SNZ7FE6B.js")},{path:"logout",loadComponent:()=>import("./chunk-QXYKZKGV.js")},{path:"",canActivate:[Re],children:[{path:"",canActivate:[Te],loadComponent:()=>import("./chunk-3ZLHMSKS.js"),children:[{path:"",loadComponent:()=>import("./chunk-ICOF6OY2.js")},{path:"add-backup",loadComponent:()=>import("./chunk-AVNZ3OXK.js")},{path:"backup/:id/export",loadComponent:()=>import("./chunk-IR7OYLKR.js")},{path:"backup/import",loadComponent:()=>import("./chunk-WNQBKJ3M.js")},{path:"backup-draft/:id",loadComponent:()=>import("./chunk-WYXI4BXE.js"),loadChildren:()=>import("./chunk-APEDZMBI.js")},{path:"backup/:id",loadComponent:()=>import("./chunk-WYXI4BXE.js"),loadChildren:()=>import("./chunk-APEDZMBI.js")},{path:"backup/:id/log",loadComponent:()=>import("./chunk-RHPHTHFC.js")},{path:"backup/:id/database",loadComponent:()=>import("./chunk-TBPNAHEA.js")},{path:"backup/:id/commandline",loadComponent:()=>import("./chunk-DUPZCVLU.js")},{path:"backup/:id/commandline/:runId",loadComponent:()=>import("./chunk-DTR7JZFL.js")},{path:"restore",children:[{path:"",loadComponent:()=>import("./chunk-TLNQL27Q.js")},{path:"from-config",loadComponent:()=>import("./chunk-YKB6KLXM.js")}]},{path:"restore-from-files",loadComponent:()=>import("./chunk-5RLVPRCW.js"),loadChildren:()=>import("./chunk-XQXYPXR7.js")},{path:"restore-draft/:id",loadComponent:()=>import("./chunk-5RLVPRCW.js"),loadChildren:()=>import("./chunk-XQXYPXR7.js")},{path:"restore/:id",loadComponent:()=>import("./chunk-5RLVPRCW.js"),loadChildren:()=>import("./chunk-XQXYPXR7.js")},{path:"settings",loadComponent:()=>import("./chunk-ETPUKEDV.js")},{path:"about",loadComponent:()=>import("./chunk-KJ3CPTGU.js"),children:[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-ZHWVTLKA.js")},{path:"changelog",loadComponent:()=>import("./chunk-2FWU7B4D.js")},{path:"libraries",loadComponent:()=>import("./chunk-S5JZJBJS.js")},{path:"system-info",loadComponent:()=>import("./chunk-VS2WUXLN.js")},{path:"logs",loadComponent:()=>import("./chunk-ORA656R6.js")}]}]}]}]}];var x=null,ge=(o,e)=>{let t=s(T),n=s(oe),i=s(y),c=s(f),r=i.getItem("locale"),u=s(ae),a=me(r),p=o.url==="/api/v1/auth/login",m=o.url==="/api/v1/auth/refresh",v=o.url==="/api/v1/progressstate",h=t.token(),g=o,L=o.headers.has("custom-proxy-check")||h===pe;if(h&&o.url.startsWith(c.baseUrl)&&!L){let l=o.headers.set("Authorization",`Bearer ${h}`);r&&r!=="en-US"&&(l=l.set("X-Ui-Language",a)),g=o.clone({headers:l})}return e(g).pipe(W(l=>{if(!L&&(v&&l.status===404||u.error(l.message),m&&l.status===401&&(t.logout(),n.navigate(["/logout"])),!p&&!m&&l.status===401))return x??=t.refreshToken().pipe(U()),x.pipe(C(()=>e(o.clone({headers:o.headers.set("Authorization",`Bearer ${t.token()}`)}))),S(()=>x=null));let Se=`Error Code: ${l.status}, Message: ${l.message}`;return j(()=>({error:l,message:Se}))}))};var we="1.0.0",ye=`portal-proxy-client-${crypto.randomUUID()}`,Ie=1,M=class o{#o=1e3;#s=s(f);#t=d("disconnected");#l=d(this.#o);#i=d(!1);#n=d(!1);#a=d(null);isConnectedToMachineServer=this.#n.asReadonly();wsState=this.#t.asReadonly();#p=[];#r={};#e=null;#m=new TextDecoder("utf-8");#c=null;#d=_(()=>{let e=this.#i(),t=this.#l(),n=this.#a();if(!n||!e||!t||t<this.#o){this.#c&&window.clearInterval(this.#c);return}this.#c=window.setInterval(()=>{this.connectToMachineServer(n)},t)});utf8Atob(e){let t=Uint8Array.from(atob(e),i=>i.charCodeAt(0)),n=this.#m.decode(t);return n?JSON.parse(n):null}connectToMachineServer(e,t){let n=t?.reconnect??!1,i=this.wsState();(i==="disconnected"||i==="error"||n)&&(this.#e?.close(),this.#e=null),!this.#e&&(this.#e=new WebSocket(this.#s.machineServerUrl),this.#t.set("connecting"),this.#e.onopen=()=>{this.#t.set("connect"),this.#n.set(!0),this.#i.set(!1),this.#a.set(null)},this.#e.onclose=()=>{this.#t.set("disconnected"),this.#n.set(!1),this.#a.set(e),this.#i.set(!0)},this.#e.onerror=()=>{this.#t.set("error")},this.#e.onmessage=c=>{let r=JSON.parse(c.data);if(this.wsState()==="connect"){if(r.type!=="welcome"){this.disconnectFromMachineServer(`Unexpected message type, expected 'welcome' but got '${r.type}'`);return}let a={token:e,publicKey:"",clientVersion:we,protocolVersion:Ie},p=this.createResponse(r,"authportal",a);this.#t.set("welcome"),this.#e?.send(p)}else if(this.wsState()==="welcome"){if(r.type!=="authportal"){this.disconnectFromMachineServer(`Unexpected message type, expected 'authportal' but got '${r.type}'`);return}var u=JSON.parse(r.payload??"");if(u.accepted===!1){this.disconnectFromMachineServer("Authentication failed");return}for(this.#t.set("authenticated"),this.#n.set(!0);this.#p.length>0;){let a=this.#p.pop();a&&this.#r[a.messageId]&&this.activateCommand(a)}}else if(this.wsState()==="authenticated"){if(r.type!=="command"){console.warn(`Unexpected message type, expected 'command' but got '${r.type}'`);return}let a=this.#r[r.messageId];if(a){if(r.errorMessage){a.reject(r.errorMessage);return}else{let p=JSON.parse(r.payload??"");p.body=p?.body==null?null:this.utf8Atob(p.body),a.resolve(p)}delete this.#r[r.messageId],window.clearTimeout(a.timer)}}})}disconnectFromMachineServer(e=null){e&&console.error(e),this.#e?.close(),this.#e=null,this.#t.set("disconnected"),this.#n.set(!1)}createResponse(e,t,n){let i={from:ye,to:e.from,type:t,messageId:e.messageId,payload:JSON.stringify(n)};return JSON.stringify(i)}sendCommand(e,t,n,i,c,r,u=5e3){return(this.wsState()==="disconnected"||this.wsState()==="error")&&this.connectToMachineServer(e),new Promise((a,p)=>{let m=crypto.randomUUID(),h={from:ye,to:t,type:"command",messageId:m,payload:JSON.stringify({method:n,path:i,body:c,headers:r})},g={resolve:a,reject:p,timer:window.setTimeout(()=>{let E=this.#r[m];E&&(delete this.#r[m],E.reject("Timeout"))},u)};this.#r[m]=g,this.#n()?this.activateCommand(h):this.#p.push(h)})}activateCommand(e){this.#e?.send(JSON.stringify(e))}static \u0275fac=function(t){return new(t||o)};static \u0275prov=R({token:o,factory:o.\u0275fac,providedIn:"root"})};function ke(o){if(typeof o!="string")return null;let t=new TextEncoder().encode(o);return window.btoa(String.fromCharCode(...t))}function be(o,e,t){let n=o.relayconfigState.config();if(n===null)return t(e);let i=ke(e.body),c={};e.headers.keys().forEach(p=>{c[p]=e.headers.get(p)??""});let r=e.headers.get("timeout"),u=r!==null?parseInt(r):o.defaultTimeout;e.url.startsWith("/api/v1/serverstate")&&e.url.includes("longpoll=true")&&(u=1e3*99);let a=o.relayWebsocket.sendCommand(n.accessToken,n.clientId,e.method,e.url,i,c,u);return new H(p=>{a.then(m=>{let v=new q;c!=null&&Object.keys(c).forEach(g=>{v.set(g,c[g])});let h=new X({body:m.body,status:m.code,statusText:"OK",headers:v});p.next(h),p.complete()})})}var ve=(o,e)=>{let t={relayconfigState:s(b),defaultTimeout:s(f).defaultTimeout,relayWebsocket:s(M)},n=t.relayconfigState.config();if(t.relayconfigState.configLoaded!==null&&n===null){let i=new P;return t.relayconfigState.configLoaded.subscribe(c=>{c&&be(t,o,e).subscribe(i)}),i}return be(t,o,e)};var Ce={providers:[$(),ne(fe,re()),Q(Z(),Y([ve,ge])),y,{provide:f,useValue:he},{provide:K,useValue:de()},ce,w,le,z,ie]};ee(I,Ce);
|
package/package.json
CHANGED