2 lines
3.2 KiB
JavaScript
2 lines
3.2 KiB
JavaScript
import{d as w,c as u,a as e,h as y,C as k,g as _,H as C,D as b,G as f,r as l,B as R,x as B,q as c,t as I}from"./index-DnbYEqLr.js";const N={class:"min-h-full flex items-center justify-center p-4 sm:p-6"},O={class:"max-w-2xl w-full"},S={class:"glass-card p-8 pt-16 sm:p-12 sm:pt-20 text-center relative overflow-visible onb-card"},T={class:"absolute -top-8 sm:-top-10 left-0 right-0 flex justify-center z-10 onb-logo"},V={class:"logo-gradient-border w-16 h-16 sm:w-20 sm:h-20"},j={key:0,class:"mt-6 glass-card px-6 py-6 text-left"},A={key:0,class:"text-red-400 text-xs mb-2"},D={key:1,class:"text-green-400 text-xs mb-2"},E={class:"flex gap-3"},F=["disabled"],L=w({__name:"OnboardingIntro",setup(U){const m=B();function v(){m.push("/onboarding/path").catch(()=>{})}const d=l(!1),a=l(null),r=l(""),i=l(!1),s=l(""),x=l(!1);function g(n){const o=n.target.files?.[0];if(!o)return;const p=new FileReader;p.onload=()=>{try{a.value=JSON.parse(p.result),s.value=""}catch{s.value="Invalid backup file format",a.value=null}},p.readAsText(o)}async function h(){if(!(!a.value||!r.value)){i.value=!0,s.value="";try{await R.call({method:"backup.restore-identity",params:{backup:a.value,passphrase:r.value}}),x.value=!0,setTimeout(()=>{m.push("/onboarding/did")},1500)}catch(n){s.value=n instanceof Error?n.message:"Restore failed"}finally{i.value=!1}}}return(n,t)=>(c(),u("div",N,[e("div",O,[e("div",S,[e("div",T,[e("div",V,[y(k,{"no-border":"",fit:""})])]),t[4]||(t[4]=e("h1",{class:"text-2xl sm:text-4xl font-bold text-white mb-3 sm:mb-4 onb-title"}," Welcome to Archipelago ",-1)),t[5]||(t[5]=e("p",{class:"text-base sm:text-xl text-white/80 mb-8 sm:mb-12 max-w-2xl mx-auto onb-tagline"}," Your personal server for a sovereign digital life ",-1)),e("button",{onClick:v,class:"glass-button px-6 py-3 sm:px-8 sm:py-4 rounded-lg text-base sm:text-lg font-medium transition-all hover:bg-black/70 hover:border-white/30 onb-cta"}," Unlock your sovereignty → "),e("a",{class:"text-white/50 hover:text-white/80 underline text-sm cursor-pointer mt-4 block text-center onb-cta",onClick:t[0]||(t[0]=o=>d.value=!0)}," Restore from backup "),d.value?(c(),u("div",j,[t[3]||(t[3]=e("h3",{class:"text-sm font-semibold text-white/80 mb-3 uppercase tracking-wide"},"Restore Identity from Backup",-1)),e("input",{type:"file",accept:".json",class:"block w-full text-sm text-white/60 file:mr-4 file:py-2 file:px-4 file:rounded file:border-0 file:text-sm file:bg-white/10 file:text-white/80 hover:file:bg-white/20 mb-3",onChange:g},null,32),_(e("input",{"onUpdate:modelValue":t[1]||(t[1]=o=>r.value=o),type:"password",placeholder:"Backup passphrase",class:"w-full px-4 py-2 bg-white/10 border border-white/20 rounded-lg text-white text-sm focus:outline-none focus:border-white/40 mb-3"},null,512),[[C,r.value]]),s.value?(c(),u("p",A,b(s.value),1)):f("",!0),x.value?(c(),u("p",D,"Identity restored successfully!")):f("",!0),e("div",E,[e("button",{class:"glass-button text-sm px-4 py-2",onClick:t[2]||(t[2]=o=>d.value=!1)},"Cancel"),e("button",{class:"glass-button text-sm px-4 py-2",disabled:!a.value||!r.value||i.value,onClick:h},b(i.value?"Restoring...":"Restore"),9,F)])])):f("",!0)])])]))}}),q=I(L,[["__scopeId","data-v-da05f75f"]]);export{q as default};
|