import{B as e,C as t,Ct as n,D as r,G as i,H as a,Q as o,T as s,Z as ee,_ as c,b as l,c as u,d,lt as f,st as te,u as p,v as m,vt as h,w as g,wt as _,x as v}from"./CaGtQlYh.js";import{At as ne,Jt as re,Kt as y,N as b,Ot as x,Wt as S,a as C,g as w,j as ie,qt as ae,t as T}from"#entry";import{a as E}from"./CIa-1CJu.js";import{n as D}from"./DohEsvF1.js";import{m as oe}from"./CsU6pgHx.js";import{t as O}from"./CX_RojMw.js";var k=[];for(let e=0;e<256;++e)k.push((e+256).toString(16).slice(1));function A(e,t=0){return(k[e[t+0]]+k[e[t+1]]+k[e[t+2]]+k[e[t+3]]+`-`+k[e[t+4]]+k[e[t+5]]+`-`+k[e[t+6]]+k[e[t+7]]+`-`+k[e[t+8]]+k[e[t+9]]+`-`+k[e[t+10]]+k[e[t+11]]+k[e[t+12]]+k[e[t+13]]+k[e[t+14]]+k[e[t+15]]).toLowerCase()}var j=new Uint8Array(16);function M(){return crypto.getRandomValues(j)}function N(e,t,n){return!t&&!e&&crypto.randomUUID?crypto.randomUUID():P(e,t,n)}function P(e,t,n){e||={};let r=e.random??e.rng?.()??M();if(r.length<16)throw Error(`Random bytes length must be >= 16`);if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n||=0,n<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return A(r)}var F={class:`flex h-full items-center justify-center overflow-y-auto bg-linear-to-b from-base-100 to-base-200 p-4`},I={class:`animate-fade-slide-in mx-auto w-full max-w-md`},L={class:`animate-fade-slide-in-delay-1 mb-8 text-center`},R={class:`mb-4`},z={class:`shadow-primary-glow mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-2xl bg-linear-to-br from-primary to-secondary text-primary-content`},B={class:`text-[0.9375rem] text-base-content/60`},V={class:`shadow-card animate-fade-slide-in-delay-2 rounded-2xl border border-base-content/8 bg-base-200/80 p-6 backdrop-blur-md`},H={class:`flex flex-col gap-2`},U={class:`flex items-center gap-2 text-sm font-medium text-base-content/70`,for:`url`},se={id:`defaultEndpoints`},W=[`value`],G=[`value`],K=[`value`],ce=[`value`],le={class:`flex flex-col gap-2`},ue={class:`flex items-center gap-2 text-sm font-medium text-base-content/70`,for:`secret`},de={key:0,class:`rounded-lg border border-error/20 bg-error/10 px-4 py-3 text-sm text-error`},fe={key:0,class:`animate-fade-slide-in-delay-3 mt-6`},pe={class:`flex flex-col gap-3`},me=[`onClick`],he={class:`flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-info/20 text-info`},ge={class:`min-w-0 flex-1 overflow-hidden text-[0.8125rem] font-medium text-ellipsis whitespace-nowrap text-base-content`},_e=[`onClick`],q=T(r({__name:`setup`,setup(r){let{t:T}=x();S({title:c(()=>T(`setup`))});let k=ae(),A=y(),j=ne(),M=te({url:``,secret:``}),P=f(!1),q=f(null),J=re(),Y=c(()=>J.public.defaultBackendURL?J.public.defaultBackendURL:typeof window<`u`&&window.__METACUBEXD_CONFIG__?.defaultBackendURL?window.__METACUBEXD_CONFIG__.defaultBackendURL:E),X=c(()=>typeof window>`u`?``:window.location.origin);function Z(e){j.setSelectedEndpoint(e),k.replace(`/overview`)}async function Q(e){let t=j.endpointList.find(t=>t.id===e);if(!t)return;let n=await D(t.url,t.secret);if(n){q.value=n;return}q.value=null,Z(e)}async function $(){P.value=!0,q.value=null;try{let e=M.url,t=M.secret,n=oe(e),r=await D(n,t);if(r){q.value=r,P.value=!1;return}let i=N(),a=[...j.endpointList],o=a.find(e=>e.url===n);if(!o){j.setEndpointList([{id:i,url:n,secret:t},...a]),Z(i);return}o.secret=t,o.id=i,j.setEndpointList(a),Z(i)}finally{P.value=!1}}function ve(e){j.removeEndpoint(e)}return e(async()=>{let e=A.query||(typeof window<`u`?new URLSearchParams(window.location.search):null);if(e&&typeof e==`object`){let t=e.hostname;if(t){M.url=`${e.http?`http:`:e.https?`https:`:typeof window<`u`?window.location.protocol:`http:`}//${t}${e.port?`:${e.port}`:``}`,M.secret=e.secret||``,await $();return}}j.endpointList.length===0&&(M.url=Y.value,M.secret=``,await $())}),(e,r)=>{let c=O;return a(),v(`div`,F,[m(`div`,I,[m(`div`,L,[m(`div`,R,[m(`div`,z,[s(h(w),{size:32})]),r[2]||=t(`

metacube( xd )

`,1)]),m(`p`,B,_(h(T)(`setupDescription`)),1)]),m(`div`,V,[m(`form`,{class:`flex flex-col gap-5`,onSubmit:p($,[`prevent`])},[m(`div`,H,[m(`label`,U,[s(h(b),{size:16}),m(`span`,null,_(h(T)(`endpointURL`)),1)]),o(m(`input`,{id:`url`,"onUpdate:modelValue":r[0]||=e=>h(M).url=e,type:`url`,class:`w-full rounded-lg border border-base-content/15 bg-base-100/80 px-4 py-3 text-[0.9375rem] text-base-content transition-all duration-200 placeholder:text-base-content/40 focus:border-primary focus:ring-3 focus:ring-primary/20 focus:outline-none`,placeholder:`http(s)://{hostname}:{port}`,list:`defaultEndpoints`,autocomplete:`on`},null,512),[[u,h(M).url]]),m(`datalist`,se,[m(`option`,{value:h(E)},null,8,W),h(Y)&&h(Y)!==h(`http://127.0.0.1:9090`)?(a(),v(`option`,{key:0,value:h(Y)},null,8,G)):l(``,!0),h(X)&&h(X)!==h(`http://127.0.0.1:9090`)?(a(),v(`option`,{key:1,value:h(X)},null,8,K)):l(``,!0),(a(!0),v(d,null,i(h(j).endpointList,e=>(a(),v(`option`,{key:e.id,value:e.url},null,8,ce))),128))])]),r[3]||=m(`input`,{type:`text`,name:`username`,autocomplete:`username`,class:`sr-only`,"aria-hidden":`true`,tabindex:`-1`},null,-1),m(`div`,le,[m(`label`,ue,[s(h(ie),{size:16}),m(`span`,null,_(h(T)(`secret`)),1)]),o(m(`input`,{id:`secret`,"onUpdate:modelValue":r[1]||=e=>h(M).secret=e,type:`password`,class:`w-full rounded-lg border border-base-content/15 bg-base-100/80 px-4 py-3 text-[0.9375rem] text-base-content transition-all duration-200 placeholder:text-base-content/40 focus:border-primary focus:ring-3 focus:ring-primary/20 focus:outline-none`,placeholder:`secret`,autocomplete:`current-password`},null,512),[[u,h(M).secret]])]),h(q)?(a(),v(`div`,de,[h(q)===`mixed_content`?(a(),v(d,{key:0},[g(_(h(T)(`mixedContentError`)),1)],64)):(a(),v(d,{key:1},[g(_(h(T)(`endpointConnectError`)),1)],64))])):l(``,!0),s(c,{type:`submit`,class:`hover:shadow-primary-glow-lg w-full cursor-pointer rounded-lg border-none bg-linear-to-br from-primary to-secondary px-6 py-3.5 text-[0.9375rem] font-semibold tracking-widest text-primary-content uppercase transition-all duration-300 hover:-translate-y-0.5`,loading:h(P)},{default:ee(()=>[g(_(h(T)(`add`)),1)]),_:1},8,[`loading`])],32)]),h(j).endpointList.length>0?(a(),v(`div`,fe,[r[4]||=m(`h3`,{class:`mb-3 text-[0.8125rem] font-semibold tracking-widest text-base-content/50 uppercase`},` Saved Endpoints `,-1),m(`div`,pe,[(a(!0),v(d,null,i(h(j).endpointList,(e,t)=>(a(),v(`div`,{key:e.id,class:`animate-fade-slide-in flex cursor-pointer items-center gap-2 rounded-xl border border-info/20 bg-info/10 p-3 transition-all duration-200 hover:-translate-y-0.5 hover:border-info/30 hover:bg-info/15`,style:n({animationDelay:`${t*50}ms`}),onClick:t=>Q(e.id)},[m(`div`,he,[s(h(w),{size:16})]),m(`span`,ge,_(e.url),1),m(`button`,{class:`flex h-6 w-6 shrink-0 cursor-pointer items-center justify-center rounded-full border-none bg-transparent text-base-content/50 transition-all duration-200 hover:bg-error/15 hover:text-error`,onClick:p(t=>ve(e.id),[`stop`])},[s(h(C),{size:14})],8,_e)],12,me))),128))])])):l(``,!0)])])}}}),[[`__scopeId`,`data-v-170e94cd`]]);export{q as default};