import{a as e}from"./nuxt-l2zm4y7d.js";import{C as t,Ct as n,H as r,Mt as i,P as ee,Qt as a,S as o,T as s,W as c,Y as l,_ as u,ct as d,dt as f,ft as te,g as p,h as m,lt as h,m as g,p as _,s as v,t as ne,tn as y,ut as b,vt as re}from"./vendor/json-editor-vue-9tyg6b65.js";import{Mt as ie,jt as x,kt as ae,lt as S}from"./ready-e441jhq2.js";import{L as C,g as w}from"./utils-ivfwadyv.js";import{h as T,l as E,t as oe,z as se}from"./client-kfvz1zfh.js";import{t as ce}from"./nicon-hgcqr03x.js";import{t as le}from"./nbutton-g8ropw1z.js";import{t as ue}from"./ncard-d0lyv7bx.js";import{t as de}from"./npanel-grids-es6yvxa6.js";import{t as fe}from"./ntext-input-hwoiw74g.js";import{a as D,c as pe}from"#entry";import{t as me}from"./nselect-06235qpq.js";import{t as O}from"./pages-dm1j9w83.js";import{t as he}from"./nlink-hrlod3mt.js";import{t as k}from"./filepath-item-evfn93g6.js";var A={class:`h-[48px] flex items-center justify-between gap1 px-3`},j={class:`w-full text-sm`},M=[`value`],N=[`onClick`],P={key:0,"h-full":``,"of-hidden":``,flex:`~ col`},F={border:`b base`,class:`h-[49px] flex flex-none items-center justify-between px-4 text-sm`},I={class:`flex items-center gap-4`},L={key:1},R=[`onKeyup`],ge={key:0,op50:``},_e={key:1},ve={"font-bold":``},z={"text-sm":``},B=Object.assign(s({__name:`StorageDetails`,async setup(s){let D,O,B=oe(),V=e(),H=S(),U=n(``),W=n(``),G=w(`storage:current`,``),K=n(),q=w(`storage:file:state`,``),{data:J}=([D,O]=b(async()=>C(`storageMounts`,async()=>T.getStorageMounts(await E()))),D=await D,O(),D),{data:Y,refresh:X}=([D,O]=b(async()=>C(`storageKeys`,async()=>G.value?await T.getStorageKeys(await E(),G.value):[])),D=await D,O(),D),ye=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)}});r(ye),d(G,()=>{X(),q.value=``}),h(async()=>{q.value?Q(q.value):K.value=null}),se(`keydown`,e=>{e.key===`s`&&(e.ctrlKey||e.metaKey)&&($(),e.preventDefault())});function Z(e){return e.replace(`${G.value}:`,``)}let be=_(()=>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 xe(){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 Se(){K.value&&G.value&&(await T.removeStorageItem(await E(),K.value.key),K.value=null)}async function Ce(){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(e,n)=>{let r=le,s=me,d=fe,h=ce,_=he,b=ue,S=de,C=pe,w=k;return i(G)?(c(),m(C,{key:0,"storage-key":`tab-storage`},{left:f(()=>[g(`div`,A,[t(r,{icon:`carbon-chevron-left`,"ml--1":``,border:!1,onClick:n[0]||=e=>G.value=``}),g(`div`,j,[t(s,{modelValue:i(G),"onUpdate:modelValue":n[1]||=e=>re(G)?G.value=e:null,n:`primary`,icon:`carbon-data-base`},{default:f(()=>[(c(!0),u(v,null,l(i(J),(e,t)=>(c(),u(`option`,{key:t,value:t},y(t),9,M))),128))]),_:1},8,[`modelValue`])])]),t(d,{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`]),(c(!0),u(v,null,l(be.value,e=>(c(),u(v,{key:e},[g(`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},y(Z(e)),11,N),n[8]||=g(`div`,{"x-divider":``},null,-1)],64))),128)),t(d,{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(xe,[`enter`])},null,8,[`modelValue`])]),right:f(()=>[K.value?.key?(c(),u(`div`,P,[g(`div`,F,[g(`div`,I,[K.value.editingKey?(c(),m(d,{key:0,modelValue:K.value.updatedKey,"onUpdate:modelValue":n[4]||=e=>K.value.updatedKey=e,onKeyup:x(Ce,[`enter`])},null,8,[`modelValue`])):(c(),u(`code`,L,[o(y(Z(K.value.key))+` `,1),t(h,{icon:`carbon-edit`,class:`cursor-pointer op50 hover:op100`,onClick:n[5]||=e=>K.value.editingKey=!0})])),K.value.editingKey?p(``,!0):(c(),m(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:f(()=>[...n[9]||=[o(` Save `,-1)]]),_:1},8,[`disabled`,`class`]))]),g(`div`,null,[t(r,{n:`red xs`,onClick:Se},{default:f(()=>[...n[10]||=[o(` Delete `,-1)]]),_:1})])]),typeof K.value.content==`object`?(c(),m(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`]},e.$attrs,{mode:`text`,"navigation-bar":!1,indentation:2,"tab-size":2}),null,16,[`modelValue`,`class`])):te((c(),u(`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,R)),[[ae,K.value.updatedContent]])])):(c(),m(S,{key:1},{default:f(()=>[t(b,{px6:``,py4:``},{default:f(()=>[n[12]||=o(` Select one key to start.`,-1),n[13]||=g(`br`,null,null,-1),n[14]||=o(`Learn more about `,-1),t(_,{href:`https://nitro.unjs.io/guide/storage`,n:`orange`,target:`_blank`},{default:f(()=>[...n[11]||=[o(` Nitro storage `,-1)]]),_:1})]),_:1})]),_:1}))]),_:1})):(c(),m(S,{key:1},{default:f(()=>[Object.keys(i(J)).length?(c(),u(`p`,ge,` Select one storage to start: `)):(c(),u(`p`,_e,[n[16]||=o(` No custom storage defined in `,-1),n[17]||=g(`code`,null,`nitro.storage`,-1),n[18]||=o(`.`,-1),n[19]||=g(`br`,null,null,-1),n[20]||=o(` Learn more about `,-1),t(_,{href:`https://nitro.unjs.io/guide/storage`,n:`orange`,target:`_blank`},{default:f(()=>[...n[15]||=[o(` Nitro storage `,-1)]]),_:1})])),(c(!0),u(v,null,l(i(J),(e,t)=>(c(),m(b,{key:t,"min-w-80":``,"cursor-pointer":``,"p-4":``,"text-left":``,hover:`border-green`,onClick:e=>G.value=t},{default:f(()=>[g(`span`,ve,y(t),1),n[21]||=g(`br`,null,null,-1),g(`span`,z,y(e.driver)+` driver`,1),n[22]||=g(`br`,null,null,-1),e.base?(c(),m(w,{key:0,"text-xs":``,filepath:e.base},null,8,[`filepath`])):p(``,!0)]),_:2},1032,[`onClick`]))),128))]),_:1}))}}}),{__name:`StorageDetails`}),V=s({__name:`storage`,setup(e){return O({icon:`carbon-data-base`,title:`Storage`,layout:`full`,category:`server`}),(e,n)=>{let r=B,i=D;return c(),m(i,null,{default:f(()=>[t(r)]),_:1})}}});export{V as default};