import{aj as d,u as I,r as a,F as p,j as s,D as l,T as w,a as k,C as u,bm as C,B as S,_,aW as q,w as g}from"./index-B-sDl1ER.js";import{X as R}from"./index-duCmqVUU.js";import{C as h}from"./index-CO5DzGxy.js";import"./index-BZjcF0yn.js";import"./tslib.es6-BaFViOhq.js";import"./index-D3yl9SWR.js";import"./progress-C__thZ4V.js";import"./index-C9m5qSM4.js";import"./Table-B11dzOaz.js";import"./index-CeRfFUxJ.js";import"./index-DmtjhyJb.js";async function F(){return d({url:"/system/storage/config",method:"get"})}async function D(e){return d({url:"/system/storage/save",method:"post",data:e})}async function A(e){return d({url:"/system/storage/test",method:"post",data:{disk:e}})}const{Text:B,Title:y}=w,J=()=>{const{t:e}=I(),v=a.useRef(null),[r]=p.useForm(),[x,i]=a.useState(!1),[n,o]=a.useState("local"),c=[{label:e("storage.driver.local"),value:"local"},{label:e("storage.driver.s3"),value:"s3"},{label:e("storage.driver.ftp"),value:"ftp"},{label:e("storage.driver.sftp"),value:"sftp"}],P=[{dataIndex:"default",valueType:"radioButton",title:e("storage.driver"),fieldProps:{options:c},required:!0,colProps:{span:24}},{fieldRender:()=>s.jsx(l,{children:e("storage.local.title")}),dependency:{dependencies:["default"],visible:t=>t.default==="local"},colProps:{span:24},noStyle:!0},{dataIndex:["local","url"],valueType:"text",title:e("storage.local.url"),fieldProps:{placeholder:e("storage.local.url.placeholder")},tooltip:e("storage.local.url.tooltip"),colProps:{span:24},dependency:{dependencies:["default"],visible:t=>t.default==="local"}},{fieldRender:()=>s.jsx(l,{children:e("storage.s3.title")}),dependency:{dependencies:["default"],visible:t=>t.default==="s3"},colProps:{span:24},noStyle:!0},{dataIndex:["s3","key"],valueType:"text",title:e("storage.s3.key"),fieldProps:{placeholder:e("storage.s3.key.placeholder")},required:!0,colProps:{span:12},dependency:{dependencies:["default"],visible:t=>t.default==="s3"}},{dataIndex:["s3","secret"],valueType:"password",title:e("storage.s3.secret"),fieldProps:{placeholder:e("storage.s3.secret.placeholder")},required:!0,colProps:{span:12},dependency:{dependencies:["default"],visible:t=>t.default==="s3"}},{dataIndex:["s3","region"],valueType:"text",title:e("storage.s3.region"),fieldProps:{placeholder:e("storage.s3.region.placeholder")},required:!0,colProps:{span:12},dependency:{dependencies:["default"],visible:t=>t.default==="s3"}},{dataIndex:["s3","bucket"],valueType:"text",title:e("storage.s3.bucket"),fieldProps:{placeholder:e("storage.s3.bucket.placeholder")},required:!0,colProps:{span:12},dependency:{dependencies:["default"],visible:t=>t.default==="s3"}},{dataIndex:["s3","endpoint"],valueType:"text",title:e("storage.s3.endpoint"),fieldProps:{placeholder:e("storage.s3.endpoint.placeholder")},tooltip:e("storage.s3.endpoint.tooltip"),colProps:{span:12},dependency:{dependencies:["default"],visible:t=>t.default==="s3"}},{dataIndex:["s3","url"],valueType:"text",title:e("storage.s3.url"),fieldProps:{placeholder:e("storage.s3.url.placeholder")},tooltip:e("storage.s3.url.tooltip"),colProps:{span:12},dependency:{dependencies:["default"],visible:t=>t.default==="s3"}},{dataIndex:["s3","use_path_style_endpoint"],valueType:"switch",title:e("storage.s3.path_style"),tooltip:e("storage.s3.path_style.tooltip"),colProps:{span:12},dependency:{dependencies:["default"],visible:t=>t.default==="s3"}},{fieldRender:()=>s.jsx(l,{children:e("storage.ftp.title")}),dependency:{dependencies:["default"],visible:t=>t.default==="ftp"},colProps:{span:24},noStyle:!0},{dataIndex:["ftp","host"],valueType:"text",title:e("storage.ftp.host"),fieldProps:{placeholder:e("storage.ftp.host.placeholder")},required:!0,colProps:{span:16},dependency:{dependencies:["default"],visible:t=>t.default==="ftp"}},{dataIndex:["ftp","port"],valueType:"digit",title:e("storage.ftp.port"),fieldProps:{placeholder:e("storage.ftp.port.placeholder")},colProps:{span:8},dependency:{dependencies:["default"],visible:t=>t.default==="ftp"}},{dataIndex:["ftp","username"],valueType:"text",title:e("storage.ftp.username"),fieldProps:{placeholder:e("storage.ftp.username.placeholder")},required:!0,colProps:{span:12},dependency:{dependencies:["default"],visible:t=>t.default==="ftp"}},{dataIndex:["ftp","password"],valueType:"password",title:e("storage.ftp.password"),fieldProps:{placeholder:e("storage.ftp.password.placeholder")},required:!0,colProps:{span:12},dependency:{dependencies:["default"],visible:t=>t.default==="ftp"}},{dataIndex:["ftp","root"],valueType:"text",title:e("storage.ftp.root"),fieldProps:{placeholder:e("storage.ftp.root.placeholder")},tooltip:e("storage.ftp.root.tooltip"),colProps:{span:12},dependency:{dependencies:["default"],visible:t=>t.default==="ftp"}},{dataIndex:["ftp","timeout"],valueType:"digit",title:e("storage.ftp.timeout"),fieldProps:{placeholder:e("storage.ftp.timeout.placeholder"),addonAfter:e("storage.ftp.timeout.suffix")},colProps:{span:12},dependency:{dependencies:["default"],visible:t=>t.default==="ftp"}},{dataIndex:["ftp","passive"],valueType:"switch",title:e("storage.ftp.passive"),tooltip:e("storage.ftp.passive.tooltip"),colProps:{span:8},dependency:{dependencies:["default"],visible:t=>t.default==="ftp"}},{dataIndex:["ftp","ssl"],valueType:"switch",title:e("storage.ftp.ssl"),tooltip:e("storage.ftp.ssl.tooltip"),colProps:{span:8},dependency:{dependencies:["default"],visible:t=>t.default==="ftp"}},{fieldRender:()=>s.jsx(l,{children:e("storage.sftp.title")}),dependency:{dependencies:["default"],visible:t=>t.default==="sftp"},colProps:{span:24},noStyle:!0},{dataIndex:["sftp","host"],valueType:"text",title:e("storage.sftp.host"),fieldProps:{placeholder:e("storage.sftp.host.placeholder")},required:!0,colProps:{span:16},dependency:{dependencies:["default"],visible:t=>t.default==="sftp"}},{dataIndex:["sftp","port"],valueType:"digit",title:e("storage.sftp.port"),fieldProps:{placeholder:e("storage.sftp.port.placeholder")},colProps:{span:8},dependency:{dependencies:["default"],visible:t=>t.default==="sftp"}},{dataIndex:["sftp","username"],valueType:"text",title:e("storage.sftp.username"),fieldProps:{placeholder:e("storage.sftp.username.placeholder")},required:!0,colProps:{span:12},dependency:{dependencies:["default"],visible:t=>t.default==="sftp"}},{dataIndex:["sftp","password"],valueType:"password",title:e("storage.sftp.password"),fieldProps:{placeholder:e("storage.sftp.password.placeholder")},tooltip:e("storage.sftp.password.tooltip"),colProps:{span:12},dependency:{dependencies:["default"],visible:t=>t.default==="sftp"}},{dataIndex:["sftp","root"],valueType:"text",title:e("storage.sftp.root"),fieldProps:{placeholder:e("storage.sftp.root.placeholder")},tooltip:e("storage.sftp.root.tooltip"),colProps:{span:12},dependency:{dependencies:["default"],visible:t=>t.default==="sftp"}},{dataIndex:["sftp","timeout"],valueType:"digit",title:e("storage.sftp.timeout"),fieldProps:{placeholder:e("storage.sftp.timeout.placeholder"),addonAfter:e("storage.sftp.timeout.suffix")},colProps:{span:12},dependency:{dependencies:["default"],visible:t=>t.default==="sftp"}},{dataIndex:["sftp","private_key"],valueType:"textarea",title:e("storage.sftp.private_key"),fieldProps:{placeholder:e("storage.sftp.private_key.placeholder"),rows:4},tooltip:e("storage.sftp.private_key.tooltip"),colProps:{span:24},dependency:{dependencies:["default"],visible:t=>t.default==="sftp"}},{dataIndex:["sftp","passphrase"],valueType:"password",title:e("storage.sftp.passphrase"),fieldProps:{placeholder:e("storage.sftp.passphrase.placeholder")},tooltip:e("storage.sftp.passphrase.tooltip"),colProps:{span:24},dependency:{dependencies:["default"],visible:t=>t.default==="sftp"}}];a.useEffect(()=>{m()},[]);const m=async()=>{const{data:t}=await F();if(t.success){const f=t.data;r.setFieldsValue(f),o(f.default||"local")}},b=async t=>{await D(t),g.success(e("storage.save.success"))},j=t=>{t.default&&o(t.default)},T=async()=>{try{i(!0),await A(n),g.success(e("storage.test.success"))}finally{i(!1)}};return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"mb-5",children:[s.jsx(y,{level:3,children:e("storage.page.title")}),s.jsx(B,{type:"secondary",children:e("storage.page.description")})]}),s.jsxs(k,{gutter:24,children:[s.jsx(u,{span:16,children:s.jsx(h,{variant:"borderless",children:s.jsx(R,{columns:P,layout:"vertical",formRef:v,form:r,grid:!0,onFinish:b,onValuesChange:j,rowProps:{gutter:[10,0]}})})}),s.jsx(u,{span:8,children:s.jsxs(h,{title:e("storage.test.title"),children:[s.jsxs(p,{layout:"vertical",children:[s.jsx(p.Item,{label:e("storage.test.current_driver"),children:s.jsx(C,{value:n,onChange:o,options:c})}),s.jsx(S,{type:"primary",block:!0,icon:s.jsx(_,{}),loading:x,onClick:T,children:e("storage.test.button")})]}),s.jsx(l,{}),s.jsxs("div",{style:{fontSize:12,color:"#666"},children:[s.jsxs(y,{level:5,children:[s.jsx(q,{})," ",e("storage.help.title")]}),s.jsxs("p",{children:[s.jsx("strong",{children:e("storage.help.local")}),e("storage.help.local.desc")]}),s.jsxs("p",{children:[s.jsx("strong",{children:e("storage.help.s3")}),e("storage.help.s3.desc")]}),s.jsxs("p",{children:[s.jsx("strong",{children:e("storage.help.ftp")}),e("storage.help.ftp.desc")]}),s.jsxs("p",{children:[s.jsx("strong",{children:e("storage.help.sftp")}),e("storage.help.sftp.desc")]})]})]})})]})]})};export{J as default};