@chenpu17/cc-gw 0.4.3 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/server/dist/index.js +140 -37
- package/src/web/dist/assets/{About-BWcLLdLY.js → About-R4GuiAOC.js} +2 -2
- package/src/web/dist/assets/{ApiKeys-DsYmx21U.js → ApiKeys-CNNwIRTy.js} +1 -1
- package/src/web/dist/assets/{Button-CZXniSHM.js → Button-CgdNhVeu.js} +1 -1
- package/src/web/dist/assets/{Dashboard-H7fcVgwO.js → Dashboard-U1EC6qmF.js} +2 -2
- package/src/web/dist/assets/{FormField-SZpxR702.js → FormField-DJjnoGU0.js} +1 -1
- package/src/web/dist/assets/{Help-CgWIUFIO.js → Help-COAfsR6K.js} +1 -1
- package/src/web/dist/assets/{Input-BdyQWPOU.js → Input-CkTJl-fF.js} +1 -1
- package/src/web/dist/assets/{Login-0_Y4Go8x.js → Login-BbRStE3M.js} +1 -1
- package/src/web/dist/assets/Logs-C-7diPqf.js +1 -0
- package/src/web/dist/assets/{ModelManagement-DBVBITho.js → ModelManagement-BWX0w6Wu.js} +1 -1
- package/src/web/dist/assets/{PageSection-B08EcVAN.js → PageSection-BT-depe5.js} +1 -1
- package/src/web/dist/assets/{Settings-DEloCGp7.js → Settings-CLM0Srx1.js} +1 -1
- package/src/web/dist/assets/{StatusBadge-8KAMZvYW.js → StatusBadge-CgBAXD_S.js} +1 -1
- package/src/web/dist/assets/{copy-BdNskWTP.js → copy-OD9YQ85H.js} +1 -1
- package/src/web/dist/assets/{index-BK1UNVMz.js → index-3UByifOG.js} +4 -4
- package/src/web/dist/assets/{index-CyrAg0Ev.js → index-DVBy-Kka.js} +1 -1
- package/src/web/dist/assets/{info-BTcWJb9B.js → info-DAG4KwRm.js} +1 -1
- package/src/web/dist/assets/{useApiQuery-BNTE55UK.js → useApiQuery-7KXAW9hB.js} +1 -1
- package/src/web/dist/index.html +1 -1
- package/src/web/dist/assets/Logs-MTopPD6L.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,d as s,a4 as u,m,a5 as h,D as f,a6 as g,a7 as o,H as p}from"./index-
|
|
1
|
+
import{j as e,d as s,a4 as u,m,a5 as h,D as f,a6 as g,a7 as o,H as p}from"./index-3UByifOG.js";function j({icon:a,title:r,description:l,badge:d,actions:n,className:i,disableAnimation:t,variant:x="default"}){const c=x==="plain"?h:f;return e.jsxs("div",{className:s(c,!t&&"animate-slide-up",i),children:[e.jsxs("div",{className:"flex flex-1 flex-wrap items-start gap-6",children:[a?e.jsx("div",{className:"grid h-14 w-14 place-items-center rounded-2xl bg-gradient-to-br from-blue-600/15 to-indigo-600/10 text-blue-600 shadow-lg shadow-blue-200/30 ring-1 ring-blue-500/20 backdrop-blur-sm dark:from-blue-500/25 dark:to-indigo-500/15 dark:text-blue-200 dark:shadow-xl dark:shadow-blue-500/20 dark:ring-blue-400/20",children:a}):null,e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-4",children:[e.jsx("h1",{className:"text-3xl font-bold tracking-tight text-slate-900 dark:text-slate-50 gradient-text",children:r}),d?e.jsx("span",{className:s(u,"shadow-md"),children:d}):null]}),l?e.jsx("div",{className:s(m,"max-w-3xl text-base leading-relaxed"),children:l}):null]})]}),n?e.jsx("div",{className:"flex shrink-0 flex-wrap items-center gap-4",children:n}):null]})}function N({title:a,description:r,actions:l,className:d,contentClassName:n,children:i,disableAnimation:t,variant:x="default"}){const c=x==="plain"?o:p;return e.jsxs("section",{className:s(c,!t&&"animate-slide-up",d),children:[(a||r||l)&&e.jsxs("div",{className:"mb-6 flex flex-wrap items-center justify-between gap-6",children:[e.jsxs("div",{className:"space-y-3",children:[typeof a=="string"?e.jsx("h2",{className:s(g,"text-base font-bold"),children:a}):a,r?e.jsx("div",{className:s(m,"max-w-3xl text-sm leading-relaxed"),children:r}):null]}),l?e.jsx("div",{className:"flex shrink-0 items-center gap-3",children:l}):null]}),e.jsx("div",{className:s("flex flex-col gap-6",n),children:i})]})}export{j as P,N as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as te,a as ae,r as u,j as e,d as c,T as re,L as O,b as N,k as C,E as V,K as y,m as h,J as B}from"./index-BK1UNVMz.js";import{u as _}from"./useApiQuery-BNTE55UK.js";import{P as ne,a as w}from"./PageSection-B08EcVAN.js";import{C as le}from"./copy-BdNskWTP.js";const oe=[{value:"fatal",labelKey:"fatal"},{value:"error",labelKey:"error"},{value:"warn",labelKey:"warn"},{value:"info",labelKey:"info"},{value:"debug",labelKey:"debug"},{value:"trace",labelKey:"trace"}];function me(){const{t:s}=te(),{pushToast:g}=ae(),n=_(["config","info"],{url:"/api/config/info",method:"GET"}),x=_(["auth","web"],{url:"/api/auth/web",method:"GET"}),[r,F]=u.useState(null),[L,G]=u.useState(""),[o,p]=u.useState({port:"",host:"",logRetentionDays:"",storeRequestPayloads:!0,storeResponsePayloads:!0,logLevel:"info",requestLogging:!0,responseLogging:!0,bodyLimitMb:"10",enableRoutingFallback:!1}),[b,q]=u.useState({}),[P,E]=u.useState(!1),[S,A]=u.useState(!1),[M,D]=u.useState(!1),[i,H]=u.useState(null),[l,f]=u.useState({enabled:!1,username:"",password:"",confirmPassword:""}),[k,v]=u.useState({}),[R,T]=u.useState(!1),Q=u.useMemo(()=>{if(!r)return null;const t=r.defaults;if(!t)return null;const a=[];return t.completion&&a.push(s("settings.defaults.completion",{model:t.completion})),t.reasoning&&a.push(s("settings.defaults.reasoning",{model:t.reasoning})),t.background&&a.push(s("settings.defaults.background",{model:t.background})),a.length>0?a.join(" | "):s("settings.defaults.none")},[r,s]),K=u.useMemo(()=>l.enabled?i!=null&&i.hasPassword?l.username.trim()!==((i==null?void 0:i.username)??""):!0:!1,[l.enabled,l.username,i]);u.useEffect(()=>{if(n.data){F(n.data.config),G(n.data.path);const t=n.data.config.storePayloads,a=d=>typeof d=="boolean"?d:typeof t=="boolean"?t:!0;p({port:String(n.data.config.port??""),host:n.data.config.host??"127.0.0.1",logRetentionDays:String(n.data.config.logRetentionDays??30),storeRequestPayloads:a(n.data.config.storeRequestPayloads),storeResponsePayloads:a(n.data.config.storeResponsePayloads),logLevel:n.data.config.logLevel??"info",requestLogging:n.data.config.requestLogging!==!1,responseLogging:n.data.config.responseLogging??n.data.config.requestLogging!==!1,bodyLimitMb:(()=>{const d=n.data.config.bodyLimit;return typeof d=="number"&&Number.isFinite(d)&&d>0?String(Math.max(1,Math.round(d/(1024*1024)))):"10"})(),enableRoutingFallback:n.data.config.enableRoutingFallback===!0})}},[n.data]),u.useEffect(()=>{x.data&&(H(x.data),f({enabled:x.data.enabled,username:x.data.username??"",password:"",confirmPassword:""}),v({}))},[x.data]),u.useEffect(()=>{n.isError&&n.error&&g({title:s("settings.toast.loadFailure",{message:n.error.message}),variant:"error"})},[n.isError,n.error,g,s]),u.useEffect(()=>{x.isError&&x.error&&g({title:s("settings.toast.authLoadFailure",{message:x.error.message}),variant:"error"})},[x.isError,x.error,g,s]);const j=t=>a=>{p(d=>({...d,[t]:a}))},I=()=>{const t={},a=Number(o.port);(!Number.isFinite(a)||a<1||a>65535)&&(t.port=s("settings.validation.port"));const d=Number(o.logRetentionDays);(!Number.isFinite(d)||d<1||d>365)&&(t.logRetentionDays=s("settings.validation.retention"));const m=Number(o.bodyLimitMb);return(!Number.isFinite(m)||m<1||m>2048)&&(t.bodyLimitMb=s("settings.validation.bodyLimit")),q(t),Object.keys(t).length===0},J=()=>{const t={},a=l.username.trim(),d=i?a!==(i.username??""):!0,m=l.enabled&&(!(i!=null&&i.hasPassword)||d);return l.enabled&&!a&&(t.username=s("settings.auth.validation.username")),l.password&&l.password.length<6&&(t.password=s("settings.auth.validation.minLength")),m&&!l.password&&(t.password=s("settings.auth.validation.passwordRequired")),(l.password||l.confirmPassword)&&l.password!==l.confirmPassword&&(t.confirmPassword=s("settings.auth.validation.confirmMismatch")),v(t),Object.keys(t).length===0},W=async()=>{if(!r){g({title:s("settings.toast.loadFailure",{message:s("settings.toast.missingConfig")}),variant:"error"});return}if(I()){E(!0);try{const t=Number(o.port),a=Number(o.logRetentionDays),d=Number(o.bodyLimitMb),m={...r,port:t,host:o.host.trim()||void 0,logRetentionDays:a,storeRequestPayloads:o.storeRequestPayloads,storeResponsePayloads:o.storeResponsePayloads,logLevel:o.logLevel,requestLogging:o.requestLogging,responseLogging:o.responseLogging,bodyLimit:Math.max(1,Math.floor(d*1024*1024)),enableRoutingFallback:o.enableRoutingFallback},{webAuth:ie,...se}=m;await N.put("/api/config",se),F({...m,webAuth:r.webAuth}),g({title:s("settings.toast.saveSuccess"),variant:"success"}),n.refetch()}catch(t){g({title:s("settings.toast.saveFailure",{message:t instanceof Error?t.message:"unknown"}),variant:"error"})}finally{E(!1)}}},$=()=>{r&&(p({port:String(r.port??""),host:r.host??"",logRetentionDays:String(r.logRetentionDays??30),storeRequestPayloads:typeof r.storeRequestPayloads=="boolean"?r.storeRequestPayloads:typeof r.storePayloads=="boolean"?r.storePayloads:!0,storeResponsePayloads:typeof r.storeResponsePayloads=="boolean"?r.storeResponsePayloads:typeof r.storePayloads=="boolean"?r.storePayloads:!0,logLevel:r.logLevel??"info",requestLogging:r.requestLogging!==!1,responseLogging:r.responseLogging??r.requestLogging!==!1,bodyLimitMb:(()=>{const t=r.bodyLimit;return typeof t=="number"&&Number.isFinite(t)&&t>0?String(Math.max(1,Math.round(t/(1024*1024)))):"10"})(),enableRoutingFallback:r.enableRoutingFallback===!0}),q({}))},z=async()=>{var t;if(J()){T(!0);try{const a={enabled:l.enabled,username:l.username.trim()||void 0};l.password&&(a.password=l.password);const m=(t=(await N.post("/api/auth/web",a)).data)==null?void 0:t.auth;m&&(H(m),f({enabled:m.enabled,username:m.username??"",password:"",confirmPassword:""}),v({})),g({title:s("settings.auth.toast.success"),variant:"success"}),x.refetch()}catch(a){const d=a instanceof Error?a.message:"unknown";g({title:s("settings.auth.toast.failure",{message:d}),variant:"error"})}finally{T(!1)}}},U=()=>{i&&(f({enabled:i.enabled,username:i.username??"",password:"",confirmPassword:""}),v({}))},X=async()=>{if(!L){g({title:s("settings.toast.copyFailure",{message:s("settings.file.unknown")}),variant:"error"});return}try{await navigator.clipboard.writeText(L),g({title:s("settings.toast.copySuccess"),variant:"success"})}catch(t){g({title:s("settings.toast.copyFailure",{message:t instanceof Error?t.message:"unknown"}),variant:"error"})}},Y=async()=>{A(!0);try{const a=(await N.post("/api/logs/cleanup")).data.deleted??0;g({title:a>0?s("settings.toast.cleanupSuccess",{count:a}):s("settings.toast.cleanupNone"),variant:"success"})}catch(t){g({title:s("settings.toast.cleanupFailure",{message:t instanceof Error?t.message:"unknown"}),variant:"error"})}finally{A(!1)}},Z=async()=>{D(!0);try{const t=await N.post("/api/logs/clear"),{deleted:a,metricsCleared:d}=t.data;g({title:s("settings.toast.clearAllSuccess",{logs:a,metrics:d}),variant:"success"})}catch(t){g({title:s("settings.toast.clearAllFailure",{message:t instanceof Error?t.message:"unknown"}),variant:"error"})}finally{D(!1)}},ee=n.isPending||!r&&n.isFetching;return e.jsxs("div",{className:"flex flex-col gap-8",children:[e.jsx(ne,{icon:e.jsx(re,{className:"h-6 w-6","aria-hidden":"true"}),title:s("settings.title"),description:s("settings.description"),actions:r?e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{type:"button",onClick:$,className:c(C,"h-10 rounded-full px-4"),disabled:P,children:s("common.actions.reset")}),e.jsx("button",{type:"button",onClick:W,className:c(V,"h-10 rounded-full px-4"),disabled:P,children:s(P?"common.actions.saving":"common.actions.save")})]}):null}),ee?e.jsx(w,{className:"flex min-h-[220px] items-center justify-center",children:e.jsx(O,{})}):r?e.jsxs(e.Fragment,{children:[e.jsxs(w,{title:s("settings.sections.basics"),contentClassName:"grid w-full gap-5 md:grid-cols-2",children:[e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.fields.port")}),e.jsx("input",{type:"number",min:1,max:65535,value:o.port,onChange:t=>j("port")(t.target.value),className:c(y,"h-11"),"aria-invalid":!!b.port}),b.port?e.jsx("span",{className:"text-xs font-medium text-red-500 dark:text-red-300",children:b.port}):null]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.fields.host")}),e.jsx("input",{value:o.host,onChange:t=>j("host")(t.target.value),placeholder:s("settings.fields.hostPlaceholder"),className:c(y,"h-11")})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.fields.retention")}),e.jsx("input",{type:"number",min:1,max:365,value:o.logRetentionDays,onChange:t=>j("logRetentionDays")(t.target.value),className:c(y,"h-11"),"aria-invalid":!!b.logRetentionDays}),b.logRetentionDays?e.jsx("span",{className:"text-xs font-medium text-red-500 dark:text-red-300",children:b.logRetentionDays}):null]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.fields.bodyLimit")}),e.jsx("input",{type:"number",min:1,max:2048,value:o.bodyLimitMb,onChange:t=>j("bodyLimitMb")(t.target.value),className:c(y,"h-11"),"aria-invalid":!!b.bodyLimitMb}),e.jsx("p",{className:c(h,"text-[11px] leading-relaxed"),children:s("settings.fields.bodyLimitHint")}),b.bodyLimitMb?e.jsx("span",{className:"text-xs font-medium text-red-500 dark:text-red-300",children:b.bodyLimitMb}):null]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.fields.logLevel")}),e.jsx("select",{value:o.logLevel,onChange:t=>p(a=>({...a,logLevel:t.target.value})),className:"h-10",children:oe.map(t=>e.jsx("option",{value:t.value,children:s(`settings.fields.logLevelOption.${t.labelKey}`)},t.value))})]}),e.jsxs("div",{className:"md:col-span-2 grid gap-4 sm:grid-cols-2",children:[e.jsxs("label",{className:"flex items-start gap-3 rounded-2xl border border-slate-200/70 bg-white/80 px-4 py-3 shadow-sm shadow-slate-200/60 transition hover:border-slate-300 dark:border-slate-700/60 dark:bg-slate-900/70 dark:hover:border-slate-500/60",children:[e.jsx("input",{type:"checkbox",checked:o.storeRequestPayloads,onChange:t=>p(a=>({...a,storeRequestPayloads:t.target.checked})),className:"mt-1 h-4 w-4 rounded border-slate-300 text-blue-600 focus:ring-blue-400 dark:border-slate-600"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("span",{className:"text-sm font-semibold text-slate-700 dark:text-slate-100",children:s("settings.fields.storeRequestPayloads")}),e.jsx("p",{className:c(h,"text-xs"),children:s("settings.fields.storeRequestPayloadsHint")})]})]}),e.jsxs("label",{className:"flex items-start gap-3 rounded-2xl border border-slate-200/70 bg-white/80 px-4 py-3 shadow-sm shadow-slate-200/60 transition hover:border-slate-300 dark:border-slate-700/60 dark:bg-slate-900/70 dark:hover:border-slate-500/60",children:[e.jsx("input",{type:"checkbox",checked:o.storeResponsePayloads,onChange:t=>p(a=>({...a,storeResponsePayloads:t.target.checked})),className:"mt-1 h-4 w-4 rounded border-slate-300 text-blue-600 focus:ring-blue-400 dark:border-slate-600"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("span",{className:"text-sm font-semibold text-slate-700 dark:text-slate-100",children:s("settings.fields.storeResponsePayloads")}),e.jsx("p",{className:c(h,"text-xs"),children:s("settings.fields.storeResponsePayloadsHint")})]})]}),e.jsxs("label",{className:"flex items-start gap-3 rounded-2xl border border-slate-200/70 bg-white/80 px-4 py-3 shadow-sm shadow-slate-200/60 transition hover:border-slate-300 dark:border-slate-700/60 dark:bg-slate-900/70 dark:hover:border-slate-500/60",children:[e.jsx("input",{type:"checkbox",checked:o.requestLogging,onChange:t=>p(a=>({...a,requestLogging:t.target.checked})),className:"mt-1 h-4 w-4 rounded border-slate-300 text-blue-600 focus:ring-blue-400 dark:border-slate-600"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("span",{className:"text-sm font-semibold text-slate-700 dark:text-slate-100",children:s("settings.fields.requestLogging")}),e.jsx("p",{className:c(h,"text-xs"),children:s("settings.fields.requestLoggingHint")})]})]}),e.jsxs("label",{className:"flex items-start gap-3 rounded-2xl border border-slate-200/70 bg-white/80 px-4 py-3 shadow-sm shadow-slate-200/60 transition hover:border-slate-300 dark:border-slate-700/60 dark:bg-slate-900/70 dark:hover:border-slate-500/60",children:[e.jsx("input",{type:"checkbox",checked:o.responseLogging,onChange:t=>p(a=>({...a,responseLogging:t.target.checked})),className:"mt-1 h-4 w-4 rounded border-slate-300 text-blue-600 focus:ring-blue-400 dark:border-slate-600"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("span",{className:"text-sm font-semibold text-slate-700 dark:text-slate-100",children:s("settings.fields.responseLogging")}),e.jsx("p",{className:c(h,"text-xs"),children:s("settings.fields.responseLoggingHint")})]})]}),e.jsxs("label",{className:"flex items-start gap-3 rounded-2xl border border-amber-200/70 bg-amber-50/80 px-4 py-3 shadow-sm shadow-amber-200/60 transition hover:border-amber-300 dark:border-amber-700/60 dark:bg-amber-900/30 dark:hover:border-amber-500/60",children:[e.jsx("input",{type:"checkbox",checked:o.enableRoutingFallback,onChange:t=>p(a=>({...a,enableRoutingFallback:t.target.checked})),className:"mt-1 h-4 w-4 rounded border-amber-300 text-amber-600 focus:ring-amber-400 dark:border-amber-500"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("span",{className:"text-sm font-semibold text-amber-700 dark:text-amber-200",children:s("settings.fields.enableRoutingFallback")}),e.jsx("p",{className:c(h,"text-xs text-amber-800/80 dark:text-amber-200/80"),children:s("settings.fields.enableRoutingFallbackHint")})]})]})]}),e.jsxs("div",{className:"md:col-span-2 rounded-2xl border border-slate-200/70 bg-white/80 px-4 py-3 text-sm text-slate-700 shadow-sm shadow-slate-200/60 dark:border-slate-700/60 dark:bg-slate-900/70 dark:text-slate-200",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.fields.defaults")}),e.jsx("p",{className:"mt-2 text-sm",children:Q??s("settings.defaults.none")})]})]}),e.jsx(w,{title:s("settings.sections.security"),description:s("settings.auth.description"),contentClassName:"space-y-5",children:x.isPending&&!i?e.jsx("div",{className:"flex min-h-[120px] items-center justify-center",children:e.jsx(O,{})}):e.jsxs("div",{className:"space-y-6",children:[e.jsx("div",{className:"rounded-2xl border border-slate-200/70 bg-white/90 p-5 shadow-sm shadow-slate-200/50 transition dark:border-slate-700/60 dark:bg-slate-900/80 dark:shadow-slate-900/40",children:e.jsxs("label",{className:"flex cursor-pointer select-none items-start gap-3",children:[e.jsx("input",{type:"checkbox",checked:l.enabled,onChange:t=>f(a=>({...a,enabled:t.target.checked})),className:"mt-1 h-5 w-5 rounded border-slate-300 bg-white text-blue-600 shadow-sm transition focus:ring-blue-400/40 dark:border-slate-600 dark:bg-slate-900 dark:text-blue-200"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("span",{className:"text-sm font-semibold text-slate-800 dark:text-slate-100",children:s("settings.auth.enable")}),e.jsx("p",{className:c(h,"text-xs leading-relaxed"),children:s("settings.auth.enableHint")}),e.jsxs("div",{className:"flex flex-wrap gap-2 text-[11px] font-medium text-slate-500 dark:text-slate-400",children:[e.jsx("span",{className:"rounded-full bg-slate-100/90 px-3 py-1 shadow-sm shadow-slate-200/40 dark:bg-slate-800/70",children:"/ui"}),e.jsx("span",{className:"rounded-full bg-slate-100/90 px-3 py-1 shadow-sm shadow-slate-200/40 dark:bg-slate-800/70",children:"/api/*"}),e.jsx("span",{className:"rounded-full bg-slate-100/90 px-3 py-1 shadow-sm shadow-slate-200/40 dark:bg-slate-800/70",children:"Cookie Session"})]})]})]})}),e.jsxs("div",{className:"grid gap-6 lg:grid-cols-[minmax(0,1fr)_minmax(0,0.85fr)]",children:[e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[e.jsxs("div",{className:"flex flex-col gap-2 sm:col-span-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.auth.username")}),e.jsx("input",{value:l.username,onChange:t=>f(a=>({...a,username:t.target.value})),placeholder:s("settings.auth.usernamePlaceholder"),className:c(y,"h-11 font-medium")}),k.username?e.jsx("span",{className:"text-xs font-medium text-red-500 dark:text-red-300",children:k.username}):null]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.auth.password")}),e.jsx("input",{type:"password",value:l.password,disabled:!l.enabled,onChange:t=>f(a=>({...a,password:t.target.value})),placeholder:s("settings.auth.passwordPlaceholder"),className:c(y,"h-11 disabled:cursor-not-allowed disabled:bg-slate-100 dark:disabled:bg-slate-900/40")}),k.password?e.jsx("span",{className:"text-xs font-medium text-red-500 dark:text-red-300",children:k.password}):e.jsx("span",{className:c(h,"text-xs leading-relaxed"),children:s(K?"settings.auth.passwordHintRequired":"settings.auth.passwordHintOptional")})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.auth.confirmPassword")}),e.jsx("input",{type:"password",value:l.confirmPassword,disabled:!l.enabled,onChange:t=>f(a=>({...a,confirmPassword:t.target.value})),placeholder:s("settings.auth.confirmPasswordPlaceholder"),className:c(y,"h-11 disabled:cursor-not-allowed disabled:bg-slate-100 dark:disabled:bg-slate-900/40")}),k.confirmPassword?e.jsx("span",{className:"text-xs font-medium text-red-500 dark:text-red-300",children:k.confirmPassword}):null]})]}),e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"rounded-2xl border border-slate-200/70 bg-white/95 px-5 py-4 text-sm shadow-sm shadow-slate-200/40 dark:border-slate-700/60 dark:bg-slate-900/75 dark:text-slate-200 dark:shadow-slate-900/40",children:[e.jsx("div",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500/90 dark:text-slate-400",children:s("settings.auth.status")}),e.jsx("div",{className:"mt-2 text-base font-semibold text-slate-800 dark:text-slate-100",children:i!=null&&i.enabled?s("settings.auth.statusEnabled"):s("settings.auth.statusDisabled")}),i!=null&&i.username?e.jsxs("div",{className:"mt-3 rounded-2xl bg-blue-50/80 px-3 py-2 text-xs font-medium text-blue-700 shadow-sm shadow-blue-200/40 dark:bg-blue-500/20 dark:text-blue-100",children:[s("settings.auth.username"),": ",i.username]}):null]}),e.jsx("div",{className:"rounded-2xl border border-slate-200/60 bg-slate-50/80 px-5 py-4 text-xs leading-relaxed text-slate-600 shadow-sm shadow-slate-200/40 dark:border-slate-700/50 dark:bg-slate-800/60 dark:text-slate-300",children:s(K?"settings.auth.passwordHintRequired":"settings.auth.passwordHintOptional")})]})]}),e.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-3",children:[e.jsx("button",{type:"button",onClick:z,className:c(V,"h-10 rounded-full px-6"),disabled:R,children:s(R?"common.actions.saving":"settings.auth.actions.save")}),e.jsx("button",{type:"button",onClick:U,className:c(C,"h-10 rounded-full px-4"),disabled:R,children:s("common.actions.reset")})]})]})}),e.jsx(w,{title:s("settings.sections.configFile"),description:s("settings.file.description"),actions:e.jsxs("button",{type:"button",onClick:X,className:c(C,"h-10 rounded-full px-4"),children:[e.jsx(le,{className:"h-4 w-4","aria-hidden":"true"}),s("common.actions.copy")]}),contentClassName:"gap-3",children:e.jsx("code",{className:"block break-all rounded-2xl border border-slate-200/60 bg-slate-100 px-4 py-3 text-xs text-slate-700 dark:border-slate-700/60 dark:bg-slate-900 dark:text-slate-200",children:L||s("settings.file.unknown")})}),e.jsxs(w,{title:s("settings.sections.cleanup"),description:s("settings.cleanup.description"),contentClassName:"flex flex-col gap-4",children:[e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsx("button",{type:"button",onClick:Y,className:c(B,"px-5"),disabled:S,children:s(S?"common.actions.cleaning":"common.actions.cleanup")}),e.jsx("button",{type:"button",onClick:Z,className:c(B,"px-5 border-red-500/70 bg-red-600 text-white hover:bg-red-600/90 dark:border-red-500 dark:bg-red-500 dark:text-white"),disabled:M,children:s(M?"settings.cleanup.clearingAll":"settings.cleanup.clearAll")})]}),e.jsx("p",{className:"text-xs font-medium text-red-500 dark:text-red-300",children:s("settings.cleanup.clearAllWarning")})]})]}):e.jsx(w,{children:e.jsx("p",{className:"text-sm font-medium text-red-500 dark:text-red-300",children:s("settings.toast.missingConfig")})})]})}export{me as default};
|
|
1
|
+
import{u as te,a as ae,r as u,j as e,d as c,T as re,L as O,b as N,k as C,E as V,K as y,m as h,J as B}from"./index-3UByifOG.js";import{u as _}from"./useApiQuery-7KXAW9hB.js";import{P as ne,a as w}from"./PageSection-BT-depe5.js";import{C as le}from"./copy-OD9YQ85H.js";const oe=[{value:"fatal",labelKey:"fatal"},{value:"error",labelKey:"error"},{value:"warn",labelKey:"warn"},{value:"info",labelKey:"info"},{value:"debug",labelKey:"debug"},{value:"trace",labelKey:"trace"}];function me(){const{t:s}=te(),{pushToast:g}=ae(),n=_(["config","info"],{url:"/api/config/info",method:"GET"}),x=_(["auth","web"],{url:"/api/auth/web",method:"GET"}),[r,F]=u.useState(null),[L,G]=u.useState(""),[o,p]=u.useState({port:"",host:"",logRetentionDays:"",storeRequestPayloads:!0,storeResponsePayloads:!0,logLevel:"info",requestLogging:!0,responseLogging:!0,bodyLimitMb:"10",enableRoutingFallback:!1}),[b,q]=u.useState({}),[P,E]=u.useState(!1),[S,A]=u.useState(!1),[M,D]=u.useState(!1),[i,H]=u.useState(null),[l,f]=u.useState({enabled:!1,username:"",password:"",confirmPassword:""}),[k,v]=u.useState({}),[R,T]=u.useState(!1),Q=u.useMemo(()=>{if(!r)return null;const t=r.defaults;if(!t)return null;const a=[];return t.completion&&a.push(s("settings.defaults.completion",{model:t.completion})),t.reasoning&&a.push(s("settings.defaults.reasoning",{model:t.reasoning})),t.background&&a.push(s("settings.defaults.background",{model:t.background})),a.length>0?a.join(" | "):s("settings.defaults.none")},[r,s]),K=u.useMemo(()=>l.enabled?i!=null&&i.hasPassword?l.username.trim()!==((i==null?void 0:i.username)??""):!0:!1,[l.enabled,l.username,i]);u.useEffect(()=>{if(n.data){F(n.data.config),G(n.data.path);const t=n.data.config.storePayloads,a=d=>typeof d=="boolean"?d:typeof t=="boolean"?t:!0;p({port:String(n.data.config.port??""),host:n.data.config.host??"127.0.0.1",logRetentionDays:String(n.data.config.logRetentionDays??30),storeRequestPayloads:a(n.data.config.storeRequestPayloads),storeResponsePayloads:a(n.data.config.storeResponsePayloads),logLevel:n.data.config.logLevel??"info",requestLogging:n.data.config.requestLogging!==!1,responseLogging:n.data.config.responseLogging??n.data.config.requestLogging!==!1,bodyLimitMb:(()=>{const d=n.data.config.bodyLimit;return typeof d=="number"&&Number.isFinite(d)&&d>0?String(Math.max(1,Math.round(d/(1024*1024)))):"10"})(),enableRoutingFallback:n.data.config.enableRoutingFallback===!0})}},[n.data]),u.useEffect(()=>{x.data&&(H(x.data),f({enabled:x.data.enabled,username:x.data.username??"",password:"",confirmPassword:""}),v({}))},[x.data]),u.useEffect(()=>{n.isError&&n.error&&g({title:s("settings.toast.loadFailure",{message:n.error.message}),variant:"error"})},[n.isError,n.error,g,s]),u.useEffect(()=>{x.isError&&x.error&&g({title:s("settings.toast.authLoadFailure",{message:x.error.message}),variant:"error"})},[x.isError,x.error,g,s]);const j=t=>a=>{p(d=>({...d,[t]:a}))},I=()=>{const t={},a=Number(o.port);(!Number.isFinite(a)||a<1||a>65535)&&(t.port=s("settings.validation.port"));const d=Number(o.logRetentionDays);(!Number.isFinite(d)||d<1||d>365)&&(t.logRetentionDays=s("settings.validation.retention"));const m=Number(o.bodyLimitMb);return(!Number.isFinite(m)||m<1||m>2048)&&(t.bodyLimitMb=s("settings.validation.bodyLimit")),q(t),Object.keys(t).length===0},J=()=>{const t={},a=l.username.trim(),d=i?a!==(i.username??""):!0,m=l.enabled&&(!(i!=null&&i.hasPassword)||d);return l.enabled&&!a&&(t.username=s("settings.auth.validation.username")),l.password&&l.password.length<6&&(t.password=s("settings.auth.validation.minLength")),m&&!l.password&&(t.password=s("settings.auth.validation.passwordRequired")),(l.password||l.confirmPassword)&&l.password!==l.confirmPassword&&(t.confirmPassword=s("settings.auth.validation.confirmMismatch")),v(t),Object.keys(t).length===0},W=async()=>{if(!r){g({title:s("settings.toast.loadFailure",{message:s("settings.toast.missingConfig")}),variant:"error"});return}if(I()){E(!0);try{const t=Number(o.port),a=Number(o.logRetentionDays),d=Number(o.bodyLimitMb),m={...r,port:t,host:o.host.trim()||void 0,logRetentionDays:a,storeRequestPayloads:o.storeRequestPayloads,storeResponsePayloads:o.storeResponsePayloads,logLevel:o.logLevel,requestLogging:o.requestLogging,responseLogging:o.responseLogging,bodyLimit:Math.max(1,Math.floor(d*1024*1024)),enableRoutingFallback:o.enableRoutingFallback},{webAuth:ie,...se}=m;await N.put("/api/config",se),F({...m,webAuth:r.webAuth}),g({title:s("settings.toast.saveSuccess"),variant:"success"}),n.refetch()}catch(t){g({title:s("settings.toast.saveFailure",{message:t instanceof Error?t.message:"unknown"}),variant:"error"})}finally{E(!1)}}},$=()=>{r&&(p({port:String(r.port??""),host:r.host??"",logRetentionDays:String(r.logRetentionDays??30),storeRequestPayloads:typeof r.storeRequestPayloads=="boolean"?r.storeRequestPayloads:typeof r.storePayloads=="boolean"?r.storePayloads:!0,storeResponsePayloads:typeof r.storeResponsePayloads=="boolean"?r.storeResponsePayloads:typeof r.storePayloads=="boolean"?r.storePayloads:!0,logLevel:r.logLevel??"info",requestLogging:r.requestLogging!==!1,responseLogging:r.responseLogging??r.requestLogging!==!1,bodyLimitMb:(()=>{const t=r.bodyLimit;return typeof t=="number"&&Number.isFinite(t)&&t>0?String(Math.max(1,Math.round(t/(1024*1024)))):"10"})(),enableRoutingFallback:r.enableRoutingFallback===!0}),q({}))},z=async()=>{var t;if(J()){T(!0);try{const a={enabled:l.enabled,username:l.username.trim()||void 0};l.password&&(a.password=l.password);const m=(t=(await N.post("/api/auth/web",a)).data)==null?void 0:t.auth;m&&(H(m),f({enabled:m.enabled,username:m.username??"",password:"",confirmPassword:""}),v({})),g({title:s("settings.auth.toast.success"),variant:"success"}),x.refetch()}catch(a){const d=a instanceof Error?a.message:"unknown";g({title:s("settings.auth.toast.failure",{message:d}),variant:"error"})}finally{T(!1)}}},U=()=>{i&&(f({enabled:i.enabled,username:i.username??"",password:"",confirmPassword:""}),v({}))},X=async()=>{if(!L){g({title:s("settings.toast.copyFailure",{message:s("settings.file.unknown")}),variant:"error"});return}try{await navigator.clipboard.writeText(L),g({title:s("settings.toast.copySuccess"),variant:"success"})}catch(t){g({title:s("settings.toast.copyFailure",{message:t instanceof Error?t.message:"unknown"}),variant:"error"})}},Y=async()=>{A(!0);try{const a=(await N.post("/api/logs/cleanup")).data.deleted??0;g({title:a>0?s("settings.toast.cleanupSuccess",{count:a}):s("settings.toast.cleanupNone"),variant:"success"})}catch(t){g({title:s("settings.toast.cleanupFailure",{message:t instanceof Error?t.message:"unknown"}),variant:"error"})}finally{A(!1)}},Z=async()=>{D(!0);try{const t=await N.post("/api/logs/clear"),{deleted:a,metricsCleared:d}=t.data;g({title:s("settings.toast.clearAllSuccess",{logs:a,metrics:d}),variant:"success"})}catch(t){g({title:s("settings.toast.clearAllFailure",{message:t instanceof Error?t.message:"unknown"}),variant:"error"})}finally{D(!1)}},ee=n.isPending||!r&&n.isFetching;return e.jsxs("div",{className:"flex flex-col gap-8",children:[e.jsx(ne,{icon:e.jsx(re,{className:"h-6 w-6","aria-hidden":"true"}),title:s("settings.title"),description:s("settings.description"),actions:r?e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{type:"button",onClick:$,className:c(C,"h-10 rounded-full px-4"),disabled:P,children:s("common.actions.reset")}),e.jsx("button",{type:"button",onClick:W,className:c(V,"h-10 rounded-full px-4"),disabled:P,children:s(P?"common.actions.saving":"common.actions.save")})]}):null}),ee?e.jsx(w,{className:"flex min-h-[220px] items-center justify-center",children:e.jsx(O,{})}):r?e.jsxs(e.Fragment,{children:[e.jsxs(w,{title:s("settings.sections.basics"),contentClassName:"grid w-full gap-5 md:grid-cols-2",children:[e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.fields.port")}),e.jsx("input",{type:"number",min:1,max:65535,value:o.port,onChange:t=>j("port")(t.target.value),className:c(y,"h-11"),"aria-invalid":!!b.port}),b.port?e.jsx("span",{className:"text-xs font-medium text-red-500 dark:text-red-300",children:b.port}):null]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.fields.host")}),e.jsx("input",{value:o.host,onChange:t=>j("host")(t.target.value),placeholder:s("settings.fields.hostPlaceholder"),className:c(y,"h-11")})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.fields.retention")}),e.jsx("input",{type:"number",min:1,max:365,value:o.logRetentionDays,onChange:t=>j("logRetentionDays")(t.target.value),className:c(y,"h-11"),"aria-invalid":!!b.logRetentionDays}),b.logRetentionDays?e.jsx("span",{className:"text-xs font-medium text-red-500 dark:text-red-300",children:b.logRetentionDays}):null]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.fields.bodyLimit")}),e.jsx("input",{type:"number",min:1,max:2048,value:o.bodyLimitMb,onChange:t=>j("bodyLimitMb")(t.target.value),className:c(y,"h-11"),"aria-invalid":!!b.bodyLimitMb}),e.jsx("p",{className:c(h,"text-[11px] leading-relaxed"),children:s("settings.fields.bodyLimitHint")}),b.bodyLimitMb?e.jsx("span",{className:"text-xs font-medium text-red-500 dark:text-red-300",children:b.bodyLimitMb}):null]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.fields.logLevel")}),e.jsx("select",{value:o.logLevel,onChange:t=>p(a=>({...a,logLevel:t.target.value})),className:"h-10",children:oe.map(t=>e.jsx("option",{value:t.value,children:s(`settings.fields.logLevelOption.${t.labelKey}`)},t.value))})]}),e.jsxs("div",{className:"md:col-span-2 grid gap-4 sm:grid-cols-2",children:[e.jsxs("label",{className:"flex items-start gap-3 rounded-2xl border border-slate-200/70 bg-white/80 px-4 py-3 shadow-sm shadow-slate-200/60 transition hover:border-slate-300 dark:border-slate-700/60 dark:bg-slate-900/70 dark:hover:border-slate-500/60",children:[e.jsx("input",{type:"checkbox",checked:o.storeRequestPayloads,onChange:t=>p(a=>({...a,storeRequestPayloads:t.target.checked})),className:"mt-1 h-4 w-4 rounded border-slate-300 text-blue-600 focus:ring-blue-400 dark:border-slate-600"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("span",{className:"text-sm font-semibold text-slate-700 dark:text-slate-100",children:s("settings.fields.storeRequestPayloads")}),e.jsx("p",{className:c(h,"text-xs"),children:s("settings.fields.storeRequestPayloadsHint")})]})]}),e.jsxs("label",{className:"flex items-start gap-3 rounded-2xl border border-slate-200/70 bg-white/80 px-4 py-3 shadow-sm shadow-slate-200/60 transition hover:border-slate-300 dark:border-slate-700/60 dark:bg-slate-900/70 dark:hover:border-slate-500/60",children:[e.jsx("input",{type:"checkbox",checked:o.storeResponsePayloads,onChange:t=>p(a=>({...a,storeResponsePayloads:t.target.checked})),className:"mt-1 h-4 w-4 rounded border-slate-300 text-blue-600 focus:ring-blue-400 dark:border-slate-600"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("span",{className:"text-sm font-semibold text-slate-700 dark:text-slate-100",children:s("settings.fields.storeResponsePayloads")}),e.jsx("p",{className:c(h,"text-xs"),children:s("settings.fields.storeResponsePayloadsHint")})]})]}),e.jsxs("label",{className:"flex items-start gap-3 rounded-2xl border border-slate-200/70 bg-white/80 px-4 py-3 shadow-sm shadow-slate-200/60 transition hover:border-slate-300 dark:border-slate-700/60 dark:bg-slate-900/70 dark:hover:border-slate-500/60",children:[e.jsx("input",{type:"checkbox",checked:o.requestLogging,onChange:t=>p(a=>({...a,requestLogging:t.target.checked})),className:"mt-1 h-4 w-4 rounded border-slate-300 text-blue-600 focus:ring-blue-400 dark:border-slate-600"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("span",{className:"text-sm font-semibold text-slate-700 dark:text-slate-100",children:s("settings.fields.requestLogging")}),e.jsx("p",{className:c(h,"text-xs"),children:s("settings.fields.requestLoggingHint")})]})]}),e.jsxs("label",{className:"flex items-start gap-3 rounded-2xl border border-slate-200/70 bg-white/80 px-4 py-3 shadow-sm shadow-slate-200/60 transition hover:border-slate-300 dark:border-slate-700/60 dark:bg-slate-900/70 dark:hover:border-slate-500/60",children:[e.jsx("input",{type:"checkbox",checked:o.responseLogging,onChange:t=>p(a=>({...a,responseLogging:t.target.checked})),className:"mt-1 h-4 w-4 rounded border-slate-300 text-blue-600 focus:ring-blue-400 dark:border-slate-600"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("span",{className:"text-sm font-semibold text-slate-700 dark:text-slate-100",children:s("settings.fields.responseLogging")}),e.jsx("p",{className:c(h,"text-xs"),children:s("settings.fields.responseLoggingHint")})]})]}),e.jsxs("label",{className:"flex items-start gap-3 rounded-2xl border border-amber-200/70 bg-amber-50/80 px-4 py-3 shadow-sm shadow-amber-200/60 transition hover:border-amber-300 dark:border-amber-700/60 dark:bg-amber-900/30 dark:hover:border-amber-500/60",children:[e.jsx("input",{type:"checkbox",checked:o.enableRoutingFallback,onChange:t=>p(a=>({...a,enableRoutingFallback:t.target.checked})),className:"mt-1 h-4 w-4 rounded border-amber-300 text-amber-600 focus:ring-amber-400 dark:border-amber-500"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("span",{className:"text-sm font-semibold text-amber-700 dark:text-amber-200",children:s("settings.fields.enableRoutingFallback")}),e.jsx("p",{className:c(h,"text-xs text-amber-800/80 dark:text-amber-200/80"),children:s("settings.fields.enableRoutingFallbackHint")})]})]})]}),e.jsxs("div",{className:"md:col-span-2 rounded-2xl border border-slate-200/70 bg-white/80 px-4 py-3 text-sm text-slate-700 shadow-sm shadow-slate-200/60 dark:border-slate-700/60 dark:bg-slate-900/70 dark:text-slate-200",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.fields.defaults")}),e.jsx("p",{className:"mt-2 text-sm",children:Q??s("settings.defaults.none")})]})]}),e.jsx(w,{title:s("settings.sections.security"),description:s("settings.auth.description"),contentClassName:"space-y-5",children:x.isPending&&!i?e.jsx("div",{className:"flex min-h-[120px] items-center justify-center",children:e.jsx(O,{})}):e.jsxs("div",{className:"space-y-6",children:[e.jsx("div",{className:"rounded-2xl border border-slate-200/70 bg-white/90 p-5 shadow-sm shadow-slate-200/50 transition dark:border-slate-700/60 dark:bg-slate-900/80 dark:shadow-slate-900/40",children:e.jsxs("label",{className:"flex cursor-pointer select-none items-start gap-3",children:[e.jsx("input",{type:"checkbox",checked:l.enabled,onChange:t=>f(a=>({...a,enabled:t.target.checked})),className:"mt-1 h-5 w-5 rounded border-slate-300 bg-white text-blue-600 shadow-sm transition focus:ring-blue-400/40 dark:border-slate-600 dark:bg-slate-900 dark:text-blue-200"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("span",{className:"text-sm font-semibold text-slate-800 dark:text-slate-100",children:s("settings.auth.enable")}),e.jsx("p",{className:c(h,"text-xs leading-relaxed"),children:s("settings.auth.enableHint")}),e.jsxs("div",{className:"flex flex-wrap gap-2 text-[11px] font-medium text-slate-500 dark:text-slate-400",children:[e.jsx("span",{className:"rounded-full bg-slate-100/90 px-3 py-1 shadow-sm shadow-slate-200/40 dark:bg-slate-800/70",children:"/ui"}),e.jsx("span",{className:"rounded-full bg-slate-100/90 px-3 py-1 shadow-sm shadow-slate-200/40 dark:bg-slate-800/70",children:"/api/*"}),e.jsx("span",{className:"rounded-full bg-slate-100/90 px-3 py-1 shadow-sm shadow-slate-200/40 dark:bg-slate-800/70",children:"Cookie Session"})]})]})]})}),e.jsxs("div",{className:"grid gap-6 lg:grid-cols-[minmax(0,1fr)_minmax(0,0.85fr)]",children:[e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[e.jsxs("div",{className:"flex flex-col gap-2 sm:col-span-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.auth.username")}),e.jsx("input",{value:l.username,onChange:t=>f(a=>({...a,username:t.target.value})),placeholder:s("settings.auth.usernamePlaceholder"),className:c(y,"h-11 font-medium")}),k.username?e.jsx("span",{className:"text-xs font-medium text-red-500 dark:text-red-300",children:k.username}):null]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.auth.password")}),e.jsx("input",{type:"password",value:l.password,disabled:!l.enabled,onChange:t=>f(a=>({...a,password:t.target.value})),placeholder:s("settings.auth.passwordPlaceholder"),className:c(y,"h-11 disabled:cursor-not-allowed disabled:bg-slate-100 dark:disabled:bg-slate-900/40")}),k.password?e.jsx("span",{className:"text-xs font-medium text-red-500 dark:text-red-300",children:k.password}):e.jsx("span",{className:c(h,"text-xs leading-relaxed"),children:s(K?"settings.auth.passwordHintRequired":"settings.auth.passwordHintOptional")})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("settings.auth.confirmPassword")}),e.jsx("input",{type:"password",value:l.confirmPassword,disabled:!l.enabled,onChange:t=>f(a=>({...a,confirmPassword:t.target.value})),placeholder:s("settings.auth.confirmPasswordPlaceholder"),className:c(y,"h-11 disabled:cursor-not-allowed disabled:bg-slate-100 dark:disabled:bg-slate-900/40")}),k.confirmPassword?e.jsx("span",{className:"text-xs font-medium text-red-500 dark:text-red-300",children:k.confirmPassword}):null]})]}),e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"rounded-2xl border border-slate-200/70 bg-white/95 px-5 py-4 text-sm shadow-sm shadow-slate-200/40 dark:border-slate-700/60 dark:bg-slate-900/75 dark:text-slate-200 dark:shadow-slate-900/40",children:[e.jsx("div",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500/90 dark:text-slate-400",children:s("settings.auth.status")}),e.jsx("div",{className:"mt-2 text-base font-semibold text-slate-800 dark:text-slate-100",children:i!=null&&i.enabled?s("settings.auth.statusEnabled"):s("settings.auth.statusDisabled")}),i!=null&&i.username?e.jsxs("div",{className:"mt-3 rounded-2xl bg-blue-50/80 px-3 py-2 text-xs font-medium text-blue-700 shadow-sm shadow-blue-200/40 dark:bg-blue-500/20 dark:text-blue-100",children:[s("settings.auth.username"),": ",i.username]}):null]}),e.jsx("div",{className:"rounded-2xl border border-slate-200/60 bg-slate-50/80 px-5 py-4 text-xs leading-relaxed text-slate-600 shadow-sm shadow-slate-200/40 dark:border-slate-700/50 dark:bg-slate-800/60 dark:text-slate-300",children:s(K?"settings.auth.passwordHintRequired":"settings.auth.passwordHintOptional")})]})]}),e.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-3",children:[e.jsx("button",{type:"button",onClick:z,className:c(V,"h-10 rounded-full px-6"),disabled:R,children:s(R?"common.actions.saving":"settings.auth.actions.save")}),e.jsx("button",{type:"button",onClick:U,className:c(C,"h-10 rounded-full px-4"),disabled:R,children:s("common.actions.reset")})]})]})}),e.jsx(w,{title:s("settings.sections.configFile"),description:s("settings.file.description"),actions:e.jsxs("button",{type:"button",onClick:X,className:c(C,"h-10 rounded-full px-4"),children:[e.jsx(le,{className:"h-4 w-4","aria-hidden":"true"}),s("common.actions.copy")]}),contentClassName:"gap-3",children:e.jsx("code",{className:"block break-all rounded-2xl border border-slate-200/60 bg-slate-100 px-4 py-3 text-xs text-slate-700 dark:border-slate-700/60 dark:bg-slate-900 dark:text-slate-200",children:L||s("settings.file.unknown")})}),e.jsxs(w,{title:s("settings.sections.cleanup"),description:s("settings.cleanup.description"),contentClassName:"flex flex-col gap-4",children:[e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsx("button",{type:"button",onClick:Y,className:c(B,"px-5"),disabled:S,children:s(S?"common.actions.cleaning":"common.actions.cleanup")}),e.jsx("button",{type:"button",onClick:Z,className:c(B,"px-5 border-red-500/70 bg-red-600 text-white hover:bg-red-600/90 dark:border-red-500 dark:bg-red-500 dark:text-white"),disabled:M,children:s(M?"settings.cleanup.clearingAll":"settings.cleanup.clearAll")})]}),e.jsx("p",{className:"text-xs font-medium text-red-500 dark:text-red-300",children:s("settings.cleanup.clearAllWarning")})]})]}):e.jsx(w,{children:e.jsx("p",{className:"text-sm font-medium text-red-500 dark:text-red-300",children:s("settings.toast.missingConfig")})})]})}export{me as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as s,d as n,I as u}from"./index-
|
|
1
|
+
import{j as s,d as n,I as u}from"./index-3UByifOG.js";function c({variant:a,children:e,icon:r,className:t}){return s.jsxs("span",{className:n(u[a],t),children:[r||s.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-current","aria-hidden":"true"}),e]})}export{c as S};
|