astrion-website/demo/static/dist/assets/SandboxSetupDialog.js

3 lines
7.4 KiB
JavaScript

import{d as T,ab as E,w as V,P as z,m as o,b as F,x as N,u,c as n,f as e,t as a,s as w,F as h,h as I,e as p,r as L,n as P,z as W,T as j,j as $,k as d}from"./index.js";import{C as R,F as H}from"./CloseButton.js";import{a as A}from"./main.js";import{_ as U}from"./_plugin-vue_export-helper.js";import"./useMarkdownRenderer.js";const O={key:0,class:"sandbox-setup-overlay"},q=["aria-label"],G={class:"sandbox-setup-windowbar"},J={class:"sandbox-setup-window-title"},K={class:"sandbox-setup-close"},Q={class:"sandbox-setup-body"},X={key:0,class:"sandbox-setup-state-desc"},Y={key:1,class:"sandbox-setup-state-desc"},Z={class:"sandbox-setup-facts"},ss={key:0,class:"sandbox-setup-phase-line"},es={class:"sandbox-setup-steps"},ts={class:"sandbox-setup-step-icon","aria-hidden":"true"},os={key:0,viewBox:"0 0 20 20",width:"13",height:"13",fill:"none",stroke:"currentColor","stroke-width":"2.4","stroke-linecap":"round","stroke-linejoin":"round"},ns={key:1,class:"sandbox-setup-spinner small"},as={key:2,viewBox:"0 0 20 20",width:"13",height:"13",fill:"none",stroke:"currentColor","stroke-width":"2.4","stroke-linecap":"round"},ls={key:3,class:"sandbox-setup-step-dot"},rs={class:"sandbox-setup-step-title"},is={key:0,class:"sandbox-setup-step-extra"},ds={class:"sandbox-setup-progress"},us={key:1,class:"sandbox-setup-result ok"},ps={key:2,class:"sandbox-setup-result warn"},cs={key:3,class:"sandbox-setup-result error"},bs={class:"sandbox-setup-error-line"},hs={key:0,class:"sandbox-setup-error-hint"},xs={key:4,class:"sandbox-setup-log-block"},vs={class:"sandbox-setup-log-label"},_s={key:0,class:"sandbox-setup-footer"},gs={class:"sandbox-setup-never"},ks=["checked"],fs=["disabled"],ms=["disabled"],ys=T({name:"SandboxSetupDialog",__name:"SandboxSetupDialog",setup(ws){const{t:i}=E(),r=A(),x=$(!1),v=$(null);V(()=>{var s;return(s=r.progress)==null?void 0:s.log_tail.length},async()=>{await z(),v.value&&(v.value.scrollTop=v.value.scrollHeight)});const l=d(()=>r.progress),C=d(()=>{var s;return((s=r.status)==null?void 0:s.distro_name)||"astrion-sandbox"}),S=d(()=>"%USERPROFILE%\\.astrion\\wsl-sandbox"),f=d(()=>{const s=r.status;return!s||!s.applicable?"":s.state==="wsl_missing"?i("sandbox.stateWslMissing"):s.state==="distro_missing"?i("sandbox.stateDistroMissing"):s.state==="bwrap_missing"?i("sandbox.stateBwrapMissing"):""}),M=d(()=>[i("sandbox.stepCheckWsl"),i("sandbox.stepCheckDistro"),i("sandbox.stepDownloadRootfs"),i("sandbox.stepImportDistro"),i("sandbox.stepWriteConfig"),i("sandbox.stepInstallTools")]);function _(s){const t=l.value;return t?t.phase==="verifying"||t.phase==="done"?"done":t.phase==="enabling_wsl"||t.step_index===0?"pending":s<t.step_index?"done":s===t.step_index?t.phase==="error"?"error":"active":"pending":"pending"}const D=d(()=>{const s=l.value;return!s||s.step_index!==3||!s.download_bytes||!s.download_total?0:Math.min(1,s.download_bytes/s.download_total)}),B=d(()=>{const s=l.value;if(!s)return 0;switch(s.phase){case"enabling_wsl":return 4;case"installing_wsl":return 6;case"installing":{const t=s.step_total||6,c=Math.max(0,s.step_index-1);return Math.min(96,Math.round((c+D.value)/t*100))}case"verifying":return 96;case"done":return 100;case"needs_reboot":return 8;case"error":{const t=s.step_total||6;return Math.round(Math.max(0,s.step_index-1)/t*100)}default:return 0}}),m=d(()=>{const s=l.value;return s?s.phase==="enabling_wsl"?i("sandbox.phaseEnablingWsl"):s.phase==="installing_wsl"?i("sandbox.phaseInstallingWsl"):s.phase==="verifying"?i("sandbox.phaseVerifying"):"":""});function g(s){return`${(s/1024/1024).toFixed(1)} MB`}const y=d(()=>{const s=l.value;return!s||!s.download_bytes?"":s.download_total?i("sandbox.downloadProgress",{size:`${g(s.download_bytes)} / ${g(s.download_total)}`}):i("sandbox.downloadProgress",{size:g(s.download_bytes)})});function k(){var s;if((s=r.progress)!=null&&s.active){r.dialogVisible=!1;return}r.closeDialog(x.value)}return(s,t)=>(o(),F(j,{name:"sandbox-setup-fade",appear:""},{default:N(()=>[u(r).dialogVisible?(o(),n("div",O,[e("section",{class:"sandbox-setup-card",role:"dialog","aria-modal":"true","aria-label":s.$t("sandbox.setupAriaLabel")},[e("header",G,[e("div",J,a(s.$t("sandbox.setupTitle")),1),e("span",K,[w(R,{label:s.$t("common.close"),title:s.$t("common.close"),onClick:k},null,8,["label","title"])])]),e("div",Q,[l.value?(o(),n(h,{key:1},[m.value?(o(),n("div",ss,[t[4]||(t[4]=e("span",{class:"sandbox-setup-spinner","aria-hidden":"true"},null,-1)),I(" "+a(m.value),1)])):p("",!0),e("ul",es,[(o(!0),n(h,null,L(M.value,(c,b)=>(o(),n("li",{key:b,class:P(["sandbox-setup-step",_(b+1)])},[e("span",ts,[_(b+1)==="done"?(o(),n("svg",os,[...t[5]||(t[5]=[e("path",{d:"M4 10.5l4 4 8-9"},null,-1)])])):_(b+1)==="active"?(o(),n("span",ns)):_(b+1)==="error"?(o(),n("svg",as,[...t[6]||(t[6]=[e("path",{d:"M5 5l10 10M15 5L5 15"},null,-1)])])):(o(),n("span",ls))]),e("span",rs,a(c),1),b+1===3&&l.value.step_index===3&&y.value?(o(),n("span",is,a(y.value),1)):p("",!0)],2))),128))]),e("div",ds,[e("div",{class:"sandbox-setup-progress-fill",style:W({width:B.value+"%"})},null,4)]),l.value.phase==="done"?(o(),n("div",us,a(s.$t("sandbox.phaseDone")),1)):l.value.phase==="needs_reboot"?(o(),n("div",ps,a(s.$t("sandbox.phaseNeedsReboot")),1)):l.value.phase==="error"?(o(),n("div",cs,[e("p",bs,a(l.value.error||s.$t("sandbox.phaseError")),1),l.value.error_kind==="uac_cancelled"?(o(),n("p",hs,a(s.$t("sandbox.uacCancelledHint")),1)):p("",!0)])):p("",!0),l.value.log_tail.length?(o(),n("div",xs,[e("div",vs,a(s.$t("sandbox.logLabel")),1),e("pre",{ref_key:"logEl",ref:v,class:"sandbox-setup-log"},a(l.value.log_tail.join(`
`)),513)])):p("",!0)],64)):(o(),n(h,{key:0},[t[3]||(t[3]=e("div",{class:"sandbox-setup-hero"},[e("svg",{viewBox:"0 0 24 24",width:"34",height:"34",fill:"none",stroke:"currentColor","stroke-width":"1.6","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e("path",{d:"M12 3l7 3v5c0 4.5-3 8.5-7 10-4-1.5-7-5.5-7-10V6l7-3z"}),e("path",{d:"M9 12l2 2 4-4"})])],-1)),f.value?(o(),n("p",X,a(f.value),1)):(o(),n("p",Y,a(s.$t("sandbox.stateChecking")),1)),e("ul",Z,[e("li",null,a(s.$t("sandbox.introWhat")),1),e("li",null,a(s.$t("sandbox.introEffect")),1),e("li",null,a(s.$t("sandbox.introDisk",{path:S.value})),1),e("li",null,a(s.$t("sandbox.introUninstall",{distro:C.value})),1),e("li",null,a(s.$t("sandbox.introSecure")),1)])],64))]),!l.value||!l.value.active?(o(),n("footer",_s,[l.value?(o(),n(h,{key:1},[t[8]||(t[8]=e("div",{class:"sandbox-setup-spacer"},null,-1)),l.value.phase==="error"||l.value.phase==="needs_reboot"?(o(),n("button",{key:0,type:"button",class:"sandbox-setup-btn primary",disabled:u(r).starting,onClick:t[2]||(t[2]=c=>u(r).retrySetup())},a(l.value.phase==="needs_reboot"?s.$t("sandbox.rebootDone"):s.$t("common.retry")),9,ms)):p("",!0),e("button",{type:"button",class:"sandbox-setup-btn ghost",onClick:k},a(s.$t("common.close")),1)],64)):(o(),n(h,{key:0},[e("label",gs,[e("input",{type:"checkbox",checked:x.value,onChange:t[0]||(t[0]=c=>x.value=c.target.checked)},null,40,ks),w(H,{checked:x.value,size:16},null,8,["checked"]),e("span",null,a(s.$t("sandbox.neverAgain")),1)]),t[7]||(t[7]=e("div",{class:"sandbox-setup-spacer"},null,-1)),e("button",{type:"button",class:"sandbox-setup-btn ghost",onClick:k},a(s.$t("sandbox.later")),1),e("button",{type:"button",class:"sandbox-setup-btn primary",disabled:u(r).starting||u(r).checking||!u(r).status,onClick:t[1]||(t[1]=c=>u(r).startSetup())},a(u(r).starting?s.$t("common.loading"):s.$t("sandbox.installNow")),9,fs)],64))])):p("",!0)],8,q)])):p("",!0)]),_:1}))}}),Bs=U(ys,[["__scopeId","data-v-80d52048"]]);export{Bs as default};