import{C as e,Ct as t,E as n,H as r,Mt as i,P as ee,Qt as a,W as o,Y as s,_ as c,c as l,ct as u,dt as d,ft as te,g as f,h as p,lt as m,m as h,t as ne,tn as g,ut as _,v,vt as re,w as y}from"./vendor/json-editor-vue-eojr4v24.js";import{M as ie,_ as b,j as x,k as ae}from"./ready-dadbdj5i.js";import{i as S}from"./nuxt-otp6bp04.js";import{L as C,g as w}from"./utils-jupbrzo6.js";import{D as oe,l as T,t as se}from"./client-nwyjxodt.js";import{n as E}from"./dev-auth-he0eye7r.js";import"./vendor/shiki-lqo1hg2n.js";import"./storage-options-nzog3hhp.js";import"./nuxt-link-bumooa9d.js";import{t as ce}from"./nicon-m1crov2l.js";import{t as D}from"./nbutton-gygn07c2.js";import{t as le}from"./ncard-ludmyw2u.js";import"./state-routes-jownks2o.js";import"./telemetry-c77tnag3.js";import{t as ue}from"./npanel-grids-onrho735.js";import{t as de}from"./ntext-input-e8iut2en.js";import{a as O,c as fe}from"#entry";import{t as pe}from"./nselect-gyaplrph.js";import{t as k}from"./composables-b2ccklz4.js";import{t as me}from"./nlink-od4lllbl.js";import{t as A}from"./filepath-item-h3i1tz3s.js";var j={class:`h-[48px] flex items-center justify-between gap1 px-3`},M={class:`w-full text-sm`},N=[`value`],P=[`onClick`],F={key:0,"h-full":``,"of-hidden":``,flex:`~ col`},I={border:`b base`,class:`h-[49px] flex flex-none items-center justify-between px-4 text-sm`},L={class:`flex items-center gap-4`},R={key:1},z=[`onKeyup`],he={key:0,op50:``},ge={key:1},_e={"font-bold":``},ve={"text-sm":``},B=n({__name:`StorageDetails`,async setup(n){let O,k,B=se(),V=S(),H=b(),U=t(``),W=t(``),G=w(`storage:current`,``),K=t(),q=w(`storage:file:state`,``),{data:J}=([O,k]=_(()=>C(`storageMounts`,()=>T.getStorageMounts())),O=await O,k(),O),{data:Y,refresh:X}=([O,k]=_(async()=>C(`storageKeys`,async()=>G.value?await T.getStorageKeys(G.value):[])),O=await O,k(),O);r(V.hook(`storage:key:update`,async(e,t)=>{if(!(!G.value||e.split(`:`)[0]!==G.value)&&(await X(),q.value===e)){if(t===`remove`)return H.replace({query:{storage:G.value}});await Q(q.value)}})),u(G,()=>{X(),q.value=``}),m(async()=>{if(!q.value){K.value=null;return}Q(q.value)}),oe(`keydown`,e=>{e.key===`s`&&(e.ctrlKey||e.metaKey)&&($(),e.preventDefault())});function Z(e){return e.replace(`${G.value}:`,``)}let ye=h(()=>Y.value?Y.value.filter(e=>e.includes(U.value)):[]);async function Q(e){let t=await T.getStorageItem(await E(),e);K.value={key:e,updatedKey:Z(e),editingKey:!1,content:t,updatedContent:t}}async function be(){if(!W.value||!G.value)return;let e=`${G.value}:${W.value}`;Y.value?.includes(e)||await T.setStorageItem(await E(),e,``),H.replace({query:{storage:G.value,key:e}}),W.value=``}async function $(){K.value&&(await T.setStorageItem(await E(),K.value.key,K.value.updatedContent),await Q(K.value.key))}async function xe(){!K.value||!G.value||(await T.removeStorageItem(await E(),K.value.key),K.value=null)}async function Se(){if(!K.value||!G.value)return;let e=`${G.value}:${K.value.updatedKey}`,t=await E();await T.setStorageItem(t,e,K.value.updatedContent),await T.removeStorageItem(t,K.value.key),H.replace({query:{storage:G.value,key:e}})}return(t,n)=>{let r=D,u=pe,m=de,h=ce,_=me,b=le,S=ue,C=fe,w=A;return i(G)?(o(),f(C,{key:0,"storage-key":`tab-storage`},{left:d(()=>[p(`div`,j,[y(r,{icon:`carbon-chevron-left`,"ml--1":``,border:!1,onClick:n[0]||=e=>G.value=``}),p(`div`,M,[y(u,{modelValue:i(G),"onUpdate:modelValue":n[1]||=e=>re(G)?G.value=e:null,n:`primary`,icon:`carbon-data-base`},{default:d(()=>[(o(!0),v(l,null,s(i(J),(e,t)=>(o(),v(`option`,{key:t,value:t},g(t),9,N))),128))]),_:1},8,[`modelValue`])])]),y(m,{modelValue:U.value,"onUpdate:modelValue":n[2]||=e=>U.value=e,icon:`carbon-search`,placeholder:`Search...`,n:`primary sm`,border:`y x-none base! rounded-0`,class:`w-full py2 ring-0!`},null,8,[`modelValue`]),(o(!0),v(l,null,s(ye.value,e=>(o(),v(l,{key:e},[p(`button`,{block:``,"w-full":``,truncate:``,px2:``,py1:``,"text-start":``,"text-sm":``,"font-mono":``,class:a(e===K.value?.key?`text-primary n-bg-active`:`text-secondary hover:n-bg-hover`),onClick:t=>q.value=e},g(Z(e)),11,P),n[8]||=p(`div`,{"x-divider":``},null,-1)],64))),128)),y(m,{modelValue:W.value,"onUpdate:modelValue":n[3]||=e=>W.value=e,icon:`carbon-add`,placeholder:`key`,n:`sm`,border:`t-none x-none base! rounded-0`,class:`w-full py2 font-mono ring-0!`,onKeyup:x(be,[`enter`])},null,8,[`modelValue`])]),right:d(()=>[K.value?.key?(o(),v(`div`,F,[p(`div`,I,[p(`div`,L,[K.value.editingKey?(o(),f(m,{key:0,modelValue:K.value.updatedKey,"onUpdate:modelValue":n[4]||=e=>K.value.updatedKey=e,onKeyup:x(Se,[`enter`])},null,8,[`modelValue`])):(o(),v(`code`,R,[e(g(Z(K.value.key))+` `,1),y(h,{icon:`carbon-edit`,class:`cursor-pointer op50 hover:op100`,onClick:n[5]||=e=>K.value.editingKey=!0})])),K.value.editingKey?c(``,!0):(o(),f(r,{key:2,n:`green xs`,disabled:K.value.content===K.value.updatedContent,class:a({"border-green":K.value.content!==K.value.updatedContent}),onClick:$},{default:d(()=>[...n[9]||=[e(` Save `,-1)]]),_:1},8,[`disabled`,`class`]))]),p(`div`,null,[y(r,{n:`red xs`,onClick:xe},{default:d(()=>[...n[10]||=[e(` Delete `,-1)]]),_:1})])]),typeof K.value.content==`object`?(o(),f(i(ne),ee({key:0,modelValue:K.value.updatedContent,"onUpdate:modelValue":n[6]||=e=>K.value.updatedContent=e,class:[[i(B)===`dark`?`jse-theme-dark`:`light`],`json-editor-vue h-full of-auto text-sm outline-none`]},t.$attrs,{mode:`text`,"navigation-bar":!1,indentation:2,"tab-size":2}),null,16,[`modelValue`,`class`])):te((o(),v(`textarea`,{key:1,"onUpdate:modelValue":n[7]||=e=>K.value.updatedContent=e,placeholder:`Item value...`,class:`h-full of-auto p-4 text-sm font-mono outline-none`,onKeyup:x(ie($,[`ctrl`]),[`enter`])},null,40,z)),[[ae,K.value.updatedContent]])])):(o(),f(S,{key:1},{default:d(()=>[y(b,{px6:``,py4:``},{default:d(()=>[n[12]||=e(` Select one key to start.`,-1),n[13]||=p(`br`,null,null,-1),n[14]||=e(`Learn more about `,-1),y(_,{href:`https://nitro.unjs.io/guide/storage`,n:`orange`,target:`_blank`},{default:d(()=>[...n[11]||=[e(` Nitro storage `,-1)]]),_:1})]),_:1})]),_:1}))]),_:1})):(o(),f(S,{key:1},{default:d(()=>[Object.keys(i(J)).length?(o(),v(`p`,he,` Select one storage to start: `)):(o(),v(`p`,ge,[n[16]||=e(` No custom storage defined in `,-1),n[17]||=p(`code`,null,`nitro.storage`,-1),n[18]||=e(`.`,-1),n[19]||=p(`br`,null,null,-1),n[20]||=e(` Learn more about `,-1),y(_,{href:`https://nitro.unjs.io/guide/storage`,n:`orange`,target:`_blank`},{default:d(()=>[...n[15]||=[e(` Nitro storage `,-1)]]),_:1})])),(o(!0),v(l,null,s(i(J),(e,t)=>(o(),f(b,{key:t,"min-w-80":``,"cursor-pointer":``,"p-4":``,"text-left":``,hover:`border-green`,onClick:e=>G.value=t},{default:d(()=>[p(`span`,_e,g(t),1),n[21]||=p(`br`,null,null,-1),p(`span`,ve,g(e.driver)+` driver`,1),n[22]||=p(`br`,null,null,-1),e.base?(o(),f(w,{key:0,"text-xs":``,filepath:e.base},null,8,[`filepath`])):c(``,!0)]),_:2},1032,[`onClick`]))),128))]),_:1}))}}}),V=Object.assign(B,{__name:`StorageDetails`}),H=n({__name:`storage`,setup(e){return k({icon:`carbon-data-base`,title:`Storage`,layout:`full`,category:`server`}),(e,t)=>{let n=V,r=O;return o(),f(r,null,{default:d(()=>[y(n)]),_:1})}}});export{H as default};