@duplicati/ngclient 0.0.230 → 0.0.232
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/dest-icons/googleworkspace.png +0 -0
- package/assets/sh.woff2 +0 -0
- package/{chunk-DFEb6rgg.js → chunk-B52v_pjw.js} +2 -2
- package/{chunk-OLi7f6y7.js → chunk-B53Wj4F9.js} +1 -1
- package/chunk-B73LRsqH.js +1 -0
- package/{chunk-CRAg6SRo.js → chunk-B8uF0dom.js} +1 -1
- package/{chunk-DuIUmwWN.js → chunk-B9maI7Xa.js} +3 -3
- package/chunk-BBU0vswn.js +1 -0
- package/chunk-BBsBaTWO.js +1 -0
- package/chunk-BEhUV7oX.js +1 -0
- package/{chunk-DmKJmG9z.js → chunk-BI14DMeb.js} +1 -1
- package/chunk-BO2GlieG.js +1 -0
- package/{chunk-D2g5mSLr.js → chunk-BS8PXjJJ.js} +1 -1
- package/{chunk-B2TXzbpy.js → chunk-BTgf5lfZ.js} +1 -1
- package/{chunk-C-NgIZiF.js → chunk-BVEyeg9y.js} +1 -1
- package/{chunk-DaGzYsVs.js → chunk-BYWmNy-_.js} +1 -1
- package/chunk-BaxM-kGV.js +2 -0
- package/{chunk-CT9ziigM.js → chunk-Bb6BmVO4.js} +2 -2
- package/{chunk-DPNAj9Vc.js → chunk-Bja52qI7.js} +1 -1
- package/chunk-BkIXk6uR.js +2 -0
- package/{chunk-BjAIXsAS.js → chunk-BkUa7yBI.js} +1 -1
- package/chunk-BlTnmRGU.js +1 -0
- package/chunk-Bo1yB-fQ.js +1 -0
- package/{chunk-C7pjkqKB.js → chunk-Box6Lckh.js} +1 -1
- package/{chunk-wyNyzSXi.js → chunk-BpRWdcC8.js} +1 -1
- package/chunk-BqN36tfl.js +1 -0
- package/chunk-Brvxo-yI.js +1 -0
- package/{chunk-BIOMsSHI.js → chunk-Bt_Ie-F3.js} +1 -1
- package/chunk-BvGGBIy7.js +1 -0
- package/chunk-C4GeR7BF.js +1 -0
- package/{chunk-C4kBXz3C.js → chunk-C80zvTbO.js} +1 -1
- package/{chunk-D6aNT_wo.js → chunk-CAwTsBqQ.js} +1 -1
- package/chunk-CGArETYn.js +1 -0
- package/{chunk-BYJA6sbi.js → chunk-CHzwXmsn.js} +1 -1
- package/{chunk-C6QX7znk.js → chunk-CIcBoEH1.js} +1 -1
- package/{chunk-Fw6nFDZK.js → chunk-CKnRcyHZ.js} +2 -2
- package/chunk-CTRzgLM9.js +2 -0
- package/{chunk-CJ0GoaW1.js → chunk-CTm37hI-.js} +1 -1
- package/chunk-CTwO6j97.js +1 -0
- package/chunk-CUaRQ2FJ.js +1 -0
- package/chunk-CUuyy9Er.js +1 -0
- package/chunk-CVQPUpDQ.js +3 -0
- package/{chunk-I0R6Ty-p.js → chunk-CX26gEKv.js} +1 -1
- package/chunk-CZoVeRAG.js +2 -0
- package/{chunk-DtA6Mvdt.js → chunk-CartdZy-.js} +1 -1
- package/{chunk-DWkdK0Ib.js → chunk-Cg09iQR5.js} +1 -1
- package/{chunk-BD9-OWSe.js → chunk-CgyaUJSI.js} +1 -1
- package/chunk-Cjb79u3p.js +2 -0
- package/chunk-CkrxdjhU.js +2 -0
- package/chunk-CtEMAj2d.js +2 -0
- package/chunk-Cu2bh6aQ.js +1 -0
- package/chunk-Cu4siB3B.js +4 -0
- package/{chunk-Ca1C9pJ0.js → chunk-CwKy8pxa.js} +1 -1
- package/chunk-Cz0KuBHB.js +2 -0
- package/chunk-D5tms-6w.js +1 -0
- package/chunk-DI7suso2.js +1 -0
- package/{chunk-DD_QfWih.js → chunk-DJJ8GbYi.js} +1 -1
- package/{chunk-C1kucB1O.js → chunk-DKZlKdfB.js} +2 -2
- package/chunk-DTu0ZYnR.js +1 -0
- package/{chunk-khm9J_G0.js → chunk-DUYvFN8m.js} +1 -1
- package/{chunk-Cgbi9MZq.js → chunk-DY3nK3tu.js} +1 -1
- package/chunk-DYnVzNxt.js +1 -0
- package/{chunk-D2g44FyO.js → chunk-DZm4l28A.js} +2 -2
- package/chunk-Da_-7L7P.js +2 -0
- package/{chunk-D5lj-fQk.js → chunk-DmDqcC4A.js} +1 -1
- package/chunk-Dn8nZWLd.js +1 -0
- package/{chunk-dmyIQdVx.js → chunk-DoQHDPZg.js} +1 -1
- package/{chunk-PVmXLw9b.js → chunk-DqIU7ViF.js} +1 -1
- package/{chunk-B728v9oc.js → chunk-Dum38U6w.js} +2 -2
- package/{chunk-OFYkgZA1.js → chunk-DvyGZpE4.js} +2 -2
- package/{chunk-RQ_MoiOh.js → chunk-DzmZd524.js} +1 -1
- package/chunk-Rp7-yjlz.js +1 -0
- package/chunk-Saq2s7Ep.js +2 -0
- package/{chunk-DN6f5jXR.js → chunk-aOMoAKYY.js} +1 -1
- package/chunk-ihUnHtR7.js +3 -0
- package/{chunk-Dj3xknEh.js → chunk-ivwxSoND.js} +1 -1
- package/chunk-kU0H989B.js +14 -0
- package/chunk-mby7fvmj.js +1 -0
- package/{chunk-BzIY4AaX.js → chunk-umW-K0Ca.js} +1 -1
- package/chunk-vPGrgL1U.js +1 -0
- package/chunk-vnqcxg-9.js +2 -0
- package/index.html +1 -1
- package/locale/messages.de.json +1 -1
- package/locale/messages.de_CH.json +1 -1
- package/locale/messages.de_DE.json +1 -1
- package/locale/messages.en.json +65 -1
- package/locale/messages.fr.json +1 -1
- package/locale/messages.fr_CA.json +1 -1
- package/locale/messages.fr_FR.json +1 -1
- package/locale/messages.it.json +95 -2
- package/locale/messages.it_IT.json +94 -1
- package/locale/messages.json +65 -1
- package/locale/messages.nl_BE.json +1 -1
- package/locale/messages.nl_NL.json +1 -1
- package/locale/messages.zh_HK.json +152 -8
- package/main-VVQP2YE7.js +16 -0
- package/package.json +1 -1
- package/chunk-3RXp81pP.js +0 -1
- package/chunk-B0RBkC1E.js +0 -1
- package/chunk-BB1pOOUx.js +0 -1
- package/chunk-BIL3nR4_.js +0 -2
- package/chunk-BOOAIFTC.js +0 -1
- package/chunk-BaGYaLxZ.js +0 -2
- package/chunk-Bceym75m.js +0 -1
- package/chunk-BfZh4DNq.js +0 -2
- package/chunk-BlSN71kd.js +0 -1
- package/chunk-Bq7wRTmy.js +0 -2
- package/chunk-ByhuT4BS.js +0 -14
- package/chunk-CBgNjPex.js +0 -1
- package/chunk-CEyp0Xmg.js +0 -1
- package/chunk-CFne6FXR.js +0 -1
- package/chunk-CGn_EA_5.js +0 -2
- package/chunk-CJ1mxauG.js +0 -2
- package/chunk-CMJCX33P.js +0 -1
- package/chunk-CWAvlP_u.js +0 -1
- package/chunk-CYQJGwsB.js +0 -1
- package/chunk-Ca-HIRNP.js +0 -1
- package/chunk-CegwkGVu.js +0 -3
- package/chunk-CgcnOoRq.js +0 -2
- package/chunk-Ck9c9Juw.js +0 -1
- package/chunk-CnRCpl-v.js +0 -2
- package/chunk-CrgyDps4.js +0 -1
- package/chunk-DDBflo2l.js +0 -4
- package/chunk-Df7q8ewK.js +0 -1
- package/chunk-Dgns65Zu.js +0 -2
- package/chunk-Dh6x3lXP.js +0 -2
- package/chunk-DipTNkHN.js +0 -1
- package/chunk-DkdGEw1e.js +0 -1
- package/chunk-DtdFhFa9.js +0 -1
- package/chunk-DwKPz2Gn.js +0 -3
- package/chunk-DwMhABnQ.js +0 -2
- package/chunk-HWQc1Hoa.js +0 -1
- package/chunk-LL0IHZns.js +0 -1
- package/chunk-Zo-grJt3.js +0 -1
- package/chunk-glhLCQrb.js +0 -1
- package/chunk-yF6CJHRg.js +0 -1
- package/main-KFKZO6SJ.js +0 -16
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {h as hw,M as aC,X as cC}from'./main-VVQP2YE7.js';var o=["*"],c=(()=>{class t{static{this.\u0275fac=function(e){return new(e||t)};}static{this.\u0275cmp=hw({type:t,selectors:[["sh-list"]],hostAttrs:["role","list"],ngContentSelectors:o,decls:1,vars:0,template:function(e,n){e&1&&(aC(),cC(0));},styles:[`.sh-sortable{position:relative}.sh-sortable.dragging [draggable],.sh-sortable.dragging .sortable-ghost{cursor:grabbing;transition:transform 40ms linear}.sh-sortable [draggable]{transform:translate(0);transition:none;z-index:2;-webkit-user-select:none;user-select:none}.sh-sortable:not(.sh-sortable-tree) [draggable]{background:var(--base-1)}.sh-sortable:not(.sh-sortable-tree) [draggable]:not(:has([sort-handle])){cursor:grab}.sh-sortable .sortable-ghost{opacity:.5;z-index:10}.sh-sortable.item-dragged-out .sortable-ghost{display:none}.sh-sortable [sort-handle]{cursor:grab}.sh-sortable.sh-sortable-tree [draggable]{transform:none!important;transition:none!important;z-index:auto}.sh-sortable.sh-sortable-tree .sortable-ghost{z-index:0!important}.sh-sortable.sh-sortable-tree .sortable-ghost.drop-before:before,.sh-sortable.sh-sortable-tree .sortable-ghost.drop-after:after{display:none!important}.sh-sortable.sh-sortable-tree .sortable-ghost.drop-inside{outline:none!important;background:inherit!important}.sh-sortable.sh-sortable-tree .drop-inside{background:var(--primary-3)!important;outline:2px solid var(--primary-8)!important;outline-offset:-.125rem;border-radius:var(--shape-1, 4px)}.sh-sortable.sh-sortable-tree .drop-inside .node-icon,.sh-sortable.sh-sortable-tree .drop-inside sh-tree-node .sh-tree-node-left sh-icon{color:var(--primary-8)!important}.sh-sortable.sh-sortable-tree .drop-before{position:relative;z-index:20}.sh-sortable.sh-sortable-tree .drop-before:before{content:"";position:absolute;top:-.1875rem;left:calc(var(--tree-padding-left, 12px) + var(--tree-depth, 0) * var(--tree-indent-step, 12px) + .375rem);right:var(--tree-padding-right, 6px);height:.375rem;background-image:radial-gradient(circle at 3px 3px,var(--primary-8) 3px,transparent 3px),linear-gradient(to right,var(--primary-8),var(--primary-8));background-repeat:no-repeat,no-repeat;background-position:left center,6px center;background-size:6px 6px,100% 2px;z-index:10;pointer-events:none}.sh-sortable.sh-sortable-tree .drop-after{position:relative;z-index:20}.sh-sortable.sh-sortable-tree .drop-after:after{content:"";position:absolute;bottom:-.1875rem;left:calc(var(--tree-padding-left, 12px) + var(--tree-depth, 0) * var(--tree-indent-step, 12px) + .375rem);right:var(--tree-padding-right, 6px);height:.375rem;background-image:radial-gradient(circle at 3px 3px,var(--primary-8) 3px,transparent 3px),linear-gradient(to right,var(--primary-8),var(--primary-8));background-repeat:no-repeat,no-repeat;background-position:left center,6px center;background-size:6px 6px,100% 2px;z-index:10;pointer-events:none}sh-list{--list-s: var(--shape-2);--list-active-bg: var(--base-1);--list-color: var(--base-9);--list-active-bs: none;--list-item-b: 1px solid transparent;--list-item-active-b: 1px solid --list-active-bg;--list-p: 1.25rem 1rem;--list-item-p: .5rem .75rem;--list-item-gap: .5rem;width:100%;padding:var(--list-p);gap:.5rem;display:flex;flex-direction:column}sh-list.base-1{--list-active-bg: var(--base-1);--list-active-bs: var(--box-shadow-20)}sh-list.outlined{--list-active-bg: transparent;--list-active-bs: none;--list-item-b: 1px solid transparent;--list-item-active-b: 1px solid var(--primary-8)}sh-list.type-b{--list-p: 0;--list-item-p: .625rem .75rem;--list-item-gap: .75rem;--list-s: var(--shape-2)}sh-list.type-b>[action],sh-list.type-b>[item]{color:var(--base-10)}sh-list.type-b>[action].active,sh-list.type-b>[action].selected,sh-list.type-b>[item].active,sh-list.type-b>[item].selected{background:rgb(from var(--base-3) r g b/90%);color:var(--base-12)}sh-list.type-b>[action].active sh-icon:first-child,sh-list.type-b>[action].selected sh-icon:first-child,sh-list.type-b>[item].active sh-icon:first-child,sh-list.type-b>[item].selected sh-icon:first-child{color:var(--primary-8)}sh-list.type-b>[action].active .description,sh-list.type-b>[action].selected .description,sh-list.type-b>[item].active .description,sh-list.type-b>[item].selected .description{color:var(--base-9)}sh-list.type-b>[action] sh-icon:first-child,sh-list.type-b>[item] sh-icon:first-child{font-size:1.125rem;color:var(--base-7);transition:color .15s ease}sh-list.type-b>[action] .text-group,sh-list.type-b>[item] .text-group{display:flex;flex-direction:column;flex:1}sh-list.type-b>[action] .label,sh-list.type-b>[item] .label{font:var(--paragraph-30B)}sh-list.type-b>[action] .description,sh-list.type-b>[item] .description{font:var(--paragraph-40);color:var(--base-7);transition:color .15s ease}sh-list.type-b>[action] .shortcut,sh-list.type-b>[item] .shortcut{display:flex;gap:.25rem}sh-list.type-b>[action] .shortcut kbd,sh-list.type-b>[item] .shortcut kbd{font-family:inherit;background:rgb(from var(--base-3) r g b/80%);border:1px solid rgb(from var(--base-4) r g b/60%);color:var(--base-8);border-radius:var(--shape-1);padding:.125rem .375rem;font-size:.6875rem;line-height:1;box-shadow:0 1px #0000001a}sh-list:empty{padding:0}sh-list>[title]{color:var(--base-8);margin:0 .75rem;font:var(--paragraph-30);line-height:1.5rem}sh-list[shsortable] [item]:active{transform:scale(1)}sh-list>[action],sh-list>[item]{border-radius:var(--list-s);padding:var(--list-item-p);font:var(--paragraph-30B);color:var(--list-color);border:var(--list-item-b);display:flex;align-items:center;gap:var(--list-item-gap);width:100%;-webkit-user-select:none;user-select:none;appearance:none;border:0;text-align:left;text-wrap:balance;background-color:transparent;text-decoration:none;transition:transform 125ms linear,box-shadow 125ms linear;transform:scale(1)}sh-list>[action]:active,sh-list>[item]:active{--list-active-bs: var(--box-shadow-10);transform:scale(.98)}sh-list>[action]:focus,sh-list>[item]:focus{outline:none}sh-list>[action]:focus-visible,sh-list>[item]:focus-visible{outline:2px solid var(--primary-8);outline-offset:2px}sh-list>[action] [suffix],sh-list>[item] [suffix]{margin-left:auto;color:var(--base-8)}sh-list :has(input),sh-list>[action]{cursor:pointer}sh-list>[item]:has(input:checked),sh-list>[action]:has(input:checked),sh-list>[action].active,sh-list>[action].selected{--list-color: var(--base-12);background-color:var(--list-active-bg);box-shadow:var(--list-active-bs);border:var(--list-item-active-b)}sh-list.primary>[item]:has(input:checked) sh-icon:first-child,sh-list.primary>[action]:has(input:checked) sh-icon:first-child,sh-list.primary>[action].active sh-icon:first-child,sh-list.primary>[action].selected sh-icon:first-child{color:var(--primary-8)}sh-list.accent>[item]:has(input:checked) sh-icon:first-child,sh-list.accent>[action]:has(input:checked) sh-icon:first-child,sh-list.accent>[action].active sh-icon:first-child,sh-list.accent>[action].selected sh-icon:first-child{color:var(--accent-8)}sh-list.warn>[item]:has(input:checked) sh-icon:first-child,sh-list.warn>[action]:has(input:checked) sh-icon:first-child,sh-list.warn>[action].active sh-icon:first-child,sh-list.warn>[action].selected sh-icon:first-child{color:var(--warn-8)}sh-list.error>[item]:has(input:checked) sh-icon:first-child,sh-list.error>[action]:has(input:checked) sh-icon:first-child,sh-list.error>[action].active sh-icon:first-child,sh-list.error>[action].selected sh-icon:first-child{color:var(--error-8)}sh-list.success>[item]:has(input:checked) sh-icon:first-child,sh-list.success>[action]:has(input:checked) sh-icon:first-child,sh-list.success>[action].active sh-icon:first-child,sh-list.success>[action].selected sh-icon:first-child{color:var(--success-8)}
|
|
2
2
|
`],encapsulation:2});}}return t})();export{c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {G}from'./chunk-CTRzgLM9.js';import {w as w$1}from'./chunk-CgyaUJSI.js';import'./chunk-CZoVeRAG.js';import {e as ee$1}from'./chunk-C4GeR7BF.js';import'./chunk-CUaRQ2FJ.js';import'./chunk-aOMoAKYY.js';import'./chunk-BEhUV7oX.js';import {k as ke}from'./chunk-kU0H989B.js';import'./chunk-C80zvTbO.js';import'./chunk-Cjb79u3p.js';import'./chunk-DJJ8GbYi.js';import'./chunk-DUYvFN8m.js';import'./chunk-BpRWdcC8.js';import'./chunk-ihUnHtR7.js';import'./chunk-Bb6BmVO4.js';import'./chunk-DmDqcC4A.js';import'./chunk-CAwTsBqQ.js';import'./chunk-B53Wj4F9.js';import'./chunk-BTgf5lfZ.js';import {T,aw as W,e as ee,G as Ge,z as za,b7 as k$1,h as hw,Z as lr,_ as _t,a8 as To,j as vg,f as aT,Q as Qi,$ as $l,C as CE,i as cT,aD as YC,Y as Yg,k as iC,n as nC,A as yg,a3 as KC,a$ as JC}from'./main-VVQP2YE7.js';import'./chunk-Bja52qI7.js';import'./chunk-B8uF0dom.js';import'./chunk-B9maI7Xa.js';import'./chunk-BO2GlieG.js';import'./chunk-CKnRcyHZ.js';import'./chunk-CwKy8pxa.js';import'./chunk-BVEyeg9y.js';import {L}from'./chunk-Box6Lckh.js';import'./chunk-DqIU7ViF.js';var w=()=>["/restore-from-files/destination"],k=()=>["/restore-from-files/encryption"],x=()=>["/restore-from-files/select-files"],J=()=>["/restore-from-files/options"],X=t=>["/restore",t,"select-files"],D=t=>["/restore",t,"options"];function z(t,n){t&1&&(Qi(0,"div",7),nC(1,0),$l(),Qi(2,"div",7),nC(3,1),$l(),Qi(4,"div",8),nC(5,2),$l(),Qi(6,"div",8),nC(7,3),$l()),t&2&&(yg("routerLink",KC(4,w)),CE(2),yg("routerLink",KC(5,k)),CE(2),yg("routerLink",KC(6,x)),CE(2),yg("routerLink",KC(7,J)));}function B(t,n){if(t&1&&(Qi(0,"div",7),nC(1,4),$l(),Qi(2,"div",7),nC(3,5),$l()),t&2){let e=iC(2);yg("routerLink",JC(2,X,e.backupId())),CE(2),yg("routerLink",JC(4,D,e.backupId()));}}function U(t,n){if(t&1&&(Qi(0,"sh-stepper",6),aT(1,z,8,8)(2,B,4,6),$l()),t&2){let e=iC();CE(),cT(e.isFileRestore()?1:2);}}var f=class t{#e=T(W);#n=T(ee);#t=T(G);#i=L(this.#e.params);#o=L(this.#e.url);#r=L(this.#e.children[0].url);backupId=this.#t.backupId;isFileRestore=this.#t.isFileRestore;isFullWidthPage=Ge(false);paramsChanged=za(()=>{let n=this.#r(),e=this.#i()?.id,r=!!this.#o()?.find(s=>s.path==="restore-from-files"),d=!!n?.find(s=>s.path==="select-files"),R=!!n?.find(s=>s.path==="progress");this.isFullWidthPage.set(R||d),this.#t.init(e,r);});ngOnInit(){this.#n.events.subscribe(n=>{if(n instanceof k$1){let e=n.urlAfterRedirects;this.isFullWidthPage.set(e.includes("progress")||e.includes("select-files"));}});}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=hw({type:t,selectors:[["app-restore-flow"]],hostVars:2,hostBindings:function(e,r){e&2&&Yg("full-width",r.isFullWidthPage());},features:[YC([G,ke])],decls:4,vars:1,consts:()=>{let n;n=$localize` Destination `;let e;e=$localize` Encryption `;let r;r=$localize` Select files `;let d;d=$localize` Options `;let R;R=$localize` Select files `;let s;return s=$localize`Options`,[n,e,r,d,R,s,[1,"primary"],["tabindex","-1","routerLinkActive","active",3,"routerLink"],["tabindex","-1","routerLinkActive","active",1,"inactive",3,"routerLink"]]},template:function(e,r){e&1&&(vg(0,"app-status-bar"),aT(1,U,3,1,"sh-stepper",6),Qi(2,"section"),vg(3,"router-outlet"),$l()),e&2&&(CE(),cT(r.isFullWidthPage()?-1:1));},dependencies:[w$1,ee$1,lr,_t,To],styles:["[_nghost-%COMP%]{display:block}.full-width[_nghost-%COMP%] section[_ngcontent-%COMP%]{max-width:62.5rem}sh-stepper[_ngcontent-%COMP%]{margin:2.5rem 2rem;width:calc(100% - 4rem)}section[_ngcontent-%COMP%]{max-width:31.25rem;margin:0 auto 2.5rem}@media only screen and (max-width:768px){section[_ngcontent-%COMP%]{padding:0 2rem}}.inactive[_ngcontent-%COMP%]{pointer-events:none;opacity:.5}"]})};export{f as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a as at}from'./chunk-CKnRcyHZ.js';import {C}from'./chunk-CwKy8pxa.js';import {O}from'./chunk-BVEyeg9y.js';import {T as T$1,e as ee,G as Ge,z as za,h as hw,v,a0 as de,d as N,Q as Qi,V as Vg,n as nC,$ as $l,a1 as dT,p as cm,w as jC,j as vg,C as CE,a2 as fT,x as am,A as yg,Y as Yg,a3 as KC,a4 as uT,U as UC,J as om}from'./main-VVQP2YE7.js';import {U}from'./chunk-DqIU7ViF.js';import'./chunk-Box6Lckh.js';var D=()=>({maxWidth:"520px",width:"100%"});function z(r,i){if(r&1&&(Qi(0,"div",11)(1,"sh-icon",26),jC(2,"check-circle"),$l(),Qi(3,"span"),jC(4),$l()()),r&2){let o=i.$implicit;CE(4),om(o);}}function J(r,i){if(r&1&&(Qi(0,"div",11)(1,"sh-icon",26),jC(2,"check-circle"),$l(),Qi(3,"span"),jC(4),$l()()),r&2){let o=i.$implicit;CE(4),om(o);}}var T=class r{#n=T$1(O);#e=T$1(ee);#t=T$1(C);hoveringConnect=Ge(false);skipDialogOpen=Ge(false);hasConnectionLink=Ge(false);primaryBenefits=[$localize`Zero-configuration cloud storage`,$localize`Centralized backup reporting and monitoring`,$localize`Remote management from the dashboard`,$localize`Notifications if backups stop running`];secondaryBenefits=[$localize`Get notified if your backups stop working`,$localize`Access AI powered troubleshooting`,$localize`View all backups from one place`];#i=za(()=>{let i=this.#t.state();i=="unknown"||i=="inactive"||this.setWelcomeShown();});setWelcomeShown(){this.#n.setShownWelcomePage().subscribe(()=>{this.#e.navigate([""]);});}openSkipDialog(){this.skipDialogOpen.set(true);}connect(){let i=this.hasConnectionLink()?"/welcome/connect/link":"/welcome/connect/logon";this.#e.navigate([i]);}static \u0275fac=function(o){return new(o||r)};static \u0275cmp=hw({type:r,selectors:[["app-select"]],decls:36,vars:7,consts:()=>{let i;i=$localize`Proceed without connecting to console`;let o;o=$localize`Connect to console`;let n;n=$localize`Consolidate all your backup reports in one place.`;let l;l=$localize`I have a connection link`;let c;c=$localize`Are you sure?`;let O;O=$localize`Cancel`;let b;return b=$localize`Proceed without connecting`,[i,o,n,l,c,O,b,[1,"left"],[1,"actionables"],[1,"without-connecting",3,"click"],[1,"benefits"],[1,"benefit"],["shButton","",1,"connect","outlined","primary",3,"mouseenter","mouseleave","click"],[1,"action"],[1,"connection-link-label"],[1,"primary","raised","connection-link-check",3,"checkedChange","checked"],[3,"shTooltip"],[1,"right"],["src","assets/images/console.avif","alt",""],[3,"isOpenChange","isOpen","options"],["header",""],["content",""],[1,"dialog-benefits-header"],[1,"dialog-benefits"],["footer",""],["type","button","shButton","",1,"outlined",3,"click"],[1,"primary"]]},template:function(o,n){o&1&&(Qi(0,"section",7)(1,"div",8)(2,"div",9),Vg("click",function(){return n.openSkipDialog()}),nC(3,0),$l(),Qi(4,"div",10),dT(5,z,5,1,"div",11,uT),$l(),Qi(7,"button",12),Vg("mouseenter",function(){return n.hoveringConnect.set(true)})("mouseleave",function(){return n.hoveringConnect.set(false)})("click",function(){return n.connect()}),Qi(8,"div",13)(9,"h2"),nC(10,1),$l(),Qi(11,"p"),nC(12,2),$l()()(),Qi(13,"div",14)(14,"sh-checkbox",15),cm("checkedChange",function(c){return UC(n.hasConnectionLink,c)||(n.hasConnectionLink=c),c}),$l(),Qi(15,"span"),nC(16,3),$l(),Qi(17,"sh-icon",16),jC(18," information "),$l()()()(),Qi(19,"section",17),vg(20,"img",18),$l(),Qi(21,"sh-dialog",19),cm("isOpenChange",function(c){return UC(n.skipDialogOpen,c)||(n.skipDialogOpen=c),c}),Qi(22,"header",20)(23,"h3"),nC(24,4),$l()(),Qi(25,"div",21)(26,"h4",22),jC(27," You can use Duplicati without a Console connection, but connecting to the Console will expand the capabilities of Duplicati. "),$l(),Qi(28,"div",23),dT(29,J,5,1,"div",11,uT),$l()(),Qi(31,"footer",24)(32,"button",25),Vg("click",function(){return n.skipDialogOpen.set(false)}),nC(33,5),$l(),Qi(34,"button",25),Vg("click",function(){return n.setWelcomeShown()}),nC(35,6),$l()()()),o&2&&(CE(5),fT(n.primaryBenefits),CE(9),am("checked",n.hasConnectionLink),CE(3),yg("shTooltip","Connection links are used for Enterprise and large-scale installations"),CE(2),Yg("hovering",n.hoveringConnect()),CE(2),am("isOpen",n.skipDialogOpen),yg("options",KC(6,D)),CE(8),fT(n.secondaryBenefits));},dependencies:[v,U,de,N,at],styles:["[_nghost-%COMP%]{display:grid;grid-template-columns:1fr 2fr;grid-template-rows:1fr;height:100vh;overflow:hidden;padding:2rem}@media only screen and (max-width:768px){[_nghost-%COMP%]{display:flex;flex-direction:column-reverse;height:auto;padding:4rem 1rem;gap:2rem}}.left[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-end;justify-content:center}@media only screen and (max-width:768px){.left[_ngcontent-%COMP%]{align-items:flex-start}}.left[_ngcontent-%COMP%] .actionables[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem}@media only screen and (max-width:768px){.left[_ngcontent-%COMP%] .actionables[_ngcontent-%COMP%]{width:100%}}.left[_ngcontent-%COMP%] .actionables[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}.left[_ngcontent-%COMP%] .actionables[_ngcontent-%COMP%] sh-divider[_ngcontent-%COMP%]{width:100%}.left[_ngcontent-%COMP%] .actionables[_ngcontent-%COMP%] .benefits[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem 0}.left[_ngcontent-%COMP%] .actionables[_ngcontent-%COMP%] .benefits[_ngcontent-%COMP%] .benefit[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;color:var(--base-11)}.left[_ngcontent-%COMP%] .actionables[_ngcontent-%COMP%] .benefits[_ngcontent-%COMP%] .benefit[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{font-size:1.25rem;flex-shrink:0}.left[_ngcontent-%COMP%] .actionables[_ngcontent-%COMP%] .benefits[_ngcontent-%COMP%] .benefit[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:.875rem}.right[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding:2rem 2rem 2rem 0}.right.hovering[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{border-color:var(--primary-8)}.right[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:90%;max-height:90%;object-fit:contain;border:1px solid var(--base-3);border-radius:var(--shape-2);box-shadow:var(--box-shadow-20);transition:border-color .2s ease-in-out}.connect[_ngcontent-%COMP%]{height:auto;padding:2rem}.without-connecting[_ngcontent-%COMP%]{text-decoration:underline;cursor:pointer;margin:0}.without-connecting[_ngcontent-%COMP%]:hover{color:var(--primary-8)}.dialog-benefits-header[_ngcontent-%COMP%]{margin-bottom:1rem}.dialog-benefits[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.dialog-benefits[_ngcontent-%COMP%] .benefit[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;gap:.5rem;color:var(--base-11)}.dialog-benefits[_ngcontent-%COMP%] .benefit[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{font-size:1.25rem;flex-shrink:0}.dialog-benefits[_ngcontent-%COMP%] .benefit[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:.875rem}.connection-link-label[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:.5rem}"]})};export{T as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {f}from'./chunk-
|
|
1
|
+
import {f}from'./chunk-Bja52qI7.js';import {d}from'./chunk-B8uF0dom.js';import {F as Fe$1}from'./chunk-B9maI7Xa.js';import {B as Bn,Z as Ze,R as Rn,J as Jt}from'./chunk-BO2GlieG.js';import {T,e as ee,I,m,a as T$1,G as Ge,b as I1,N as Nt,q as qe,z as za,c as me$1,h as hw,_ as _t,v,u as ue$1,d as N,Q as Qi,f as aT,$ as $l,g as NC,t as tb,C as CE,i as cT,o as oC,L as Lg,F as Fg,j as vg,k as iC,l as vT,n as nC,p as cm,r as kd,U as UC,O as Od,s as CD,w as jC,V as Vg,x as am,y as _D,A as yg}from'./main-VVQP2YE7.js';import {S,C}from'./chunk-CwKy8pxa.js';import {O}from'./chunk-BVEyeg9y.js';import'./chunk-Box6Lckh.js';var re=(n,t,e,i,o)=>({"loading-state":n,"ready-to-add-link":t,"is-connected":e,"failed-to-connect":i,"is-registered":o});function ae(n,t){n&1&&nC(0,0,1);}function le(n,t){n&1&&nC(0,0,2);}function se(n,t){if(n&1){let e=vT();Qi(0,"button",10),Vg("click",function(){kd(e);let o=iC(2);return Od(o.cancel())}),jC(1,"Cancel registration"),$l();}}function ce(n,t){if(n&1&&(Qi(0,"div",7)(1,"p"),Lg(2,0),aT(3,ae,1,0)(4,le,1,0),Fg(),$l(),vg(5,"sh-progress-bar",8),aT(6,se,2,0,"button",9),$l()),n&2){let e=iC();CE(3),cT(e.state()==="unknown"?3:4),CE(3),cT((e.registeringCounter()??0)>=5&&e.state()==="registering"?6:-1);}}function de(n,t){if(n&1){let e=vT();Qi(0,"sh-form-field")(1,"label",11),nC(2,1),$l(),Qi(3,"input",12),cm("ngModelChange",function(o){kd(e);let C=iC();return UC(C.customRegisterUrl,o)||(C.customRegisterUrl=o),Od(o)}),$l(),CD(),$l(),Qi(4,"div",13)(5,"button",14),jC(6,"Go back"),$l(),Qi(7,"button",15),Vg("click",function(){kd(e);let o=iC();return Od(o.registerViaCustomUrl())}),nC(8,2),$l()();}if(n&2){let e=iC();CE(3),am("ngModel",e.customRegisterUrl),_D(),CE(4),yg("disabled",!e.customRegisterUrlValid());}}function _e(n,t){if(n&1){let e=vT();Qi(0,"p"),nC(1,3),$l(),vg(2,"sh-progress-bar",8),Qi(3,"button",10),Vg("click",function(){kd(e);let o=iC(2);return Od(o.retryWhenFaulted())}),jC(4,"Cancel"),$l();}}function ue(n,t){if(n&1){let e=vT();Qi(0,"p"),nC(1,4),$l(),Qi(2,"button",10),Vg("click",function(){kd(e);let o=iC(2);return Od(o.retryWhenFaulted())}),jC(3,"Retry"),$l();}}function Ce(n,t){if(n&1&&aT(0,_e,5,0)(1,ue,4,0),n&2){let e=iC();cT(e.claimUrl()!==null?0:1);}}function ge(n,t){n&1&&(Lg(0,5,1),vg(1,"p"),Fg());}function me(n,t){n&1&&(Lg(0,5,2),vg(1,"p"),Fg());}function Fe(n,t){if(n&1){let e=vT();Qi(0,"sh-alert",16),Lg(1,5),aT(2,ge,2,0,"p")(3,me,2,0,"p"),Fg(),$l(),Qi(4,"button",10),Vg("click",function(){kd(e);let o=iC();return Od(o.retryWhenFaulted())}),jC(5," Retry "),Qi(6,"sh-icon"),jC(7,"arrow-arc-left"),$l()();}if(n&2){let e=iC();CE(2),cT(e.typeParam()==="link"?2:3);}}function fe(n,t){n&1&&(Qi(0,"h3"),jC(1,"Successfully connected"),$l(),Qi(2,"p"),jC(3,"We're going to redirect you to the home page"),$l());}var R=class n{#n=T(ee);#a=T(S);#e=T(C);#i=T(O);#l=T(I);#s=T(m);#c=T(T$1);isOldOpen=Ge(false);typeParam=I1.required();state=this.#e.state;claimUrl=this.#e.claimUrl;registerUrl=this.#e.registerUrl;customRegisterUrl=this.#e.customRegisterUrl;additionalReportingUrl=Nt(()=>{let t=this.#i.serverSettings();return this.#e.state()==="inactive"?"":t&&t["additional-report-url"]||""});copiedReportingUrl=Ge(false);customRegisterUrlValid=Nt(()=>{let t=this.customRegisterUrl(),e=/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/;return !(t.length===0||!e.test(t))});registeringCounter=Ge(null);didTry=false;triedFinishConnection=false;#t=null;#d=T(qe);constructor(){this.#d.onDestroy(()=>{this.#r();});}ngAfterViewInit(){(this.#l.relayIsEnabled()||!this.#s.hasWebSocket()?"longpoll":"websocket")==="websocket"&&this.#c.reconnectIfNeeded();}stateEffect=za(()=>{let t=this.#e.registerUrl(),e=this.state(),i=this.typeParam();e==="inactive"&&i==="logon"&&t!==""&&(this.didTry||(this.didTry=true,queueMicrotask(()=>this.#e.beginRemoteRegistration()))),e==="registered"&&(this.triedFinishConnection||me$1(()=>this.claimUrl())!==null&&(this.triedFinishConnection=true,this.#_())),e==="registering"?me$1(()=>{this.registeringCounter()===null&&this.registeringCounter.set(0),this.#o();}):(this.#r(),me$1(()=>this.registeringCounter.set(null))),(e==="connected"||e==="disabled"||e==="connecting")&&queueMicrotask(()=>{this.#i.setShownWelcomePage().subscribe(()=>{this.#n.navigate([""]);});});});#o(){this.#t!==null&&clearTimeout(this.#t),this.#t=setTimeout(()=>{this.#t=null;let t=this.registeringCounter()??0;this.registeringCounter.set(t+1),this.state()==="registering"&&this.#o();},1e3);}#r(){this.#t!==null&&(clearTimeout(this.#t),this.#t=null);}ngOnInit(){this.#e.refreshRemoteControlStatus();}#_(){let t=this.#e.claimUrl();this.#a.open(`${t}?closeAfterConnection=true`,"_blank");}registerViaCustomUrl(){this.#e.beginRemoteRegistration(true);}retryWhenFaulted(){this.#e.cancelRemoteRegistration(),this.customRegisterUrl.set(""),this.didTry=false,this.triedFinishConnection=false,this.typeParam()==="logon"&&this.#n.navigate(["/welcome/select"]);}cancel(){this.#e.cancelRemoteRegistration();}register(){this.#e.beginRemoteRegistration();}disable(){this.#e.disableRemoteControl();}enable(){this.#e.enableRemoteControl();}delete(){this.#e.deleteRemoteControl();}copyReportingUrl(){let t=this.additionalReportingUrl();t&&(this.copiedReportingUrl.set(true),setTimeout(()=>this.copiedReportingUrl.set(false),2e3),navigator.clipboard.writeText(t));}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=hw({type:n,selectors:[["app-connect"]],inputs:{typeParam:[1,"typeParam"]},decls:6,vars:13,consts:()=>{let t;t=$localize`${"\uFFFD*3:1\uFFFD"}:START_BLOCK_IF: Loading... ${"\uFFFD/*3:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*4:2\uFFFD"}:START_BLOCK_ELSE: Connecting to console ${"\uFFFD/*4:2\uFFFD"}:CLOSE_BLOCK_ELSE:`;let e;e=$localize`Paste registration URL here`;let i;i=$localize` Connect machine to console `;let o;o=$localize`We're now connecting you to the console`;let C;C=$localize`Something failed during registration we're missing claimUrl, please try again`;let m;return m=$localize` Failed to register ${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_PARAGRAPH: Check if the connection link are correct, alternatively it could be your internet connection or the service might be down ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_PARAGRAPH:${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_PARAGRAPH: There might be a problem with your internet connection or the service might be down, please try again later ${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_PARAGRAPH:${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,m=oC(m),[t,e,i,o,C,m,[1,"main-card","type-b"],[1,"loader-content"],[1,"primary","indeterminate"],["shButton",""],["shButton","",3,"click"],["for","remoteControlRegisterUrl"],["type","text","id","remoteControlRegisterUrl","name","remoteControlRegisterUrl",3,"ngModelChange","ngModel"],[1,"nav-buttons"],["type","button","shButton","","routerLink","/welcome",1,"raised"],["type","button","shButton","",1,"raised","primary",3,"click","disabled"],[1,"error"]]},template:function(e,i){if(e&1&&(Qi(0,"sh-card",6),aT(1,ce,7,2,"div",7),aT(2,de,9,2),aT(3,Ce,2,1),aT(4,Fe,8,1),aT(5,fe,4,0),$l()),e&2){let o=i.state()==="unknown"||i.typeParam()!=="link"&&i.state()==="inactive"||i.state()==="registering",C=i.typeParam()==="link"&&i.state()==="inactive",m=i.state()==="connected"||i.state()==="disabled"||i.state()==="connecting",g=i.state()==="registeringfaulted";NC(tb(7,re,o,C,m,g,i.state()==="registered")),CE(),cT(o?1:-1),CE(),cT(C?2:-1),CE(),cT(i.state()==="registered"?3:-1),CE(),cT(g?4:-1),CE(),cT(m?5:-1);}},dependencies:[_t,Bn,Ze,Rn,Jt,Fe$1,v,d,f,ue$1,N],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:100%;width:100%;flex:1 0;overflow:hidden;padding:2rem}@media only screen and (max-width:768px){[_nghost-%COMP%]{padding:1rem}}.main-card[_ngcontent-%COMP%]{width:100%;height:100%;max-width:31.25rem;max-height:min-content;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1rem;padding:2rem}.main-card.failed-to-connect[_ngcontent-%COMP%] sh-alert[_ngcontent-%COMP%]{width:100%}.main-card.failed-to-connect[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}.main-card.is-registered[_ngcontent-%COMP%], .main-card.is-connected[_ngcontent-%COMP%]{align-items:center}.loader-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;width:100%}.loader-content[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{--pb-b: var(--base-3);border:1px solid var(--pb-b)}.field-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%], .field-row[_ngcontent-%COMP%] sh-select[_ngcontent-%COMP%]{flex:1 0}.reporting-url[_ngcontent-%COMP%]{cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:.25rem}.state[_ngcontent-%COMP%]{position:fixed;top:1rem;right:1rem;margin:0;color:var(--base-7);font-size:.75rem}.old[_ngcontent-%COMP%]{display:flex;flex-direction:column;position:relative;gap:.5rem;padding:1rem;border:1px solid var(--base-4);background:var(--base-1);position:fixed;top:0;right:0;bottom:0;width:35rem;transform:translate(100%)}.old.open[_ngcontent-%COMP%]{transform:translate(0)}.old[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;position:absolute;background-color:var(--base-1);border:1px solid var(--base-4);border-width:.0625rem 0 .0625rem .0625rem;width:2rem;height:2.5rem;border-radius:var(--shape-2) 0 0 var(--shape-2);top:3.75rem;left:-2rem;-webkit-user-select:none;user-select:none}.old[_ngcontent-%COMP%] .toggle[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{font-size:1rem}.nav-buttons[_ngcontent-%COMP%]{display:flex;gap:.5rem;flex-direction:row}"]})};export{R as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t=[{path:"",redirectTo:"destination",pathMatch:"full"},{path:"destination",loadComponent:()=>import('./chunk-Da_-7L7P.js')},{path:"encryption",loadComponent:()=>import('./chunk-BS8PXjJJ.js').then(function(n){return n.c})},{path:"select-config",loadComponent:()=>import('./chunk-CUuyy9Er.js')}],o=t;export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {k}from'./chunk-CUaRQ2FJ.js';import {m as m$4}from'./chunk-BEhUV7oX.js';import {m,N as Nt$1}from'./chunk-Bb6BmVO4.js';import {b as I1,T,aX as y,a5 as g,N as Nt,G as Ge$1,z as za,h as hw,d as N,v,b2 as m$1,aJ as ci,f as aT,i as cT,aD as YC,aH as m$2,Y as Yg,Q as Qi,$ as $l,k as iC,C as CE,w as jC,j as vg,aa as Ql,A as yg,L as Lg,aM as ob,F as Fg,au as jg,aR as sb,aN as ab,av as rC,n as nC,ag as Zg,bg as ag,c4 as pC,l as vT,V as Vg,r as kd,O as Od,J as om,c6 as lb,ab as C,a6 as be$1,bh as Q$1,I,m as m$3,aP as ql,aQ as Gl,o as oC,ac as v1,H as qu,p as cm,U as UC,s as CD,x as am,y as _D,_ as _t,a3 as KC}from'./main-VVQP2YE7.js';import {d}from'./chunk-B8uF0dom.js';import {a as at}from'./chunk-CKnRcyHZ.js';import {v as ve$1}from'./chunk-DmDqcC4A.js';import {F as Fe}from'./chunk-B9maI7Xa.js';import {B as Bn,Z as Ze$1,e as en,R as Rn,J as Jt}from'./chunk-BO2GlieG.js';import {C as C$1}from'./chunk-CwKy8pxa.js';import {O}from'./chunk-BVEyeg9y.js';function Y(t,n){if(t&1&&jC(0),t&2){let e=iC(3);Ql(" ",e.statusData().actionText," - ");}}function Z$1(t,n){t&1&&(Qi(0,"sh-icon"),jC(1,"check"),$l());}function ee$1(t,n){t&1&&(Qi(0,"sh-icon"),jC(1,"copy"),$l());}function te(t,n){if(t&1){let e=vT();Qi(0,"div",9)(1,"button",10),Vg("click",function(u){kd(e);let F=iC(4);return Od(F.copyToClipboard(u,F.tooltipText()))}),aT(2,Z$1,2,0,"sh-icon")(3,ee$1,2,0,"sh-icon"),jC(4," Copy "),$l(),Qi(5,"p",11),jC(6),$l()();}if(t&2){let e=iC(4);CE(),yg("color",e.copied()?"success":null),CE(),cT(e.copied()===true?2:3),CE(4),om(e.tooltipText());}}function ne(t,n){if(t&1&&(Qi(0,"div",8),jC(1),$l(),ag(2,te,7,3,"ng-template",null,0,lb)),t&2){let e=pC(3),s=iC(3);yg("shTooltip",e),CE(),Ql(" ",s.statusData().fileStatusText," ");}}function ie(t,n){if(t&1&&(Qi(0,"div"),aT(1,Y,1,1),jC(2),$l(),aT(3,ne,4,2),vg(4,"sh-progress-bar",7)),t&2){let e=iC(2);CE(),cT(e.backupId()===null?1:-1),CE(),Ql(" ",e.statusData().statusText," "),CE(),cT(e.statusData()?.BackendFileSize?3:-1),CE(),yg("value",e.statusData().progress*100);}}function oe(t,n){if(t&1&&(Qi(0,"div",5),Lg(1,1),vg(2,"sh-icon"),ob(3,"relativeTime"),ob(4,"date"),Fg(),$l()),t&2){let e=iC(2);CE(4),jg(e.nextBackup().backup?.Backup?.Name)(sb(3,3,e.nextBackup().time))(ab(4,5,e.nextBackup().time,"shortTime")),rC(1);}}function ae(t,n){t&1&&(Qi(0,"div",5),nC(1,2),$l());}function se(t,n){t&1&&(Qi(0,"div",6),Lg(1,3),vg(2,"sh-spinner"),Fg(),$l()),t&2&&(CE(2),Zg("--spinner-size","12px")("--spinner-thickness","2px"));}function re(t,n){if(t&1&&(Qi(0,"div",4),aT(1,ie,5,4)(2,oe,5,8,"div",5)(3,ae,2,0,"div",5)(4,se,3,4,"div",6),$l()),t&2){let e=iC();CE(),cT(e.isActive()?1:!e.backupId()&&(e.nextBackup().backup||e.nextBackup().time)?2:!e.backupId()&&!e.serverState()?.ActiveTask?3:e.backupId()?-1:4);}}var W$1=class t{backupId=I1(null);#e=T(y);#t=T(g);statusData=this.#e.statusData;serverState=this.#e.serverState;isActive=Nt(()=>this.#e.runningBackupId()!==null);isTargetRunningTask=Nt(()=>{let n=this.backupId();return n?String(this.#e.runningBackupId())===String(n):true});isVisible=Nt(()=>this.backupId()?this.isActive()?this.isTargetRunningTask():false:true);nextBackup=Nt(()=>{this.#t.backups();return {backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}});tooltipText=Nt(()=>{let n=this.statusData();return n?.CurrentFilename?`${n.CurrentFilename}`:""});copied=Ge$1(false);copiedTimeout;copyToClipboard(n,e){n.stopPropagation(),navigator.clipboard.writeText(e),this.copied.set(true),this.copiedTimeout=setTimeout(()=>{this.copied.set(false);},2e3);}tooltipTrigger=Ge$1(true);tooltipTriggerEffect=za(()=>{this.tooltipText(),this.tooltipTrigger.update(n=>!n),this.copiedTimeout&&(clearTimeout(this.copiedTimeout),this.copiedTimeout=void 0,this.copied.set(false));});static \u0275fac=function(e){return new(e||t)};static \u0275cmp=hw({type:t,selectors:[["app-backup-progress"]],hostVars:2,hostBindings:function(e,s){e&2&&Yg("is-visible",s.isVisible());},inputs:{backupId:[1,"backupId"]},features:[YC([m$2])],decls:1,vars:1,consts:()=>{let n;n=$localize` ${"\uFFFD0\uFFFD"}:INTERPOLATION: - ${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:clock${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: ${"\uFFFD1\uFFFD"}:INTERPOLATION_1: at ${"\uFFFD2\uFFFD"}:INTERPOLATION_2: `;let e;e=$localize`No scheduled tasks`;let s;return s=$localize` Loading ${"\uFFFD#2\uFFFD"}:START_TAG_SH_SPINNER:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_SPINNER:`,[["fileStatusTooltip",""],n,e,s,[1,"progress-section"],[1,"label"],[1,"label","label-loading"],[1,"raised","primary",3,"value"],[1,"file-status-text",3,"shTooltip"],[1,"tooltip-status-content"],["shButton","","size","small",3,"click","color"],[1,"tooltip-file-status-text"]]},template:function(e,s){e&1&&aT(0,re,5,1,"div",4),e&2&&cT(s.isVisible()?0:-1);},dependencies:[N,v,m,d,at,m$1,ci],styles:["[_nghost-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}[_nghost-%COMP%]:not(.is-visible){display:none}.file-status-text[_ngcontent-%COMP%]{color:var(--base-8)}.file-status-text[_ngcontent-%COMP%]:empty{display:none}.tooltip-file-status-text[_ngcontent-%COMP%]{overflow-wrap:break-word;word-break:break-word;display:inline-block;margin-bottom:.25rem}.tooltip-status-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.progress-section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:0;min-width:18.75rem;flex:1 0}.progress-section[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{margin-top:.25rem}app-status-bar[_nghost-%COMP%] sh-progress-bar[_ngcontent-%COMP%], app-status-bar [_nghost-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{position:absolute;bottom:0;left:0;right:0;width:100%;max-width:initial;margin-top:0}.label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.label-loading[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem}"]})};function he(o,t){o&1&&(Qi(0,"sh-icon",2),jC(1,"x-bold"),$l());}function ye(o,t){o&1&&(Qi(0,"sh-icon",3),jC(1,"list-bold"),$l());}function be(o,t){if(o&1){let n=vT();Qi(0,"button",1),Vg("click",function(){kd(n);let i=iC();return Od(i.toggleNav())}),aT(1,he,2,0,"sh-icon",2)(2,ye,2,0,"sh-icon",3),$l();}if(o&2){let n=iC();CE(),cT(n.isNavOpen()?1:2);}}var w=class o{#e=T(m$4);isNavOpen=this.#e.isNavOpen;isMobile=this.#e.isMobile;toggleNav(){this.#e.toggleNav();}static \u0275fac=function(n){return new(n||o)};static \u0275cmp=hw({type:o,selectors:[["app-mobile-menu-toggle"]],decls:1,vars:1,consts:[["shButton","",1,"small","toggle-sidebar","ghost"],["shButton","",1,"small","toggle-sidebar","ghost",3,"click"],[1,"cross"],[1,"burger"]],template:function(n,e){n&1&&aT(0,be,3,1,"button",0),n&2&&cT(e.isMobile()?0:-1);},dependencies:[v,N],styles:["[_nghost-%COMP%]{display:contents}.toggle-sidebar[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;justify-content:center}.toggle-sidebar[_ngcontent-%COMP%] .cross[_ngcontent-%COMP%], .toggle-sidebar[_ngcontent-%COMP%] .burger[_ngcontent-%COMP%]{opacity:1;transition:opacity 124ms linear;margin:0}.toggle-sidebar[_ngcontent-%COMP%] .cross.hidden[_ngcontent-%COMP%], .toggle-sidebar[_ngcontent-%COMP%] .burger.hidden[_ngcontent-%COMP%]{opacity:0}"]})};var Ie=()=>["/connect/logon"];function ve(o,t){o&1&&(Lg(0,0,1),vg(1,"div",9),Fg());}function Be(o,t){o&1&&(Lg(0,0,2),vg(1,"div",10),Fg());}function ke(o,t){if(o&1){let n=vT();Qi(0,"div",8),Vg("click",function(){kd(n);let i=iC();return Od(i.resetAndRetry())}),Lg(1,0),aT(2,ve,2,0)(3,Be,2,0),Fg(),$l();}if(o&2){let n=iC();CE(2),cT(n.resetting()?2:3);}}function Le(o,t){o&1&&(Qi(0,"div",6),Lg(1,1),vg(2,"div",11),Fg(),$l()),o&2&&yg("routerLink",KC(1,Ie));}function Ge(o,t){o&1&&(Qi(0,"div",6),Lg(1,2),vg(2,"div",10),Fg(),$l()),o&2&&yg("routerLink",KC(1,Ie));}function xe(o,t){if(o&1){let n=vT();Qi(0,"div",7),Lg(1,3),Qi(2,"sh-icon",12),Vg("click",function(){kd(n);let i=iC();return Od(i.cancel())}),$l(),Qi(3,"div",13),Vg("click",function(){kd(n);let i=iC();return Od(i.claim())}),$l(),vg(4,"div",14),Fg(),$l();}}function $e(o,t){if(o&1){let n=vT();Qi(0,"div",8),Vg("click",function(){kd(n);let i=iC();return Od(i.openConsole())}),Lg(1,4),vg(2,"div",15),Fg(),$l();}}var G=class o{#e=T(C$1);state=this.#e.state;resetting=Ge$1(false);stateEffect=za(()=>{let t=this.#e.state(),n=this.resetting();t==="registered"&&n&&(this.resetting.set(false),this.#e.beginRemoteRegistration());});ngOnInit(){this.#e.refreshRemoteControlStatus();}claim(){let t=this.#e.claimUrl();t&&window.open(t,"_blank");}cancel(){this.#e.cancelRemoteRegistration();}resetAndRetry(){this.resetting.set(true),this.#e.cancelRemoteRegistration();}openConsole(){this.#e.openConsole();}static \u0275fac=function(n){return new(n||o)};static \u0275cmp=hw({type:o,selectors:[["app-remote-connectivity-status"]],decls:5,vars:1,consts:()=>{let t;t=$localize`${"\uFFFD*2:1\uFFFD"}:START_BLOCK_IF: Resetting ${"\uFFFD#1:1\uFFFD"}:START_TAG_DIV:${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_DIV:${"\uFFFD/*2:1\uFFFD"}:CLOSE_BLOCK_IF:${"\uFFFD*3:2\uFFFD"}:START_BLOCK_ELSE: Click to connect ${"\uFFFD#1:2\uFFFD"}:START_TAG_DIV_1:${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_DIV:${"\uFFFD/*3:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,t=oC(t);let n;n=$localize` Connecting ${"\uFFFD#2\uFFFD"}:START_TAG_DIV:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_DIV:`;let e;e=$localize` Click to register ${"\uFFFD#2\uFFFD"}:START_TAG_DIV:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_DIV:`;let i;i=$localize`Cancel registration`;let a;a=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:x-circle${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON:${"\uFFFD#3\uFFFD"}:START_TAG_DIV:Click to claim${"[\uFFFD/#3\uFFFD|\uFFFD/#4\uFFFD]"}:CLOSE_TAG_DIV:${"\uFFFD#4\uFFFD"}:START_TAG_DIV_1:${"[\uFFFD/#3\uFFFD|\uFFFD/#4\uFFFD]"}:CLOSE_TAG_DIV:`,a=oC(a);let u;return u=$localize` Connected ${"\uFFFD#2\uFFFD"}:START_TAG_DIV:${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_DIV:`,[t,n,e,a,u,[1,"connectivity-status"],[1,"connectivity-status",3,"routerLink"],[1,"connectivity-status","claim"],[1,"connectivity-status",3,"click"],[1,"status","blinking"],[1,"status"],[1,"status","warning","blinking"],["shTooltip",i,3,"click"],[1,"claim",3,"click"],[1,"status","success","blinking"],[1,"status","success"]]},template:function(n,e){if(n&1&&aT(0,ke,4,1,"div",5)(1,Le,3,2,"div",6)(2,Ge,3,2,"div",6)(3,xe,5,0,"div",7)(4,$e,3,0,"div",5),n&2){let i=e.state()==="unknown"||e.state()==="inactive"||e.state()==="registeringfaulted",a=e.state()==="registeringfaulted",u=e.state()==="registering",r=e.state()==="registered",M=e.state()==="connected"||e.state()==="disabled"||e.state()==="connecting";cT(a?0:u?1:i?2:r?3:M?4:-1);}},dependencies:[_t,N,at],styles:["[_nghost-%COMP%]{display:flex;align-items:center;padding:0 .75rem}@media only screen and (max-width:768px){[_nghost-%COMP%]{padding:0}}.hide-text[_nghost-%COMP%]{font-size:0}.in-menu[_nghost-%COMP%]{padding:.75rem;border-bottom:1px solid var(--base-4)}.connectivity-status[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;cursor:pointer}.connectivity-status[_ngcontent-%COMP%]:hover{color:var(--primary-8)}.connectivity-status.claim[_ngcontent-%COMP%]{display:flex;gap:.5rem;cursor:pointer}.connectivity-status.claim[_ngcontent-%COMP%]:hover{color:inherit}.connectivity-status.claim[_ngcontent-%COMP%] .claim[_ngcontent-%COMP%]:hover{color:var(--primary-8)}.connectivity-status.claim[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]:hover{color:var(--error-8)}.status[_ngcontent-%COMP%]{width:.625rem;height:.625rem;border-radius:50%;background-color:var(--base-4)}.status.success[_ngcontent-%COMP%]{background-color:var(--success-8)}.status.warning[_ngcontent-%COMP%]{background-color:var(--warn-8)}.status.blinking[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_blinking 1s infinite}@keyframes _ngcontent-%COMP%_blinking{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}"]})};var Re={Byte:"B",KByte:"KB",MByte:"MB",GByte:"GB",TByte:"TB",PByte:"PB"},Ue=["mbps","gbps"],Pe=8,Z=1024,V=Z*1024,q=V*1024,Q=q*1024,Ae=Q*1024,we={B:1,KB:Z,MB:V,GB:q,TB:Q,PB:Ae},Ve=1e3,j=Ve*1e3,W=j*1e3,He=[{threshold:Ae,unitPrefix:"PByte"},{threshold:Q,unitPrefix:"TByte"},{threshold:q,unitPrefix:"GByte"},{threshold:V,unitPrefix:"MByte"},{threshold:Z,unitPrefix:"KByte"},{threshold:1,unitPrefix:"Byte"}],x=class o{#e=T(C);closed=v1();isSubmitting=Ge$1(false);sizeOptions=Ge$1([...Ue]);maxUpload=Ge$1(0);maxDownload=Ge$1(0);maxUploadUnit=Ge$1("mbps");maxDownloadUnit=Ge$1("mbps");ngOnInit(){this.init();}convertToBitsPerSecondUnits(t,n){let i=t*(we[n.toUpperCase()]||V)*Pe;return i===0?{value:0,unit:"mbps"}:i>=W?{value:parseFloat((i/W).toFixed(2)),unit:"gbps"}:{value:parseFloat((i/j).toFixed(2)),unit:"mbps"}}convertFromBitsPerSecondUnits(t,n){let e=0;switch(n){case "gbps":e=t*W;break;case "mbps":e=t*j;break}let i=e/Pe;if(i===0)return {valueForApi:0,unitPrefixForApi:"Byte"};for(let{threshold:a,unitPrefix:u}of He)if(i>=a)return {valueForApi:Math.round(i/a),unitPrefixForApi:u};return {valueForApi:Math.round(i),unitPrefixForApi:"Byte"}}init(){this.#e.getApiV1Serversettings().subscribe({next:t=>{let n=t?.["max-upload-speed"],e=t?.["max-download-speed"];if(n&&n!==""){let i=n.match(/^(\d+(?:\.\d+)?)([A-Za-z]+)$/);if(i){let a=parseFloat(i[1]),u=i[2],r=this.convertToBitsPerSecondUnits(a,u);this.maxUpload.set(r.value),this.maxUploadUnit.set(r.unit);}else console.warn("Unexpected max-upload-speed format from API:",n),this.resetUpload();}else this.resetUpload();if(e&&e!==""){let i=e.match(/^(\d+(?:\.\d+)?)([A-Za-z]+)$/);if(i){let a=parseFloat(i[1]),u=i[2],r=this.convertToBitsPerSecondUnits(a,u);this.maxDownload.set(r.value),this.maxDownloadUnit.set(r.unit);}else console.warn("Unexpected max-download-speed format from API:",e),this.resetDownload();}else this.resetDownload();},error:t=>{console.error("Failed to get server settings:",t),this.resetDownload(),this.resetUpload();}});}resetDownload(){this.maxDownload.set(0),this.maxDownloadUnit.set("mbps");}resetUpload(){this.maxUpload.set(0),this.maxUploadUnit.set("mbps");}blockDecimalKeys(t){if([".",","].includes(t.key))return t.preventDefault()}cleanupInputAfterPasting(t){t.preventDefault();let n=t.clipboardData?.getData("text/plain");if(!n)return;let e=n.replaceAll(/[\.,]/g,"");t.target.value=e;}submit(){this.isSubmitting.set(true);let t="",n="",e=this.maxUpload()??0,i=this.maxUploadUnit(),a=this.maxDownload()??0,u=this.maxDownloadUnit();if(e>0){let{valueForApi:r,unitPrefixForApi:M}=this.convertFromBitsPerSecondUnits(e,i),h=Re[M];h?t=`${r}${h}`:console.error(`Invalid unit prefix for API submission (upload): ${M}. Defaulting to empty string.`);}if(a){let{valueForApi:r,unitPrefixForApi:M}=this.convertFromBitsPerSecondUnits(a,u),h=Re[M];h?n=`${r}${h}`:console.error(`Invalid unit prefix for API submission (download): ${M}. Defaulting to empty string.`);}this.#e.patchApiV1Serversettings({requestBody:{"max-upload-speed":t,"max-download-speed":n}}).pipe(qu(()=>this.isSubmitting.set(false))).subscribe({next:()=>{this.closed.emit(true);},error:r=>{console.error("Failed to submit throttle settings:",r);}});}static \u0275fac=function(n){return new(n||o)};static \u0275cmp=hw({type:o,selectors:[["app-throttle-settings-dialog"]],outputs:{closed:"closed"},decls:26,vars:10,consts:()=>{let t;t=$localize`Throttle network speed`;let n;n=$localize`We will round bits to the nearest byte value.`;let e;e=$localize`Max upload speed`;let i;i=$localize`Max download speed`;let a;a=$localize`Cancel`;let u;return u=$localize` Update settings `,[t,n,e,i,a,u,["content",""],[1,"column"],[1,"field-row"],["type","number",3,"paste","keydown","ngModelChange","ngModel"],[3,"isClearable","options"],["type","text",3,"ngModelChange","ngModel"],["footer",""],["shButton","",3,"click"],["shButton","",1,"raised","primary",3,"click"]]},template:function(n,e){n&1&&(Qi(0,"header")(1,"h3"),nC(2,0),$l(),Qi(3,"p"),nC(4,1),$l()(),Qi(5,"div",6)(6,"div",7)(7,"div",8)(8,"label"),nC(9,2),$l(),Qi(10,"sh-form-field")(11,"input",9),Vg("paste",function(a){return e.cleanupInputAfterPasting(a)})("keydown",function(a){return e.blockDecimalKeys(a)}),cm("ngModelChange",function(a){return UC(e.maxUpload,a)||(e.maxUpload=a),a}),$l(),CD(),$l(),Qi(12,"sh-select",10)(13,"input",11),cm("ngModelChange",function(a){return UC(e.maxUploadUnit,a)||(e.maxUploadUnit=a),a}),$l(),CD(),$l()(),Qi(14,"div",8)(15,"label"),nC(16,3),$l(),Qi(17,"sh-form-field")(18,"input",9),Vg("paste",function(a){return e.cleanupInputAfterPasting(a)})("keydown",function(a){return e.blockDecimalKeys(a)}),cm("ngModelChange",function(a){return UC(e.maxDownload,a)||(e.maxDownload=a),a}),$l(),CD(),$l(),Qi(19,"sh-select",10)(20,"input",11),cm("ngModelChange",function(a){return UC(e.maxDownloadUnit,a)||(e.maxDownloadUnit=a),a}),$l(),CD(),$l()()()(),Qi(21,"footer",12)(22,"button",13),Vg("click",function(){return e.closed.emit(false)}),nC(23,4),$l(),Qi(24,"button",14),Vg("click",function(){return e.submit()}),nC(25,5),$l()()),n&2&&(CE(11),am("ngModel",e.maxUpload),_D(),CE(),yg("isClearable",false)("options",e.sizeOptions()),CE(),am("ngModel",e.maxUploadUnit),_D(),CE(5),am("ngModel",e.maxDownload),_D(),CE(),yg("isClearable",false)("options",e.sizeOptions()),CE(),am("ngModel",e.maxDownloadUnit),_D(),CE(4),Yg("loading",e.isSubmitting()));},dependencies:[Bn,Ze$1,en,Rn,Jt,Fe,Nt$1,v],styles:['[_nghost-%COMP%]{display:block}h3[_ngcontent-%COMP%]{font:var(--title-30)}header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;gap:.5rem;margin-bottom:1rem}.column[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.field-row[_ngcontent-%COMP%]{display:grid;grid-template-areas:"label label" "input select";grid-template-columns:1fr auto;align-items:center;gap:.5rem;width:100%}.field-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{grid-area:label}.field-row[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%]{grid-area:input}.field-row[_ngcontent-%COMP%] sh-select[_ngcontent-%COMP%]{grid-area:select}']})};function Ye(o,t){o&1&&vg(0,"app-remote-connectivity-status");}function ze(o,t){if(o&1){let n=vT();Qi(0,"button",7),Vg("click",function(){kd(n);let i=iC(2);return Od(i.abort())}),Lg(1,1),vg(2,"sh-icon"),Fg(),$l();}}function Je(o,t){if(o&1){let n=vT();Qi(0,"button",7),Vg("click",function(){kd(n);let i=iC(2);return Od(i.stop())}),Lg(1,2),vg(2,"sh-icon"),Fg(),$l();}}function Xe(o,t){if(o&1&&aT(0,ze,3,0,"button",14)(1,Je,3,0,"button",14),o&2){let n=iC();cT(n.isStopping()?0:1);}}function Ke(o,t){o&1&&(Lg(0,0,1),vg(1,"sh-icon"),Fg());}function We(o,t){o&1&&(Lg(0,0,2),vg(1,"sh-icon"),Fg());}function je(o,t){o&1&&vg(0,"app-remote-connectivity-status",10);}function Ze(o,t){o&1&&vg(0,"app-remote-connectivity-status",12);}function qe(o,t){if(o&1){let n=vT();Qi(0,"button",13),Vg("click",function(){kd(n);let i=iC();return Od(i.isStopping()?i.abort():i.stop())}),Qi(1,"sh-icon"),jC(2),$l(),jC(3),$l();}if(o&2){let n=iC();CE(2),om(n.isStopping()?"skull":"stop"),CE(),Ql(" ",n.isStopping()?"Abort":"Stop"," ");}}var ee=class o{#e=T(C);#t=T(y);#n=T(be$1);#a=T(Q$1);#i=T(I);#s=T(m$3);#l=T(O);clientIsRunning=this.#t.clientIsRunning;isResuming=this.#t.isResuming;runningTask=Nt(()=>this.#a.serverState()?.ActiveTask?.Item1);isStopping=Nt(()=>this.runningTask()==this.#o());#o=Ge$1(-1);isUsingRelay=this.#i.relayIsEnabled;hideConsoleConnectionStatus=this.#l.isConsoleConnectionStatusHidden;openThrottleSettingsDialog(){this.#n.open(x,{maxWidth:"550px",width:"100%"});}openPauseDialog(){this.#n.open(k,{maxWidth:"550px",width:"100%"});}pauseResume(){if(this.clientIsRunning()){this.openPauseDialog();return}this.#t.pauseResume().subscribe();}stop(){let t=this.runningTask();t&&(this.#o.set(t),this.#e.postApiV1TaskByTaskidStop({taskid:t}).subscribe());}abort(){let t=this.runningTask();t&&this.#e.postApiV1TaskByTaskidAbort({taskid:t}).subscribe();}ngAfterViewInit(){let t=this.#i.relayIsEnabled()||!this.#s.hasWebSocket()?"longpoll":"websocket";this.#t.setConnectionMethod(t);}static \u0275fac=function(n){return new(n||o)};static \u0275cmp=hw({type:o,selectors:[["app-status-bar"]],decls:31,vars:10,consts:()=>{let t;t=$localize`${"\uFFFD*9:1\uFFFD"}:START_BLOCK_IF:${"[\uFFFD#1:1\uFFFD|\uFFFD#1:2\uFFFD]"}:START_TAG_SH_ICON:pause${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_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_SH_ICON:play${"[\uFFFD/#1:1\uFFFD|\uFFFD/#1:2\uFFFD]"}:CLOSE_TAG_SH_ICON: Resume ${"\uFFFD/*10:2\uFFFD"}:CLOSE_BLOCK_ELSE:`,t=oC(t);let n;n=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:skull${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Abort `;let e;return e=$localize`${"\uFFFD#2\uFFFD"}:START_TAG_SH_ICON:stop${"\uFFFD/#2\uFFFD"}:CLOSE_TAG_SH_ICON: Stop `,[t,n,e,[1,"current-backup"],[1,"global-progress"],[1,"current-backup-actions"],[1,"desktop-actions"],["shButton","",3,"click"],[1,"mobile-actions"],["shButton","",1,"small","menu-mobile-toggle"],[1,"hide-text"],["menu",""],[1,"in-menu"],[3,"click"],["shButton",""]]},template:function(n,e){n&1&&(Qi(0,"div",3),vg(1,"app-mobile-menu-toggle")(2,"app-backup-progress",4),Qi(3,"div",5)(4,"div",6),aT(5,Ye,1,0,"app-remote-connectivity-status"),aT(6,Xe,2,1),Qi(7,"button",7),Vg("click",function(){return e.pauseResume()}),Lg(8,0),aT(9,Ke,2,0)(10,We,2,0),Fg(),$l(),Qi(11,"button",7),Vg("click",function(){return e.openThrottleSettingsDialog()}),Qi(12,"sh-icon"),jC(13,"speedometer"),$l()()(),Qi(14,"div",8)(15,"sh-menu")(16,"button",9),aT(17,je,1,0,"app-remote-connectivity-status",10),Qi(18,"sh-icon"),jC(19,"dots-three-vertical-bold"),$l()(),ql(20,11),aT(21,Ze,1,0,"app-remote-connectivity-status",12),aT(22,qe,4,2,"button"),Qi(23,"button",13),Vg("click",function(){return e.pauseResume()}),Qi(24,"sh-icon"),jC(25),$l(),jC(26),$l(),Qi(27,"button",13),Vg("click",function(){return e.openThrottleSettingsDialog()}),Qi(28,"sh-icon"),jC(29,"speedometer"),$l(),jC(30," Throttle Settings "),$l(),Gl(),$l()()()()),n&2&&(CE(5),cT(!e.isUsingRelay()&&!e.hideConsoleConnectionStatus()?5:-1),CE(),cT(e.runningTask()?6:-1),CE(),Yg("loading",e.isResuming()),CE(2),cT(e.clientIsRunning()?9:10),CE(8),cT(!e.isUsingRelay()&&!e.hideConsoleConnectionStatus()?17:-1),CE(4),cT(!e.isUsingRelay()&&!e.hideConsoleConnectionStatus()?21:-1),CE(),cT(e.runningTask()?22:-1),CE(3),om(e.clientIsRunning()?"pause":"play"),CE(),Ql(" ",e.clientIsRunning()?"Pause":"Resume"," "));},dependencies:[G,N,v,ve$1,w,W$1],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;min-height:3.875rem;border-bottom:1px solid var(--base-4);position:sticky;top:0;z-index:2000;background:var(--base-1)}[_nghost-%COMP%]:has(sh-progress-bar){padding:1rem 1rem 1.5rem}.current-backup[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}.global-progress[_ngcontent-%COMP%]{flex:1 0;min-width:18.75rem}.current-backup-actions[_ngcontent-%COMP%], .current-backup-actions[_ngcontent-%COMP%] .desktop-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}@media only screen and (max-width:768px){.current-backup-actions[_ngcontent-%COMP%] .desktop-actions[_ngcontent-%COMP%]{display:none}}.current-backup-actions[_ngcontent-%COMP%] .mobile-actions[_ngcontent-%COMP%]{display:none}@media only screen and (max-width:768px){.current-backup-actions[_ngcontent-%COMP%] .mobile-actions[_ngcontent-%COMP%]{display:flex}}.current-backup-actions[_ngcontent-%COMP%] .menu-mobile-toggle[_ngcontent-%COMP%]{position:relative}.current-backup-actions[_ngcontent-%COMP%] .menu-mobile-toggle[_ngcontent-%COMP%] app-remote-connectivity-status[_ngcontent-%COMP%]{position:absolute;top:-.25rem;right:-.25rem}.menu-status-item[_ngcontent-%COMP%]{padding:.5rem 1rem;display:flex;flex-direction:column;gap:.25rem;border-bottom:1px solid var(--base-4);margin-bottom:.25rem}.menu-status-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;font-size:.875rem}"]})};export{W$1 as W,ee as e};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {c3 as e,aZ as ee,aj as l}from'./main-VVQP2YE7.js';var d=/[a-zA-Z0-9_\-\+\.!@#$%^&*?_~()-]/,m=class n{generate(r,t=d){let a;do a=this.generatePassword(r,t);while(this.calculatePasswordStrength(a)<5);return a}generatePassword(r,t=d){return Array.apply(null,{length:r}).map(()=>{let a;for(;;)if(a=String.fromCharCode(e()),t.test(a))return a},this).join("")}calculatePasswordStrength(r){let t=1;return r.length>=8&&t++,r.match(/[a-z]/)&&r.match(/[A-Z]/)&&t++,r.match(/\d+/)&&t++,r.match(/.[!,@,#,$,%,^,&,*,?,_,~,(,),-]/)&&t++,Math.min(t,5)}static \u0275fac=function(t){return new(t||n)};static \u0275prov=ee({token:n,factory:n.\u0275fac,providedIn:"root"})};function y(n,r,t="conditional"){return a=>{if(!a.parent)return null;let e=null;if(n(a.parent)&&(e=(Array.isArray(r)?r:[r]).find(l=>l(a)!==null)??null),t&&e){let o={};o[t]=e,e=o;}return e}}function F(){return n=>(n.parent&&Object.values(n.parent.controls).forEach(r=>{r!==n&&r.updateValueAndValidity();}),null)}function C(n,r,t,a="conditional"){return e=>{if(!e.parent)return null;let o={},l$1=e.parent.get(n);if(!l$1)return console.warn("Conditional field not found"),null;if(Array.isArray(r)?l$1.value?.includes(r):l$1.value===r){let f=Array.isArray(t)?t:[t];for(let A of f){let u=A(e),p=o||{};if(u!==null){o=l(l({},p),u);break}}}return o}}export{C,F,m,y};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {b8 as ue,b as I1,b9 as ce,h as hw,ba as ig,M as aC,X as cC,g as NC,ag as Zg}from'./main-VVQP2YE7.js';var p=["*"],x=(()=>{class o extends ue{constructor(){super("button","active",{hostRole:"group"}),this.id="--"+Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,12),this.color=I1(null),this.variant=I1(null),this.size=I1(null),this.hostClasses=ce("buttonGroup",{color:this.color,variant:this.variant,size:this.size});}static{this.\u0275fac=function(t){return new(t||o)};}static{this.\u0275cmp=hw({type:o,selectors:[["sh-button-group"]],hostVars:4,hostBindings:function(t,n){t&2&&(NC(n.hostClasses()),Zg("--btng-id",n.id));},inputs:{color:[1,"color"],variant:[1,"variant"],size:[1,"size"]},features:[ig],ngContentSelectors:p,decls:1,vars:0,template:function(t,n){t&1&&(aC(),cC(0));},styles:[`sh-button-group{--btng-bg: var(--base-3);--btng-item-bg: var(--base-1);--btng-c: var(--base-12);--btng-ic: var(--base-12);--btng-bc: var(--base-4);--btng-h: 2.5rem;--btng-p: 0 .75rem;--btng-s: var(--shape-2);--btng-s-a: var(--shape-2);--btng-f: var(--paragraph-30);display:inline-flex;height:var(--btng-h);max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;position:relative}sh-button-group::-webkit-scrollbar{display:none}sh-button-group{background-color:var(--btng-bg);background-image:linear-gradient(90deg,var(--btng-bg) 30%,rgba(255,255,255,0)),linear-gradient(-90deg,var(--btng-bg) 30%,rgba(255,255,255,0)),radial-gradient(farthest-side at 0% 50%,rgb(from var(--base-12) r g b/8%),rgb(from var(--base-12) r g b/0%)),radial-gradient(farthest-side at 100% 50%,rgb(from var(--base-12) r g b/8%),rgb(from var(--base-12) r g b/0%));background-repeat:no-repeat;background-position:left center,right center,left center,right center;background-size:1.5rem 100%,1.5rem 100%,.5rem 100%,.5rem 100%;background-attachment:local,local,scroll,scroll;padding:.1875rem;gap:.25rem;border:0;border-radius:var(--btng-s)}sh-button-group.small{--btng-h: 2rem;--btng-p: 0 .5rem}sh-button-group button{border:0;flex:1 0;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;position:relative;padding:var(--btng-p);min-width:auto;cursor:pointer;outline:none;line-height:inherit;-webkit-user-select:none;user-select:none;overflow:visible;vertical-align:middle;white-space:nowrap;background:transparent;color:var(--btng-c);font:var(--btng-f);border-radius:calc(var(--btng-s) / 3 * 2);transition:color 80ms linear,transform 125ms linear;transform:scale(1)}sh-button-group button:focus-visible{outline:2px solid var(--primary-8);outline-offset:-2px}sh-button-group button:active{transform:scale(.96)}sh-button-group button:hover{--btng-bg: var(--base-2)}sh-button-group button:hover,sh-button-group button.active{--btng-bg: var(--base-1);box-shadow:var(--box-shadow-10)}@supports not (anchor-name: --anchor){sh-button-group button{--btng-item-bg: var(--base-3);background:var(--btng-item-bg)}sh-button-group button:hover,sh-button-group button.active{--btng-c: var(--base-12);--btng-ic: var(--base-12);--btng-bg: var(--base-1);--btng-item-bg: var(--base-1)}}@supports (anchor-name: --anchor){sh-button-group button{z-index:1}sh-button-group button.active{position:relative;anchor-name:var(--btng-id)}}sh-button-group button[disabled]{opacity:.5;pointer-events:none;cursor:not-allowed}@supports (anchor-name: --anchor){sh-button-group:after{content:"";background:var(--btng-item-bg);pointer-events:none;position:absolute;z-index:0;top:anchor(top);bottom:anchor(bottom);left:anchor(left);right:anchor(right);position-anchor:var(--btng-id);transition:left .175s ease-out,right .175s ease-out;border-radius:calc(var(--btng-s) / 3 * 2)}}
|
|
2
2
|
`],encapsulation:2});}}return o})();export{x};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var o=[{path:"",loadComponent:()=>import('./chunk-D5tms-6w.js'),children:[{path:"",redirectTo:"stored",pathMatch:"full"},{path:"stored",loadComponent:()=>import('./chunk-CkrxdjhU.js')},{path:"live",loadComponent:()=>import('./chunk-Cz0KuBHB.js')}]}],t=o;export{t as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {b8 as ue,b as I1,b9 as ce,h as hw,ba as ig,M as aC,X as cC,g as NC,ag as Zg}from'./main-VVQP2YE7.js';var p=["*"],w=(()=>{class t extends ue{constructor(){super("[value], [tab], button, a","active",{hostRole:"tablist",itemRole:"tab"}),this.id="--"+Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,12),this.color=I1(null),this.variant=I1(null),this.hostClasses=ce("tabs",{color:this.color,variant:this.variant});}static{this.\u0275fac=function(a){return new(a||t)};}static{this.\u0275cmp=hw({type:t,selectors:[["sh-tabs"]],hostVars:4,hostBindings:function(a,s){a&2&&(NC(s.hostClasses()),Zg("--tabs-id",s.id));},inputs:{color:[1,"color"],variant:[1,"variant"]},features:[ig],ngContentSelectors:p,decls:1,vars:0,template:function(a,s){a&1&&(aC(),cC(0));},styles:[`sh-tabs{--tabs-bc: var(--base-4);--tabs-bg: var(--base-1);--tabs-c: var(--base-12);--tabs-c-hover: var(--base-8);--tabs-c-active: var(--base-12);--tabs-f: var(--paragraph-30);--tabs-sel-bg: var(--base-12);display:flex;gap:1rem;border-bottom:var(--border-10);position:relative;overflow-x:auto;overflow-y:hidden;max-width:100%;scrollbar-width:none}sh-tabs::-webkit-scrollbar{display:none}sh-tabs button,sh-tabs [tab],sh-tabs [value]{display:flex;align-items:center;gap:.5rem;height:3rem;font:var(--tabs-f);background:var(--tabs-bg);border-radius:0;appearance:none;border:0;color:var(--tabs-c);cursor:pointer;position:relative;flex-shrink:0;white-space:nowrap;transition:transform 125ms linear;transform:scale(1)}sh-tabs button:focus-visible,sh-tabs [tab]:focus-visible,sh-tabs [value]:focus-visible{outline:2px solid var(--primary-8);outline-offset:-2px;border-radius:var(--shape-1)}sh-tabs button:active,sh-tabs [tab]:active,sh-tabs [value]:active{transform:scale(.98)}sh-tabs button:hover,sh-tabs [tab]:hover,sh-tabs [value]:hover{color:var(--tabs-c-hover)}sh-tabs button.active,sh-tabs [tab].active,sh-tabs [value].active{color:var(--tabs-c-active)}@supports (anchor-name: --anchor){sh-tabs button.active,sh-tabs [tab].active,sh-tabs [value].active{position:relative;anchor-name:var(--tabs-id)}}@supports not (anchor-name: --anchor){sh-tabs button.active:after,sh-tabs [tab].active:after,sh-tabs [value].active:after{display:block}}sh-tabs button:after,sh-tabs [tab]:after,sh-tabs [value]:after{content:"";display:none;width:100%;height:.125rem;background:var(--tabs-sel-bg);position:absolute;left:0;bottom:0}@supports (anchor-name: --anchor){sh-tabs button:after,sh-tabs [tab]:after,sh-tabs [value]:after{display:none}}@supports (anchor-name: --anchor){sh-tabs:after{content:"";background:var(--tabs-sel-bg);pointer-events:none;position:absolute;z-index:10;height:.125rem;bottom:anchor(bottom);left:anchor(left);right:anchor(right);position-anchor:var(--tabs-id);transition:all .175s ease-out}}sh-tabs.primary{--tabs-sel-bg: var(--primary-8);--tabs-c-active: var(--primary-8)}sh-tabs.accent{--tabs-sel-bg: var(--accent-8);--tabs-c-active: var(--accent-8)}sh-tabs.warn{--tabs-sel-bg: var(--warn-8);--tabs-c-active: var(--warn-8)}sh-tabs.error{--tabs-sel-bg: var(--error-8);--tabs-c-active: var(--error-8)}sh-tabs.success{--tabs-sel-bg: var(--success-8);--tabs-c-active: var(--success-8)}
|
|
2
2
|
`],encapsulation:2});}}return t})();export{w};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {T,ab as C,
|
|
1
|
+
import {T,ab as C,G as Ge,N as Nt,z as za,H as qu,aZ as ee}from'./main-VVQP2YE7.js';var u=[{value:"Disabled",label:$localize`Disabled`},{value:"Verbose",label:$localize`Verbose`},{value:"ExplicitOnly",label:$localize`Explicit only`},{value:"Profiling",label:$localize`Profiling`},{value:"Retry",label:$localize`Retry`},{value:"Information",label:$localize`Information`},{value:"DryRun",label:$localize`Dry run`},{value:"Warning",label:$localize`Warning`},{value:"Error",label:$localize`Error`}],v=class a{#l=T(C);#e=Ge([]);LOG_LEVELS=u;logLevel=Ge("Disabled");logLevelByLabel=Nt(()=>u.find(e=>e.value===this.logLevel())?.label);whenFilter=Ge(null);backupIdFilter=Ge(null);id=Ge(0);logs=Nt(()=>this.whenFilter()&&this.backupIdFilter()?this.#e().filter(e=>e.BackupID===this.backupIdFilter()&&new Date(e.When).getTime()>=this.whenFilter()&&e.BackupID===this.backupIdFilter()):this.#e());timerInterval;logsLoading=Ge(false);isPolling=Ge(false);pagination=Ge({offset:0,pagesize:100});logLevelEffect=za(()=>{this.isPolling()?(this.#e.set([]),this.id.set(0),queueMicrotask(()=>this.loadLogs()),this.timerInterval&&clearInterval(this.timerInterval),this.timerInterval=setInterval(()=>{this.loadLogs();},3e3)):this.clearPolling();});setWhenFilter(e){this.whenFilter.set(e);}setBackupIdFilter(e){this.backupIdFilter.set(e);}loadLogs(){this.logsLoading.set(true),this.#l.getApiV1LogdataPoll({id:this.id(),level:this.logLevel(),pagesize:this.pagination().pagesize}).pipe(qu(()=>this.logsLoading.set(false))).subscribe({next:e=>{let i=e.reverse(),t=this.#i(i);t>0&&this.id.set(t),this.#e.set([...i,...this.#e()]);}});}updateLogLevel(e){this.logLevel.set(e),e==="Disabled"&&this.clearPolling();}#i(e){return e.reduce((i,t)=>Math.max(i,t.ID),0)}destroy(){this.logLevel.set("Disabled"),this.clearPolling();}clearPolling(){this.timerInterval&&clearInterval(this.timerInterval),this.timerInterval=void 0;}static \u0275fac=function(i){return new(i||a)};static \u0275prov=ee({token:a,factory:a.\u0275fac,providedIn:"root"})};export{v};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {b as
|
|
2
|
-
`],encapsulation:2});}}return r})(),o=null,at=(()=>{class r{constructor(){this.shTooltip=
|
|
1
|
+
import {b as I1,z as za,c as me,T,ae as eo,bX as ds,bY as pe,bw as le,G as Ge,b6 as Iw,V as Vg,ag as Zg,Y as Yg,N as Nt,bZ as Wr,ad as Mr,bC as ED,h as hw,b_ as ei,Q as Qi,f as aT,$ as $l,C as CE,i as cT,aC as mg,bg as ag,k as iC,A as yg,a$ as JC,w as jC,aa as Ql,b$ as Dg}from'./main-VVQP2YE7.js';var z=r=>({$implicit:r});function U(r,w){r&1&&Dg(0);}function F(r,w){if(r&1&&ag(0,U,1,0,"ng-container",1),r&2){let t=iC();yg("ngTemplateOutlet",t.content())("ngTemplateOutletContext",JC(2,z,t.tooltipContext));}}function $(r,w){if(r&1&&jC(0),r&2){let t=iC();Ql(" ",t.content()," ");}}var X=(()=>{class r{constructor(){this.positionAnchorName=I1.required(),this.anchorEl=I1.required(),this.isOpen=I1(false),this.content=I1(),this.close=I1(()=>{}),this.tooltipContext={close:()=>this.close()()},this.isTemplate=Nt(()=>this.content()instanceof Wr),this.#p=T(Mr),this.#n=T(eo),this.#e=T(ED),this.#t=null,this.SUPPORTS_ANCHOR=typeof CSS<"u"&&CSS.supports("position-anchor","--abc")&&CSS.supports("anchor-name","--abc"),this.isBelow=Ge(false),this.openEffect=za(()=>{if(this.isOpen())queueMicrotask(()=>{let t=this.#n.nativeElement;!t||!t.isConnected||(this.#t&&this.#t.abort(),this.#t=new AbortController,t.showPopover(),this.SUPPORTS_ANCHOR||setTimeout(()=>{this.#i(t).addEventListener("scroll",()=>this.#o(),{signal:this.#t?.signal,passive:true}),window?.addEventListener("resize",()=>this.#o(),{signal:this.#t?.signal,passive:true}),this.#o();}));});else {let t=this.#n.nativeElement;if(t)try{t.matches(":popover-open")&&t.hidePopover();}catch{}this.#t?.abort(),this.#t=null;}}),this.#o=()=>{if(!this.anchorEl())return;let t=this.anchorEl().nativeElement.getBoundingClientRect(),e=this.#n.nativeElement,n=e.getBoundingClientRect();if(n.width===0&&n.height===0)return;let p=8,h=(i,s)=>({left:i.left+i.width/2-s.width/2,top:i.top-s.height-p}),j=[h,(i,s)=>({left:i.right-s.width,top:i.top-s.height-p}),(i,s)=>({left:i.left,top:i.top-s.height-p}),(i,s)=>({left:i.left+i.width/2-s.width/2,top:i.bottom+p}),(i,s)=>({left:i.right-s.width,top:i.bottom+p}),(i,s)=>({left:i.left,top:i.bottom+p})];for(let i of j){let s=i(t,n);if(this.#r(s,n)){this.#s(s,e),this.isBelow.set(s.top>t.top);return}}let v=this.#l(h(t,n),n);this.#s(v,e),this.isBelow.set(v.top>t.top);};}#p;#n;#e;#t;ngOnDestroy(){this.#t?.abort(),this.#t=null;}#i(t){let e=["scroll","auto"],n=t.parentElement;for(;n;){if(e.indexOf(window?.getComputedStyle(n).overflowY)>-1&&n.scrollHeight>n.clientHeight)return n;n=n.parentElement;}return this.#p.documentElement}#o;#s(t,e){this.#e.setStyle(e,"left",`${t.left}px`),this.#e.setStyle(e,"top",`${t.top}px`),this.#e.setStyle(e,"position","fixed"),this.#e.setStyle(e,"margin","0");}#r(t,e){return t.left>=0&&t.top>=0&&t.left+e.width<=window.innerWidth&&t.top+e.height<=window.innerHeight}#l(t,e){return {left:Math.max(0,Math.min(t.left,window.innerWidth-e.width)),top:Math.max(0,Math.min(t.top,window.innerHeight-e.height))}}static{this.\u0275fac=function(e){return new(e||r)};}static{this.\u0275cmp=hw({type:r,selectors:[["ship-tooltip-wrapper"]],hostAttrs:["role","tooltip"],hostVars:5,hostBindings:function(e,n){e&2&&(mg("popover","manual"),Zg("position-anchor",n.positionAnchorName()),Yg("below",n.isBelow()));},inputs:{positionAnchorName:[1,"positionAnchorName"],anchorEl:[1,"anchorEl"],isOpen:[1,"isOpen"],content:[1,"content"],close:[1,"close"]},decls:3,vars:1,consts:[[1,"tooltip-content"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(e,n){e&1&&(Qi(0,"div",0),aT(1,F,1,4,"ng-container")(2,$,1,1),$l()),e&2&&(CE(),cT(n.isTemplate()?1:2));},dependencies:[ei],styles:[`.tooltip{position:relative;display:flex;pointer-events:initial!important}.tooltip:after{content:"";position:absolute;inset:-.5rem;z-index:1}.tooltip.primary+ship-tooltip-wrapper{--tt-bg: var(--primary-2);--tt-c: var(--primary-8)}.tooltip.accent+ship-tooltip-wrapper{--tt-bg: var(--accent-2);--tt-c: var(--accent-8)}.tooltip.warn+ship-tooltip-wrapper{--tt-bg: var(--warn-2);--tt-c: var(--warn-8)}.tooltip.error+ship-tooltip-wrapper{--tt-bg: var(--error-2);--tt-c: var(--error-8)}.tooltip.success+ship-tooltip-wrapper{--tt-bg: var(--success-2);--tt-c: var(--success-8)}.tooltip.active{z-index:1}.tooltip.active+ship-tooltip-wrapper{z-index:1}@supports (anchor-name: --anchor){.tooltip.active+ship-tooltip-wrapper .tooltip-content{transform:translateY(0) scaleY(1) scaleX(1)}}ship-tooltip-wrapper{--tt-bg: var(--base-3);--tt-c: var(--base-12);--tt-mh: 8.5rem;--tt-mw: 17.5rem;--tt-translate-y: 50%;position:fixed;font:var(--paragraph-30);width:max-content;overflow:visible;box-shadow:none;background:transparent;border:0;padding:0;margin:0;margin-block-end:.75rem}@supports (anchor-name: --anchor){ship-tooltip-wrapper{inset:unset;justify-self:anchor-center;bottom:anchor(top);position:fixed;position-try-order:normal;position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline}}ship-tooltip-wrapper:before{content:"";position:absolute;bottom:-.75rem;top:auto;left:50%;z-index:1;transform:translate(-50%);border-width:.375rem;border-style:solid;border-color:transparent;border-top-color:var(--tt-bg);width:0;height:0;opacity:1}ship-tooltip-wrapper.below{--tt-translate-y: -50%}ship-tooltip-wrapper.below:before{border-top-color:transparent;border-bottom-color:var(--tt-bg);top:-.75rem;bottom:auto}@supports not (anchor-name: --anchor){ship-tooltip-wrapper.below{margin-block-start:.75rem;margin-block-end:0}}ship-tooltip-wrapper .tooltip-content{padding:.5rem .75rem;position:relative;hyphens:auto;text-wrap:pretty;color:var(--tt-c);max-height:var(--tt-mh);max-width:var(--tt-mw);overflow:auto;background:var(--tt-bg);border-radius:var(--shape-2);box-shadow:var(--box-shadow-20)}@supports (anchor-name: --anchor){ship-tooltip-wrapper .tooltip-content{transform:translateY(var(--tt-translate-y)) scaleY(0) scaleX(.8);transition:transform 125ms linear}}
|
|
2
|
+
`],encapsulation:2});}}return r})(),o=null,at=(()=>{class r{constructor(){this.shTooltip=I1.required(),this.#p=za(()=>{let t=this.shTooltip();me(()=>{this.isOpen()&&o?.component===this&&o?.wrapperComponentRef&&(o.wrapperComponentRef.setInput("content",t),o.wrapperComponentRef.changeDetectorRef.detectChanges());});}),this.#n=T(eo),this.#e=T(ds),this.#t=T(pe),this.#i=null,this.#o=50,this.anchorName=`--${le()}`,this.isOpen=Ge(false),this.destroyTimeout=null;}#p;#n;#e;#t;#i;#o;onMouseEnter(t){t.stopPropagation(),o&&o.component.anchorName!==this.anchorName?o.component.#a(true):this.#r(),this.#l();}onMouseLeave(t){t.stopPropagation(),this.#s();}ngOnDestroy(){this.#r(),o?.component===this&&this.#a(true);}#s(){this.#r(),this.#i=setTimeout(()=>{this.#a();},this.#o);}#r(){this.#i&&(clearTimeout(this.#i),this.#i=null),this.destroyTimeout&&(clearTimeout(this.destroyTimeout),this.destroyTimeout=null);}#l(){if(o?.wrapperComponentRef||!this.shTooltip()){o?.component===this&&o?.wrapperComponentRef&&o.wrapperComponentRef.setInput("content",this.shTooltip());return}o={wrapperComponentRef:this.#e.createComponent(X,{environmentInjector:this.#t}),component:this},o.wrapperComponentRef.setInput("positionAnchorName",this.anchorName),o.wrapperComponentRef.setInput("anchorEl",this.#n),o.wrapperComponentRef.setInput("isOpen",this.isOpen),o.wrapperComponentRef.setInput("content",this.shTooltip()),o.wrapperComponentRef.setInput("close",()=>this.#a(true)),o.wrapperComponentRef.changeDetectorRef.detectChanges(),o.wrapperComponentRef.location.nativeElement.addEventListener("mouseenter",t=>{t.stopPropagation(),this.#r();}),o.wrapperComponentRef.location.nativeElement.addEventListener("mouseleave",t=>{t.stopPropagation(),this.#s();}),setTimeout(()=>{this.isOpen.set(true);});}#a(t=false){if(o?.wrapperComponentRef){if(o.component!==this&&!t)return;let e=o.wrapperComponentRef,n=o.component;n.#r(),n.isOpen.set(false);try{e.location.nativeElement.hidePopover();}catch{}t?(e.destroy(),o?.wrapperComponentRef===e&&(o=null)):n.destroyTimeout=setTimeout(()=>{queueMicrotask(()=>{e.destroy(),o?.wrapperComponentRef===e&&(o=null);});},this.#o);}}static{this.\u0275fac=function(e){return new(e||r)};}static{this.\u0275dir=Iw({type:r,selectors:[["","shTooltip",""]],hostAttrs:[1,"tooltip"],hostVars:4,hostBindings:function(e,n){e&1&&Vg("mouseenter",function(h){return n.onMouseEnter(h)})("mouseleave",function(h){return n.onMouseLeave(h)}),e&2&&(Zg("anchor-name",n.anchorName),Yg("active",n.isOpen()));},inputs:{shTooltip:[1,"shTooltip"]}});}}return r})();export{at as a};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {OptionsListComponent as Oe$1}from'./chunk-CZoVeRAG.js';import {O}from'./chunk-aOMoAKYY.js';import {T as Tt$1,Z as Ze$1}from'./chunk-kU0H989B.js';import'./chunk-C80zvTbO.js';import {N as Ne$1}from'./chunk-Cjb79u3p.js';import {I}from'./chunk-DJJ8GbYi.js';import {J}from'./chunk-DUYvFN8m.js';import'./chunk-BpRWdcC8.js';import'./chunk-ihUnHtR7.js';import {N as Nt$2}from'./chunk-Bb6BmVO4.js';import'./chunk-DmDqcC4A.js';import'./chunk-CAwTsBqQ.js';import'./chunk-B53Wj4F9.js';import'./chunk-BTgf5lfZ.js';import {T,ab as C,e as ee,aw as W,G as Ge,N as Nt$1,H as qu,h as hw,d as N,v,Q as Qi,V as Vg,f as aT,aP as ql,n as nC,aQ as Gl,p as cm,$ as $l,L as Lg,j as vg,F as Fg,A as yg,C as CE,i as cT,x as am,bh as Q,m,aJ as ci,z as za,cl as zu,aE as jo,bJ as fe,aH as m$1,au as jg,av as rC,aD as YC,a6 as be,at as h,Y as Yg,b0 as Hs,cm as cy,c5 as $s,ay as Gu,bK as Dy,cn as Sy,aZ as ee$1,U as UC,s as CD,y as _D,l as vT,r as kd,k as iC,O as Od,bg as ag,a3 as KC,w as jC,aM as ob,aB as im,aN as ab,aa as Ql,aR as sb}from'./main-VVQP2YE7.js';import'./chunk-Bja52qI7.js';import {d}from'./chunk-B8uF0dom.js';import {F as Fe}from'./chunk-B9maI7Xa.js';import {j as jn,G as Gn,T as Tn,Z as Ze,R as Rn,P as Pn,g as gn,h as hn,B as Bn,J as Jt,y as yt$1,r as rn}from'./chunk-BO2GlieG.js';import'./chunk-CKnRcyHZ.js';import'./chunk-CwKy8pxa.js';import {O as O$1}from'./chunk-BVEyeg9y.js';import'./chunk-DqIU7ViF.js';import {L}from'./chunk-Box6Lckh.js';var _e={handleExisting:"saveTimestamp",permissions:false,includeMetadata:true},gt=new Set(["true","1","yes","on"]),Ce=i=>(i??"").trim().replace(/^--/,"").toLowerCase(),lt=i=>gt.has((i??"").trim().toLowerCase()),_t=(i,t,e,o)=>{let n=Ce(i),r=t.find(c=>Ce(c.Name)===n);if(r)return lt(r.Value);let l=Object.keys(e).find(c=>Ce(c)===n);return l?lt(e[l]):o},ct=(i,t)=>{let e=i??[],o=_t("restore-permissions",e,t,_e.permissions),n=_t("skip-metadata",e,t,false);return {permissions:o,includeMetadata:!n}};function Ft(i,t){i&1&&(Qi(0,"p"),nC(1,3),$l());}function Ct(i,t){i&1&&(Qi(0,"sh-form-field")(1,"label",11),nC(2,4),$l(),vg(3,"input",12),CD(),$l()),i&2&&(CE(3),_D());}var ut=new jn,mt=()=>ut.group({passphrase:ut.control("")}),Oe=class i{#e=T(C);#t=T(G);#i=T(ee);#n=T(W);encryptionForm=this.#t.encryptionForm;creatingTemporaryBackup=Ge(false);settings=Ge([]);hasEncryptedBackup=Nt$1(()=>{let t=this.#t.destinationTestSignal();return t==="testing"||typeof t=="string"?true:t?.containsEncryptedBackupFiles??true});showEncryptionField=Ge(false);next(){let t=this.#t.destinationTargetUrl();if(!t)throw new Error("No target URL");this.creatingTemporaryBackup.set(true);let e=this.encryptionForm.value?.passphrase??null,o=[];e?o.push({Name:"--passphrase",Value:e}):o.push({Name:"--no-encryption",Value:"true"}),this.settings().forEach(n=>{let r=n.Name?.trim();r&&r!=="--"&&(r.startsWith("--")||(r=`--${r}`),o.push({Name:r,Value:n.Value??""}));}),this.#e.postApiV1Backups({requestBody:{Backup:{TargetURL:t,Settings:o}},temporary:true}).pipe(qu(()=>this.creatingTemporaryBackup.set(false))).subscribe({next:n=>{let r=n.ID;this.#i.navigate([`/restore-draft/${r}`]);},error:n=>{console.error(n);}});}back(){this.#t.isFileRestore()?this.#i.navigate(["destination"],{relativeTo:this.#n.parent}):this.#t.exit();}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-restore-encryption"]],decls:14,vars:5,consts:()=>{let t;t=$localize`Advanced options`;let e;e=$localize`${"\uFFFD#10\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#10\uFFFD"}:CLOSE_TAG_SH_ICON: Back `;let o;o=$localize`${"\uFFFD#13\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#13\uFFFD"}:CLOSE_TAG_SH_ICON: Continue `;let n;n=$localize`The backup does not contain encrypted files.`;let r;r=$localize`Enter backup passphrase if defined.`;let l;return l=$localize`Password`,[t,e,o,n,l,[3,"submit","formGroup"],["title",""],[3,"optionsChange","options","hasFreeTextSettings"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary"],["for","password"],["type","password","id","password","autocomplete","disabled","placeholder",r,"formControlName","passphrase"]]},template:function(e,o){e&1&&(Qi(0,"form",5),Vg("submit",function(){return o.next()}),aT(1,Ft,2,0,"p"),aT(2,Ct,4,0,"sh-form-field"),Qi(3,"sh-toggle-card"),ql(4,6),nC(5,0),Gl(),Qi(6,"app-options-list",7),cm("optionsChange",function(r){return UC(o.settings,r)||(o.settings=r),r}),$l()(),Qi(7,"div",8)(8,"button",9),Vg("click",function(){return o.back()}),Lg(9,1),vg(10,"sh-icon"),Fg(),$l(),Qi(11,"button",10),Lg(12,2),vg(13,"sh-icon"),Fg(),$l()()()),e&2&&(yg("formGroup",o.encryptionForm),CE(),cT(o.hasEncryptedBackup()?-1:1),CE(),cT(o.hasEncryptedBackup()||o.showEncryptionField()?2:-1),CE(4),am("options",o.settings),yg("hasFreeTextSettings",true));},dependencies:[Gn,Tn,Ze,Rn,Pn,gn,hn,Fe,N,v,I,Oe$1],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"]})};var St=()=>({standalone:true});function Ot(i,t){i&1&&vg(0,"sh-progress-bar",13);}function ft(i,t){if(i&1&&(jC(0),ob(1,"bytes")),i&2){let e=iC().$implicit;Ql(" (",sb(1,1,e.FileSizes),") ");}}function Nt(i,t){i&1&&(Qi(0,"span",20),nC(1,4),$l());}function ht(i,t){if(i&1&&(Qi(0,"div",19),jC(1),ob(2,"date"),aT(3,ft,2,3),aT(4,Nt,2,0,"span",20),$l()),i&2){let e=t.$implicit;CE(),im(" ",e.Version,": ",ab(2,4,e.Time,"medium")," "),CE(2),cT(e.FileSizes?3:-1),CE(),cT(e.IsFullBackup===false?4:-1);}}function Rt(i,t){i&1&&vg(0,"sh-progress-bar",13);}function Pt(i,t){i&1&&(Qi(0,"sh-icon",28),jC(1,"spinner"),$l());}function It(i,t){i&1&&(Qi(0,"sh-icon"),jC(1,"magnifying-glass"),$l());}function Mt(i,t){if(i&1){let e=vT();Qi(0,"button",31),Vg("click",function(){kd(e);let n=iC(4);return Od(n.clearSearch())}),Qi(1,"sh-icon"),jC(2,"x-circle"),$l(),Qi(3,"span"),nC(4,8),$l()();}}function Lt(i,t){i&1&&(Qi(0,"span"),nC(1,9),$l());}function yt(i,t){if(i&1&&(Qi(0,"span"),nC(1,10),$l()),i&2){let e=iC(5);CE(),jg(e.searchResults().length),rC(1);}}function Dt(i,t){if(i&1&&(Qi(0,"div",30),aT(1,Lt,2,0,"span")(2,yt,2,1,"span"),$l()),i&2){let e=iC(4);CE(),cT(e.searchResults().length===0?1:2);}}function $t(i,t){if(i&1){let e=vT();Qi(0,"div",24)(1,"sh-form-field")(2,"label",25),nC(3,6),$l(),Qi(4,"input",26),cm("ngModelChange",function(n){kd(e);let r=iC(3);return UC(r.searchQuery,n)||(r.searchQuery=n),Od(n)}),Vg("keydown.enter",function(n){kd(e);let r=iC(3);return n.preventDefault(),Od(r.performSearch())}),$l(),CD(),$l(),Qi(5,"button",27),Vg("click",function(){kd(e);let n=iC(3);return Od(n.performSearch())}),aT(6,Pt,2,0,"sh-icon",28)(7,It,2,0,"sh-icon"),Qi(8,"span"),nC(9,7),$l()(),aT(10,Mt,5,0,"button",29),$l(),aT(11,Dt,3,1,"div",30);}if(i&2){let e=iC(3);CE(4),am("ngModel",e.searchQuery),yg("ngModelOptions",KC(6,St)),_D(),CE(),yg("disabled",e.isSearching()||!e.searchQuery().trim()),CE(),cT(e.isSearching()?6:7),CE(4),cT(e.isSearchMode()?10:-1),CE(),cT(e.isSearchMode()&&!e.isSearching()?11:-1);}}function bt(i,t){if(i&1){let e=vT();aT(0,$t,12,7),Qi(1,"app-file-tree",21),Vg("hasExtendedData",function(n){kd(e);let r=iC(2);return Od(r.extendedDataType.set(n))}),Qi(2,"label",22),nC(3,5),$l(),vg(4,"input",23),CD(),$l();}if(i&2){let e=iC(2);cT(e.canSearch()?0:-1),CE(),yg("rootPaths",e.rootPaths())("initialNodes",e.initialNodes())("backupSettings",e.backupSettings())("multiSelect",true)("showFiles",true)("loadExtendedData",true)("searchMode",e.isSearchMode())("searchResults",e.searchResults()),CE(3),_D();}}function vt(i,t){if(i&1){let e=vT();Qi(0,"sh-select",17),Vg("cleared",function(){kd(e);let n=iC();return Od(n.abortLoading())}),Qi(1,"input",18),cm("ngModelChange",function(n){kd(e);let r=iC();return UC(r.selectOption,n)||(r.selectOption=n),Od(n)}),$l(),CD(),ag(2,ht,5,7,"ng-template"),$l(),aT(3,Rt,1,0,"sh-progress-bar",13),aT(4,bt,5,9);}if(i&2){let e=iC();yg("options",e.versionOptions())("isClearable",false),CE(),am("ngModel",e.selectOption),yg("ngModelOptions",KC(6,St)),_D(),CE(2),cT(e.isRepairing()||e.versionOptionsLoading()||e.loadingRootPath()?3:-1),CE(),cT(e.showFileTree()?4:-1);}}var Ne=new jn,Et=()=>Ne.group({filesToRestore:Ne.control(""),passphrase:Ne.control(null)}),he=class i{#e=T(C);#t=T(G);#i=T(Q);#n=T(m);#o=T(ee);#a=T(W);#l=T(ci);#_=null;#r=null;#s=Ge([]);selectFilesForm=this.#t.selectFilesForm;selectFilesFormSignal=this.#t.selectFilesFormSignal;selectOption=this.#t.selectOption;backupId=this.#t.backupId;versionOptionsLoading=this.#t.versionOptionsLoading;versionOptions=this.#t.versionOptions;isFileRestore=this.#t.isFileRestore;extendedDataType=this.#t.extendedDataType;needsDatabaseRepair=Nt$1(()=>this.#t.backup()?.Backup?.IsTemporary??true);showFileTree=Ge(false);backupSettings=Ge(null);rootPaths=Ge([]);initialNodes=Ge([]);loadingRootPath=Ge(false);isRepairing=Nt$1(()=>this.#s().length>0);loadedVersions=Ge({});canSearch=Nt$1(()=>this.#n.hasV2ListOperations());searchQuery=Ge("");isSearching=Ge(false);searchResults=Ge([]);hasSearched=Ge(false);isSearchMode=Nt$1(()=>this.searchQuery().length>0&&this.hasSearched());loadingEffect=za(()=>{if(this.versionOptionsLoading())return;let e=this.versionOptions();if(e&&e?.length>0){let o=e[0].Version;this.selectOption.set(o.toString());}});backupSettingsEffect=za(()=>{let t=this.backupId(),e=this.selectOption(),o=this.isRepairing(),n=this.loadedVersions();if(!e||!t)return;let l=this.versionOptions()?.find(w=>w.Version===parseInt(e))?.Time??null;if(!l)return;let c=`${t}+${l}`,I=n[c];if(this.needsDatabaseRepair()&&(!I||o))return;let D={id:t+"",time:l};this.backupSettings.set(D),this.getRootPath(D);});repairEffect=za(()=>{if(!this.needsDatabaseRepair())return;let t=this.selectOption(),e=this.versionOptions();if(t){let o=e.find(l=>l.Version===parseInt(t));if(o===void 0)return;let n=this.backupId(),r=`${n}+${o.Time}`;if(this.#r===r||(this.#r=r,this.#s().includes(r)))return;this.#s.update(l=>[...l,r]),this.#e.postApiV1BackupByIdRepairupdate({id:n,requestBody:{only_paths:true,time:o.Time}}).pipe(zu(this.abortLoading$),qu(()=>{this.#r=null;})).subscribe(l=>{let c=l.ID;this.#i.waitForTaskToComplete(c).pipe(jo(1)).subscribe(()=>{this.#s.update(I=>I.filter(D=>D!==r)),this.loadedVersions.update(I=>(I[r]=true,I));});});}});getRootPath(t){let e={id:t.id+"",time:t.time,prefixOnly:true,folderContents:false},o=t.id+"";this.isRepairing()||this.#_===o||(this.#_=o,this.loadingRootPath.set(true),this.showFileTree.set(false),this.#n.hasV2ListOperations()?this.#e.postApiV2BackupListFolder({requestBody:{BackupId:t.id,Time:t.time,Paths:null,PageSize:0,Page:0,ReturnExtended:true}}).pipe(zu(this.abortLoading$),qu(()=>{this.showFileTree.set(true),this.loadingRootPath.set(false),this.#_=null;})).subscribe({next:n=>{let r=(n.Data??[]).find(c=>c.Metadata&&c.Metadata.ExtType&&c.Metadata.ExtType.length>0);r&&this.extendedDataType.set(r.Metadata.ExtType);let l=(n.Data??[]).map(c=>c.Path??"");l.length>0?(this.initialNodes.set([]),this.rootPaths.set(l)):(this.initialNodes.set([]),this.rootPaths.set(["/"]));}}):this.#e.getApiV1BackupByIdFiles(e).pipe(zu(this.abortLoading$),qu(()=>{this.showFileTree.set(true),this.loadingRootPath.set(false);})).subscribe({next:n=>{let r=n.Files.map(l=>l.Path??"");r.length>0?(this.initialNodes.set([]),this.rootPaths.set(r)):(this.initialNodes.set([]),this.rootPaths.set(["/"]));}}));}abortLoading$=new fe;abortLoading(){this.showFileTree.set(false),this.loadingRootPath.set(false),this.abortLoading$.next(true);}displayFn(){let t=this.versionOptions();return e=>{if(!e)return "";let o=t?.find(n=>typeof n.Version=="number"&&n.Version.toString()===e);return o?`${o.Version}: ${this.#l.transform(o.Time,"medium")}`:""}}next(){this.#o.navigate(["options"],{relativeTo:this.#a.parent});}back(){this.#t.isFileRestore()?this.#o.navigate(["encryption"],{relativeTo:this.#a.parent}):this.#t.exit();}performSearch(){let t=this.searchQuery().trim(),e=this.backupSettings(),o=(this.#t.extendedDataType()??"").length>0;if(!t||!e)return;let r=this.versionOptions()?.find(l=>l.Version===parseInt(this.selectOption()??""))?.Version;r!=null&&(this.isSearching.set(true),this.searchResults.set([]),this.hasSearched.set(true),this.#e.postApiV2BackupSearch({requestBody:{BackupId:e.id,Time:null,Version:[r],Filters:[t],Paths:null,PageSize:1e3,Page:0,ReturnExtended:o,SearchMetadata:o}}).pipe(zu(this.abortLoading$),qu(()=>this.isSearching.set(false))).subscribe({next:l=>{this.searchResults.set(l.Data??[]);},error:()=>{this.searchResults.set([]);}}));}clearSearch(){this.searchQuery.set(""),this.searchResults.set([]),this.hasSearched.set(false);}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-select-files"]],features:[YC([ci])],decls:13,vars:3,consts:()=>{let t;t=$localize`Select files`;let e;e=$localize`${"\uFFFD#9\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#9\uFFFD"}:CLOSE_TAG_SH_ICON: ${"\uFFFD0\uFFFD"}:INTERPOLATION: `;let o;o=$localize`${"\uFFFD#12\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#12\uFFFD"}:CLOSE_TAG_SH_ICON: Continue `;let n;n=$localize`Select an option...`;let r;r=$localize`(partial)`;let l;l=$localize`Path`;let c;c=$localize`Enter search term...`;let I;I=$localize`Search files`;let D;D=$localize`Search`;let w;w=$localize`Clear`;let oe;oe=$localize`0 results found`;let ne;return ne=$localize`Found ${"\uFFFD0\uFFFD"}:INTERPOLATION: result(s)`,[["formRef",""],t,e,o,r,l,I,D,w,oe,ne,[3,"submit","formGroup"],[1,"title-30"],[1,"indeterminate","primary"],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary"],["value","Version",3,"cleared","options","isClearable"],["type","text","placeholder",n,3,"ngModelChange","ngModel","ngModelOptions"],[1,"custom-option"],[1,"partial"],[3,"hasExtendedData","rootPaths","initialNodes","backupSettings","multiSelect","showFiles","loadExtendedData","searchMode","searchResults"],["for","path"],["type","text","id","path","formControlName","filesToRestore"],[1,"search-container"],["for","search"],["type","text","id","search","placeholder",c,3,"ngModelChange","keydown.enter","ngModel","ngModelOptions"],["shButton","","type","button",1,"small",3,"click","disabled"],[1,"spinner"],["shButton","","type","button",1,"small","secondary"],[1,"search-results-info"],["shButton","","type","button",1,"small","secondary",3,"click"]]},template:function(e,o){e&1&&(Qi(0,"form",11,0),Vg("submit",function(){return o.next()}),Qi(2,"h3",12),nC(3,1),$l(),aT(4,Ot,1,0,"sh-progress-bar",13)(5,vt,5,7),Qi(6,"div",14)(7,"button",15),Vg("click",function(){return o.back()}),Lg(8,2),vg(9,"sh-icon"),Fg(),$l(),Qi(10,"button",16),Lg(11,3),vg(12,"sh-icon"),Fg(),$l()()()),e&2&&(yg("formGroup",o.selectFilesForm),CE(4),cT(o.versionOptionsLoading()?4:5),CE(5),jg(o.isFileRestore()?"Back":"Exit"),rC(8));},dependencies:[Bn,Tn,Ze,Rn,Pn,Jt,Gn,gn,hn,Ne$1,v,Fe,N,Nt$2,d,ci,m$1],styles:["[_nghost-%COMP%]{display:block;margin-top:2.5rem}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.partial[_ngcontent-%COMP%]{color:var(--base-9);font-style:italic}.search-container[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.search-container[_ngcontent-%COMP%] sh-form-field[_ngcontent-%COMP%]{flex:1}.search-results-info[_ngcontent-%COMP%]{color:var(--base-8);font-size:var(--small)}"]})};var G=class i{#e=T(ee);#t=T(W);#i=T(m);#n=T(be);#o=T(C);#a=T(O$1);#l=null;backupId=Ge(null);backup=Ge(null);destinationTargetUrl=Ge(null);destinationTestSignal=Ge(null);selectFilesForm=Et();optionsForm=Tt();encryptionForm=mt();optionsFormSignal=L(this.optionsForm.valueChanges);selectFilesFormSignal=L(this.selectFilesForm.valueChanges);selectOption=Ge(null);versionOptionsLoading=Ge(false);versionOptions=Ge([]);isSubmitting=Ge(false);isFileRestore=Ge(false);isFullWidthPage=Ge(false);extendedDataType=Ge(null);alternateRestorePath=Ge(null);alternateRestorePathSourcePrefix=Ge(null);#_=za(()=>{let t=this.backupId(),e=this.backup()?.Backup,o=this.#a.serverSettings();!t||!e||o===void 0||e.ID!==null&&e.ID!==t||this.#l!==t&&(this.#l=t,this.optionsForm.patchValue(ct(e.Settings,o)));});init(t,e=false){this.backupId.set(t),this.isFileRestore.set(e),this.alternateRestorePath.set(null),this.extendedDataType.set(null),e&&this.#e.navigate(["/restore-from-files/destination"]),e||this.getBackup();}updateTargetUrl(t){this.destinationTargetUrl.set(t);}setAlternateRestorePath(t,e){this.alternateRestorePath.set(t),this.alternateRestorePathSourcePrefix.set(e);}submit(){this.isSubmitting.set(true);let t=this.backupId();this.backup()?.Backup?.IsTemporary??false?this.#o.postApiV1BackupByIdCopytotemp({id:this.backupId()??""}).subscribe({next:o=>{this.#r(o.ID??"");},error:o=>this.showErrorDialog($localize`An error occurred while copying the backup to a temporary location: ${o.message}`)}):this.#r(t??"");}showErrorDialog(t){this.#n.open(h,{data:{title:$localize`Error occured`,message:t,confirmText:$localize`OK`,cancelText:void 0},closed:e=>{}});}#r(t){let e=this.optionsForm.value,o=this.selectFilesForm.value,n=this.selectOption(),r=this.versionOptions()?.find(l=>l.Version===(n&&parseInt(n)));this.#o.postApiV1BackupByIdRestore({id:t??"",requestBody:{paths:o.filesToRestore?.split("\0").map(l=>l.endsWith("/")||l.endsWith("\\")?`${l}*`:l)??[],passphrase:o.passphrase??null,time:r?.Time,restore_path:this.alternateRestorePath()??e.restoreFromPath,overwrite:e.handleExisting==="overwrite",permissions:e.permissions,skip_metadata:!e.includeMetadata,source_prefix:this.alternateRestorePathSourcePrefix(),connection_string_id:null}}).pipe(qu(()=>this.isSubmitting.set(false))).subscribe({next:l=>{this.#e.navigate([`./${l.ID}`,"progress"],{relativeTo:this.#t});},error:l=>{console.error("restore error",l);}});}exit(){this.#n.open(h,{data:{title:$localize`Confirm exit?`,message:$localize`Are you sure you want to exit?`,confirmText:$localize`Yes`,cancelText:$localize`Cancel`},closed:t=>{t&&(this.#s(),this.#e.navigate(["/"]));}});}getVersionOptions(){this.versionOptions();}loadFilesetsWithRetryv2(t,e=2){return this.#o.postApiV2BackupListFilesets({requestBody:{BackupId:t}}).pipe(Hs(o=>{let n=o?.error?.body?.StatusCode??o?.error?.requestBody?.StatusCode;return n==="EncryptedStorageNoPassphrase"||n==="FolderMissing"||n==="EmptyRemoteFolder"||e===0?cy(()=>o):$s(1e3).pipe(Gu(()=>this.loadFilesetsWithRetryv2(t,e-1)))}))}getBackup(){let t=this.backupId();this.versionOptionsLoading.set(true),this.#i.hasV2ListOperations()?Dy([this.#o.getApiV1BackupById({id:t}),this.loadFilesetsWithRetryv2(t)]).pipe(jo(1),qu(()=>this.versionOptionsLoading.set(false))).subscribe({next:([e,o])=>{if(o.Error)throw new Error(o.Error);if(!(e.Backup?.IsTemporary??true)&&e?.Backup?.DBPathExists===false){this.#n.open(h,{data:{title:$localize`Missing Local Database`,message:$localize`The local database for this backup is missing. Please repair or recreate the local database before restoring.`,confirmText:$localize`OK`,cancelText:void 0},closed:r=>{this.#e.navigate(["/backup",t,"database"]);}});return}this.versionOptions.set((o.Data??[]).map(r=>({Version:r.Version??-1,IsFullBackup:r.IsFullBackup??void 0,Time:r.Time??"<missing>",FileCount:r.FileCount??void 0,FileSizes:r.FileSizes??void 0}))),this.backup.set(e);},error:e=>{let o=e?.error?.body?.StatusCode??e?.error?.requestBody?.StatusCode,n=o==="EncryptedStorageNoPassphrase",r=o==="FolderMissing",l=o==="EmptyRemoteFolder",c=$localize`An error occurred while loading the backup filesets: ${e.message}`;n&&(c=$localize`The remote storage is encrypted. Please enter the passphrase to access the backup.`),r&&(c=$localize`The backup storage folder was not found.`),l&&(c=$localize`The backup storage folder does not contain any filesets.`),this.#n.open(h,{data:{title:$localize`Failed to load backup filesets`,message:c,confirmText:$localize`OK`,cancelText:void 0},closed:I=>{this.#e.navigate([n?"/restore-from-files/encryption":"/restore-from-files/destination"]);}});}}):Dy([this.#o.getApiV1BackupById({id:t}),this.#o.getApiV1BackupByIdFilesets({id:t}).pipe(Sy(3))]).pipe(jo(1),qu(()=>this.versionOptionsLoading.set(false))).subscribe({next:([e,o])=>{this.versionOptions.set(o.map(n=>({Version:n.Version??-1,IsFullBackup:(n.IsFullBackup??1)==1,Time:n.Time??"<missing>",FileCount:n.FileCount??void 0,FileSizes:n.FileSizes??void 0}))),this.backup.set(e);}});}#s(){this.selectFilesForm.reset(),this.optionsForm.reset();}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ee$1({token:i,factory:i.\u0275fac,providedIn:"root"})};function At(i,t){if(i&1){let e=vT();Qi(0,"sh-radio",28),Lg(1,6),vg(2,"input",32),CD(),Fg(),$l(),Qi(3,"sh-radio",28),Lg(4,7),Qi(5,"input",33),Vg("click",function(){kd(e);let n=iC(2);return Od(n.chooseCustomRemoteDestination())}),$l(),CD(),Fg(),$l();}i&2&&(CE(2),_D(),CE(3),_D());}function xt(i,t){if(i&1){let e=vT();Qi(0,"sh-radio",28),Lg(1,8),vg(2,"input",32),CD(),Fg(),$l(),Qi(3,"sh-radio",28),Lg(4,9),Qi(5,"input",33),Vg("click",function(){kd(e);let n=iC(2);return Od(n.chooseCustomRemoteDestination())}),$l(),CD(),Fg(),$l();}i&2&&(CE(2),_D(),CE(3),_D());}function kt(i,t){if(i&1){let e=vT();Qi(0,"sh-radio",28),Lg(1,10),Qi(2,"input",34),Vg("click",function(){kd(e);let n=iC(2);return Od(n.chooseDiskDestination())}),$l(),CD(),Fg(),$l();}i&2&&(CE(2),_D());}function Gt(i,t){if(i&1&&(Qi(0,"app-file-tree",30)(1,"label",35),jC(2,"Path"),$l(),vg(3,"input",36),CD(),$l()),i&2){let e=iC(2);yg("disabled",e.optionsFormSignal()?.restoreFrom!=="pickLocation")("enableCreateFolder",true)("resolvePaths",true),CE(3),_D();}}function wt(i,t){if(i&1&&(Qi(0,"app-file-tree",31)(1,"label",35),jC(2,"Path"),$l(),vg(3,"input",36),CD(),$l()),i&2){let e=iC(2);yg("customRemoteMode",e.extendedDataType())("backupId",e.backupId())("sourcePrefix",e.remoteCustomSourcePrefix())("destinationUrl",e.customDestinationUrl()),CE(3),_D();}}function Wt(i,t){if(i&1&&(aT(0,At,6,0)(1,xt,6,0)(2,kt,3,0,"sh-radio",28),Qi(3,"sh-radio",28),Lg(4,5),vg(5,"input",29),CD(),Fg(),$l(),aT(6,Gt,4,3,"app-file-tree",30),aT(7,wt,4,4,"app-file-tree",31)),i&2){let e=iC();cT(e.extendedDataType()==="o365"?0:e.extendedDataType()==="gsuite"?1:e.extendedDataType()==="diskimage"?2:-1),CE(5),_D(),CE(),cT(e.optionsFormSignal()?.restoreFrom==="pickLocation"?6:-1),CE(),cT(e.showCustomRemoteRestoreTree()?7:-1);}}function Vt(i,t){if(i&1&&(Qi(0,"sh-radio",28),Lg(1,11),vg(2,"input",37),CD(),Fg(),$l(),Qi(3,"sh-radio",28),Lg(4,12),vg(5,"input",29),CD(),Fg(),$l(),Qi(6,"app-file-tree",30)(7,"label",35),jC(8,"Path"),$l(),vg(9,"input",36),CD(),$l()),i&2){let e=iC();CE(2),_D(),CE(3),_D(),CE(),yg("disabled",e.optionsFormSignal()?.restoreFrom!=="pickLocation")("enableCreateFolder",true)("resolvePaths",true),CE(3),_D();}}function Bt(i,t){i&1&&(Qi(0,"app-toggle-card",23),ql(1,24),nC(2,13),Gl(),Qi(3,"sh-toggle",28),Lg(4,14),vg(5,"input",38),CD(),Fg(),$l()()),i&2&&(yg("disableToggle",true),CE(5),_D());}function zt(i,t){i&1&&(Qi(0,"app-toggle-card",23),ql(1,24),nC(2,15),Gl(),Qi(3,"sh-radio",28),Lg(4,16),vg(5,"input",39),CD(),Fg(),$l(),Qi(6,"sh-radio",28),Lg(7,17),vg(8,"input",40),CD(),Fg(),$l()(),Qi(9,"app-toggle-card"),ql(10,24),nC(11,18),Gl(),Qi(12,"sh-toggle",41),Lg(13,19),vg(14,"input",42),CD(),Fg(),$l(),Qi(15,"sh-toggle",41),Lg(16,20),vg(17,"input",43),CD(),Fg(),$l()()),i&2&&(yg("disableToggle",true),CE(5),_D(),CE(3),_D(),CE(6),_D(),CE(3),_D());}var B=new jn,Tt=()=>B.group({restoreFrom:B.control("original"),restoreFromPath:B.control(""),handleExisting:B.control(_e.handleExisting),permissions:B.control(_e.permissions),includeMetadata:B.control(_e.includeMetadata),customRemoteIgnoreExisting:B.control(false)}),Re=class i{#e=T(G);#t=T(ee);#i=T(W);#n=T(m);#o=T(be);optionsForm=this.#e.optionsForm;optionsFormSignal=this.#e.optionsFormSignal;isSubmitting=this.#e.isSubmitting;extendedData=this.#e.extendedDataType;remoteCustomTargetUrl=Ge(null);backupId=Nt$1(()=>this.#e.backup()?.Backup?.ID??null);extendedDataType=Nt$1(()=>{let t=this.#e.extendedDataType();return t==="o365"?"o365":t==="gsuite"?"gsuite":t==="diskimage"?"diskimage":null});remoteCustomSourceEntry=Nt$1(()=>this.#e.backup()?.Backup?.Sources?.filter(t=>t.startsWith("@")&&(t.includes("|office365://")||t.includes("|googleworkspace://")))[0]??null);remoteCustomSourceUrl=Nt$1(()=>this.remoteCustomSourceEntry()?.split("|")[1]??null);remoteCustomSourcePrefix=Nt$1(()=>this.remoteCustomSourceEntry()?.split("|")[0]??null);customDestinationUrl=Nt$1(()=>{let t=this.optionsFormSignal()?.restoreFrom,e=this.extendedDataType()!==null;return t==="same-custom"&&e?this.remoteCustomSourceUrl():t==="other-custom"&&e?this.remoteCustomTargetUrl():t==="diskimage"?"diskimage://":null});showCustomRemoteRestoreTree=Nt$1(()=>!!(this.optionsFormSignal()?.restoreFrom==="same-custom"&&this.customDestinationUrl()&&this.backupId()||this.optionsFormSignal()?.restoreFrom==="other-custom"&&this.customDestinationUrl()||this.optionsFormSignal()?.restoreFrom==="diskimage"));isCustomRemoteRestore=Nt$1(()=>{let t=this.optionsFormSignal()?.restoreFrom;return t==="same-custom"||t==="other-custom"});chooseCustomRemoteDestination(){let t=this.extendedDataType()==="o365"?"office365://":"googleworkspace://";return this.#o.open(Tt$1,{maxWidth:"700px",maxHeight:"80vh",width:"100%",closeOnOutsideClick:false,data:{targetUrlModel:this.remoteCustomTargetUrl()||this.remoteCustomSourceUrl()||t,moduleType:"RestoreDestinationProvider",askToCreate:true,expectedResult:"any",suppressErrorDialogs:true,backupId:this.backupId(),sourcePrefix:this.remoteCustomSourcePrefix()}}).closed.subscribe(o=>{o&&(this.remoteCustomTargetUrl.set(o),this.optionsForm.controls.restoreFrom.setValue("other-custom"));}),false}chooseDiskDestination(){return true}#a=za(()=>{let t=this.optionsFormSignal()?.restoreFrom;this.extendedDataType()!=null&&(t==="original"||t===void 0)&&(this.optionsForm.controls.restoreFrom.setValue("pickLocation"),this.optionsForm.controls.handleExisting.setValue("overwrite")),this.extendedDataType()==null&&(t==="same-custom"||t==="other-custom")&&(this.optionsForm.controls.restoreFrom.setValue("original"),this.optionsForm.controls.handleExisting.setValue("saveTimestamp"));});goBack(){this.#t.navigate(["select-files"],{relativeTo:this.#i.parent});}submit(){let t=this.#e.selectFilesFormSignal()?.filesToRestore??[];if(t.length>0&&this.optionsFormSignal()?.restoreFrom=="original"&&(t[0].includes("/")?"/":"\\")!==this.#n.systemInfo()?.DirectorySeparator){this.#o.open(h,{data:{title:$localize`Confirm target folder`,message:$localize`This backup was created on another operating system. Restoring files without specifying a destination folder can cause files to be restored in unexpected places. Are you sure you want to continue without choosing a destination folder?`,confirmText:$localize`Yes`,cancelText:$localize`Cancel`},closed:r=>{r&&this.#e.submit();}});return}let e=this.optionsFormSignal()?.restoreFrom==="same-custom"||this.optionsFormSignal()?.restoreFrom==="other-custom",o=this.optionsFormSignal()?.restoreFrom==="diskimage";if(e){let n=this.optionsFormSignal()?.restoreFromPath;if(n&&n.startsWith("/")&&(n=n.substring(1)),!n||n.trim()===""){this.#o.open(h,{data:{title:$localize`No path specified`,message:this.extendedDataType()==="gsuite"?$localize`Please choose a path to restore to in the Google Workspace account.`:$localize`Please choose a path to restore to in the Microsoft 365 tenant.`,confirmText:$localize`OK`,cancelText:void 0}});return}let r=this.optionsFormSignal()?.customRemoteIgnoreExisting,l=this.customDestinationUrl()?.substring(this.customDestinationUrl().indexOf("?")),c=this.extendedDataType()==="gsuite"?`@googleworkspace://${encodeURIComponent(n)}${l}&google-ignore-existing=${r?"true":"false"}`:`@office365://${encodeURIComponent(n)}${l}&office365-ignore-existing=${r?"true":"false"}`;this.#e.setAlternateRestorePath(c,this.remoteCustomSourcePrefix()),this.optionsForm.controls.includeMetadata.setValue(true),this.optionsForm.controls.permissions.setValue(true);}else if(o){let n=this.optionsFormSignal()?.restoreFromPath;if(!n||n.trim()===""){this.#o.open(h,{data:{title:$localize`No path specified`,message:$localize`Please choose a target disk to restore to.`,confirmText:$localize`OK`,cancelText:void 0}});return}n.startsWith("@diskimage://")||(n=`@diskimage://${n}`),this.#e.setAlternateRestorePath(n,null),this.optionsForm.controls.includeMetadata.setValue(true),this.optionsForm.controls.permissions.setValue(true);}else this.#e.setAlternateRestorePath(null,null);this.#e.submit();}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=hw({type:i,selectors:[["app-advanced-options-settings"]],decls:18,vars:6,consts:()=>{let t;t=$localize`Restore options`;let e;e=$localize`Where do you want to restore files to?`;let o;o=$localize`${"\uFFFD#14\uFFFD"}:START_TAG_SH_ICON:arrow-left${"\uFFFD/#14\uFFFD"}:CLOSE_TAG_SH_ICON: Go back `;let n;n=$localize`${"\uFFFD#17\uFFFD"}:START_TAG_SH_ICON:arrow-right${"\uFFFD/#17\uFFFD"}:CLOSE_TAG_SH_ICON: Submit `;let r;r=$localize` Local file system ${"\uFFFD#5\uFFFD\uFFFD/#5\uFFFD"}:TAG_INPUT:`;let l;l=$localize` Same Microsoft 365 Tenant ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let c;c=$localize` Different Microsoft 365 Tenant ${"\uFFFD#5\uFFFD\uFFFD/#5\uFFFD"}:TAG_INPUT:`;let I;I=$localize` Same Google Workspace Account ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let D;D=$localize` Different Google Workspace Account ${"\uFFFD#5\uFFFD\uFFFD/#5\uFFFD"}:TAG_INPUT:`;let w;w=$localize` Target disk ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let oe;oe=$localize` Original location ${"\uFFFD#2\uFFFD\uFFFD/#2\uFFFD"}:TAG_INPUT:`;let ne;ne=$localize` Pick location ${"\uFFFD#5\uFFFD\uFFFD/#5\uFFFD"}:TAG_INPUT:`;let P;P=$localize`Restore settings`;let Pe;Pe=$localize` Ignore existing resources in the destination ${"\uFFFD#5\uFFFD\uFFFD/#5\uFFFD"}:TAG_INPUT:`;let Ie;Ie=$localize`How do you want to handle existing files?`;let Me;Me=$localize` Overwrite ${"\uFFFD#5\uFFFD\uFFFD/#5\uFFFD"}:TAG_INPUT:`;let Le;Le=$localize` Save different versions with timestamp in file name ${"\uFFFD#8\uFFFD\uFFFD/#8\uFFFD"}:TAG_INPUT:`;let ye;ye=$localize`Metadata settings`;let De;De=$localize` Restore file metadata ${"\uFFFD#14\uFFFD\uFFFD/#14\uFFFD"}:TAG_INPUT:`;let $e;return $e=$localize` Restore read/write permissions ${"\uFFFD#17\uFFFD\uFFFD/#17\uFFFD"}:TAG_INPUT:`,[["formRef",""],t,e,o,n,r,l,c,I,D,w,oe,ne,P,Pe,Ie,Me,Le,ye,De,$e,[3,"submit","formGroup"],[1,"title-30"],[3,"disableToggle"],["title",""],[1,"form-actions"],["shButton","","type","button",3,"click"],["shButton","","type","submit",1,"raised","primary"],[1,"raised","primary"],["type","radio","name","restoreFrom","value","pickLocation","formControlName","restoreFrom"],[3,"disabled","enableCreateFolder","resolvePaths"],[3,"customRemoteMode","backupId","sourcePrefix","destinationUrl"],["type","radio","name","restoreFrom","value","same-custom","formControlName","restoreFrom"],["type","radio","name","restoreFrom","value","other-custom","formControlName","restoreFrom",3,"click"],["type","radio","name","restoreFrom","value","diskimage","formControlName","restoreFrom",3,"click"],["for","path"],["type","text","id","path","formControlName","restoreFromPath"],["type","radio","name","restoreFrom","value","original","formControlName","restoreFrom"],["type","checkbox","formControlName","customRemoteIgnoreExisting"],["type","radio","name","handleExisting","value","overwrite","formControlName","handleExisting"],["type","radio","name","handleExisting","value","saveTimestamp","formControlName","handleExisting"],[1,"primary","raised"],["type","checkbox","formControlName","includeMetadata"],["type","checkbox","formControlName","permissions"]]},template:function(e,o){e&1&&(Qi(0,"form",21,0),Vg("submit",function(){return o.submit()}),Qi(2,"h3",22),nC(3,1),$l(),Qi(4,"app-toggle-card",23),ql(5,24),nC(6,2),Gl(),aT(7,Wt,8,3)(8,Vt,10,3),$l(),aT(9,Bt,6,1,"app-toggle-card",23)(10,zt,18,1),Qi(11,"div",25)(12,"button",26),Vg("click",function(){return o.goBack()}),Lg(13,3),vg(14,"sh-icon"),Fg(),$l(),Qi(15,"button",27),Lg(16,4),vg(17,"sh-icon"),Fg(),$l()()()),e&2&&(yg("formGroup",o.optionsForm),CE(4),yg("disableToggle",true),CE(3),cT(o.extendedDataType()!==null?7:8),CE(2),cT(o.isCustomRemoteRestore()&&o.optionsFormSignal()?.restoreFrom!=="diskimage"?9:o.optionsFormSignal()?.restoreFrom!=="diskimage"?10:-1),CE(6),Yg("loading",o.isSubmitting()));},dependencies:[Gn,Tn,Ze,yt$1,rn,Rn,Pn,gn,hn,Ze$1,Ne$1,J,O,v,N],styles:["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between}"]})};
|
|
2
|
+
var chunk3ZPV5XW7=/*#__PURE__*/Object.freeze({__proto__:null,createEncryptionForm:mt,default:Oe});var chunk2Z6G3TRC=/*#__PURE__*/Object.freeze({__proto__:null,createRestoreSelectFilesForm:Et,default:he});var chunkW2TUY3B6=/*#__PURE__*/Object.freeze({__proto__:null,createRestoreOptionsForm:Tt,default:Re});export{G,chunk2Z6G3TRC as a,chunkW2TUY3B6 as b,chunk3ZPV5XW7 as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import v$1 from'./chunk-CgcnOoRq.js';import'./chunk-C6QX7znk.js';import'./chunk-DFEb6rgg.js';import {k}from'./chunk-BB1pOOUx.js';import'./chunk-DN6f5jXR.js';import {c}from'./chunk-wyNyzSXi.js';import'./chunk-B2TXzbpy.js';import {T,aX as y,ab as C,a6 as be$1,U as Ue,N as Nt,ba as h,d as dw,bb as Fi,bc as Jt,bd as Kn,v,f as N,be as pi,aJ as ci,aH as m,b1 as m$1,Q as Qi,o as oT,bf as ig,q as PC,H as Hl,X as XT,j as mg,F as Fg,I as Qg,D as DE,i as iT,z as gg,E as nm,aa as Gl,bg as Q,G as Ga,aZ as ee,k as gT,aM as tb,a1 as cT,S as Sd,n as nC,x as xd,aN as ob,aB as rm,aR as rb,a2 as lT,as as Hd,bh as Bd,aP as Ul,aQ as Wl,ap as sT}from'./main-KFKZO6SJ.js';import {f}from'./chunk-DPNAj9Vc.js';import {d}from'./chunk-CRAg6SRo.js';import'./chunk-DipTNkHN.js';import'./chunk-PVmXLw9b.js';var U=class r{#e=T(y);#n=T(Q);#i=Ue([]);recentFiles=this.#i.asReadonly();#r=5;#s=Ue(null);etaData=this.#s.asReadonly();#a=null;#t=null;#o=null;recentFileEffect=Ga(()=>{let i=this.#e.statusData();i&&i.CurrentFilename&&i.CurrentFilesize!==void 0&&this.#c(i.CurrentFilename,i.CurrentFilesize);});#c(i,e){let s=new Date;this.#i.update(c=>c.length>0&&c[0].filename===i?c:[{filename:i,filesize:e,timestamp:s},...c].slice(0,this.#r));}activateView(){this.#a=new Date;let i=this.#e.statusData();i&&i.ProcessedFileCount!==void 0&&i.ProcessedFileSize!==void 0&&(this.#t={files:i.ProcessedFileCount,bytes:i.ProcessedFileSize}),this.#o=setInterval(()=>{this.#l();},1e3);}deactivateView(){this.#a=null,this.#t=null,this.#o&&(clearInterval(this.#o),this.#o=null);}#l(){if(!this.#a||!this.#t)return;let i=this.#e.statusData();if(!i)return;let e=new Date,s=(e.getTime()-this.#a.getTime())/1e3;if(s<5)return;let c=i.ProcessedFileCount||0,P=i.ProcessedFileSize||0,I=c-this.#t.files,k=P-this.#t.bytes,x=I/s,M=k/s,A=(i.TotalFileCount||0)-c,u=(i.TotalFileSize||0)-P,O=null,T=null;x>0&&(O=A/x),M>0&&(T=u/M);let R=null,w="bytes";if(O!==null&&T!==null){let Se=Math.max(O,T);R=new Date(e.getTime()+Se*1e3),w=O>T?"files":"bytes";}else O!==null?(R=new Date(e.getTime()+O*1e3),w="files"):T!==null&&(R=new Date(e.getTime()+T*1e3),w="bytes");this.#s.set({startTime:this.#a,filesProcessedAtStart:this.#t.files,bytesProcessedAtStart:this.#t.bytes,currentFilesPerSecond:x,currentBytesPerSecond:M,estimatedCompletion:R,metric:w});}static \u0275fac=function(e){return new(e||r)};static \u0275prov=ee({token:r,factory:r.\u0275fac,providedIn:"root"})};function xe(r,i){if(r&1&&(Qi(0,"div",42)(1,"span",20),PC(2,"Processing"),Hl(),Qi(3,"sh-list",43)(4,"div",44)(5,"sh-icon"),PC(6,"file"),Hl(),Qi(7,"div",45)(8,"span",46),PC(9),Hl(),Qi(10,"span",47),PC(11),tb(12,"bytes"),Hl()()()()()),r&2){let e=nC(2);DE(8),gg("title",e.statusData()?.CurrentFilename),DE(),Gl(" ",e.statusData()?.CurrentFilename," "),DE(2),nm(rb(12,3,e.statusData()?.CurrentFilesize));}}function Me(r,i){if(r&1&&(Qi(0,"div",35)(1,"span",46),PC(2),Hl(),Qi(3,"span",47),PC(4),tb(5,"bytes"),Hl()()),r&2){let e=i.$implicit;DE(),gg("title",e.filename),DE(),nm(e.filename),DE(2),nm(rb(5,3,e.filesize));}}function Oe(r,i){r&1&&(Qi(0,"div",36),XT(1,2),Hl());}function Te(r,i){if(r&1&&(Qi(0,"sh-list")(1,"div",48)(2,"span",20),PC(3,"ETA"),Hl(),Qi(4,"span",21),PC(5),tb(6,"date"),Qi(7,"span",49),PC(8),tb(9,"relativeTime"),Hl()()(),Qi(10,"div",50)(11,"span",20),PC(12,"Files/s"),Hl(),Qi(13,"span",21),PC(14),tb(15,"number"),Hl()(),Qi(16,"div",50)(17,"span",20),PC(18,"Upload Speed"),Hl(),Qi(19,"span",21),PC(20),tb(21,"bytes"),Hl()()()),r&2){let e=nC(2);DE(5),Gl(" ",ob(6,4,e.etaData()?.estimatedCompletion,"mediumTime")," "),DE(3),Gl(" (",rb(9,7,e.etaData()?.estimatedCompletion),") "),DE(6),Gl(" ",ob(15,9,e.etaData()?.currentFilesPerSecond,"1.1-1")," "),DE(6),Gl("",rb(21,12,e.etaData()?.currentBytesPerSecond),"/s");}}function ve(r,i){if(r&1&&(Qi(0,"div",53)(1,"div",54)(2,"span",55),PC(3),Hl(),Qi(4,"span",56),PC(5),tb(6,"bytes"),Hl()(),mg(7,"sh-progress-bar",57),Hl()),r&2){let e=i.$implicit;DE(2),gg("title",e.BackendPath),DE(),nm(e.BackendPath),DE(2),Gl("",rb(6,4,e.BackendSpeed),"/s"),DE(2),gg("value",(e.BackendFileProgress||0)/(e.BackendFileSize||1)*100);}}function he(r,i){if(r&1&&(Qi(0,"div",51)(1,"sh-list"),ig(2,ve,8,6,"div",52),Hl()()),r&2){let e=nC(2);DE(2),gg("ngForOf",e.statusData()?.ActiveTransfers);}}function ye(r,i){if(r&1){let e=gT();Qi(0,"sh-card")(1,"div",13)(2,"div",14)(3,"sh-icon",15),PC(4,"clock"),Hl(),Qi(5,"h2"),PC(6),Hl()()(),Qi(7,"div",26)(8,"div",27)(9,"span",28),PC(10),tb(11,"number"),Hl()(),mg(12,"sh-progress-bar",29),Qi(13,"sh-list")(14,"div",30)(15,"span",20),PC(16,"Files"),Hl(),Qi(17,"span",21),PC(18),Hl()(),Qi(19,"div",30)(20,"span",20),PC(21,"Size"),Hl(),Qi(22,"span",21),PC(23),tb(24,"bytes"),tb(25,"bytes"),Hl()()()()(),Qi(26,"sh-card")(27,"div",13)(28,"div",14)(29,"sh-icon",15),PC(30,"file"),Hl(),Qi(31,"h3"),PC(32,"Activity"),Hl()()(),Qi(33,"div",31),ig(34,xe,13,5,"div",32),Qi(35,"div",33)(36,"span",20),XT(37,1),Hl(),Qi(38,"sh-list",34),cT(39,Me,6,5,"div",35,sT),oT(41,Oe,2,0,"div",36),Hl()()()(),Qi(42,"sh-card")(43,"div",13)(44,"div",14)(45,"sh-icon",15),PC(46,"gauge"),Hl(),Qi(47,"h3"),PC(48,"Performance"),Hl()(),Qi(49,"div",37),PC(50),tb(51,"bytes"),Hl()(),Qi(52,"div",38),ig(53,Te,22,14,"sh-list",25),Qi(54,"div",39)(55,"button",40),Fg("click",function(){Sd(e);let c=nC();return xd(c.toggleTransfers())}),PC(56),Hl(),ig(57,he,3,1,"div",41),Hl()()();}if(r&2){let e=nC();DE(6),nm(e.statusText()),DE(4),Gl("",ob(11,13,e.progress(),"1.0-0"),"%"),DE(2),gg("value",e.progress()),DE(6),rm("",e.statusData()?.ProcessedFileCount," / ",e.statusData()?.TotalFileCount),DE(5),rm(" ",rb(24,16,e.statusData()?.ProcessedFileSize)," / ",rb(25,18,e.statusData()?.TotalFileSize)," "),DE(11),gg("ngIf",e.statusData()?.CurrentFilename),DE(5),lT(e.recentFiles()),DE(2),iT(e.recentFiles().length===0?41:-1),DE(9),Gl("",rb(51,20,e.statusData()?.BackendSpeed),"/s"),DE(3),gg("ngIf",e.etaData()),DE(3),Gl(" ",e.transfersExpanded()?"Hide Details":"Show Details"," "),DE(),gg("ngIf",e.transfersExpanded());}}function Ee(r,i){if(r&1&&(Qi(0,"sh-card",75)(1,"div",13)(2,"div",14)(3,"sh-icon",15),PC(4,"calendar"),Hl(),Qi(5,"h3"),XT(6,7),Hl()()(),Qi(7,"div",76)(8,"div",77)(9,"span",78),PC(10),Hl(),Qi(11,"div",79)(12,"span",80),PC(13),tb(14,"date"),Hl(),Qi(15,"span",81),PC(16),tb(17,"relativeTime"),Hl()()(),Qi(18,"sh-icon",82),PC(19,"caret-right"),Hl()()()),r&2){let e=nC(2);DE(10),nm(e.nextBackup().backup?.Name),DE(3),nm(ob(14,3,e.nextBackup().time,"medium")),DE(3),Gl("(",rb(17,6,e.nextBackup().time),")");}}function be(r,i){r&1&&(Qi(0,"span",74),XT(1,8),Hl());}function Ne(r,i){if(r&1){let e=gT();Qi(0,"sh-card",58)(1,"div",59)(2,"div",60)(3,"div",61),Hd(),Qi(4,"svg",62),mg(5,"circle",63),Hl(),Bd(),Qi(6,"sh-icon",64),XT(7,3),Hl()()(),Qi(8,"div",65)(9,"h2"),XT(10,4),Hl(),Qi(11,"p",66),XT(12,5),Hl()(),Qi(13,"div",67)(14,"button",68),Fg("click",function(){Sd(e);let c=nC();return xd(c.pauseResume())}),Qi(15,"sh-icon"),PC(16),Hl(),PC(17),Hl()()()(),ig(18,Ee,20,8,"sh-card",69),Qi(19,"sh-card",70)(20,"div",71)(21,"span",20),XT(22,6),Hl(),Qi(23,"div",72)(24,"span",73),PC(25),Hl(),oT(26,be,2,0,"span",74),Hl()()();}if(r&2){let e=nC();DE(14),gg("color",e.clientIsRunning()?"primary":"accent"),DE(2),nm(e.clientIsRunning()?"pause":"play"),DE(),Gl(" ",e.clientIsRunning()?"Pause Execution":"Resume Execution"," "),DE(),gg("ngIf",e.nextBackup()),DE(6),Qg("running",e.clientIsRunning()),DE(),nm(e.serverState()?.ProgramState),DE(),iT(e.clientIsRunning()?-1:26);}}function Ie(r,i){if(r&1&&(Qi(0,"div",35)(1,"span",46),PC(2),Hl(),Qi(3,"span",47),PC(4),tb(5,"bytes"),Hl()()),r&2){let e=i.$implicit;DE(),gg("title",e.filename),DE(),nm(e.filename),DE(2),nm(rb(5,3,e.filesize));}}function ke(r,i){if(r&1&&(Qi(0,"sh-card",83)(1,"div",13)(2,"div",14)(3,"sh-icon",15),PC(4,"clock-counter-clockwise"),Hl(),Qi(5,"h3"),XT(6,9),Hl()()(),Qi(7,"sh-list"),ig(8,Ie,6,5,"div",84),Hl()()),r&2){let e=nC();DE(8),gg("ngForOf",e.recentFiles());}}function Ae(r,i){if(r&1&&(Qi(0,"div",19)(1,"span",20),PC(2,"Next Task:"),Hl(),Qi(3,"div",21)(4,"div"),PC(5),Hl(),Qi(6,"div",49),PC(7),tb(8,"date"),tb(9,"relativeTime"),Hl()()()),r&2){let e=nC();DE(5),nm(e.nextBackup().backup?.Name),DE(2),rm(" ",ob(8,3,e.nextBackup().time,"medium")," (",rb(9,6,e.nextBackup().time),") ");}}function Re(r,i){if(r&1){let e=gT();Ul(0),Qi(1,"button",85),Fg("click",function(){Sd(e);let c=nC();return xd(c.stop())}),Qi(2,"sh-icon"),PC(3,"stop"),Hl(),PC(4," Stop "),Hl(),Qi(5,"button",85),Fg("click",function(){Sd(e);let c=nC();return xd(c.abort())}),Qi(6,"sh-icon"),PC(7,"x-circle"),Hl(),PC(8," Abort "),Hl(),Wl();}}var J=class r{#e=T(y);#n=T(U);#i=T(C);#r=T(be$1);statusData=this.#e.statusData;serverState=this.#e.serverState;recentFiles=this.#n.recentFiles;etaData=this.#n.etaData;transfersExpanded=Ue(false);clientIsRunning=this.#e.clientIsRunning;statusText=Nt(()=>{let i=this.statusData()?.Phase;return i?h[i]||i:""});progress=Nt(()=>{let i=this.statusData();return i?(i.OverallProgress||0)*100:0});nextBackup=Nt(()=>({backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}));ngOnInit(){this.#n.activateView();}ngOnDestroy(){this.#n.deactivateView();}toggleTransfers(){this.transfersExpanded.update(i=>!i);}isTaskRunning(){return !!this.statusData()?.TaskID}taskStartTime(){return this.etaData()?.startTime}currentBackupId(){return this.statusData()?.BackupID}pauseResume(){if(this.clientIsRunning()){this.#r.open(k,{maxWidth:"550px",width:"100%"});return}this.#e.pauseResume().subscribe();}stop(){let i=this.statusData()?.TaskID;i&&this.#i.postApiV1TaskByTaskidStop({taskid:i}).subscribe();}abort(){let i=this.statusData()?.TaskID;i&&this.#i.postApiV1TaskByTaskidAbort({taskid:i}).subscribe();}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=dw({type:r,selectors:[["app-status"]],decls:29,vars:12,consts:()=>{let i;i=$localize`Live Logs`;let e;e=$localize`Recently Processed`;let s;s=$localize`No recent files`;let c;c=$localize`check-bold`;let P;P=$localize`System Ready`;let I;I=$localize`Waiting for the next scheduled backup task.`;let k;k=$localize`Server State`;let x;x=$localize`Next Scheduled Task`;let M;M=$localize`Backups are currently paused`;let A;return A=$localize`Recent Activity`,[i,e,s,c,P,I,k,x,M,A,[1,"status-page"],["class","activity-card",4,"ngIf"],[1,"logs-card"],[1,"card-header"],[1,"header-titl-group"],[1,"header-icon"],[1,"logs-content"],[3,"polling","whenFilter","backupIdFilter"],[1,"server-status-section"],[1,"status-row"],[1,"label"],[1,"value"],["class","status-row",4,"ngIf"],[1,"actions"],["shButton","",3,"click"],[4,"ngIf"],[1,"progress-content"],[1,"percentage-display"],[1,"percentage-value"],[3,"value"],["item","",1,"stat-item"],[1,"files-content"],["class","current-file-section",4,"ngIf"],[1,"recent-files-section"],[1,"recent-files-list"],["item","",1,"file-item"],["item","",1,"empty-state"],[1,"aggregate-speed"],[1,"performance-content"],[1,"transfers-section"],["shButton","","size","small",1,"toggle-btn","ghost",3,"click"],["class","transfer-details",4,"ngIf"],[1,"current-file-section"],[1,"current-file-list"],["item","",1,"file-item","current"],[1,"file-details"],[1,"filename",3,"title"],[1,"filesize"],["item","",1,"eta-item"],[1,"sub-text"],["item","",1,"metric-item"],[1,"transfer-details"],["class","transfer-item","item","",4,"ngFor","ngForOf"],["item","",1,"transfer-item"],[1,"transfer-header"],[1,"path",3,"title"],[1,"speed"],[1,"mini-progress",3,"value"],[1,"idle-hero-card"],[1,"idle-content"],[1,"status-visual"],[1,"complete-status"],[1,"border-svg"],["cx","50","cy","50","r","45",1,"border-circle"],[1,"status-icon"],[1,"status-info"],[1,"status-description"],[1,"idle-actions"],["shButton","",3,"click","color"],["class","next-task-hero",4,"ngIf"],[1,"server-state-card"],[1,"state-content"],[1,"state-line"],[1,"status-badge"],[1,"warning-text"],[1,"next-task-hero"],[1,"next-task-content"],[1,"task-main"],[1,"task-name"],[1,"task-time-group"],[1,"task-time"],[1,"task-relative"],[1,"chevron"],[1,"activity-card"],["class","file-item","item","",4,"ngFor","ngForOf"],["shButton","","color","warn",3,"click"]]},template:function(e,s){e&1&&(Qi(0,"div",10),oT(1,ye,58,22)(2,Ne,27,8),ig(3,ke,9,1,"sh-card",11),Qi(4,"sh-card",12)(5,"div",13)(6,"div",14)(7,"sh-icon",15),PC(8,"list"),Hl(),Qi(9,"h3"),XT(10,0),Hl()()(),Qi(11,"div",16),mg(12,"app-logs-live",17),Hl()(),Qi(13,"sh-card")(14,"div",18)(15,"h3"),PC(16,"Server Status"),Hl(),Qi(17,"div",19)(18,"span",20),PC(19,"State:"),Hl(),Qi(20,"span",21),PC(21),Hl()(),ig(22,Ae,10,8,"div",22),Qi(23,"div",23)(24,"button",24),Fg("click",function(){return s.pauseResume()}),Qi(25,"sh-icon"),PC(26),Hl(),PC(27),Hl(),ig(28,Re,9,0,"ng-container",25),Hl()()()()),e&2&&(Qg("idle",!s.isTaskRunning()),DE(),iT(s.isTaskRunning()?1:2),DE(2),gg("ngIf",!s.isTaskRunning()&&s.recentFiles().length>0),DE(9),gg("polling",s.isTaskRunning())("whenFilter",s.taskStartTime()?.getTime())("backupIdFilter",s.currentBackupId()),DE(9),nm(s.serverState()?.ProgramState),DE(),gg("ngIf",s.nextBackup()),DE(4),nm(s.clientIsRunning()?"pause":"play_arrow"),DE(),Gl(" ",s.clientIsRunning()?"Pause":"Resume"," "),DE(),gg("ngIf",s.isTaskRunning()));},dependencies:[Fi,Jt,Kn,f,d,v,N,v$1,c,pi,ci,m,m$1],styles:["[_nghost-%COMP%]{display:block;padding:24px;max-width:1400px;margin:0 auto}.status-page[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:768px){.status-page[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.status-page[_ngcontent-%COMP%]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){.status-page[_ngcontent-%COMP%] .logs-card[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .idle-hero-card[_ngcontent-%COMP%]{grid-column:span 2}.status-page.idle[_ngcontent-%COMP%] .next-task-hero[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .server-state-card[_ngcontent-%COMP%]{grid-column:3}.status-page.idle[_ngcontent-%COMP%] .activity-card[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .logs-card[_ngcontent-%COMP%]{grid-column:1/-1}}sh-card[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;--sh-card-padding: 24px}.card-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--primary-color);font-size:24px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.progress-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:20px}.progress-content[_ngcontent-%COMP%] .percentage-display[_ngcontent-%COMP%]{text-align:center}.progress-content[_ngcontent-%COMP%] .percentage-display[_ngcontent-%COMP%] .percentage-value[_ngcontent-%COMP%]{font-size:3rem;font-weight:800;color:var(--primary-color);line-height:1}.progress-content[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{height:8px;border-radius:4px;--sh-progress-bar-track-color: var(--bg-secondary)}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.9rem}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:600}.files-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.files-content[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600;margin-bottom:4px;display:block;padding-left:12px}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%]{gap:12px;justify-content:flex-start}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--primary-color)}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%] .file-details[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow:hidden}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .filename[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px;font-size:.9rem;font-weight:500;flex:1}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .filesize[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap}.files-content[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{color:var(--text-secondary);font-style:italic;text-align:center;width:100%}.performance-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.performance-content[_ngcontent-%COMP%] .aggregate-speed[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.9rem}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:600;font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .sub-text[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .sub-text[_ngcontent-%COMP%]{color:var(--text-secondary);font-weight:400;font-size:.85rem;margin-left:4px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .toggle-btn[_ngcontent-%COMP%]{width:100%;margin-bottom:12px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;gap:4px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;font-size:.85rem}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%] .speed[_ngcontent-%COMP%]{color:var(--text-secondary);font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .mini-progress[_ngcontent-%COMP%]{height:4px}.logs-content[_ngcontent-%COMP%] app-logs-live[_ngcontent-%COMP%]{height:350px;display:block}.status-badge[_ngcontent-%COMP%]{padding:4px 12px;border-radius:12px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.8rem;font-weight:500;text-transform:uppercase}.status-badge.running[_ngcontent-%COMP%]{background:rgba(var(--primary-rgb),.1);color:var(--primary-color)}.actions-grid[_ngcontent-%COMP%]{margin-top:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.actions-grid[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:100%;justify-content:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 0;gap:32px}@media(min-width:768px){.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%]{flex-direction:row;text-align:left;justify-content:space-around;padding:48px 0}}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-visual[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-info[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:2rem;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-info[_ngcontent-%COMP%] .status-description[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:1.1rem;max-width:300px}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .idle-actions[_ngcontent-%COMP%]{display:flex;align-items:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .idle-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding-left:32px;padding-right:32px}.complete-status[_ngcontent-%COMP%]{position:relative;width:120px;height:120px;display:flex;justify-content:center;align-items:center;color:var(--primary-color)}.complete-status[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{font-size:48px;opacity:0;animation:_ngcontent-%COMP%_reveal-icon .2s linear forwards;animation-delay:1s}.border-svg[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%}.border-circle[_ngcontent-%COMP%]{fill:none;stroke:var(--primary-color);stroke-width:5px;stroke-dasharray:282.74;stroke-dashoffset:282.74;animation:_ngcontent-%COMP%_draw-border 1.2s linear forwards}@keyframes _ngcontent-%COMP%_draw-border{to{stroke-dashoffset:0}}@keyframes _ngcontent-%COMP%_reveal-icon{to{opacity:1}}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%] .task-name[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:700;color:var(--primary-color)}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%] .task-time-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;color:var(--text-secondary);font-size:.95rem}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .chevron[_ngcontent-%COMP%]{color:var(--text-secondary);opacity:.5}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%] .warning-text[_ngcontent-%COMP%]{font-size:.85rem;color:var(--error-color);font-weight:500}"]})};export{J as default};
|
|
1
|
+
import v$1 from'./chunk-Cz0KuBHB.js';import'./chunk-CIcBoEH1.js';import'./chunk-B52v_pjw.js';import {k}from'./chunk-CUaRQ2FJ.js';import'./chunk-aOMoAKYY.js';import {c}from'./chunk-BpRWdcC8.js';import'./chunk-BTgf5lfZ.js';import {T,aX as y,ab as C,a6 as be$1,G as Ge,N as Nt,bb as h,h as hw,bc as Fi,bd as Jt,be as Kn,v,d as N,bf as pi,aJ as ci,aH as m,b2 as m$1,Q as Qi,f as aT,bg as ag,w as jC,$ as $l,n as nC,j as vg,V as Vg,Y as Yg,C as CE,i as cT,A as yg,J as om,aa as Ql,bh as Q,z as za,aZ as ee,l as vT,aM as ob,a1 as dT,r as kd,k as iC,O as Od,aN as ab,aB as im,aR as sb,a2 as fT,as as Wd,bi as qd,aP as ql,aQ as Gl,ap as lT}from'./main-VVQP2YE7.js';import {f}from'./chunk-Bja52qI7.js';import {d}from'./chunk-B8uF0dom.js';import'./chunk-BO2GlieG.js';import'./chunk-DqIU7ViF.js';var U=class r{#e=T(y);#n=T(Q);#i=Ge([]);recentFiles=this.#i.asReadonly();#r=5;#s=Ge(null);etaData=this.#s.asReadonly();#a=null;#t=null;#o=null;recentFileEffect=za(()=>{let i=this.#e.statusData();i&&i.CurrentFilename&&i.CurrentFilesize!==void 0&&this.#c(i.CurrentFilename,i.CurrentFilesize);});#c(i,e){let s=new Date;this.#i.update(c=>c.length>0&&c[0].filename===i?c:[{filename:i,filesize:e,timestamp:s},...c].slice(0,this.#r));}activateView(){this.#a=new Date;let i=this.#e.statusData();i&&i.ProcessedFileCount!==void 0&&i.ProcessedFileSize!==void 0&&(this.#t={files:i.ProcessedFileCount,bytes:i.ProcessedFileSize}),this.#o=setInterval(()=>{this.#l();},1e3);}deactivateView(){this.#a=null,this.#t=null,this.#o&&(clearInterval(this.#o),this.#o=null);}#l(){if(!this.#a||!this.#t)return;let i=this.#e.statusData();if(!i)return;let e=new Date,s=(e.getTime()-this.#a.getTime())/1e3;if(s<5)return;let c=i.ProcessedFileCount||0,P=i.ProcessedFileSize||0,I=c-this.#t.files,k=P-this.#t.bytes,x=I/s,M=k/s,A=(i.TotalFileCount||0)-c,u=(i.TotalFileSize||0)-P,O=null,T=null;x>0&&(O=A/x),M>0&&(T=u/M);let R=null,w="bytes";if(O!==null&&T!==null){let Se=Math.max(O,T);R=new Date(e.getTime()+Se*1e3),w=O>T?"files":"bytes";}else O!==null?(R=new Date(e.getTime()+O*1e3),w="files"):T!==null&&(R=new Date(e.getTime()+T*1e3),w="bytes");this.#s.set({startTime:this.#a,filesProcessedAtStart:this.#t.files,bytesProcessedAtStart:this.#t.bytes,currentFilesPerSecond:x,currentBytesPerSecond:M,estimatedCompletion:R,metric:w});}static \u0275fac=function(e){return new(e||r)};static \u0275prov=ee({token:r,factory:r.\u0275fac,providedIn:"root"})};function xe(r,i){if(r&1&&(Qi(0,"div",42)(1,"span",20),jC(2,"Processing"),$l(),Qi(3,"sh-list",43)(4,"div",44)(5,"sh-icon"),jC(6,"file"),$l(),Qi(7,"div",45)(8,"span",46),jC(9),$l(),Qi(10,"span",47),jC(11),ob(12,"bytes"),$l()()()()()),r&2){let e=iC(2);CE(8),yg("title",e.statusData()?.CurrentFilename),CE(),Ql(" ",e.statusData()?.CurrentFilename," "),CE(2),om(sb(12,3,e.statusData()?.CurrentFilesize));}}function Me(r,i){if(r&1&&(Qi(0,"div",35)(1,"span",46),jC(2),$l(),Qi(3,"span",47),jC(4),ob(5,"bytes"),$l()()),r&2){let e=i.$implicit;CE(),yg("title",e.filename),CE(),om(e.filename),CE(2),om(sb(5,3,e.filesize));}}function Oe(r,i){r&1&&(Qi(0,"div",36),nC(1,2),$l());}function Te(r,i){if(r&1&&(Qi(0,"sh-list")(1,"div",48)(2,"span",20),jC(3,"ETA"),$l(),Qi(4,"span",21),jC(5),ob(6,"date"),Qi(7,"span",49),jC(8),ob(9,"relativeTime"),$l()()(),Qi(10,"div",50)(11,"span",20),jC(12,"Files/s"),$l(),Qi(13,"span",21),jC(14),ob(15,"number"),$l()(),Qi(16,"div",50)(17,"span",20),jC(18,"Upload Speed"),$l(),Qi(19,"span",21),jC(20),ob(21,"bytes"),$l()()()),r&2){let e=iC(2);CE(5),Ql(" ",ab(6,4,e.etaData()?.estimatedCompletion,"mediumTime")," "),CE(3),Ql(" (",sb(9,7,e.etaData()?.estimatedCompletion),") "),CE(6),Ql(" ",ab(15,9,e.etaData()?.currentFilesPerSecond,"1.1-1")," "),CE(6),Ql("",sb(21,12,e.etaData()?.currentBytesPerSecond),"/s");}}function ve(r,i){if(r&1&&(Qi(0,"div",53)(1,"div",54)(2,"span",55),jC(3),$l(),Qi(4,"span",56),jC(5),ob(6,"bytes"),$l()(),vg(7,"sh-progress-bar",57),$l()),r&2){let e=i.$implicit;CE(2),yg("title",e.BackendPath),CE(),om(e.BackendPath),CE(2),Ql("",sb(6,4,e.BackendSpeed),"/s"),CE(2),yg("value",(e.BackendFileProgress||0)/(e.BackendFileSize||1)*100);}}function he(r,i){if(r&1&&(Qi(0,"div",51)(1,"sh-list"),ag(2,ve,8,6,"div",52),$l()()),r&2){let e=iC(2);CE(2),yg("ngForOf",e.statusData()?.ActiveTransfers);}}function ye(r,i){if(r&1){let e=vT();Qi(0,"sh-card")(1,"div",13)(2,"div",14)(3,"sh-icon",15),jC(4,"clock"),$l(),Qi(5,"h2"),jC(6),$l()()(),Qi(7,"div",26)(8,"div",27)(9,"span",28),jC(10),ob(11,"number"),$l()(),vg(12,"sh-progress-bar",29),Qi(13,"sh-list")(14,"div",30)(15,"span",20),jC(16,"Files"),$l(),Qi(17,"span",21),jC(18),$l()(),Qi(19,"div",30)(20,"span",20),jC(21,"Size"),$l(),Qi(22,"span",21),jC(23),ob(24,"bytes"),ob(25,"bytes"),$l()()()()(),Qi(26,"sh-card")(27,"div",13)(28,"div",14)(29,"sh-icon",15),jC(30,"file"),$l(),Qi(31,"h3"),jC(32,"Activity"),$l()()(),Qi(33,"div",31),ag(34,xe,13,5,"div",32),Qi(35,"div",33)(36,"span",20),nC(37,1),$l(),Qi(38,"sh-list",34),dT(39,Me,6,5,"div",35,lT),aT(41,Oe,2,0,"div",36),$l()()()(),Qi(42,"sh-card")(43,"div",13)(44,"div",14)(45,"sh-icon",15),jC(46,"gauge"),$l(),Qi(47,"h3"),jC(48,"Performance"),$l()(),Qi(49,"div",37),jC(50),ob(51,"bytes"),$l()(),Qi(52,"div",38),ag(53,Te,22,14,"sh-list",25),Qi(54,"div",39)(55,"button",40),Vg("click",function(){kd(e);let c=iC();return Od(c.toggleTransfers())}),jC(56),$l(),ag(57,he,3,1,"div",41),$l()()();}if(r&2){let e=iC();CE(6),om(e.statusText()),CE(4),Ql("",ab(11,13,e.progress(),"1.0-0"),"%"),CE(2),yg("value",e.progress()),CE(6),im("",e.statusData()?.ProcessedFileCount," / ",e.statusData()?.TotalFileCount),CE(5),im(" ",sb(24,16,e.statusData()?.ProcessedFileSize)," / ",sb(25,18,e.statusData()?.TotalFileSize)," "),CE(11),yg("ngIf",e.statusData()?.CurrentFilename),CE(5),fT(e.recentFiles()),CE(2),cT(e.recentFiles().length===0?41:-1),CE(9),Ql("",sb(51,20,e.statusData()?.BackendSpeed),"/s"),CE(3),yg("ngIf",e.etaData()),CE(3),Ql(" ",e.transfersExpanded()?"Hide Details":"Show Details"," "),CE(),yg("ngIf",e.transfersExpanded());}}function Ee(r,i){if(r&1&&(Qi(0,"sh-card",75)(1,"div",13)(2,"div",14)(3,"sh-icon",15),jC(4,"calendar"),$l(),Qi(5,"h3"),nC(6,7),$l()()(),Qi(7,"div",76)(8,"div",77)(9,"span",78),jC(10),$l(),Qi(11,"div",79)(12,"span",80),jC(13),ob(14,"date"),$l(),Qi(15,"span",81),jC(16),ob(17,"relativeTime"),$l()()(),Qi(18,"sh-icon",82),jC(19,"caret-right"),$l()()()),r&2){let e=iC(2);CE(10),om(e.nextBackup().backup?.Name),CE(3),om(ab(14,3,e.nextBackup().time,"medium")),CE(3),Ql("(",sb(17,6,e.nextBackup().time),")");}}function be(r,i){r&1&&(Qi(0,"span",74),nC(1,8),$l());}function Ne(r,i){if(r&1){let e=vT();Qi(0,"sh-card",58)(1,"div",59)(2,"div",60)(3,"div",61),Wd(),Qi(4,"svg",62),vg(5,"circle",63),$l(),qd(),Qi(6,"sh-icon",64),nC(7,3),$l()()(),Qi(8,"div",65)(9,"h2"),nC(10,4),$l(),Qi(11,"p",66),nC(12,5),$l()(),Qi(13,"div",67)(14,"button",68),Vg("click",function(){kd(e);let c=iC();return Od(c.pauseResume())}),Qi(15,"sh-icon"),jC(16),$l(),jC(17),$l()()()(),ag(18,Ee,20,8,"sh-card",69),Qi(19,"sh-card",70)(20,"div",71)(21,"span",20),nC(22,6),$l(),Qi(23,"div",72)(24,"span",73),jC(25),$l(),aT(26,be,2,0,"span",74),$l()()();}if(r&2){let e=iC();CE(14),yg("color",e.clientIsRunning()?"primary":"accent"),CE(2),om(e.clientIsRunning()?"pause":"play"),CE(),Ql(" ",e.clientIsRunning()?"Pause Execution":"Resume Execution"," "),CE(),yg("ngIf",e.nextBackup()),CE(6),Yg("running",e.clientIsRunning()),CE(),om(e.serverState()?.ProgramState),CE(),cT(e.clientIsRunning()?-1:26);}}function Ie(r,i){if(r&1&&(Qi(0,"div",35)(1,"span",46),jC(2),$l(),Qi(3,"span",47),jC(4),ob(5,"bytes"),$l()()),r&2){let e=i.$implicit;CE(),yg("title",e.filename),CE(),om(e.filename),CE(2),om(sb(5,3,e.filesize));}}function ke(r,i){if(r&1&&(Qi(0,"sh-card",83)(1,"div",13)(2,"div",14)(3,"sh-icon",15),jC(4,"clock-counter-clockwise"),$l(),Qi(5,"h3"),nC(6,9),$l()()(),Qi(7,"sh-list"),ag(8,Ie,6,5,"div",84),$l()()),r&2){let e=iC();CE(8),yg("ngForOf",e.recentFiles());}}function Ae(r,i){if(r&1&&(Qi(0,"div",19)(1,"span",20),jC(2,"Next Task:"),$l(),Qi(3,"div",21)(4,"div"),jC(5),$l(),Qi(6,"div",49),jC(7),ob(8,"date"),ob(9,"relativeTime"),$l()()()),r&2){let e=iC();CE(5),om(e.nextBackup().backup?.Name),CE(2),im(" ",ab(8,3,e.nextBackup().time,"medium")," (",sb(9,6,e.nextBackup().time),") ");}}function Re(r,i){if(r&1){let e=vT();ql(0),Qi(1,"button",85),Vg("click",function(){kd(e);let c=iC();return Od(c.stop())}),Qi(2,"sh-icon"),jC(3,"stop"),$l(),jC(4," Stop "),$l(),Qi(5,"button",85),Vg("click",function(){kd(e);let c=iC();return Od(c.abort())}),Qi(6,"sh-icon"),jC(7,"x-circle"),$l(),jC(8," Abort "),$l(),Gl();}}var J=class r{#e=T(y);#n=T(U);#i=T(C);#r=T(be$1);statusData=this.#e.statusData;serverState=this.#e.serverState;recentFiles=this.#n.recentFiles;etaData=this.#n.etaData;transfersExpanded=Ge(false);clientIsRunning=this.#e.clientIsRunning;statusText=Nt(()=>{let i=this.statusData()?.Phase;return i?h[i]||i:""});progress=Nt(()=>{let i=this.statusData();return i?(i.OverallProgress||0)*100:0});nextBackup=Nt(()=>({backup:this.serverState()?.ProposedSchedule?.[0]?.backup,time:this.serverState()?.ProposedSchedule?.[0]?.Item2}));ngOnInit(){this.#n.activateView();}ngOnDestroy(){this.#n.deactivateView();}toggleTransfers(){this.transfersExpanded.update(i=>!i);}isTaskRunning(){return !!this.statusData()?.TaskID}taskStartTime(){return this.etaData()?.startTime}currentBackupId(){return this.statusData()?.BackupID}pauseResume(){if(this.clientIsRunning()){this.#r.open(k,{maxWidth:"550px",width:"100%"});return}this.#e.pauseResume().subscribe();}stop(){let i=this.statusData()?.TaskID;i&&this.#i.postApiV1TaskByTaskidStop({taskid:i}).subscribe();}abort(){let i=this.statusData()?.TaskID;i&&this.#i.postApiV1TaskByTaskidAbort({taskid:i}).subscribe();}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=hw({type:r,selectors:[["app-status"]],decls:29,vars:12,consts:()=>{let i;i=$localize`Live Logs`;let e;e=$localize`Recently Processed`;let s;s=$localize`No recent files`;let c;c=$localize`check-bold`;let P;P=$localize`System Ready`;let I;I=$localize`Waiting for the next scheduled backup task.`;let k;k=$localize`Server State`;let x;x=$localize`Next Scheduled Task`;let M;M=$localize`Backups are currently paused`;let A;return A=$localize`Recent Activity`,[i,e,s,c,P,I,k,x,M,A,[1,"status-page"],["class","activity-card",4,"ngIf"],[1,"logs-card"],[1,"card-header"],[1,"header-titl-group"],[1,"header-icon"],[1,"logs-content"],[3,"polling","whenFilter","backupIdFilter"],[1,"server-status-section"],[1,"status-row"],[1,"label"],[1,"value"],["class","status-row",4,"ngIf"],[1,"actions"],["shButton","",3,"click"],[4,"ngIf"],[1,"progress-content"],[1,"percentage-display"],[1,"percentage-value"],[3,"value"],["item","",1,"stat-item"],[1,"files-content"],["class","current-file-section",4,"ngIf"],[1,"recent-files-section"],[1,"recent-files-list"],["item","",1,"file-item"],["item","",1,"empty-state"],[1,"aggregate-speed"],[1,"performance-content"],[1,"transfers-section"],["shButton","","size","small",1,"toggle-btn","ghost",3,"click"],["class","transfer-details",4,"ngIf"],[1,"current-file-section"],[1,"current-file-list"],["item","",1,"file-item","current"],[1,"file-details"],[1,"filename",3,"title"],[1,"filesize"],["item","",1,"eta-item"],[1,"sub-text"],["item","",1,"metric-item"],[1,"transfer-details"],["class","transfer-item","item","",4,"ngFor","ngForOf"],["item","",1,"transfer-item"],[1,"transfer-header"],[1,"path",3,"title"],[1,"speed"],[1,"mini-progress",3,"value"],[1,"idle-hero-card"],[1,"idle-content"],[1,"status-visual"],[1,"complete-status"],[1,"border-svg"],["cx","50","cy","50","r","45",1,"border-circle"],[1,"status-icon"],[1,"status-info"],[1,"status-description"],[1,"idle-actions"],["shButton","",3,"click","color"],["class","next-task-hero",4,"ngIf"],[1,"server-state-card"],[1,"state-content"],[1,"state-line"],[1,"status-badge"],[1,"warning-text"],[1,"next-task-hero"],[1,"next-task-content"],[1,"task-main"],[1,"task-name"],[1,"task-time-group"],[1,"task-time"],[1,"task-relative"],[1,"chevron"],[1,"activity-card"],["class","file-item","item","",4,"ngFor","ngForOf"],["shButton","","color","warn",3,"click"]]},template:function(e,s){e&1&&(Qi(0,"div",10),aT(1,ye,58,22)(2,Ne,27,8),ag(3,ke,9,1,"sh-card",11),Qi(4,"sh-card",12)(5,"div",13)(6,"div",14)(7,"sh-icon",15),jC(8,"list"),$l(),Qi(9,"h3"),nC(10,0),$l()()(),Qi(11,"div",16),vg(12,"app-logs-live",17),$l()(),Qi(13,"sh-card")(14,"div",18)(15,"h3"),jC(16,"Server Status"),$l(),Qi(17,"div",19)(18,"span",20),jC(19,"State:"),$l(),Qi(20,"span",21),jC(21),$l()(),ag(22,Ae,10,8,"div",22),Qi(23,"div",23)(24,"button",24),Vg("click",function(){return s.pauseResume()}),Qi(25,"sh-icon"),jC(26),$l(),jC(27),$l(),ag(28,Re,9,0,"ng-container",25),$l()()()()),e&2&&(Yg("idle",!s.isTaskRunning()),CE(),cT(s.isTaskRunning()?1:2),CE(2),yg("ngIf",!s.isTaskRunning()&&s.recentFiles().length>0),CE(9),yg("polling",s.isTaskRunning())("whenFilter",s.taskStartTime()?.getTime())("backupIdFilter",s.currentBackupId()),CE(9),om(s.serverState()?.ProgramState),CE(),yg("ngIf",s.nextBackup()),CE(4),om(s.clientIsRunning()?"pause":"play_arrow"),CE(),Ql(" ",s.clientIsRunning()?"Pause":"Resume"," "),CE(),yg("ngIf",s.isTaskRunning()));},dependencies:[Fi,Jt,Kn,f,d,v,N,v$1,c,pi,ci,m,m$1],styles:["[_nghost-%COMP%]{display:block;padding:24px;max-width:1400px;margin:0 auto}.status-page[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:768px){.status-page[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.status-page[_ngcontent-%COMP%]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){.status-page[_ngcontent-%COMP%] .logs-card[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .idle-hero-card[_ngcontent-%COMP%]{grid-column:span 2}.status-page.idle[_ngcontent-%COMP%] .next-task-hero[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .server-state-card[_ngcontent-%COMP%]{grid-column:3}.status-page.idle[_ngcontent-%COMP%] .activity-card[_ngcontent-%COMP%], .status-page.idle[_ngcontent-%COMP%] .logs-card[_ngcontent-%COMP%]{grid-column:1/-1}}sh-card[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;--sh-card-padding: 24px}.card-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--primary-color);font-size:24px}.card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .card-header[_ngcontent-%COMP%] .header-titl-group[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.progress-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:20px}.progress-content[_ngcontent-%COMP%] .percentage-display[_ngcontent-%COMP%]{text-align:center}.progress-content[_ngcontent-%COMP%] .percentage-display[_ngcontent-%COMP%] .percentage-value[_ngcontent-%COMP%]{font-size:3rem;font-weight:800;color:var(--primary-color);line-height:1}.progress-content[_ngcontent-%COMP%] sh-progress-bar[_ngcontent-%COMP%]{height:8px;border-radius:4px;--sh-progress-bar-track-color: var(--bg-secondary)}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;width:100%}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.9rem}.progress-content[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:600}.files-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.files-content[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600;margin-bottom:4px;display:block;padding-left:12px}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%]{gap:12px;justify-content:flex-start}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%] sh-icon[_ngcontent-%COMP%]{color:var(--primary-color)}.files-content[_ngcontent-%COMP%] .file-item.current[_ngcontent-%COMP%] .file-details[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow:hidden}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .filename[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px;font-size:.9rem;font-weight:500;flex:1}.files-content[_ngcontent-%COMP%] .file-item[_ngcontent-%COMP%] .filesize[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap}.files-content[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{color:var(--text-secondary);font-style:italic;text-align:center;width:100%}.performance-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.performance-content[_ngcontent-%COMP%] .aggregate-speed[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:.9rem}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:600;font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .eta-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .sub-text[_ngcontent-%COMP%], .performance-content[_ngcontent-%COMP%] .metric-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] .sub-text[_ngcontent-%COMP%]{color:var(--text-secondary);font-weight:400;font-size:.85rem;margin-left:4px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .toggle-btn[_ngcontent-%COMP%]{width:100%;margin-bottom:12px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;gap:4px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;font-size:.85rem}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:12px}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .transfer-header[_ngcontent-%COMP%] .speed[_ngcontent-%COMP%]{color:var(--text-secondary);font-variant-numeric:tabular-nums}.performance-content[_ngcontent-%COMP%] .transfers-section[_ngcontent-%COMP%] .transfer-item[_ngcontent-%COMP%] .mini-progress[_ngcontent-%COMP%]{height:4px}.logs-content[_ngcontent-%COMP%] app-logs-live[_ngcontent-%COMP%]{height:350px;display:block}.status-badge[_ngcontent-%COMP%]{padding:4px 12px;border-radius:12px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.8rem;font-weight:500;text-transform:uppercase}.status-badge.running[_ngcontent-%COMP%]{background:rgba(var(--primary-rgb),.1);color:var(--primary-color)}.actions-grid[_ngcontent-%COMP%]{margin-top:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.actions-grid[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:100%;justify-content:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 0;gap:32px}@media(min-width:768px){.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%]{flex-direction:row;text-align:left;justify-content:space-around;padding:48px 0}}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-visual[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-info[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:2rem;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .status-info[_ngcontent-%COMP%] .status-description[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:1.1rem;max-width:300px}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .idle-actions[_ngcontent-%COMP%]{display:flex;align-items:center}.idle-hero-card[_ngcontent-%COMP%] .idle-content[_ngcontent-%COMP%] .idle-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding-left:32px;padding-right:32px}.complete-status[_ngcontent-%COMP%]{position:relative;width:120px;height:120px;display:flex;justify-content:center;align-items:center;color:var(--primary-color)}.complete-status[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{font-size:48px;opacity:0;animation:_ngcontent-%COMP%_reveal-icon .2s linear forwards;animation-delay:1s}.border-svg[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%}.border-circle[_ngcontent-%COMP%]{fill:none;stroke:var(--primary-color);stroke-width:5px;stroke-dasharray:282.74;stroke-dashoffset:282.74;animation:_ngcontent-%COMP%_draw-border 1.2s linear forwards}@keyframes _ngcontent-%COMP%_draw-border{to{stroke-dashoffset:0}}@keyframes _ngcontent-%COMP%_reveal-icon{to{opacity:1}}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%] .task-name[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:700;color:var(--primary-color)}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .task-main[_ngcontent-%COMP%] .task-time-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;color:var(--text-secondary);font-size:.95rem}.next-task-hero[_ngcontent-%COMP%] .next-task-content[_ngcontent-%COMP%] .chevron[_ngcontent-%COMP%]{color:var(--text-secondary);opacity:.5}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.server-state-card[_ngcontent-%COMP%] .state-content[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%] .warning-text[_ngcontent-%COMP%]{font-size:.85rem;color:var(--error-color);font-weight:500}"]})};export{J as default};
|