import{a as e}from"./nuxt-l2zm4y7d.js";import{C as t,Ct as n,Mt as r,Qt as i,S as a,T as o,V as s,W as c,Y as l,_ as u,dt as d,g as f,h as p,lt as m,m as h,p as g,s as _,tn as v}from"./vendor/json-editor-vue-9tyg6b65.js";import{Mt as y}from"./ready-e441jhq2.js";import{M as b}from"./utils-ivfwadyv.js";import{h as x,l as S,z as C}from"./client-kfvz1zfh.js";import{t as w}from"./nicon-hgcqr03x.js";import{t as T}from"./nbutton-g8ropw1z.js";import{r as E}from"./state-routes-pcpgumo2.js";import{a as D}from"#entry";import{t as O}from"./pages-dm1j9w83.js";import{n as k,t as A}from"./vendor/xterm-i39rvesb.js";var j={border:`t base`,flex:`~ gap-2`,"items-center":``,p2:``},M={"text-sm":``,op50:``},N=Object.assign(o({__name:`TerminalView`,props:{id:{}},setup(r){let i=r,a=n(),o=e(),l=n(),d;s(async()=>{d=new A({convertEol:!0,cols:80,screenReaderMode:!0});let e=new k;d.loadAddon(e),d.open(a.value),e.fit(),C(window,`resize`,()=>{e.fit()}),l.value=await x.getTerminalDetail(await S(),i.id),l.value?.buffer&&d.write(l.value.buffer),o.hook(`devtools:terminal:data`,({id:e,data:t})=>{e===i.id&&d.write(t)})});async function m(){x.runTerminalAction(await S(),i.id,`clear`),d?.clear()}async function g(){x.runTerminalAction(await S(),i.id,`restart`)}async function y(){x.runTerminalAction(await S(),i.id,`terminate`)}return(e,n)=>{let r=T;return c(),u(_,null,[h(`div`,{ref_key:`container`,ref:a,"h-full":``,"w-full":``,"of-auto":``,"bg-black":``},null,512),h(`div`,j,[t(r,{title:`Clear`,icon:`i-carbon-clean`,border:!1,onClick:n[0]||=e=>m()}),l.value?.restartable?(c(),p(r,{key:0,title:`Restart`,icon:`carbon-renew`,border:!1,onClick:n[1]||=e=>g()})):f(``,!0),l.value?.terminatable?(c(),p(r,{key:1,title:`Terminate`,icon:`carbon-delete`,border:!1,onClick:n[2]||=e=>y()})):f(``,!0),h(`span`,M,v(l.value?.description),1)])],64)}}}),{__name:`TerminalView`}),P={key:0,"h-full":``,"w-full":``,"of-hidden":``,grid:`~ rows-[max-content_1fr_max-content]`},F={flex:`~`,border:`b base`,"n-navbar-glass":``,"flex-1":``,"items-center":``},I=[`onClick`],L={key:1,p10:``},R={key:1,"h-full":``,flex:``,"items-center":``,"justify-center":``},z=Object.assign(o({__name:`TerminalPage`,setup(e){let t=b(),n=E(),o=g(()=>t.value?.find(e=>e.id===n.value));async function s(e){x.runTerminalAction(await S(),e,`remove`)}return m(()=>{!n.value&&t.value?.length&&(n.value=t.value[0].id)}),(e,d)=>{let m=w,g=T,b=N;return r(t)?.length?(c(),u(`div`,P,[h(`div`,F,[(c(!0),u(_,null,l(r(t),e=>(c(),u(`button`,{key:e.id,border:`r base`,flex:`~ gap-2`,"items-center":``,px3:``,py2:``,class:i(e.id===o.value?.id?`bg-active`:``),onClick:t=>n.value=e.id},[e.icon?(c(),p(m,{key:0,icon:e.icon},null,8,[`icon`])):f(``,!0),h(`span`,{class:i(e.id===o.value?.id?``:`op50`)},v(e.name)+v(e.isTerminated?` (terminated)`:``),3),e.isTerminated?(c(),p(g,{key:1,icon:`carbon-close`,"mx--2":``,border:!1,onClick:y(t=>s(e.id),[`stop`])},null,8,[`onClick`])):f(``,!0)],10,I))),128))]),o.value?(c(),p(b,{id:o.value.id,key:o.value.id},null,8,[`id`])):(c(),u(`div`,L,[d[0]||=a(` Terminal `,-1),h(`code`,null,v(r(n)),1),d[1]||=a(` not found `,-1)]))])):(c(),u(`div`,R,[...d[2]||=[h(`em`,{op50:``},`No terminal attached`,-1)]]))}}}),{__name:`TerminalPage`}),B=o({__name:`terminals`,setup(e){return O({icon:`carbon-terminal`,title:`Terminals`,layout:`full`,show(){let e=b();return()=>!!e.value?.length},badge(){let e=b();return()=>e.value?.filter(e=>!e.isTerminated).length}}),(e,n)=>{let r=z,i=D;return c(),p(i,null,{default:d(()=>[t(r)]),_:1})}}});export{B as default};