1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-DDjB6ptH.js","assets/index-Bhk1uhbh.js","assets/vendor-vue-Dzwqm9Y9.js","assets/vendor-i18n-BuoWFzps.js","assets/vendor-misc-B-nM3tYW.js","assets/vendor-misc-DB0Q8XAf.css","assets/index-CYZqxKfL.css","assets/AppLayout.vue_vue_type_script_setup_true_lang-DMncKwM_.js","assets/AppHeader.vue_vue_type_style_index_0_scoped_de9e02fc_lang-CcQW9xK6.js","assets/AppHeader-2a51hzx_.css","assets/useClipboard-EOKn1msF.js","assets/featureFlags-CmxeYaag.js","assets/LocaleSwitcher-DQlA_mZL.js","assets/LocaleSwitcher-CjvPxOhx.css","assets/payment-DxsqQ4_P.js","assets/payment-BG_oNtdV.js"])))=>i.map(i=>d[i]); 2import{d as Qe,z as d,B as e,G as s,A as q,C as r,c as H,u as a,E as x,k as h,F as M,V as B,D as Be,r as V,w as ft,K as Pe,q as me,U as Oe,Q as m,H as T,W as b,R as Te,a2 as Ps,o as Rt,O as eo,$ as Ze,P as hs,_ as xs,a3 as Je,a as to,a5 as fs,Y as Pt,a1 as ao,S as so}from"./vendor-vue-Dzwqm9Y9.js";import{_ as ie,g as no,z as io,a as Ca,k as R,D as $s,b as oo,ar as _a,as as pa,at as ga,au as lo,av as ya,aw as ba,ax as $t,ay as Et,m as bt,az as ro,aA as co,aB as uo}from"./index-Bhk1uhbh.js";import{s as mo,_ as _o}from"./AppLayout.vue_vue_type_script_setup_true_lang-DMncKwM_.js";import{S as fe}from"./Select-C01kMtat.js";import{_ as ks}from"./ConfirmDialog.vue_vue_type_script_setup_true_lang-Caly13hz.js";import{l as po}from"./vendor-misc-B-nM3tYW.js";import{P as xt,b as va,c as wa,d as Es,W as go,e as ha,f as At,S as yo,h as Tt,p as bo,j as vs,s as ho}from"./providerConfig-CHSBMM6y.js";import{u as Xe}from"./vendor-i18n-BuoWFzps.js";import{_ as xo}from"./HelpTooltip.vue_vue_type_script_setup_true_lang-gHutfHq8.js";import{_ as ws}from"./GroupBadge.vue_vue_type_script_setup_true_lang-CYk3x0eN.js";import{G as Cs}from"./GroupOptionItem-MM9X9vPK.js";import{_ as S}from"./Toggle.vue_vue_type_script_setup_true_lang-CwidWQzY.js";import{P as fo}from"./ProxySelector-V3tCaVxw.js";import{u as As,_ as Ts,a as dt,i as Fs,s as Ms}from"./TotpStepUpDialog.vue_vue_type_script_setup_true_lang-Couc0KlK.js";import{b as se,a as rt}from"./apiError-BcAuv_LF.js";import{u as ko}from"./useClipboard-EOKn1msF.js";import{n as xa}from"./paymentFlow-cys_N5rS.js";import{a as Vs,p as vo,b as Us,c as wo}from"./registrationEmailPolicy-BIuq-4e8.js";import"./AppHeader.vue_vue_type_style_index_0_scoped_de9e02fc_lang-CcQW9xK6.js";import"./featureFlags-CmxeYaag.js";import"./LocaleSwitcher-DQlA_mZL.js";/* empty css */import"./peak-rate-qZGUWdry.js";import"./PlatformIcon.vue_vue_type_script_setup_true_lang-Day_FQoY.js";import"./totp-CglRa9bl.js";const Co={class:"flex flex-col items-center gap-0.5 cursor-pointer"},Vo={class:"text-xs text-gray-500 dark:text-gray-400 whitespace-nowrap"},Uo=["aria-checked"],ct=Qe({__name:"ToggleSwitch",props:{label:{},checked:{type:Boolean}},emits:["toggle"],setup(A,{emit:t}){const $=t;return(k,K)=>(r(),d("label",Co,[e("span",Vo,s(A.label),1),e("button",{type:"button",role:"switch","aria-checked":A.checked,onClick:K[0]||(K[0]=D=>$("toggle")),class:q(["relative inline-flex h-5 w-9 shrink-0 rounded-full border-2 border-transparent transition-colors duration-200",A.checked?"bg-primary-500":"bg-gray-300 dark:bg-dark-600"])},[e("span",{class:q(["pointer-events-none inline-block h-4 w-4 rounded-full bg-white shadow-sm transition-transform duration-200",A.checked?"translate-x-4":"translate-x-0"])},null,2)],10,Uo)]))}}),So=["title"],Po={class:"flex items-center gap-3"},$o={class:"text-sm font-medium text-gray-900 dark:text-white"},Eo={class:"text-xs text-gray-400 dark:text-gray-500"},Ao={key:0,class:"text-xs text-gray-400 dark:text-gray-500"},To={key:1,class:"text-xs text-gray-300 dark:text-gray-600"},Fo={key:2,class:"flex items-center gap-1"},Mo=["onClick"],Lo={class:"flex items-center gap-4"},Ro={class:"flex items-center gap-2 border-l border-gray-200 pl-3 dark:border-dark-600"},Ho={class:"text-xs"},Do={class:"text-xs"},jo=Qe({__name:"ProviderCard",props:{provider:{},enabled:{type:Boolean},availableTypes:{}},emits:["toggleField","toggleType","edit","delete"],setup(A,{emit:t}){const $={easypay:"admin.settings.payment.providerEasypay",alipay:"admin.settings.payment.providerAlipay",wxpay:"admin.settings.payment.providerWxpay",stripe:"admin.settings.payment.providerStripe",airwallex:"admin.settings.payment.providerAirwallex"},k=A,K=t,{t:D}=Xe(),ae=H(()=>D($[k.provider.provider_key]||k.provider.provider_key)),C=H(()=>k.provider.payment_mode===xt?D("admin.settings.payment.modeQRCode"):k.provider.payment_mode===va?D("admin.settings.payment.modePopup"):k.provider.payment_mode===wa?D("admin.settings.payment.modeRedirect"):"");function w(f){return Array.isArray(k.provider.supported_types)&&k.provider.supported_types.includes(f)}return(f,U)=>(r(),d("div",{class:q(["group relative rounded-lg border transition-all",A.enabled?"border-gray-200 dark:border-dark-600":"border-gray-200 bg-gray-50 opacity-50 dark:border-dark-700 dark:bg-dark-800/50"]),title:A.enabled?void 0:a(D)("admin.settings.payment.typeDisabled")+" â "+a(D)("admin.settings.payment.enableTypesFirst")},[e("div",{class:q(["flex items-center justify-between px-4 py-2.5",!A.enabled&&"pointer-events-none"])},[e("div",Po,[e("div",{class:q(["rounded-md p-1.5",A.provider.enabled&&A.enabled?"bg-green-100 dark:bg-green-900/30":"bg-gray-100 dark:bg-dark-700"])},[h(ie,{name:"server",size:"sm",class:q(A.provider.enabled&&A.enabled?"text-green-600 dark:text-green-400":"text-gray-400")},null,8,["class"])],2),e("span",$o,s(A.provider.name),1),e("span",Eo,s(ae.value),1),A.provider.payment_mode?(r(),d("span",Ao,"· "+s(C.value),1)):x("",!0),A.enabled&&A.availableTypes.length?(r(),d("span",To,"|")):x("",!0),A.enabled?(r(),d("div",Fo,[(r(!0),d(M,null,B(A.availableTypes,F=>
2(r(),d("button",{key:F.value,type:"button",onClick:N=>K("toggleType",F.value),class:q(["rounded px-2 py-0.5 text-xs font-medium transition-all",w(F.value)?"bg-primary-500 text-white":"bg-gray-100 text-gray-400 dark:bg-dark-700 dark:text-gray-500"])},s(F.label),11,Mo))),128))])):x("",!0)]),e("div",Lo,[h(ct,{label:a(D)("common.enabled"),checked:A.provider.enabled,onToggle:U[0]||(U[0]=F=>K("toggleField","enabled"))},null,8,["label","checked"]),h(ct,{label:a(D)("admin.settings.payment.refundEnabled"),checked:A.provider.refund_enabled,onToggle:U[1]||(U[1]=F=>K("toggleField","refund_enabled"))},null,8,["label","checked"]),A.provider.refund_enabled?(r(),Be(ct,{key:0,label:a(D)("admin.settings.payment.allowUserRefund"),checked:A.provider.allow_user_refund,onToggle:U[2]||(U[2]=F=>K("toggleField","allow_user_refund"))},null,8,["label","checked"])):x("",!0),e("div",Ro,[e("button",{type:"button",onClick:U[3]||(U[3]=F=>K("edit")),class:"flex flex-col items-center gap-0.5 rounded-lg p-1.5 text-gray-500 transition-colors hover:bg-blue-50 hover:text-blue-600 dark:hover:bg-blue-900/20 dark:hover:text-blue-400"},[h(ie,{name:"edit",size:"sm"}),e("span",Ho,s(a(D)("common.edit")),1)]),e("button",{type:"button",onClick:U[4]||(U[4]=F=>K("delete")),class:"flex flex-col items-center gap-0.5 rounded-lg p-1.5 text-gray-500 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20 dark:hover:text-red-400"},[h(ie,{name:"trash",size:"sm"}),e("span",Do,s(a(D)("common.delete")),1)])])])],2)],10,So))}}),zo={class:"card"},Oo={class:"border-b border-gray-100 px-4 py-3 dark:border-dark-700"},Bo={class:"flex items-center justify-between"},Io={class:"text-base font-semibold text-gray-900 dark:text-white"},qo={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},No={class:"flex items-center gap-2"},Wo=["disabled","title"],Ko=["disabled"],Go={class:"p-4"},Qo={key:0,class:"flex items-center justify-center py-6"},Yo={class:"min-w-0 flex-1"},Jo={key:2,class:"py-6 text-center"},Zo={class:"text-sm text-gray-500 dark:text-gray-400"},Xo=Qe({__name:"PaymentProviderList",props:{providers:{},loading:{type:Boolean},canCreate:{type:Boolean},enabledPaymentTypes:{},allPaymentTypes:{},redirectLabel:{}},emits:["refresh","create","edit","delete","toggleField","toggleType","reorder"],setup(A,{emit:t}){const $=A,k=t,{t:K}=Xe(),D=V([]);ft(()=>$.providers,f=>{D.value=[...f]},{immediate:!0});function ae(){const f=D.value.map((U,F)=>({id:U.id,sort_order:F}));k("reorder",f)}function C(f){return $.enabledPaymentTypes.includes(f)}function w(f){return Es(f,$.allPaymentTypes,$.redirectLabel).map(U=>U.label===U.value?{...U,label:K(`payment.methods.${U.value}`,U.value)}:U)}return(f,U)=>(r(),d("div",zo,[e("div",Oo,[e("div",Bo,[e("div",null,[e("h2",Io,s(a(K)("admin.settings.payment.providerManagement")),1),e("p",qo,s(a(K)("admin.settings.payment.providerManagementDesc")),1)]),e("div",No,[e("button",{type:"button",onClick:U[0]||(U[0]=F=>k("refresh")),disabled:A.loading,class:"btn btn-secondary btn-sm",title:a(K)("common.refresh")},[h(ie,{name:"refresh",size:"sm",class:q(A.loading?"animate-spin":"")},null,8,["class"])],8,Wo),e("button",{type:"button",onClick:U[1]||(U[1]=F=>k("create")),disabled:!A.canCreate,class:q(A.canCreate?"btn btn-primary btn-sm":"btn btn-secondary btn-sm cursor-not-allowed opacity-50")},s(a(K)("admin.settings.payment.createProvider")),11,Ko)])])]),e("div",Go,[A.loading&&!A.providers.length?(r(),d("div",Qo,[...U[4]||(U[4]=[e("div",{class:"h-5 w-5 animate-spin rounded-full border-2 border-primary-500 border-t-transparent"},null,-1)])])):x("",!0),A.providers.length?(r(),Be(a(po),{key:1,modelValue:D.value,"onUpdate:modelValue":U[2]||(U[2]=F=>D.value=F),animation:200,handle:".drag-handle",class:"space-y-3",onEnd:ae},{default:Pe(()=>[(r(!0),d(M,null,B(D.value,F=>(r(),d("div",{key:F.id,class:"flex items-start gap-2"},[U[5]||(U[5]=e("div",{class:"drag-handle mt-3 flex cursor-grab items-center text-gray-300 hover:text-gray-500 active:cursor-grabbing dark:text-dark-600 dark:hover:text-dark-400"},[e("svg",{class:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor"},[e("path",{d:"M7 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM13 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM7 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM13 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM7 14a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM13 14a2 2 0 1 0 0 4 2 2 0 0 0 0-4z"})])],-1)),e("div",Yo,[h(jo,{provider:F,enabled:C(F.provider_key),"available-types":w(F.provider_key),onToggleField:N=>k("toggleField",F,N),onToggleType:N=>k("toggleType",F,N),onEdit:N=>k("edit",F),onDelete:N=>k("delete",F)},null,8,["provider","enabled","available-types","onToggleField","onToggleType","onEdit","onDelete"])])]))),128))]),_:1},8,["modelValue"])):A.loading?x("",!0):(r(),d("div",Jo,[e("p",Zo,s(A.canCreate?a(K)("admin.settings.payment.noProviders"):a(K)("admin.settings.payment.enableTypesFirst")),1),A.canCreate?(r(),d("button",{key:0,t
2ype:"button",onClick:U[3]||(U[3]=F=>k("create")),class:"btn btn-primary btn-sm mt-2"},s(a(K)("admin.settings.payment.createProvider")),1)):x("",!0)]))])]))}}),el={class:"grid grid-cols-2 gap-4"},tl={class:"input-label"},al={class:"input-label"},sl={class:"flex flex-wrap items-center gap-x-5 gap-y-2"},nl={key:1,class:"flex items-center gap-2"},il={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},ol={class:"flex gap-1.5"},ll=["onClick"],rl={key:2,class:"flex items-center gap-2"},dl={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},cl={class:"flex flex-wrap gap-1.5"},ul=["onClick"],ml={key:0,class:"space-y-3 rounded-lg border border-gray-100 p-3 dark:border-dark-700"},_l={class:"flex items-center justify-between gap-3"},pl={class:"text-sm font-medium text-gray-900 dark:text-white"},gl={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},yl={key:0,class:"space-y-2"},bl={class:"text-xs text-gray-500 dark:text-gray-400"},hl=["onUpdate:modelValue"],xl={class:"text-xs text-gray-500 dark:text-gray-400"},fl=["onUpdate:modelValue"],kl={class:"text-xs text-gray-500 dark:text-gray-400"},vl=["onUpdate:modelValue","placeholder"],wl=["onClick"],Cl={class:"border-t border-gray-200 pt-4 dark:border-dark-700"},Vl={class:"mb-3 flex items-center gap-2"},Ul={class:"text-sm font-semibold text-gray-900 dark:text-white"},Sl=["aria-label","title"],Pl={class:"space-y-3"},$l={class:"font-medium text-white"},El={class:"font-medium text-white"},Al={class:"text-gray-300"},Tl={class:"text-gray-300"},Fl={class:"text-gray-300"},Ml={key:0,class:"border-t border-white/10 pt-2 text-[11px] text-gray-300"},Ll={key:0,class:"mb-3 text-xs text-gray-500 dark:text-gray-400"},Rl={class:"space-y-3"},Hl={class:"input-label"},Dl={key:0,class:"text-xs text-gray-400"},jl={key:1,class:"text-red-500"},zl=["onUpdate:modelValue","placeholder"],Ol={key:1,class:"relative"},Bl=["type","onUpdate:modelValue","placeholder"],Il=["onClick"],ql={key:0,class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Nl={key:1,class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Wl=["onUpdate:modelValue","placeholder"],Kl={key:4,class:"mt-1 text-xs leading-relaxed text-gray-500 dark:text-gray-400"},Gl={key:1,class:"mt-4 space-y-3"},Ql={key:0},Yl={class:"input-label"},Jl={class:"flex"},Zl=["placeholder"],Xl={class:"inline-flex items-center whitespace-nowrap rounded-r-lg border border-gray-300 bg-gray-50 px-3 text-xs text-gray-500 dark:border-dark-600 dark:bg-dark-700 dark:text-gray-400"},er={key:1},tr={class:"input-label"},ar={class:"flex"},sr=["placeholder"],nr={class:"inline-flex items-center whitespace-nowrap rounded-r-lg border border-gray-300 bg-gray-50 px-3 text-xs text-gray-500 dark:border-dark-600 dark:bg-dark-700 dark:text-gray-400"},ir={key:2,class:"mt-3 rounded-lg border border-blue-200 bg-blue-50 p-3 dark:border-blue-800/50 dark:bg-blue-900/20"},or={class:"text-xs text-blue-700 dark:text-blue-300"},lr={class:"mt-1 block break-all rounded bg-blue-100 px-2 py-1 text-xs text-blue-800 dark:bg-blue-900/40 dark:text-blue-200"},rr={key:0,class:"mt-2 text-xs leading-relaxed text-blue-700 dark:text-blue-300"},dr={key:1,class:"border-t border-gray-200 pt-4 dark:border-dark-700"},cr={class:"text-sm font-semibold text-gray-900 dark:text-white"},ur={class:"mt-3 space-y-3"},mr={class:"mb-2 text-xs font-medium text-gray-700 dark:text-gray-300"},_r={class:"grid grid-cols-3 gap-3"},pr={class:"text-xs text-gray-500 dark:text-gray-400"},gr=["value","onInput","placeholder"],yr={class:"text-xs text-gray-500 dark:text-gray-400"},br=["value","onInput","placeholder"],hr={class:"text-xs text-gray-500 dark:text-gray-400"},xr=["value","onInput","placeholder"],fr={class:"text-xs text-gray-400 dark:text-gray-500"},kr={class:"flex justify-end gap-3"},vr=["disabled"],wr=Qe({__name:"PaymentProviderDialog",props:{show:{type:Boolean},saving:{type:Boolean},editing:{},allKeyOptions:{},enabledKeyOptions:{},allPaymentTypes:{},redirectLabel:{}},emits:["close","save"],setup(A,{expose:t,emit:$}){function k(v){return v==="easypay"?xt:""}function K(v){return v==="easypay"||v==="alipay"}
2function D(v,u){return v==="easypay"?u===xt||u===va:v==="alipay"?u===""||u===wa:u===""}const ae=A,C=$,{t:w}=Xe(),f=me({name:"",provider_key:"easypay",supported_types:[],enabled:!0,payment_mode:xt,refund_enabled:!1,allow_user_refund:!1}),U=me({}),F=me({}),N=V(""),W=V(""),ne=V(!1),G=me({}),X=me([]),ee=typeof window<"u"?window.location.origin:"",oe={stripe:"admin.settings.payment.stripeWebhookHint",airwallex:"admin.settings.payment.airwallexWebhookHint"},_e=H(()=>{const v=go[f.provider_key];return oe[f.provider_key]&&v?ee+v:""}),ue=H(()=>oe[f.provider_key]||"admin.settings.payment.stripeWebhookHint"),le=H(()=>ha[f.provider_key]||null),Q=H(()=>K(f.provider_key)),Y=H(()=>f.provider_key==="alipay"?[{value:"",label:w("admin.settings.payment.modeQRCode")},{value:wa,label:w("admin.settings.payment.modeRedirect")}]:[{value:xt,label:w("admin.settings.payment.modeQRCode")},{value:va,label:w("admin.settings.payment.modePopup")}]),I=H(()=>{const v=Es(f.provider_key,ae.allPaymentTypes,ae.redirectLabel);if(f.provider_key==="easypay")for(const u of ge())v.some(c=>c.value===u.type)||v.push({value:u.type,label:u.displayName||u.type});return v.map(u=>u.label===u.value?{...u,label:w(`payment.methods.${u.value}`,u.value)}:u)}),re=H(()=>(At[f.provider_key]||[]).map(u=>({...u,label:u.label||w(`admin.settings.payment.field_${u.key}`)}))),te=H(()=>f.provider_key==="alipay"?{summary:w("admin.settings.payment.alipayGuideSummary"),items:[{title:w("admin.settings.payment.alipayGuideFaceToFaceTitle"),open:w("admin.settings.payment.alipayGuideFaceToFaceOpen"),call:w("admin.settings.payment.alipayGuideFaceToFaceCall"),fallback:w("admin.settings.payment.alipayGuideFaceToFaceFallback")},{title:w("admin.settings.payment.alipayGuidePagePayTitle"),open:w("admin.settings.payment.alipayGuidePagePayOpen"),call:w("admin.settings.payment.alipayGuidePagePayCall"),fallback:w("admin.settings.payment.alipayGuidePagePayFallback")},{title:w("admin.settings.payment.alipayGuideWapTitle"),open:w("admin.settings.payment.alipayGuideWapOpen"),call:w("admin.settings.payment.alipayGuideWapCall"),fallback:w("admin.settings.payment.alipayGuideWapFallback")}]}:f.provider_key==="wxpay"?{summary:w("admin.settings.payment.wxpayGuideSummary"),note:w("admin.settings.payment.wxpayGuideNote"),items:[{title:w("admin.settings.payment.wxpayGuideNativeTitle"),open:w("admin.settings.payment.wxpayGuideNativeOpen"),call:w("admin.settings.payment.wxpayGuideNativeCall"),fallback:w("admin.settings.payment.wxpayGuideNativeFallback")},{title:w("admin.settings.payment.wxpayGuideJsapiTitle"),open:w("admin.settings.payment.wxpayGuideJsapiOpen"),call:w("admin.settings.payment.wxpayGuideJsapiCall"),fallback:w("admin.settings.payment.wxpayGuideJsapiFallback")},{title:w("admin.settings.payment.wxpayGuideH5Title"),open:w("admin.settings.payment.wxpayGuideH5Open"),call:w("admin.settings.payment.wxpayGuideH5Call"),fallback:w("admin.settings.payment.wxpayGuideH5Fallback")}]}:f.provider_key==="airwallex"?{summary:w("admin.settings.payment.airwallexGuideSummary"),note:w("admin.settings.payment.airwallexGuideNote"),items:[]}:null),ye=H(()=>f.provider_key==="stripe"?[{value:"stripe",label:"Stripe"}]:f.supported_types.filter(u=>u!=="easypay").map(u=>ae.allPaymentTypes.find(g=>g.value===u)||{value:u,label:u}));function $e(v){return f.supported_types.includes(v)}function ke(v){f.supported_types.includes(v)?f.supported_types=f.supported_types.filter(u=>u!==v):f.supported_types=[...f.supported_types,v]}function ge(){return X.map(v=>({type:be(v.type),upstreamType:be(v.upstreamType),displayName:v.displayName.trim()})).filter(v=>v.type||v.upstreamType||v.displayName)}function be(v){return v.trim().toLowerCase()}function Re(){X.push({type:"",upstreamType:"",displayName:""})}function Ue(v){X.splice(v,1)}function Ie(){f.supported_types=[...Tt[f.provider_key]||[]],f.payment_mode=k(f.provider_key),He(),ve()}function He(){Object.keys(U).forEach(v=>delete U[v]),Object.keys(F).forEach(v=>delete F[v]),Object.keys(G).forEach(v=>delete G[v]),N.value="",W.value="",ne.value=!1,X.splice(0,X.length)}function ve(){for(const v of At[f.provider_key]||[])v.defaultValue&&!U[v.key]&&(U[v.key]=v.defaultValue)}function Fe(v,u){var g;const c=(g=F[v])==null?void 0:g[u];return c&&c>0?String(c):""}function qe(v){const u=F[v];return u?u.singleMin>0||u.singleMax>0||u.dailyLimit>0:!1}function he(v){return qe(v)?w("admin.settings.payment.limitsNoLimit"):w("admin.settings.payment.limitsUseGlobal")}function we(v,u,c){F[v]||(F[v]={});const g=Number(c);if(c===""||isNaN(g)){delete F[v][u];return}g<=0||(F[v][u]=g)}function Ee(){const v={};for(const[u,c]of Object.entries(F)){const g={};for(const[z,Me]of Object.entries(c))Me>0&&(g[z]=Me);Object.keys(g).length>0&&(v[u]=g)}return Object.keys(v).length>0?JSON.stringify(v):""}function Se(){if(!f.name.trim()){E(w("admin.settings.payment.validationNameRequired"));return}if(f.provider_key==="easypay"){const g=P();if(g){E(g);return}De()}for(const g of At[f.provider_key]||[]){if(g.optional||ae.editing&&g.sensitive)continue;if(!(U[g.key]||"").trim()){const Me=g.label||w(`admin.settings.payment.field_${g.key}`);E(w("admin.settings.payment.validationFieldRequired",{field:Me}));return}}const v=new Set((At[f.provider_key]||[]).filter(g=>g.clearable).map(g=>g.key)),u={};for(const[g,z]of Object.entries(U)){if(!z||!z.trim()){v.has(g)&&(u[g]="");continue}u[g]=z}f.provider_key==="easypay"&&(u.customMethods=ho(ge()));const c=ha[f.provider_key];
2if(c){const g=N.value.trim()||ee,z=W.value.trim()||ee;N.value=g,W.value=z,c.notifyUrl&&(u.notifyUrl=g+c.notifyUrl),c.returnUrl&&(u.returnUrl=z+c.returnUrl)}C("save",{provider_key:f.provider_key,name:f.name,supported_types:f.supported_types,enabled:f.enabled,payment_mode:Q.value?f.payment_mode:"",refund_enabled:f.refund_enabled,allow_user_refund:f.refund_enabled?f.allow_user_refund:!1,config:u,limits:Ee()})}function De(){if(f.provider_key!=="easypay")return[];const v=new Set(Tt.easypay||[]),u=[],c=new Set;for(const g of ge())!g.type||!g.upstreamType||c.has(g.type)||(c.add(g.type),u.push(g.type));f.supported_types=f.supported_types.map(g=>be(g)).filter(g=>v.has(g)||u.includes(g));for(const g of u)f.supported_types.includes(g)||f.supported_types.push(g);return u}function P(){const v=new Set;for(const u of ge())if(u.type||u.upstreamType||u.displayName){if(!u.type||!u.upstreamType)return w("admin.settings.payment.validationEasyPayCustomMethodRequired");if(!/^[a-z0-9_-]+$/.test(u.type))return w("admin.settings.payment.validationEasyPayCustomMethodTypeInvalid");if(!/^[a-z0-9_-]+$/.test(u.upstreamType))return w("admin.settings.payment.validationEasyPayCustomMethodUpstreamTypeInvalid");if((Tt.easypay||[]).includes(u.type))return w("admin.settings.payment.validationEasyPayCustomMethodReserved");if(u.type.startsWith("alipay")||u.type.startsWith("wxpay"))return w("admin.settings.payment.validationEasyPayCustomMethodPrefixReserved");if(v.has(u.type))return w("admin.settings.payment.validationEasyPayCustomMethodDuplicate");v.add(u.type)}return null}function E(v){io(()=>import("./index-DDjB6ptH.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])).then(u=>u.useAppStore().showError(v))}function Z(v){f.name="",f.provider_key=v,f.supported_types=[...Tt[v]||[]],f.enabled=!0,f.payment_mode=k(v),f.refund_enabled=!1,f.allow_user_refund=!1,He(),ve()}function pe(v){if(f.name=v.name,f.provider_key=v.provider_key,f.supported_types=Array.isArray(v.supported_types)?[...v.supported_types]:[],f.enabled=v.enabled,f.payment_mode=D(v.provider_key,v.payment_mode||"")?v.payment_mode||"":k(v.provider_key),f.refund_enabled=v.refund_enabled,f.allow_user_refund=v.allow_user_refund,He(),v.config){for(const[c,g]of Object.entries(v.config))if(!(c==="notifyUrl"||c==="returnUrl")){if(c==="customMethods"&&v.provider_key==="easypay"){X.push(...bo(g));continue}U[c]=g}const u=ha[v.provider_key];u!=null&&u.notifyUrl&&v.config.notifyUrl&&(N.value=vs(v.config.notifyUrl,u.notifyUrl)),u!=null&&u.returnUrl&&v.config.returnUrl&&(W.value=vs(v.config.returnUrl,u.returnUrl))}if(ve(),v.limits)try{const u=JSON.parse(v.limits);for(const[c,g]of Object.entries(u))F[c]={...g};ne.value=Object.keys(F).length>0}catch{}}return t({reset:Z,loadProvider:pe}),(v,u)=>(r(),Be(no,{show:A.show,title:A.editing?a(w)("admin.settings.payment.editProvider"):a(w)("admin.settings.payment.createProvider"),width:"wide",onClose:u[9]||(u[9]=c=>C("close"))},{footer:Pe(()=>[e("div",kr,[e("button",{type:"button",onClick:u[8]||(u[8]=c=>C("close")),class:"btn btn-secondary"},s(a(w)("common.cancel")),1),e("button",{type:"submit",form:"provider-form",disabled:A.saving,class:"btn btn-primary"},s(A.saving?a(w)("common.saving"):a(w)("common.save")),9,vr)])]),default:Pe(()=>[e("form",{id:"provider-form",onSubmit:Oe(Se,["prevent"]),class:"space-y-4"},[e("div",el,[e("div",null,[e("label",tl,[T(s(a(w)("admin.settings.payment.providerName"))+" ",1),u[10]||(u[10]=e("span",{class:"text-red-500"},"*",-1))]),m(e("input",{"onUpdate:modelValue":u[0]||(u[0]=c=>f.name=c),type:"text",class:"input",required:""},null,512),[[b,f.name]])]),e("div",null,[e("label",al,[T(s(a(w)("admin.settings.payment.providerKey"))+" ",1),u[11]||(u[11]=e("span",{class:"text-red-500"},"*",-1))]),h(fe,{modelValue:f.provider_key,"onUpdate:modelValue":u[1]||(u[1]=c=>f.provider_key=c),options:A.editing?A.allKeyOptions:A.enabledKeyOptions,disabled:!!A.editing,onChange:Ie},null,8,["modelValue","options","disabled"])])]),e("div",sl,[h(ct,{label:a(w)("common.enabled"),checked:f.enabled,onToggle:u[2]||(u[2]=c=>f.enabled=!f.enabled)},null,8,["label","checked"]),h(ct,{label:a(w)("admin.settings.payment.refundEnabled"),checked:f.refund_enabled,onToggle:u[3]||(u[3]=c=>{f.refund_enabled=!f.refund_enabled,f.refund_enabled||(f.allow_user_refund=!1)})},null,8,["label","checked"]),f.refund_enabled?(r(),Be(ct,{key:0,label:a(w)("admin.settings.payment.allowUserRefund"),checked:f.allow_user_refund,onToggle:u[4]||(u[4]=c=>f.allow_user_refund=!f.allow_user_refund)},null,8,["label","checked"])):x("",!0),Q.value?(r(),d("div",nl,[e("span",il,s(a(w)("admin.settings.payment.paymentMode")),1),e("div",ol,[(r(!0),d(M,null,B(Y.value,c=>(r(),d("button",{key:c.value,type:"button",onClick:g=>f.payment_mode=c.value,class:q(["rounded-lg border px-2.5 py-1 text-xs font-medium transition-all",f.payment_mode===c.value?"border-primary-500 bg-primary-500 text-white shadow-sm":"border-gray-300 bg-white text-gray-600 hover:border-gray-400 hover:bg-gray-50 dark:border-dark-600 dark:bg-dark-800 dark:text-gray-300 dark:hover:border-dark-500"])},s(c.label),11,ll))),128))])])):x("",!0),I.value.length>1?(r(),d("div",rl,[e("span",dl,s(a(w)("admin.settings.payment.supportedTypes")),1),e("div",cl,[(r(!0),d(M,null,B(I.value,c=>(r(),d("button",{key:c.value,type:"button",onClick:g=>
2ke(c.value),class:q(["rounded-lg border px-2.5 py-1 text-xs font-medium transition-all",$e(c.value)?"border-primary-500 bg-primary-500 text-white shadow-sm":"border-gray-300 bg-white text-gray-600 hover:border-gray-400 hover:bg-gray-50 dark:border-dark-600 dark:bg-dark-800 dark:text-gray-300 dark:hover:border-dark-500"])},s(c.label),11,ul))),128))])])):x("",!0)]),f.provider_key==="easypay"?(r(),d("div",ml,[e("div",_l,[e("div",null,[e("h5",pl,s(a(w)("admin.settings.payment.easypayCustomMethods")),1),e("p",gl,s(a(w)("admin.settings.payment.easypayCustomMethodsHint")),1)]),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:Re},s(a(w)("admin.settings.payment.addCustomMethod")),1)]),X.length?(r(),d("div",yl,[(r(!0),d(M,null,B(X,(c,g)=>(r(),d("div",{key:g,class:"grid grid-cols-[1fr_1fr_1fr_auto] items-end gap-2"},[e("div",null,[e("label",bl,s(a(w)("admin.settings.payment.customMethodType")),1),m(e("input",{"onUpdate:modelValue":z=>c.type=z,type:"text",class:"input mt-0.5",placeholder:"credit_card"},null,8,hl),[[b,c.type]])]),e("div",null,[e("label",xl,s(a(w)("admin.settings.payment.customMethodUpstreamType")),1),m(e("input",{"onUpdate:modelValue":z=>c.upstreamType=z,type:"text",class:"input mt-0.5",placeholder:"credit_card"},null,8,fl),[[b,c.upstreamType]])]),e("div",null,[e("label",kl,s(a(w)("admin.settings.payment.customMethodDisplayName")),1),m(e("input",{"onUpdate:modelValue":z=>c.displayName=z,type:"text",class:"input mt-0.5",placeholder:a(w)("admin.settings.payment.customMethodDisplayNamePlaceholder")},null,8,vl),[[b,c.displayName]])]),e("button",{type:"button",class:"rounded-lg border border-red-200 px-2.5 py-2 text-xs font-medium text-red-600 transition-colors hover:bg-red-50 dark:border-red-800/60 dark:text-red-300 dark:hover:bg-red-900/20",onClick:z=>Ue(g)},s(a(w)("common.delete")),9,wl)]))),128))])):x("",!0)])):x("",!0),e("div",Cl,[e("div",Vl,[e("h4",Ul,s(a(w)("admin.settings.payment.providerConfig")),1),te.value?(r(),Be(xo,{key:0,trigger:"click","width-class":"w-80"},{trigger:Pe(()=>[e("button",{type:"button",class:"inline-flex h-5 w-5 items-center justify-center rounded-full border border-gray-300 text-[11px] font-semibold text-gray-400 transition-colors hover:border-primary-500 hover:text-primary-600 dark:border-dark-500 dark:text-gray-500 dark:hover:border-primary-400 dark:hover:text-primary-400","aria-label":a(w)("admin.settings.payment.paymentGuideTrigger"),title:a(w)("admin.settings.payment.paymentGuideTrigger")}," ? ",8,Sl)]),default:Pe(()=>[e("div",Pl,[e("p",$l,s(te.value.summary),1),(r(!0),d(M,null,B(te.value.items,c=>(r(),d("div",{key:c.title,class:"space-y-1.5 border-t border-white/10 pt-2 first:border-t-0 first:pt-0"},[e("p",El,s(c.title),1),e("p",null,[e("span",Al,s(a(w)("admin.settings.payment.guideOpenLabel")),1),T(s(c.open),1)]),e("p",null,[e("span",Tl,s(a(w)("admin.settings.payment.guideCallLabel")),1),T(s(c.call),1)]),e("p",null,[e("span",Fl,s(a(w)("admin.settings.payment.guideFallbackLabel")),1),T(s(c.fallback),1)])]))),128)),te.value.note?(r(),d("p",Ml,s(te.value.note),1)):x("",!0)])]),_:1})):x("",!0)]),te.value?(r(),d("p",Ll,s(te.value.summary),1)):x("",!0),e("div",Rl,[(r(!0),d(M,null,B(re.value,c=>{var g;return r(),d("div",{key:c.key},[e("label",Hl,[T(s(c.label)+" ",1),c.optional?(r(),d("span",Dl,"("+s(a(w)("common.optional"))+")",1)):(r(),d("span",jl," *"))]),c.sensitive&&c.key.toLowerCase().includes("key")&&c.key!=="pkey"?m((r(),d("textarea",{key:0,"onUpdate:modelValue":z=>U[c.key]=z,rows:"3",class:"input font-mono text-xs",autocomplete:"new-password","data-1p-ignore":"","data-lpignore":"true","data-bwignore":"true",spellcheck:"false",placeholder:A.editing?a(w)("admin.accounts.leaveEmptyToKeep"):""},null,8,zl)),[[b,U[c.key]]]):c.sensitive?(r(),d("div",Ol,[m(e("input",{type:G[c.key]?"text":"password","onUpdate:modelValue":z=>U[c.key]=z,class:"input pr-10",autocomplete:"new-password","data-1p-ignore":"","data-lpignore":"true","data-bwignore":"true",spellcheck:"false",placeholder:A.editing?a(w)("admin.accounts.leaveEmptyToKeep"):c.defaultValue||""},null,8,Bl),[[Ps,U[c.key]]]),e("button",{type:"button",onClick:z=>G[c.key]=!G[c.key],class:"absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300"},[G[c.key]?(r(),d("svg",ql,[...u[12]||(u[12]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.878 9.878L3 3m6.878 6.878L21 21"},null,-1)])])):(r(),d("svg",Nl,[...u[13]||(u[13]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"},null,-1),e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"},null,-1)])]))],8,Il)])):(g=c.options)!=null&&g.length?(r(),Be(fe,{key:2,modelValue:U[c.key],"onUpdate:modelValue":z=>U[c.key]=z,options:c.options,searchable:c.options.length>5},null,8,["modelValue","onUpdate:modelValue","options","searchable"])):m((r(),d("input",{key:3,type:"text","onUpdate:modelValue":z=>U[c.key]=z,class:"input",placeholder:c.defaultValue||""},null,8,Wl)),[[b,U[c.key]]]),c.hintKey?(r(),d("p",Kl,s(a(w)(c.hintKey)),1)):x("",!0)])}),128))]),le.value?(r(),d("div",Gl,[le.value.notifyUrl?(r(),d("div",Ql,[e("label",Yl,[T(s(a(w)("admin.settings.payment.field_notifyUrl"))+" ",1),u[14]||(u[14]=e("span",{class:"text-red-500"},"*",-1))]),e("div",Jl,[m(e("input",{"onUpdate:modelValue":u[5]||(u[5]=c=>N.value=c),type:"text",class:"input min-w-0 flex-1 !rounded-r-none !border-r-0",placeholder:a(ee)},null,8,Zl),[[b,N.value]]),e("span",Xl,s(le.value.notifyUrl),1)])])):x("",!0),le.value.returnUrl?(r(),d("div",er,[e("label",tr,[T(s(a(w)("admin.settings.payment.field_returnUrl"))+" ",1),u[15]||(u[15]=e("span",{class:"text-red-500"},"*",-1))]),e("div",ar,[m(e("input",{"onUpdate:modelValue":u[6]||(u[6]=c=>W.value=c),type:"text",class:"input min-w-0 flex-1 !rounded-r-none !border-r-0",placeholder:a(ee)},null,8,sr),[[b,W.value]]),e("span",nr,s(le.value.returnUrl),1)])])):x("",!0)])):x("",!0),_e.value?(r(),d("div",ir,[e("p",or,s(a(w)(ue.value)),1),e("code",lr,s(_e.value),1),f.provider_key==="str
2ipe"?(r(),d("p",rr,s(a(w)("admin.settings.payment.stripeWebhookApiVersionHint",{version:a(yo)})),1)):x("",!0)])):x("",!0)]),ye.value.length?(r(),d("div",dr,[e("button",{type:"button",onClick:u[7]||(u[7]=c=>ne.value=!ne.value),class:"flex w-full items-center justify-between"},[e("h4",cr,s(a(w)("admin.settings.payment.limitsTitle")),1),(r(),d("svg",{class:q(["h-4 w-4 text-gray-400 transition-transform",ne.value&&"rotate-180"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...u[16]||(u[16]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])],2))]),m(e("div",ur,[(r(!0),d(M,null,B(ye.value,c=>(r(),d("div",{key:c.value,class:"rounded-lg border border-gray-100 p-3 dark:border-dark-700"},[e("p",mr,s(c.label),1),e("div",_r,[e("div",null,[e("label",pr,s(a(w)("admin.settings.payment.limitSingleMin")),1),e("input",{type:"number",value:Fe(c.value,"singleMin"),onInput:g=>we(c.value,"singleMin",g.target.value),class:"input mt-0.5",min:"1",step:"0.01",placeholder:he(c.value)},null,40,gr)]),e("div",null,[e("label",yr,s(a(w)("admin.settings.payment.limitSingleMax")),1),e("input",{type:"number",value:Fe(c.value,"singleMax"),onInput:g=>we(c.value,"singleMax",g.target.value),class:"input mt-0.5",min:"1",step:"0.01",placeholder:he(c.value)},null,40,br)]),e("div",null,[e("label",hr,s(a(w)("admin.settings.payment.limitDaily")),1),e("input",{type:"number",value:Fe(c.value,"dailyLimit"),onInput:g=>we(c.value,"dailyLimit",g.target.value),class:"input mt-0.5",min:"1",step:"0.01",placeholder:he(c.value)},null,40,xr)])])]))),128)),e("p",fr,s(a(w)("admin.settings.payment.limitsHint")),1)],512),[[Te,ne.value]])])):x("",!0)],32)]),_:1},8,["show","title"]))}}),Cr={class:"flex items-start gap-4"},Vr={class:"flex-shrink-0"},Ur=["innerHTML"],Sr=["src"],Pr={class:"flex-1 space-y-2"},$r={class:"flex items-center gap-2"},Er={class:"btn btn-secondary btn-sm cursor-pointer"},Ar=["accept"],Tr={key:0,class:"text-xs text-gray-500 dark:text-gray-400"},Fr={key:1,class:"text-xs text-red-500"},fa=Qe({__name:"ImageUpload",props:{modelValue:{},mode:{default:"image"},size:{default:"md"},uploadLabel:{default:""},removeLabel:{default:""},hint:{default:""},maxSize:{default:300*1024}},emits:["update:modelValue"],setup(A,{emit:t}){const{t:$}=Xe(),k=A,K=t,D=V(""),ae=H(()=>k.uploadLabel||$("common.upload")),C=H(()=>k.removeLabel||$("common.remove")),w=H(()=>k.mode==="svg"?".svg":"image/*"),f=H(()=>k.mode==="svg"?mo(k.modelValue??""):""),U=H(()=>k.size==="sm"?"h-14 w-14":"h-20 w-20"),F=H(()=>k.size==="sm"?"h-7 w-7":"h-12 w-12"),N=H(()=>k.size==="sm"?"h-5 w-5":"h-8 w-8");function W(ne){var oe;const G=ne.target,X=(oe=G.files)==null?void 0:oe[0];if(D.value="",!X)return;if(k.maxSize&&X.size>k.maxSize){D.value=$("common.fileTooLargeKb",{size:(X.size/1024).toFixed(1),max:(k.maxSize/1024).toFixed(0)}),G.value="";return}const ee=new FileReader;if(k.mode==="svg")ee.onload=_e=>{var le;const ue=(le=_e.target)==null?void 0:le.result;ue&&K("update:modelValue",ue.trim())},ee.readAsText(X);else{if(!X.type.startsWith("image/")){D.value=$("common.selectImageFile"),G.value="";return}ee.onload=_e=>{var ue;K("update:modelValue",(ue=_e.target)==null?void 0:ue.result)},ee.readAsDataURL(X)}ee.onerror=()=>{D.value=$("common.fileReadFailed")},G.value=""}return(ne,G)=>(r(),d("div",Cr,[e("div",Vr,[e("div",{class:q(["flex items-center justify-center overflow-hidden rounded-xl border-2 border-dashed border-gray-300 bg-gray-50 dark:border-dark-600 dark:bg-dark-800",[U.value,{"border-solid":!!A.modelValue}]])},[A.mode==="svg"&&A.modelValue?(r(),d("span",{key:0,class:q(["text-gray-600 dark:text-gray-300 [&>svg]:h-full [&>svg]:w-full",F.value]),innerHTML:f.value},null,10,Ur)):A.mode==="image"&&A.modelValue?(r(),d("img",{key:1,src:A.modelValue,alt:"",class:"h-full w-full object-contain"},null,8,Sr)):(r(),d("svg",{key:2,class:q(["text-gray-400 dark:text-dark-500",N.value]),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[...G[1]||(G[1]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"},null,-1)])],2))],2)]),e("div",Pr,[e("div",$r,[e("label",Er,[e("input",{type:"file",accept:w.value,class:"hidden",onChange:W},null,40,Ar),h(ie,{name:"upload",size:"sm",class:"mr-1.5","stroke-width":2}
2),T(" "+s(ae.value),1)]),A.modelValue?(r(),d("button",{key:0,type:"button",class:"btn btn-secondary btn-sm text-red-600 hover:text-red-700 dark:text-red-400",onClick:G[0]||(G[0]=X=>ne.$emit("update:modelValue",""))},[h(ie,{name:"trash",size:"sm",class:"mr-1.5","stroke-width":2}),T(" "+s(C.value),1)])):x("",!0)]),A.hint?(r(),d("p",Tr,s(A.hint),1)):x("",!0),D.value?(r(),d("p",Fr,s(D.value),1)):x("",!0)])]))}}),Mr={class:"space-y-6"},Lr={class:"card p-6"},Rr={class:"mb-4 flex flex-wrap items-center justify-between gap-3"},Hr={class:"text-base font-semibold text-gray-900 dark:text-white"},Dr={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},jr={class:"grid grid-cols-1 gap-3 md:grid-cols-2"},zr={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Or={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Br={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Ir={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},qr={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Nr={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Wr=["placeholder"],Kr={class:"inline-flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300 md:col-span-2"},Gr={class:"mt-4 flex flex-wrap gap-2"},Qr=["disabled"],Yr=["disabled"],Jr={class:"card p-6"},Zr={class:"mb-4 flex flex-wrap items-center justify-between gap-3"},Xr={class:"text-base font-semibold text-gray-900 dark:text-white"},ed={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},td={class:"inline-flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},ad={class:"inline-flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300"},sd={class:"mt-3 grid grid-cols-1 gap-3 md:grid-cols-2"},nd={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},id=["placeholder"],od={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},ld={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},rd={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},dd={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},cd={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},ud=["placeholder"],md={class:"inline-flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300 md:col-span-2"},_d={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},pd=["placeholder"],gd={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},yd={class:"mt-4 flex flex-wrap gap-2"},bd=["disabled"],hd=["disabled"],xd={class:"card p-6"},fd={class:"mb-4"},kd={class:"text-base font-semibold text-gray-900 dark:text-white"},vd={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},wd={class:"grid grid-cols-1 gap-3 md:grid-cols-2"},Cd={class:"inline-flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300 md:col-span-2"},Vd={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Ud={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Sd={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Pd={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},$d={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Ed={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Ad={class:"mt-4"},Td=["disabled"],Fd={class:"card p-6"},Md={class:"mb-4 flex flex-wrap items-center justify-between gap-3"},Ld={class:"text-base font-semibold text-gray-900 dark:text-white"},Rd={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Hd={class:"flex flex-wrap items-center gap-2"},Dd={class:"flex items-center gap-1"},jd={class:"text-xs text-gray-600 dark:text-gray-400"},zd=["disabled"],Od=["disabled"],Bd={class:"overflow-x-auto"},Id={class:"w-full min-w-[800px] text-sm"},qd={class:"border-b border-gray-200 text-left text-xs uppercase tracking-wide text-gray-500 dark:border-dark-700 dark:text-gray-400"},Nd={class:"py-2 pr-4"},Wd={class:"py-2 pr-4"},Kd={class:"py-2 pr-4"},Gd={class:"py-2 pr-4"},Qd={class:"py-2 pr-4"},Yd={class:"py-2 pr-4"},Jd={class:"py-2 pr-4"},Zd={class:"py-2"}
2,Xd={class:"py-3 pr-4 font-mono text-xs"},ec={class:"py-3 pr-4"},tc={class:"py-3 pr-4 text-xs"},ac={class:"py-3 pr-4 text-xs"},sc={class:"py-3 pr-4 text-xs"},nc={class:"py-3 pr-4 text-xs"},ic={class:"py-3 pr-4 text-xs"},oc={class:"py-3 pr-4 text-xs"},lc={class:"py-3 text-xs"},rc={class:"flex flex-wrap gap-1"},dc=["onClick"],cc=["disabled","onClick"],uc=["onClick"],mc={key:0},_c={colspan:"9",class:"py-6 text-center text-sm text-gray-500 dark:text-gray-400"},pc={class:"relative max-h-[85vh] w-full max-w-2xl overflow-y-auto rounded-xl bg-white p-6 shadow-2xl dark:bg-dark-800"},gc={class:"mb-4 text-lg font-bold text-gray-900 dark:text-white"},yc={class:"mb-4 text-sm text-gray-500 dark:text-gray-400"},bc={class:"mb-5"},hc={class:"mb-2 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},xc={class:"ml-8 list-decimal space-y-1 text-sm text-gray-600 dark:text-gray-300"},fc={class:"mb-5"},kc={class:"mb-2 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},vc={class:"ml-8 list-decimal space-y-1 text-sm text-gray-600 dark:text-gray-300"},wc={class:"mt-2 rounded-lg bg-amber-50 p-3 text-xs text-amber-700 dark:bg-amber-900/20 dark:text-amber-300"},Cc={class:"mb-5"},Vc={class:"mb-2 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},Uc={class:"ml-8 text-sm text-gray-600 dark:text-gray-300"},Sc={class:"ml-8 mt-1 block rounded bg-gray-100 px-3 py-2 text-xs text-gray-800 dark:bg-dark-700 dark:text-gray-200"},Pc={class:"mb-5"},$c={class:"mb-2 flex items-center gap-2 text-sm font-semibold text-gray-900 dark:text-white"},Ec={class:"ml-8 overflow-hidden rounded-lg border border-gray-200 dark:border-dark-600"},Ac={class:"w-full text-sm"},Tc={class:"whitespace-nowrap bg-gray-50 px-3 py-2 font-medium text-gray-700 dark:bg-dark-700 dark:text-gray-300"},Fc={class:"px-3 py-2 text-gray-600 dark:text-gray-400"},Mc={class:"text-xs"},Lc={class:"rounded-lg bg-green-50 p-3 text-xs text-green-700 dark:bg-green-900/20 dark:text-green-300"},Rc={class:"mt-4 text-right"},Hc={class:"relative max-h-[85vh] w-full max-w-lg overflow-y-auto rounded-xl bg-white p-6 shadow-2xl dark:bg-dark-800"},Dc=["aria-label"],jc={class:"mb-1 text-lg font-bold text-gray-900 dark:text-white"},zc={class:"mb-4 text-sm text-gray-500 dark:text-gray-400"},Oc={class:"space-y-2"},Bc={class:"text-sm text-gray-700 dark:text-gray-300"},Ic={class:"ml-2 text-xs text-gray-500 dark:text-gray-400"},qc=["href"],Nc={class:"mt-4 text-right"},Ss=900,Wc=Qe({__name:"BackupView",setup(A){const{t}=Xe(),$=Ca(),k=As();function K(u){return Fs(u)?($.showError(Ms(u)==="STEP_UP_ADMIN_API_KEY_FORBIDDEN"?t("stepUp.adminApiKeyForbidden"):t("stepUp.notEnabled")),!0):!1}const D=V({endpoint:"",region:"auto",bucket:"",access_key_id:"",secret_access_key:"",prefix:"backups/",force_path_style:!1}),ae=V(!1),C=V(!1),w=V(!1),f=V({enabled:!1,reuse_backup_s3:!0,bucket:"",prefix:"images/",public_base_url:"",presign_expiry_hours:24,max_download_bytes:33554432,endpoint:"",region:"auto",access_key_id:"",secret_access_key:"",force_path_style:!1}),U=V(!1),F=V(!1),N=V(!1),W=V({enabled:!1,cron_expr:"0 2 * * *",retain_days:14,retain_count:10}),ne=V(!1),G=V([]),X=V(!1),ee=V(!1),oe=V(""),_e=V(14),ue=V([]),le=V(!1),Q=V(null),Y=V(null);function I(u){const c=G.value.findIndex(g=>g.id===u.id);c>=0&&(G.value[c]=u)}function re(u){te();let c=0;Q.value=setInterval(async()=>{if(c++>=Ss){te(),ee.value=!1,$.showWarning(t("admin.backup.operations.backupRunning"));return}try{const g=await R.backup.getBackup(u);I(g),(g.status==="completed"||g.status==="failed")&&(te(),ee.value=!1,g.status==="completed"?$.showSuccess(t("admin.backup.operations.backupCreated")):$.showError(g.error_message||t("admin.backup.operations.backupFailed")),await we())}catch{}},2e3)}function te(){Q.value&&(clearInterval(Q.value),Q.value=null)}function ye(u){$e();let c=0;Y.value=setInterval(async()=>{if(c++>=Ss){$e(),oe.value="",$.showWarning(t("admin.backup.operations.restoreRunning"));return}try{const g=await R.backup.getBackup(u);I(g),(g.restore_status==="completed"||g.restore_status==="failed")&&($e(),oe.value="",g.restore_status==="completed"?$.showSuccess(t("admin.backup.actions.restoreSuccess")):$.showError(g.restore_error||t("admin.backup.operations.restoreFailed")),await we())}catch{}},2e3)}function $e(){Y.value&&(clearInterval(Y.value),Y.value=null)}function ke(){document.hidden?(te(),$e()):we().then(()=>{const u=G.value.find(g=>g.status==="running");u&&(ee.value=!0,re(u.id));const c=G.value.find(g=>g.restore_status==="running");c&&(oe.value=c.id,ye(c.id))})}const ge=V(!1),be=H(()=>[{field:t("admin.backup.s3.endpoint"),value:"https://<account_id>.r2.cloudflarestorage.com"},{field:t("admin.backup.s3.region"),value:"auto"},{field:t("admin.backup.s3.bucket"),value:t("admin.backup.r2Guide.step4.bucketValue")},{field:t("admin.backup.s3.prefix"),value:"backups/"},{field:"Access Key ID",value:t("admin.backup.r2Guide.step4.fromStep2")}
2,{field:"Secret Access Key",value:t("admin.backup.r2Guide.step4.fromStep2")},{field:t("admin.backup.s3.forcePathStyle"),value:t("admin.backup.r2Guide.step4.unchecked")}]);async function Re(){try{const u=await R.backup.getS3Config();D.value={endpoint:u.endpoint||"",region:u.region||"auto",bucket:u.bucket||"",access_key_id:u.access_key_id||"",secret_access_key:"",prefix:u.prefix||"backups/",force_path_style:u.force_path_style},ae.value=!!u.access_key_id}catch(u){$.showError((u==null?void 0:u.message)||t("errors.networkError"))}}async function Ue(){C.value=!0;try{await k.run(()=>R.backup.updateS3Config(D.value)),$.showSuccess(t("admin.backup.s3.saved")),await Re()}catch(u){if(dt(u)){C.value=!1;return}$.showError((u==null?void 0:u.message)||t("errors.networkError"))}finally{C.value=!1}}async function Ie(){try{const{config:u,secret_configured:c}=await R.backup.getImageStorageConfig();f.value={...u,prefix:u.prefix||"images/",region:u.region||"auto",secret_access_key:""},U.value=c}catch(u){$.showError((u==null?void 0:u.message)||t("errors.networkError"))}}async function He(){F.value=!0;try{await k.run(()=>R.backup.updateImageStorageConfig(f.value)),$.showSuccess(t("admin.backup.imageStorage.saved")),await Ie()}catch(u){if(dt(u)){F.value=!1;return}$.showError((u==null?void 0:u.message)||t("errors.networkError"))}finally{F.value=!1}}async function ve(){N.value=!0;try{const u=await R.backup.testImageStorageConnection(f.value);u.ok?$.showSuccess(u.message||t("admin.backup.s3.testSuccess")):$.showError(u.message||t("admin.backup.s3.testFailed"))}catch(u){$.showError((u==null?void 0:u.message)||t("errors.networkError"))}finally{N.value=!1}}async function Fe(){w.value=!0;try{const u=await R.backup.testS3Connection(D.value);u.ok?$.showSuccess(u.message||t("admin.backup.s3.testSuccess")):$.showError(u.message||t("admin.backup.s3.testFailed"))}catch(u){$.showError((u==null?void 0:u.message)||t("errors.networkError"))}finally{w.value=!1}}async function qe(){try{const u=await R.backup.getSchedule();W.value={enabled:u.enabled,cron_expr:u.cron_expr||"0 2 * * *",retain_days:u.retain_days||14,retain_count:u.retain_count||10}}catch(u){$.showError((u==null?void 0:u.message)||t("errors.networkError"))}}async function he(){ne.value=!0;try{await R.backup.updateSchedule(W.value),$.showSuccess(t("admin.backup.schedule.saved"))}catch(u){$.showError((u==null?void 0:u.message)||t("errors.networkError"))}finally{ne.value=!1}}async function we(){X.value=!0;try{const u=await R.backup.listBackups();G.value=u.items||[]}catch(u){$.showError((u==null?void 0:u.message)||t("errors.networkError"))}finally{X.value=!1}}async function Ee(){var u;ee.value=!0;try{const c=await k.run(()=>R.backup.createBackup({expire_days:_e.value}));G.value.unshift(c),re(c.id)}catch(c){if(dt(c)){ee.value=!1;return}if(K(c)){ee.value=!1;return}((u=c==null?void 0:c.response)==null?void 0:u.status)===409?$.showWarning(t("admin.backup.operations.alreadyInProgress")):$.showError((c==null?void 0:c.message)||t("errors.networkError")),ee.value=!1}}async function Se(u){try{const c=await k.run(()=>R.backup.getDownloadURL(u));if(c.parts&&c.parts.length>0){ue.value=c.parts,le.value=!0;return}if(!c.url)throw new Error(t("admin.backup.actions.downloadFailed"));const g=document.createElement("a");g.href=c.url,g.rel="noopener",g.click()}catch(c){if(dt(c)||K(c))return;$.showError((c==null?void 0:c.message)||t("errors.networkError"))}}function De(){le.value=!1,ue.value=[]}async function P(u){var g;if(!window.confirm(t("admin.backup.actions.restoreConfirm")))return;const c=window.prompt(t("admin.backup.actions.restorePasswordPrompt"));if(c){oe.value=u;try{const z=await k.run(()=>R.backup.restoreBackup(u,c));I(z),ye(u)}catch(z){if(oe.value="",dt(z)||K(z))return;(z==null?void 0:z.status)===409||((g=z==null?void 0:z.response)==null?void 0:g.status)===409?$.showWarning(t("admin.backup.operations.restoreRunning")):$.showError((z==null?void 0:z.message)||t("errors.networkError"))}}}async function E(u){if(window.confirm(t("admin.backup.actions.deleteConfirm")))try{await R.backup.deleteBackup(u),$.showSuccess(t("admin.backup.actions.deleted")),await we()}catch(c){$.showError((c==null?void 0:c.message)||t("errors.networkError"))}}function Z(u){switch(u){case"completed":return"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300";case"running":return"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300";case"failed":return"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-300";default:return"bg-gray-100 text-gray-700 dark:bg-dark-800 dark:text-gray-300"}}function pe(u){return!u||u<=0?"-":u<1024?`${u} B`:u<1024*1024?`${(u/1024).toFixed(1)} KB`:`${(u/(1024*1024)).toFixed(1)} MB`}function v(u){if(!u)return"-";const c=new Date(u);
2return Number.isNaN(c.getTime())?u:c.toLocaleString()}return Rt(async()=>{document.addEventListener("visibilitychange",ke),await Promise.all([Re(),Ie(),qe(),we()]);const u=G.value.find(g=>g.status==="running");u&&(ee.value=!0,re(u.id));const c=G.value.find(g=>g.restore_status==="running");c&&(oe.value=c.id,ye(c.id))}),eo(()=>{te(),$e(),document.removeEventListener("visibilitychange",ke)}),(u,c)=>(r(),d(M,null,[e("div",Mr,[e("div",Lr,[e("div",Rr,[e("div",null,[e("h3",Hr,s(a(t)("admin.backup.s3.title")),1),e("p",Dr,[T(s(a(t)("admin.backup.s3.descriptionPrefix"))+" ",1),e("button",{type:"button",class:"text-primary-600 underline hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-300",onClick:c[0]||(c[0]=g=>ge.value=!0)},"Cloudflare R2"),T(" "+s(a(t)("admin.backup.s3.descriptionSuffix")),1)])])]),e("div",jr,[e("div",null,[e("label",zr,s(a(t)("admin.backup.s3.endpoint")),1),m(e("input",{"onUpdate:modelValue":c[1]||(c[1]=g=>D.value.endpoint=g),class:"input w-full",placeholder:"https://<account_id>.r2.cloudflarestorage.com"},null,512),[[b,D.value.endpoint]])]),e("div",null,[e("label",Or,s(a(t)("admin.backup.s3.region")),1),m(e("input",{"onUpdate:modelValue":c[2]||(c[2]=g=>D.value.region=g),class:"input w-full",placeholder:"auto"},null,512),[[b,D.value.region]])]),e("div",null,[e("label",Br,s(a(t)("admin.backup.s3.bucket")),1),m(e("input",{"onUpdate:modelValue":c[3]||(c[3]=g=>D.value.bucket=g),class:"input w-full"},null,512),[[b,D.value.bucket]])]),e("div",null,[e("label",Ir,s(a(t)("admin.backup.s3.prefix")),1),m(e("input",{"onUpdate:modelValue":c[4]||(c[4]=g=>D.value.prefix=g),class:"input w-full",placeholder:"backups/"},null,512),[[b,D.value.prefix]])]),e("div",null,[e("label",qr,s(a(t)("admin.backup.s3.accessKeyId")),1),m(e("input",{"onUpdate:modelValue":c[5]||(c[5]=g=>D.value.access_key_id=g),class:"input w-full"},null,512),[[b,D.value.access_key_id]])]),e("div",null,[e("label",Nr,s(a(t)("admin.backup.s3.secretAccessKey")),1),m(e("input",{"onUpdate:modelValue":c[6]||(c[6]=g=>D.value.secret_access_key=g),type:"password",class:"input w-full",placeholder:ae.value?a(t)("admin.backup.s3.secretConfigured"):""},null,8,Wr),[[b,D.value.secret_access_key]])]),e("label",Kr,[m(e("input",{"onUpdate:modelValue":c[7]||(c[7]=g=>D.value.force_path_style=g),type:"checkbox"},null,512),[[Ze,D.value.force_path_style]]),e("span",null,s(a(t)("admin.backup.s3.forcePathStyle")),1)])]),e("div",Gr,[e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:w.value,onClick:Fe},s(w.value?a(t)("common.loading"):a(t)("admin.backup.s3.testConnection")),9,Qr),e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:C.value,onClick:Ue},s(C.value?a(t)("common.loading"):a(t)("common.save")),9,Yr)])]),e("div",Jr,[e("div",Zr,[e("div",null,[e("h3",Xr,s(a(t)("admin.backup.imageStorage.title")),1),e("p",ed,s(a(t)("admin.backup.imageStorage.description")),1)]),e("label",td,[m(e("input",{"onUpdate:modelValue":c[8]||(c[8]=g=>f.value.enabled=g),type:"checkbox"},null,512),[[Ze,f.value.enabled]]),e("span",null,s(a(t)("admin.backup.imageStorage.enabled")),1)])]),e("label",ad,[m(e("input",{"onUpdate:modelValue":c[9]||(c[9]=g=>f.value.reuse_backup_s3=g),type:"checkbox"},null,512),[[Ze,f.value.reuse_backup_s3]]),e("span",null,s(a(t)("admin.backup.imageStorage.reuseBackupS3")),1)]),e("div",sd,[e("div",null,[e("label",nd,s(a(t)("admin.backup.imageStorage.bucket")),1),m(e("input",{"onUpdate:modelValue":c[10]||(c[10]=g=>f.value.bucket=g),class:"input w-full",placeholder:f.value.reuse_backup_s3?a(t)("admin.backup.imageStorage.bucketInherited"):""},null,8,id),[[b,f.value.bucket]])]),e("div",null,[e("label",od,s(a(t)("admin.backup.imageStorage.prefix")),1),m(e("input",{"onUpdate:modelValue":c[11]||(c[11]=g=>f.value.prefix=g),class:"input w-full",placeholder:"images/"},null,512),[[b,f.value.prefix]])]),f.value.reuse_backup_s3?x("",!0):(r(),d(M,{key:0},[e("div",null,[e("label",ld,s(a(t)("admin.backup.s3.endpoint")),1),m(e("input",{"onUpdate:modelValue":c[12]||(c[12]=g=>f.value.endpoint=g),class:"input w-full",placeholder:"https://<account_id>.r2.cloudflarestorage.com"},null,512),[[b,f.value.endpoint]])]),e("div",null,[e("label",rd,s(a(t)("admin.backup.s3.region")),1),m(e("input",{"onUpdate:modelValue":c[13]||(c[13]=g=>f.value.region=g),class:"input w-full",placeholder:"auto"},null,512),[[b,f.value.region]])]),e("div",null,[e("label",dd,s(a(t)("admin.backup.s3.accessKeyId")),1),m(e("input",{"onUpdate:modelValue":c[14]||(c[14]=g=>f.value.access_key_id=g),class:"input w-full"},null,512),[[b,f.value.access_key_id]])]),e("div",null,[e("label",cd,s(a(t)("admin.backup.s3.secretAccessKey")),1),m(e("input",{"onUpdate:modelValue":c[15]||(c[15]=g=>f.value.secret_access_key=g),type:"password",class:"input w-full",placeholder:U.value?a(t)("admin.backup.s3.secretConfigured"):""},null,8,ud),[[b,f.value.secret_access_key]])]),e("label",md,[m(e("input",{"onUpdate:modelValue":c[16]||(c[16]=g=>f.value.force_path_style=g),type:"checkbox"},null,512),[[Ze,f.value.force_path_style]]),e("span",null,s(a(t)("admin.backup.s3.forcePathStyle")),1)])],64)),e("div",null,[e("label",_d,s(a(t)("admin.backup.imageStorage.publicBaseUrl")),1),m(e("input",{"onUpdate:modelValue":c[17]||(c[17]=g=>f.value.public_base_url=g),class:"input w-full",placeholder:a(t)("admin.backup.imageStorage.publicBaseUrlPlaceholder")},null,8,pd),[[b,f.value.public_base_url]])]),e("div",null,[e("label",gd,s(a(t)("admin.backup.imageStorage.presignExpiryHours")),1),m(e("input",{"onUpdate:modelValue":c[18]||(c[18]=g=>f.value.presign_expiry_hours=g),type:"number",min:"1",class:"input w-full"},null,512),[[b,f.value.presign_expiry_hours,void 0,{number:!0}]])])]),e("div",yd,[e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:N.value,onClick:ve},s(N.value?a(t)("common.loading"):a(t)("admin.backup.s3.testConnection")),9,bd),e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:F.value,onClick:He},s(F.value?a(t)("common.loading"):a(t)("common.save")),9,hd)])]),e("div",xd,[e("div",fd,[e("h3",kd,s(a(t)("admin.backup.schedule.title")),1),e("p",vd,s(a(t)("admin.backup.schedule.description")),1)]),e("div",wd,[e("label",Cd,[m(e("input",{"onUpdate:modelValue":c[19]||(c[19]=g=>W.value.enabled=g),type:"checkbox"},null,512),[[Ze,W.value.enabled]]),e("span",null,s(a(t)("admin.backup.schedule.enabled")),1)]),e("div",null,[e("label",Vd,s(a(t)("admin.backup.schedule.cronExpr")),1),m(e("input",{"onUpdate:modelValue":c[20]||(c[20]=g=>W.value.cron_expr=g),class:"input w-full",placeholder:"0 2 * * *"},null,512),[[b,W.value.cron_expr]]),e("p",Ud,s(a(t)("admin.backup.schedule.cronHint")),1)]),e("div",null,[e("label",Sd,s(a(t)("admin.backup.schedule.retainDays")),1),m(e("input",{"onUpdate:modelValue":c[21]||(c[21]=g=>W.value.retain_days=g),type:"number",min:"0",class:"input w-full"},null,512),[[b,W.value.retain_days,void 0,{number:!0}]]),e("p",Pd,s(a(t)("admin.backup.schedule.retainDaysHint")),1)]),e("div",null,[e("label",$d,s(a(t)("admin.backup.schedule.retainCount")),1),m(e("input",{"onUpdate:modelValue":c[22]||(c[22]=g=>W.value.retain_count=g),type:"number",min:"0",class:"input w-full"},null,512),[[b,W.value.retain_count,void 0,{number:!0}]]),e("p",Ed,s(a(t)("admin.backup.schedule.retainCountHint")),1)])]),e("div",Ad,[e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:ne.value,onClick:he},s(ne.value?a(t)("common.loading"):a(t)("common.save")),9,Td)])]),e("div",Fd,[e("div",Md,[e("div",null,[e("h3",Ld,s(a(t)("admin.backup.operations.title")),1),e("p",Rd,s(a(t)("admin.backup.operations.description")),1)]),e("div",Hd,[e("div",Dd,[e("label",jd,s(a(t)("admin.backup.operations.expireDays")),1),m(e("input",{"onUpdate:modelValue":c[23]||(c[23]=g=>_e.value=g),type:"number",min:"0",class:"input w-20 text-xs"},null,512),[[b,_e.value,void 0,{number:!0}]])]),e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:ee.value,onClick:Ee},s(ee.value?a(t)("admin.backup.operations.backing"):a(t)("admin.backup.operations.createBackup")),9,zd),e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:X.value,onClick:we},s(X.value?a(t)("common.loading"):a(t)("common.refresh")),9,Od)])]),e("div",Bd,[e("table",Id,[e("thead",null,[e("tr",qd,[c[28]||(c[28]=e("th",{class:"py-2 pr-4"},"ID",-1)),e("th",Nd,s(a(t)("admin.backup.columns.status")),1),e("th",Wd,s(a(t)("admin.backup.columns.fileName")),1),e("th",Kd,s(a(t)("admin.backup.columns.size")),1),e("th",Gd,s(a(t)("admin.backup.columns.parts")),1),e("th",Qd,s(a(t)("admin.backup.columns.expiresAt")),1),e("th",Yd,s(a(t)("admin.backup.columns.triggeredBy")),1),e("th",Jd,s(a(t)("admin.backup.columns.startedAt")),1),e("th",Zd,s(a(t)("admin.backup.columns.actions")),1)])]),e("tbody",null,[(r(!0),d(M,null,B(G.value,g=>{var z;return r(),d("tr",{key:g.id,class:"border-b border-gray-100 align-top dark:border-dark-800"},[e("td",Xd,s(g.id),1),e("td",ec,[e("span",{class:q(["rounded px-2 py-0.5 text-xs",Z(g.status)])},s(g.status==="running"&&g.progress?a(t)(`admin.backup.progress.${g.progress}`):a(t)(`admin.backup.status.${g.status}`)),3)]),e("td",tc,s(g.file_name),1),e("td",ac,s(pe(g.size_bytes)),1),e("td",sc,s(((z=g.parts)==null?void 0:z.length)||(g.status==="running"?"-":1)),1),e("td",nc,s(g.expires_at?v(g.expires_at):a(t)("admin.backup.neverExpire")),1),e("td",ic,s(g.triggered_by==="scheduled"?a(t)("admin.backup.trigger.scheduled"):a(t)("admin.backup.trigger.manual")),1),e("td",oc,s(v(g.started_at)),1),e("td",lc,[e("div",rc,[g.status==="completed"?(r(),d("button",{key:0,t
2ype:"button",class:"btn btn-secondary btn-xs",onClick:Me=>Se(g.id)},s(a(t)("admin.backup.actions.download")),9,dc)):x("",!0),g.status==="completed"?(r(),d("button",{key:1,type:"button",class:"btn btn-secondary btn-xs",disabled:oe.value===g.id,onClick:Me=>P(g.id)},s(oe.value===g.id?a(t)("common.loading"):a(t)("admin.backup.actions.restore")),9,cc)):x("",!0),g.status!=="running"?(r(),d("button",{key:2,type:"button",class:"btn btn-danger btn-xs",onClick:Me=>E(g.id)},s(a(t)("common.delete")),9,uc)):x("",!0)])])])}),128)),G.value.length===0?(r(),d("tr",mc,[e("td",_c,s(a(t)("admin.backup.empty")),1)])):x("",!0)])])])])]),(r(),Be(hs,{to:"body"},[h(xs,{name:"modal"},{default:Pe(()=>[ge.value?(r(),d("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4",onMousedown:c[27]||(c[27]=Oe(g=>ge.value=!1,["self"]))},[e("div",{class:"fixed inset-0 bg-black/50",onClick:c[24]||(c[24]=g=>ge.value=!1)}),e("div",pc,[e("button",{type:"button",class:"absolute right-4 top-4 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200",onClick:c[25]||(c[25]=g=>ge.value=!1)},[...c[29]||(c[29]=[e("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1)])]),e("h2",gc,s(a(t)("admin.backup.r2Guide.title")),1),e("p",yc,s(a(t)("admin.backup.r2Guide.intro")),1),e("div",bc,[e("h3",hc,[c[30]||(c[30]=e("span",{class:"flex h-6 w-6 items-center justify-center rounded-full bg-primary-100 text-xs font-bold text-primary-700 dark:bg-primary-900/40 dark:text-primary-300"},"1",-1)),T(" "+s(a(t)("admin.backup.r2Guide.step1.title")),1)]),e("ol",xc,[e("li",null,s(a(t)("admin.backup.r2Guide.step1.line1")),1),e("li",null,s(a(t)("admin.backup.r2Guide.step1.line2")),1),e("li",null,s(a(t)("admin.backup.r2Guide.step1.line3")),1)])]),e("div",fc,[e("h3",kc,[c[31]||(c[31]=e("span",{class:"flex h-6 w-6 items-center justify-center rounded-full bg-primary-100 text-xs font-bold text-primary-700 dark:bg-primary-900/40 dark:text-primary-300"},"2",-1)),T(" "+s(a(t)("admin.backup.r2Guide.step2.title")),1)]),e("ol",vc,[e("li",null,s(a(t)("admin.backup.r2Guide.step2.line1")),1),e("li",null,s(a(t)("admin.backup.r2Guide.step2.line2")),1),e("li",null,s(a(t)("admin.backup.r2Guide.step2.line3")),1),e("li",null,s(a(t)("admin.backup.r2Guide.step2.line4")),1)]),e("div",wc,s(a(t)("admin.backup.r2Guide.step2.warning")),1)]),e("div",Cc,[e("h3",Vc,[c[32]||(c[32]=e("span",{class:"flex h-6 w-6 items-center justify-center rounded-full bg-primary-100 text-xs font-bold text-primary-700 dark:bg-primary-900/40 dark:text-primary-300"},"3",-1)),T(" "+s(a(t)("admin.backup.r2Guide.step3.title")),1)]),e("p",Uc,s(a(t)("admin.backup.r2Guide.step3.desc")),1),e("code",Sc,"https://<"+s(a(t)("admin.backup.r2Guide.step3.accountId"))+">.r2.cloudflarestorage.com",1)]),e("div",Pc,[e("h3",$c,[c[33]||(c[33]=e("span",{class:"flex h-6 w-6 items-center justify-center rounded-full bg-primary-100 text-xs font-bold text-primary-700 dark:bg-primary-900/40 dark:text-primary-300"},"4",-1)),T(" "+s(a(t)("admin.backup.r2Guide.step4.title")),1)]),e("div",Ec,[e("table",Ac,[e("tbody",null,[(r(!0),d(M,null,B(be.value,(g,z)=>(r(),d("tr",{key:z,class:"border-b border-gray-100 dark:border-dark-700 last:border-0"},[e("td",Tc,s(g.field),1),e("td",Fc,[e("code",Mc,s(g.value),1)])]))),128))])])])]),e("div",Lc,s(a(t)("admin.backup.r2Guide.freeTier")),1),e("div",Rc,[e("button",{type:"button",class:"btn btn-primary btn-sm",onClick:c[26]||(c[26]=g=>ge.value=!1)},s(a(t)("common.close")),1)])])],32)):x("",!0)]),_:1})])),(r(),Be(hs,{to:"body"},[h(xs,{name:"modal"},{default:Pe(()=>[le.value?(r(),d("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4",onMousedown:Oe(De,["self"])},[e("div",{class:"fixed inset-0 bg-black/50",onClick:De}),e("div",Hc,[e("button",{type:"button",class:"absolute right-4 top-4 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200","aria-label":a(t)("common.close"),onClick:De},[...c[34]||(c[34]=[e("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1)])],8,Dc),e("h2",jc,s(a(t)("admin.backup.actions.downloadParts")),1),e("p",zc,s(a(t)("admin.backup.actions.downloadPartsHint")),1),e("div",Oc,[(r(!0),d(M,null,B(ue.value,g=>(r(),d("div",{key:g.index,class:"flex items-center justify-between gap-3 rounded-lg border border-gray-200 px-3 py-2 dark:border-dark-600"},[e("span",Bc,[T(s(a(t)("admin.backup.actions.partLabel",{index:g.index}))+" ",1),e("span",Ic,s(pe(g.size_bytes)),1)]),e("a",{href:g.url,class:"btn btn-secondary btn-xs",rel:"noopener"},s(a(t)("admin.backup.actions.download")),9,qc)]))),128))]),e("div",Nc,[e("button",{type:"button",class:"btn btn-primary btn-sm",onClick:De},s(a(t)("common.close")),1)])])],32)):x("",!0)]),_:1})])),h(Ts,{controller:a(k)},null,8,["controller"])],64))}}),Kc=$s(Wc,[["__scopeId","data-v-9eba4d2c"]]),Gc={class:"card"},Qc={class:"flex flex-col gap-3 border-b border-gray-100 px-6 py-4 dark:border-dark-700 lg:flex-row lg:items-start lg:justify-between"},Yc={class:"text-lg font-semibold text-gray-900 dark:text-white"},Jc={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Zc={class:"flex flex-wrap gap-2"},Xc=["disabled"],eu=["disabled"],tu=["disabled"],au={class:"space-y-6 p-6"},su={key:0,class:"flex items-center gap-2 text-sm text-gray-500 dark:text-gray-400"},nu={class:"grid grid-cols-1 gap-4 md:grid-cols-2"},iu={class:"input-label",for:"email-template-event"},ou=["disabled"],lu=["value"],ru={class:"input-label",for:"email-template-locale"},du=["disabled"],cu=["value"],uu={key:0,class:"rounded-lg border border-primary-100 bg-primary-50/70 p-4 dark:border-primary-900/50 dark:bg-primary-950/20"},mu={class:"flex flex-wrap items-center gap-2"},_u={class:"text-sm font-semibold text-gray-900 dark:text-white"},pu={class:"rounded-full bg-white px-2.5 py-1 text-xs font-medium text-gray-600 shadow-sm ring-1 ring-gray-200 dark:bg-dark-800 dark:text-gray-300 dark:ring-dark-600"},gu={class:"mt-2 text-sm leading-6 text-gray-600 dark:text-gray-300"},yu={key:0,class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},bu={key:1,class:"rounded-lg border border-amber-200 bg-amber-50 p-4 text-sm text-amber-700 dark:border-amber-800 dark:bg-amber-900/20 dark:text-amber-300"},hu={key:2,class:"grid grid-cols-1 gap-6 xl:grid-cols-2"},xu={class:"space-y-4"},fu={class:"input-label",for:"email-template-subject"},ku=["disabled","placeholder"],vu={class:"input-label",for:"email-template-html"},wu=["disabled","placeholder"],Cu={class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-dark-700 dark:bg-dark-800/60"},Vu={class:"text-sm font-medium text-gray-900 dark:text-white"},Uu={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Su={class:"mt-3 flex flex-wrap gap-2"},Pu=["onClick"],$u={class:"space-y-4"},Eu={class:"rounded-lg border border-gray-200 bg-white dark:border-dark-700 dark:bg-dark-800"},Au={class:"flex items-center justify-between border-b border-gray-100 px-4 py-3 dark:border-dark-700"},Tu={class:"text-sm font-medium text-gray-900 dark:text-white"},Fu={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},Mu={key:0,class:"rounded-full bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 dark:bg-primary-900/30 dark:text-primary-300"},Lu={class:"bg-gray-100 p-3 dark:bg-dark-900"},Ru=["srcdoc","title"],Hu={class:"text-xs text-gray-500 dark:text-gray-400"},Du=Qe({__name:"EmailTemplateEditor",setup(A){const{t,locale:$}=Xe(),k=Ca(),K=["{{site_name}}","{{recipient_name}}","{{recipient_email}}","{{verification_code}}","{{expires_in_minutes}}","{{reset_url}}","{{subscription_group}}","{{subscription_days}}","{{expiry_time}}","{{days_remaining}}","{{current_balance}}","{{threshold}}","{{recharge_url}}","{{recharge_amount}}","{{order_id}}","{{unsubscribe_url}}","{{account_id}}","{{account_name}}","{{platform}}","{{quota_dimension}}","{{quota_used}}","{{quota_limit}}","{{quota_remaining}}","{{quota_threshold}}","{{triggered_at}}","{{group_name}}","{{moderation_category}}","{{moderation_score}}","{{violation_count}}","{{ban_threshold}}","{{rule_name}}","{{severity}}","{{alert_status}}","{{metric_type}}","{{operator}}","{{metric_value}}","{{threshold_value}}","{{alert_description}}","{{report_name}}","{{report_type}}","{{report_start_time}}","{{report_end_time}}","{{report_summary_display}}","{{report_detail_display}}","{{report_total_requests}}","{{report_success_count}}","{{report_sla_error_count}}","{{report_business_limited_count}}","{{report_sla}}","{{report_error_rate}}","{{report_upstream_error_rate}}","{{report_upstream_error_count_excl_429_529}}","{{report_upstream_429_count}}","{{report_upstream_529_count}}","{{report_latency_p50}}","{{report_latency_p99}}","{{report_ttft_p50}}","{{report_ttft_p99}}","{{report_tokens}}","{{report_qps_current}}","{{report_qps_peak}}","{{report_qps_avg}}","{{report_tps_current}}","{{report_tps_peak}}","{{report_tps_avg}}","{{report_html}}"],D=V(!0),ae=V(!1),C=V(!1),w=V(!1),f=V(!1),U=V([]),F=V([]),N=V(""),W=V(""),ne=V(""),G=V(""),X=V(!1),ee=V([]),oe=V(""),_e=V(""),ue=V(!1);function le(P,E){return $.value.toLowerCase().startsWith("zh")?P:E}
2const Q={"auth.verify_code":{label:"é®ç®±éªè¯ç ",timing:"注åãç»å®é®ç®±ãOAuth è¡¥å
¨é®ç®±æ TOTP é®ç®±æ ¡éªæ¶åéã",categoryLabel:"认è¯å®å
¨"},"auth.password_reset":{label:"å¯ç éç½®",timing:"ç¨æ·è¯·æ±å¯ç éç½®é¾æ¥æ¶åéã",categoryLabel:"认è¯å®å
¨"},"notification_email.verify_code":{label:"éç¥é®ç®±éªè¯ç ",timing:"ç¨æ·æ·»å å¹¶éªè¯é¢å¤éç¥é®ç®±æ¶åéã",categoryLabel:"认è¯å®å
¨"},"subscription.purchase_success":{label:"订é
å¼éæå",timing:"订é
订å宿æ¯ä»å¹¶æåå¼éæç»æååéã",categoryLabel:"订é
"},"subscription.expiry_reminder":{label:"订é
å°ææé",timing:"åå°ä»»å¡å¨è®¢é
仿æä¸è·ç¦»å°æå©ä½ 7 天ã3 天ã1 天æ¶ååé䏿¬¡ï¼å¯éè¿é®ä»¶è®¾ç½®ä¸çå¼å
³å
³éã",categoryLabel:"订é
"},"balance.low":{label:"ä½é¢ä¸è¶³æé",timing:"ç¨æ·ä½é¢ä½äºå
¨å±æä¸ªäººé
ç½®çæéé弿¶åéã",categoryLabel:"计费"},"balance.recharge_success":{label:"ä½é¢å
弿å",timing:"ä½é¢å
å¼è®¢åæ¯ä»å®æå¹¶å
¥è´¦ååéã",categoryLabel:"计费"},"account.quota_alert":{label:"è´¦å·éé¢åè¦",timing:"䏿¸¸è´¦å·çç¨éè¾¾å°é
ç½®çé¢åº¦åè¦é弿¶åéç»ç®¡çåéç¥é®ç®±ã",categoryLabel:"管çåè¦"},"content_moderation.violation_notice":{label:"å
容审计è¿è§æé",timing:"ç¨æ·è¯·æ±å½ä¸å
容审计æé£æ§è§åãä½å°æªè¢«ç¦ç¨æ¶åéã",categoryLabel:"飿§"},"content_moderation.account_disabled":{label:"å
容审计ç¦ç¨è´¦å·",timing:"å
容审计è¿è§æ¬¡æ°è¾¾å°å°ç¦éå¼å¹¶èªå¨ç¦ç¨ç¨æ·è´¦å·æ¶åéã",categoryLabel:"飿§"},"ops.alert":{label:"è¿ç»´åè¦",timing:"è¿ç»´çæ§è§å触ååè¦å¹¶æ»¡è¶³é®ä»¶éç¥é
ç½®æ¶åéç»è¿ç»´æ¶ä»¶äººã",categoryLabel:"è¿ç»´"},"ops.scheduled_report":{label:"è¿ç»´å®æ¶æ¥è¡¨",timing:"è¿ç»´æ¥æ¥ã卿¥ãé误æè¦æè´¦å·å¥åº·æ¥è¡¨å°è¾¾é
ç½®çåéæ¶é´æ¶åéï¼æ¥æ¥å卿¥ç宿´ææ åå¯å¨æ¨¡æ¿ä¸ç¼è¾ã",categoryLabel:"è¿ç»´"}},Y={"auth.verify_code":{label:"Email Verification Code",timing:"Sent for registration, email binding, OAuth pending email completion, or TOTP email verification.",categoryLabel:"Auth"},"auth.password_reset":{label:"Password Reset",timing:"Sent when a user requests a password reset link.",categoryLabel:"Auth"},"notification_email.verify_code":{label:"Notification Email Verification",timing:"Sent when a user adds and verifies an extra notification email address.",categoryLabel:"Auth"},"subscription.purchase_success":{label:"Subscription Activated",timing:"Sent after a subscription order is paid and the subscription is activated or extended.",categoryLabel:"Subscription"},"subscription.expiry_reminder":{label:"Subscription Expiry Reminder",timing:"Sent by the background job when an active subscription has 7, 3, or 1 day remaining. It can be disabled in Email settings.",categoryLabel:"Subscription"},"balance.low":{label:"Low Balance Alert",timing:"Sent when a user's balance drops below the global or personal reminder threshold.",categoryLabel:"Billing"},"balance.recharge_success":{label:"Balance Recharge Success",timing:"Sent after a balance recharge order is paid and credited.",categoryLabel:"Billing"},"account.quota_alert":{label:"Account Quota Alert",timing:"Sent to admin notification emails when an upstream account reaches the configured quota alert threshold.",categoryLabel:"Admin"},"content_moderation.violation_notice":{label:"Risk Control Violation Notice",timing:"Sent when a user request triggers content moderation or risk-control rules but the account is not disabled yet.",categoryLabel:"Risk Control"},"content_moderation.account_disabled":{label:"Risk Control Account Disabled",timing:"Sent when content moderation reaches the ban threshold and automatically disables the user account.",categoryLabel:"Risk Control"},"ops.alert":{label:"Ops Alert",timing:"Sent to ops recipients when an ops monitoring rule fires and email notification settings allow it.",categoryLabel:"Ops"},"ops.scheduled_report":{label:"Ops Scheduled Report",timing:"Sent when a configured daily, weekly, error digest, or account health report reaches its scheduled send time. Every daily and weekly summary metric is editable in this template.",categoryLabel:"Ops"}};function I(P){return typeof P=="string"?{value:P}:P}function re(P){if(!P)return null;const E=($.value.toLowerCase().startsWith("zh")?Q:Y)[P.value],Z=(E==null?void 0:E.label)||P.label||P.value,pe=(E==null?void 0:E.timing)||P.description||"",v=(E==null?void 0:E.
2categoryLabel)||ye(P.category||"");return{label:Z,timing:pe,categoryLabel:v,optional:P.optional===!0}}function te(P){const E=re(P);return E?E.label:P.label||P.value}function ye(P){const E=P.trim().toLowerCase();if(!E)return le("éç¥","Notification");const pe={auth:{zh:"认è¯å®å
¨",en:"Auth"},subscription:{zh:"订é
",en:"Subscription"},billing:{zh:"计费",en:"Billing"},admin:{zh:"管çåè¦",en:"Admin"},risk_control:{zh:"飿§",en:"Risk Control"},ops:{zh:"è¿ç»´",en:"Ops"}}[E];return pe?le(pe.zh,pe.en):P}const $e=H(()=>U.value.find(P=>P.value===N.value)||null),ke=H(()=>re($e.value)),ge=H(()=>{var P;return((P=$e.value)==null?void 0:P.description)||""}),be=H(()=>{const P=ee.value.length?ee.value:K;return Array.from(new Set(P.map(E=>Re(E)).filter(E=>E.length>0)))});function Re(P){const E=P.trim();return E?E.startsWith("{{")&&E.endsWith("}}")?E:`{{${E}}}`:""}const Ue=H(()=>!!(N.value&&W.value)&&ne.value.trim().length>0&&G.value.trim().length>0),Ie=H(()=>!!(N.value&&W.value)&&G.value.trim().length>0);function He(P){const E=P.toLowerCase();return E==="zh"||E.startsWith("zh-")?t("admin.settings.emailTemplates.localeZh"):E==="en"||E.startsWith("en-")?t("admin.settings.emailTemplates.localeEn"):P}function ve(P){const E=$.value.toLowerCase(),Z=P.find(u=>u.toLowerCase()===E);if(Z)return Z;const pe=E.split("-")[0],v=P.find(u=>u.toLowerCase().split("-")[0]===pe);return v||P[0]||""}function Fe(P){ne.value=P.subject,G.value=P.html,X.value=P.is_custom===!0,ee.value=P.placeholders||[]}async function qe(){if(!(!N.value||!W.value)){ae.value=!0;try{const P=await R.settings.getEmailTemplate(N.value,W.value);Fe(P),await Ee()}catch(P){k.showError(se(P,t("common.error")))}finally{ae.value=!1}}}async function he(){var P;D.value=!0;try{const E=await R.settings.getEmailTemplates();U.value=E.events.map(I),F.value=E.locales,ee.value=E.placeholders||[],ue.value=!0,N.value=((P=U.value[0])==null?void 0:P.value)||"",W.value=ve(E.locales),await qe(),ue.value=!1}catch(E){ue.value=!1,k.showError(se(E,t("common.error")))}finally{D.value=!1}}async function we(){if(!Ue.value){k.showError(t("admin.settings.emailTemplates.validationRequired"));return}C.value=!0;try{const P=await R.settings.updateEmailTemplate(N.value,W.value,{subject:ne.value,html:G.value});Fe(P),await Ee(),k.showSuccess(t("admin.settings.emailTemplates.saveSuccess"))}catch(P){k.showError(se(P,t("common.error")))}finally{C.value=!1}}async function Ee(){if(!Ie.value){oe.value="",_e.value="";return}w.value=!0;try{const P=await R.settings.previewEmailTemplate({event:N.value,locale:W.value,subject:ne.value,html:G.value});oe.value=P.subject,_e.value=P.html}catch(P){k.showError(se(P,t("common.error")))}finally{w.value=!1}}async function Se(){if(!(!N.value||!W.value)&&window.confirm(t("admin.settings.emailTemplates.restoreConfirm"))){f.value=!0;try{const P=await R.settings.restoreOfficialEmailTemplate(N.value,W.value);Fe(P),await Ee(),k.showSuccess(t("admin.settings.emailTemplates.restoreSuccess"))}catch(P){k.showError(se(P,t("common.error")))}finally{f.value=!1}}}async function De(P){try{await navigator.clipboard.writeText(P),k.showSuccess(t("admin.settings.emailTemplates.placeholderCopied"))}catch{k.showError(t("common.error"))}}return ft([N,W],([P,E],[Z,pe])=>{ue.value||!P||!E||P===Z&&E===pe||qe()}),Rt(()=>{he()}),(P,E)=>(r(),d("div",Gc,[e("div",Qc,[e("div",null,[e("h2",Yc,s(a(t)("admin.settings.emailTemplates.title")),1),e("p",Jc,s(a(t)("admin.settings.emailTemplates.description")),1)]),e("div",Zc,[e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:ae.value||w.value||!Ie.value,onClick:Ee},s(w.value?a(t)("admin.settings.emailTemplates.previewing"):a(t)("admin.settings.emailTemplates.preview")),9,Xc),e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:ae.value||f.value||!N.value||!W.value,onClick:Se},s(f.value?a(t)("admin.settings.emailTemplates.restoring"):a(t)("admin.settings.emailTemplates.restoreOfficial")),9,eu),e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:ae.value||C.value||!Ue.value,onClick:we},s(C.value?a(t)("admin.settings.emailTemplates.saving"):a(t)("admin.settings.emailTemplates.save")),9,tu)])]),e("div",au,[D.value?(r(),d("div",su,[E[4]||(E[4]=e("span",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),T(" "+s(a(t)("common.loading")),1)])):(r(),d(M,{key:1},[e("div",nu,[e("div",null,[e("label",iu,s(a(t)("admin.settings.emailTemplates.event")),1),m(e("select",{id:"email-template-event","onUpdate:modelValue":E[0]||(E[0]=Z=>N.value=Z),class:"input",disabled:ae.value||U.value.length===0},[(r(!0),d(M,null,B(U.value,Z=>(r(),d("option",{key:Z.value,value:Z.value},s(te(Z)),9,lu))),128))],8,ou),[[Je,N.value]])]),e("div",null,[e("label",ru,s(a(t)("admin.settings.emailTemplates.locale")),1),m(e("select",{id:"email-template-locale","onUpdate:modelValue":E[1]||(E[1]=Z=>W.value=Z),class:"input",disabled:ae.value||F.value.length===0},[(r(!0),d(M,null,B(F.value,Z=>(r(),d("option",{key:Z,value:Z},s(He(Z)),9,cu))),128))],8,du),[[Je,W.value]])])]),ke.value?(r(),d("div",uu,[e("div",mu,[e("div",_u,s(ke.value.label),1),e("span",pu,s(ke.value.categoryLabel),1),e("span",{class:q(["rounded-full px-2.5 py-1 text-xs font-medium",ke.value.optional?"bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-300":"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-300"])}
2,s(ke.value.optional?le("å¯é订éç¥","Optional"):le("äºå¡é®ä»¶","Transactional")),3)]),e("p",gu,s(ke.value.timing),1),ge.value?(r(),d("p",yu,s(ge.value),1)):x("",!0)])):x("",!0),!U.value.length||!F.value.length?(r(),d("div",bu,s(a(t)("admin.settings.emailTemplates.empty")),1)):(r(),d("div",hu,[e("div",xu,[e("div",null,[e("label",fu,s(a(t)("admin.settings.emailTemplates.subject")),1),m(e("input",{id:"email-template-subject","onUpdate:modelValue":E[2]||(E[2]=Z=>ne.value=Z),type:"text",class:"input",disabled:ae.value,placeholder:a(t)("admin.settings.emailTemplates.subjectPlaceholder")},null,8,ku),[[b,ne.value]])]),e("div",null,[e("label",vu,s(a(t)("admin.settings.emailTemplates.html")),1),m(e("textarea",{id:"email-template-html","onUpdate:modelValue":E[3]||(E[3]=Z=>G.value=Z),rows:"18",class:"input min-h-[28rem] resize-y font-mono text-sm leading-6",disabled:ae.value,placeholder:a(t)("admin.settings.emailTemplates.htmlPlaceholder")},null,8,wu),[[b,G.value]])]),e("div",Cu,[e("div",Vu,s(a(t)("admin.settings.emailTemplates.placeholders")),1),e("p",Uu,s(a(t)("admin.settings.emailTemplates.placeholdersHelp")),1),e("div",Su,[(r(!0),d(M,null,B(be.value,Z=>(r(),d("button",{key:Z,type:"button",class:"rounded-full border border-gray-200 bg-white px-3 py-1 font-mono text-xs text-gray-700 transition-colors hover:border-primary-300 hover:text-primary-600 dark:border-dark-600 dark:bg-dark-700 dark:text-gray-200 dark:hover:border-primary-500 dark:hover:text-primary-300",onClick:pe=>De(Z)},s(Z),9,Pu))),128))])])]),e("div",$u,[e("div",Eu,[e("div",Au,[e("div",null,[e("div",Tu,s(a(t)("admin.settings.emailTemplates.livePreview")),1),e("div",Fu,s(oe.value||a(t)("admin.settings.emailTemplates.noPreview")),1)]),X.value?(r(),d("span",Mu,s(a(t)("admin.settings.emailTemplates.customized")),1)):x("",!0)]),e("div",Lu,[e("iframe",{class:"h-[36rem] w-full rounded-md border border-gray-200 bg-white dark:border-dark-700",sandbox:"",srcdoc:_e.value,title:a(t)("admin.settings.emailTemplates.livePreview")},null,8,Ru)])]),e("p",Hu,s(a(t)("admin.settings.emailTemplates.previewSecurityHint")),1)])]))],64))])]))}}),ju={key:0,class:"mb-2 flex flex-wrap gap-2"},zu=["title"],Ou={class:"shrink-0 text-gray-400"},Bu={key:0,class:"shrink-0 text-gray-400"},Iu=["aria-label","title","onClick"],qu={class:"relative"},Nu=["placeholder"],Wu={key:1,class:"absolute z-50 mt-1 max-h-60 w-full overflow-auto rounded-lg border border-gray-200 bg-white shadow-lg dark:border-dark-600 dark:bg-dark-700"},Ku={key:0,class:"px-4 py-3 text-sm text-gray-500 dark:text-gray-400"},Gu={key:1,class:"px-4 py-3 text-sm text-gray-500 dark:text-gray-400"},Qu=["onClick"],Yu={class:"min-w-0 truncate font-medium text-gray-900 dark:text-white"},Ju={key:0,class:"ml-1 text-xs font-normal text-gray-400"},Zu={class:"shrink-0 text-xs text-gray-400"},Xu=Qe({__name:"OpenAIFastPolicyUserSelector",props:{modelValue:{}},emits:["update:modelValue"],setup(A,{emit:t}){const $=A,k=t,{t:K}=Xe(),D=V(null),ae=V(""),C=V([]),w=V(!1),f=V(!1),U=V({});let F=null,N=0;const W=H(()=>Array.from(new Set($.modelValue.filter(Q=>Number.isInteger(Q)&&Q>0)))),ne=H(()=>{const Q=new Set(W.value);return C.value.filter(Y=>!Q.has(Y.id)).sort((Y,I)=>Number(Y.deleted)-Number(I.deleted))});function G(Q){var Y;return((Y=U.value[Q])==null?void 0:Y.email)||K("admin.settings.openaiFastPolicy.userIdFallback",{id:Q})}function X(){F&&(clearTimeout(F),F=null),N+=1}function ee(){X();const Q=ae.value.trim();if(f.value=!0,!Q){C.value=[],w.value=!1;return}const Y=N;F=setTimeout(async()=>{w.value=!0;try{const I=await R.usage.searchUsers(Q);Y===N&&(C.value=I)}catch{Y===N&&(C.value=[])}finally{Y===N&&(w.value=!1)}},300)}function oe(Q){U.value={...U.value,[Q.id]:Q},k("update:modelValue",[...W.value,Q.id]),X(),ae.value="",C.value=[],w.value=!1,f.value=!1}function _e(Q){k("update:modelValue",W.value.filter(Y=>Y!==Q))}async function ue(Q){const Y=Q.filter(te=>!U.value[te]);if(Y.length===0)return;const I=await Promise.all(Y.map(async te=>{try{const ye=await R.users.getById(te,!0);return{id:ye.id,email:ye.email,deleted:!!ye.deleted_at}}catch{return null}})),re={...U.value};
2for(const te of I)te&&$.modelValue.includes(te.id)&&(re[te.id]=te);U.value=re}function le(Q){var I;const Y=Q.target;Y&&!((I=D.value)!=null&&I.contains(Y))&&(f.value=!1)}return ft(W,Q=>{ue(Q)},{immediate:!0}),Rt(()=>{document.addEventListener("click",le)}),to(()=>{X(),document.removeEventListener("click",le)}),(Q,Y)=>(r(),d("div",{ref_key:"containerRef",ref:D,class:"relative"},[W.value.length>0?(r(),d("div",ju,[(r(!0),d(M,null,B(W.value,I=>{var re;return r(),d("span",{key:I,class:"inline-flex max-w-full items-center gap-1.5 rounded-md bg-gray-100 px-2.5 py-1.5 text-xs text-gray-700 dark:bg-dark-600 dark:text-gray-200"},[e("span",{class:"max-w-64 truncate font-medium",title:G(I)},s(G(I)),9,zu),e("span",Ou,"#"+s(I),1),(re=U.value[I])!=null&&re.deleted?(r(),d("span",Bu,s(a(K)("admin.settings.openaiFastPolicy.userDeleted")),1)):x("",!0),e("button",{type:"button",class:"shrink-0 rounded text-gray-400 hover:text-red-600 dark:hover:text-red-400","aria-label":a(K)("admin.settings.openaiFastPolicy.removeUser"),title:a(K)("admin.settings.openaiFastPolicy.removeUser"),onClick:te=>_e(I)},[h(ie,{name:"x",size:"xs","stroke-width":2})],8,Iu)])}),128))])):x("",!0),e("div",qu,[h(ie,{name:"search",size:"sm",class:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-gray-400"}),m(e("input",{"onUpdate:modelValue":Y[0]||(Y[0]=I=>ae.value=I),type:"text",autocomplete:"off",class:"input input-sm w-full pl-9",placeholder:a(K)("admin.settings.openaiFastPolicy.userSearchPlaceholder"),onInput:ee,onFocus:Y[1]||(Y[1]=I=>f.value=!0)},null,40,Nu),[[b,ae.value]])]),f.value&&ae.value.trim()?(r(),d("div",Wu,[w.value?(r(),d("div",Ku,s(a(K)("common.loading")),1)):ne.value.length===0?(r(),d("div",Gu,s(a(K)("admin.settings.openaiFastPolicy.userSearchEmpty")),1)):(r(!0),d(M,{key:2},B(ne.value,I=>(r(),d("button",{key:I.id,type:"button",class:"flex w-full items-center justify-between gap-3 px-4 py-2 text-left text-sm hover:bg-gray-100 dark:hover:bg-dark-600",onClick:re=>oe(I)},[e("span",Yu,[T(s(I.email)+" ",1),I.deleted?(r(),d("span",Ju,s(a(K)("admin.settings.openaiFastPolicy.userDeleted")),1)):x("",!0)]),e("span",Zu,"#"+s(I.id),1)],8,Qu))),128))])):x("",!0)],512))}}),em=["header_exact","header_prefix","body_path"];function tm(A){if(!A||!A.trim())return[];try{const t=JSON.parse(A);return Array.isArray(t)?t.map($=>({type:em.includes($==null?void 0:$.type)?$.type:"header_exact",match:Array.isArray($==null?void 0:$.match)?$.match.filter(k=>typeof k=="string").join(" / "):"",required:($==null?void 0:$.required)===!0})):[]}catch{return[]}}function am(A){const t=A.map($=>({type:$.type,match:$.match.split("/").map(k=>k.trim()).filter(k=>k.length>0),required:$.required===!0})).filter($=>$.match.length>0);return JSON.stringify(t)}function sm(){return[{type:"header_prefix",match:"x-codex-",required:!0},{type:"header_exact",match:"session-id / session_id",required:!1},{type:"header_exact",match:"thread-id / thread_id",required:!1},{type:"body_path",match:"client_metadata.x-codex-window-id / client_metadata.x-codex-installation-id",required:!1}]}const nm={class:"mx-auto max-w-6xl space-y-6"},im={key:0,class:"flex items-center justify-center py-12"},om={class:"settings-tabs-shell"},lm=["aria-label"],rm={class:"settings-tabs"},dm=["id","aria-selected","tabindex","onClick","onKeydown"],cm={class:"settings-tab-icon"},um={class:"settings-tab-label"},mm={class:"space-y-6"},_m={class:"card"},pm={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},gm={class:"text-lg font-semibold text-gray-900 dark:text-white"},ym={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},bm={class:"space-y-4 p-6"},hm={class:"rounded-lg border border-amber-200 bg-amber-50 p-4 dark:border-amber-800 dark:bg-amber-900/20"},xm={class:"flex items-start"},fm={class:"ml-3 text-sm text-amber-700 dark:text-amber-300"},km={key:0,class:"flex items-center gap-2 text-gray-500"},vm={key:1,class:"flex items-center justify-between"},wm={class:"text-gray-500 dark:text-gray-400"},Cm=["disabled"],Vm={key:0,class:"mr-1 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},Um={key:2,class:"space-y-4"},Sm={class:"flex items-center justify-between"},Pm={class:"mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300"},$m={class:"rounded bg-gray-100 px-2 py-1 font-mono text-sm text-gray-900 dark:bg-dark-700 dark:text-gray-100"},Em={class:"flex gap-2"},Am=["disabled"],Tm=["disabled"],Fm={key:0,class:"space-y-3 rounded-lg border border-green-200 bg-green-50 p-4 dark:border-green-800 dark:bg-green-900/20"},Mm={class:"text-sm font-medium text-green-700 dark:text-green-300"},Lm={class:"flex items-center gap-2"},Rm={class:"flex-1 select-all break-all rounded border border-green-300 bg-white px-3 py-2 font-mono text-sm dark:border-green-700 dark:bg-dark-800"},Hm={class:"text-xs text-green-600 dark:text-green-400"},Dm={class:"space-y-6"},jm={class:"card"},zm={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Om={class:"text-lg font-semibold text-gray-900 dark:text-white"},Bm={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Im={class:"space-y-5 p-6"},qm={key:0,class:"flex items-center gap-2 text-gray-500"},Nm={class:"flex items-center justify-between"},Wm={class:"font-medium text-gray-900 dark:text-white"},Km={class:"text-sm text-gray-500 dark:text-gray-400"},Gm={key:0,class:"space-y-4 border-t border-gray-100 pt-4 dark:border-dark-700"},Qm={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Ym={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Jm={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},Zm=["disabled"],Xm={key:0,class:"mr-1 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},e_={class:"card"},t_={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},a_={class:"text-lg font-semibold text-gray-900 dark:text-white"},s_={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},n_={class:"space-y-5 p-6"},i_={key:0,class:"flex items-center gap-2 text-gray-500"},o_={class:"flex items-center justify-between"},l_={class:"font-medium text-gray-900 dark:text-white"},r_={class:"text-sm text-gray-500 dark:text-gray-400"},d_={key:0,class:"space-y-4 border-t border-gray-100 pt-4 dark:border-dark-700"},c_={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},u_={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},m_={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},__=["disabled"],p_={key:0,class:"mr-1 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},g_={class:"card"},y_={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},b_={class:"text-lg font-semibold text-gray-900 dark:text-white"},h_={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},x_={class:"space-y-5 p-6"},f_={key:0,class:"flex items-center gap-2 text-gray-500"},k_={class:"flex items-center justify-between"},v_={class:"font-medium text-gray-900 dark:text-white"},w_={class:"text-sm text-gray-500 dark:text-gray-400"},C_={key:0,class:"space-y-4 border-t border-gray-100 pt-4 dark:border-dark-700"},V_={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},U_={value:"temp_unsched"},S_={value:"error"},P_={value:"none"},$_={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},E_={key:0},A_={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},T_={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},F_={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},M_={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},L_={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},R_={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},H_={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},D_=["disabled"],j_={key:0,class:"mr-1 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},z_={class:"card"},O_={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},B_={class:"text-lg font-semibold text-gray-900 dark:text-white"},I_={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},q_={class:"space-y-5 p-6"},N_={key:0,class:"flex items-center gap-2 text-gray-500"},W_={class:"flex items-center justify-between"},K_={class:"font-medium text-gray-900 dark:text-white"},G_={class:"text-sm text-gray-500 dark:text-gray-400"}
2,Q_={key:0,class:"space-y-4 border-t border-gray-100 pt-4 dark:border-dark-700"},Y_={class:"flex items-center justify-between"},J_={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},Z_={class:"text-xs text-gray-500 dark:text-gray-400"},X_={class:"flex items-center justify-between"},ep={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},tp={class:"text-xs text-gray-500 dark:text-gray-400"},ap={class:"flex items-center justify-between"},sp={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},np={class:"text-xs text-gray-500 dark:text-gray-400"},ip={key:0,class:"ml-4 space-y-3 border-l-2 border-gray-200 pl-4 dark:border-dark-600"},op={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},lp={class:"text-xs text-gray-500 dark:text-gray-400"},rp=["onUpdate:modelValue","placeholder"],dp=["onClick"],cp={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},up=["disabled"],mp={key:0,class:"mr-1 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},_p={class:"card"},pp={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},gp={class:"text-lg font-semibold text-gray-900 dark:text-white"},yp={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},bp={class:"space-y-5 p-6"},hp={key:0,class:"flex items-center gap-2 text-gray-500"},xp={class:"mb-3 flex items-center gap-2"},fp={class:"text-sm font-medium text-gray-900 dark:text-white"},kp={class:"rounded bg-gray-100 px-2 py-0.5 text-xs text-gray-500 dark:bg-dark-700 dark:text-gray-400"},vp={class:"grid grid-cols-1 gap-4 sm:grid-cols-2"},wp={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Cp={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Vp={key:0,class:"mt-3"},Up={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Sp=["onUpdate:modelValue","placeholder"],Pp={class:"mt-1 text-xs text-gray-400 dark:text-gray-500"},$p={key:1,class:"mt-3"},Ep={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Ap={class:"flex flex-wrap gap-2"},Tp=["onClick","title"],Fp={class:"mt-3"},Mp={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},Lp={class:"mb-2 text-xs text-gray-400 dark:text-gray-500"},Rp=["onUpdate:modelValue","placeholder"],Hp=["onClick"],Dp=["onClick"],jp={class:"flex flex-wrap items-center gap-1.5"},zp={class:"text-xs text-gray-400 dark:text-gray-500"},Op=["onClick"],Bp={key:2,class:"mt-3"},Ip={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},qp={class:"mt-1 text-xs text-gray-400 dark:text-gray-500"},Np={key:0,class:"mt-2"},Wp=["onUpdate:modelValue","placeholder"],Kp={class:"mt-1 text-xs text-gray-400 dark:text-gray-500"},Gp={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},Qp=["disabled"],Yp={key:0,class:"mr-1 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},Jp={class:"card"},Zp={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Xp={class:"text-lg font-semibold text-gray-900 dark:text-white"},e0={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},t0={class:"space-y-5 p-6"},a0={key:0,class:"rounded-lg border border-dashed border-gray-200 p-6 text-center text-sm text-gray-500 dark:border-dark-600 dark:text-gray-400"},s0={class:"mb-3 flex items-center justify-between"},n0={class:"text-sm font-medium text-gray-900 dark:text-white"},i0=["onClick","title"],o0=["data-testid"],l0={class:"font-medium text-gray-700 dark:text-gray-300"},r0={class:"inline-flex items-center rounded bg-primary-50 px-2 py-0.5 font-medium text-primary-700 dark:bg-primary-900/30 dark:text-primary-300"},d0={class:"font-medium text-gray-700 dark:text-gray-300"},c0={class:"inline-flex items-center rounded bg-gray-100 px-2 py-0.5 font-medium text-gray-700 dark:bg-dark-600 dark:text-gray-300"},u0={class:"grid grid-cols-1 gap-4 md:grid-cols-3"},m0={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},_0={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},p0={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},g0={class:"mt-3"},y0={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},b0={class:"mb-2 text-xs text-gray-400 dark:text-gray-500"},h0={key:0,class:"mt-3"},x0={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},f0=["onUpdate:modelValue","placeholder"],k0={class:"mt-1 text-xs text-gray-400 dark:text-gray-500"},v0=["aria-labelledby","aria-describedby"],w0=["id"],C0=["id"],V0=["onUpdate:modelValue","placeholder"],U0=["onClick"],S0=["onClick"],P0={key:1,class:"mt-3"},$0={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},E0={class:"mt-1 text-xs text-gray-400 dark:text-gray-500"},A0={key:0,class:"mt-2"},T0=["onUpdate:modelValue","placeholder"],F0={class:"mt-2 text-xs text-gray-400 dark:text-gray-500"},M0={class:"space-y-6"},L0={class:"card"},R0={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},H0={class:"text-lg font-semibold text-gray-900 dark:text-white"},D0={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},j0={class:"space-y-5 p-6"},z0={class:"flex items-center justify-between"},O0={class:"font-medium text-gray-900 dark:text-white"},B0={class:"text-sm text-gray-500 dark:text-gray-400"},I0={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},q0={class:"font-medium text-gray-900 dark:text-white"},N0={class:"text-sm text-gray-500 dark:text-gray-400"},W0={class:"border-t border-gray-100 pt-4 dark:border-dark-700"},K0={class:"font-medium text-gray-900 dark:text-white"},G0={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Q0={class:"mt-3 rounded-lg border border-gray-300 bg-white p-2 dark:border-dark-500 dark:bg-dark-700"},Y0={class:"flex flex-wrap items-center gap-2"},J0=["onClick"],Z0={class:"flex min-w-[220px] flex-1 items-center gap-1 rounded border border-transparent px-2 py-1 focus-within:border-primary-300 dark:focus-within:border-primary-700"},X0=["placeholder"],eg={class:"mt-2 text-xs text-gray-500 dark:text-gray-400"},tg={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},ag={class:"font-medium text-gray-900 dark:text-white"},sg={class:"text-sm text-gray-500 dark:text-gray-400"},ng={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},ig={class:"font-medium text-gray-900 dark:text-white"},og={class:"text-sm text-gray-500 dark:text-gray-400"},lg={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},rg={class:"font-medium text-gray-900 dark:text-white"},dg={class:"text-sm text-gray-500 dark:text-gray-400"},cg={key:0,class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},ug={class:"font-medium text-gray-900 dark:text-white"},mg={class:"text-sm text-gray-500 dark:text-gray-400"},_g={key:1,class:"border-t border-gray-100 pt-4 dark:border-dark-700"},pg={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},gg=["placeholder"],yg={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},bg={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},hg={class:"font-medium text-gray-900 dark:text-white"},xg={class:"text-sm text-gray-500 dark:text-gray-400"}
vendor: 12,251 bytes, line 2
2,fg={key:0,class:"mt-2 text-sm text-amber-600 dark:text-amber-400"},kg={class:"border-t border-gray-100 pt-4 dark:border-dark-700","data-testid":"passkey-settings"},vg={class:"flex items-start justify-between gap-4"},wg={class:"font-medium text-gray-900 dark:text-white"},Cg={class:"text-sm text-gray-500 dark:text-gray-400"},Vg={class:"font-medium"},Ug={class:"mt-1 break-all"},Sg={class:"mt-1 break-all"},Pg={key:0,class:"mt-2"},$g={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},Eg={class:"font-medium text-gray-900 dark:text-white"},Ag={class:"text-sm text-gray-500 dark:text-gray-400"},Tg={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},Fg={class:"font-medium text-gray-900 dark:text-white"},Mg={class:"text-sm text-gray-500 dark:text-gray-400"},Lg={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},Rg={class:"font-medium text-gray-900 dark:text-white"},Hg={class:"text-sm text-gray-500 dark:text-gray-400"},Dg={class:"card"},jg={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},zg={class:"text-lg font-semibold text-gray-900 dark:text-white"},Og={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Bg={class:"space-y-5 p-6"},Ig={class:"flex items-center justify-between gap-4"},qg={class:"font-medium text-gray-900 dark:text-white"},Ng={class:"text-sm text-gray-500 dark:text-gray-400"},Wg={key:0,class:"border-t border-gray-100 pt-4 dark:border-dark-700"},Kg={for:"forwarded-client-ip-headers",class:"font-medium text-gray-900 dark:text-white"},Gg={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Qg={class:"mt-3 rounded-lg border border-gray-300 bg-white p-2 dark:border-dark-500 dark:bg-dark-700"},Yg={class:"flex flex-wrap items-center gap-2"},Jg=["aria-label","onClick"],Zg={class:"flex min-w-[220px] flex-1 items-center gap-1 rounded border border-transparent px-2 py-1 focus-within:border-primary-300 dark:focus-within:border-primary-700"},Xg=["placeholder"],ey={class:"mt-2 text-xs text-gray-500 dark:text-gray-400"},ty={class:"card"},ay={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},sy={class:"flex items-center gap-2"},ny={class:"text-lg font-semibold text-gray-900 dark:text-white"},iy={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},oy={class:"space-y-5 p-6"},ly={key:0,class:"flex items-center gap-2 text-gray-500"},ry={class:"rounded-lg border border-sky-200 bg-sky-50 p-4 dark:border-sky-800 dark:bg-sky-900/20"},dy={class:"flex items-start"},cy={class:"ml-3 text-sm text-sky-700 dark:text-sky-300"},uy={class:"flex items-center justify-between"},my={class:"font-medium text-gray-900 dark:text-white"},_y={class:"text-sm text-gray-500 dark:text-gray-400"},py={key:0,class:"space-y-5 border-t border-gray-100 pt-4 dark:border-dark-700"},gy={class:"grid grid-cols-1 gap-6 sm:grid-cols-2"},yy={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},by={class:"flex items-center gap-2"},hy={class:"text-sm text-gray-500 dark:text-gray-400"},xy={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},fy={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},ky={class:"flex items-center gap-2"},vy={class:"text-sm text-gray-500 dark:text-gray-400"},wy={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Cy={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Vy={class:"flex items-center gap-2"},Uy={class:"text-sm text-gray-500 dark:text-gray-400"},Sy={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Py={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},$y={class:"font-medium text-gray-900 dark:text-white"},Ey={class:"text-sm text-gray-500 dark:text-gray-400"},Ay={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},Ty=["disabled"],Fy={key:0,class:"mr-1 h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},My={class:"card"},Ly={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Ry={class:"text-lg font-semibold text-gray-900 dark:text-white"},Hy={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Dy={class:"space-y-5 p-6"},jy={class:"flex items-center justify-between"},zy={class:"font-medium text-gray-900 dark:text-white"},Oy={class:"text-sm text-gray-500 dark:text-gray-400"},By={key:0,class:"border-t border-gray-100 pt-4 dark:border-dark-700"},Iy={class:"mb-6"},qy={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Ny={class:"grid grid-cols-3 gap-2 rounded-lg bg-gray-100 p-1 dark:bg-dark-700"},Wy={key:0,class:"grid grid-cols-1 gap-6"},Ky={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Gy={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Qy={href:"https://dash.cloudflare.com/",target:"_blank",class:"text-primary-600 hover:text-primary-500"},Yy={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Jy={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Zy={key:1},Xy={class:"mb-6 max-w-sm"},eb={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},tb={class:"grid grid-cols-2 gap-2 rounded-lg bg-gray-100 p-1 dark:bg-dark-700"},ab={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},sb={class:"grid grid-cols-1 gap-6 md:grid-cols-2"},nb={class:"md:col-span-2"},ib={class:"text-sm font-semibold text-gray-900 dark:text-white"},ob={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},lb={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},rb={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},db=["placeholder"],cb={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},ub={class:"border-t border-gray-100 pt-5 md:col-span-2 dark:border-dark-700"},mb={class:"text-sm font-semibold text-gray-900 dark:text-white"},_b={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},pb={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},gb=["placeholder"],yb={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},bb={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},hb=["placeholder"],xb={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},fb={class:"mt-5 text-xs text-gray-500 dark:text-gray-400"},kb={class:"mt-2 text-xs text-gray-500 dark:text-gray-400"},vb={class:"mt-3 flex flex-wrap gap-x-4 gap-y-2 text-sm"},wb=["href"],Cb=["href"],Vb=["href"],Ub={key:2,class:"grid grid-cols-1 gap-6"},Sb={class:"grid grid-cols-1 gap-6 sm:grid-cols-2"},Pb={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},$b={class:"grid grid-cols-2 gap-2 rounded-lg bg-gray-100 p-1 dark:bg-dark-700"},Eb={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Ab={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Tb={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Fb={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Mb={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Lb={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Rb={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Hb={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Db={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},jb={class:"card"},zb={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Ob={class:"text-lg font-semibold text-gray-900 dark:text-white"},Bb={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Ib={class:"space-y-5 p-6"},qb={class:"flex items-center justify-between"},Nb={class:"font-medium text-gray-900 dark:text-white"},Wb={class:"text-sm text-gray-500 dark:text-gray-400"},Kb={key:0,class:"border-t border-gray-100 pt-4 dark:border-dark-700"},Gb={class:"grid grid-cols-1 gap-6"},Qb={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Yb=["placeholder"],Jb={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Zb={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Xb=["placeholder"],eh={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},th={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},ah=["placeholder"],sh={class:"mt-2 flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-3"},nh={key:0,class:"select-all break-all rounded bg-gray-50 px-2 py-1 font-mono text-xs text-gray-600 dark:bg-dark-800 dark:text-gray-300"},ih={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},oh={class:"card"},lh={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},rh={class:"text-lg font-semibold text-gray-900 dark:text-white"},dh={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},ch={class:"space-y-6 p-6"},uh={class:"grid grid-cols-1 gap-6 xl:grid-cols-2"},mh={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-700"},_h={class:"flex items-start justify-between gap-4"},ph={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},gh={key:0,class:"mt-4 space-y-4"},yh={class:"rounded-lg bg-gray-50 px-3 py-2 text-xs text-gray-600 dark:bg-dark-800 dark:text-gray-300"},bh={class:"grid grid-cols-1 gap-4 lg:grid-cols-2"},hh=["placeholder"],xh={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},fh={class:"mt-2 flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-3"},kh={key:0,class:"select-all break-all rounded bg-gray-50 px-2 py-1 font-mono text-xs text-gray-600 dark:bg-dark-800 dark:text-gray-300"},vh={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},wh={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-700"},Ch={class:"flex items-start justify-between gap-4"},Vh={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Uh={key:0,class:"mt-4 space-y-4"},Sh={class:"rounded-lg bg-gray-50 px-3 py-2 text-xs text-gray-600 dark:bg-dark-800 dark:text-gray-300"},Ph={class:"grid grid-cols-1 gap-4 lg:grid-cols-2"},$h=["placeholder"],Eh={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Ah={class:"mt-2 flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-3"},Th={key:0,class:"select-all break-all rounded bg-gray-50 px-2 py-1 font-mono text-xs text-gray-600 dark:bg-dark-800 dark:text-gray-300"},Fh={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Mh={class:"card"},Lh={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Rh={class:"text-lg font-semibold text-gray-900 dark:text-white"},Hh={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Dh={class:"space-y-5 p-6"},jh={class:"flex items-center justify-between"},zh={class:"font-medium text-gray-900 dark:text-white"},Oh={class:"text-sm text-gray-500 dark:text-gray-400"},Bh={key:0,class:"space-y-6 border-t border-gray-100 pt-4 dark:border-dark-700"},Ih={class:"space-y-4"},qh={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-700"},Nh={class:"flex items-start justify-between gap-4"},Wh={class:"font-medium text-gray-900 dark:text-white"},Kh={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Gh={key:0,class:"mt-4 grid grid-cols-1 gap-4 lg:grid-cols-2"},Qh={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Yh=["placeholder"],Jh={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Zh=["placeholder"],Xh={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-700"},ex={class:"flex items-start justify-between gap-4"},tx={class:"font-medium text-gray-900 dark:text-white"},ax={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},sx={key:0,class:"mt-4 grid grid-cols-1 gap-4 lg:grid-cols-2"},nx={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},ix=["placeholder"],ox={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},lx=["placeholder"],rx={class:"rounded-lg border border-gray-200 p-4 dark:border-dark-700"},dx={class:"flex items-start justify-between gap-4"},cx={class:"font-medium text-gray-900 dark:text-white"},ux={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},mx={key:0,class:"mt-4 grid grid-cols-1 gap-4 lg:grid-cols-2"},_x={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},px=["placeholder"],gx={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"}
2,yx=["placeholder"],bx={key:0,class:"rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-700 dark:border-amber-900/40 dark:bg-amber-900/10 dark:text-amber-300"},hx={class:"grid grid-cols-1 gap-6 lg:grid-cols-2"},xx={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},fx=["placeholder"],kx={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},vx={class:"mt-2 flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-3"},wx={key:0,class:"select-all break-all rounded bg-gray-50 px-2 py-1 font-mono text-xs text-gray-600 dark:bg-dark-800 dark:text-gray-300"},Cx={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Vx=["placeholder"],Ux={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Sx={class:"card"},Px={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},$x={class:"text-lg font-semibold text-gray-900 dark:text-white"},Ex={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Ax={class:"space-y-5 p-6"},Tx={class:"flex items-center justify-between"},Fx={class:"font-medium text-gray-900 dark:text-white"},Mx={class:"text-sm text-gray-500 dark:text-gray-400"},Lx={key:0,class:"border-t border-gray-100 pt-4 dark:border-dark-700"},Rx={class:"grid grid-cols-1 gap-6"},Hx={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Dx=["placeholder"],jx={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},zx={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Ox=["placeholder"],Bx={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Ix={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},qx=["placeholder"],Nx={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Wx={class:"border-t border-gray-100 pt-4 dark:border-dark-700"},Kx={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Gx={class:"mb-3 text-xs text-gray-500 dark:text-gray-400"},Qx={class:"space-y-2"},Yx={class:"flex cursor-pointer items-center gap-3"},Jx={class:"text-sm text-gray-700 dark:text-gray-300"},Zx={class:"flex cursor-pointer items-center gap-3"},Xx={class:"text-sm text-gray-700 dark:text-gray-300"},e1={key:0,class:"flex items-center justify-between pt-4 border-t border-gray-100 dark:border-dark-700"},t1={class:"font-medium text-gray-900 dark:text-white"},a1={class:"text-sm text-gray-500 dark:text-gray-400"},s1={key:1,class:"pt-4 border-t border-gray-100 dark:border-dark-700 space-y-2"},n1={class:"flex items-center justify-between"},i1={class:"font-medium text-gray-900 dark:text-white"},o1={class:"text-sm text-gray-500 dark:text-gray-400"},l1={key:0,class:"space-y-2"},r1={class:"flex items-center gap-2"},d1={class:"text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap min-w-[5rem]"},c1={class:"flex items-center gap-2"},u1={class:"text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap min-w-[5rem]"},m1=["placeholder"],_1={key:1,class:"text-xs text-gray-400 dark:text-gray-500"},p1={key:2,class:"pt-4 border-t border-gray-100 dark:border-dark-700 space-y-2"},g1={class:"flex items-center justify-between"},y1={class:"font-medium text-gray-900 dark:text-white"},b1={class:"text-sm text-gray-500 dark:text-gray-400"},h1={class:"text-xs text-amber-600 dark:text-amber-400 mt-1"},x1={key:0,class:"space-y-2"},f1={class:"flex items-center gap-2"},k1={class:"text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap min-w-[5rem]"},v1={class:"flex items-center gap-2"},w1={class:"text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap min-w-[5rem]"},C1=["placeholder"],V1={key:1,class:"text-xs text-gray-400 dark:text-gray-500"},U1={key:3,class:"pt-4 border-t border-gray-100 dark:border-dark-700 space-y-2"},S1={class:"flex items-center justify-between"},P1={class:"font-medium text-gray-900 dark:text-white"},$1={class:"text-sm text-gray-500 dark:text-gray-400"},E1={class:"text-xs text-amber-600 dark:text-amber-400 mt-1"},A1={key:0,class:"space-y-2"},T1={class:"flex items-center gap-2"},F1={class:"text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap min-w-[5rem]"},M1={class:"flex items-center gap-2"},L1={class:"text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap min-w-[5rem]"},R1=["placeholder"],H1={key:1,class:"text-xs text-gray-400 dark:text-gray-500"},D1={class:"card"},j1={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},z1={class:"text-lg font-semibold text-gray-900 dark:text-white"},O1={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},B1={class:"space-y-5 p-6"},I1={class:"flex items-center justify-between"},q1={class:"font-medium text-gray-900 dark:text-white"},N1={class:"text-sm text-gray-500 dark:text-gray-400"},W1={key:0,class:"space-y-6 border-t border-gray-100 pt-4 dark:border-dark-700"},K1={class:"grid grid-cols-1 gap-6 lg:grid-cols-3"},G1={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Q1=["placeholder"],Y1={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},J1=["placeholder"],Z1={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},X1=["placeholder"],ef={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},tf={class:"grid grid-cols-1 gap-6 lg:grid-cols-2"},af={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},sf=["placeholder"],nf={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},of=["placeholder"],lf={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},rf=["placeholder"],df={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},cf=["placeholder"],uf={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},mf=["placeholder"],_f={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},pf=["placeholder"],gf={class:"grid grid-cols-1 gap-6 lg:grid-cols-2"},yf={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},bf=["placeholder"],hf={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},xf={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},ff=["placeholder"],kf={class:"mt-2 flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-3"},vf={key:0,class:"select-all break-all rounded bg-gray-50 px-2 py-1 font-mono text-xs text-gray-600 dark:bg-dark-800 dark:text-gray-300"},wf={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Cf={class:"lg:col-span-2"},Vf={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Uf=["placeholder"],Sf={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Pf={class:"grid grid-cols-1 gap-6 lg:grid-cols-3"},$f={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Ef={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Af={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Tf=["placeholder"],Ff={class:"grid grid-cols-1 gap-6 lg:grid-cols-3"},Mf={class:"flex items-center justify-between rounded border border-gray-200 px-4 py-3 dark:border-dark-700"},Lf={class:"font-medium text-gray-900 dark:text-white"},Rf={class:"flex items-center justify-between rounded border border-gray-200 px-4 py-3 dark:border-dark-700"},Hf={class:"font-medium text-gray-900 dark:text-white"},Df={class:"flex items-center justify-between rounded border border-gray-200 px-4 py-3 dark:border-dark-700"},jf={class:"font-medium text-gray-900 dark:text-white"},zf={class:"grid grid-cols-1 gap-6 lg:grid-cols-3"},Of={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Bf=["placeholder"],If={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},qf=["placeholder"],Nf={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Wf=["placeholder"],Kf={class:"space-y-6"},Gf={class:"card"},Qf={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Yf={class:"text-lg font-semibold text-gray-900 dark:text-white"},Jf={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Zf={class:"space-y-6 p-6"},Xf={class:"grid grid-cols-1 gap-6 md:grid-cols-2"},ek={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},tk={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},ak={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},sk={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},nk={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},ik={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},ok={class:"border-t border-gray-100 pt-4 dark:border-dark-700"},lk={class:"mb-3 flex items-center justify-between"},rk={class:"font-medium text-gray-900 dark:text-white"},dk={class:"text-sm text-gray-500 dark:text-gray-400"},ck=["disabled"],uk={key:0,class:"rounded border border-dashed border-gray-300 px-4 py-3 text-sm text-gray-500 dark:border-dark-600 dark:text-gray-400"},mk={key:1,class:"space-y-3"},_k={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},pk={key:1,class:"text-gray-400"},gk={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},yk=["onUpdate:modelValue"],bk={class:"flex items-end"},hk=["onClick"],xk={class:"border-t border-gray-100 pt-4 dark:border-dark-700"},fk={class:"mb-3"},kk={class:"font-medium text-gray-900 dark:text-white"},vk={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"}
vendor: 4,795 bytes, line 2
2,wk={class:"mt-0.5 text-xs text-amber-600 dark:text-amber-400"},Ck={class:"overflow-x-auto"},Vk={class:"min-w-full text-sm"},Uk={class:"text-left text-xs text-gray-500 dark:text-gray-400"},Sk={class:"pb-2 pr-4 font-medium"},Pk={class:"pb-2 pr-4 font-medium"},$k={class:"pb-2 pr-4 font-medium"},Ek={class:"pb-2 font-medium"},Ak={class:"space-y-2"},Tk={class:"pr-4 py-1"},Fk={class:"font-mono text-xs text-gray-700 dark:text-gray-300"},Mk={class:"pr-4 py-1"},Lk=["onUpdate:modelValue","placeholder"],Rk={class:"pr-4 py-1"},Hk=["onUpdate:modelValue","placeholder"],Dk={class:"py-1"},jk=["onUpdate:modelValue","placeholder"],zk={class:"card"},Ok={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Bk={class:"text-lg font-semibold text-gray-900 dark:text-white"},Ik={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},qk={class:"space-y-6 p-6"},Nk={class:"flex items-center justify-between rounded border border-gray-200 px-4 py-3 dark:border-dark-700"},Wk={class:"font-medium text-gray-900 dark:text-white"},Kk={class:"text-sm text-gray-500 dark:text-gray-400"},Gk={class:"space-y-4"},Qk={class:"flex items-center justify-between gap-4"},Yk={class:"font-medium text-gray-900 dark:text-white"},Jk={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Zk=["data-testid"],Xk={class:"text-sm text-gray-500 dark:text-gray-400"},ev={class:"grid grid-cols-1 gap-4 md:grid-cols-2"},tv={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},av=["onUpdate:modelValue"],sv={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},nv=["onUpdate:modelValue"],iv={class:"flex items-center justify-between rounded border border-gray-200 px-4 py-3 dark:border-dark-700"},ov={class:"font-medium text-gray-900 dark:text-white"},lv={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},rv={class:"mb-3 flex items-center justify-between"},dv={class:"font-medium text-gray-900 dark:text-white"},cv={class:"text-sm text-gray-500 dark:text-gray-400"},uv=["onClick","disabled"],mv={key:0,class:"rounded border border-dashed border-gray-300 px-4 py-3 text-sm text-gray-500 dark:border-dark-600 dark:text-gray-400"},_v={key:1,class:"space-y-3"},pv={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},gv={key:1,class:"text-gray-400"},yv={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},bv=["onUpdate:modelValue"],hv={class:"flex items-end"},xv=["onClick"],fv={class:"border-t border-gray-100 pt-4 dark:border-dark-700"},kv={class:"mb-3"},vv={class:"font-medium text-gray-900 dark:text-white"},wv={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},Cv={class:"overflow-x-auto"},Vv={class:"min-w-full text-sm"},Uv={class:"text-left text-xs text-gray-500 dark:text-gray-400"},Sv={class:"pb-2 pr-4 font-medium"},Pv={class:"pb-2 pr-4 font-medium"},$v={class:"pb-2 pr-4 font-medium"},Ev={class:"pb-2 font-medium"},Av={class:"pr-4 py-1"},Tv={class:"font-mono text-xs text-gray-700 dark:text-gray-300"},Fv={class:"pr-4 py-1"},Mv=["onUpdate:modelValue","placeholder"],Lv={class:"pr-4 py-1"},Rv=["onUpdate:modelValue","placeholder"],Hv={class:"py-1"},Dv=["onUpdate:modelValue","placeholder"],jv={class:"space-y-6"},zv={class:"card"},Ov={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Bv={class:"text-lg font-semibold text-gray-900 dark:text-white"},Iv={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},qv={class:"p-6"},Nv={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Wv=["placeholder"],Kv={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Gv={class:"mt-4"},Qv={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},Yv=["placeholder"],Jv={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Zv={class:"card"},Xv={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},e2={class:"text-lg font-semibold text-gray-900 dark:text-white"},t2={class:"p-6 space-y-4"},a2={class:"text-base font-semibold text-gray-900 dark:text-white"},s2={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},n2={class:"grid gap-4 sm:grid-cols-2"},i2={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},o2=["placeholder"],l2={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},r2=["placeholder"],d2={class:"text-xs text-gray-500 dark:text-gray-400"},c2={class:"block text-sm font-medium text-gray-700 dark:text-gray-300"},u2={class:"mb-2 mt-1 text-xs text-gray-500 dark:text-gray-400"},m2=["onUpdate:modelValue"],_2={value:"header_exact"},p2={value:"header_prefix"},g2={value:"body_path"},y2=["onUpdate:modelValue","placeholder"],b2={class:"flex shrink-0 items-center gap-1 text-xs text-gray-600 dark:text-gray-400"},h2=["onUpdate:modelValue"],x2=["onClick"],f2={key:0,class:"mt-2 text-xs text-amber-600 dar
2k:text-amber-500"},k2={class:"flex items-center justify-between"},v2={class:"pr-4"},w2={class:"block text-sm font-medium text-gray-700 dark:text-gray-300"},C2={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},V2={class:"block text-sm font-medium text-gray-700 dark:text-gray-300"},U2={class:"mb-2 mt-1 text-xs text-gray-500 dark:text-gray-400"},S2=["onUpdate:modelValue","placeholder"],P2=["onUpdate:modelValue","placeholder"],$2=["onClick"],E2={class:"block text-sm font-medium text-gray-700 dark:text-gray-300"},A2={class:"mb-2 mt-1 text-xs text-gray-500 dark:text-gray-400"},T2=["onUpdate:modelValue","placeholder"],F2=["onUpdate:modelValue","placeholder"],M2=["title"],L2=["onUpdate:modelValue"],R2=["onClick"],H2={class:"card","data-testid":"upstream-billing-probe-settings"},D2={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},j2={class:"text-lg font-semibold text-gray-900 dark:text-white"},z2={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},O2={class:"space-y-5 p-6"},B2={key:0,class:"flex items-center gap-2 text-gray-500"},I2={class:"flex items-center justify-between gap-4"},q2={class:"font-medium text-gray-900 dark:text-white"},N2={class:"text-sm text-gray-500 dark:text-gray-400"},W2={key:0,class:"border-t border-gray-100 pt-4 dark:border-dark-700"},K2={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300",for:"upstream-billing-probe-interval"},G2=["onKeydown"],Q2={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},Y2={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},J2=["disabled"],Z2={class:"card","data-testid":"ollama-cloud-usage-global-settings"},X2={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},ew={class:"text-lg font-semibold text-gray-900 dark:text-white"},tw={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},aw={class:"space-y-5 p-6"},sw={key:0,class:"flex items-center gap-2 text-gray-500"},nw={class:"flex items-center justify-between gap-4"},iw={class:"font-medium text-gray-900 dark:text-white"},ow={class:"text-sm text-gray-500 dark:text-gray-400"},lw={key:0,class:"space-y-4 border-t border-gray-100 pt-4 dark:border-dark-700"},rw={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300",for:"ollama-cloud-usage-debounce"},dw=["onKeydown"],cw={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},uw={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300",for:"ollama-cloud-usage-interval"},mw=["onKeydown"],_w={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},pw={class:"flex justify-end border-t border-gray-100 pt-4 dark:border-dark-700"},gw=["disabled"],yw={class:"card"},bw={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},hw={class:"text-lg font-semibold text-gray-900 dark:text-white"},xw={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},fw={class:"space-y-5 p-6"},kw={class:"flex items-center justify-between"},vw={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},ww={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},Cw={class:"border-t border-gray-100 pt-4 dark:border-dark-700"},Vw={class:"mb-3"},Uw={class:"font-medium text-gray-900 dark:text-white"},Sw={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Pw={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},$w={class:"mt-0.5 text-xs text-amber-600 dark:text-amber-400"},Ew={class:"grid grid-cols-1 gap-4 sm:grid-cols-2 xl:grid-cols-3"},Aw={class:"flex items-start justify-between gap-3"},Tw={class:"font-mono text-sm font-medium text-gray-900 dark:text-white"},Fw={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},Mw=["onUpdate:modelValue","data-testid"],Lw={key:0,class:"flex items-center justify-between border-t border-gray-100 pt-5 dark:border-dark-700"},Rw={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},Hw={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},Dw={key:1,class:"flex flex-col items-stretch gap-3 border-t border-gray-100 pt-5 sm:flex-row sm:items-start sm:justify-between sm:gap-6 dark:border-dark-700"},jw={class:"min-w-0"},zw={class:"text-sm font-medium text-gray-700 dark:text-gray-300",for:"openai-oauth-scheduling-rate-multiplier"},Ow={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},Bw={class:"relative w-full shrink-0 sm:w-32"},Iw={class:"flex items-center justify-between border-t border-gray-100 pt-5 dark:border-dark-700"},qw={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},Nw={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},Ww={key:2,class:"flex items-center justify-between border-t border-gray-100 pt-5 dark:border-dark-700"},Kw={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},Gw={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"}
2,Qw={key:3,class:"flex items-center justify-between border-t border-gray-100 pt-5 dark:border-dark-700"},Yw={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},Jw={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},Zw={key:4,class:"flex flex-col items-stretch gap-3 border-t border-gray-100 pt-5 sm:flex-row sm:items-start sm:justify-between sm:gap-6 dark:border-dark-700"},Xw={class:"min-w-0"},e4={class:"text-sm font-medium text-gray-700 dark:text-gray-300",for:"openai-oauth-scheduling-rate-multiplier"},t4={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},a4={class:"relative w-full shrink-0 sm:w-32"},s4={key:5,class:"border-t border-gray-100 pt-5 dark:border-dark-700"},n4={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},i4={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},o4={class:"mt-4 grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-5"},l4={class:"text-xs font-medium text-gray-600 dark:text-gray-400"},r4=["onUpdate:modelValue","placeholder"],d4={class:"card"},c4={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},u4={class:"text-lg font-semibold text-gray-900 dark:text-white"},m4={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},_4={class:"space-y-5 p-6"},p4={class:"grid gap-5 border-b border-gray-100 pb-5 dark:border-dark-700 md:grid-cols-[minmax(0,1fr)_auto] md:items-end"},g4={for:"grok-default-text-model",class:"text-sm font-medium text-gray-700 dark:text-gray-300"},y4={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},b4={class:"flex items-center justify-between gap-5 md:min-w-72"},h4={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},x4={class:"mt-0.5 max-w-sm text-xs text-gray-500 dark:text-gray-400"},f4={class:"md:col-span-2"},k4={for:"grok-default-base-url-mode",class:"text-sm font-medium text-gray-700 dark:text-gray-300"},v4={value:"cli"},w4={value:"api"},C4={value:"us-east-1"},V4={value:"us-west-2"},U4={value:"eu-west-1"},S4={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},P4={class:"border-b border-gray-100 pb-5 dark:border-dark-700 md:col-span-2"},$4={for:"openai-ttft-mode",class:"text-sm font-medium text-gray-700 dark:text-gray-300"},E4={value:"semantic"},A4={value:"visible"},T4={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},F4={class:"flex items-center justify-between"},M4={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},L4={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},R4={class:"flex items-center justify-between"},H4={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},D4={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},j4={class:"flex items-center justify-between"},z4={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},O4={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},B4={class:"flex items-center justify-between"},I4={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},q4={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},N4={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},W4={class:"space-y-3"},K4={class:"min-w-0"},G4={class:"text-sm font-medium text-gray-900 dark:text-white"},Q4={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},Y4={class:"flex items-center gap-2"},J4=["title","aria-label","onClick"],Z4=["disabled","onClick"],X4=["disabled","onClick"],e3=["onClick"],t3={class:"grid gap-3 md:grid-cols-2"},a3={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-300"},s3={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-300"},n3={class:"mt-3"},i3={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-300"},o3=["onUpdate:modelValue","onInput"],l3={class:"mt-3 grid gap-3 md:grid-cols-[minmax(0,1fr)_160px]"},r3={class:"flex items-center justify-between gap-4"},d3={class:"text-xs font-medium text-gray-600 dark:text-gray-300"},c3={key:0},u3={class:"mt-3 flex flex-wrap gap-2"},m3={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},_3={class:"flex items-center justify-between"},p3={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},g3={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},y3={class:"flex items-center justify-between"},b3={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},h3={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},x3={class:"flex items-center justify-between"},f3={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},k3={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},v3={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},w3=["placeholder"],C3={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},V3={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},U3=["placeholder"],S3={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},P3={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},$3=["placeholder"],E3={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},A3={class:"flex items-center justify-between"},T3={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},F3={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},M3={key:0,class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},L3={class:"card"},R3={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},H3={class:"text-lg font-semibold text-gray-900 dark:text-white"},D3={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},j3={class:"space-y-5 p-6"},z3={class:"flex items-center justify-between"},O3={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},B3={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},I3={key:0,class:"space-y-4"},q3={class:"flex items-center justify-between"},N3={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},W3={key:0,class:"rounded-lg border border-dashed border-gray-300 p-4 text-center text-sm text-gray-400 dark:border-dark-600"},K3=["onClick"],G3={class:"flex items-center gap-3"},Q3={class:"text-xs text-gray-400"},Y3={key:0,class:"text-xs text-green-500"},J3=["onClick"],Z3={key:0,class:"space-y-3 border-t border-gray-100 px-4 pb-4 pt-3 dark:border-dark-700"},X3={class:"text-xs text-gray-500"},e5={class:"relative"},t5=["onUpdate:modelValue","type","placeholder"],a5={key:0,class:"absolute inset-y-0 right-0 flex items-center pr-1.5"},s5=["title","onClick"],n5={key:0,class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},i5={key:1,class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},o5=["title","disabled","onClick"],l5={class:"grid grid-cols-2 gap-3"},r5={class:"text-xs text-gray-500"},d5=["onUpdate:modelValue"],c5={class:"mt-0.5 text-xs text-gray-400"},u5={class:"text-xs text-gray-500"},m5=["value","onInput"],_5={class:"mt-0.5 text-xs text-gray-400"},p5={class:"flex items-center gap-2"},g5={class:"text-xs text-gray-500"},y5={key:0,class:"flex-1 rounded-full bg-gray-200 dark:bg-dark-600",style:{height:"6px"}},b5={key:1,class:"flex-1"},h5={class:"text-xs text-gray-500"},x5=["onClick"],f5={class:"flex items-end gap-3"},k5={class:"flex-1"},v5={class:"text-xs text-gray-500"},w5={class:"mx-4 w-full max-w-lg rounded-xl bg-white p-6 shadow-xl dark:bg-dark-800"},C5={class:"mb-4 text-lg font-semibold text-gray-900 dark:text-white"},V5={class:"flex items-center gap-2"},U5=["placeholder"],S5=["disabled"],P5={key:0,class:"mt-4 max-h-80 overflow-y-auto rounded-lg bg-gray-50 p-4 dark:bg-dark-700"},$5={class:"mb-2 text-sm font-medium text-gray-700 dark:text-gray-300"},E5={key:0,class:"text-sm text-gray-400"},A5=["href"],T5={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},F5={class:"mt-4 flex justify-end"},M5={class:"card"},L5={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},R5={class:"text-lg font-semibold text-gray-900 dark:text-white"},H5={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},D5={class:"space-y-4 p-6"},j5={class:"flex items-center justify-between"},z5={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},O5={class:"text-xs text-gray-500 dark:text-gray-400"},B5={class:"toggle"},I5={class:"space-y-6"},q5={class:"card"},N5={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},W5={class:"text-lg font-semibold text-gray-900 dark:text-white"},K5={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},G5={class:"space-y-6 p-6"},Q5={class:"flex items-center justify-between rounded-lg border border-amber-200 bg-amber-50 p-4 dark:border-amber-800 dark:bg-amber-900/20"},Y5={class:"text-sm font-medium text-gray-900 dark:text-white"},J5={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},Z5={class:"grid grid-cols-1 gap-6 md:grid-cols-2"},X5={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},e8=["placeholder"],t8={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},a8={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},s8=["placeholder"],n8={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},i8={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},o8=["placeholder"],l8={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},r8={class:"border-t border-gray-100 pt-4 dark:border-dark-700"},d8={class:"text-sm font-medium text-gray-900 dark:text-white"},c8={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},u8={class:"mt-4 grid grid-cols-1 gap-6 md:grid-cols-2"},m8={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},_8={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},p8={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},g8=["placeholder"],y8={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},b8={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},h8={class:"mb-3 text-xs text-gray-500 dark:text-gray-400"},x8={class:"space-y-3"},f8={class:"mb-3 flex items-center justify-between"},k8={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},v8=["onClick"],w8={class:"grid grid-cols-1 gap-3 sm:grid-cols-2"},C8={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},V8=["onUpdate:modelValue","placeholder"],U8={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},S8=["onUpdate:modelValue","placeholder"],P8={class:"sm:col-span-2"},$8={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},E8=["onUpdate:modelValue","placeholder"],A8={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},T8=["placeholder"],F8={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},M8={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},L8=["placeholder"],R8={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},H8={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},D8={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},j8=["placeholder"],z8={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"}
2,O8={class:"mt-2 text-xs text-amber-600 dark:text-amber-400"},B8={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},I8={class:"font-medium text-gray-900 dark:text-white"},q8={class:"text-sm text-gray-500 dark:text-gray-400"},N8={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},W8={class:"font-medium text-gray-900 dark:text-white"},K8={class:"text-sm text-gray-500 dark:text-gray-400"},G8={class:"card"},Q8={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Y8={class:"text-lg font-semibold text-gray-900 dark:text-white"},J8={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},Z8={class:"space-y-4 p-6"},X8={class:"mb-3 flex items-center justify-between"},e6={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},t6={class:"flex items-center gap-2"},a6=["title","onClick"],s6=["title","onClick"],n6=["title","onClick"],i6={class:"grid grid-cols-1 gap-3 sm:grid-cols-2"},o6={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},l6=["onUpdate:modelValue","placeholder"],r6={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},d6=["onUpdate:modelValue"],c6={value:"user"},u6={value:"admin"},m6={class:"sm:col-span-2"},_6={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},p6=["onUpdate:modelValue","placeholder"],g6={class:"sm:col-span-2"},y6={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},b6={class:"space-y-6"},h6={class:"card"},x6={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},f6={class:"flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between"},k6={class:"text-lg font-semibold text-gray-900 dark:text-white"},v6={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},w6={class:"flex items-center gap-3"},C6={class:"text-sm text-gray-600 dark:text-gray-300"},V6={class:"space-y-6 p-6"},U6={class:"grid grid-cols-1 gap-5 lg:grid-cols-[minmax(0,1fr)_220px]"},S6={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},P6={class:"grid grid-cols-2 gap-2 rounded-lg bg-gray-100 p-1 dark:bg-dark-700"},$6={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},E6={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},A6={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},T6={class:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between"},F6={class:"text-sm font-medium text-gray-900 dark:text-white"},M6={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},L6={class:"mt-4 space-y-3"},R6={class:"mb-3 flex items-center justify-between gap-3"},H6={class:"flex min-w-0 items-center gap-3"},D6={class:"flex h-9 w-9 flex-shrink-0 items-center justify-center rounded-md bg-gray-100 text-gray-700 dark:bg-dark-700 dark:text-dark-200"},j6={class:"min-w-0"},z6={class:"truncate text-sm font-semibold text-gray-900 dark:text-white"},O6={class:"truncate text-xs text-gray-500 dark:text-gray-400"},B6=["disabled","onClick"],I6={class:"grid grid-cols-1 gap-3 lg:grid-cols-2"},q6={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},N6=["onUpdate:modelValue","placeholder"],W6={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},K6={class:"flex overflow-hidden rounded-lg border border-gray-300 bg-white focus-within:border-primary-500 focus-within:ring-1 focus-within:ring-primary-500 dark:border-dark-600 dark:bg-dark-900"},G6=["onUpdate:modelValue"],Q6={class:"mt-3"},Y6={class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},J6=["onUpdate:modelValue","placeholder"],Z6={class:"space-y-6"},X6={class:"card"},e7={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},t7={class:"text-lg font-semibold text-gray-900 dark:text-white"},a7={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},s7={class:"mt-1.5 text-xs"},n7={class:"space-y-5 p-6"},i7={class:"flex items-center justify-between"},o7={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},l7={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},r7={key:0,class:"space-y-5"},d7={class:"input-label"},c7={class:"mt-1.5 inline-flex w-full max-w-md rounded-lg border border-gray-200 bg-gray-50 p-1 dark:border-dark-600 dark:bg-dark-900/40"},u7={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},m7={class:"mt-1 text-xs text-gray-400 dark:text-gray-500"}
2,_7={key:0},p7={class:"input-label"},g7={class:"mt-1 text-xs text-gray-400"},y7={key:1,class:"flex items-start justify-between gap-4"},b7={class:"min-w-0"},h7={class:"text-sm font-medium text-gray-900 dark:text-white"},x7={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},f7={key:2,class:"flex items-start justify-between gap-4"},k7={class:"min-w-0"},v7={class:"text-sm font-medium text-gray-900 dark:text-white"},w7={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},C7={class:"card"},V7={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},U7={class:"text-lg font-semibold text-gray-900 dark:text-white"},S7={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},P7={class:"mt-1.5 text-xs"},$7={class:"space-y-5 p-6"},E7={class:"flex items-center justify-between"},A7={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},T7={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},F7={class:"card"},M7={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},L7={class:"text-lg font-semibold text-gray-900 dark:text-white"},R7={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},H7={class:"space-y-5 p-6"},D7={class:"flex items-center justify-between"},j7={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},z7={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},O7={key:0,class:"flex items-center justify-between"},B7={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},I7={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},q7={key:1},N7={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},W7={class:"mb-2 mt-0.5 text-xs text-gray-500 dark:text-gray-400"},K7={class:"card"},G7={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},Q7={class:"text-lg font-semibold text-gray-900 dark:text-white"},Y7={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},J7={class:"space-y-5 p-6"},Z7={class:"flex items-center justify-between gap-4"},X7={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},e9={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},t9={class:"card"},a9={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},s9={class:"text-lg font-semibold text-gray-900 dark:text-white"},n9={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},i9={class:"mt-1.5 text-xs"},o9={class:"space-y-5 p-6"},l9={class:"flex items-center justify-between"},r9={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},d9={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},c9={class:"flex items-center justify-between"},u9={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},m9={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},_9={key:0},p9={class:"input-label"},g9={class:"card"},y9={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},b9={class:"text-lg font-semibold text-gray-900 dark:text-white"},h9={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},x9={class:"space-y-5 p-6"},f9={class:"flex items-center justify-between"},k9={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},v9={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},w9={key:0,class:"space-y-6"},C9={class:"flex items-center justify-between"},V9={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},U9={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},S9={class:"input-label"},P9={class:"relative"},$9={class:"mt-1 text-xs text-gray-400"},E9={class:"input-label"},A9={class:"mt-1 text-xs text-gray-400"},T9={class:"input-label"},F9={class:"mt-1 text-xs text-gray-400"},M9={class:"input-label"},L9={class:"mt-1 text-xs text-gray-400"},R9={class:"border-t border-gray-100 pt-6 dark:border-dark-700"},H9={class:"mb-3 flex items-center justify-between"},D9={class:"text-sm font-semibold text-gray-900 dark:text-white"},j9={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},z9={class:"mb-3 flex items-center gap-2"},O9=["placeholder"],B9={class:"overflow-x-auto rounded-lg border border-gray-200 dark:border-dark-700"},I9={class:"min-w-full divide-y divide-gray-200 dark:divide-dark-700"},q9={class:"bg-gray-50 dark:bg-dark-800"},N9={class:"px-3 py-2 text-left"},W9=["checked"],K9={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500"},G9={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500"},Q9={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500"},Y9={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500"},J9={class:"px-3 py-2 text-left text-xs font-medium uppercase text-gray-500"},Z9={class:"divide-y divide-gray-200 bg-white dark:divide-dark-700 dark:bg-dark-900"},X9={key:0},eC={colspan:"6",class:"px-3 py-6 text-center text-sm text-gray-500"},tC={key:1},aC={colspan:"6",class:"px-3 py-6 text-center text-sm text-gray-500"},sC={class:"px-3 py-2"},nC=["checked","onChange"],iC={class:"px-3 py-2 text-sm text-gray-900 dark:text-white"},oC={class:"px-3 py-2 text-sm text-gray-600 dark:text-gray-300"},lC={class:"px-3 py-2 text-sm font-mono"},rC={key:0,class:"ml-1 inline-block rounded bg-primary-100 px-1.5 py-0.5 text-[10px] font-medium text-primary-700 dark:bg-primary-900/30 dark:text-primary-300"},dC={class:"px-3 py-2 text-sm"},cC={key:0},uC={key:1,class:"text-gray-400"},mC={class:"px-3 py-2 text-sm"}
vendor: 7,509 bytes, line 2
2,_C={class:"flex items-center gap-2"},pC=["onClick"],gC=["onClick"],yC={key:0,class:"mt-3 flex items-center justify-between text-sm"},bC={class:"text-gray-500"},hC={class:"flex items-center gap-2"},xC=["disabled"],fC={class:"text-gray-500"},kC=["disabled"],vC={class:"w-full max-w-md rounded-lg bg-white p-6 shadow-xl dark:bg-dark-900"},wC={class:"mb-4 text-lg font-semibold"},CC={class:"space-y-4"},VC={key:0},UC={class:"input-label"},SC={key:0,class:"flex items-center justify-between rounded-md border border-primary-200 bg-primary-50 px-3 py-2 dark:border-primary-700/50 dark:bg-primary-900/20"},PC={class:"text-sm"},$C={class:"font-medium text-gray-900 dark:text-white"},EC={class:"ml-1 text-xs text-gray-500"},AC=["title"],TC=["placeholder"],FC={key:0,class:"mt-1 max-h-40 overflow-y-auto rounded border border-gray-200 dark:border-dark-700"},MC=["onClick"],LC={class:"text-xs text-gray-500"},RC={key:1},HC={class:"input-label"},DC=["value"],jC={class:"input-label"},zC=["placeholder"],OC={class:"mt-1 text-xs text-gray-400"},BC={class:"input-label"},IC={class:"relative"},qC=["placeholder"],NC={class:"mt-1 text-xs text-gray-400"},WC={class:"mt-6 flex items-center justify-between gap-3"},KC={key:0,class:"text-xs text-gray-500 dark:text-gray-400"},GC={key:1},QC={class:"flex gap-2"},YC=["disabled"],JC={class:"w-full max-w-md rounded-lg bg-white p-6 shadow-xl dark:bg-dark-900"},ZC={class:"mb-4 text-lg font-semibold"},XC={class:"mb-4 text-sm text-gray-500"},eV={class:"relative"},tV=["placeholder"],aV={class:"mt-2 text-xs text-gray-400"},sV={class:"mt-6 flex justify-end gap-2"},nV=["disabled"],iV={class:"space-y-6"},oV={class:"card"},lV={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},rV={class:"text-lg font-semibold text-gray-900 dark:text-white"},dV={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},cV=["href"],uV={class:"space-y-4 p-6"},mV={class:"flex items-center justify-between"},_V={class:"font-medium text-gray-900 dark:text-white"},pV={class:"text-sm text-gray-500 dark:text-gray-400"},gV={class:"grid grid-cols-1 gap-3 sm:grid-cols-3"},yV={class:"input-label"},bV={class:"input-label"},hV={class:"input-label"},xV={class:"rounded-lg border border-gray-200 bg-gray-50 px-3 py-2 text-sm text-gray-600 dark:border-dark-600 dark:bg-dark-800 dark:text-gray-300"},fV={class:"grid grid-cols-2 gap-3 sm:grid-cols-5"},kV={class:"input-label"},vV=["value","placeholder"],wV={class:"input-label"},CV=["value","placeholder"],VV={class:"input-label"},UV=["value","placeholder"],SV={class:"input-label"},PV=["value"],$V={class:"mt-0.5 text-xs text-gray-400"},EV={class:"mt-1 text-xs font-medium text-primary-600 dark:text-primary-400"},AV={class:"input-label"},TV=["value","placeholder"],FV={class:"mt-0.5 text-xs text-gray-400"},MV={class:"input-label"},LV={class:"relative"},RV=["value"],HV={class:"mt-0.5 text-xs text-gray-400"},DV={key:0,class:"mt-1 text-xs font-medium text-primary-600 dark:text-primary-400"},jV={class:"input-label"},zV={class:"mt-0.5 text-xs text-gray-400"},OV={class:"flex flex-wrap items-end gap-4"},BV={class:"w-28"},IV={class:"input-label"},qV={class:"input-label"},NV={class:"input-label"},WV={class:"flex items-center gap-2"},KV=["disabled"],GV=["disabled"],QV={class:"input-label"},YV={class:"flex items-center gap-2"},JV={class:"text-sm text-gray-500 dark:text-gray-400"},ZV={class:"input-label"},XV={class:"flex items-center gap-2"},eU={class:"text-sm text-gray-500 dark:text-gray-400"},tU={class:"input-label"},aU={class:"mt-1.5 flex flex-wrap gap-2"},sU=["onClick"],nU={class:"mt-2 text-xs text-gray-400 dark:text-gray-500"},iU=["href"],oU={class:"grid grid-cols-1 gap-3 sm:grid-cols-2"},lU={class:"input-label"},rU={class:"input-label"},dU=["placeholder"],cU={class:"space-y-6"},uU={key:0,class:"card"},mU={class:"p-6"},_U={class:"flex items-start gap-3"},pU={class:"font-medium text-gray-900 dark:text-white"},gU={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},yU={key:1,class:"card"},bU={class:"flex items-center justify-between border-b border-gray-100 px-6 py-4 dark:border-dark-700"},hU={class:"text-lg font-semibold text-gray-900 dark:text-white"},xU={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},fU=["disabled"],kU={key:0,class:"h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},vU={class:"space-y-6 p-6"},wU={class:"grid grid-cols-1 gap-6 md:grid-cols-2"},CU={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},VU=["placeholder"],UU={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},SU=["placeholder"],PU={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},$U=["placeholder"],EU={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},AU=["placeholder"],TU={class:"mt-1.5 text-xs text-gray-500 dark:text-gray-400"},FU={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},MU=["placeholder"],LU={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},RU=["placeholder"],HU={class:"flex items-center justify-between border-t border-gray-100 pt-4 dark:border-dark-700"},DU={class:"font-medium text-gray-900 dark:text-white"},jU={class:"text-sm text-gray-500 dark:text-gray-400"},zU={key:2,class:"card"},OU={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},BU={class:"text-lg font-semibold text-gray-900 dark:text-white"},IU={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},qU={class:"p-6"},NU={class:"flex items-end gap-4"},WU={class:"flex-1"},KU={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},GU=["placeholder"],QU=["disabled"],YU={key:0,class:"h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},JU={class:"card"},ZU={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},XU={class:"text-base font-medium text-gray-900 dark:text-white"},eS={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},tS={class:"px-6 py-6"},aS={class:"flex items-center justify-between gap-4"},sS={class:"mb-0 block text-sm font-medium text-gray-700 dark:text-gray-300"},nS={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},iS={class:"card"},oS={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},lS={class:"text-base font-medium text-gray-900 dark:text-white"},rS={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},dS={class:"px-6 py-6 space-y-4"},cS={class:"flex items-center justify-between"},uS={class:"mb-0 block text-sm font-medium text-gray-700 dark:text-gray-300"},mS={key:0},_S={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},pS={class:"relative"},gS={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},yS={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},bS=["placeholder"],hS={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},xS={class:"card"},fS={class:"border-b border-gray-100 px-6 py-4 dark:border-dark-700"},kS={class:"text-base font-medium text-gray-900 dark:text-white"},vS={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},wS={class:"px-6 py-6 space-y-4"},CS={class:"flex items-center justify-between"},VS={class:"mb-0 block text-sm font-medium text-gray-700 dark:text-gray-300"},US={key:0},SS={class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},PS={class:"space-y-2"},$S={class:"relative inline-flex items-center cursor-pointer shrink-0"},ES=["checked","onChange"],AS=["onUpdate:modelValue","placeholder"],TS=["onClick"],FS={class:"mt-1 text-xs text-gray-500 dark:text-gray-400"},MS={class:"flex justify-end"}
2,LS=["disabled"],RS={key:0,class:"h-4 w-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},Ft=5,Mt=1e3,HS=20,Lt="You are Claude Code, Anthropic's official CLI for Claude.",ht=`You are an interactive agent that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user. 3 4IMPORTANT: Assist with authorized security testing, defensive security, CTF challenges, and educational contexts. Refuse requests for destructive techniques, DoS attacks, mass targeting, supply chain compromise, or detection evasion for malicious purposes. Dual-use security tools (C2 frameworks, credential testing, exploit development) require clear authorization context: pentesting engagements, CTF competitions, security research, or defensive use cases. 5IMPORTANT: You must NEVER generate or guess URLs for the user unless you are confident that the URLs are for helping the user with programming. You may use URLs provided by the user in their messages or local files. 6 7# Tone and style 8 - Only use emojis if the user explicitly requests it. Avoid using emojis in all communication unless asked. 9 - Your responses should be short and concise. 10 - When referencing specific functions or pieces of code include the pattern file_path:line_number to allow the user to easily navigate to the source code location. 11 - When referencing GitHub issues or pull requests, use the owner/repo#123 format (e.g. anthropics/claude-code#100) so they render as clickable links. 12 - Do not use a colon before tool calls. Your tool calls may not be shown directly in the output, so text like "Let me read the file:" followed by a read tool call should just be "Let me read the file." with a period.`,DS=1e3,ka=16,jS=Qe({__name:"SettingsView",setup(A){const{t,locale:$}=Xe(),k=Ca(),K=As(),D=oo(),ae=H(()=>$.value.startsWith("zh"));function C(l,i){return ae.value?l:i}const w=H(()=>$.value.startsWith("zh")?"https://github.com/Wei-Shaw/sub2api/blob/main/docs/PAYMENT_CN.md":"https://github.com/Wei-Shaw/sub2api/blob/main/docs/PAYMENT.md"),f=H(()=>$.value.startsWith("zh")?"https://github.com/Wei-Shaw/sub2api/blob/main/docs/PAYMENT_CN.md#æ¯æçæ¯ä»æ¹å¼":"https://github.com/Wei-Shaw/sub2api/blob/main/docs/PAYMENT.md#supported-payment-methods"),U=V("general"),F=[{key:"general",icon:"home"},{key:"agreement",icon:"document"},{key:"features",icon:"bolt"},{key:"security",icon:"shield"},{key:"users",icon:"user"},{key:"gateway",icon:"server"},{key:"payment",icon:"creditCard"},{key:"email",icon:"mail"},{key:"backup",icon:"database"}],N={ArrowLeft:-1,ArrowUp:-1,ArrowRight:1,ArrowDown:1,Home:"first",End:"last"};function W(l){U.value=l}function ne(l){window.requestAnimationFrame(()=>{var i;(i=document.getElementById(`settings-tab-${l}`))==null||i.focus()})}function G(l,i){var L;const y=N[l.key];if(y===void 0)return;l.preventDefault();const o=F.findIndex(xe=>xe.key===i);let p=o<0?0:o;y==="first"?p=0:y==="last"?p=F.length-1:p=(p+y+F.length)%F.length;const _=(L=F[p])==null?void 0:L.key;_&&(W(_),ne(_))}const{copyToClipboard:X}=ko(),ee=V(!0),oe=V(!1),_e=V(!1),ue=V(!1),le=V(!1),Q=V(!1),Y=V(""),I=V([]),re=V(""),te=V(""),ye=V("10, 20, 50, 100"),$e=V(!0),ke=V(!1),ge=V(""),be=V(!1),Re=V(""),Ue=V([]),Ie=V(!0),He=V(!1),ve=me({enabled:!0,interval_minutes:30}),Fe=V(!0),qe=V(!1),he=me({enabled:!1,interval_minutes:60,debounce_minutes:1}),we=V(!0),Ee=V(!1),Se=me({enabled:!0,cooldown_minutes:10}),De=V(!0),P=V(!1),E=me({enabled:!0,cooldown_seconds:5}),Z=V(!0),pe=V(!1),v=me({enabled:!0,user_rpm:240,heavy_rpm:60,exempt_admin:!0,public_ip_rpm:300}),u=V(!0),c=V(!1),g=me({enabled:!0,action:"temp_unsched",temp_unsched_minutes:5,threshold_count:3,threshold_window_minutes:10}),z=V(!0),Me=V(!1),de=me({enabled:!0,thinking_signature_enabled:!0,thinking_budget_enabled:!0,apikey_signature_enabled:!1,apikey_signature_patterns:[]}),Ht=V(!0),ut=V(!1),kt=me({rules:[]}),et=me({rules:[]}),Dt=V(!1);function Va(){return[{id:"terms",title:C("æå¡æ¡æ¬¾","Terms of Service"),content_md:""},{id:"usage-policy",title:C("ä½¿ç¨æ¿ç","Usage Policy"),content_md:""},{id:"supported-regions",title:C("æ¯æçå½å®¶åå°åº","Supported Countries and Regions"),content_md:""},{id:"service-specific-terms",title:C("æå¡ç¹å®æ¡æ¬¾","Service-Specific Terms"),content_md:""}]}function Ua(l){return l.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/[-_]{2,}/g,"-").replace(/^[-_]+|[-_]+$/g,"")}function Ls(l,i){return`/legal/${Ua(l.id||l.title)||`doc-${i+1}`}`}let Sa=0;function Rs(){return Sa+=1,`claude-oauth-system-prompt-block-${Sa}`}function Pa(l){return typeof l=="string"&&l.trim()?l.trim():"5m"}function jt(l){const i=l.trim();return i==="{billing_header}"?"billing":i==="{claude_code_system_prompt}"||i===Lt?"system":i==="{claude_code_expansion_prompt}"||i===ht?"expansion":"custom"}function Hs(l,i=""){const y=l.trim();return y==="{claude_code_system_prompt}"?Lt:y==="{claude_code_expansion_prompt}"?i.trim()||ht:l}function st(l={}){const i=l.text??"";return{id:Rs(),enabled:l.enabled??!0,expanded:l.expanded??!0,type:"text",preset:l.preset??jt(i),text:i,cacheControlEnabled:l.cacheControlEnabled??!1,cacheControlTTL:l.cacheControlTTL??"5m"}}function nt(l=""){const y=l.trim()||ht;return[st({preset:"billing",text:"{billing_header}"}),st({preset:"system",text:Lt}),st({preset:y===ht?"expansion":"custom",text:y,cacheControlEnabled:!0,cacheControlTTL:"5m"})]}function Ds(l){return l===!0?{enabled:!0,ttl:"5m"}:l&&typeof l=="object"&&!Array.isArray(l)?{enabled:!0,ttl:Pa(l.ttl)}:{enabled:!1,ttl:"5m"}}function js(l,i=""){const y=l.trim();if(!y)return nt(i);try{const o=JSON.parse(y),p=Array.isArray(o)?o:Array.isArray(o.blocks)?o.blocks:[];return p.length===0?nt(i):p.map(_=>{const L=Ds(_.cache_control),xe=Hs(typeof _.text=="string"?_.text:"",i);return st({enabled:_.enabled!==!1,type:"text",text:xe,preset:jt(xe),cacheControlEnabled:L.enabled,cacheControlTTL:L.ttl})})}catch{return nt(i)}}function zt(l){const y=(l.length>
120?l:[st({enabled:!1,preset:"custom",text:""})]).map(o=>{const p={enabled:o.enabled,type:o.type||"text",text:o.text};return o.cacheControlEnabled&&(p.cache_control={type:"ephemeral",ttl:Pa(o.cacheControlTTL)}),p});return JSON.stringify(y,null,2)}const $a=zt(nt()),je=V(nt()),Ea=H(()=>[{value:"billing",label:t("admin.settings.gatewayForwarding.systemBlockPresetBilling")},{value:"system",label:t("admin.settings.gatewayForwarding.systemBlockPresetIdentity")},{value:"expansion",label:t("admin.settings.gatewayForwarding.systemBlockPresetExpansion")},{value:"custom",label:t("admin.settings.gatewayForwarding.systemBlockPresetCustom")}]),zs=H(()=>[{value:"text",label:t("admin.settings.gatewayForwarding.systemBlockTypeText")}]),Os=H(()=>[{value:"5m",label:t("admin.settings.gatewayForwarding.cacheTTL5m")},{value:"1h",label:t("admin.settings.gatewayForwarding.cacheTTL1h")}]);function Bs(l){var i;return((i=Ea.value.find(y=>y.value===l))==null?void 0:i.label)||t("admin.settings.gatewayForwarding.systemBlockPresetCustom")}function tt(){n.claude_oauth_system_prompt_blocks=zt(je.value)}function Is(){je.value.push(st({expanded:!0,preset:"custom",text:""})),tt()}function qs(l){const i=je.value[l];i&&(i.expanded=!i.expanded)}function Ns(l){je.value.splice(l,1),tt()}function Aa(l,i){const y=l+i;if(y<0||y>=je.value.length)return;const o=je.value,p=o[l];o[l]=o[y],o[y]=p,tt()}function Ws(l,i){const y=je.value[l];if(!y)return;const o=String(i||"custom");y.preset=o,y.type="text",o==="billing"?(y.text="{billing_header}",y.cacheControlEnabled=!1,y.cacheControlTTL="5m"):o==="system"?(y.text=Lt,y.cacheControlEnabled=!1,y.cacheControlTTL="5m"):o==="expansion"&&(y.text=n.claude_oauth_system_prompt.trim()||ht,y.cacheControlEnabled=!0,y.cacheControlTTL="5m"),tt()}function Ks(l){l.preset=jt(l.text),tt()}function Gs(){je.value=nt(n.claude_oauth_system_prompt),tt()}const Qs=lo,n=me({registration_enabled:!0,email_verify_enabled:!1,registration_email_suffix_whitelist:[],registration_email_domain_quota_enabled:!1,promo_code_enabled:!0,invitation_code_enabled:!1,password_reset_enabled:!1,totp_enabled:!1,totp_encryption_key_configured:!1,passkey_enabled:!1,passkey_configured:!1,passkey_rp_id:"",passkey_rp_origins:[],session_binding_enabled:!1,step_up_enabled:!1,audit_log_retention_days:180,login_agreement_enabled:!1,login_agreement_mode:"modal",login_agreement_updated_at:"2026-03-31",login_agreement_documents:Va(),default_balance:0,default_platform_quotas:pa(),account_scheduling_thresholds:_a(),affiliate_rebate_rate:20,affiliate_rebate_freeze_hours:0,affiliate_rebate_duration_days:0,affiliate_rebate_per_invitee_cap:0,affiliate_admin_recharge_enabled:!1,default_concurrency:1,default_subscriptions:[],force_email_on_third_party_signup:!1,default_user_rpm_limit:0,site_name:"Sub2API",site_logo:"",site_subtitle:"Subscription to API Conversion Platform",api_base_url:"",contact_info:"",doc_url:"",home_content:"",compact_home_enabled:!1,backend_mode_enabled:!1,hide_ccs_import_button:!1,payment_enabled:!1,risk_control_enabled:!1,cyber_session_block_enabled:!1,cyber_session_block_ttl_seconds:3600,payment_min_amount:1,payment_max_amount:1e4,payment_daily_limit:5e4,payment_max_pending_orders:3,payment_order_timeout_minutes:30,payment_balance_disabled:!1,payment_balance_recharge_multiplier:1,payment_subscription_usd_to_cny_rate:0,payment_recharge_fee_rate:0,payment_enabled_types:[],payment_help_image_url:"",payment_help_text:"",payment_product_name_prefix:"",payment_product_name_suffix:"",payment_load_balance_strategy:"round-robin",payment_cancel_rate_limit_enabled:!1,payment_cancel_rate_limit_max:10,payment_cancel_rate_limit_window:1,payment_cancel_rate_limit_unit:"day",payment_cancel_rate_limit_window_mode:"rolling",payment_alipay_force_qrcode:!1,payment_alipay_mobile_precreate_deep_link:!1,table_default_page_size:HS,table_page_size_options:[10,20,50,100],custom_menu_items:[],custom_endpoints:[],frontend_url:"",smtp_host:"",smtp_port:587,smtp_username:"",smtp_password:"",smtp_password_configured:!1,smtp_from_email:"",smtp_from_name:"",smtp_use_tls:!0,turnstile_enabled:!1,turnstile_site_key:"",turnstile_secret_key:"",turnstile_secret_key_configured:!1,tencent_captcha_enabled:!1,tencent_captcha_app_id:"",tencent_captcha_app_secret_key:"",tencent_captcha_app_secret_key_configured:!1,tencent_captcha_cloud_secret_id:"",tencent_captcha_cloud_secret_id_configured:!1,tencent_captcha_cloud_secret_key:"",tencent_captcha_cloud_secret_key_configured:!1,tencent_captcha_region:"cn",aliyun_captcha_enabled:!1,aliyun_captcha_access_key_id:"",aliyun_captcha_access_key_secret:"",aliyun_captcha_access_key_secret_configured:!1,aliyun_captcha_scene_id:"",aliyun_captcha_prefix:"",aliyun_captcha_region:"cn",api_key_acl_trust_forwarded_ip:!0,forwarded_client_ip_headers:[],linuxdo_connect_enabled:!1,linuxdo_connect_client_id:"",linuxdo_connect_client_secret:"",linuxdo_connect_client_secret_configured:!1,linuxdo_connect_redirect_url:"",dingtalk_connect_enabled:!1,dingtalk_connect_client_id:"",dingtalk_connect_client_secret:"",dingtalk_connect_client_secret_configured:!1,dingtalk_connect_redirect_url:"",dingtalk_connect_corp_restriction_policy:"none",dingtalk_connect_internal_corp_i
12d:"",dingtalk_connect_bypass_registration:!1,dingtalk_connect_sync_corp_email:!1,dingtalk_connect_sync_display_name:!1,dingtalk_connect_sync_dept:!1,dingtalk_connect_sync_corp_email_attr_key:"dingtalk_email",dingtalk_connect_sync_display_name_attr_key:"dingtalk_name",dingtalk_connect_sync_dept_attr_key:"dingtalk_department",dingtalk_connect_sync_corp_email_attr_name:C("ééä¼ä¸é®ç®±","DingTalk Corporate Email"),dingtalk_connect_sync_display_name_attr_name:C("ééå§å","DingTalk Name"),dingtalk_connect_sync_dept_attr_name:C("ééé¨é¨","DingTalk Department"),wechat_connect_enabled:!1,wechat_connect_app_id:"",wechat_connect_app_secret:"",wechat_connect_app_secret_configured:!1,wechat_connect_open_app_id:"",wechat_connect_open_app_secret:"",wechat_connect_open_app_secret_configured:!1,wechat_connect_mp_app_id:"",wechat_connect_mp_app_secret:"",wechat_connect_mp_app_secret_configured:!1,wechat_connect_mobile_app_id:"",wechat_connect_mobile_app_secret:"",wechat_connect_mobile_app_secret_configured:!1,wechat_connect_open_enabled:!1,wechat_connect_mp_enabled:!1,wechat_connect_mobile_enabled:!1,wechat_connect_mode:"open",wechat_connect_scopes:"snsapi_login",wechat_connect_redirect_url:"",wechat_connect_frontend_redirect_url:"/auth/wechat/callback",oidc_connect_enabled:!1,oidc_connect_provider_name:"OIDC",oidc_connect_client_id:"",oidc_connect_client_secret:"",oidc_connect_client_secret_configured:!1,oidc_connect_issuer_url:"",oidc_connect_discovery_url:"",oidc_connect_authorize_url:"",oidc_connect_token_url:"",oidc_connect_userinfo_url:"",oidc_connect_jwks_url:"",oidc_connect_scopes:"openid email profile",oidc_connect_redirect_url:"",oidc_connect_frontend_redirect_url:"/auth/oidc/callback",oidc_connect_token_auth_method:"client_secret_post",oidc_connect_use_pkce:!1,oidc_connect_validate_id_token:!1,oidc_connect_allowed_signing_algs:"RS256,ES256,PS256",oidc_connect_clock_skew_seconds:120,oidc_connect_require_email_verified:!1,oidc_connect_userinfo_email_path:"",oidc_connect_userinfo_id_path:"",oidc_connect_userinfo_username_path:"",github_oauth_enabled:!1,github_oauth_client_id:"",github_oauth_client_secret:"",github_oauth_client_secret_configured:!1,github_oauth_redirect_url:"",github_oauth_frontend_redirect_url:"/auth/oauth/callback",google_oauth_enabled:!1,google_oauth_client_id:"",google_oauth_client_secret:"",google_oauth_client_secret_configured:!1,google_oauth_redirect_url:"",google_oauth_frontend_redirect_url:"/auth/oauth/callback",enable_model_fallback:!1,fallback_model_anthropic:"claude-3-5-sonnet-20241022",fallback_model_openai:"gpt-4o",fallback_model_gemini:"gemini-2.5-pro",fallback_model_antigravity:"gemini-2.5-pro",grok_default_text_model:"grok-4.5",grok_cross_client_model_map_enabled:!1,grok_default_base_url_mode:"cli",enable_identity_patch:!0,identity_patch_prompt:"",ops_monitoring_enabled:!0,ops_realtime_monitoring_enabled:!0,ops_query_mode_default:"auto",ops_metrics_interval_seconds:60,min_claude_code_version:"",max_claude_code_version:"",allow_ungrouped_key_scheduling:!1,openai_low_upstream_rate_priority_enabled:!1,openai_oauth_scheduling_rate_multiplier:1,openai_advanced_scheduler_enabled:!1,openai_advanced_scheduler_sticky_weighted_enabled:!1,openai_advanced_scheduler_subscription_priority_enabled:!1,openai_advanced_scheduler_lb_top_k:"",openai_advanced_scheduler_weight_priority:"",openai_advanced_scheduler_weight_load:"",openai_advanced_scheduler_weight_queue:"",openai_advanced_scheduler_weight_error_rate:"",openai_advanced_scheduler_weight_ttft:"",openai_advanced_scheduler_weight_reset:"",openai_advanced_scheduler_weight_quota_headroom:"",openai_advanced_scheduler_weight_upstream_cost:"",openai_advanced_scheduler_weight_previous_response:"",openai_advanced_scheduler_weight_session_sticky:"",openai_ttft_mode:"semantic",enable_fingerprint_unification:!0,enable_metadata_passthrough:!1,enable_cch_signing:!1,enable_claude_oauth_system_prompt_injection:!0,claude_oauth_system_prompt:"",claude_oauth_system_prompt_blocks:$a,enable_anthropic_cache_ttl_1h_injection:!1,rewrite_message_cache_control:!1,enable_client_dateline_normalization:!0,antigravity_user_agent_version:"",openai_codex_user_agent:"",openai_codex_client_version:"",openai_codex_client_version_synced:"",openai_codex_version_auto_sync_enabled:!0,min_codex_version:"",max_codex_version:"",codex_cli_only_blacklist:"",codex_cli_only_whitelist:"",codex_cli_only_allow_app_server_clients:!1,codex_cli_only_engine_fingerprint_signals:"",balance_low_notify_enabled:!1,balance_low_notify_threshold:0,balance_low_notify_recharge_url:"",subscription_expiry_notify_enabled:!0,account_quota_notify_enabled:!1,account_quota_notify_emails:[],channel_monitor_enabled:!0,channel_monitor_mode:"v1",channel_monitor_default_interval_seconds:60,channel_monitor_hide_throughput:!1,channel_monitor_show_quota:!1,available_channels_enabled:!1,model_plaza_enabled:!1,model_plaza_require_auth:!1,model_plaza_description:"",plugin_management_enabled:!1,affiliate_enabled:!1,allow_user_view_error_requests:!1}),Ne=V("turnstile");function Ta(l){n.turnstile_enabled=l==="turnstile",n.tencent_captcha_enabled=l==="tencent",n.al
12iyun_captcha_enabled=l==="aliyun"}const Ot=H({get:()=>n.turnstile_enabled||n.tencent_captcha_enabled||n.aliyun_captcha_enabled,set:l=>Ta(l?Ne.value:null)});function Bt(l){Ne.value=l,Ta(l)}const It=H(()=>n.tencent_captcha_region==="intl"?{console:"https://console.tencentcloud.com/captcha/graphical",cloudKeys:"https://console.tencentcloud.com/cam/capi",webDocs:"https://www.tencentcloud.com/document/product/1159/49680"}:{console:"https://console.cloud.tencent.com/captcha",cloudKeys:"https://console.cloud.tencent.com/cam/capi",webDocs:"https://cloud.tencent.com/document/product/1110/36841"});function Ys(){n.tencent_captcha_enabled?Ne.value="tencent":n.aliyun_captcha_enabled?Ne.value="aliyun":n.turnstile_enabled&&(Ne.value="turnstile")}const Js=H(()=>{const l=(i,y)=>{const o=String(n[i]??"").trim();return t("admin.settings.openaiExperimentalScheduler.defaultPlaceholder",{value:o||y})};return[{key:"openai_advanced_scheduler_lb_top_k",label:t("admin.settings.openaiExperimentalScheduler.topKLabel"),placeholder:l("openai_advanced_scheduler_effective_lb_top_k","7")},{key:"openai_advanced_scheduler_weight_priority",label:t("admin.settings.openaiExperimentalScheduler.priorityWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_priority","1")},{key:"openai_advanced_scheduler_weight_load",label:t("admin.settings.openaiExperimentalScheduler.loadWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_load","1")},{key:"openai_advanced_scheduler_weight_queue",label:t("admin.settings.openaiExperimentalScheduler.queueWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_queue","0.7")},{key:"openai_advanced_scheduler_weight_error_rate",label:t("admin.settings.openaiExperimentalScheduler.errorRateWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_error_rate","0.8")},{key:"openai_advanced_scheduler_weight_ttft",label:t("admin.settings.openaiExperimentalScheduler.ttftWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_ttft","0.5")},{key:"openai_advanced_scheduler_weight_reset",label:t("admin.settings.openaiExperimentalScheduler.resetWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_reset","0")},{key:"openai_advanced_scheduler_weight_quota_headroom",label:t("admin.settings.openaiExperimentalScheduler.quotaHeadroomWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_quota_headroom","0")},{key:"openai_advanced_scheduler_weight_upstream_cost",label:t("admin.settings.openaiExperimentalScheduler.upstreamCostWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_upstream_cost","0")},{key:"openai_advanced_scheduler_weight_previous_response",label:t("admin.settings.openaiExperimentalScheduler.previousResponseWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_previous_response","5")},{key:"openai_advanced_scheduler_weight_session_sticky",label:t("admin.settings.openaiExperimentalScheduler.sessionStickyWeight"),placeholder:l("openai_advanced_scheduler_effective_weight_session_sticky","3")}]}),ce=me(ga({})),Fa=H(()=>[{source:"email",title:t("admin.settings.authSourceDefaults.sources.email.title"),description:t("admin.settings.authSourceDefaults.sources.email.description")},{source:"linuxdo",title:t("admin.settings.authSourceDefaults.sources.linuxdo.title"),description:t("admin.settings.authSourceDefaults.sources.linuxdo.description")},{source:"oidc",title:t("admin.settings.authSourceDefaults.sources.oidc.title"),description:t("admin.settings.authSourceDefaults.sources.oidc.description")},{source:"wechat",title:t("admin.settings.authSourceDefaults.sources.wechat.title"),description:t("admin.settings.authSourceDefaults.sources.wechat.description")},{source:"github",title:"GitHub",description:C("éè¿ GitHub å·²éªè¯é®ç®±é¦æ¬¡æ³¨åæé¦æ¬¡ç»å®æ¶åºç¨ã","Applied on first signup or first bind through a verified GitHub email.")},{source:"google",title:"Google",description:C("éè¿ Google å·²éªè¯é®ç®±é¦æ¬¡æ³¨åæé¦æ¬¡ç»å®æ¶åºç¨ã","Applied on first signup or first bind through a verified Google email.")},{source:"dingtalk",title:t("auth.dingtalkProviderName"),description:C("éè¿éé馿¬¡æ³¨åæé¦æ¬¡ç»å®æ¶åºç¨ã","Applied on first signup or first bind through DingTalk.")}]),Ma=V([]),Ce=me({enabled:!1,providers:[]}),We=me({}),Ge=me({}),qt=V(""),vt=V(!1),at=V(null),wt=V(!1);function Zs(){at.value=null,wt.value=!0}function Xs(l){We[l]=!We[l]}function en(l){Ce.providers.splice(l,1);const i={},y={};for(let o=0;o<Ce.providers.length;o++){const p=o>=l?o+1:o;i[o]=We[p]??!1,y[o]=Ge[p]??!1}Object.keys(We).forEach(o=>delete We[Number(o)]),Object.keys(Ge).forEach(o=>delete Ge[Number(o)]),Object.assign(We,i),Object.assign(Ge,y)}function tn(){const l=Ce.providers.length;Ce.providers.push({type:"brave",api_key:"",api_key_configured:!1,quota_limit:DS,subscribed_at:null,proxy_id:null,expires_at:null}),We[l]=!0}function an(l){if(!l)return"";const i=new Date(l*1e3),y=i.getUTCFullYear(),o=String(i.getUTCMonth()+1).padStart(2,"0"),p=String(i.getUTCDate()).padStart(2,"0");return`${y}-${o}-${p}`}function sn(l){return l?Math.floor(new Date(l+"T00:00:00Z").getTime()/1e3):null}function Nt(l){return!l.quota_limit||l.quota_limit<=0?0:(l.quota_used??0)/l.quota_limit*100}async function nn(l){const i=Ce.providers[l];if(i&&confirm(t("admin.settings.webSearchEmulation.resetUsageConfirm")))try{await R.settings.resetWebSearchUsage({provider_type:i.type}),i.quota_used=0,k.showSuccess(t("admin.settings.webSearchEmulation.resetUsageSuccess"))}catch(y){k.showError(se(y,t("common.error")))}}async function on(l){var y;const i=(y=Ce.providers[l])==null?void 0:y.api_key;if(!i){k.showError(t("admin.settings.webSearchEmulation.apiKeyPlaceholder"));return}try{await navigator.clipboard.writeText(i),k.showSuccess(t("admin.settings.webSearchEmulation.copied"))}catch{k.showError(t("common.error"))}}async function La(){vt.value=!0,at.value=null;try{const l=qt.value.trim()||t("admin.settings.webSearchEmulation.testDefaultQuery");at.value=await R.settings.testWebSearchEmulation(l)}catch(l){k.showError(se(l,t("common.error")))}finally{vt.value=!1}}async function ln(){try{const[l,i]=await Promise.all([R.settings.getWebSearchEmulationConfig(),R.proxies.list().catch(()=>({items:[]}))]);l&&(Ce.enabled=l.enabled||!1,Ce.providers=l.providers||[]),Ma.value=i.items||[]}catch(l){const i=l==null?void 0:l.status;i!==404&&i!==void 0&&k.showError(se(l,t("common.error")))}}async function rn(){try{for(const i of Ce.providers){const y=i.quota_limit;if(y!=null&&Number(y)!==0&&Number(y)<1)return k.showError(t("admin.settings.webSearchEmulation.quotaLimitMustBePositive")),!1}const l=Ce.providers.map(i=>({...i,quota_limit:Number(i.quota_limit)>0?Number(i.quota_limit):null}));return await R.settings.updateWebSearchEmulationConfig({enabled:Ce.enabled,providers:l}),!0}catch(l){return k.showError(se(l,t("common.error"))),!1}}const Ra=H(()=>Ue.value.map(l=>({value:l.id,label:l.name,description:l.description,platform:l.platform,subscriptionType:l.subscription_type,rate:l.rate_multiplier}))),dn=new Set([" ",",","ï¼","Enter","Tab"]);function cn(l){I.value=I.value.filter(i=>i!==l)}function Ha(l){const i=Vs(l);!wo(i)||I.value.includes(i)||(I.value=[...I.value,i])}function Da(){re.value&&(Ha(re.value),re.value="")}function ja(){re.value=Vs(re.value)}function za(l){if(!l.isComposing){if(dn.has(l.key)){l.preventDefault(),Da();return}l.key==="Backspace"&&!re.value&&I.value.length>0&&I.value.pop()}}function un(l){var o;const i=((o=l.clipboardData)==null?void 0:o.getData("text"))||"";if(!i.trim())return;l.preventDefault();const y=vo(i);for(const p of y)Ha(p)}const mn=new Set([" ",",","ï¼","Enter","Tab"]),_n=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function Oa(l){const i=l.trim();return _n.test(i)?i.toLowerCase().split("-").map(y=>`${y.charAt(0).toUpperCase()}${y.slice(1)}`).join("-"):""}function Wt(l){if(!Array.isArray(l))return[];const i=[],y=new Set;for(const o of l){if(typeof o!="string")continue;const p=Oa(o),_=p.toLowerCase();!p||y.has(_)||i.length>=ka||(y.add(_),i.push(p))}return i}function pn(l){n.forwarded_client_ip_headers=n.forwarded_client_ip_headers.filter(i=>i!==l)}function Ba(l){const i=Oa(l);return i?n.forwarded_client_ip_headers.some(y=>y.toLowerCase()===i.toLowerCase())?"duplicate":n.forwarded_client_ip_headers.length>=ka?"full":(n.forwarded_client_ip_headers=[...n.forwarded_client_ip_headers,i],"added"):"invalid"}function Ia(l){l==="invalid"?k.showError(t("admin.settings.apiKeyAcl.forwardedClientIpHeaderInvalid")):l==="full"&&k.showError(t("admin.settings.apiKeyAcl.forwardedClientIpHeadersLimit",{max:ka}))}function qa(){const l=te.value;if(!l)return;const i=Ba(l);Ia(i),te.value=""}function gn(l){if(!l.isComposing){if(mn.has(l.key)){l.preventDefault(),qa();return}l.key==="Backspace"&&!te.value&&n.forwarded_client_ip_headers.length>0&&n.forwarded_client_ip_headers.pop()}}function yn(l){var o;const i=((o=l.clipboardData)==null?void 0:o.getData("text"))||"";if(!i.trim())return;l.preventDefault();let y;for(const p of i.split(/[,ï¼;\r\n]+/)){if(!p.trim())continue;const _=Ba(p);(_==="invalid"||_==="full")&&(y=_)}y&&Ia(y)}const bn=()=>{n.account_quota_notify_emails||(n.account_quota_notify_emails=[]),n.account_quota_notify_emails.push({email:"",disabled:!1,verified:!0})},Kt=typeof window<"u"?window.location.origin:"";function mt(l){const i=(n.api_base_url||Kt).replace(/\/+$/,"");return`${i.endsWith("/api/v1")?i:`${i}/api/v1`}${l.startsWith("/")?l:`/${l}`}`}const Gt=H(()=>mt("/auth/oauth/linuxdo/callback"));async function hn(){const l=Gt.value;l&&(n.linuxdo_connect_redirect_url=l,await X(l,t("admin.settings.linuxdo.redirectUrlSetAndCopied")))}const Qt=H(()=>mt("/auth/oauth/github/callback")),Yt=H(()=>mt("/auth/oauth/google/callback"));async function Na(l){const i=l==="github"?Qt.value:Yt.value;i&&(l==="github"?n.github_oauth_redirect_url=i:n.google_oauth_redirect_url=i,await X(i,C("åè°å°åå·²åå
¥å¹¶å¤å¶ã","Callback URL set and copied.")))}const Jt=H(()=>mt("/auth/oauth/wechat/callback"));function Ct(l){n.wechat_connect_mp_enabled&&n.wechat_connect_mobile_enabled&&(l==="mobile"?n.wechat_connect_mp_enabled=!1:n.wechat_connect_mobile_enabled=!1);const i=ba(n.wechat_connect_open_enabled,n.wechat_connect_mp_enabled,n.wechat_connect_mobile_enabled,n.wechat_connect_mode);n.wechat_connect_open_enabled=i.openEnabled,n.wechat_connect_mp_enabled=i.mpEnabled,n.wechat_connect_mobile_enabled=i.mobileEnabled,n.wechat_connect_mode=$t(i.openEnabled,i.mpEnabled,i.mobileEnabled,n.wechat_connect_mode),n.wechat_connect_scopes=Et(n.wechat_connect_mode)}function xn(l){n.wechat_connect_open_enabled=l,Ct(l?"open":void 0)}function fn(l){n.wechat_connect_mp_enabled=l,l&&(n.wechat_connect_mobile_enabled=!1),Ct(l?"mp":void 0)}function kn(l){n.wechat_connect_mobile_enabled=l,l&&(n.wechat_connect_mp_enabled=!1),Ct(l?"mobile":void 0)}async function vn(){const l=Jt.value;l&&(n.wechat_connect_redirect_url=l,await X(l,t("admin.settings.wechatConnect.redirectUrlSetAndCopied")))}const Zt=H(()=>mt("/auth/oauth/oidc/callback"));async function wn(){const l=Zt.value;l&&(n.oidc_connect_redirect_url=l,await X(l,t("admin.settings.oidc.redirectUrlSetAndCopied")))}function Cn(){n.custom_menu_items.push({id:"",label:"",icon_svg:"",url:"",visibility:"user",sort_order:n.custom_menu_items.length})}function Vn(l){n.custom_menu_items.splice(l,1),n.custom_menu_items.forEac
12h((i,y)=>{i.sort_order=y})}function Wa(l,i){const y=l+i;if(y<0||y>=n.custom_menu_items.length)return;const o=n.custom_menu_items,p=o[l];o[l]=o[y],o[y]=p,o.forEach((_,L)=>{_.sort_order=L})}function Un(){n.custom_endpoints.push({name:"",endpoint:"",description:""})}function Sn(l){n.custom_endpoints.splice(l,1)}function Pn(){n.login_agreement_documents.push({id:`custom-${Date.now().toString(36)}`,title:"",content_md:""})}function $n(l){n.login_agreement_documents.splice(l,1)}function En(){return n.login_agreement_documents.map((l,i)=>({id:Ua(l.id||l.title)||`doc-${i+1}`,title:l.title.trim(),content_md:l.content_md.trim()})).filter(l=>l.title||l.content_md)}function An(l){const i=new Set;for(const y of l){if(i.has(y.id))return y.id;i.add(y.id)}return null}function Ka(l){return l.join(", ")}function Tn(l){const i=l.split(",").map(p=>p.trim()).filter(p=>p.length>0);if(i.length===0)return null;const y=i.map(p=>Number(p));if(y.some(p=>!Number.isInteger(p)))return null;const o=Array.from(new Set(y)).sort((p,_)=>p-_);return o.some(p=>p<Ft||p>Mt)?null:o}const _t=V([]),pt=V([]),it=V([]),Fn=H(()=>!it.value.some(l=>l.required));function Mn(){it.value.push({type:"header_exact",match:"",required:!1})}function Ln(l){it.value.splice(l,1)}function Ga(l){if(!l||!l.trim())return[];try{const i=JSON.parse(l);return Array.isArray(i)?i.map(y=>({originator:typeof(y==null?void 0:y.originator)=="string"?y.originator:"",uaContains:Array.isArray(y==null?void 0:y.ua_contains)?y.ua_contains.filter(o=>typeof o=="string").join(", "):"",skipEngineFingerprint:(y==null?void 0:y.skip_engine_fingerprint)===!0})):[]}catch{return[]}}function Qa(l){const i=l.map(y=>{const o={originator:y.originator.trim(),ua_contains:y.uaContains.split(",").map(p=>p.trim()).filter(p=>p.length>0)};return y.skipEngineFingerprint&&(o.skip_engine_fingerprint=!0),o}).filter(y=>y.originator!==""||y.ua_contains.length>0);return i.length>0?JSON.stringify(i):""}function Rn(){_t.value.push({originator:"",uaContains:""})}function Hn(l){_t.value.splice(l,1)}function Dn(){pt.value.push({originator:"",uaContains:"",skipEngineFingerprint:!1})}function jn(l){pt.value.splice(l,1)}const Ya=H(()=>{var i;const l=(i=n.openai_codex_client_version_synced)==null?void 0:i.trim();return l?t("admin.settings.gatewayForwarding.openaiCodexVersionSyncedValue",{version:l}):""});async function zn(){var l;ee.value=!0,oe.value=!1;try{const i=await R.settings.getSettings();i.payment_load_balance_strategy=i.payment_load_balance_strategy||"round-robin";for(const[_,L]of Object.entries(i))L!=null&&(n[_]=L);Ys(),(l=n.claude_oauth_system_prompt_blocks)!=null&&l.trim()||(n.claude_oauth_system_prompt_blocks=$a),je.value=js(n.claude_oauth_system_prompt_blocks,n.claude_oauth_system_prompt),tt(),_t.value=Ga(n.codex_cli_only_blacklist),pt.value=Ga(n.codex_cli_only_whitelist),it.value=n.codex_cli_only_engine_fingerprint_signals?tm(n.codex_cli_only_engine_fingerprint_signals):sm(),n.login_agreement_mode=i.login_agreement_mode==="checkbox"?"checkbox":"modal",n.channel_monitor_mode=i.channel_monitor_mode==="v2"?"v2":"v1",n.channel_monitor_hide_throughput=!!i.channel_monitor_hide_throughput,n.channel_monitor_show_quota=!!i.channel_monitor_show_quota,n.login_agreement_updated_at=i.login_agreement_updated_at||"2026-03-31",n.login_agreement_documents=Array.isArray(i.login_agreement_documents)&&i.login_agreement_documents.length>0?i.login_agreement_documents.map(_=>({id:_.id||"",title:_.title||"",content_md:_.content_md||""})):Va(),Object.assign(ce,ga(i)),n.default_platform_quotas=pa(i.default_platform_quotas),n.account_scheduling_thresholds=_a(i.account_scheduling_thresholds),n.backend_mode_enabled=i.backend_mode_enabled,n.default_subscriptions=ya(i.default_subscriptions),I.value=Us(i.registration_email_suffix_whitelist),n.forwarded_client_ip_headers=Wt(i.forwarded_client_ip_headers),te.value="",ye.value=Ka(Array.isArray(i.table_page_size_options)?i.table_page_size_options:[10,20,50,100]),re.value="",n.smtp_password="",Q.value=!1,n.turnstile_secret_key="",n.tencent_captcha_app_secret_key="",n.tencent_captcha_cloud_secret_id="",n.tencent_captcha_cloud_secret_key="",n.aliyun_captcha_access_key_secret="",n.linuxdo_connect_client_secret="",n.dingtalk_connect_client_secret="",n.github_oauth_client_secret="",n.google_oauth_client_secret="",n.wechat_connect_app_secret="",n.wechat_connect_open_app_secret="",n.wechat_connect_mp_app_secret="",n.wechat_connect_mobile_app_secret="";const y=ba(i.wechat_connect_open_enabled,i.wechat_connect_mp_enabled,i.wechat_connect_mobile_enabled,i.wechat_connect_mode);n.wechat_connect_open_enabled=y.openEnabled,n.wechat_connect_mp_enabled=y.mpEnabled,n.wechat_connect_mobile_enabled=y.mobileEnabled,n.wechat_connect_mode=$t(y.openEnabled,y.mpEnabled,y.mobileEnabled,i.wechat_connect_mode);const o=String(i.wechat_connect_app_id||"").trim(),p=!!i.wechat_connect_app_secret_configured;!n.wechat_connect_open_app_id&&y.openEnabled&&(n.wechat_connect_open_app_id=o),!n.wechat_connect_mp_app_id&&y.mpEnabled&&(n.wechat_connect_mp_app_id=o),!n.wechat_connect_mobile_app_id&&y.mobileEnabled&&(n.wechat_connect_mobile_app_id=o),!n.wechat_connect_open_app_secret_configured&&y.openEnabled&&(n.wechat_connect_open_app_secret_configured=p),!n.wechat_connect_mp_app_secret_configured&&y.mpEnabled&&(n.wechat_connect_mp_app_secret_configured=p),!n.wechat_connect_mobile_app_secret_configured&&y.mobileEnabled&&(n.wechat_connect_mobile_app_secret_configured=p),n.wechat_connect_scopes=Et(n.wechat_connect_mode),n.oidc_connect_client_secret="",i.openai_fast_policy_settings&&Array.isArray(i.openai_fast_policy_settings.rules)&&(et.rules=i.openai_fast_policy_settings.rules.map(_=>({..._,user_ids:_.user_ids?[..._.user_ids]:[],model_whitelist:_.model_whitelist?[..._.model_whitelist]:[]})),Dt.value=!0),await ln()}catch(i){oe.value=!0,k.showError(se(i,t("admin.settings.failedToLoad")))}finally{ee.value=!1}}async function On(){try{const l=await R.groups.getAll();Ue.value=l.filter(i=>i.subscription_type==="subscription"&&i.status==="active")}catch{Ue.value=[]}}function Ja(l){const i=new Set(l);return Ue.value.find(y=>!i.has(y.id))}function Bn(){if(Ue.value.length===0)return;const l=Ja(n.default_subscriptions.map(i=>i.group_id));l&&n.default_subscriptions.push({group_id:l.id,validity_days:30})}function In(l){n.default_subscriptions.splice(l,1)}function qn(l){if(Ue.value.length===0)return;const i=Ja(ce[l].subscriptions.map(y=>y.group_id));i&&ce[l].subscriptions.push({group_id:i.id,validity_days:30})}function Nn(l,i){ce[l].subscriptions.splice(i,1)}function Za(l){const i=new Set;return l.find(y=>i.has(y.group_id)?!0:(i.add(y.group_id),!1))}async function Xa(){var l,i,y,o,p,_;_e.value=!0;try{const L=Math.floor(Number(n.table_default_page_size));if(!Number.isInteger(L)||L<Ft||L>Mt){k.showError(t("admin.settings.site.tableDefaultPageSizeRangeError",{min:Ft,max:Mt}));return}const xe=Tn(ye.value);if(!xe){k.showError(t("admin.settings.site.tablePageSizeOptionsFormatError",{min:Ft,max:Mt}));return}n.table_default_page_size=L,n.table_page_size_options=xe;const St=En();if(n.login_agreement_enabled&&St.length===0){k.showError(C("å¯ç¨ç»å½æ¡æ¬¾ç¡®è®¤æ¶ï¼è³å°éè¦ä¿çä¸ä»½ææ¡£ã","At least one document is required when login agreement is enabled."));return}if(St.find(J=>!J.title)){k.showError(C("ç»å½æ¡æ¬¾ææ¡£åç§°ä¸è½ä¸ºç©ºã","Login agreement document title cannot be empty."));return}const ca=An(St);if(ca){k.showError(C(`ç»å½æ¡æ¬¾ææ¡£è·¯ç±ä¸è½éå¤ï¼/legal/${ca}`,`Login agreement document routes cannot be duplicated: /legal/${ca}`));return}n.login_agreement_mode=n.login_agreement_mode==="checkbox"?"checkbox":"modal",n.login_agreement_documents=St,n.forwarded_client_ip_headers=Wt(n.forwarded_client_ip_headers);const _s=ya(n.default_subscriptions),ps=Za(_s);if(ps){k.showError(t("admin.settings.defaults.defaultSubscriptionsDuplicate",{groupId:ps.group_id}));return}for(const J of Fa.value){ce[J.source].subscriptions=ya(ce[J.source].subscriptions);const ze=Za(ce[J.source].subscriptions);if(ze){k.showError(`${J.title}: ${t("admin.settings.defaults.defaultSubscriptionsDuplicate",{groupId:ze.group_id})}`);return}}if(n.wechat_connect_mp_enabled&&n.wechat_connect_mobile_enabled){k.showError(C("å
¬ä¼å·åç§»å¨åºç¨ä¸è½åæ¶å¯ç¨ã","Official Account and Mobile App cannot be enabled at the same time."));return}
12const gs=J=>{if(!J)return!0;try{const ze=new URL(J);return ze.protocol==="http:"||ze.protocol==="https:"}catch{return!1}};gs(n.frontend_url)||(n.frontend_url=""),gs(n.doc_url)||(n.doc_url=""),Ct();const ys=$t(n.wechat_connect_open_enabled,n.wechat_connect_mp_enabled,n.wechat_connect_mobile_enabled,n.wechat_connect_mode),bs=zt(je.value);n.claude_oauth_system_prompt_blocks=bs;const yt={registration_enabled:n.registration_enabled,email_verify_enabled:n.email_verify_enabled,registration_email_suffix_whitelist:I.value.map(J=>J.startsWith("*.")?J:`@${J}`),registration_email_domain_quota_enabled:n.registration_email_domain_quota_enabled,promo_code_enabled:n.promo_code_enabled,invitation_code_enabled:n.invitation_code_enabled,password_reset_enabled:n.password_reset_enabled,totp_enabled:n.totp_enabled,passkey_enabled:n.passkey_enabled,session_binding_enabled:n.session_binding_enabled,step_up_enabled:n.step_up_enabled,audit_log_retention_days:Number.isFinite(n.audit_log_retention_days)?n.audit_log_retention_days:180,login_agreement_enabled:n.login_agreement_enabled,login_agreement_mode:n.login_agreement_mode,login_agreement_updated_at:n.login_agreement_updated_at,login_agreement_documents:n.login_agreement_documents,default_balance:n.default_balance,affiliate_rebate_rate:Math.min(100,Math.max(0,Number(n.affiliate_rebate_rate)||0)),affiliate_rebate_freeze_hours:Math.max(0,Math.min(720,Number(n.affiliate_rebate_freeze_hours)||0)),affiliate_rebate_duration_days:Math.max(0,Math.min(3650,Math.floor(Number(n.affiliate_rebate_duration_days)||0))),affiliate_rebate_per_invitee_cap:Math.max(0,Number(n.affiliate_rebate_per_invitee_cap)||0),affiliate_admin_recharge_enabled:n.affiliate_admin_recharge_enabled,default_concurrency:n.default_concurrency,default_subscriptions:_s,force_email_on_third_party_signup:n.force_email_on_third_party_signup,default_user_rpm_limit:n.default_user_rpm_limit,site_name:n.site_name,site_logo:n.site_logo,site_subtitle:n.site_subtitle,api_base_url:n.api_base_url,contact_info:n.contact_info,doc_url:n.doc_url,home_content:n.home_content,compact_home_enabled:n.compact_home_enabled,backend_mode_enabled:n.backend_mode_enabled,hide_ccs_import_button:n.hide_ccs_import_button,table_default_page_size:n.table_default_page_size,table_page_size_options:n.table_page_size_options,custom_menu_items:n.custom_menu_items,custom_endpoints:n.custom_endpoints,frontend_url:n.frontend_url,smtp_host:n.smtp_host,smtp_port:n.smtp_port,smtp_username:n.smtp_username,smtp_password:n.smtp_password||void 0,smtp_from_email:n.smtp_from_email,smtp_from_name:n.smtp_from_name,smtp_use_tls:n.smtp_use_tls,turnstile_enabled:n.turnstile_enabled,turnstile_site_key:n.turnstile_site_key,turnstile_secret_key:n.turnstile_secret_key||void 0,tencent_captcha_enabled:n.tencent_captcha_enabled,tencent_captcha_app_id:n.tencent_captcha_app_id,tencent_captcha_app_secret_key:n.tencent_captcha_app_secret_key||void 0,tencent_captcha_cloud_secret_id:n.tencent_captcha_cloud_secret_id||void 0,tencent_captcha_cloud_secret_key:n.tencent_captcha_cloud_secret_key||void 0,tencent_captcha_region:n.tencent_captcha_region,aliyun_captcha_enabled:n.aliyun_captcha_enabled,aliyun_captcha_access_key_id:n.aliyun_captcha_access_key_id,aliyun_captcha_access_key_secret:n.aliyun_captcha_access_key_secret||void 0,aliyun_captcha_scene_id:n.aliyun_captcha_scene_id,aliyun_captcha_prefix:n.aliyun_captcha_prefix,aliyun_captcha_region:n.aliyun_captcha_region,api_key_acl_trust_forwarded_ip:n.api_key_acl_trust_forwarded_ip,forwarded_client_ip_headers:n.forwarded_client_ip_headers,linuxdo_connect_enabled:n.linuxdo_connect_enabled,linuxdo_connect_client_id:n.linuxdo_connect_client_id,linuxdo_connect_client_secret:n.linuxdo_connect_client_secret||void 0,linuxdo_connect_redirect_url:n.linuxdo_connect_redirect_url,dingtalk_connect_enabled:n.dingtalk_connect_enabled,dingtalk_connect_client_id:n.dingtalk_connect_client_id,dingtalk_connect_client_secret:n.dingtalk_connect_client_secret||void 0,dingtalk_connect_redirect_url:n.dingtalk_connect_redirect_url,dingtalk_connect_corp_restriction_policy:n.dingtalk_connect_corp_restriction_policy,dingtalk_connect_internal_corp_i
12d:n.dingtalk_connect_internal_corp_id,dingtalk_connect_bypass_registration:n.dingtalk_connect_bypass_registration,dingtalk_connect_sync_corp_email:n.dingtalk_connect_sync_corp_email,dingtalk_connect_sync_display_name:n.dingtalk_connect_sync_display_name,dingtalk_connect_sync_dept:n.dingtalk_connect_sync_dept,dingtalk_connect_sync_corp_email_attr_key:n.dingtalk_connect_sync_corp_email_attr_key,dingtalk_connect_sync_display_name_attr_key:n.dingtalk_connect_sync_display_name_attr_key,dingtalk_connect_sync_dept_attr_key:n.dingtalk_connect_sync_dept_attr_key,dingtalk_connect_sync_corp_email_attr_name:n.dingtalk_connect_sync_corp_email_attr_name,dingtalk_connect_sync_display_name_attr_name:n.dingtalk_connect_sync_display_name_attr_name,dingtalk_connect_sync_dept_attr_name:n.dingtalk_connect_sync_dept_attr_name,wechat_connect_enabled:n.wechat_connect_enabled,wechat_connect_app_id:n.wechat_connect_open_app_id||n.wechat_connect_mp_app_id||n.wechat_connect_mobile_app_id||n.wechat_connect_app_id,wechat_connect_app_secret:n.wechat_connect_app_secret||void 0,wechat_connect_open_app_id:n.wechat_connect_open_app_id,wechat_connect_open_app_secret:n.wechat_connect_open_app_secret||void 0,wechat_connect_mp_app_id:n.wechat_connect_mp_app_id,wechat_connect_mp_app_secret:n.wechat_connect_mp_app_secret||void 0,wechat_connect_mobile_app_id:n.wechat_connect_mobile_app_id,wechat_connect_mobile_app_secret:n.wechat_connect_mobile_app_secret||void 0,wechat_connect_open_enabled:n.wechat_connect_open_enabled,wechat_connect_mp_enabled:n.wechat_connect_mp_enabled,wechat_connect_mobile_enabled:n.wechat_connect_mobile_enabled,wechat_connect_mode:ys,wechat_connect_scopes:Et(ys),wechat_connect_redirect_url:n.wechat_connect_redirect_url,wechat_connect_frontend_redirect_url:n.wechat_connect_frontend_redirect_url,oidc_connect_enabled:n.oidc_connect_enabled,oidc_connect_provider_name:n.oidc_connect_provider_name,oidc_connect_client_id:n.oidc_connect_client_id,oidc_connect_client_secret:n.oidc_connect_client_secret||void 0,oidc_connect_issuer_url:n.oidc_connect_issuer_url,oidc_connect_discovery_url:n.oidc_connect_discovery_url,oidc_connect_authorize_url:n.oidc_connect_authorize_url,oidc_connect_token_url:n.oidc_connect_token_url,oidc_connect_userinfo_url:n.oidc_connect_userinfo_url,oidc_connect_jwks_url:n.oidc_connect_jwks_url,oidc_connect_scopes:n.oidc_connect_scopes,oidc_connect_redirect_url:n.oidc_connect_redirect_url,oidc_connect_frontend_redirect_url:n.oidc_connect_frontend_redirect_url,oidc_connect_token_auth_method:n.oidc_connect_token_auth_method,oidc_connect_use_pkce:n.oidc_connect_use_pkce,oidc_connect_validate_id_token:n.oidc_connect_validate_id_token,oidc_connect_allowed_signing_algs:n.oidc_connect_allowed_signing_algs,oidc_connect_clock_skew_seconds:n.oidc_connect_clock_skew_seconds,oidc_connect_require_email_verified:n.oidc_connect_require_email_verified,oidc_connect_userinfo_email_path:n.oidc_connect_userinfo_email_path,oidc_connect_userinfo_id_path:n.oidc_connect_userinfo_id_path,oidc_connect_userinfo_username_path:n.oidc_connect_userinfo_username_path,github_oauth_enabled:n.github_oauth_enabled,github_oauth_client_id:n.github_oauth_client_id,github_oauth_client_secret:n.github_oauth_client_secret||void 0,github_oauth_redirect_url:n.github_oauth_redirect_url,github_oauth_frontend_redirect_url:n.github_oauth_frontend_redirect_url,google_oauth_enabled:n.google_oauth_enabled,google_oauth_client_id:n.google_oauth_client_id,google_oauth_client_secret:n.google_oauth_client_secret||void 0,google_oauth_redirect_url:n.google_oauth_redirect_url,google_oauth_frontend_redirect_url:n.google_oauth_frontend_redirect_url,enable_model_fallback:n.enable_model_fallback,fallback_model_anthropic:n.fallback_model_anthropic,fallback_model_openai:n.fallback_model_openai,fallback_model_gemini:n.fallback_model_gemini,fallback_model_antigravity:n.fallback_model_antigravity,grok_default_text_model:n.grok_default_text_model.trim()||"grok-4.5",grok_cross_client_model_map_enabled:n.grok_cross_client_model_map_enabled,grok_default_base_url_mode:n.grok_default_base_url_mode,enable_identity_patch:n.enable_identity_patch,identity_patch_prompt:n.identity_patch_prompt,min_claude_code_version:n.min_claude_code_version,max_claude_code_version:n.max_claude_code_version,allow_ungrouped_key_scheduling:n.allow_ungrouped_key_scheduling,openai_ttft_mode:n.openai_ttft_mode==="visible"?"visible":"semantic",enable_fingerprint_unification:n.enable_fingerprint_unification,enable_metadata_passthrough:n.enable_metadata_passthrough,enable_cch_signing:n.enable_cch_signing,enable_claude_oauth_system_prompt_injection:n.enable_claude_oauth_system_prompt_injection,claude_oauth_system_prompt:(l=n.claude_oauth_system_prompt)!=null&&l.trim()?n.claude_oauth_system_prompt:"",claude_oauth_system_prompt_blocks:bs,enable_anthropic_cache_ttl_1h_injection:n.enable_anthropic_cache_ttl_1h_injection,rewrite_message_cache_control:n.rewrite_message_cache_control,enable_client_dateline_normalization:n.enable_client_dateline_normalization,antigravity_user_agent_version:((i=n.antigravity_user_agent_version)==null?void 0:i.trim())||"",openai_codex_user_agent:((y=n.openai_codex_user_agent)==null?void 0:y.trim())||"",openai_codex_client_version:((o=n.openai_codex_client_version)==null?void 0:o.trim())||"",openai_codex_version_auto_sync_enabled:n.openai_codex_version_auto_sync_enabled,min_codex_version:((p=n.min_codex_version)==null?void 0:p.trim())||"",max_codex_version:((_=n.max_codex_version)==null?void 0:_.trim())||"",codex_cli_only_allow_app_server_clients:n.codex_cli_only_allow_app_server_clients,codex_cli_only_engine_fingerprint_signals:am(it.value),codex_cli_only_blacklist:Qa(_t.value),codex_cli_only_whitelist:Qa(pt.value),payment_enabled:n.payment_enabled,risk_control_enabled:n.risk_control_enabled,cyber_session_block_enabled:n.cyber_session_block_enabled,cyber_session_block_ttl_seconds:Number(n.cyber_session_block_ttl_seconds)||3600,payment_min_amount:Number(n.payment_min_amount)||0,payment_max_amount:Number(n.payment_max_amount)||0,payment_daily_limit:Number(n.payment_daily_limit)||0,payment_max_pending_orders:Number(n.payment_max_pending_orders)||0,payment_order_timeout_minutes:Number(n.payment_order_timeout_minutes)||0,payment_balance_disabled:n.payment_balance_disabled,payment_balance_recharge_multiplier:Number(n.payment_balance_recharge_multiplier)||1,payment_subscription_usd_to_cny_rate:Number(n.payment_subscription_usd_to_cny_rate)||0,payment_recharge_fee_rate:Number(n.payment_recharge_fee_rate)||0,payment_enabled_types:n.payment_enabled_types,payment_load_balance_strategy:n.payment_load_balance_strategy,payment_product_name_prefix:n.payment_product_name_prefix,payment_product_name_suffix:n.payment_product_name_suffix,payment_help_image_url:n.payment_help_image_url,payment_help_text:n.payment_help_text,payment_cancel_rate_limit_enabled:n.payment_cancel_rate_limit_enabled,payment_cancel_rate_limit_max:Number(n.payment_cancel_rate_limit_max)||10,payment_cancel_rate_limit_window:Number(n.payment_cancel_rate_limit_window)||1,payment_cancel_rate_limit_unit:n.payment_cancel_rate_limit_unit,payment_cancel_rate_limit_window_mode:n.payment_cancel_rate_limit_window_mode,payment_alipay_force_qrcode:n.payment_alipay_force_qrcode,payment_alipay_mobile_precreate_deep_link:n.payment_alipay_mobile_precreate_deep_link,openai_low_upstream_rate_priority_enabled:n.openai_low_upstream_rate_priority_enabled,openai_oauth_scheduling_rate_multiplier:n.openai_oauth_scheduling_rate_multiplier,openai_advanced_scheduler_enabled:n.openai_advanced_scheduler_enabled,openai_advanced_scheduler_sticky_weighted_enabled:n.openai_advanced_scheduler_sticky_weighted_enabled,openai_advanced_scheduler_subscription_priority_enabled:n.openai_advanced_scheduler_subscription_priority_enabled,openai_advanced_scheduler_lb_top_k:n.openai_advanced_scheduler_lb_top_k.trim(),openai_advanced_scheduler_weight_priority:n.openai_advanced_scheduler_weight_priority.trim(),openai_advanced_scheduler_weight_load:n.openai_advanced_scheduler_weight_load.trim(),openai_advanced_scheduler_weight_queue:n.openai_advanced_scheduler_weight_queue.trim(),openai_advanced_scheduler_weight_error_rate:n.openai_advanced_scheduler_weight_error_rate.trim(),openai_advanced_scheduler_weight_ttft:n.openai_advanced_scheduler_weight_ttft.trim(),openai_advanced_scheduler_weight_reset:n.openai_advanced_scheduler_weight_reset.trim(),openai_advanced_scheduler_weight_quota_headroom:n.openai_advanced_scheduler_weight_quota_headroom.trim(),openai_advanced_scheduler_weight_upstream_cost:n.openai_advanced_scheduler_weight_upstream_cost.trim(),openai_advanced_scheduler_weight_previous_response:n.openai_advanced_scheduler_weight_previous_response.trim(),openai_advanced_scheduler_weight_session_sticky:n.openai_advanced_scheduler_weight_session_sticky.trim(),balance_low_notify_enabled:n.balance_low_notify_enabled,balance_low_notify_threshold:Number(n.balance_low_notify_threshold)||0,balance_low_notify_recharge_url:n.balance_low_notify_recharge_url=n.balance_low_notify_recharge_url||Kt,subscription_expiry_notify_enabled:n.subscription_expiry_notify_enabled,account_quota_notify_enabled:n.account_quota_notify_enabled,account_quota_notify_emails:(n.account_quota_notify_emails||[]).filter(J=>J.email.trim()!==""),channel_monitor_enabled:n.channel_monitor_enabled,channel_monitor_mode:n.channel_monitor_mode==="v1"?"v1":"v2",channel_monitor_default_interval_seconds:Number(n.channel_monitor_default_interval_seconds)||60,channel_monitor_hide_throughput:!!n.channel_monitor_hide_throughput,channel_monitor_show_quota:!!n.channel_monitor_show_quota,available_channels_enabled:n.available_channels_enabled,model_plaza_enabled:n.model_plaza_enabled,model_plaza_require_auth:n.model_plaza_require_auth,model_plaza_description:n.model_plaza_description,plugin_management_enabled:n.plugin_management_enabled,affiliate_enabled:n.affiliate_enabled,allow_user_view_error_requests:n.allow_user_view_error_requests};Dt.value&&(yt.openai_fast_policy_settings={rules:et.rules.map(J=>{const ze=(J.model_whitelist||[]).map(ma=>ma.trim()).filter(ma=>ma!==""),ua=ze.length>0;return{service_tier:J.service_tier,action:J.action,scope:J.scope,user_ids:J.user_ids&&J.user_ids.length>0?[...J.user_ids]:void 0,error_message:J.action==="block"?J.error_message:void 0,model_whitelist:ua?ze:void 0,fallback_action:ua?J.fallback_action||"pass":void 0,fallback_error_message:ua&&J.fallback_action==="block"?J.fallback_error_message:void 0}})}),yt.default_platform_quotas=ro(n.default_platform_quotas),yt.account_scheduling_thresholds=co(n.account_scheduling_thresholds),uo(yt,ce);const Ve=await K.run(()=>R.settings.updateSettings(yt));for(const[J,ze]of Object.entries(Ve))J!=="openai_fast_policy_settings"&&ze!=null&&(n[J]=ze);Object.assign(ce,ga(Ve)),n.default_platform_quotas=pa(Ve.default_platform_quotas),n.account_scheduling_thresholds=_a(Ve.account_scheduling_thresholds),I.value=Us(Ve.registration_email_suffix_whitelist),n.forwarded_client_ip_headers=Wt(Ve.forwarded_client_ip_headers),te.value="",ye.value=Ka(Array.isArray(Ve.table_page_size_options)?Ve.table_page_size_options:[10,20,50,100]),re.value="",n.smtp_password="",Q.value=!1,n.turnstile_secret_key="",n.aliyun_captcha_access_key_secret="",n.linuxdo_connect_client_secret="",n.dingtalk_connect_client_secret="",n.github_oauth_client_secret="",n.google_oauth_client_secret="",n.wechat_connect_app_secret="",n.wechat_connect_open_app_secret="",n.wechat_connect_mp_app_secret="",n.wechat_connect_mobile_app_secret="";const lt=ba(Ve.wechat_connect_open_enabled,Ve.wechat_connect_mp_enabled,Ve.wechat_connect_mobile_enabled,Ve.wechat_connect_mode);n.wechat_connect_open_enabled=lt.openEnabled,n.wechat_connect_mp_enabled=lt.mpEnabled,n.wechat_connect_mobile_enabled=lt.mobileEnabled,n.wechat_connect_mode=$t(lt.openEnabled,lt.mpEnabled,lt.mobileEnabled,Ve.wechat_connect_mode),n.wechat_connect_scopes=Et(n.wechat_connect_mode),n.oidc_connect_client_secret="",Ve.openai_fast_policy_settings&&Array.isArray(Ve.openai_fast_policy_settings.rules)&&(et.rules=Ve.openai_fast_policy_settings.rules.map(J=>({...J,user_ids:J.user_ids?[...J.user_ids]:[],model_whitelist:J.model_whitelist?[...J.model_whitelist]:[]})),Dt.value=!0);const Xi=await rn();await k.fetchPublicSettings(!0),await D.fetch(!0),Xi&&k.showSuccess(t("admin.settings.settingsSaved"))}catch(L){if(dt(L))return;
12if(Fs(L)){k.showError(Ms(L)==="STEP_UP_ADMIN_API_KEY_FORBIDDEN"?t("stepUp.adminApiKeyForbidden"):t("stepUp.notEnabled"));return}if((L==null?void 0:L.reason)==="STEP_UP_ENABLE_REQUIRES_TOTP"){k.showError(t("admin.settings.security.stepUpEnableRequiresTotp"));return}k.showError(se(L,t("admin.settings.failedToSave")))}finally{_e.value=!1}}async function Wn(){ue.value=!0;try{const l=Q.value?n.smtp_password:"",i=await R.settings.testSmtpConnection({smtp_host:n.smtp_host,smtp_port:n.smtp_port,smtp_username:n.smtp_username,smtp_password:l,smtp_use_tls:n.smtp_use_tls});k.showSuccess(i.message||t("admin.settings.smtpConnectionSuccess"))}catch(l){k.showError(se(l,t("admin.settings.failedToTestSmtp")))}finally{ue.value=!1}}async function Kn(){if(!Y.value){k.showError(t("admin.settings.testEmail.enterRecipientHint"));return}le.value=!0;try{const l=Q.value?n.smtp_password:"",i=await R.settings.sendTestEmail({email:Y.value,smtp_host:n.smtp_host,smtp_port:n.smtp_port,smtp_username:n.smtp_username,smtp_password:l,smtp_from_email:n.smtp_from_email,smtp_from_name:n.smtp_from_name,smtp_use_tls:n.smtp_use_tls});k.showSuccess(i.message||t("admin.settings.testEmailSent"))}catch(l){k.showError(se(l,t("admin.settings.failedToSendTestEmail")))}finally{le.value=!1}}async function Gn(){$e.value=!0;try{const l=await R.settings.getAdminApiKey();ke.value=l.exists,ge.value=l.masked_key}catch{}finally{$e.value=!1}}async function es(){be.value=!0;try{const l=await R.settings.regenerateAdminApiKey();Re.value=l.key,ke.value=!0,ge.value=l.key.substring(0,10)+"..."+l.key.slice(-4),k.showSuccess(t("admin.settings.adminApiKey.keyGenerated"))}catch(l){k.showError(se(l,t("common.error")))}finally{be.value=!1}}async function Qn(){confirm(t("admin.settings.adminApiKey.regenerateConfirm"))&&await es()}async function Yn(){if(confirm(t("admin.settings.adminApiKey.deleteConfirm"))){be.value=!0;try{await R.settings.deleteAdminApiKey(),ke.value=!1,ge.value="",Re.value="",k.showSuccess(t("admin.settings.adminApiKey.keyDeleted"))}catch(l){k.showError(se(l,t("common.error")))}finally{be.value=!1}}}function Jn(){navigator.clipboard.writeText(Re.value).then(()=>{k.showSuccess(t("admin.settings.adminApiKey.keyCopied"))}).catch(()=>{k.showError(t("common.copyFailed"))})}async function Zn(){Ie.value=!0;try{Object.assign(ve,await R.accounts.getUpstreamBillingProbeSettings())}catch{}finally{Ie.value=!1}}async function ts(){He.value=!0;try{const l=await R.accounts.updateUpstreamBillingProbeSettings({...ve});Object.assign(ve,l),k.showSuccess(t("admin.settings.upstreamBillingProbe.saved"))}catch(l){k.showError(se(l,t("admin.settings.upstreamBillingProbe.saveFailed")))}finally{He.value=!1}}async function Xn(){Fe.value=!0;try{Object.assign(he,await R.accounts.getOllamaCloudUsageSettings())}catch{}finally{Fe.value=!1}}async function Xt(){qe.value=!0;try{const l=await R.accounts.updateOllamaCloudUsageSettings({...he});Object.assign(he,l),k.showSuccess(t("admin.settings.ollamaCloudUsage.saved"))}catch(l){k.showError(se(l,t("admin.settings.ollamaCloudUsage.saveFailed")))}finally{qe.value=!1}}async function ei(){we.value=!0;try{const l=await R.settings.getOverloadCooldownSettings();Object.assign(Se,l)}catch{}finally{we.value=!1}}async function ti(){Ee.value=!0;try{const l=await R.settings.updateOverloadCooldownSettings({enabled:Se.enabled,cooldown_minutes:Se.cooldown_minutes});Object.assign(Se,l),k.showSuccess(t("admin.settings.overloadCooldown.saved"))}catch(l){k.showError(se(l,t("admin.settings.overloadCooldown.saveFailed")))}finally{Ee.value=!1}}async function ai(){Z.value=!0;try{const l=await R.settings.getPanelRateLimitSettings();Object.assign(v,l)}catch{}finally{Z.value=!1}}async function si(){pe.value=!0;try{const l=await R.settings.updatePanelRateLimitSettings({enabled:v.enabled,user_rpm:v.user_rpm,heavy_rpm:v.heavy_rpm,exempt_admin:v.exempt_admin,public_ip_rpm:v.public_ip_rpm});Object.assign(v,l),k.showSuccess(t("admin.settings.panelRateLimit.saved"))}catch(l){k.showError(se(l,t("admin.settings.panelRateLimit.saveFailed")))}finally{pe.value=!1}}async function ni(){De.value=!0;try{const l=await R.settings.getRateLimit429CooldownSettings();Object.assign(E,l)}catch{}finally{De.value=!1}}async function ii(){P.value=!0;try{const l=await R.settings.updateRateLimit429CooldownSettings({enabled:E.enabled,cooldown_seconds:E.cooldown_seconds});Object.assign(E,l),k.showSuccess(t("admin.settings.rateLimit429Cooldown.saved"))}catch(l){k.showError(se(l,t("admin.settings.rateLimit429Cooldown.saveFailed")))}finally{P.value=!1}}async function oi(){u.value=!0;try{const l=await R.settings.getStreamTimeoutSettings();Object.assign(g,l)}catch{}finally{u.value=!1}}async function li(){c.value=!0;try{const l=await R.settings.updateStreamTimeoutSettings({enabled:g.enabled,action:g.action,temp_unsched_minutes:g.temp_unsched_minutes,threshold_count:g.threshold_count,threshold_window_minutes:g.threshold_window_minutes});Object.assign(g,l),k.showSuccess(t("admin.settings.streamTimeout.saved"))}catch(l){k.showError(se(l,t("admin.settings.streamTimeout.saveFailed")))}finally{c.value=!1}}async function ri(){z.value=!0;try{const l=await R.settings.getRectifierSettings();Object.assign(de,l),Array.isArray(de.apikey_signature_patterns)||(de.apikey_signature_patterns=[])}catch{}finally{z.value=!1}}async function di(){Me.value=!0;try{const l=await R.settings.updateRectifierSettings({enabled:de.enabled,thinking_signature_enabled:de.thinking_signature_enabled,thinking_budget_enabled:de.thinking_budget_enabled,apikey_signature_enabled:de.apikey_signature_enabled,apikey_signature_patterns:de.apikey_signature_patterns.filter(i=>i.trim()!=="")});Object.assign(de,l),Array.isArray(de.apikey_signature_patterns)||(de.apikey_signature_patterns=[]),k.showSuccess(t("admin.settings.rectifier.saved"))}catch(l){k.showError(se(l,t("admin.settings.rectifier.saveFailed")))}finally{Me.value=!1}}const as=H(()=>[{value:"pass",label:t("admin.settings.betaPolicy.actionPass")},{value:"filter",label:t("admin.settings.betaPolicy.actionFilter")},{value:"block",label:t("admin.settings.betaPolicy.actionBlock")}]),ci=H(()=>[{value:"all",label:t("admin.settings.betaPolicy.scopeAll")},{value:"oauth",label:t("admin.settings.betaPolicy.scopeOAuth")},{value:"apikey",label:t("admin.settings.betaPolicy.scopeAPIKey")},{value:"bedrock",label:t("admin.settings.betaPolicy.scopeBedrock")}
12]),ui={"fast-mode-2026-02-01":"Fast Mode","context-1m-2025-08-07":"Context 1M"},ss={"context-1m-2025-08-07":[{label:t("admin.settings.betaPolicy.presetOpusOnly"),description:t("admin.settings.betaPolicy.presetOpusOnlyDesc"),action:"pass",model_whitelist:["claude-opus-4-6"],fallback_action:"filter"}]},mi=["claude-opus-4-6","claude-sonnet-4-6","claude-opus-*","claude-sonnet-*"];function _i(l){return ui[l]||l}function pi(l,i){l.action=i.action,l.model_whitelist=[...i.model_whitelist],l.fallback_action=i.fallback_action}function gi(l,i){l.model_whitelist||(l.model_whitelist=[]),l.model_whitelist.includes(i)||l.model_whitelist.push(i)}async function yi(){Ht.value=!0;try{const l=await R.settings.getBetaPolicySettings();kt.rules=l.rules}catch{}finally{Ht.value=!1}}const bi=H(()=>[{value:"all",label:t("admin.settings.openaiFastPolicy.tierAll")},{value:"priority",label:t("admin.settings.openaiFastPolicy.tierPriority")},{value:"ultrafast",label:t("admin.settings.openaiFastPolicy.tierUltrafast")},{value:"flex",label:t("admin.settings.openaiFastPolicy.tierFlex")}]),ns=H(()=>[{value:"pass",label:t("admin.settings.openaiFastPolicy.actionPass")},{value:"filter",label:t("admin.settings.openaiFastPolicy.actionFilter")},{value:"force_priority",label:t("admin.settings.openaiFastPolicy.actionForcePriority")},{value:"block",label:t("admin.settings.openaiFastPolicy.actionBlock")}]);function is(l){return t(`admin.settings.openaiFastPolicy.summaryAction.${l}`)}function ea(l){var i;return!!((i=l.model_whitelist)!=null&&i.some(y=>y.trim()!==""))}const hi=H(()=>[{value:"all",label:t("admin.settings.openaiFastPolicy.scopeAll")},{value:"oauth",label:t("admin.settings.openaiFastPolicy.scopeOAuth")},{value:"apikey",label:t("admin.settings.openaiFastPolicy.scopeAPIKey")},{value:"bedrock",label:t("admin.settings.openaiFastPolicy.scopeBedrock")}]);function xi(){et.rules.push({service_tier:"priority",action:"filter",scope:"all",user_ids:[],error_message:"",model_whitelist:[],fallback_action:"pass",fallback_error_message:""})}function fi(l){et.rules.splice(l,1)}function ki(l){l.model_whitelist||(l.model_whitelist=[]),l.model_whitelist.push("")}function vi(l,i){var y;(y=l.model_whitelist)==null||y.splice(i,1)}async function wi(){ut.value=!0;try{const l=kt.rules.map(y=>{var _;const o=(_=y.model_whitelist)==null?void 0:_.filter(L=>L.trim()!==""),p=o&&o.length>0;return{beta_token:y.beta_token,action:y.action,scope:y.scope,error_message:y.error_message,model_whitelist:p?o:void 0,fallback_action:p?y.fallback_action||"pass":void 0,fallback_error_message:p&&y.fallback_action==="block"?y.fallback_error_message:void 0}}),i=await R.settings.updateBetaPolicySettings({rules:l});kt.rules=i.rules,k.showSuccess(t("admin.settings.betaPolicy.saved"))}catch(l){k.showError(se(l,t("admin.settings.betaPolicy.saveFailed")))}finally{ut.value=!1}}const ta=H(()=>[{value:"easypay",label:t("payment.methods.easypay")},{value:"alipay",label:t("payment.methods.alipay")},{value:"wxpay",label:t("payment.methods.wxpay")},{value:"stripe",label:t("payment.methods.stripe")},{value:"airwallex",label:t("payment.methods.airwallex")}]);function Ci(l){return n.payment_enabled_types.includes(l)}const Vi=H(()=>n.payment_enabled_types.length>0);function Ui(l){n.payment_enabled_types.includes(l)?(n.payment_enabled_types=n.payment_enabled_types.filter(i=>i!==l),Si(l)):n.payment_enabled_types=[...n.payment_enabled_types,l]}async function Si(l){const i=Vt.value.filter(y=>y.provider_key===l&&y.enabled);for(const y of i)try{await R.payment.updateProvider(y.id,{enabled:!1}),y.enabled=!1}catch(o){Pi("disable provider failed",y.id,o)}}function Pi(...l){console.warn("[payment]",...l)}const aa=V(!1),sa=V(!1),Vt=V([]),gt=V(!1),Ut=V(!1),Ke=V(null),na=V(null),ia=V(null),os=H(()=>[{value:"easypay",label:t("admin.settings.payment.providerEasypay")},{value:"alipay",label:t("admin.settings.payment.providerAlipay")},{value:"wxpay",label:t("admin.settings.payment.providerWxpay")},{value:"stripe",label:t("admin.settings.payment.providerStripe")},{value:"airwallex",label:t("admin.settings.payment.providerAirwallex")}]),ls=H(()=>{const l=n.payment_enabled_types;return os.value.filter(i=>l.includes(i.value))}),$i=H(()=>[{value:"round-robin",label:t("admin.settings.payment.strategyRoundRobin")},{value:"least-amount",label:t("admin.settings.payment.strategyLeastAmount")}]),Ei=H(()=>[{value:"minute",label:t("admin.settings.payment.cancelRateLimitUnitMinute")},{value:"hour",label:t("admin.settings.payment.cancelRateLimitUnitHour")},{value:"day",label:t("admin.settings.payment.cancelRateLimitUnitDay")}]),Ai=H(()=>[{value:"rolling",label:t("admin.settings.payment.cancelRateLimitWindowModeRolling")},{value:"fixed",label:t("admin.settings.payment.cancelRateLimitWindowModeFixed")}]);function rs(l){if(!l.enabled)return[];
12const i=Array.isArray(l.supported_types)?l.supported_types:[],y=new Set,o=p=>{const _=xa(p);(_==="alipay"||_==="wxpay")&&y.add(_)};return l.provider_key==="alipay"?i.length===0?y.add("alipay"):i.forEach(p=>{xa(p)==="alipay"&&y.add("alipay")}):l.provider_key==="wxpay"?i.length===0?y.add("wxpay"):i.forEach(p=>{xa(p)==="wxpay"&&y.add("wxpay")}):l.provider_key==="easypay"&&i.forEach(o),Array.from(y)}function oa(l){const i=rs(l);if(i.length===0)return null;for(const y of Vt.value){if(y.id===l.id||!y.enabled)continue;const o=rs(y),p=i.find(_=>o.includes(_));if(p)return{method:p,conflicting:y}}return null}function la(l){k.showError(t("admin.settings.payment.enableConflict",{method:t(`payment.methods.${l.method}`),provider:l.conflicting.name}))}async function Ye(){aa.value=!0;try{const l=await R.payment.getProviders();Vt.value=(l.data||[]).map(i=>({...i,supported_types:Array.isArray(i.supported_types)?i.supported_types:[]}))}catch(l){k.showError(rt(l,t,"payment.errors",t("common.error")))}finally{aa.value=!1}}function Ti(){var l,i;Ke.value=null,(i=ia.value)==null||i.reset(((l=ls.value[0])==null?void 0:l.value)||"easypay"),gt.value=!0}function Fi(l){var i;Ke.value=l,(i=ia.value)==null||i.loadProvider(l),gt.value=!0}async function Mi(l){var i,y,o,p,_;sa.value=!0;try{const L={id:((i=Ke.value)==null?void 0:i.id)??0,provider_key:l.provider_key??((y=Ke.value)==null?void 0:y.provider_key)??"",supported_types:l.supported_types??((o=Ke.value)==null?void 0:o.supported_types)??[],enabled:l.enabled??((p=Ke.value)==null?void 0:p.enabled)??!1,name:l.name??((_=Ke.value)==null?void 0:_.name)??""},xe=oa(L);if(xe){la(xe);return}Ke.value?await R.payment.updateProvider(Ke.value.id,l):await R.payment.createProvider(l),gt.value=!1,await Ye(),await Xa()}catch(L){k.showError(rt(L,t,"payment.errors",t("common.error")))}finally{sa.value=!1}}async function Li(l,i){let y;if(i==="enabled"?y=!l.enabled:i==="refund_enabled"?y=!l.refund_enabled:y=!l.allow_user_refund,i==="enabled"&&y){const p=oa({id:l.id,provider_key:l.provider_key,supported_types:l.supported_types,enabled:!0,name:l.name});if(p){la(p);return}}const o={[i]:y};i==="refund_enabled"&&!y&&(o.allow_user_refund=!1);try{await R.payment.updateProvider(l.id,o),await Ye()}catch(p){k.showError(rt(p,t,"payment.errors",t("common.error")))}}async function Ri(l,i){const y=Array.isArray(l.supported_types)?l.supported_types:[],o=y.includes(i)?y.filter(_=>_!==i):[...y,i],p=oa({id:l.id,provider_key:l.provider_key,supported_types:o,enabled:l.enabled,name:l.name});if(p){la(p);return}try{await R.payment.updateProvider(l.id,{supported_types:o}),await Ye()}catch(_){k.showError(rt(_,t,"payment.errors",t("common.error")))}}function Hi(l){na.value=l.id,Ut.value=!0}async function Di(l){try{await Promise.all(l.map(i=>R.payment.updateProvider(i.id,{sort_order:i.sort_order}))),await Ye()}catch(i){k.showError(rt(i,t,"payment.errors",t("common.error"))),Ye()}}async function ji(){if(na.value)try{await R.payment.deleteProvider(na.value),k.showSuccess(t("common.deleted")),Ut.value=!1,Ye()}catch(l){k.showError(rt(l,t,"payment.errors",t("common.error")))}}Rt(()=>{zn(),On(),Gn(),Zn(),Xn(),ei(),ni(),ai(),oi(),ri(),yi(),Ye()});const O=me({loading:!1,entries:[],total:0,page:1,pageSize:20,search:"",selected:[],searchTimer:null}),j=me({open:!1,mode:"add",saving:!1,userQuery:"",userResults:[],selectedUser:null,editingEntry:null,code:"",rate:"",searchTimer:null}),Le=me({open:!1,saving:!1,rate:""}),Ae=me({show:!1,title:"",message:"",confirmText:"",pending:null});function zi(l,i,y,o){Ae.title=l,Ae.message=i,Ae.confirmText=y,Ae.pending=o,Ae.show=!0}async function Oi(){const l=Ae.pending;if(Ae.show=!1,Ae.pending=null,!!l)try{await l(),k.showSuccess(t("common.saved")),await ot()}catch(i){k.showError(se(i,t("common.error")))}}function Bi(){Ae.show=!1,Ae.pending=null}function ds(l,i,y){l.searchTimer!=null&&window.clearTimeout(l.searchTimer),l.searchTimer=window.setTimeout(y,i)}function cs(l){const i=String(l??"").trim();if(i==="")return null;const y=Number(i);if(Number.isNaN(y)||y<0||y>100){k.showError(t("admin.settings.features.affiliate.modal.errorBadRate"));return}return y}async function ot(){O.loading=!0;try{const l=await bt.listUsers({page:O.page,page_size:O.pageSize,search:O.search});O.entries=l.items??[],O.total=l.total??0;const i=new Set(O.entries.map(y=>
12y.user_id));O.selected=O.selected.filter(y=>i.has(y))}catch(l){k.showError(se(l,t("common.error")))}finally{O.loading=!1}}function Ii(){ds(O,300,()=>{O.page=1,ot()})}function us(l){l<1||(O.page=l,ot())}function qi(l){const i=l.target.checked;O.selected=i?O.entries.map(y=>y.user_id):[]}function Ni(l){const i=O.selected.indexOf(l);i>=0?O.selected.splice(i,1):O.selected.push(l)}function ms(l){j.open=!0,j.mode=l?"edit":"add",j.userQuery="",j.userResults=[],j.selectedUser=null,j.editingEntry=l,j.code=l!=null&&l.aff_code_custom?l.aff_code:"",j.rate=(l==null?void 0:l.aff_rebate_rate_percent)!=null?String(l.aff_rebate_rate_percent):""}function ra(){j.open=!1,j.searchTimer!=null&&(window.clearTimeout(j.searchTimer),j.searchTimer=null)}function Wi(){const l=j.userQuery.trim();if(!l){j.userResults=[];return}ds(j,300,async()=>{try{j.userResults=await bt.lookupUsers(l)}catch(i){k.showError(se(i,t("common.error")))}})}function Ki(l){j.selectedUser=l,j.userQuery="",j.userResults=[]}function Gi(){j.selectedUser=null}const da=H(()=>{var y;if(j.mode==="add"){if(!j.selectedUser)return!1}else if(!j.editingEntry)return!1;const l=j.code.trim()!=="",i=String(j.rate??"").trim()!=="";return l||i?!0:j.mode==="edit"&&((y=j.editingEntry)==null?void 0:y.aff_rebate_rate_percent)!=null});async function Qi(){var p;if(!da.value){k.showError(t("admin.settings.features.affiliate.modal.errorEmpty"));return}let l;j.mode==="add"?l=j.selectedUser.id:l=j.editingEntry.user_id;const i={},y=j.code.trim();y&&(i.aff_code=y.toUpperCase());const o=cs(j.rate);if(o!==void 0){o===null?j.mode==="edit"&&((p=j.editingEntry)==null?void 0:p.aff_rebate_rate_percent)!=null&&(i.clear_rebate_rate=!0):i.aff_rebate_rate_percent=o,j.saving=!0;try{await bt.updateUserSettings(l,i),k.showSuccess(t("common.saved")),ra(),O.page=1,await ot()}catch(_){k.showError(se(_,t("common.error")))}finally{j.saving=!1}}}function Yi(l){zi(t("admin.settings.features.affiliate.customUsers.resetTitle"),t("admin.settings.features.affiliate.customUsers.resetMessage",{email:l.email||`#${l.user_id}`}),t("common.delete"),()=>bt.clearUserSettings(l.user_id))}function Ji(){O.selected.length!==0&&(Le.open=!0,Le.rate="")}async function Zi(){const l=cs(Le.rate);if(l===void 0)return;const i=[...O.selected],y=l===null?{user_ids:i,clear:!0}:{user_ids:i,aff_rebate_rate_percent:l};Le.saving=!0;try{await bt.batchSetRate(y),k.showSuccess(t("common.saved")),Le.open=!1,O.selected=[],await ot()}catch(o){k.showError(se(o,t("common.error")))}finally{Le.saving=!1}}return ft(()=>n.affiliate_enabled,(l,i)=>{l&&!i&&ot()}),ft(()=>n.dingtalk_connect_corp_restriction_policy,l=>{l!=="internal_only"&&(n.dingtalk_connect_bypass_registration&&(n.dingtalk_connect_bypass_registration=!1),n.dingtalk_connect_sync_corp_email&&(n.dingtalk_connect_sync_corp_email=!1),n.dingtalk_connect_sync_display_name&&(n.dingtalk_connect_sync_display_name=!1),n.dingtalk_connect_sync_dept&&(n.dingtalk_connect_sync_dept=!1))}),(l,i)=>{const y=ao("router-link");return r(),Be(_o,null,{default:Pe(()=>[e("div",nm,[ee.value?(r(),d("div",im,[...i[246]||(i[246]=[e("div",{class:"h-8 w-8 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)])])):(r(),d("form",{key:1,onSubmit:Oe(Xa,["prevent"]),class:"space-y-6",novalidate:""},[e("div",om,[e("nav",{class:"settings-tabs-scroll",role:"tablist","aria-label":a(t)("admin.settings.title")},[e("div",rm,[(r(),d(M,null,B(F,o=>e("button",{key:o.key,id:`settings-tab-${o.key}`,type:"button",role:"tab","aria-selected":U.value===o.key,tabindex:U.value===o.key?0:-1,class:q(["settings-tab",U.value===o.key&&"settings-tab-active"]),onClick:p=>W(o.key),onKeydown:p=>G(p,o.key)},[e("span",cm,[h(ie,{name:o.icon,size:"sm"},null,8,["name"])]),e("span",um,s(a(t)(`admin.settings.tabs.${o.key}`)),1)],42,dm)),64))])],8,lm)]),m(e("div",mm,[e("div",_m,[e("div",pm,[e("h2",gm,s(a(t)("admin.settings.adminApiKey.title")),1),e("p",ym,s(a(t)("admin.settings.adminApiKey.description")),1)]),e("div",bm,[e("div",hm,[e("div",xm,[h(ie,{name:"exclamationTriangle",size:"md",class:"mt-0.5 flex-shrink-0 text-amber-500"}),e("p",fm,s(a(t)("admin.settings.adminApiKey.securityWarning")),1)])]),$e.value?(r(),d("div",km,[i[247]||(i[247]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),T(" "+s(a(t)("common.loading")),1)])):ke.value?(r(),d("div",Um,[e("div",Sm,[e("div",null,[e("label",Pm,s(a(t)("admin.settings.adminApiKey.currentKey")),1),e("code",$m,s(ge.value),1)]),e("div",Em,[e("button",{type:"button",onClick:Qn,disabled:be.value,class:"btn btn-secondary btn-sm"},s(be.value?a(t)("admin.settings.adminApiKey.regenerating"):a(t)("admin.settings.adminApiKey.regenerate")),9,Am),e("button",{type:"button",onClick:Yn,disabled:be.value,class:"btn btn-secondary btn-sm text-red-600 hover:text-red-700 dark:text-red-400"},s(a(t)("admin.settings.adminApiKey.delete")),9,Tm)])]),Re.value?(r(),d("div",Fm,[e("p",Mm,s(a(t)("admin.settings.adminApiKey.keyWarning")),1),e("div",Lm,[e("code",Rm,s(Re.value),1),e("button",{type:"button",onClick:Jn,class:"btn btn-primary btn-sm flex-shrink-0"},s(a(t)("admin.settings.adminApiKey.copyKey")),1)]),e("p",Hm,s(a(t)("admin.settings.adminApiKey.usage")),1)])):x("",!0)])):(r(),d("div",vm,[e("span",wm,s(a(t)("admin.settings.adminApiKey.notConfigured")),1),e("button",{type:"button",onClick:es,disabled:be.value,class:"btn btn-primary btn-sm"},[be.value?(r(),d("svg",Vm,[...i[248]||(i[248]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):x("",!0),T(" "+s(be.value?a(t)("admin.settings.adminApiKey.creating"):a(t)("admin.settings.adminApiKey.create")),1)],8,Cm)
12]))])])],512),[[Te,U.value==="security"]]),m(e("div",Dm,[e("div",jm,[e("div",zm,[e("h2",Om,s(a(t)("admin.settings.overloadCooldown.title")),1),e("p",Bm,s(a(t)("admin.settings.overloadCooldown.description")),1)]),e("div",Im,[we.value?(r(),d("div",qm,[i[249]||(i[249]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),T(" "+s(a(t)("common.loading")),1)])):(r(),d(M,{key:1},[e("div",Nm,[e("div",null,[e("label",Wm,s(a(t)("admin.settings.overloadCooldown.enabled")),1),e("p",Km,s(a(t)("admin.settings.overloadCooldown.enabledHint")),1)]),h(S,{modelValue:Se.enabled,"onUpdate:modelValue":i[0]||(i[0]=o=>Se.enabled=o)},null,8,["modelValue"])]),Se.enabled?(r(),d("div",Gm,[e("div",null,[e("label",Qm,s(a(t)("admin.settings.overloadCooldown.cooldownMinutes")),1),m(e("input",{"onUpdate:modelValue":i[1]||(i[1]=o=>Se.cooldown_minutes=o),type:"number",min:"1",max:"120",class:"input w-32"},null,512),[[b,Se.cooldown_minutes,void 0,{number:!0}]]),e("p",Ym,s(a(t)("admin.settings.overloadCooldown.cooldownMinutesHint")),1)])])):x("",!0),e("div",Jm,[e("button",{type:"button",onClick:ti,disabled:Ee.value,class:"btn btn-primary btn-sm"},[Ee.value?(r(),d("svg",Xm,[...i[250]||(i[250]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):x("",!0),T(" "+s(Ee.value?a(t)("common.saving"):a(t)("common.save")),1)],8,Zm)])],64))])]),e("div",e_,[e("div",t_,[e("h2",a_,s(a(t)("admin.settings.rateLimit429Cooldown.title")),1),e("p",s_,s(a(t)("admin.settings.rateLimit429Cooldown.description")),1)]),e("div",n_,[De.value?(r(),d("div",i_,[i[251]||(i[251]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),T(" "+s(a(t)("common.loading")),1)])):(r(),d(M,{key:1},[e("div",o_,[e("div",null,[e("label",l_,s(a(t)("admin.settings.rateLimit429Cooldown.enabled")),1),e("p",r_,s(a(t)("admin.settings.rateLimit429Cooldown.enabledHint")),1)]),h(S,{modelValue:E.enabled,"onUpdate:modelValue":i[2]||(i[2]=o=>E.enabled=o)},null,8,["modelValue"])]),E.enabled?(r(),d("div",d_,[e("div",null,[e("label",c_,s(a(t)("admin.settings.rateLimit429Cooldown.cooldownSeconds")),1),m(e("input",{"onUpdate:modelValue":i[3]||(i[3]=o=>E.cooldown_seconds=o),type:"number",min:"1",max:"7200",class:"input w-32"},null,512),[[b,E.cooldown_seconds,void 0,{number:!0}]]),e("p",u_,s(a(t)("admin.settings.rateLimit429Cooldown.cooldownSecondsHint")),1)])])):x("",!0),e("div",m_,[e("button",{type:"button",onClick:ii,disabled:P.value,class:"btn btn-primary btn-sm"},[P.value?(r(),d("svg",p_,[...i[252]||(i[252]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):x("",!0),T(" "+s(P.value?a(t)("common.saving"):a(t)("common.save")),1)],8,__)])],64))])]),e("div",g_,[e("div",y_,[e("h2",b_,s(a(t)("admin.settings.streamTimeout.title")),1),e("p",h_,s(a(t)("admin.settings.streamTimeout.description")),1)]),e("div",x_,[u.value?(r(),d("div",f_,[i[253]||(i[253]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),T(" "+s(a(t)("common.loading")),1)])):(r(),d(M,{key:1},[e("div",k_,[e("div",null,[e("label",v_,s(a(t)("admin.settings.streamTimeout.enabled")),1),e("p",w_,s(a(t)("admin.settings.streamTimeout.enabledHint")),1)]),h(S,{modelValue:g.enabled,"onUpdate:modelValue":i[4]||(i[4]=o=>g.enabled=o)},null,8,["modelValue"])]),g.enabled?(r(),d("div",C_,[e("div",null,[e("label",V_,s(a(t)("admin.settings.streamTimeout.action")),1),m(e("select",{"onUpdate:modelValue":i[5]||(i[5]=o=>g.action=o),class:"input w-64"},[e("option",U_,s(a(t)("admin.settings.streamTimeout.actionTempUnsched")),1),e("option",S_,s(a(t)("admin.settings.streamTimeout.actionError")),1),e("option",P_,s(a(t)("admin.settings.streamTimeout.actionNone")),1)],512),[[Je,g.action]]),e("p",$_,s(a(t)("admin.settings.streamTimeout.actionHint")),1)]),g.action==="temp_unsched"?(r(),d("div",E_,[e("label",A_,s(a(t)("admin.settings.streamTimeout.tempUnschedMinutes")),1),m(e("input",{"onUpdate:modelValue":i[6]||(i[6]=o=>g.temp_unsched_minutes=o),type:"number",min:"1",max:"60",class:"input w-32"},null,512),[[b,g.temp_unsched_minutes,void 0,{number:!0}]]),e("p",T_,s(a(t)("admin.settings.streamTimeout.tempUnschedMinutesHint")),1)])):x("",!0),e("div",null,[e("label",F_,s(a(t)("admin.settings.streamTimeout.thresholdCount")),1),m(e("input",{"onUpdate:modelValue":i[7]||(i[7]=o=>g.threshold_count=o),type:"number",min:"1",max:"10",class:"input w-32"},null,512),[[b,g.threshold_count,void 0,{number:!0}]]),e("p",M_,s(a(t)("admin.settings.streamTimeout.thresholdCountHint")),1)]),e("div",null,[e("label",L_,s(a(t)("admin.settings.streamTimeout.thresholdWindowMinutes")),1),m(e("input",{"onUpdate:modelValue":i[8]||(i[8]=o=>g.threshold_window_minutes=o),type:"number",min:"1",max:"60",class:"input w-32"},null,512),[[b,g.threshold_window_minutes,void 0,{number:!0}]]),e("p",R_,s(a(t)("admin.settings.streamTimeout.thresholdWindowMinutesHint")),1)])])):x("",!0),e("div",H_,[e("button",{type:"button",onClick:li,disabled:c.value,class:"btn btn-primary btn-sm"},[c.value?(r(),d("svg",j_,[...i[254]||(i[254]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):x("",!0),T(" "+s(c.value?a(t)("common.saving"):a(t)("common.save")),1)],8,D_)])],64))])]),e("div",z_,[e("div",O_,[e("h2",B_,s(a(t)("admin.settings.rectifier.title")),1),e("p",I_,s(a(t)("admin.settings.rectifier.description")),1)]),e("div",q_,[z.value?(r(),d("div",N_,[i[255]||(i[255]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),T(" "+s(a(t)("common.loading")),1)])):(r(),d(M,{key:1},[e("div",W_,[e("div",null,[e("label",K_,s(a(t)("admin.settings.rectifier.enabled")),1),e("p",G_,s(a(t)("admin.settings.rectifier.enabledHint")),1)]),h(S,{modelValue:de.enabled,"onUpdate:modelValue":i[9]||(i[9]=o=>de.enabled=o)},null,8,["modelValue"])]),de.enabled?(r(),d("div",Q_,[e("div",Y_,[e("div",null,[e("label",J_,s(a(t)("admin.settings.rectifier.thinkingSignature")),1),e("p",Z_,s(a(t)("admin.settings.rectifier.thinkingSignatureHint")),1)]),h(S,{modelValue:de.thinking_signature_enabled,"onUpdate:modelValue":i[10]||(i[10]=o=>de.thinking_signature_enabled=o)},null,8,["modelValue"])]),e("div",X_,[e("div",null,[e("label",ep,s(a(t)("admin.settings.rectifier.thinkingBudget")),1),e("p",tp,s(a(t)("admin.settings.rectifier.thinkingBudgetHint")),1)]),h(S,{modelValue:de.thinking_budget_enabled,"onUpdate:modelValue":i[11]||(i[11]=o=>de.thinking_budget_enabled=o)},null,8,["modelValue"])]),e("div",ap,[e("div",null,[e("label",sp,s(a(t)("admin.settings.rectifier.apikeySignature")),1),e("p",np,s(a(t)("admin.settings.rectifier.apikeySignatureHint")),1)]),h(S,{modelValue:de.apikey_signature_enabled,"onUpdate:modelValue":i[12]||(i[12]=o=>de.apikey_signature_enabled=o)},null,8,["modelValue"])]),de.apikey_signature_enabled?(r(),d("div",ip,[e("div",null,[e("label",op,s(a(t)("admin.settings.rectifier.apikeyPatterns")),1),e("p",lp,s(a(t)("admin.settings.rectifier.apikeyPatternsHint")),1)]),(r(!0),d(M,null,B(de.apikey_signature_patterns,(o,p)=>(r(),d("div",{key:p,class:"flex items-center gap-2"},[m(e("input",{"onUpdate:modelValue":_=>de.apikey_signature_patterns[p]=_,type:"text",class:"input input-sm flex-1",placeholder:a(t)("admin.settings.rectifier.apikeyPatternPlaceholder")},null,8,rp),[[b,de.apikey_signature_patterns[p]]]),e("button",{type:"button",onClick:_=>de.apikey_signature_patterns.splice(p,1),class:"btn btn-ghost btn-xs text-red-500 hover:text-red-700"},[...i[256]||(i[256]=[e("svg",{class:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])],8,dp)]))),128)),e("button",{type:"button",onClick:i[13]||(i[13]=o=>de.apikey_signature_patterns.push("")),class:"btn btn-ghost btn-xs text-primary-600 dark:text-primary-400"}," + "+s(a(t)("admin.settings.rectifier.addPattern")),1)])):x("",!0)])):x("",!0),e("div",cp,[e("button",{type:"button",onClick:di,disabled:Me.value,class:"btn btn-primary btn-sm"},[Me.value?(r(),d("svg",mp,[...i[257]||(i[257]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):x("",!0),T(" "+s(Me.value?a(t)("common.saving"):a(t)("common.save")),1)],8,up)])],64))])]),e("div",_p,[e("div",pp,[e("h2",gp,s(a(t)("admin.settings.betaPolicy.title")),1),e("p",yp,s(a(t)("admin.settings.betaPolicy.description")),1)]),e("div",bp,[Ht.value?(r(),d("div",hp,[i[258]||(i[258]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),T(" "+s(a(t)("common.loading")),1)])):(r(),d(M,{key:1},[(r(!0),d(M,null,B(kt.rules,o=>{var p;return r(),d("div",{key:o.beta_token,class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},[e("div",xp,[e("span",fp,s(_i(o.beta_token)),1),e("span",kp,s(o.beta_token),1)]),e("div",vp,[e("div",null,[e("label",wp,s(a(t)("admin.settings.betaPolicy.action")),1),h(fe,{modelValue:o.action,"onUpdate:modelValue":_=>o.action=_,options:as.value},null,8,["modelValue","onUpdate:modelValue","options"])]),e("div",null,[e("label",Cp,s(a(t)("admin.settings.betaPolicy.scope")),1),h(fe,{modelValue:o.scope,"onUpdate:modelValue":_=>o.scope=_,options:ci.value},null,8,["modelValue","onUpdate:modelValue","options"])])]),o.action==="block"?(r(),d("div",Vp,[e("label",Up,s(a(t)("admin.settings.betaPolicy.errorMessage")),1),m(e("input",{"onUpdate:modelValue":_=>o.error_message=_,type:"text",class:"input",placeholder:a(t)("admin.settings.betaPolicy.errorMessagePlaceholder")},null,8,Sp),[[b,o.error_message]]),e("p",Pp,s(a(t)("admin.settings.betaPolicy.errorMessageHint")),1)])):x("",!0),(p=ss[o.beta_token])!=null&&p.length?(r(),d("div",$p,[e("label",Ep,s(a(t)("admin.settings.betaPolicy.quickPresets")),1),e("div",Ap,[(r(!0),d(M,null,B(ss[o.beta_token],_=>(r(),d("button",{key:_.label,type:"button",class:"inline-flex items-center gap-1 rounded-md border border-primary-200 bg-primary-50 px-2.5 py-1 text-xs font-medium text-primary-700 transition-colors hover:bg-primary-100 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-300 dark:hover:bg-primary-900/50",onClick:L=>pi(o,_),title:_.description},s(_.label),9,Tp))),128))])])):x("",!0),e("div",Fp,[e("label",Mp,s(a(t)("admin.settings.betaPolicy.modelWhitelist")),1),e("p",Lp,s(a(t)("admin.settings.betaPolicy.modelWhitelistHint")),1),(r(!0),d(M,null,B(o.model_whitelist||[],(_,L)=>(r(),d("div",{key:L,class:"mb-1.5 flex items-center gap-2"},[m(e("input",{"onUpdate:modelValue":xe=>o.model_whitelist[L]=xe,type:"text",class:"input input-sm flex-1",placeholder:a(t)("admin.settings.betaPolicy.modelPatternPlaceholder")},null,8,Rp),[[b,o.model_whitelist[L]]]),e("button",{type:"button",onClick:xe=>o.model_whitelist.splice(L,1),class:"shrink-0 rounded p-1 text-red-400 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20"},[...i[259]||(i[259]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1)])],8,Hp)]))),128)),e("button",{type:"button",onClick:_=>{o.model_whitelist||(o.model_whitelist=[]),o.model_whitelist.push("")},class:"mb-2 inline-flex items-center gap-1 text-xs text-primary-600 transition-colors hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-300"},[i[260]||(i[260]=e("svg",{class:"h-3.5 w-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4v16m8-8H4"})],-1)),T(" "+s(a(t)("admin.settings.betaPolicy.addModelPattern")),1)],8,Dp),e("div",jp,[e("span",zp,s(a(t)("admin.settings.betaPolicy.commonPatterns"))+":",1),(r(),d(M,null,B(mi,_=>e("button",{key:_,type:"button",class:"rounded border border-gray-200 px-2 py-0.5 text-xs text-gray-600 transition-colors hover:border-primary-300 hover:bg-primary-50 hover:text-primary-700 dark:border-dark-600 dark:text-gray-400 dark:hover:border-primary-700 dark:hover:bg-primary-900/30 dark:hover:text-primary-300",onClick:L=>gi(o,_)},s(_),9,Op)),64))])]),o.model_whitelist&&o.model_whitelist.length>0?(r(),d("div",Bp,[e("label",Ip,s(a(t)("admin.settings.betaPolicy.fallbackAction")),1),h(fe,{modelValue:o.fallback_action||"pass","onUpdate:modelValue":_=>o.fallback_action=_,options:as.value},null,8,["modelValue","onUpdate:modelValue","options"]),e("p",qp,s(a(t)("admin.settings.betaPolicy.fallbackActionHint")),1),o.fallback_action==="block"?(r(),d("div",Np,[m(e("input",{"onUpdate:modelValue":_=>o.fallback_error_message=_,type:"text",class:"input",placeholder:a(t)("admin.settings.betaPolicy.fallbackErrorMessagePlaceholder")},null,8,Wp),[[b,o.fallback_error_message]]),e("p",Kp,s(a(t)("admin.settings.betaPolicy.errorMessageHint")),1)])):x("",!0)])):x("",!0)])}),128)),e("div",Gp,[e("button",{type:"button",onClick:wi,disabled:ut.value,class:"btn btn-primary btn-sm"},[ut.value?(r(),d("svg",Yp,[...i[261]||(i[261]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):x("",!0),T(" "+s(ut.value?a(t)("common.saving"):a(t)("common.save")),1)],8,Qp)])],64))])]),e("div",Jp,[e("div",Zp,[e("h2",Xp,s(a(t)("admin.settings.open
12aiFastPolicy.title")),1),e("p",e0,s(a(t)("admin.settings.openaiFastPolicy.description")),1)]),e("div",t0,[et.rules.length===0?(r(),d("div",a0,s(a(t)("admin.settings.openaiFastPolicy.empty")),1)):x("",!0),(r(!0),d(M,null,B(et.rules,(o,p)=>(r(),d("div",{key:p,class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},[e("div",s0,[e("span",n0,s(a(t)("admin.settings.openaiFastPolicy.ruleHeader",{index:p+1})),1),e("button",{type:"button",onClick:_=>fi(p),class:"rounded p-1 text-red-400 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20",title:a(t)("admin.settings.openaiFastPolicy.removeRule")},[...i[262]||(i[262]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1)])],8,i0)]),e("div",{class:"mb-4 flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-gray-500 dark:text-gray-400","data-testid":`openai-fast-policy-summary-${p}`},[e("span",l0,s(a(t)(ea(o)?"admin.settings.openaiFastPolicy.summaryTargetModels":"admin.settings.openaiFastPolicy.summaryAllModels")),1),i[265]||(i[265]=e("span",{"aria-hidden":"true"},"â",-1)),e("span",r0,s(is(o.action)),1),ea(o)?(r(),d(M,{key:0},[i[263]||(i[263]=e("span",{"aria-hidden":"true"},"·",-1)),e("span",d0,s(a(t)("admin.settings.openaiFastPolicy.summaryOtherModels")),1),i[264]||(i[264]=e("span",{"aria-hidden":"true"},"â",-1)),e("span",c0,s(is(o.fallback_action||"pass")),1)],64)):x("",!0)],8,o0),e("div",u0,[e("div",null,[e("label",m0,s(a(t)("admin.settings.openaiFastPolicy.serviceTier")),1),h(fe,{modelValue:o.service_tier,"onUpdate:modelValue":_=>o.service_tier=_,options:bi.value},null,8,["modelValue","onUpdate:modelValue","options"])]),e("div",null,[e("label",_0,s(a(t)("admin.settings.openaiFastPolicy.action")),1),h(fe,{modelValue:o.action,"onUpdate:modelValue":_=>o.action=_,options:ns.value},null,8,["modelValue","onUpdate:modelValue","options"])]),e("div",null,[e("label",p0,s(a(t)("admin.settings.openaiFastPolicy.scope")),1),h(fe,{modelValue:o.scope,"onUpdate:modelValue":_=>o.scope=_,options:hi.value},null,8,["modelValue","onUpdate:modelValue","options"])])]),e("div",g0,[e("label",y0,s(a(t)("admin.settings.openaiFastPolicy.userIds")),1),e("p",b0,s(a(t)("admin.settings.openaiFastPolicy.userIdsHint")),1),h(Xu,{"model-value":o.user_ids||[],"onUpdate:modelValue":_=>o.user_ids=_},null,8,["model-value","onUpdate:modelValue"])]),o.action==="block"?(r(),d("div",h0,[e("label",x0,s(a(t)("admin.settings.openaiFastPolicy.errorMessage")),1),m(e("input",{"onUpdate:modelValue":_=>o.error_message=_,type:"text",class:"input",placeholder:a(t)("admin.settings.openaiFastPolicy.errorMessagePlaceholder")},null,8,f0),[[b,o.error_message]]),e("p",k0,s(a(t)("admin.settings.openaiFastPolicy.errorMessageHint")),1)])):x("",!0),e("div",{class:"mt-3",role:"group","aria-labelledby":`openai-fast-policy-models-label-${p}`,"aria-describedby":`openai-fast-policy-models-hint-${p}`},[e("label",{id:`openai-fast-policy-models-label-${p}`,class:"mb-1 block text-xs font-medium text-gray-600 dark:text-gray-400"},s(a(t)("admin.settings.openaiFastPolicy.modelWhitelist")),9,w0),e("p",{id:`openai-fast-policy-models-hint-${p}`,class:"mb-2 text-xs text-gray-400 dark:text-gray-500"},s(a(t)("admin.settings.openaiFastPolicy.modelWhitelistHint")),9,C0),(r(!0),d(M,null,B(o.model_whitelist||[],(_,L)=>(r(),d("div",{key:L,class:"mb-1.5 flex items-center gap-2"},[m(e("input",{"onUpdate:modelValue":xe=>o.model_whitelist[L]=xe,type:"text",class:"input input-sm flex-1",placeholder:a(t)("admin.settings.openaiFastPolicy.modelPatternPlaceholder")},null,8,V0),[[b,o.model_whitelist[L]]]),e("button",{type:"button",onClick:xe=>vi(o,L),class:"shrink-0 rounded p-1 text-red-400 transition-colors hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20"},[...i[266]||(i[266]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1)])],8,U0)]))),128)),e("button",{type:"button",onClick:_=>ki(o),class:"mb-2 inline-flex items-center gap-1 text-xs text-primary-600 transition-colors hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-300"},[i[267]||(i[267]=e("svg",{class:"h-3.5 w-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4v16m8-8H4"}
12)],-1)),T(" "+s(a(t)("admin.settings.openaiFastPolicy.addModelPattern")),1)],8,S0)],8,v0),ea(o)?(r(),d("div",P0,[e("label",$0,s(a(t)("admin.settings.openaiFastPolicy.fallbackAction")),1),h(fe,{modelValue:o.fallback_action||"pass","onUpdate:modelValue":_=>o.fallback_action=_,options:ns.value},null,8,["modelValue","onUpdate:modelValue","options"]),e("p",E0,s(a(t)("admin.settings.openaiFastPolicy.fallbackActionHint")),1),o.fallback_action==="block"?(r(),d("div",A0,[m(e("input",{"onUpdate:modelValue":_=>o.fallback_error_message=_,type:"text",class:"input",placeholder:a(t)("admin.settings.openaiFastPolicy.fallbackErrorMessagePlaceholder")},null,8,T0),[[b,o.fallback_error_message]])])):x("",!0)])):x("",!0)]))),128)),e("div",null,[e("button",{type:"button",onClick:xi,class:"btn btn-secondary btn-sm inline-flex items-center gap-1"},[i[268]||(i[268]=e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4v16m8-8H4"})],-1)),T(" "+s(a(t)("admin.settings.openaiFastPolicy.addRule")),1)]),e("p",F0,s(a(t)("admin.settings.openaiFastPolicy.saveHint")),1)])])])],512),[[Te,U.value==="gateway"]]),m(e("div",M0,[e("div",L0,[e("div",R0,[e("h2",H0,s(a(t)("admin.settings.registration.title")),1),e("p",D0,s(a(t)("admin.settings.registration.description")),1)]),e("div",j0,[e("div",z0,[e("div",null,[e("label",O0,s(a(t)("admin.settings.registration.enableRegistration")),1),e("p",B0,s(a(t)("admin.settings.registration.enableRegistrationHint")),1)]),h(S,{modelValue:n.registration_enabled,"onUpdate:modelValue":i[14]||(i[14]=o=>n.registration_enabled=o)},null,8,["modelValue"])]),e("div",I0,[e("div",null,[e("label",q0,s(a(t)("admin.settings.registration.emailVerification")),1),e("p",N0,s(a(t)("admin.settings.registration.emailVerificationHint")),1)]),h(S,{modelValue:n.email_verify_enabled,"onUpdate:modelValue":i[15]||(i[15]=o=>n.email_verify_enabled=o)},null,8,["modelValue"])]),e("div",W0,[e("label",K0,s(a(t)("admin.settings.registration.emailSuffixWhitelist")),1),e("p",G0,s(a(t)("admin.settings.registration.emailSuffixWhitelistHint")),1),e("div",Q0,[e("div",Y0,[(r(!0),d(M,null,B(I.value,o=>(r(),d("span",{key:o,class:"inline-flex items-center gap-1 rounded bg-gray-100 px-2 py-1 text-xs font-mono text-gray-700 dark:bg-dark-600 dark:text-gray-200"},[e("span",null,s(o),1),e("button",{type:"button",class:"rounded-full text-gray-500 hover:bg-gray-200 hover:text-gray-700 dark:text-gray-300 dark:hover:bg-dark-500 dark:hover:text-white",onClick:p=>cn(o)},[h(ie,{name:"x",size:"xs",class:"h-3.5 w-3.5","stroke-width":2})],8,J0)]))),128)),e("div",Z0,[m(e("input",{"onUpdate:modelValue":i[16]||(i[16]=o=>re.value=o),type:"text",class:"w-full bg-transparent text-sm font-mono text-gray-900 outline-none placeholder:text-gray-400 dark:text-white dark:placeholder:text-gray-500",placeholder:a(t)("admin.settings.registration.emailSuffixWhitelistPlaceholder"),onInput:i[17]||(i[17]=(...o)=>ja&&ja(...o)),onKeydown:i[18]||(i[18]=(...o)=>za&&za(...o)),onBlur:Da,onPaste:un},null,40,X0),[[b,re.value]])])])]),e("p",eg,s(a(t)("admin.settings.registration.emailSuffixWhitelistInputHint")),1)]),e("div",tg,[e("div",null,[e("label",ag,s(a(t)("admin.settings.registration.emailDomainQuota")),1),e("p",sg,s(a(t)("admin.settings.registration.emailDomainQuotaHint")),1)]),h(S,{modelValue:n.registration_email_domain_quota_enabled,"onUpdate:modelValue":i[19]||(i[19]=o=>n.registration_email_domain_quota_enabled=o)},null,8,["modelValue"])]),e("div",ng,[e("div",null,[e("label",ig,s(a(t)("admin.settings.registration.promoCode")),1),e("p",og,s(a(t)("admin.settings.registration.promoCodeHint")),1)]),h(S,{modelValue:n.promo_code_enabled,"onUpdate:modelValue":i[20]||(i[20]=o=>n.promo_code_enabled=o)},null,8,["modelValue"])]),e("div",lg,[e("div",null,[e("label",rg,s(a(t)("admin.settings.registration.invitationCode")),1),e("p",dg,s(a(t)("admin.settings.registration.invitationCodeHint")),1)]),h(S,{modelValue:n.invitation_code_enabled,"onUpdate:modelValue":i[21]||(i[21]=o=>n.invitation_code_enabled=o)},null,8,["modelValue"])]),n.email_verify_enabled?(r(),d("div",cg,[e("div",null,[e("label",ug,s(a(t)("admin.settings.registration.passwordReset")),1),e("p",mg,s(a(t)("admin.settings.registration.passwordResetHint")),1)]),h(S,{modelValue:n.password_reset_enabled,"onUpdate:modelValue":i[22]||(i[22]=o=>n.password_reset_enabled=o)},null,8,["modelValue"])])):x("",!0),n.email_verify_enabled&&n.password_reset_enabled?(r(),d("div",_g,[e("label",pg,s(a(t)("admin.settings.registration.frontendUrl")),1),m(e("input",{"onUpdate:modelValue":i[23]||(i[23]=o=>n.frontend_url=o),type:"url",class:"input",placeholder:a(t)("admin.settings.registration.frontendUrlPlaceholder")},null,8,gg),[[b,n.frontend_url]]),e("p",yg,s(a(t)("admin.settings.registration.frontendUrlHint")),1)])):x("",!0),e("div",bg,[e("div",null,[e("label",hg,s(a(t)("admin.settings.registration.totp")),1
12),e("p",xg,s(a(t)("admin.settings.registration.totpHint")),1),n.totp_encryption_key_configured?x("",!0):(r(),d("p",fg,s(a(t)("admin.settings.registration.totpKeyNotConfigured")),1))]),h(S,{modelValue:n.totp_enabled,"onUpdate:modelValue":i[24]||(i[24]=o=>n.totp_enabled=o),disabled:!n.totp_encryption_key_configured},null,8,["modelValue","disabled"])]),e("div",kg,[e("div",vg,[e("div",null,[e("label",wg,s(a(t)("admin.settings.security.passkey")),1),e("p",Cg,s(a(t)("admin.settings.security.passkeyHint")),1)]),h(S,{modelValue:n.passkey_enabled,"onUpdate:modelValue":i[25]||(i[25]=o=>n.passkey_enabled=o),"data-testid":"passkey-toggle",disabled:!n.passkey_configured},null,8,["modelValue","disabled"])]),e("div",{class:q(["mt-3 rounded-lg border px-3 py-2 text-sm",n.passkey_configured?"border-green-200 bg-green-50 text-green-800 dark:border-green-900 dark:bg-green-950/40 dark:text-green-300":"border-amber-200 bg-amber-50 text-amber-800 dark:border-amber-900 dark:bg-amber-950/40 dark:text-amber-300"]),"data-testid":"passkey-config-status"},[e("p",Vg,s(n.passkey_configured?a(t)("admin.settings.security.passkeyConfigured"):a(t)("admin.settings.security.passkeyNotConfigured")),1),e("p",Ug,s(a(t)("admin.settings.security.passkeyRPID"))+": "+s(n.passkey_rp_id||a(t)("admin.settings.security.passkeyValueNotConfigured")),1),e("p",Sg,s(a(t)("admin.settings.security.passkeyOrigins"))+": "+s(n.passkey_rp_origins.length>0?n.passkey_rp_origins.join(", "):a(t)("admin.settings.security.passkeyValueNotConfigured")),1),n.passkey_configured?x("",!0):(r(),d("p",Pg,s(a(t)("admin.settings.security.passkeyDeploymentHint")),1))],2)]),e("div",$g,[e("div",null,[e("label",Eg,s(a(t)("admin.settings.security.stepUp")),1),e("p",Ag,s(a(t)("admin.settings.security.stepUpHint")),1)]),h(S,{modelValue:n.step_up_enabled,"onUpdate:modelValue":i[26]||(i[26]=o=>n.step_up_enabled=o)},null,8,["modelValue"])]),e("div",Tg,[e("div",null,[e("label",Fg,s(a(t)("admin.settings.security.sessionBinding")),1),e("p",Mg,s(a(t)("admin.settings.security.sessionBindingHint")),1)]),h(S,{modelValue:n.session_binding_enabled,"onUpdate:modelValue":i[27]||(i[27]=o=>n.session_binding_enabled=o)},null,8,["modelValue"])]),e("div",Lg,[e("div",null,[e("label",Rg,s(a(t)("admin.settings.security.auditRetention")),1),e("p",Hg,s(a(t)("admin.settings.security.auditRetentionHint")),1)]),m(e("input",{"onUpdate:modelValue":i[28]||(i[28]=o=>n.audit_log_retention_days=o),type:"number",min:"0",class:"input w-28 text-right"},null,512),[[b,n.audit_log_retention_days,void 0,{number:!0}]])])])]),e("div",Dg,[e("div",jg,[e("h2",zg,s(a(t)("admin.settings.apiKeyAcl.title")),1),e("p",Og,s(a(t)("admin.settings.apiKeyAcl.description")),1)]),e("div",Bg,[e("div",Ig,[e("div",null,[e("label",qg,s(a(t)("admin.settings.apiKeyAcl.trustForwardedIp")),1),e("p",Ng,s(a(t)("admin.settings.apiKeyAcl.trustForwardedIpHint")),1)]),h(S,{modelValue:n.api_key_acl_trust_forwarded_ip,"onUpdate:modelValue":i[29]||(i[29]=o=>n.api_key_acl_trust_forwarded_ip=o)},null,8,["modelValue"])]),n.api_key_acl_trust_forwarded_ip?(r(),d("div",Wg,[e("label",Kg,s(a(t)("admin.settings.apiKeyAcl.forwardedClientIpHeaders")),1),e("p",Gg,s(a(t)("admin.settings.apiKeyAcl.forwardedClientIpHeadersHint")),1),e("div",Qg,[e("div",Yg,[(r(!0),d(M,null,B(n.forwarded_client_ip_headers,o=>(r(),d("span",{key:o,"data-testid":"forwarded-client-ip-header-tag",class:"inline-flex items-center gap-1 rounded bg-gray-100 px-2 py-1 text-xs font-mono text-gray-700 dark:bg-dark-600 dark:text-gray-200"},[e("span",null,s(o),1),e("button",{type:"button",class:"rounded-full text-gray-500 hover:bg-gray-200 hover:text-gray-700 dark:text-gray-300 dark:hover:bg-dark-500 dark:hover:text-white","aria-label":a(t)("admin.settings.apiKeyAcl.removeForwardedClientIpHeader",{header:o}),onClick:p=>pn(o)},[h(ie,{name:"x",size:"xs",class:"h-3.5 w-3.5","stroke-width":2})],8,Jg)]))),128)),e("div",Zg,[m(e("input",{id:"forwarded-client-ip-headers","onUpdate:modelValue":i[30]||(i[30]=o=>te.value=o),"data-testid":"forwarded-client-ip-headers-input",type:"text",class:"w-full bg-transparent text-sm font-mono text-gray-900 outline-none placeholder:text-gray-400 dark:text-white dark:placeholder:text-gray-500",placeholder:a(t)("admin.settings.apiKeyAcl.forwardedClientIpHeadersPlaceholder"),onKeydown:gn,onBlur:qa,onPaste:yn},null,40,Xg),[[b,te.value]])])])]),e("p",ey,s(a(t)("admin.settings.apiKeyAcl.forwardedClientIpHeadersRiskHint")),1)])):x("",!0)])]),e("div",ty,[e("div",ay,[e("div",sy,[h(ie,{name:"shield",size:"md",class:"text-primary-500"}),e("h2",ny,s(a(t)("admin.settings.panelRateLimit.title")),1)]),e("p",iy,s(a(t)("admin.settings.panelRateLimit.description")),1)]),e("div",oy,[Z.value?(r(),d("div",ly,[i[269]||(i[269]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),T(" "+s(a(t)("common.loading")),1)])):(r(),d(M,{key:1},[e("div",ry,[e("div",dy,[h(ie,{name:"infoCircle",size:"md",class:"mt-0.5 flex-shrink-0 text-sky-500"}),e("p",cy,s(a(t)("admin.settings.panelRateLimit.proxySafeNote")),1)])]),e("div",uy,[e("div",null,[e("label",my,s(a(t)("admin.settings.panelRateLimit.enabled")),1),e("p",_y,s(a(t)("admin.settings.panelRateLimit.enabledHint")),1)]),h(S,{modelValue:v.enabled,"onUpdate:modelValue":i[31]||(i[31]=o=>v.enabled=o)},null,8,["modelValue"])]),v.enabled?(r(),d("div",py,[e("div",gy,[e("div",null,[e("label",yy,s(a(t)("admin.settings.panelRateLimit.userRpm")),1),e("div",by,[m(e("input",{"onUpdate:modelValue":i[32]||(i[32]=o=>v.user_rpm=o),"data-testid":"panel-rate-limit-user-rpm",type:"number",min:"0",max:"100000",class:"input w-32"},null,512),[[b,v.user_rpm,void 0,{number:!0}]]),e("span",hy,s(a(t)("admin.settings.panelRateLimit.perMinute")),1)]),e("p",xy,s(a(t)("admin.settings.panelRateLimit.userRpmHint")),1)]),e("div",null,[e("label",fy,s(a(t)("admin.settings.panelRateLimit.heavyRpm")),1),e("div",ky,[m(e("input",{"onUpdate:modelValue":i[33]||(i[33]=o=>v.heavy_rpm=o),type:"number",min:"0",max:"100000",class:"input w-32"},null,512),[[b,v.heavy_rpm,void 0,{number:!0}]]),e("span",vy,s(a(t)("admin.settings.panelRateLimit.perMinute")),1)]),e("p",wy,s(a(t)("admin.settings.panelRateLimit.heavyRpmHint")),1)]),e("div",null,[e("label",Cy,s(a(t)("admin.settings.panelRateLimit.publicIpRpm")),1),e("div",Vy,[m(e("input",{"onUpdate:modelValue":i[34]||(i[34]=o=>v.public_ip_rpm=o),type:"number",min:"0",max:"100000",class:"input w-32"},null,512),[[b,v.public_ip_rpm,void 0,{number:!0}]]),e("span",Uy,s(a(t)("admin.settings.panelRateLimit.perMinute")),1)]),e("p",Sy,s(a(t)("admin.settings.panelRateLimit.publicIpRpmHint")),1)])]),e("div",Py,[e("div",null,[e("label",$y,s(a(t)("admin.settings.panelRateLimit.exemptAdmin")),1),e("p",Ey,s(a(t)("admin.settings.panelRateLimit.exemptAdminHint")),1)]),h(S,{modelValue:v.exempt_admin,"onUpdate:modelValue":i[35]||(i[35]=o=>v.exempt_admin=o)},null,8,["modelValue"])])])):x("",!0),e("div",Ay,[e("button",{type:"button","data-testid":"panel-rate-limit-save",onClick:si,disabled:pe.value,class:"btn btn-primary btn-sm"}
12,[pe.value?(r(),d("svg",Fy,[...i[270]||(i[270]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):x("",!0),T(" "+s(pe.value?a(t)("common.saving"):a(t)("common.save")),1)],8,Ty)])],64))])]),e("div",My,[e("div",Ly,[e("h2",Ry,s(a(t)("admin.settings.captcha.title")),1),e("p",Hy,s(a(t)("admin.settings.captcha.description")),1)]),e("div",Dy,[e("div",jy,[e("div",null,[e("label",zy,s(a(t)("admin.settings.captcha.enable")),1),e("p",Oy,s(a(t)("admin.settings.captcha.enableHint")),1)]),h(S,{modelValue:Ot.value,"onUpdate:modelValue":i[36]||(i[36]=o=>Ot.value=o),"data-testid":"captcha-enabled-toggle"},null,8,["modelValue"])]),Ot.value?(r(),d("div",By,[e("div",Iy,[e("label",qy,s(a(t)("admin.settings.captcha.provider")),1),e("div",Ny,[e("button",{type:"button","data-testid":"captcha-provider-turnstile",class:q(["inline-flex items-center justify-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition",Ne.value==="turnstile"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[37]||(i[37]=o=>Bt("turnstile"))},s(a(t)("admin.settings.captcha.providerTurnstile")),3),e("button",{type:"button","data-testid":"captcha-provider-tencent",class:q(["inline-flex items-center justify-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition",Ne.value==="tencent"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[38]||(i[38]=o=>Bt("tencent"))},s(a(t)("admin.settings.captcha.providerTencent")),3),e("button",{type:"button","data-testid":"captcha-provider-aliyun",class:q(["inline-flex items-center justify-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition",Ne.value==="aliyun"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[39]||(i[39]=o=>Bt("aliyun"))},s(a(t)("admin.settings.captcha.providerAliyun")),3)])]),Ne.value==="turnstile"?(r(),d("div",Wy,[e("div",null,[e("label",Ky,s(a(t)("admin.settings.turnstile.siteKey")),1),m(e("input",{"onUpdate:modelValue":i[40]||(i[40]=o=>n.turnstile_site_key=o),type:"text",class:"input font-mono text-sm",placeholder:"0x4AAAAAAA..."},null,512),[[b,n.turnstile_site_key]]),e("p",Gy,[T(s(a(t)("admin.settings.turnstile.siteKeyHint"))+" ",1),e("a",Qy,s(a(t)("admin.settings.turnstile.cloudflareDashboard")),1)])]),e("div",null,[e("label",Yy,s(a(t)("admin.settings.turnstile.secretKey")),1),m(e("input",{"onUpdate:modelValue":i[41]||(i[41]=o=>n.turnstile_secret_key=o),type:"password",class:"input font-mono text-sm",placeholder:"0x4AAAAAAA..."},null,512),[[b,n.turnstile_secret_key]]),e("p",Jy,s(n.turnstile_secret_key_configured?a(t)("admin.settings.turnstile.secretKeyConfiguredHint"):a(t)("admin.settings.turnstile.secretKeyHint")),1)])])):Ne.value==="tencent"?(r(),d("div",Zy,[e("div",Xy,[e("label",eb,s(a(t)("admin.settings.tencentCaptcha.region")),1),e("div",tb,[e
12("button",{type:"button","data-testid":"tencent-captcha-region-cn",class:q(["inline-flex items-center justify-center rounded-md px-3 py-1.5 text-sm font-medium transition",n.tencent_captcha_region!=="intl"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[42]||(i[42]=o=>n.tencent_captcha_region="cn")},s(a(t)("admin.settings.tencentCaptcha.regionCn")),3),e("button",{type:"button","data-testid":"tencent-captcha-region-intl",class:q(["inline-flex items-center justify-center rounded-md px-3 py-1.5 text-sm font-medium transition",n.tencent_captcha_region==="intl"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[43]||(i[43]=o=>n.tencent_captcha_region="intl")},s(a(t)("admin.settings.tencentCaptcha.regionIntl")),3)]),e("p",ab,s(a(t)("admin.settings.tencentCaptcha.regionHint")),1)]),e("div",sb,[e("div",nb,[e("h3",ib,s(a(t)("admin.settings.tencentCaptcha.appCredentialsTitle")),1),e("p",ob,s(a(t)("admin.settings.tencentCaptcha.appCredentialsHint")),1)]),e("div",null,[e("label",lb,s(a(t)("admin.settings.tencentCaptcha.appId")),1),m(e("input",{"onUpdate:modelValue":i[44]||(i[44]=o=>n.tencent_captcha_app_id=o),type:"text",inputmode:"numeric",class:"input font-mono text-sm",placeholder:"123456789"},null,512),[[b,n.tencent_captcha_app_id]])]),e("div",null,[e("label",rb,s(a(t)("admin.settings.tencentCaptcha.appSecretKey")),1),m(e("input",{"onUpdate:modelValue":i[45]||(i[45]=o=>n.tencent_captcha_app_secret_key=o),type:"password",autocomplete:"new-password",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.tencentCaptcha.keepExisting")},null,8,db),[[b,n.tencent_captcha_app_secret_key]]),e("p",cb,s(n.tencent_captcha_app_secret_key_configured?a(t)("admin.settings.tencentCaptcha.configured"):a(t)("admin.settings.tencentCaptcha.required")),1)]),e("div",ub,[e("h3",mb,s(a(t)("admin.settings.tencentCaptcha.cloudCredentialsTitle")),1),e("p",_b,s(a(t)("admin.settings.tencentCaptcha.cloudCredentialsHint")),1)]),e("div",null,[e("label",pb,s(a(t)("admin.settings.tencentCaptcha.cloudSecretId")),1),m(e("input",{"onUpdate:modelValue":i[46]||(i[46]=o=>n.tencent_captcha_cloud_secret_id=o),type:"password",autocomplete:"new-password",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.tencentCaptcha.keepExisting")},null,8,gb),[[b,n.tencent_captcha_cloud_secret_id]]),e("p",yb,s(n.tencent_captcha_cloud_secret_id_configured?a(t)("admin.settings.tencentCaptcha.configured"):a(t)("admin.settings.tencentCaptcha.required")),1)]),e("div",null,[e("label",bb,s(a(t)("admin.settings.tencentCaptcha.cloudSecretKey")),1),m(e("input",{"onUpdate:modelValue":i[47]||(i[47]=o=>n.tencent_captcha_cloud_secret_key=o),type:"password",autocomplete:"new-password",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.tencentCaptcha.keepExisting")},null,8,hb),[[b,n.tencent_captcha_cloud_secret_key]]),e("p",xb,s(n.tencent_captcha_cloud_secret_key_configured?a(t)("admin.settings.tencentCaptcha.configured"):a(t)("admin.settings.tencentCaptcha.required")),1)])]),e("p",fb,s(a(t)("admin.settings.tencentCaptcha.camPermissionHint")),1),e("p",kb,s(a(t)("admin.settings.tencentCaptcha.aidEncryptedHint")),1),e("div",vb,[e("a",{href:It.value.console,target:"_blank",rel:"noopener noreferrer",class:"text-primary-600 hover:text-primary-500"},s(a(t)("admin.settings.tencentCaptcha.openCaptchaConsole")),9,wb),e("a",{href:It.value.cloudKeys,target:"_blank",rel:"noopener noreferrer",class:"text-primary-600 hover:text-primary-500"},s(a(t)("admin.settings.tencentCaptcha.createCloudKeys")),9,Cb),e("a",{href:It.value.webDocs,target:"_blank",rel:"noopener noreferrer",class:"text-primary-600 hover:text-primary-500"},s(a(t)("admin.settings.tencentCaptcha.openWebDocs")),9,Vb)])])):(r(),d("div",Ub,[e("div",Sb,[e("div",null,[e("label",Pb,s(a(t)("admin.settings.aliyunCaptcha.region")),1),e("div",$b,[e("button",{type:"button",class:q(["inline-flex items-center justify-center rounded-md px-3 py-1.5 text-sm font-medium transition",n.aliyun_captcha_region!=="sgp"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[48]||(i[48]=o=>n.aliyun_captcha_region="cn")},s(a(t)("admin.settings.aliyunCaptcha.regionCn")),3),e("button",{type:"button",class:q(["inline-flex items-center justify-center rounded-md px-3 py-1.5 text-sm font-medium transition",n.aliyun_captcha_region==="sgp"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[49]||(i[49]=o=>n.aliyun_captcha_region="sgp")},s(a(t)("admin.settings.aliyunCaptcha.regionSgp")),3)]),e("p",Eb,s(a(t)("admin.settings.aliyunCaptcha.regionHint")),1)]),e("div",null,[e("label",Ab,s(a(t)("admin.settings.aliyunCaptcha.prefix")),1),m(e("input",{"onUpdate:modelValue":i[50]||(i[50]=o=>n.aliyun_captcha_prefix=o),type:"text",class:"input font-mono text-sm",placeholder:"14xxxxx"},null,512),[[b,n.aliyun_captcha_prefix]]),e("p",Tb,s(a(t)("admin.settings.aliyunCaptcha.prefixHint")),1)])]),e("div",null,[e("label",Fb,
12s(a(t)("admin.settings.aliyunCaptcha.sceneId")),1),m(e("input",{"onUpdate:modelValue":i[51]||(i[51]=o=>n.aliyun_captcha_scene_id=o),type:"text",class:"input font-mono text-sm",placeholder:"1cxxxxxx"},null,512),[[b,n.aliyun_captcha_scene_id]]),e("p",Mb,s(a(t)("admin.settings.aliyunCaptcha.sceneIdHint")),1)]),e("div",null,[e("label",Lb,s(a(t)("admin.settings.aliyunCaptcha.accessKeyId")),1),m(e("input",{"onUpdate:modelValue":i[52]||(i[52]=o=>n.aliyun_captcha_access_key_id=o),type:"text",class:"input font-mono text-sm",placeholder:"LTAI..."},null,512),[[b,n.aliyun_captcha_access_key_id]]),e("p",Rb,s(a(t)("admin.settings.aliyunCaptcha.accessKeyIdHint")),1)]),e("div",null,[e("label",Hb,s(a(t)("admin.settings.aliyunCaptcha.accessKeySecret")),1),m(e("input",{"onUpdate:modelValue":i[53]||(i[53]=o=>n.aliyun_captcha_access_key_secret=o),type:"password",autocomplete:"new-password",class:"input font-mono text-sm",placeholder:"â¢â¢â¢â¢â¢â¢â¢â¢"},null,512),[[b,n.aliyun_captcha_access_key_secret]]),e("p",Db,s(n.aliyun_captcha_access_key_secret_configured?a(t)("admin.settings.aliyunCaptcha.accessKeySecretConfiguredHint"):a(t)("admin.settings.aliyunCaptcha.accessKeySecretHint")),1)])]))])):x("",!0)])]),e("div",jb,[e("div",zb,[e("h2",Ob,s(a(t)("admin.settings.linuxdo.title")),1),e("p",Bb,s(a(t)("admin.settings.linuxdo.description")),1)]),e("div",Ib,[e("div",qb,[e("div",null,[e("label",Nb,s(a(t)("admin.settings.linuxdo.enable")),1),e("p",Wb,s(a(t)("admin.settings.linuxdo.enableHint")),1)]),h(S,{modelValue:n.linuxdo_connect_enabled,"onUpdate:modelValue":i[54]||(i[54]=o=>n.linuxdo_connect_enabled=o)},null,8,["modelValue"])]),n.linuxdo_connect_enabled?(r(),d("div",Kb,[e("div",Gb,[e("div",null,[e("label",Qb,s(a(t)("admin.settings.linuxdo.clientId")),1),m(e("input",{"onUpdate:modelValue":i[55]||(i[55]=o=>n.linuxdo_connect_client_id=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.linuxdo.clientIdPlaceholder")},null,8,Yb),[[b,n.linuxdo_connect_client_id]]),e("p",Jb,s(a(t)("admin.settings.linuxdo.clientIdHint")),1)]),e("div",null,[e("label",Zb,s(a(t)("admin.settings.linuxdo.clientSecret")),1),m(e("input",{"onUpdate:modelValue":i[56]||(i[56]=o=>n.linuxdo_connect_client_secret=o),type:"password",class:"input font-mono text-sm",placeholder:n.linuxdo_connect_client_secret_configured?a(t)("admin.settings.linuxdo.clientSecretConfiguredPlaceholder"):a(t)("admin.settings.linuxdo.clientSecretPlaceholder")},null,8,Xb),[[b,n.linuxdo_connect_client_secret]]),e("p",eh,s(n.linuxdo_connect_client_secret_configured?a(t)("admin.settings.linuxdo.clientSecretConfiguredHint"):a(t)("admin.settings.linuxdo.clientSecretHint")),1)]),e("div",null,[e("label",th,s(a(t)("admin.settings.linuxdo.redirectUrl")),1),m(e("input",{"onUpdate:modelValue":i[57]||(i[57]=o=>n.linuxdo_connect_redirect_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.linuxdo.redirectUrlPlaceholder")},null,8,ah),[[b,n.linuxdo_connect_redirect_url]]),e("div",sh,[e("button",{type:"button",class:"btn btn-secondary btn-sm w-fit",onClick:hn},s(a(t)("admin.settings.linuxdo.quickSetCopy")),1),Gt.value?(r(),d("code",nh,s(Gt.value),1)):x("",!0)]),e("p",ih,s(a(t)("admin.settings.linuxdo.redirectUrlHint")),1)])])])):x("",!0)])]),e("div",oh,[e("div",lh,[e("h2",rh,s(C("é®ç®±å¿«æ·ç»å½","Email OAuth Sign-in")),1),e("p",dh,s(C("å¼å¯ GitHub æ Google é®ç®±ææç»å½åï¼ç³»ç»ä¼è¯»åå·²éªè¯é®ç®±ï¼åå¨åç´æ¥ç»å½ï¼ä¸åå¨åèªå¨æ³¨åã","After GitHub or Google email OAuth is enabled, the system reads a verified email, signs in matching users, and auto-registers missing users.")),1)]),e("div",ch,[e("div",uh,[e("div",mh,[e("div",_h,[e("div",null,[i[271]||(i[271]=e("h3",{class:"font-medium text-gray-900 dark:text-white"}," GitHub ",-1)),e("p",ph,s(C("GitHub OAuth App éè¦ read:user user:email æéï¼åè°å°åå¡«å䏿¹å端å°åã","GitHub OAuth App needs read:user user:email scopes. Use the backend callback URL below.")),1)]),h(S,{modelValue:n.github_oauth_enabled,"onUpdate:modelValue":i[58]||(i[58]=o=>n.github_oauth_enabled=o)},null,8,["modelValue"])]),n.github_oauth_enabled?(r(),d("div",gh,[e("div",yh,[ae.value?(r(),d(M,{key:0},[i[272]||(i[272]=T(" å¼éå¼å¯¼ï¼GitHub Settings â Developer settings â ",-1)),i[273]||(i[273]=e("a",{"data-testid":"github-oauth-apps-guide-link",href:"https://github.com/settings/developers",target:"_blank",rel:"noopener noreferrer",class:"font-medium text-primary-600 hover:underline dark:text-primary-400"},"OAuth Apps",-1)),i[274]||(i[274]=T(" â New OAuth Appï¼Homepage URL å¡«ç«ç¹ååï¼Authorization callback URL å¡«ä¸é¢çå端åè°å°åã ",-1))],64)):(r(),d(M,{key:1},[i[275]||(i[275]=T(" Setup guide: GitHub Settings â Developer settings â ",-1)),i[276]||(i[276]=e("a",{"data-testid":"github-oauth-apps-guide-link",href:"https://github.com/settings/developers",target:"_blank",rel:"noopener noreferrer",class:"font-medium text-primary-600 hover:underline dark:text-primary-400"},"OAuth Apps",-1)),i[277]||(i[277]=T(" â New OAuth App. Use your site origin as Homepage URL and the backend callback URL below as Authorization callback URL. ",-1))],64))]),e("div",bh,[e("div",null,[i[278]||(i[278]=e("label",{class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},"Client ID",-1)),m(e("input",{"onUpdate:modelValue":i[59]||(i[59]=o=>n.github_oauth_client_id=o),type:"text",class:"input font-mono text-sm",placeholder:"GitHub OAuth Client ID"},null,512),[[b,n.github_oauth_client_id]])]),e("div",null,[i[279]||(i[279]=e("label",{class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},"Client Secret",-1)),m(e("input",{"onUpdate:modelValue":i[60]||(i[60]=o=>n.github_oauth_client_secret=o),type:"password",class:"input font-mono text-sm",placeholder:n.github_oauth_client_secret_configured?C("å¯é¥å·²é
ç½®ï¼ç空以ä¿çå½åå¼ã","Secret configured. Leave empty to keep the current value."):"GitHub OAuth Client Secret"},null,8,hh),[[b,n.github_oauth_client_secret]])])]),e("div",null,[e("label",x
12h,s(C("å端åè°å°å","Backend Callback URL")),1),m(e("input",{"onUpdate:modelValue":i[61]||(i[61]=o=>n.github_oauth_redirect_url=o),type:"url",class:"input font-mono text-sm",placeholder:"https://your-domain.com/api/v1/auth/oauth/github/callback"},null,512),[[b,n.github_oauth_redirect_url]]),e("div",fh,[e("button",{type:"button",class:"btn btn-secondary btn-sm w-fit",onClick:i[62]||(i[62]=o=>Na("github"))},s(C("çæå¹¶å¤å¶","Generate and copy")),1),Qt.value?(r(),d("code",kh,s(Qt.value),1)):x("",!0)])]),e("div",null,[e("label",vh,s(C("å端åè·³å°å","Frontend Callback URL")),1),m(e("input",{"onUpdate:modelValue":i[63]||(i[63]=o=>n.github_oauth_frontend_redirect_url=o),type:"text",class:"input font-mono text-sm",placeholder:"/auth/oauth/callback"},null,512),[[b,n.github_oauth_frontend_redirect_url]])])])):x("",!0)]),e("div",wh,[e("div",Ch,[e("div",null,[i[280]||(i[280]=e("h3",{class:"font-medium text-gray-900 dark:text-white"}," Google ",-1)),e("p",Vh,s(C("Google OAuth 客æ·ç«¯éè¦ openid email profile èå´ï¼å¹¶å¨åæ®éç»è®°å端åè°å°åã","Google OAuth client needs openid email profile scopes and the backend callback URL registered in credentials.")),1)]),h(S,{modelValue:n.google_oauth_enabled,"onUpdate:modelValue":i[64]||(i[64]=o=>n.google_oauth_enabled=o)},null,8,["modelValue"])]),n.google_oauth_enabled?(r(),d("div",Uh,[e("div",Sh,s(C("å¼éå¼å¯¼ï¼Google Cloud Console â APIs & Services â OAuth consent screen 宿åæå±å¹ï¼Credentials â Create Credentials â OAuth client IDï¼ç±»åéæ© Web applicationï¼å¹¶æä¸é¢å°åå å
¥ Authorized redirect URIsã","Setup guide: Google Cloud Console â APIs & Services â OAuth consent screen, then Credentials â Create Credentials â OAuth client ID, choose Web application, and add the URL below to Authorized redirect URIs.")),1),e("div",Ph,[e("div",null,[i[281]||(i[281]=e("label",{class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},"Client ID",-1)),m(e("input",{"onUpdate:modelValue":i[65]||(i[65]=o=>n.google_oauth_client_id=o),type:"text",class:"input font-mono text-sm",placeholder:"Google OAuth Client ID"},null,512),[[b,n.google_oauth_client_id]])]),e("div",null,[i[282]||(i[282]=e("label",{class:"mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"},"Client Secret",-1)),m(e("input",{"onUpdate:modelValue":i[66]||(i[66]=o=>n.google_oauth_client_secret=o),type:"password",class:"input font-mono text-sm",placeholder:n.google_oauth_client_secret_configured?C("å¯é¥å·²é
ç½®ï¼ç空以ä¿çå½åå¼ã","Secret configured. Leave empty to keep the current value."):"Google OAuth Client Secret"},null,8,$h),[[b,n.google_oauth_client_secret]])])]),e("div",null,[e("label",Eh,s(C("å端åè°å°å","Backend Callback URL")),1),m(e("input",{"onUpdate:modelValue":i[67]||(i[67]=o=>n.google_oauth_redirect_url=o),type:"url",class:"input font-mono text-sm",placeholder:"https://your-domain.com/api/v1/auth/oauth/google/callback"},null,512),[[b,n.google_oauth_redirect_url]]),e("div",Ah,[e("button",{type:"button",class:"btn btn-secondary btn-sm w-fit",onClick:i[68]||(i[68]=o=>Na("google"))},s(C("çæå¹¶å¤å¶","Generate and copy")),1),Yt.value?(r(),d("code",Th,s(Yt.value),1)):x("",!0)])]),e("div",null,[e("label",Fh,s(C("å端åè·³å°å","Frontend Callback URL")),1),m(e("input",{"onUpdate:modelValue":i[69]||(i[69]=o=>n.google_oauth_frontend_redirect_url=o),type:"text",class:"input font-mono text-sm",placeholder:"/auth/oauth/callback"},null,512),[[b,n.google_oauth_frontend_redirect_url]])])])):x("",!0)])])])]),e("div",Mh,[e("div",Lh,[e("h2",Rh,s(a(t)("admin.settings.wechatConnect.title")),1),e("p",Hh,s(a(t)("admin.settings.wechatConnect.description")),1)]),e("div",Dh,[e("div",jh,[e("div",null,[e("label",zh,s(a(t)("admin.settings.wechatConnect.enabledLabel")),1),e("p",Oh,s(a(t)("admin.settings.wechatConnect.enabledHint")),1)]),h(S,{modelValue:n.wechat_connect_enabled,"onUpdate:modelValue":i[70]||(i[70]=o=>n.wechat_connect_enabled=o),"data-testid":"wechat-connect-enabled"},null,8,["modelValue"])]),n.wechat_connect_enabled?(r(),d("div",Bh,[e("div",Ih,[e("div",qh,[e("div",Nh,[e("div",null,[e("h3",Wh,s(C("PC åºç¨","PC App")),1),e("p",Kh,s(C("æ¡é¢æµè§å¨éè¿å¾®ä¿¡å¼æ¾å¹³å°æ«ç ç»å½ãå¯ä¸å
¬ä¼å·æç§»å¨åºç¨åæ¶åå¨ã","Desktop browsers sign in through WeChat Open Platform QR login. This can coexist with Official Account or Mobile App.")),1)]),h(S,{"model-value":n.wechat_connect_open_enabled,"data-testid":"wechat-connect-open-enabled","onUpdate:modelValue":xn},null,8,["model-value"])]),n.wechat_connect_open_enabled?(r(),d("div",Gh,[e("div",null,[e("label",Qh,s(C("PC AppID","PC App ID")),1),m(e("input",{"onUpdate:modelValue":i[71]||(i[71]=o=>n.wechat_connect_open_app_id=o),"data-testid":"wechat-connect-open-app-id",type:"text",class:"input font-mono text-sm",placeholder:C("å¾®ä¿¡å¼æ¾å¹³å° PC åºç¨ AppID","WeChat Open Platform PC App ID")},null,8,Yh),[[b,n.wechat_connect_open_app_id]])]),e("div",null,[e("label",Jh,s(C("PC AppSecret","PC App Secret")),1),m(e("input",{"onUpdate:modelValue":i[72]||(i[72]=o=>n.wechat_connect_open_app_secret=o),"data-testid":"wechat-connect-open-app-secret",type:"password",class:"input font-mono text-sm",placeholder:n.wechat_connect_open_app_secret_configured?C("å¯é¥å·²é
ç½®ï¼ç空以ä¿çå½åå¼ã","Secret configured. Leave empty to keep the current value."):C("å¾®ä¿¡å¼æ¾å¹³å° PC åºç¨ AppSecret","WeChat Open Platform PC App Secret")},null,8,Zh),[[b,n.wechat_connect_open_app_secret]])])])):x("",!0)]),e("div",Xh,[e("div",ex,[e("div",null,[e("h3",tx,s(C("å
¬ä¼å·","Official Account")),1),e("p",ax,s(C("ä»
å¨å¾®ä¿¡å
æµè§å¨å¯ç¨ï¼é微信ç¯å¢ä¸ä¼æ¾ç¤ºä¸å¯ç¨ã","Only available inside the WeChat browser. It is shown as unavailable outside WeChat.")),1)]),h(S,{"model-value":n.wechat_connect_mp_enabled,"data-testid":"wechat-connect-mp-enabled","onUpdate:modelValue":fn},null,8,["model-value"])]),n.wechat_connect_mp_enabled?(r(),d("div",sx,[e("div",null,[e("label",nx,s(C("å
¬ä¼å· AppID","Official Account App ID")),1),m(e("input",{"onUpdate:modelValue":i[73]||(i[73]=o=>n.wechat_connect_mp_app_id=o),"data-testid":"wechat-connect-mp-app-id",type:"text",class:"input font-mono text-sm",placeholder:C("å
¬ä¼å· AppID","Official Account App ID")},null,8,ix),[[b,n.wechat_connect_mp_app_id]])]),e("div",null,[e("label",ox,s(C("å
¬ä¼å· AppSecret","Official Account App Secret")),1),m(e("input",{"onUpdate:modelValue":i[74]||(i[74]=o=>n.wechat_connect_mp_app_secret=o),"data-testid":"wechat-connect-mp-app-secret",type:"password",class:"input font-mono text-sm",placeholder:n.wechat_connect_mp_app_secret_configured?C("å¯é¥å·²é
ç½®ï¼ç空以ä¿çå½åå¼ã","Secret configured. Leave empty to keep the current value."):C("å
¬ä¼å· AppSecret","Official Account App Secret")},null,8,lx),[[b,n.wechat_connect_mp_app_secret]])])])):x("",!0)]),e("div",rx,[e("div",dx,[e("div",null,[e("h3",cx,s(C("ç§»å¨åºç¨","Mobile App")),1),e("p",ux,s(C("åç
12ç§»å¨ç«¯éè¿å¾®ä¿¡ SDK å¤èµ·ææï¼ç½é¡µç«¯ä¸ä¼ç´æ¥å起该æµç¨ã","Native mobile clients start authorization through the WeChat SDK. The web UI does not launch this flow directly.")),1)]),h(S,{"model-value":n.wechat_connect_mobile_enabled,"data-testid":"wechat-connect-mobile-enabled","onUpdate:modelValue":kn},null,8,["model-value"])]),n.wechat_connect_mobile_enabled?(r(),d("div",mx,[e("div",null,[e("label",_x,s(C("ç§»å¨åºç¨ AppID","Mobile App ID")),1),m(e("input",{"onUpdate:modelValue":i[75]||(i[75]=o=>n.wechat_connect_mobile_app_id=o),"data-testid":"wechat-connect-mobile-app-id",type:"text",class:"input font-mono text-sm",placeholder:C("ç§»å¨åºç¨ AppID","Mobile App ID")},null,8,px),[[b,n.wechat_connect_mobile_app_id]])]),e("div",null,[e("label",gx,s(C("ç§»å¨åºç¨ AppSecret","Mobile App Secret")),1),m(e("input",{"onUpdate:modelValue":i[76]||(i[76]=o=>n.wechat_connect_mobile_app_secret=o),"data-testid":"wechat-connect-mobile-app-secret",type:"password",class:"input font-mono text-sm",placeholder:n.wechat_connect_mobile_app_secret_configured?C("å¯é¥å·²é
ç½®ï¼ç空以ä¿çå½åå¼ã","Secret configured. Leave empty to keep the current value."):C("ç§»å¨åºç¨ AppSecret","Mobile App Secret")},null,8,yx),[[b,n.wechat_connect_mobile_app_secret]])])])):x("",!0)])]),n.wechat_connect_open_enabled&&(n.wechat_connect_mp_enabled||n.wechat_connect_mobile_enabled)?(r(),d("div",bx,s(C("妿忶å¯ç¨ PC åºç¨åå
¬ä¼å·/ç§»å¨åºç¨ï¼è¿äºåºç¨éè¦æå¨åä¸ä¸ªå¾®ä¿¡å¼æ¾å¹³å°ä¸»ä½ä¸ï¼å¦å UnionID æ æ³ç¨³å®å½å¹¶è´¦å·ã","When PC App is enabled together with Official Account or Mobile App, they should belong to the same WeChat Open Platform account so UnionID can merge identities reliably.")),1)):x("",!0),e("div",hx,[e("div",null,[e("label",xx,s(C("æµè§å¨åè°å°å","Browser Redirect URL")),1),m(e("input",{"data-testid":"wechat-connect-redirect-url","onUpdate:modelValue":i[77]||(i[77]=o=>n.wechat_connect_redirect_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.wechatConnect.redirectUrlPlaceholder")},null,8,fx),[[b,n.wechat_connect_redirect_url]]),e("p",kx,s(C("ç¨äº PC åºç¨åå
¬ä¼å·çç½é¡µåè°ãç§»å¨åºç¨èµ°åç SDK æ¶ä¸ç´æ¥ä½¿ç¨è¿ä¸ªæµè§å¨åè°ã","Used by PC App and Official Account browser callbacks. Native mobile SDK flows do not start from this browser callback directly.")),1),e("div",vx,[e("button",{type:"button",class:"btn btn-secondary btn-sm w-fit",onClick:vn},s(a(t)("admin.settings.wechatConnect.generateAndCopy")),1),Jt.value?(r(),d("code",wx,s(Jt.value),1)):x("",!0)])])]),e("div",null,[e("label",Cx,s(a(t)("admin.settings.wechatConnect.frontendRedirectUrlLabel")),1),m(e("input",{"data-testid":"wechat-connect-frontend-redirect-url","onUpdate:modelValue":i[78]||(i[78]=o=>n.wechat_connect_frontend_redirect_url=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.wechatConnect.frontendRedirectUrlPlaceholder")},null,8,Vx),[[b,n.wechat_connect_frontend_redirect_url]]),e("p",Ux,s(a(t)("admin.settings.wechatConnect.frontendRedirectUrlHint")),1)])])):x("",!0)])]),e("div",Sx,[e("div",Px,[e("h2",$x,s(a(t)("admin.settings.dingtalk.title")),1),e("p",Ex,s(a(t)("admin.settings.dingtalk.description")),1)]),e("div",Ax,[e("div",Tx,[e("div",null,[e("label",Fx,s(a(t)("admin.settings.dingtalk.enable")),1),e("p",Mx,s(a(t)("admin.settings.dingtalk.enableHint")),1)]),h(S,{modelValue:n.dingtalk_connect_enabled,"onUpdate:modelValue":i[79]||(i[79]=o=>n.dingtalk_connect_enabled=o)},null,8,["modelValue"])]),n.dingtalk_connect_enabled?(r(),d("div",Lx,[e("div",Rx,[e("div",null,[e("label",Hx,s(a(t)("admin.settings.dingtalk.clientId")),1),m(e("input",{"onUpdate:modelValue":i[80]||(i[80]=o=>n.dingtalk_connect_client_id=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.dingtalk.clientIdPlaceholder")},null,8,Dx),[[b,n.dingtalk_connect_client_id]]),e("p",jx,s(a(t)("admin.settings.dingtalk.clientIdHint")),1)]),e("div",null,[e("label",zx,s(a(t)("admin.settings.dingtalk.clientSecret")),1),m(e("input",{"onUpdate:modelValue":i[81]||(i[81]=o=>n.dingtalk_connect_client_secret=o),type:"password",class:"input font-mono text-sm",placeholder:n.dingtalk_connect_client_secret_configured?a(t)("admin.settings.dingtalk.clientSecretConfiguredPlaceholder"):a(t)("admin.settings.dingtalk.clientSecretPlaceholder")},null,8,Ox),[[b,n.dingtalk_connect_client_secret]]),e("p",Bx,s(n.dingtalk_connect_client_secret_configured?a(t)("admin.settings.dingtalk.clientSecretConfiguredHint"):a(t)("admin.settings.dingtalk.clientSecretHint")),1)]),e("div",null,[e("label",Ix,s(a(t)("admin.settings.dingtalk.redirectUrl")),1),m(e("input",{"onUpdate:modelValue":i[82]||(i[82]=o=>n.dingtalk_connect_redirect_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.dingtalk.redirectUrlPlaceholder")},null,8,qx),[[b,n.dingtalk_connect_redirect_url]]),e("p",Nx,s(a(t)("admin.settings.dingtalk.redirectUrlHint")),1)]),e("div",Wx,[e("label",Kx,s(a(t)("admin.settings.dingtalk.corpPolicy.label")),1),e("p",Gx,s(a(t)("admin.settings.dingtalk.corpPolicy.hint")),1),e("div",Qx,[e("label",Yx,[m(e("input",{"onUpdate:modelValue":i[83]||(i[83]=o=>n.dingtalk_connect_corp_restriction_policy=o),type:"radio",value:"none",class:"h-4 w-4 text-primary-600"},null,512),[[fs,n.dingtalk_connect_corp_restriction_policy]]),e("span",Jx,s(a(t)("admin.settings.dingtalk.corpPolicy.none")),1)]),e("label",Zx,[m(e("input",{"onUpdate:modelValue":i[84]||(i[84]=o=>n.dingtalk_connect_corp_restriction_policy=o),type:"radio",value:"internal_only",class:"h-4 w-4 text-primary-600"},null,512),[[fs,n.dingtalk_connect_corp_restriction_policy]]),e("span",Xx,s(a(t)("admin.settings.dingtalk.corpPolicy.internalOnly")),1)])])]),n.dingtalk_connect_corp_restriction_policy==="internal_only"?(r(),d("div",e1,[e("div",null,[e("label",t1,s(a(t)("admin.settings.dingtalk.bypassRegistration")),1),e("p",a1,s(a(t)("admin.settings.dingtalk.bypassRegistrationHint")),1)]),h(S,{modelValue:n.dingtalk_connect_bypass_registration,"onUpdate:modelValue":i[85]||(i[85]=o=>n.dingtalk_connect_bypass_registration=o)},null,8,["modelValue"])])):x("",!0),n.dingtalk_connect_corp_restriction_policy==="internal_only"?(r(),d("div",s1,[e("div",n1,[e("div",null,[e("label",i1,s(a(t)("admin.settings.dingtalk.syncDisplayName")),1),e("p",o1,s(a(t)("admin.settings.dingtalk.syncDisplayNameHint")),1)]),h(S,{modelValue:n.dingtalk_connect_sync_display_name,"onUpdate:modelValue":i[86]||(i[86]=o=>n.dingtalk_connect_sync_display_name=o)},null,8,["modelValue"])]),n.dingtalk_connect_sync_display_name?(r(),d("div",l1,[e("div",r1,[e("label",d1,s(a(t)("admin.settings.dingtalk.syncDisplayNameTarget")),1),m(e("input",{"onUpdate:modelValue":i[87]||(i[87]=o=>n.dingtalk_connect_sync_display_name_attr_key=o),type:"text",placeholder:"dingtalk_name",class:"input text-sm flex-1 max-w-xs"},null,512),[[b,n.dingtalk_connect_sync_display_name_attr_key]])]),e("div",c1,[e("label",u1,s(a(t)("admin.settings.dingtalk.syncAttrDisplayName")),1),m(e("input",{"onUpdate:modelValue":i[88]||(i[88]=o=>n.dingtalk_connect_sync_display_name_attr_name=o),type:"text",placeholder:C("ééå§å","DingTalk Name"),class:"input text-sm flex-1 max-w-xs"},null,8,m1),[[b,n.dingtalk_connect_sync_display_name_attr_name]])])])):x("",!0),n.dingtalk_connect_sync_display_name?(r(),d("p",_1,s(a(t)("admin.settings.dingtalk.syncDisplayNameTargetHint")),1)):x("",!0)])):x("",!0),n.dingtalk_connect_corp_restriction_policy==="internal_only"?(r(),d("div",p1,[e("div",g1,[e("div",null,[e("label",y1,s(a(t)("admin.settings.dingtalk.syncCorpEmail")),1),e("p",b1,s(a(t)("admin.settings.dingtalk.syncCorpEmailHint")),1),e("p",h1,s(a(t)("admin.settings.dingtalk.syncCorpEmailPermissionHint")),1)]),h(S,{modelValue:n.dingtalk_connect_sync_corp_email,"onUpdate:modelValue":i[89]||(i[89]=o=>n.dingtalk_connect_sync_corp_email=o)},null,8,["modelValue"])]),n.dingtalk_connect_sync_corp_email?(r(
12),d("div",x1,[e("div",f1,[e("label",k1,s(a(t)("admin.settings.dingtalk.syncCorpEmailTarget")),1),m(e("input",{"onUpdate:modelValue":i[90]||(i[90]=o=>n.dingtalk_connect_sync_corp_email_attr_key=o),type:"text",placeholder:"dingtalk_email",class:"input text-sm flex-1 max-w-xs"},null,512),[[b,n.dingtalk_connect_sync_corp_email_attr_key]])]),e("div",v1,[e("label",w1,s(a(t)("admin.settings.dingtalk.syncAttrDisplayName")),1),m(e("input",{"onUpdate:modelValue":i[91]||(i[91]=o=>n.dingtalk_connect_sync_corp_email_attr_name=o),type:"text",placeholder:C("ééä¼ä¸é®ç®±","DingTalk Corporate Email"),class:"input text-sm flex-1 max-w-xs"},null,8,C1),[[b,n.dingtalk_connect_sync_corp_email_attr_name]])])])):x("",!0),n.dingtalk_connect_sync_corp_email?(r(),d("p",V1,s(a(t)("admin.settings.dingtalk.syncCorpEmailTargetHint")),1)):x("",!0)])):x("",!0),n.dingtalk_connect_corp_restriction_policy==="internal_only"?(r(),d("div",U1,[e("div",S1,[e("div",null,[e("label",P1,s(a(t)("admin.settings.dingtalk.syncDept")),1),e("p",$1,s(a(t)("admin.settings.dingtalk.syncDeptHint")),1),e("p",E1,s(a(t)("admin.settings.dingtalk.syncDeptPermissionHint")),1)]),h(S,{modelValue:n.dingtalk_connect_sync_dept,"onUpdate:modelValue":i[92]||(i[92]=o=>n.dingtalk_connect_sync_dept=o)},null,8,["modelValue"])]),n.dingtalk_connect_sync_dept?(r(),d("div",A1,[e("div",T1,[e("label",F1,s(a(t)("admin.settings.dingtalk.syncDeptTarget")),1),m(e("input",{"onUpdate:modelValue":i[93]||(i[93]=o=>n.dingtalk_connect_sync_dept_attr_key=o),type:"text",placeholder:"dingtalk_department",class:"input text-sm flex-1 max-w-xs"},null,512),[[b,n.dingtalk_connect_sync_dept_attr_key]])]),e("div",M1,[e("label",L1,s(a(t)("admin.settings.dingtalk.syncAttrDisplayName")),1),m(e("input",{"onUpdate:modelValue":i[94]||(i[94]=o=>n.dingtalk_connect_sync_dept_attr_name=o),type:"text",placeholder:C("ééé¨é¨","DingTalk Department"),class:"input text-sm flex-1 max-w-xs"},null,8,R1),[[b,n.dingtalk_connect_sync_dept_attr_name]])])])):x("",!0),n.dingtalk_connect_sync_dept?(r(),d("p",H1,s(a(t)("admin.settings.dingtalk.syncDeptTargetHint")),1)):x("",!0)])):x("",!0)])])):x("",!0)])]),e("div",D1,[e("div",j1,[e("h2",z1,s(a(t)("admin.settings.oidc.title")),1),e("p",O1,s(a(t)("admin.settings.oidc.description")),1)]),e("div",B1,[e("div",I1,[e("div",null,[e("label",q1,s(a(t)("admin.settings.oidc.enable")),1),e("p",N1,s(a(t)("admin.settings.oidc.enableHint")),1)]),h(S,{modelValue:n.oidc_connect_enabled,"onUpdate:modelValue":i[95]||(i[95]=o=>n.oidc_connect_enabled=o)},null,8,["modelValue"])]),n.oidc_connect_enabled?(r(),d("div",W1,[e("div",K1,[e("div",null,[e("label",G1,s(a(t)("admin.settings.oidc.providerName")),1),m(e("input",{"onUpdate:modelValue":i[96]||(i[96]=o=>n.oidc_connect_provider_name=o),type:"text",class:"input",placeholder:a(t)("admin.settings.oidc.providerNamePlaceholder")},null,8,Q1),[[b,n.oidc_connect_provider_name]])]),e("div",null,[e("label",Y1,s(a(t)("admin.settings.oidc.clientId")),1),m(e("input",{"onUpdate:modelValue":i[97]||(i[97]=o=>n.oidc_connect_client_id=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.clientIdPlaceholder")},null,8,J1),[[b,n.oidc_connect_client_id]])]),e("div",null,[e("label",Z1,s(a(t)("admin.settings.oidc.clientSecret")),1),m(e("input",{"onUpdate:modelValue":i[98]||(i[98]=o=>n.oidc_connect_client_secret=o),type:"password",class:"input font-mono text-sm",placeholder:n.oidc_connect_client_secret_configured?a(t)("admin.settings.oidc.clientSecretConfiguredPlaceholder"):a(t)("admin.settings.oidc.clientSecretPlaceholder")},null,8,X1),[[b,n.oidc_connect_client_secret]]),e("p",ef,s(n.oidc_connect_client_secret_configured?a(t)("admin.settings.oidc.clientSecretConfiguredHint"):a(t)("admin.settings.oidc.clientSecretHint")),1)])]),e("div",tf,[e("div",null,[e("label",af,s(a(t)("admin.settings.oidc.issuerUrl")),1),m(e("input",{"onUpdate:modelValue":i[99]||(i[99]=o=>n.oidc_connect_issuer_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.issuerUrlPlaceholder")},null,8,sf),[[b,n.oidc_connect_issuer_url]])]),e("div",null,[e("label",nf,s(a(t)("admin.settings.oidc.discoveryUrl")),1),m(e("input",{"onUpdate:modelValue":i[100]||(i[100]=o=>n.oidc_connect_discovery_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.discoveryUrlPlaceholder")},null,8,of),[[b,n.oidc_connect_discovery_url]])]),e("div",null,[e("label",lf,s(a(t)("admin.settings.oidc.authorizeUrl")),1),m(e("input",{"onUpdate:modelValue":i[101]||(i[101]=o=>n.oidc_connect_authorize_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.authorizeUrlPlaceholder")},null,8,rf),[[b,n.oidc_connect_authorize_url]])]),e("div",null,[e("label",df,s(a(t)("admin.settings.oidc.tokenUrl")),1),m(e("input",{"onUpdate:modelValue":i[102]||(i[102]=o=>n.oidc_connect_token_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.tokenUrlPlaceholder")},null,8,cf),[[b,n.oidc_connect_token_url]])]),e("div",null,[e("label",uf,s(a(t)("admin.settings.oidc.userinfoUrl")),1),m(e("input",{"onUpdate:modelValue":i[103]||(i[103]=o=>n.oidc_connect_userinfo_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.userinfoUrlPlaceholder")},null,8,mf),[[b,n.oidc_connect_userinfo_url]])]),e("div",null,[e("label",_f,s(a(t)("admin.settings.oidc.jwksUrl")),1),m(e("input",{"onUpdate:modelValue":i[104]||(i[104]=o=>n.oidc_connect_jwks_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.jwksUrlPlaceholder")},null,8,pf),[[b,n.oidc_connect_jwks_url]])])]),e("div",gf,[e("div",null,[e("label",yf,s(a(t)("admin.settings.oidc.scopes")),1),m(e("input",{"onUpdate:modelValue":i[105]||(i[105]=o=>n.oidc_connect_scopes=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.scopesPlaceholder")},null,8,bf),[[b,n.oidc_connect_scopes]]),e("p",hf,s(a(t)("admin.settings.oidc.scopesHint")),1)]),e("div",null,[e("label",xf,s(a(t)("admin.settings.oidc.redirectUrl")),1),m(e("input",{"onUpdate:modelValue":i[106]||(i[106]=o=>n.oidc_connect_redirect_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.redirectUrlPlaceholder")},null,8,ff),[[b,n.oidc_connect_redirect_url]]),e("div",kf,[e("button",{type:"button",class:"btn btn-secondary btn-sm w-fit",onClick:wn},s(a(t)("admin.settings.oidc.quickSetCopy")),1),Zt.value?(r(),d("code",vf,s(Zt.value),1)):x("",!0)]),e("p",wf,s(a(t)("admin.settings.oidc.redirectUrlHint")),1)]),e("div",Cf,[e("label",Vf,s(a(t)("admin.settings.oidc.frontendRedirectUrl")),1),m(e("input",{"onUpdate:modelValue":i[107]||(i[107]=o=>n.oidc_connect_frontend_redirect_url=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.frontendRedirectUrlPlaceholder")},null,8,Uf),[[b,n.oidc_connect_frontend_redirect_url]]),e("p",Sf,s(a(t)("admin.settings.oidc.frontendRedirectUrlHint")),1)])]),e("div",Pf,[e("div",null,[e("label",$f,s(a(t)("admin.settings.oidc.tokenAuthMethod")),1),m(e("select",{"onUpdate:modelValue":i[108]||(i[108]=o=>n.oidc_connect_token_auth_method=o),class:"input font-mono text-sm"},[...i[283]||(i[283]=[e("option",{value:"client_secret_post"}," client_secret_post ",-1),e("option",{value:"client_secret_basic"}," client_secret_basic ",-1),e("option",{value:"none"},"none",-1)])],512),[[Je,n.oidc_connect_token_auth_method]])]),e("div",null,[e("label",Ef,s(a(t)("admin.settings.oidc.clockSkewSeconds")),1),m(e("input",{"onUpdate:modelValue":i[109]||(i[109]=o=>n.oidc_connect_clock_skew_seconds=o),type:"number",min:"0",max:"600",class:"input"},null,512),[[b,n.oidc_connect_clock_skew_seconds,void 0,{number:!0}]])]),e("div",null,[e("label",Af,s(a(t)("admin.settings.oidc.allowedSigningAlgs")),1),m(e("input",{"onUpdate:modelValue":i[110]||(i[110]=o=>n.oidc_connect_allowed_signing_algs=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.allowedSigningAlgsPlaceholder")},null,8,Tf),[[b,n.oidc_connect_allowed_signing_algs]])])]),e("div",Ff,[e("div",Mf,[e("div",null,[e("label",Lf,s(a(t)("admin.settings.oidc.usePkce")),1)]),h(S,{modelValue:n.oidc_connect_use_pkce,"onUpdate:modelValue":i[111]||(i[111]=o=>n.oidc_connect_use_pkce=o),"data-testid":"oidc-connect-use-pkce"},null,8,["modelValue"])]),e("div",Rf,[e("div",null,[e("label",Hf,s(a(t)("admin.settings.oidc.validateIdToken")),1)]),h(S,{modelValue:n.oidc_connect_validate_id_token,"onUpdate:modelValue":i[112]||(i[112]=o=>n.oidc_connect_validate_id_token=o),"data-testid":"oidc-connect-validate-id-token"},null,8,["modelValue"])]),e("div",Df,[e("div",null,[e("label",jf,s(a(t)("admin.settings.oidc.requireEmailVerified")),1)]),h(S,{modelValue:n.oidc_connect_require_email_verified,"onUpdate:modelValue":i[113]||(i[113]=o=>n.oidc_connect_require_email_verified=o)},null,8,["modelValue"])])]),e("div",zf,[e("div",null,[e("label",Of,s(a(t)("admin.settings.oidc.userinfoEmailPath")),1
12),m(e("input",{"onUpdate:modelValue":i[114]||(i[114]=o=>n.oidc_connect_userinfo_email_path=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.userinfoEmailPathPlaceholder")},null,8,Bf),[[b,n.oidc_connect_userinfo_email_path]])]),e("div",null,[e("label",If,s(a(t)("admin.settings.oidc.userinfoIdPath")),1),m(e("input",{"onUpdate:modelValue":i[115]||(i[115]=o=>n.oidc_connect_userinfo_id_path=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.userinfoIdPathPlaceholder")},null,8,qf),[[b,n.oidc_connect_userinfo_id_path]])]),e("div",null,[e("label",Nf,s(a(t)("admin.settings.oidc.userinfoUsernamePath")),1),m(e("input",{"onUpdate:modelValue":i[116]||(i[116]=o=>n.oidc_connect_userinfo_username_path=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.oidc.userinfoUsernamePathPlaceholder")},null,8,Wf),[[b,n.oidc_connect_userinfo_username_path]])])])])):x("",!0)])])],512),[[Te,U.value==="security"]]),m(e("div",Kf,[e("div",Gf,[e("div",Qf,[e("h2",Yf,s(a(t)("admin.settings.defaults.title")),1),e("p",Jf,s(a(t)("admin.settings.defaults.description")),1)]),e("div",Zf,[e("div",Xf,[e("div",null,[e("label",ek,s(a(t)("admin.settings.defaults.defaultBalance")),1),m(e("input",{"onUpdate:modelValue":i[117]||(i[117]=o=>n.default_balance=o),type:"number",step:"0.01",min:"0",class:"input",placeholder:"0.00"},null,512),[[b,n.default_balance,void 0,{number:!0}]]),e("p",tk,s(a(t)("admin.settings.defaults.defaultBalanceHint")),1)]),e("div",null,[e("label",ak,s(a(t)("admin.settings.defaults.defaultConcurrency")),1),m(e("input",{"onUpdate:modelValue":i[118]||(i[118]=o=>n.default_concurrency=o),type:"number",min:"1",class:"input",placeholder:"1"},null,512),[[b,n.default_concurrency,void 0,{number:!0}]]),e("p",sk,s(a(t)("admin.settings.defaults.defaultConcurrencyHint")),1)]),e("div",null,[e("label",nk,s(a(t)("admin.settings.defaults.defaultUserRpmLimit")),1),m(e("input",{"onUpdate:modelValue":i[119]||(i[119]=o=>n.default_user_rpm_limit=o),type:"number",min:"0",step:"1",class:"input",placeholder:"0"},null,512),[[b,n.default_user_rpm_limit,void 0,{number:!0}]]),e("p",ik,s(a(t)("admin.settings.defaults.defaultUserRpmLimitHint")),1)])]),e("div",ok,[e("div",lk,[e("div",null,[e("label",rk,s(a(t)("admin.settings.defaults.defaultSubscriptions")),1),e("p",dk,s(a(t)("admin.settings.defaults.defaultSubscriptionsHint")),1)]),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:Bn,disabled:Ue.value.length===0},s(a(t)("admin.settings.defaults.addDefaultSubscription")),9,ck)]),n.default_subscriptions.length===0?(r(),d("div",uk,s(a(t)("admin.settings.defaults.defaultSubscriptionsEmpty")),1)):(r(),d("div",mk,[(r(!0),d(M,null,B(n.default_subscriptions,(o,p)=>(r(),d("div",{key:`default-sub-${p}`,class:"grid grid-cols-1 gap-3 rounded border border-gray-200 p-3 md:grid-cols-[1fr_160px_auto] dark:border-dark-600"},[e("div",null,[e("label",_k,s(a(t)("admin.settings.defaults.subscriptionGroup")),1),h(fe,{modelValue:o.group_id,"onUpdate:modelValue":_=>o.group_id=_,class:"default-sub-group-select",options:Ra.value,placeholder:a(t)("admin.settings.defaults.subscriptionGroup")},{selected:Pe(({option:_})=>[_?(r(),Be(ws,{key:0,name:_.label,platform:_.platform,"subscription-type":_.subscriptionType,"rate-multiplier":_.rate},null,8,["name","platform","subscription-type","rate-multiplier"])):(r(),d("span",pk,s(a(t)("admin.settings.defaults.subscriptionGroup")),1))]),option:Pe(({option:_,selected:L})=>[h(Cs,{name:_.label,platform:_.platform,"subscription-type":_.subscriptionType,"rate-multiplier":_.rate,description:_.description,selected:L},null,8,["name","platform","subscription-type","rate-multiplier","description","selected"])]),_:1},8,["modelValue","onUpdate:modelValue","options","placeholder"])]),e("div",null,[e("label",gk,s(a(t)("admin.settings.defaults.subscriptionValidityDays")),1),m(e("input",{"onUpdate:modelValue":_=>o.validity_days=_,type:"number",min:"1",max:"36500",class:"input h-[42px]"},null,8,yk),[[b,o.validity_days,void 0,{number:!0}]])]),e("div",bk,[e("button",{type:"button",class:"btn btn-secondary default-sub-delete-btn w-full text-red-600 hover:text-red-700 dark:text-red-400",onClick:_=>In(p)},s(a(t)("common.delete")),9,hk)])]))),128))]))]),e("div",xk,[e("div",fk,[e("label",kk,s(a(t)("admin.settings.defaults.defaultPlatformQuotas")),1),e("p",vk,s(a(t)("admin.settings.defaults.defaultPlatformQuotasHint")),1),e("p",wk,s(a(t)("admin.settings.defaults.platformQuotaNotice")),1)]),e("div",Ck,[e("table",Vk,[e("thead",null,[e("tr",Uk,[e("th",Sk,s(a(t)("admin.settings.platformQuota.platform")),1),e("th",Pk,s(a(t)("admin.settings.platformQuota.daily")),1),e("th",$k,s(a(t)("admin.settings.platformQuota.weekly")),1),e("th",Ek,s(a(t)("admin.settings.platformQuota.monthly")),1)])]),e("tbody",Ak,[(r(),d(M,null,B(["anthropic","openai","gemini","antigravity","grok"],o=>e("tr",{key:o,class:"align-top"},[e("td",Tk,[e("span",Fk,s(o),1)]),e("td",Mk,[m(e("input",{"onUpdate:modelValue":p=>n.default_platform_quotas[o].daily=p,type:"number",step:"0.01",min:"0",class:"input h-8 w-28 text-sm",placeholder:a(t)("admin.settings.platformQuota.placeholder")},null,8,Lk),[[b,n.default_platform_quotas[o].daily,void 0,{number:!0}]])]),e("td",Rk,[m(e("input",{"onUpdate:modelValue":p=>n.default_platform_quotas[o].weekly=p,type:"number",step:"0.01",min:"0",class:"input h-8 w-28 text-sm",placeholder:a(t)("admin.settings.platformQuota.placeholder")},null,8,Hk),[[b,n.default_platform_quotas[o].weekly,void 0,{number:!0}]])]),e("td",Dk,[m(e("input",{"onUpdate:modelValue":p=>n.default_platform_quotas[o].monthly=p,type:"number",step:"0.01",min:"0",class:"input h-8 w-28 text-sm",placeholder:a(t)("admin.settings.platformQuota.placeholder")},null,8,jk),[[b,n.default_platform_quotas[o].monthly,void 0,{number:!0}]])])])),64))])])])])])]),e("div",zk,[e("div",Ok,[e("h2",Bk,s(a(t)("admin.settings.authSourceDefaults.title")),1),e("p",Ik,s(a(t)("admin.settings.authSourceDefaults.description")),1)]),e("div",qk,[e("div",Nk,[e("div",null,[e("label",Wk,s(a(t)("admin.settings.authSourceDefaults.requireEmailLabel")),1),e("p",Kk,s(a(t)("admin.settings.authSourceDefaults.requireEmailHint")),1)]),h(S,{modelValue:n.force_email_on_third_party_signup,"onUpdate:modelValue":i[120]||(i[120]=o=>n.force_email_on_third_party_signup=o)},null,8,["modelValue"])]),e("div",Gk,[(r(!0),d(M,null,B(Fa.value,o=>(r(),d("div",{key:o.source,class:"rounded-xl border border-gray-200 p-4 dark:border-dark-700"},[e("div",Qk,[e("div",null,[e("div",Yk,s(o.title),1),e("p",Jk,s(o.description),1)]),h(S,{modelValue:ce[o.source].grant_on_signup,"onUpdate:modelValue":p=>ce[o.source].grant_on_signup=p,"data-testid":`auth-source-${o.source}-enabled`},null,8,["modelValue","onUpdate:modelValue","data-testid"])]),ce[o.source].grant_on_signup?(r(),d("div",{key:0,"data-testid":`auth-source-${o.source}-panel`,class:"mt-4 space-y-4 border-t border-gray-100 pt-4 dark:border-dark-700"},[e("p",Xk,s(a(t)("admin.settings.authSourceDefaults.enabledHint")),1),e("div",ev,[e("div",null,[e("label",tv,s(a(t)("admin.settings.defaults.defaultBalance")),1),m(e("input",{"onUpdate:modelValue":p=>ce[o.source].balance=p,type:"number",step:"0.01",min:"0",class:"input",placeholder:"0.00"},null,8,av),[[b,ce[o.source].balance,void 0,{number:!0}]])]),e("div",null,[e("label",sv,s(a(t)("admin.settings.defaults.defaultConcurrency")),1),m(e("input",{"onUpdate:modelValue":p=>ce[o.source].concurrency=p,type:"number",min:"1",class:"input",placeholder:"5"},null,8,nv),[[b,ce[o.source].concurrency,void 0,{number:!0}]])])]),e("div",iv,[e("div",null,[e("label",ov,s(a(t)("admin.settings.authSourceDefaults.grantOnFirstBindLabel")),1),e("p",lv,s(a(t)("admin.settings.authSourceDefaults.grantOnFirstBindHint")),1)]),h(S,{modelValue:ce[o.source].grant_on_first_bind,"onUpdate:modelValue":p=>ce[o.source].grant_on_first_bind=p},null,8,["modelValue","onUpdate:modelValue"])]),e("div",rv,[e("div",null,[e("label",dv,s(a(t)("admin.settings.authSourceDefaults.defaultSubscriptionsLabel")),1),e("p",cv,s(a(t)("admin.settings.authSourceDefaults.defaultSubscriptions
12Hint")),1)]),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:p=>qn(o.source),disabled:Ue.value.length===0},s(a(t)("admin.settings.defaults.addDefaultSubscription")),9,uv)]),ce[o.source].subscriptions.length===0?(r(),d("div",mv,s(a(t)("admin.settings.authSourceDefaults.noSourceSubscriptions")),1)):(r(),d("div",_v,[(r(!0),d(M,null,B(ce[o.source].subscriptions,(p,_)=>(r(),d("div",{key:`${o.source}-sub-${_}`,class:"grid grid-cols-1 gap-3 rounded border border-gray-200 p-3 md:grid-cols-[1fr_160px_auto] dark:border-dark-600"},[e("div",null,[e("label",pv,s(a(t)("admin.settings.defaults.subscriptionGroup")),1),h(fe,{modelValue:p.group_id,"onUpdate:modelValue":L=>p.group_id=L,class:"default-sub-group-select",options:Ra.value,placeholder:a(t)("admin.settings.defaults.subscriptionGroup")},{selected:Pe(({option:L})=>[L?(r(),Be(ws,{key:0,name:L.label,platform:L.platform,"subscription-type":L.subscriptionType,"rate-multiplier":L.rate},null,8,["name","platform","subscription-type","rate-multiplier"])):(r(),d("span",gv,s(a(t)("admin.settings.defaults.subscriptionGroup")),1))]),option:Pe(({option:L,selected:xe})=>[h(Cs,{name:L.label,platform:L.platform,"subscription-type":L.subscriptionType,"rate-multiplier":L.rate,description:L.description,selected:xe},null,8,["name","platform","subscription-type","rate-multiplier","description","selected"])]),_:1},8,["modelValue","onUpdate:modelValue","options","placeholder"])]),e("div",null,[e("label",yv,s(a(t)("admin.settings.defaults.subscriptionValidityDays")),1),m(e("input",{"onUpdate:modelValue":L=>p.validity_days=L,type:"number",min:"1",max:"36500",class:"input h-[42px]"},null,8,bv),[[b,p.validity_days,void 0,{number:!0}]])]),e("div",hv,[e("button",{type:"button",class:"btn btn-secondary w-full text-red-600 hover:text-red-700 dark:text-red-400",onClick:L=>Nn(o.source,_)},s(a(t)("common.delete")),9,xv)])]))),128))])),e("div",fv,[e("div",kv,[e("label",vv,s(a(t)("admin.settings.authSourceDefaults.platformQuotasOverride")),1),e("p",wv,s(a(t)("admin.settings.authSourceDefaults.platformQuotasOverrideHint")),1)]),e("div",Cv,[e("table",Vv,[e("thead",null,[e("tr",Uv,[e("th",Sv,s(a(t)("admin.settings.platformQuota.platform")),1),e("th",Pv,s(a(t)("admin.settings.platformQuota.daily")),1),e("th",$v,s(a(t)("admin.settings.platformQuota.weekly")),1),e("th",Ev,s(a(t)("admin.settings.platformQuota.monthly")),1)])]),e("tbody",null,[(r(),d(M,null,B(["anthropic","openai","gemini","antigravity","grok"],p=>e("tr",{key:`${o.source}-pq-${p}`,class:"align-top"},[e("td",Av,[e("span",Tv,s(p),1)]),e("td",Fv,[m(e("input",{"onUpdate:modelValue":_=>ce[o.source].platform_quotas[p].daily=_,type:"number",step:"0.01",min:"0",class:"input h-8 w-28 text-sm",placeholder:a(t)("admin.settings.platformQuota.placeholder")},null,8,Mv),[[b,ce[o.source].platform_quotas[p].daily,void 0,{number:!0}]])]),e("td",Lv,[m(e("input",{"onUpdate:modelValue":_=>ce[o.source].platform_quotas[p].weekly=_,type:"number",step:"0.01",min:"0",class:"input h-8 w-28 text-sm",placeholder:a(t)("admin.settings.platformQuota.placeholder")},null,8,Rv),[[b,ce[o.source].platform_quotas[p].weekly,void 0,{number:!0}]])]),e("td",Hv,[m(e("input",{"onUpdate:modelValue":_=>ce[o.source].platform_quotas[p].monthly=_,type:"number",step:"0.01",min:"0",class:"input h-8 w-28 text-sm",placeholder:a(t)("admin.settings.platformQuota.placeholder")},null,8,Dv),[[b,ce[o.source].platform_quotas[p].monthly,void 0,{number:!0}]])])])),64))])])])])],8,Zk)):x("",!0)]))),128))])])])],512),[[Te,U.value==="users"]]),m(e("div",jv,[e("div",zv,[e("div",Ov,[e("h2",Bv,s(a(t)("admin.settings.claudeCode.title")),1),e("p",Iv,s(a(t)("admin.settings.claudeCode.description")),1)]),e("div",qv,[e("div",null,[e("label",Nv,s(a(t)("admin.settings.claudeCode.minVersion")),1),m(e("input",{"onUpdate:modelValue":i[121]||(i[121]=o=>n.min_claude_code_version=o),type:"text",class:"input max-w-xs font-mono text-sm",placeholder:a(t)("admin.settings.claudeCode.minVersionPlaceholder")},null,8,Wv),[[b,n.min_claude_code_version]]),e("p",Kv,s(a(t)("admin.settings.claudeCode.minVersionHint")),1)]),e("div",Gv,[e("label",Qv,s(a(t)("admin.settings.claudeCode.maxVersion")),1),m(e("input",{"onUpdate:modelValue":i[122]||(i[122]=o=>n.max_claude_code_version=o),type:"text",class:"input max-w-xs font-mono text-sm",placeholder:a(t)("admin.settings.claudeCode.maxVersionPlaceholder")},null,8,Yv),[[b,n.max_claude_code_version]]),e("p",Jv,s(a(t)("admin.settings.claudeCode.maxVersionHint")),1)])])]),e("div",Zv,[e("div",Xv,[e("h2",e2,s(a(t)("admin.settings.gatewayForwarding.codexHardeningTitle")),1)]),e("div",t2,[e("div",null,[e("h3",a2,s(a(t)("admin.settings.gatewayForwarding.codexClientRestrictionTitle")),1),e("p",s2,s(a(t)("admin.settings.gatewayForwarding.codexHardeningDesc")),1
12)]),e("div",n2,[e("div",null,[e("label",i2,s(a(t)("admin.settings.gatewayForwarding.minCodexVersion")),1),m(e("input",{"onUpdate:modelValue":i[123]||(i[123]=o=>n.min_codex_version=o),type:"text",class:"input w-full font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.minCodexVersionPlaceholder")},null,8,o2),[[b,n.min_codex_version]])]),e("div",null,[e("label",l2,s(a(t)("admin.settings.gatewayForwarding.maxCodexVersion")),1),m(e("input",{"onUpdate:modelValue":i[124]||(i[124]=o=>n.max_codex_version=o),type:"text",class:"input w-full font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.maxCodexVersionPlaceholder")},null,8,r2),[[b,n.max_codex_version]])])]),e("p",d2,s(a(t)("admin.settings.gatewayForwarding.codexVersionHint")),1),e("div",null,[e("label",c2,s(a(t)("admin.settings.gatewayForwarding.codexFingerprintSignals")),1),e("p",u2,s(a(t)("admin.settings.gatewayForwarding.codexFingerprintSignalsDesc")),1),(r(!0),d(M,null,B(it.value,(o,p)=>(r(),d("div",{key:`codex-fp-${p}`,class:"mb-2 flex items-center gap-2"},[m(e("select",{"onUpdate:modelValue":_=>o.type=_,class:"input w-32 text-sm"},[e("option",_2,s(a(t)("admin.settings.gatewayForwarding.codexFpTypeHeaderExact")),1),e("option",p2,s(a(t)("admin.settings.gatewayForwarding.codexFpTypeHeaderPrefix")),1),e("option",g2,s(a(t)("admin.settings.gatewayForwarding.codexFpTypeBodyPath")),1)],8,m2),[[Je,o.type]]
12),m(e("input",{"onUpdate:modelValue":_=>o.match=_,type:"text",class:"input flex-1 font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.codexFpMatchPlaceholder")},null,8,y2),[[b,o.match]]),e("label",b2,[m(e("input",{"onUpdate:modelValue":_=>o.required=_,type:"checkbox"},null,8,h2),[[Ze,o.required]]),T(" "+s(a(t)("admin.settings.gatewayForwarding.codexFpRequired")),1)]),e("button",{type:"button",class:"btn btn-secondary btn-sm shrink-0 text-red-600 hover:text-red-700 dark:text-red-400",onClick:_=>Ln(p)},s(a(t)("admin.settings.gatewayForwarding.codexRemoveRow")),9,x2)]))),128)),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:Mn},s(a(t)("admin.settings.gatewayForwarding.codexAddRow")),1),Fn.value?(r(),d("p",f2,s(a(t)("admin.settings.gatewayForwarding.codexFingerprintNoRequiredWarn")),1)):x("",!0)]),e("div",k2,[e("div",v2,[e("label",w2,s(a(t)("admin.settings.gatewayForwarding.codexAllowAppServer")),1),e("p",C2,s(a(t)("admin.settings.gatewayForwarding.codexAllowAppServerDesc")),1)]),h(S,{modelValue:n.codex_cli_only_allow_app_server_clients,"onUpdate:modelValue":i[125]||(i[125]=o=>n.codex_cli_only_allow_app_server_clients=o)},null,8,["modelValue"])]),e("div",null,[e("label",V2,s(a(t)("admin.settings.gatewayForwarding.codexBlacklist")),1),e("p",U2,s(a(t)("admin.settings.gatewayForwarding.codexBlacklistDesc")),1),(r(!0),d(M,null,B(_t.value,(o,p)=>(r(),d("div",{key:`codex-bl-${p}`,class:"mb-2 flex gap-2"},[m(e("input",{"onUpdate:modelValue":_=>o.originator=_,type:"text",class:"input w-1/3 font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.codexOriginatorPlaceholder")},null,8,S2),[[b,o.originator]]),m(e("input",{"onUpdate:modelValue":_=>o.uaContains=_,type:"text",class:"input flex-1 font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.codexUaContainsPlaceholder")},null,8,P2),[[b,o.uaContains]]),e("button",{type:"button",class:"btn btn-secondary btn-sm shrink-0 text-red-600 hover:text-red-700 dark:text-red-400",onClick:_=>Hn(p)},s(a(t)("admin.settings.gatewayForwarding.codexRemoveRow")),9,$2)]))),128)),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:Rn},s(a(t)("admin.settings.gatewayForwarding.codexAddRow")),1)]),e("div",null,[e("label",E2,s(a(t)("admin.settings.gatewayForwarding.codexWhitelist")),1),e("p",A2,s(a(t)("admin.settings.gatewayForwarding.codexWhitelistDesc")),1),(r(!0),d(M,null,B(pt.value,(o,p)=>(r(),d("div",{key:`codex-wl-${p}`,class:"mb-2 flex gap-2"},[m(e("input",{"onUpdate:modelValue":_=>o.originator=_,type:"text",class:"input w-1/3 font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.codexOriginatorPlaceholder")},null,8,T2),[[b,o.originator]]),m(e("input",{"onUpdate:modelValue":_=>o.uaContains=_,type:"text",class:"input flex-1 font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.codexUaContainsPlaceholder")},null,8,F2),[[b,o.uaContains]]),e("label",{class:"flex shrink-0 items-center gap-1 text-xs text-gray-600 dark:text-gray-400",title:a(t)("admin.settings.gatewayForwarding.codexWhitelistSkipFingerprintTooltip")},[m(e("input",{"onUpdate:modelValue":_=>o.skipEngineFingerprint=_,type:"checkbox"},null,8,L2),[[Ze,o.skipEngineFingerprint]]),T(" "+s(a(t)("admin.settings.gatewayForwarding.codexWhitelistSkipFingerprint")),1)],8,M2),e("button",{type:"button",class:"btn btn-secondary btn-sm shrink-0 text-red-600 hover:text-red-700 dark:text-red-400",onClick:_=>jn(p)},s(a(t)("admin.settings.gatewayForwarding.codexRemoveRow")),9,R2)]))),128)),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:Dn},s(a(t)("admin.settings.gatewayForwarding.codexAddRow")),1)])])]),e("div",H2,[e("div",D2,[e("h2",j2,s(a(t)("admin.settings.upstreamBillingProbe.title")),1),e("p",z2,s(a(t)("admin.settings.upstreamBillingProbe.description")),1)]),e("div",O2,[Ie.value?(r(),d("div",B2,[i[284]||(i[284]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),T(" "+s(a(t)("common.loading")),1)])):(r(),d(M,{key:1},[e("div",I2,[e("div",null,[e("label",q2,s(a(t)("admin.settings.upstreamBillingProbe.enabled")),1),e("p",N2,s(a(t)("admin.settings.upstreamBillingProbe.enabledHint")),1)]),h(S,{modelValue:ve.enabled,"onUpdate:modelValue":i[126]||(i[126]=o=>ve.enabled=o),"aria-label":a(t)("admin.settings.upstreamBillingProbe.enabled"),"data-testid":"upstream-billing-probe-enabled"},null,8,["modelValue","aria-label"])]),ve.enabled?(r(),d("div",W2,[e("label",K2,s(a(t)("admin.settings.upstreamBillingProbe.intervalMinutes")),1),m(e("input",{id:"upstream-billing-probe-interval","onUpdate:modelValue":i[127]||(i[127]=o=>ve.interval_minutes=o),type:"number",min:"5",max:"1440",class:"input w-32","data-testid":"upstream-billing-probe-interval",onKeydown:Pt(Oe(ts,["prevent"]),["enter"])},null,40,G2),[[b,ve.interval_minutes,void 0,{number:!0}]]),e("p",Q2,s(a(t)("admin.settings.upstreamBillingProbe.intervalHint")),1)])):x("",!0),e("div",Y2,[e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:He.value,"data-testid":"upstream-billing-probe-save",onClick:ts},s(He.value?a(t)("common.saving"):a(t)("common.save")),9,J2)])],64))])]),e("div",Z2,[e("div",X2,[e("h2",ew,s(a(t)("admin.settings.ollamaCloudUsage.title")),1),e("p",tw,s(a(t)("admin.settings.ollamaCloudUsage.description")),1)]),e("div",aw,[Fe.value?(r(),d("div",sw,[i[285]||(i[285]=e("div",{class:"h-4 w-4 animate-spin rounded-full border-b-2 border-primary-600"},null,-1)),T(" "+s(a(t)("common.loading")),1)])):(r(),d(M,{key:1},[e("div",nw,[e("div",null,[e("label",iw,s(a(t)("admin.settings.ollamaCloudUsage.enabled")),1),e("p",ow,s(a(t)("admin.settings.ollamaCloudUsage.enabledHint")),1)]),h(S,{modelValue:he.enabled,"onUpdate:modelValue":i[128]||(i[128]=o=>he.enabled=o),"aria-label":a(t)("admin.settings.ollamaCloudUsage.enabled"),"data-testid":"ollama-cloud-usage-global-enabled"},null,8,["modelValue","aria-label"])]),he.enabled?(r(),d("div",lw,[e("div",null,[e("label",rw,s(a(t)("admin.settings.ollamaCloudUsage.debounceMinutes")),1),m(e("input",{id:"ollama-cloud-usage-debounce","onUpdate:modelValue":i[129]||(i[129]=o=>he.debounce_minutes=o),type:"number",min:"1",max:"60",class:"input w-32","data-testid":"ollama-cloud-usage-global-debounce",onKeydown:Pt(Oe(Xt,["prevent"]),["enter"])},null,40,dw),[[b,he.debounce_minutes,void 0,{number:!0}]]),e("p",cw,s(a(t)("admin.settings.ollamaCloudUsage.debounceHint")),1)]),e("div",null,[e("label",uw,s(a(t)("admin.settings.ollamaCloudUsage.intervalMinutes")),1),m(e("input",{id:"ollama-cloud-usage-interval","onUpdate:modelValue":i[130]||(i[130]=o=>he.interval_minutes=o),type:"number",min:"15",max:"1440",class:"input w-32","data-testid":"ollama-cloud-usage-global-interval",onKeydown:Pt(Oe(Xt,["prevent"]),["enter"])},null,40,mw),[[b,he.interval_minutes,void 0,{number:!0}]]),e("p",_w,s(a(t)("admin.settings.ollamaCloudUsage.intervalHint")),1)])])):x("",!0),e("div",pw,[e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:qe.value,"data-testid":"ollama-cloud-usage-global-save",onClick:Xt},s(qe.value?a(t)("common.saving"):a(t)("common.save")),9,gw)])],64))])]),e("div",yw,[e("div",bw,[e("h2",hw,s(a(t)("admin.settings.scheduling.title")),1),e("p",xw,s(a(t)("admin.settings.scheduling.description")),1)]),e("div",fw,[e("div",kw,[e("div",null,[e("label",vw,s(a(t)("admin.settings.scheduling.allowUngroupedKey")),1),e("p",ww,s(a(t)("admin.settings.scheduling.allowUngroupedKeyHint")),1)]),h(S,{modelValue:n.allow_ungrouped_key_scheduling,"onUpdate:modelValue":i[131]||(i[131]=o=>
12n.allow_ungrouped_key_scheduling=o)},null,8,["modelValue"])]),e("div",Cw,[e("div",Vw,[e("label",Uw,s(a(t)("admin.settings.scheduling.accountSchedulingThresholdsTitle")),1),e("p",Sw,s(a(t)("admin.settings.scheduling.accountSchedulingThresholdsDescription")),1),e("p",Pw,s(a(t)("admin.settings.scheduling.accountSchedulingThresholdsGlobalHint")),1),e("p",$w,s(a(t)("admin.settings.scheduling.accountSchedulingThresholdsDisabledHint")),1)]),e("div",Ew,[(r(!0),d(M,null,B(a(Qs),o=>(r(),d("div",{key:o,class:"rounded-lg border border-gray-200 p-4 dark:border-dark-700"},[e("div",Aw,[e("div",null,[e("label",Tw,s(o),1),e("p",Fw,s(a(t)("admin.settings.scheduling.accountSchedulingThresholdsRangeHint")),1)]),i[286]||(i[286]=e("span",{class:"rounded bg-gray-100 px-2 py-0.5 text-[11px] font-medium text-gray-600 dark:bg-dark-700 dark:text-gray-300"}," % ",-1))]),m(e("input",{"onUpdate:modelValue":p=>n.account_scheduling_thresholds[o]=p,type:"number",min:"1",max:"100",step:"1",class:"input mt-3","data-testid":`account-scheduling-threshold-${o}`,placeholder:"100"},null,8,Mw),[[b,n.account_scheduling_thresholds[o],void 0,{number:!0}
12]])]))),128))])]),n.openai_advanced_scheduler_enabled?x("",!0):(r(),d("div",Lw,[e("div",null,[e("label",Rw,s(a(t)("admin.settings.openaiExperimentalScheduler.lowRatePriorityTitle")),1),e("p",Hw,s(a(t)("admin.settings.openaiExperimentalScheduler.lowRatePriorityDescription")),1)]),h(S,{modelValue:n.openai_low_upstream_rate_priority_enabled,"onUpdate:modelValue":i[132]||(i[132]=o=>n.openai_low_upstream_rate_priority_enabled=o),"data-testid":"openai-low-rate-priority-toggle"},null,8,["modelValue"])])),!n.openai_advanced_scheduler_enabled&&n.openai_low_upstream_rate_priority_enabled?(r(),d("div",Dw,[e("div",jw,[e("label",zw,s(a(t)("admin.settings.openaiExperimentalScheduler.oauthRateTitle")),1),e("p",Ow,s(a(t)("admin.settings.openaiExperimentalScheduler.oauthRatePriorityDescription")),1)]),e("div",Bw,[m(e("input",{id:"openai-oauth-scheduling-rate-multiplier","onUpdate:modelValue":i[133]||(i[133]=o=>n.openai_oauth_scheduling_rate_multiplier=o),class:"input pr-8","data-testid":"openai-oauth-scheduling-rate-multiplier",min:"0",required:"",step:"0.01",type:"number"},null,512),[[b,n.openai_oauth_scheduling_rate_multiplier,void 0,{number:!0}]]),i[287]||(i[287]=e("span",{class:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-sm text-gray-400"},"x",-1))])])):x("",!0),e("div",Iw,[e("div",null,[e("label",qw,s(a(t)("admin.settings.openaiExperimentalScheduler.title")),1),e("p",Nw,s(a(t)("admin.settings.openaiExperimentalScheduler.description")),1)]),h(S,{modelValue:n.openai_advanced_scheduler_enabled,"onUpdate:modelValue":i[134]||(i[134]=o=>n.openai_advanced_scheduler_enabled=o),"data-testid":"openai-advanced-scheduler-toggle"},null,8,["modelValue"])]),n.openai_advanced_scheduler_enabled?(r(),d("div",Ww,[e("div",null,[e("label",Kw,s(a(t)("admin.settings.openaiExperimentalScheduler.stickyWeightedTitle")),1),e("p",Gw,s(a(t)("admin.settings.openaiExperimentalScheduler.stickyWeightedDescription")),1)]),h(S,{modelValue:n.openai_advanced_scheduler_sticky_weighted_enabled,"onUpdate:modelValue":i[135]||(i[135]=o=>n.openai_advanced_scheduler_sticky_weighted_enabled=o)},null,8,["modelValue"])])):x("",!0),n.openai_advanced_scheduler_enabled?(r(),d("div",Qw,[e("div",null,[e("label",Yw,s(a(t)("admin.settings.openaiExperimentalScheduler.subscriptionPriorityTitle")),1),e("p",Jw,s(a(t)("admin.settings.openaiExperimentalScheduler.subscriptionPriorityDescription")),1)]),h(S,{modelValue:n.openai_advanced_scheduler_subscription_priority_enabled,"onUpdate:modelValue":i[136]||(i[136]=o=>n.openai_advanced_scheduler_subscription_priority_enabled=o)},null,8,["modelValue"])])):x("",!0),n.openai_advanced_scheduler_enabled?(r(),d("div",Zw,[e("div",Xw,[e("label",e4,s(a(t)("admin.settings.openaiExperimentalScheduler.oauthRateTitle")),1),e("p",t4,s(a(t)("admin.settings.openaiExperimentalScheduler.oauthRateWeightedDescription")),1)]),e("div",a4,[m(e("input",{id:"openai-oauth-scheduling-rate-multiplier","onUpdate:modelValue":i[137]||(i[137]=o=>n.openai_oauth_scheduling_rate_multiplier=o),class:"input pr-8","data-testid":"openai-oauth-scheduling-rate-multiplier",min:"0",required:"",step:"0.01",type:"number"},null,512),[[b,n.openai_oauth_scheduling_rate_multiplier,void 0,{number:!0}]]),i[288]||(i[288]=e("span",{class:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-sm text-gray-400"},"x",-1))])])):x("",!0),n.openai_advanced_scheduler_enabled?(r(),d("div",s4,[e("div",null,[e("label",n4,s(a(t)("admin.settings.openaiExperimentalScheduler.weightsTitle")),1),e("p",i4,s(a(t)("admin.settings.openaiExperimentalScheduler.weightsDescription")),1)]),e("div",o4,[(r(!0),d(M,null,B(Js.value,o=>(r(),d("label",{key:o.key,class:"block"},[e("span",l4,s(o.label),1),m(e("input",{"onUpdate:modelValue":p=>n[o.key]=p,class:"input mt-1",inputmode:"decimal",placeholder:o.placeholder,type:"text"},null,8,r4),[[b,n[o.key]]])]))),128))])])):x("",!0)])]),e("div",d4,[e("div",c4,[e("h2",u4,s(a(t)("admin.settings.gatewayForwarding.title")),1),e("p",m4,s(a(t)("admin.settings.gatewayForwarding.description")),1)]),e("div",_4,[e("div",p4,[e("div",null,[e("label",g4,s(a(t)("admin.settings.gatewayForwarding.grokDefaultTextModel")),1),m(e("input",{id:"grok-default-text-model","onUpdate:modelValue":i[138]||(i[138]=o=>n.grok_default_text_model=o),type:"text",class:"input mt-2 w-full",list:"grok-default-text-model-options","data-testid":"grok-default-text-model",placeholder:"grok-4.5"},null,512),[[b,n.grok_default_text_model,void 0,{trim:!0}]]),i[289]||(i[289]=e("datalist",{id:"grok-default-text-model-options"},[e("option",{value:"grok-4.5"}),e("option",{value:"grok-4.1-fast"}),e("option",{value:"grok-4"})],-1)),e("p",y4,s(a(t)("admin.settings.gatewayForwarding.grokDefaultTextModelHint")),1)]),e("div",b4,[e("div",null,[e("label",h4,s(a(t)("admin.settings.gatewayForwarding.grokCrossClientMap")),1),e("p",x4,s(a(t)("admin.settings.gatewayForwarding.grokCrossClientMapHint")),1)]),h(S,{modelValue:n.grok_cross_client_model_map_enabled,"onUpdate:modelValue":i[139]||(i[139]=o=>n.grok_cross_client_model_map_enabled=o),"data-testid":"grok-cross-client-model-map-toggle"},null,8,["modelValue"])])]),e("div",f4,[e("label",k4,s(a(t)("admin.settings.gatewayForwarding.grokDefaultBaseURLMode")),1),m(e("select",{id:"grok-default-base-url-mode","onUpdate:modelValue":i[140]||(i[140]=o=>n.grok_default_base_url_mode=o),class:"input mt-2 w-full","data-testid":"grok-default-base-url-mode"},[e("option",v4,s(a(t)("admin.settings.gatewayForwarding.grokBaseURLModeCLI")),1),e("option",w4,s(a(t)("admin.settings.gatewayForwarding.grokBaseURLModeAPI")),1
12),e("option",C4,s(a(t)("admin.settings.gatewayForwarding.grokBaseURLModeUSEast1")),1),e("option",V4,s(a(t)("admin.settings.gatewayForwarding.grokBaseURLModeUSWest2")),1),e("option",U4,s(a(t)("admin.settings.gatewayForwarding.grokBaseURLModeEUWest1")),1)],512),[[Je,n.grok_default_base_url_mode]]),e("p",S4,s(a(t)("admin.settings.gatewayForwarding.grokDefaultBaseURLModeHint")),1)]),e("div",P4,[e("label",$4,s(a(t)("admin.settings.gatewayForwarding.openaiTTFTMode")),1),m(e("select",{id:"openai-ttft-mode","onUpdate:modelValue":i[141]||(i[141]=o=>n.openai_ttft_mode=o),class:"input mt-2 w-full","data-testid":"openai-ttft-mode"},[e("option",E4,s(a(t)("admin.settings.gatewayForwarding.openaiTTFTModeSemantic")),1),e("option",A4,s(a(t)("admin.settings.gatewayForwarding.openaiTTFTModeVisible")),1)],512),[[Je,n.openai_ttft_mode]]),e("p",T4,s(a(t)("admin.settings.gatewayForwarding.openaiTTFTModeHint")),1)]),e("div",F4,[e("div",null,[e("label",M4,s(a(t)("admin.settings.gatewayForwarding.fingerprintUnification")),1),e("p",L4,s(a(t)("admin.settings.gatewayForwarding.fingerprintUnificationHint")),1)]),h(S,{modelValue:n.enable_fingerprint_unification,"onUpdate:modelValue":i[142]||(i[142]=o=>n.enable_fingerprint_unification=o)},null,8,["modelValue"])]),e("div",R4,[e("div",null,[e("label",H4,s(a(t)("admin.settings.gatewayForwarding.metadataPassthrough")),1),e("p",D4,s(a(t)("admin.settings.gatewayForwarding.metadataPassthroughHint")),1)]),h(S,{modelValue:n.enable_metadata_passthrough,"onUpdate:modelValue":i[143]||(i[143]=o=>n.enable_metadata_passthrough=o)},null,8,["modelValue"])]),e("div",j4,[e("div",null,[e("label",z4,s(a(t)("admin.settings.gatewayForwarding.cchSigning")),1),e("p",O4,s(a(t)("admin.settings.gatewayForwarding.cchSigningHint")),1)]),h(S,{modelValue:n.enable_cch_signing,"onUpdate:modelValue":i[144]||(i[144]=o=>n.enable_cch_signing=o)},null,8,["modelValue"])]),e("div",B4,[e("div",null,[e("label",I4,s(a(t)("admin.settings.gatewayForwarding.claudeOAuthSystemPromptInjection")),1),e("p",q4,s(a(t)("admin.settings.gatewayForwarding.claudeOAuthSystemPromptInjectionHint")),1)]),h(S,{modelValue:n.enable_claude_oauth_system_prompt_injection,"onUpdate:modelValue":i[145]||(i[145]=o=>n.enable_claude_oauth_system_prompt_injection=o)},null,8,["modelValue"])]),e("div",null,[e("label",N4,s(a(t)("admin.settings.gatewayForwarding.claudeOAuthSystemPromptBlocks")),1),e("div",W4,[(r(!0),d(M,null,B(je.value,(o,p)=>(r(),d("div",{key:o.id,class:"rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-dark-700 dark:bg-dark-800/60"},[e("div",{class:q(["flex flex-wrap items-center justify-between gap-3",o.expanded&&"mb-3"])},[e("div",K4,[e("div",G4,s(a(t)("admin.settings.gatewayForwarding.systemBlockTitle",{index:p+1})),1),e("div",Q4,s(Bs(o.preset)),1)]),e("div",Y4,[e("button",{type:"button",class:"btn btn-secondary btn-sm px-2",title:o.expanded?a(t)("admin.settings.gatewayForwarding.systemBlockHide"):a(t)("admin.settings.gatewayForwarding.systemBlockShow"),"aria-label":o.expanded?a(t)("admin.settings.gatewayForwarding.systemBlockHide"):a(t)("admin.settings.gatewayForwarding.systemBlockShow"),onClick:_=>qs(p)},[h(ie,{name:o.expanded?"eyeOff":"eye",size:"xs"},null,8,["name"])],8,J4),e("button",{type:"button",class:"btn btn-secondary btn-sm px-2",disabled:p===0,onClick:_=>Aa(p,-1)},[h(ie,{name:"arrowUp",size:"xs"})],8,Z4),e("button",{type:"button",class:"btn btn-secondary btn-sm px-2",disabled:p===je.value.length-1,onClick:_=>Aa(p,1)},[h(ie,{name:"arrowDown",size:"xs"})],8,X4),h(S,{modelValue:o.enabled,"onUpdate:modelValue":_=>o.enabled=_},null,8,["modelValue","onUpdate:modelValue"]),e("button",{type:"button",class:"btn btn-secondary btn-sm px-2 text-red-600 hover:text-red-700 dark:text-red-400",onClick:_=>Ns(p)},[h(ie,{name:"trash",size:"xs"})],8,e3)])],2),m(e("div",null,[e("div",t3,[e("div",null,[e("label",a3,s(a(t)("admin.settings.gatewayForwarding.systemBlockPreset")),1),h(fe,{modelValue:o.preset,"onUpdate:modelValue":_=>o.preset=_,options:Ea.value,onChange:_=>Ws(p,_)},null,8,["modelValue","onUpdate:modelValue","options","onChange"])]),e("div",null,[e("label",s3,s(a(t)("admin.settings.gatewayForwarding.systemBlockType")),1),h(fe,{modelValue:o.type,"onUpdate:modelValue":_=>o.type=_,options:zs.value},null,8,["modelValue","onUpdate:modelValue","options"])])]),e("div",n3,[e("label",i3,s(a(t)("admin.settings.gatewayForwarding.systemBlockText")),1),m(e("textarea",{"onUpdate:modelValue":_=>o.text=_,rows:"6",class:"input w-full resize-y font-mono text-xs leading-5",onInput:_=>Ks(o)},null,40,o3),[[b,o.text]])]),e("div",l3,[e("div",r3,[e("div",null,[e("label",d3,s(a(t)("admin.settings.gatewayForwarding.systemBlockCacheControl")),1)]),h(S,{modelValue:o.cacheControlEnabled,"onUpdate:modelValue":_=>o.cacheControlEnabled=_},null,8,["modelValue","onUpdate:modelValue"])]),o.cacheControlEnabled?(r(),d("div",c3,[h(fe,{modelValue:o.cacheControlTTL,"onUpdate:modelValue":_=>o.cacheControlTTL=_,options:Os.value},null,8,["modelValue","onUpdate:modelValue","options"])])):x("",!0)])],512),[[Te,o.expanded]])]))),128))]),e("div",u3,[e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:Is},[h(ie,{name:"plus",size:"xs"}),T(" "+s(a(t)("admin.settings.gatewayForwarding.addSystemBlock")),1)]),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:Gs},[h(ie,{name:"refresh",size:"xs"}),T(" "+s(a(t)("admin.settings.gatewayForwarding.resetSystemBlocks")),1)])]),e("p",m3,s(a(t)("admin.settings.gatewayForwarding.claudeOAuthSystemPromptBlocksHint")),1)]),e("div",_3,[e("div",null,[e("label",p3,s(a(t)("admin.settings.gatewayForwarding.anthropicCacheTTL1hInjection")),1),e("p",g3,s(a(t)("admin.settings.gatewayForwarding.anthropicCacheTTL1hInjectionHint")),1)]),h(S,{modelValue:n.enable_anthropic_cache_ttl_1h_injection,"onUpdate:modelValue":i[146]||(i[146]=o=>n.enable_anthropic_cache_ttl_1h_injection=o)},null,8,["modelValue"])]),e("div",y3,[e("div",null,[e("label",b3,s(a(t)("admin.settings.gatewayForwarding.rewriteMessageCacheControl")),1),e("p",h3,s(a(t)("admin.settings.gatewayForwarding.rewriteMessageCacheControlHint")),1)]),h(S,{modelValue:n.rewrite_message_cache_control,"onUpdate:modelValue":i[147]||(i[147]=o=>n.rewrite_message_cache_control=o)},null,8,["modelValue"])]),e("div",x3,[e("div",null,[e("label",f3,s(a(t)("admin.settings.gatewayForwarding.clientDatelineNormalization")),1),e("p",k3,s(a(t)("admin.settings.gatewayForwarding.clientDatelineNormalizationHint")),1)]),h(S,{modelValue:n.enable_client_dateline_normalization,"onUpdate:modelValue":i[148]||(i[148]=o=>n.enable_client_dateline_normalization=o)},null,8,["modelValue"])]),e("div",null,[e("label",v3,s(a(t)("admin.settings.gatewayForwarding.antigravityUserAgentVersion")),1),m(e("input",{"onUpdate:modelValue":i[149]||(i[149]=o=>n.antigravity_user_agent_version=o),type:"text",class:"input max-w-xs font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.antigravityUserAgentVersionPlaceholder")},null,8,w3),[[b,n.antigravity_user_agent_version]]),e("p",C3,s(a(t)("admin.settings.gatewayForwarding.antigravityUserAgentVersionHint")),1)]),e("div",null,[e("label",V3,s(a(t)("admin.settings.gatewayForwarding.openaiCodexUserAgent")),1),m(e("input",{"onUpdate:modelValue":i[150]||(i[150]=o=>n.openai_codex_user_agent=o),type:"text",class:"input w-full font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.openaiCodexUserAgentPlaceholder")},null,8,U3),[[b,n.openai_codex_user_agent]]),e("p",S3,s(a(t)("admin.settings.gatewayForwarding.openaiCodexUserAgentHint")),1)]),e("div",null,[e("label",P3,s(a(t)("admin.settings.gatewayForwarding.openaiCodexClientVersion")),1),m(e("input",{"onUpdate:modelValue":i[151]||(i[151]=o=>n.openai_codex_client_version=o),type:"text",class:"input w-full font-mono text-sm",placeholder:a(t)("admin.settings.gatewayForwarding.openaiCodexClientVersionPlaceholder")},null,8,$3),[[b,n.openai_codex_client_version]]),e("p",E3,s(a(t)("admin.settings.gatewayForwarding.openaiCodexClientVersionHint")),1)]),e("div",A3,[e("div",null,[e("label",T3,s(a(t)("admin.settings.gatewayForwarding.openaiCodexVersionAutoSync")),1),e("p",F3,s(a(t)("admin.settings.gatewayForwarding.openaiCodexVersionAutoSyncHint")),1),Ya.value?(r(),d("p",M3,s(Ya.value),1)):x("",!0)]),h(S,{modelValue:n.openai_codex_version_auto_sync_enabled,"onUpdate:modelValue":i[152]||(i[152]=o=>n.openai_codex_version_auto_sync_enabled=o)},null,8,["modelValue"])])])]),e("div",L3,[e("div",R3,[e("h2",H3,s(a(t)("admin.settings.webSearchEmulation.title")),1),e("p",D3,s(a(t)("admin.settings.webSearchEmulation.description")),1)]),e("div",j3,[e("div",z3,[e("div",null,[e("label",O3,s(a(t)("admin.settings.webSearchEmulation.enabled")),1),e("p",B3,s(a(t)("admin.settings.webSearchEmulation.enabledHint")),1)]),h(S,{modelValue:Ce.enabled,"onUpdate:modelValue":i[153]||(i[153]=o=>Ce.enabled=o)},null,8,["modelValue"])]),Ce.enabled?(r(),d("div",I3,[e("div",q3,[e("label",N3,s(a(t)("admin.settings.webSearchEmulation.providers")),1),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:tn},s(a(t)("admin.settings.webSearchEmulation.addProvider")),1)]),Ce.providers.length===0?(r(),d("div",W3,s(a(t)("admin.settings.webSearchEmulation.noProviders")),1)):x("",!0),(r(!0),d(M,null,B(Ce.providers,(o,p)=>(r(),d("div",{key:p,class:"rounded-lg border border-gray-200 dark:border-dark-600"},[e("div",{class:"flex cursor-pointer items-center justify-between px-4 py-3",onClick:_=>Xs(p)},[e("div",G3,[(r(),d("svg",{class:q(["h-4 w-4 text-gray-400 transition-transform",{"rotate-90":We[p]}]),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[...i[290]||(i[290]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},null,-1)])],2)),h(fe,{modelValue:o.type,"onUpdate:modelValue":_=>o.type=_,options:[{value:"brave",label:"Brave Search"},{value:"tavily",label:"Tavily"}],class:"w-36",onClick:i[154]||(i[154]=Oe(()=>{},["stop"]))},null,8,["modelValue","onUpdate:modelValue"]),e("span",Q3,s(o.quota_used??0)+" / "+s(o.quota_limit!=null&&o.quota_limit>0?o.quota_limit:"â"),1),!We[p]&&o.api_key_configured?(r(),d("span",Y3,s(a(t)("admin.settings.webSearchEmulation.apiKeyConfigured")),1)):x("",!0)]),e("button",{type:"button",class:"text-red-500 hover:text-red-700 text-xs",onClick:Oe(_=>en(p),["stop"])},s(a(t)("admin.settings.webSearchEmulation.removeProvider")),9,J3)],8,K3),We[p]?(r(),d("div",Z3,[e("div",null,[e("label",X3,s(a(t)("admin.settings.webSearchEmulation.apiKey")),1),e("div",e5,[m(e("input",{"onUpdate:modelValue":_=>o.api_key=_,type:Ge[p]?"text":"password",class:q(["input w-full text-sm",o.api_key||o.api_key_configured?"pr-16":""]),placeholder:o.api_key_configured?"â¢â¢â¢â¢â¢â¢â¢â¢":a(t)("admin.settings.webSearchEmulation.apiKeyPlaceholder")},null,10,t5),[[Ps,o.api_key]]),o.api_key||o.api_key_configured?(r(),d("div",a5,[e("button",{type:"button",class:"rounded p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300",title:Ge[p]?a(t)("admin.settings.webSearchEmulation.hideApiKey"):a(t)("admin.settings.webSearchEmulation.showApiKey"),onClick:_=>Ge[p]=!Ge[p]},[Ge[p]?(r(),d("svg",i5,[...i[292]||(i[292]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.878 9.878L3 3m6.878 6.878L21 21"},null,-1)])])):(r(),d("svg",n5,[...i[291]||(i[291]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"},null,-1),e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"},null,-1)])]))],8,s5),e("button",{type:"button",class:q(["rounded p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300",{"opacity-30 curs
12or-not-allowed":!o.api_key}]),title:a(t)("admin.settings.webSearchEmulation.copyApiKey"),disabled:!o.api_key,onClick:_=>on(p)},[...i[293]||(i[293]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})],-1)])],10,o5)])):x("",!0)])]),e("div",l5,[e("div",null,[e("label",r5,s(a(t)("admin.settings.webSearchEmulation.quotaLimit")),1),m(e("input",{"onUpdate:modelValue":_=>o.quota_limit=_,type:"number",min:"1",class:"input text-sm",placeholder:"â"},null,8,d5),[[b,o.quota_limit]]),e("p",c5,s(a(t)("admin.settings.webSearchEmulation.quotaLimitHint")),1)]),e("div",null,[e("label",u5,s(a(t)("admin.settings.webSearchEmulation.subscribedAt")),1),e("input",{value:an(o.subscribed_at),type:"date",class:"input text-sm",onInput:_=>o.subscribed_at=sn(_.target.value)},null,40,m5),e("p",_5,s(a(t)("admin.settings.webSearchEmulation.subscribedAtHint")),1)])]),e("div",p5,[e("span",g5,s(a(t)("admin.settings.webSearchEmulation.quotaUsage"))+":",1),o.quota_limit!=null&&o.quota_limit>0?(r(),d("div",y5,[e("div",{class:q(["h-full rounded-full transition-all",Nt(o)>90?"bg-red-500":Nt(o)>70?"bg-yellow-500":"bg-green-500"]),style:so({width:Math.min(Nt(o),100)+"%"})},null,6)])):(r(),d("div",b5)),e("span",h5,s(o.quota_used??0)+" / "+s(o.quota_limit!=null&&o.quota_limit>0?o.quota_limit:"â"),1),(o.quota_used??0)>0?(r(),d("button",{key:2,type:"button",class:"text-xs text-primary-600 hover:text-primary-700",onClick:_=>nn(p)},s(a(t)("admin.settings.webSearchEmulation.resetUsage")),9,x5)):x("",!0)]),e("div",f5,[e("div",k5,[e("label",v5,s(a(t)("admin.settings.webSearchEmulation.proxy")),1),h(fo,{modelValue:o.proxy_id,"onUpdate:modelValue":_=>o.proxy_id=_,proxies:Ma.value},null,8,["modelValue","onUpdate:modelValue","proxies"])]),e("button",{type:"button",class:"btn btn-secondary btn-sm whitespace-nowrap",onClick:i[155]||(i[155]=_=>Zs())},s(a(t)("admin.settings.webSearchEmulation.test")),1)])])):x("",!0)]))),128))])):x("",!0)])]),wt.value?(r(),d("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:i[160]||(i[160]=Oe(o=>wt.value=!1,["self"]))},[e("div",w5,[e("h3",C5,s(a(t)("admin.settings.webSearchEmulation.testResultTitle")),1),e("div",V5,[m(e("input",{"onUpdate:modelValue":i[156]||(i[156]=o=>qt.value=o),type:"text",class:"input flex-1 text-sm",placeholder:a(t)("admin.settings.webSearchEmulation.testDefaultQuery"),onKeyup:i[157]||(i[157]=Pt(o=>La(),["enter"]))},null,40,U5),[[b,qt.value]]),e("button",{type:"button",class:"btn btn-primary btn-sm",disabled:vt.value,onClick:i[158]||(i[158]=o=>La())},s(vt.value?a(t)("admin.settings.webSearchEmulation.testing"):a(t)("admin.settings.webSearchEmulation.test")),9,S5)]),at.value?(r(),d("div",P5,[e("p",$5,s(a(t)("admin.settings.webSearchEmulation.testResultProvider"))+": "+s(at.value.provider),1),at.value.results.length===0?(r(),d("div",E5,s(a(t)("admin.settings.webSearchEmulation.testNoResults")),1)):x("",!0),(r(!0),d(M,null,B(at.value.results,(o,p)=>(r(),d("div",{key:p,class:"mt-2 border-t border-gray-200 pt-2 first:mt-0 first:border-0 first:pt-0 dark:border-dark-600"},[e("a",{href:o.url,target:"_blank",class:"text-sm font-medium text-blue-600 hover:underline dark:text-blue-400"},s(o.title),9,A5),e("p",T5,s(o.snippet),1)]))),128))])):x("",!0),e("div",F5,[e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:i[159]||(i[159]=o=>wt.value=!1)},s(a(t)("common.close")),1)])])])):x("",!0),e("div",M5,[e("div",L5,[e("h2",R5,s(a(t)("admin.settings.usageRecords.title")),1),e("p",H5,s(a(t)("admin.settings.usageRecords.description")),1)]),e("div",D5,[e("div",j5,[e("div",null,[e("label",z5,s(a(t)("admin.settings.user_error_view.label")),1),e("p",O5,s(a(t)("admin.settings.user_error_view.description")),1)]),e("label",B5,[m(e("input",{"onUpdate:modelValue":i[161]||(i[161]=o=>n.allow_user_view_error_requests=o),type:"checkbox"},null,512),[[Ze,n.allow_user_view_error_requests]]),i[294]||(i[294]=e("span",{class:"toggle-slider"},null,-1))])])])])],512),[[Te,U.value==="gateway"]]),m(e("div",I5,[e("div",q5,[e("div",N5,[e("h2",W5,s(a(t)("admin.settings.site.title")),1),e("p",K5,s(a(t)("admin.settings.site.description")),1)]),e("div",G5,[e("div",Q5,[e("div",null,[e("h3",Y5,s(a(t)("admin.settings.site.backendMode")),1),e("p",J5,s(a(t)("admin.settings.site.backendModeDescription")),1)]),h(S,{modelValue:n.backend_mode_enabled,"onUpdate:modelValue":i[162]||(i[162]=o=>n.backend_mode_enabled=o)},null,8,["modelValue"])]),e("div",Z5,[e("div",null,[e("label",X5,s(a(t)("admin.settings.site.siteName")),1),m(e("input",{"onUpdate:modelValue":i[163]||(i[163]=o=>n.site_name=o),type:"text",class:"input",placeholder:a(t)("admin.settings.site.siteNamePlaceholder")},null,8,e8),[[b,n.site_name]]),e("p",t8,s(a(t)("admin.settings.site.siteNameHint")),1)]),e("div",null,[e("label",a8,s(a(t)("admin.settings.site.siteSubtitle")),1),m(e("input",{"onUpdate:modelValue":i[164]||(i[164]=o=>n.site_subtitle=o),type:"text",class:"input",placeholder:a(t)("admin.settings.site.siteSubtitlePlaceholder")},null,8,s8),[[b,n.site_subtitle]]),e("p",n8,s(a(t)("admin.settings.site.siteSubtitleHint")),1)])]),e("div",null,[e("label",i8,s(a(t)("admin.settings.site.apiBaseUrl")),1),m(e("input",{"onUpdate:modelValue":i[165]||(i[165]=o=>n.api_base_url=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.site.apiBaseUrlPlaceholder")},null,8,o8),[[b,n.api_base_url]]),e("p",l8,s(a(t)("admin.settings.site.apiBaseUrlHint")),1)]),e("div",r8,[e("h3",d8,s(a(t)("admin.settings.site.tablePreferencesTitle")),1),e("p",c8,s(a(t)("admin.settings.site.tablePreferencesDescription")),1),e("div",u8,[e("div",null,[e("label",m8,s(a(t)("admin.settings.site.tableDefaultPageSize")),1),m(e("input",{"onUpdate:modelValue":i[166]||(i[166]=o=>n.table_default_page_size=o),type:"number",min:"5",max:"1000",step:"1",class:"input w-40"},null,512),[[b,n.table_default_page_size,void 0,{number:!0}]]),e("p",_8,s(a(t)("admin.settings.site.tableDefaultPageSizeHint")),1)]),e("div",null,[e("label",p8,s(a(t)("admin.settings.site.tablePageSizeOptions")),1),m(e("input",{"onUpdate:modelValue":i[167]||(i[167]=o=>ye.value=o),type:"text",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.site.tablePageSizeOptionsPlaceholder")},null,8,g8),[[b,ye.value]]),e("p",y8,s(a(t)("admin.settings.site.tablePageSizeOptionsHint")),1)])])]),e("div",null,[e("label",b8,s(a(t)("admin.settings.site.customEndpoints.title")),1),e("p",h8,s(a(t)("admin.settings.site.customEndpoints.description")),1),e("div",x8,[(r(!0),d(M,null,B(n.custom_endpoints,(o,p)=>(r(),d("div",{key:p,class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},[e("div",f8,[e("span",k8,s(a(t)("admin.settings.site.customEndpoints.itemLabel",{n:p+1})),1),e("button",{type:"button",class:"rounded p-1 text-red-400 hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20",onClick:_=>Sn(p)},[...i[295]||(i[295]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"}
12)],-1)])],8,v8)]),e("div",w8,[e("div",null,[e("label",C8,s(a(t)("admin.settings.site.customEndpoints.name")),1),m(e("input",{"onUpdate:modelValue":_=>o.name=_,type:"text",class:"input text-sm",placeholder:a(t)("admin.settings.site.customEndpoints.namePlaceholder")},null,8,V8),[[b,o.name]])]),e("div",null,[e("label",U8,s(a(t)("admin.settings.site.customEndpoints.endpointUrl")),1),m(e("input",{"onUpdate:modelValue":_=>o.endpoint=_,type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.site.customEndpoints.endpointUrlPlaceholder")},null,8,S8),[[b,o.endpoint]])]),e("div",P8,[e("label",$8,s(a(t)("admin.settings.site.customEndpoints.descriptionLabel")),1),m(e("input",{"onUpdate:modelValue":_=>o.description=_,type:"text",class:"input text-sm",placeholder:a(t)("admin.settings.site.customEndpoints.descriptionPlaceholder")},null,8,E8),[[b,o.description]])])])]))),128))]),e("button",{type:"button",class:"mt-3 flex w-full items-center justify-center gap-2 rounded-lg border-2 border-dashed border-gray-300 px-4 py-2.5 text-sm text-gray-500 transition-colors hover:border-primary-400 hover:text-primary-600 dark:border-dark-600 dark:text-gray-400 dark:hover:border-primary-500 dark:hover:text-primary-400",onClick:Un},[i[296]||(i[296]=e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4v16m8-8H4"})],-1)),T(" "+s(a(t)("admin.settings.site.customEndpoints.add")),1)])]),e("div",null,[e("label",A8,s(a(t)("admin.settings.site.contactInfo")),1),m(e("input",{"onUpdate:modelValue":i[168]||(i[168]=o=>n.contact_info=o),type:"text",class:"input",placeholder:a(t)("admin.settings.site.contactInfoPlaceholder")},null,8,T8),[[b,n.contact_info]]),e("p",F8,s(a(t)("admin.settings.site.contactInfoHint")),1)]),e("div",null,[e("label",M8,s(a(t)("admin.settings.site.docUrl")),1),m(e("input",{"onUpdate:modelValue":i[169]||(i[169]=o=>n.doc_url=o),type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.site.docUrlPlaceholder")},null,8,L8),[[b,n.doc_url]]),e("p",R8,s(a(t)("admin.settings.site.docUrlHint")),1)]),e("div",null,[e("label",H8,s(a(t)("admin.settings.site.siteLogo")),1),h(fa,{modelValue:n.site_logo,"onUpdate:modelValue":i[170]||(i[170]=o=>n.site_logo=o),mode:"image","upload-label":a(t)("admin.settings.site.uploadImage"),"remove-label":a(t)("admin.settings.site.remove"),hint:a(t)("admin.settings.site.logoHint"),"max-size":300*1024},null,8,["modelValue","upload-label","remove-label","hint"])]),e("div",null,[e("label",D8,s(a(t)("admin.settings.site.homeContent")),1),m(e("textarea",{"onUpdate:modelValue":i[171]||(i[171]=o=>n.home_content=o),rows:"6",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.site.homeContentPlaceholder")},null,8,j8),[[b,n.home_content]]),e("p",z8,s(a(t)("admin.settings.site.homeContentHint")),1),e("p",O8,s(a(t)("admin.settings.site.homeContentIframeWarning")),1)]),e("div",B8,[e("div",null,[e("label",I8,s(a(t)("admin.settings.site.compactHome")),1),e("p",q8,s(a(t)("admin.settings.site.compactHomeHint")),1)]),h(S,{modelValue:n.compact_home_enabled,"onUpdate:modelValue":i[172]||(i[172]=o=>n.compact_home_enabled=o),"data-testid":"compact-home-toggle"},null,8,["modelValue"])]),e("div",N8,[e("div",null,[e("label",W8,s(a(t)("admin.settings.site.hideCcsImportButton")),1
12),e("p",K8,s(a(t)("admin.settings.site.hideCcsImportButtonHint")),1)]),h(S,{modelValue:n.hide_ccs_import_button,"onUpdate:modelValue":i[173]||(i[173]=o=>n.hide_ccs_import_button=o)},null,8,["modelValue"])])])]),e("div",G8,[e("div",Q8,[e("h2",Y8,s(a(t)("admin.settings.customMenu.title")),1),e("p",J8,s(a(t)("admin.settings.customMenu.description")),1)]),e("div",Z8,[(r(!0),d(M,null,B(n.custom_menu_items,(o,p)=>(r(),d("div",{key:o.id||p,class:"rounded-lg border border-gray-200 p-4 dark:border-dark-600"},[e("div",X8,[e("span",e6,s(a(t)("admin.settings.customMenu.itemLabel",{n:p+1})),1),e("div",t6,[p>0?(r(),d("button",{key:0,type:"button",class:"rounded p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600 dark:hover:bg-dark-700",title:a(t)("admin.settings.customMenu.moveUp"),onClick:_=>Wa(p,-1)},[...i[297]||(i[297]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M5 15l7-7 7 7"})],-1)])],8,a6)):x("",!0),p<n.custom_menu_items.length-1?(r(),d("button",{key:1,type:"button",class:"rounded p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600 dark:hover:bg-dark-700",title:a(t)("admin.settings.customMenu.moveDown"),onClick:_=>Wa(p,1)},[...i[298]||(i[298]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19 9l-7 7-7-7"})],-1)])],8,s6)):x("",!0),e("button",{type:"button",class:"rounded p-1 text-red-400 hover:bg-red-50 hover:text-red-600 dark:hover:bg-red-900/20",title:a(t)("admin.settings.customMenu.remove"),onClick:_=>Vn(p)},[...i[299]||(i[299]=[e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1)])],8,n6)])]),e("div",i6,[e("div",null,[e("label",o6,s(a(t)("admin.settings.customMenu.name")),1),m(e("input",{"onUpdate:modelValue":_=>o.label=_,type:"text",class:"input text-sm",placeholder:a(t)("admin.settings.customMenu.namePlaceholder")},null,8,l6),[[b,o.label]])]),e("div",null,[e("label",r6,s(a(t)("admin.settings.customMenu.visibility")),1),m(e("select",{"onUpdate:modelValue":_=>o.visibility=_,class:"input text-sm"},[e("option",c6,s(a(t)("admin.settings.customMenu.visibilityUser")),1),e("option",u6,s(a(t)("admin.settings.customMenu.visibilityAdmin")),1)],8,d6),[[Je,o.visibility]])]),e("div",m6,[e("label",_6,s(a(t)("admin.settings.customMenu.url")),1),m(e("input",{"onUpdate:modelValue":_=>o.url=_,type:"url",class:"input font-mono text-sm",placeholder:a(t)("admin.settings.customMenu.urlPlaceholder")},null,8,p6),[[b,o.url]])]),e("div",g6,[e("label",y6,s(a(t)("admin.settings.customMenu.iconSvg")),1),h(fa,{"model-value":o.icon_svg,mode:"svg",size:"sm","upload-label":a(t)("admin.settings.customMenu.uploadSvg"),"remove-label":a(t)("admin.settings.customMenu.removeSvg"),"onUpdate:modelValue":_=>o.icon_svg=_},null,8,["model-value","upload-label","remove-label","onUpdate:modelValue"])])])]))),128)),e("button",{type:"button",class:"flex w-full items-center justify-center gap-2 rounded-lg border-2 border-dashed border-gray-300 py-3 text-sm text-gray-500 transition-colors hover:border-primary-400 hover:text-primary-600 dark:border-dark-600 dark:text-gray-400 dark:hover:border-primary-500 dark:hover:text-primary-400",onClick:Cn},[i[300]||(i[300]=e("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4v16m8-8H4"})],-1)),T(" "+s(a(t)("admin.settings.customMenu.add")),1)])])])],512),[[Te,U.value==="general"]]),m(e("div",b6,[e("div",h6,[e("div",x6,[e("div",f6,[e("div",null,[e("h2",k6,s(C("ç»å½æ¡æ¬¾ç¡®è®¤","Login agreement")),1),e("p",v6,s(C("æ§å¶ç»å½é¡µæ¯å¦è¦æ±ç¨æ·å
é
è¯»å¹¶åææå¡æ¡æ¬¾ãéç§æ¿çæå
¶ä» Markdown ææ¡£ã","Control whether the login page requires users to accept Markdown policy documents first.")),1)]),e("div",w6,[e("span",C6,s(n.login_agreement_enabled?C("å·²å¯ç¨","Enabled"):C("æªå¯ç¨","Disabled")),1),h(S,{modelValue:n.login_agreement_enabled,"onUpdate:modelValue":i[174]||(i[174]=o=>n.login_agreement_enabled=o)},null,8,["modelValue"])])])]),e("div",V6,[e("div",U6,[e("div",null,[e("label",S6,s(C("å±ç¤ºå½¢å¼","Display mode")),1),e("div",P6,[e("button",{type:"button",class:q(["inline-flex items-center justify-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition",n.login_agreement_mode==="modal"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[175]||(i[175]=o=>n.login_agreement_mode="modal")},[h(ie,{name:"shield",size:"sm"}),T(" "+s(C("å¼¹çª","Modal")),1)],2),e("button",{type:"button",class:q(["inline-flex items-center justify-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition",n.login_agreement_mode==="checkbox"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[176]||(i[176]=o=>n.login_agreement_mode="checkbox")}
12,[h(ie,{name:"checkCircle",size:"sm"}),T(" "+s(C("å¤éæ¡","Checkbox")),1)],2)]),e("p",$6,s(n.login_agreement_mode==="checkbox"?C("å¤éæ¡ä¼æ¾ç¤ºå¨ç»å½æé®ä¸æ¹ï¼æªå¾éåææç»å½å
¥å£ç¦ç¨ã","The checkbox appears below the login button and gates all login actions."):C("å¼¹çªä¼å¨ç»å½é¡µæå¼ï¼ç¨æ·æç»åææç»å½å
¥å£ä¿æç¦ç¨ã","The modal opens on the login page and gates all login actions until accepted.")),1)]),e("div",null,[e("label",E6,s(C("æ¡æ¬¾æ´æ°æ¥æ","Updated date")),1),m(e("input",{"onUpdate:modelValue":i[177]||(i[177]=o=>n.login_agreement_updated_at=o),type:"date",class:"input"},null,512),[[b,n.login_agreement_updated_at]]),e("p",A6,s(C("æ¥ææææ¡£å
容åååï¼ç¨æ·éè¦éæ°åæã","Changing the date or content requires fresh consent.")),1)])]),e("div",null,[e("div",T6,[e("div",null,[e("h3",F6,s(C("åè®®ææ¡£","Agreement documents")),1),e("p",M6,s(C("ææ¡£åç§°å¯èªå®ä¹ï¼å
容æ Markdown ä¿åãå¯åèï¼æå¡æ¡æ¬¾ãä½¿ç¨æ¿çãæ¯æçå½å®¶åå°åºãæå¡ç¹å®æ¡æ¬¾ã","Document titles are customizable and content is saved as Markdown.")),1)]),e("button",{type:"button",class:"btn btn-primary btn-sm inline-flex items-center gap-1.5",onClick:Pn},[h(ie,{name:"plus",size:"sm"}),T(" "+s(C("æ·»å ææ¡£","Add document")),1)])]),e("div",L6,[(r(!0),d(M,null,B(n.login_agreement_documents,(o,p)=>(r(),d("div",{key:o.id||p,class:"rounded-lg border border-gray-200 bg-white p-4 dark:border-dark-700 dark:bg-dark-800/60"},[e("div",R6,[e("div",H6,[e("span",D6,[h(ie,{name:p===1?"shield":p===2?"globe":p===3?"cog":"document",size:"sm"},null,8,["name"])]),e("div",j6,[e("p",z6,s(o.title||C("æªå½åææ¡£","Untitled document")),1),e("p",O6,s(Ls(o,p)),1)])]),e("button",{type:"button",class:"rounded-md p-2 text-red-400 transition hover:bg-red-50 hover:text-red-600 disabled:cursor-not-allowed disabled:opacity-40 dark:hover:bg-red-900/20",disabled:n.login_agreement_enabled&&n.login_agreement_documents.length<=1,onClick:_=>$n(p)},[h(ie,{name:"trash",size:"sm"})],8,B6)]),e("div",I6,[e("div",null,[e("label",q6,s(C("ææ¡£åç§°","Document title")),1),m(e("input",{"onUpdate:modelValue":_=>o.title=_,type:"text",class:"input text-sm",placeholder:C("ä¾å¦ï¼æå¡æ¡æ¬¾","Example: Terms of Service")},null,8,N6),[[b,o.title]])]),e("div",null,[e("label",W6,s(C("è·¯ç±æ è¯","Route slug")),1),e("div",K6,[i[301]||(i[301]=e("span",{class:"inline-flex flex-shrink-0 items-center border-r border-gray-200 bg-gray-50 px-3 text-sm text-gray-500 dark:border-dark-700 dark:bg-dark-800 dark:text-dark-400"}," /legal/ ",-1)),m(e("input",{"onUpdate:modelValue":_=>o.id=_,type:"text",class:"min-w-0 flex-1 border-0 bg-transparent px-3 py-2 text-sm text-gray-900 outline-none placeholder:text-gray-400 focus:ring-0 dark:text-white dark:placeholder:text-dark-500",placeholder:"usage-policy"},null,8,G6),[[b,o.id]])])])]),e("div",Q6,[e("label",Y6,s(C("Markdown å
容","Markdown content")),1),m(e("textarea",{"onUpdate:modelValue":_=>o.content_md=_,rows:"8",class:"input font-mono text-sm",placeholder:C("å¨è¿éå¡«åæ£å¼ Markdown å
容ã","Write the final Markdown content here.")},null,8,J6),[[b,o.content_md]])])]))),128))])])])])],512),[[Te,U.value==="agreement"]]),m(e("div",Z6,[e("div",X6,[e("div",e7,[e("h2",t7,s(a(t)("admin.settings.features.channelMonitor.title")),1),e("p",a7,s(a(t)("admin.settings.features.channelMonitor.description")),1),e("p",s7,[h(y,{to:"/admin/channels/monitor",class:"inline-flex items-center gap-1 text-primary-600 hover:underline dark:text-primary-400"},{default:Pe(()=>[T(s(a(t)("admin.settings.features.channelMonitor.configureLink"))+" ",1),i[302]||(i[302]=e("span",{"aria-hidden":"true"},"â",-1))]),_:1})])]),e("div",n7,[e("div",i7,[e("div",null,[e("label",o7,s(a(t)("admin.settings.features.channelMonitor.enabled")),1),e("p",l7,s(a(t)("admin.settings.features.channelMonitor.enabledHint")),1)]),h(S,{modelValue:n.channel_monitor_enabled,"onUpdate:modelValue":i[178]||(i[178]=o=>n.channel_monitor_enabled=o)},null,8,["modelValue"])]),n.channel_monitor_enabled?(r(),d("div",r7,[e("div",null,[e("label",d7,s(a(t)("admin.settings.features.channelMonitor.mode")),1),e("div",c7,[e("button",{type:"button",class:q(["inline-flex flex-1 items-center justify-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition",n.channel_monitor_mode==="v2"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[179]||(i[179]=o=>n.channel_monitor_mode="v2")},s(a(t)("admin.settings.features.channelMonitor.modeV2")),3),e("button",{type:"button",class:q(["inline-flex flex-1 items-center justify-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition",n.channel_monitor_mode==="v1"?"bg-white text-primary-700 shadow-sm dark:bg-dark-800 dark:text-primary-300":"text-gray-600 hover:text-gray-900 dark:text-dark-300 dark:hover:text-white"]),onClick:i[180]||(i[180]=o=>n.channel_monitor_mode="v1")},s(a(t)("admin.settings.features.channelMonitor.modeV1")),3)]),e("p",u7,s(n.channel_monitor_mode==="v1"?a(t)("admin.settings.features.channelMonitor.modeV1Hint"):a(t)("admin.settings.features.channelMonitor.modeV2Hint")),1),e("p",m7,s(a(t)("admin.settings.features.channelMonitor.modeHint")),1)]),n.channel_monitor_mode==="v1"?(r(),d("div",_7,[e("label",p7,[T(s(a(t)("admin.settings.features.channelMonitor.defaultInterval"))+" ",1),i[303]||(i[303]=e("span",{class:"text-red-500"},"*",-1))]),m(e("input",{"onUpdate:modelValue":i[181]||(i[181]=o=>n.channel_monitor_default_interval_seconds=o),type:"number",min:"15",max:"3600",class:"input"},null,512),[[b,n.channel_monitor_default_interval_seconds,void 0,{number:!0}]]),e("p",g7,s(a(t)("admin.settings.features.channelMonitor.defaultIntervalHint")),1)])):x("",!0),n.channel_monitor_mode==="v2"?(r(),d("div",y7,[e("div",b7,[e("p",h7,s(a(t)("admin.settings.features.channelMonitor.hideThroughput")),1),e("p",x7,s(a(t)("admin.settings.features.channelMonitor.hideThroughputHint")),1)]),h(S,{modelValue:n.channel_monitor_hide_throughput,"onUpdate:modelValue":i[182]||(i[182]=o=>n.channel_monitor_hide_throughput=o)},null,8,["modelValue"])])):x("",!0),n.channel_monitor_mode==="v1"?(r(),d("div",f7,[e("div",k7,[e("p",v7,s(a(t)("admin.settings.features.channelMonitor.showQuota")),1),e("p",w7,s(a(t)("admin.settings.features.channelMonitor.showQuotaHint")),1)]),h(S,{modelValue:n.channel_monitor_show_quota,"onUpdate:modelValue":i[183]||(i[183]=o=>n.channel_monitor_show_quota=o)},null,8,["modelValue"])])):x("",!0)])):x("",!0)])]),e("div",C7,[e("div",V7,[e("h2",U7,s(a(t)("admin.settings.features.availableChannels.title")),1),e("p",S7,s(a(t)("admin.settings.features.availableChannels.description")),1),e("p",P7,[h(y,{to:"/admin/channels/pricing",class:"inline-flex items-center gap-1 text-primary-600 hover:underline dark:text-primary-400"},{default:Pe(()=>[T(s(a(t)("admin.settings.features.availableChannels.configureLink"))+" ",1),i[304]||(i[304]=e("span",{"aria-hidden":"true"},"â",-1))]),_:1})])]),e("div",$7,[e("div",E7,[e("div",null,[e("label",A7,s(a(t)("admin.settings.features.availableChannels.enabled")),1),e("p",T7,s(a(t)("admin.settings.features.availableChannels.enabledHint")),1)]),h(S,{modelValue:n.available_channels_enabled,"onUpdate:modelValue":i[184]||(i[184]=o=>n.available_channels_enabled=o)},null,8,["modelValue"])])])]),e("div",F7,[e("div",M7,[e("h2",L7,s(a(t)("admin.settings.features.modelPlaza.title")),1),e("p",R7,s(a(t)("admin.settings.features.modelPlaza.description")),1)]),e("div",H7,[e("div",D
127,[e("div",null,[e("label",j7,s(a(t)("admin.settings.features.modelPlaza.enabled")),1),e("p",z7,s(a(t)("admin.settings.features.modelPlaza.enabledHint")),1)]),h(S,{modelValue:n.model_plaza_enabled,"onUpdate:modelValue":i[185]||(i[185]=o=>n.model_plaza_enabled=o)},null,8,["modelValue"])]),n.model_plaza_enabled?(r(),d("div",O7,[e("div",null,[e("label",B7,s(a(t)("admin.settings.features.modelPlaza.requireAuth")),1),e("p",I7,s(a(t)("admin.settings.features.modelPlaza.requireAuthHint")),1)]),h(S,{modelValue:n.model_plaza_require_auth,"onUpdate:modelValue":i[186]||(i[186]=o=>n.model_plaza_require_auth=o)},null,8,["modelValue"])])):x("",!0),n.model_plaza_enabled?(r(),d("div",q7,[e("label",N7,s(a(t)("admin.settings.features.modelPlaza.priceDescription")),1),e("p",W7,s(a(t)("admin.settings.features.modelPlaza.priceDescriptionHint")),1),m(e("textarea",{"onUpdate:modelValue":i[187]||(i[187]=o=>n.model_plaza_description=o),rows:"6",class:"input font-mono text-sm"},null,512),[[b,n.model_plaza_description]])])):x("",!0)])]),e("div",K7,[e("div",G7,[e("h2",Q7,s(a(t)("admin.settings.features.pluginManagement.title")),1),e("p",Y7,s(a(t)("admin.settings.features.pluginManagement.description")),1)]),e("div",J7,[e("div",Z7,[e("div",null,[e("label",X7,s(a(t)("admin.settings.features.pluginManagement.enabled")),1),e("p",e9,s(a(t)("admin.settings.features.pluginManagement.enabledHint")),1)]),h(S,{modelValue:n.plugin_management_enabled,"onUpdate:modelValue":i[188]||(i[188]=o=>n.plugin_management_enabled=o)},null,8,["modelValue"])])])]),e("div",t9,[e("div",a9,[e("h2",s9,s(a(t)("admin.settings.features.riskControl.title")),1),e("p",n9,s(a(t)("admin.settings.features.riskControl.description")),1),e("p",i9,[h(y,{to:"/admin/risk-control",class:"inline-flex items-center gap-1 text-primary-600 hover:underline dark:text-primary-400"},{default:Pe(()=>[T(s(a(t)("admin.settings.features.riskControl.configureLink"))+" ",1),i[305]||(i[305]=e("span",{"aria-hidden":"true"},"â",-1))]),_:1})])]),e("div",o9,[e("div",l9,[e("div",null,[e("label",r9,s(a(t)("admin.settings.features.riskControl.enabled")),1),e("p",d9,s(a(t)("admin.settings.features.riskControl.enabledHint")),1)]),h(S,{modelValue:n.risk_control_enabled,"onUpdate:modelValue":i[189]||(i[189]=o=>n.risk_control_enabled=o)},null,8,["modelValue"])]),e("div",c9,[e("div",null,[e("label",u9,s(a(t)("admin.settings.features.riskControl.cyberSessionBlock")),1),e("p",m9,s(a(t)("admin.settings.features.riskControl.cyberSessionBlockHint")),1)]),h(S,{modelValue:n.cyber_session_block_enabled,"onUpdate:modelValue":i[190]||(i[190]=o=>n.cyber_session_block_enabled=o)},null,8,["modelValue"])]),n.cyber_session_block_enabled?(r(),d("div",_9,[e("label",p9,[T(s(a(t)("admin.settings.features.riskControl.cyberSessionBlockTTL"))+" ",1),i[306]||(i[306]=e("span",{class:"text-red-500"},"*",-1))]),m(e("input",{"onUpdate:modelValue":i[191]||(i[191]=o=>n.cyber_session_block_ttl_seconds=o),type:"number",min:"1",class:"input"},null,512),[[b,n.cyber_session_block_ttl_seconds,void 0,{number:!0}]])])):x("",!0)])]),e("div",g9,[e("div",y9,[e("h2",b9,s(a(t)("admin.settings.features.affiliate.title")),1),e("p",h9,s(a(t)("admin.settings.features.affiliate.description")),1)]),e("div",x9,[e("div",f9,[e("div",null,[e("label",k9,s(a(t)("admin.settings.features.affiliate.enabled")),1),e("p",v9,s(a(t)("admin.settings.features.affiliate.enabledHint")),1)]),h(S,{modelValue:n.affiliate_enabled,"onUpdate:modelValue":i[192]||(i[192]=o=>n.affiliate_enabled=o)},null,8,["modelValue"])]),n.affiliate_enabled?(r(),d("div",w9,[e("div",C9,[e("div",null,[e("label",V9,s(a(t)("admin.settings.features.affiliate.adminRechargeRebate")),1),e("p",U9,s(a(t)("admin.settings.features.affiliate.adminRechargeRebateHint")),1)]),h(S,{modelValue:n.affiliate_admin_recharge_enabled,"onUpdate:modelValue":i[193]||(i[193]=o=>n.affiliate_admin_recharge_enabled=o)},null,8,["modelValue"])]),e("div",null,[e("label",S9,s(a(t)("admin.settings.features.affiliate.rebateRate")),1),e("div",P9,[m(e("input",{"onUpdate:modelValue":i[194]||(i[194]=o=>n.affiliate_rebate_rate=o),type:"number",step:"0.01",min:"0",max:"100",class:"input pr-8",placeholder:"20"},null,512),[[b,n.affiliate_rebate_rate,void 0,{number:!0}]]),i[307]||(i[307]=e("span",{class:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-gray-400"},"%",-1))]),e("p",$9,s(a(t)("admin.settings.features.affiliate.rebateRateHint")),1)]),e("div",null,[e("label",E9,s(a(t)("admin.settings.features.affiliate.freezeHours")),1),m(e("input",{"onUpdate:modelValue":i[195]||(i[195]=o=>n.affiliate_rebate_freeze_hours=o),type:"number",step:"1",min:"0",max:"720",class:"input"},null,512),[[b,n.affiliate_rebate_freeze_hours,void 0,{number:!0}]]),e("p",A9,s(a(t)("admin.settings.features.affiliate.freezeHoursDesc")),1
12)]),e("div",null,[e("label",T9,s(a(t)("admin.settings.features.affiliate.durationDays")),1),m(e("input",{"onUpdate:modelValue":i[196]||(i[196]=o=>n.affiliate_rebate_duration_days=o),type:"number",step:"1",min:"0",max:"3650",class:"input"},null,512),[[b,n.affiliate_rebate_duration_days,void 0,{number:!0}]]),e("p",F9,s(a(t)("admin.settings.features.affiliate.durationDaysDesc")),1)]),e("div",null,[e("label",M9,s(a(t)("admin.settings.features.affiliate.perInviteeCap")),1),m(e("input",{"onUpdate:modelValue":i[197]||(i[197]=o=>n.affiliate_rebate_per_invitee_cap=o),type:"number",step:"0.01",min:"0",class:"input"},null,512),[[b,n.affiliate_rebate_per_invitee_cap,void 0,{number:!0}]]),e("p",L9,s(a(t)("admin.settings.features.affiliate.perInviteeCapDesc")),1)]),e("div",R9,[e("div",H9,[e("div",null,[e("h3",D9,s(a(t)("admin.settings.features.affiliate.customUsers.title")),1),e("p",j9,s(a(t)("admin.settings.features.affiliate.customUsers.description")),1)]),e("button",{type:"button",class:"btn btn-primary btn-sm",onClick:i[198]||(i[198]=o=>ms(null))}," + "+s(a(t)("admin.settings.features.affiliate.customUsers.addButton")),1)]),e("div",z9,[m(e("input",{"onUpdate:modelValue":i[199]||(i[199]=o=>O.search=o),type:"text",class:"input flex-1",placeholder:a(t)("admin.settings.features.affiliate.customUsers.searchPlaceholder"),onInput:Ii},null,40,O9),[[b,O.search]]),O.selected.length>0?(r(),d("button",{key:0,type:"button",class:"btn btn-secondary btn-sm",onClick:Ji},s(a(t)("admin.settings.features.affiliate.customUsers.batchButton",{count:O.selected.length})),1)):x("",!0)]),e("div",B9,[e("table",I9,[e("thead",q9,[e("tr",null,[e("th",N9,[e("input",{type:"checkbox",checked:O.entries.length>0&&O.selected.length===O.entries.length,onChange:qi},null,40,W9)]),e("th",K9,s(a(t)("admin.settings.features.affiliate.customUsers.col.email")),1),e("th",G9,s(a(t)("admin.settings.features.affiliate.customUsers.col.username")),1),e("th",Q9,s(a(t)("admin.settings.features.affiliate.customUsers.col.code")),1),e("th",Y9,s(a(t)("admin.settings.features.affiliate.customUsers.col.rate")),1),e("th",J9,s(a(t)("admin.settings.features.affiliate.customUsers.col.actions")),1)])]),e("tbody",Z9,[O.loading?(r(),d("tr",X9,[e("td",eC,s(a(t)("common.loading")),1)])):O.entries.length===0?(r(),d("tr",tC,[e("td",aC,s(a(t)("admin.settings.features.affiliate.customUsers.empty")),1)])):x("",!0),(r(!0),d(M,null,B(O.entries,o=>(r(),d("tr",{key:o.user_id},[e("td",sC,[e("input",{type:"checkbox",checked:O.selected.includes(o.user_id),onChange:p=>Ni(o.user_id)},null,40,nC)]),e("td",iC,s(o.email),1),e("td",oC,s(o.username),1),e("td",lC,[T(s(o.aff_code)+" ",1),o.aff_code_custom?(r(),d("span",rC,s(a(t)("admin.settings.features.affiliate.customUsers.customBadge")),1)):x("",!0)]),e("td",dC,[o.aff_rebate_rate_percent!=null?(r(),d("span",cC,s(o.aff_rebate_rate_percent)+"%",1)):(r(),d("span",uC,s(a(t)("admin.settings.features.affiliate.customUsers.useGlobal")),1))]),e("td",mC,[e("div",_C,[e("button",{type:"button",class:"text-primary-600 hover:underline",onClick:p=>ms(o)},s(a(t)("common.edit")),9,pC),e("button",{type:"button",class:"text-red-600 hover:underline",onClick:p=>Yi(o)},s(a(t)("common.delete")),9,gC)])])]))),128))])])]),O.total>O.pageSize?(r(),d("div",yC,[e("span",bC,s(a(t)("admin.settings.features.affiliate.customUsers.totalLabel",{total:O.total})),1),e("div",hC,[e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:O.page<=1,onClick:i[200]||(i[200]=o=>us(O.page-1))},s(a(t)("pagination.previous")),9,xC),e("span",fC,s(O.page)+" / "+s(Math.max(1,Math.ceil(O.total/O.pageSize))),1),e("button",{type:"button",class:"btn btn-secondary btn-sm",disabled:O.page>=Math.ceil(O.total/O.pageSize),onClick:i[201]||(i[201]=o=>us(O.page+1))},s(a(t)("pagination.next")),9,kC)])])):x("",!0)])])):x("",!0)])]),j.open?(r(),d("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",onClick:Oe(ra,["self"])},[e("div",vC,[e("h3",wC,s(j.mode==="add"?a(t)("admin.settings.features.affiliate.modal.addTitle"):a(t)("admin.settings.features.affiliate.modal.editTitle")),1),e("div",CC,[j.mode==="add"?(r(),d("div",VC,[e("label",UC,s(a(t)("admin.settings.features.affiliate.modal.userLabel")),1),j.selectedUser?(r(),d("div",SC,[e("div",PC,[e("span",$C,s(j.selectedUser.email),1),e("span",EC,"("+s(j.selectedUser.username)+")",1)]),e("button",{type:"button",class:"text-lg leading-none text-gray-400 hover:text-red-600",title:a(t)("admin.settings.features.affiliate.modal.changeUser"),onClick:Gi}," Ã ",8,AC)])):(r(),d(M,{key:1},[m(e("input",{"onUpdate:modelValue":i[202]||(i[202]=o=>j.userQuery=o),type:"text",class:"input",placeholder:a(t)("admin.settings.features.affiliate.modal.userPlaceholder"),onInput:Wi},null,40,TC),[[b,j.userQuery]]),j.userResults.length>0?(r(),d("div",FC,[(r(!0),d(M,null,B(j.userResults,o=>(r(),d("button",{key:o.id,type:"button",class:"w-full px-3 py-1.5 text-left text-sm hover:bg-gray-100 dark:hover:bg-dark-800",onClick:p=>Ki(o)},[T(s(o.email)+" ",1),e("span",LC,"("+s(o.username)+")",1)],8,MC))),128))])):x("",!0)],64))])):(r(),d("div",RC,[e("label",HC,s(a(t)("admin.settings.features.affiliate.modal.userLabel")),1),e("input",{type:"text",class:"input",value:j.editingEntry?j.editingEntry.email:"",disabled:""},null,8,DC)])),e("div",null,[e("label",jC,s(a(t)("admin.settings.features.affiliate.modal.codeLabel")),1),m(e("input",{"onUpdate:modelValue":i[203]||(i[203]=o=>j.code=o),type:"text",class:"input font-mono",placeholder:a(t)("admin.settings.features.affiliate.modal.codePlaceholder"),maxlength:"32"},null,8,zC),[[b,j.code]]),e("p",OC,s(a(t)("admin.settings.features.affiliate.modal.codeHint")),1)]),e("div",null,[e("label",BC,s(a(t)("admin.settings.features.affiliate.modal.rateLabel")),1),e("div",IC,[m(e("input",{"onUpdate:modelValue":i[204]||(i[204]=o=>j.rate=o),type:"number",step:"0.01",min:"0",max:"100",class:"input pr-8",placeholder:a(t)("admin.settings.features.affiliate.modal.ratePlaceholder")},null,8,qC),[[b,j.rate]]),i[308]||(i[308]=e("span",{class:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-gray-400"},"%",-1))]),e("p",NC,s(a(t)("admin.settings.features.affiliate.modal.rateHint")),1)])]),e("div",WC,[da.value?(r(),d("span",GC)):(r(),d("p",KC,s(a(t)("admin.settings.features.affiliate.modal.errorEmpty")),1)),e("div",QC,[e("button",{type:"button",class:"btn btn-secondary",onClick:ra},s(a(t)("common.cancel")),1),e("button",{type:"button",class:"btn btn-primary",disabled:j.saving||!da.value,onClick:Qi},s(j.saving?a(t)("common.saving"):a(t)("common.save")),9,YC)])])])])):x("",!0),Le.open?(r(),d("div",{key:1,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",onClick:i[207]||(i[207]=Oe(o=>Le.open=!1,["self"]))},[e("div",JC,[e("h3",ZC,s(a(t)("admin.settings.features.affiliate.batchModal.title",{count:O.selected.length})),1),e("p",XC,s(a(t)("admin.settings.features.affiliate.batchModal.hint")),1),e("div",eV,[m(e("input",{"onUpdate:modelValue":i[205]||(i[205]=o=>Le.rate=o),type:"number",step:"0.01",min:"0",max:"100",class:"input pr-8",placeholder:a(t)("admin.settings.features.affiliate.batchModal.placeholder")},null,8,tV),[[b,Le.rate]]),i[309]||(i[309]=e("span",{class:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-gray-400"},"%",-1))]),e("p",aV,s(a(t)("admin.settings.features.affiliate.batchModal.clearHint")),1),e("div",sV,[e("button",{type:"button",class:"btn btn-secondary",onClick:i[206]||(i[206]=o=>Le.open=!1)},s(a(t)("common.cancel")),1),e("button",{type:"button",class:"btn btn-primary",disabled:Le.saving,onClick:Zi},s(Le.saving?a(t)("common.saving"):a(t)("common.save")),9,nV)])])])):x("",!0)],512),[[Te,U.value==="features"]]),m(e("div",iV,[e("div",oV,[e("div",lV,[e("h2",rV,s(a(t)("admin.settings.payment.title")),1),e("p",dV,[T(s(a(t)("admin.settings.payment.description"))+" ",1),e("a",{href:w.value,target:"_blank",rel:"noopener noreferrer",class:"ml-2 inline-flex items-center text-primary-600 hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-300"},[i[310]||(i[310]=e("svg",{class:"mr-0.5 h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})],-1)),T(" "+s(a(t)("admin.settings.payment.configGuide")),1)],8,cV)])]),e("div",uV,[e("div",mV,[e("div",null,[e("label",_V,s(a(t)("admin.settings.payment.enabled")),1),e("p",pV,s(a(t)("admin.settings.payment.enabledHint")),1)]),h(S,{modelValue:n.payment_enabled,"onUpdate:modelValue":i[208]||(i[208]=o=>n.payment_enabled=o)},null,8,["modelValue"])]),n.payment_enabled?(r(),d(M,{key:0},[e("div",gV,[e("div",null,[e("label",yV,s(a(t)("admin.settings.payment.productNamePrefix")),1),m(e("input",{"onUpdate:modelValue":i[209]||(i[209]=o=>n.payment_product_name_prefix=o),type:"text",class:"input",placeholder:"Sub2API"},null,512),[[b,n.payment_product_name_prefix]])]),e("div",null,[e("label",bV,s(a(t)("admin.settings.payment.productNameSuffix")),1),m(e("input",{"onUpdate:modelValue":i[210]||(i[210]=o=>n.payment_product_name_suffix=o),type:"text",class:"input",placeholder:"CNY"},null,512),[[b,n.payment_product_name_suffix]])]),e("div",null,[e("label",hV,s(a(t)("admin.settings.payment.preview")),1),e("div",xV,s((n.payment_product_name_prefix||"Sub2API")+" 100 "+(n.payment_product_name_suffix||"CNY")),1)])]),e("div",fV,[e("div",null,[e("label",kV,s(a(t)("admin.settings.payment.minAmount")),1),e("input",{value:n.payment_min_amount||"",onInput:i[211]||(i[211]=o=>n.payment_min_amount=parseFloat(o.target.value)||0),type:"number",step:"0.01",min:"0",class:"input",placeholder:a(t)("admin.settings.payment.noLimit")},null,40,vV)]),e("div",null,[e("label",wV,s(a(t)("admin.settings.payment.maxAmount")),1),e("input",{value:n.payment_max_amount||"",onInput:i[212]||(i[212]=o=>n.payment_max_amount=parseFloat(o.target.value)||0),type:"number",step:"0.01",min:"0",class:"input",placeholder:a(t)("admin.settings.payment.noLimit")},null,40,CV)]),e("div",null,[e("label",VV,s(a(t)("admin.settings.payment.dailyLimit")),1),e("input",{value:n.payment_daily_limit||"",onInput:i[213]||(i[213]=o=>n.payment_daily_limit=parseFloat(o.target.value)||0),type:"number",step:"0.01",min:"0",class:"input",placeholder:a(t)("admin.settings.payment.noLimit")},null,40,UV)]),e("div",null,[e("label",SV,s(a(t)("admin.settings.payment.balanceRechargeMultiplier")),1),e("input",{value:n.payment_balance_recharge_multiplier||"",onInput:i[214]||(i[214]=o=>n.payment_balance_recharge_multiplier=parseFloat(o.target.value)||1),type:"number",step:"0.01",min:"0.01",class:"input"},null,40,PV),e("p",$V,s(a(t)("admin.settings.payment.balanceRechargeMultiplierHint")),1),e("p",EV,s(a(t)("admin.settings.payment.balanceRechargePreview",{usd:(Number(n.payment_balance_recharge_multiplier)||1).toFixed(2)})),1)]),e("div",null,[e("label",AV,s(a(t)("admin.settings.payment.subscriptionUsdToCnyRate")),1),e("input",{value:n.payment_subscription_usd_to_cny_rate||"",onInput:i[215]||(i[215]=o=>n.payment_subscription_usd_to_cny_rate=parseFloat(o.target.value)||0),type:"number",step:"0.01",min:"0",class:"input",placeholder:a(t)("admin.settings.payment.subscriptionUsdToCnyRateDisabled")},null,40,TV),e("p",FV,s(a(t)("admin.settings.payment.subscriptionUsdToCnyRateHint")),1)]),e("div",null,[e("label",MV,s(a(t)("admin.settings.payment.rechargeFeeRate")),1),e("div",LV,[e("input",{value:n.payment_recharge_fee_rate??"",onInput:i[216]||(i[216]=o=>n.payment_recharge_fee_rate=Math.min(100,Math.max(0,Math.round(parseFloat(o.target.value||"0")*100)/100))),type:"number",step:"0.01",min:"0",max:"100",class:"input pr-8"},null,40,RV),i[311]||(i[311]=e("span",{class:"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400"},"%",-1))]),e("p",HV,s(a(t)("admin.settings.payment.rechargeFeeRateHint")),1),(Number(n.payment_recharge_fee_rate)||0)>0?(r(),d("p",DV,s(a(t)("admin.settings.payment.rechargeFeePreview",{fee:(Number(n.payment_recharge_fee_rate)||0).toFixed(2)})),1)):x("",!0)]),e("div",null,[e("label",jV,[T(s(a(t)("admin.settings.payment.orderTimeout"))+" ",1),i[312]||(i[312]=e("span",{class:"text-red-500"},"*",-1))]),m(e("input",{"onUpdate:modelValue":i[217]||(i[217]=o=>n.payment_order_timeout_minutes=o),type:"number",min:"1",class:"input",required:""},null,512),[[b,n.payment_order_timeout_minutes,void 0,{number:!0}]]),e("p",zV,s(a(t)("admin.settings.payment.orderTimeoutHint")),1)])]),e("div",OV,[e("div",BV,[e("label",IV,s(a(t)("admin.settings.payment.maxPendingOrders")),1),m(e("input",{"onUpdate:modelValue":i[218]||(i[218]=o=>n.payment_max_pending_orders=o),type:"number",min:"1",class:"input"},null,512),[[b,n.payment_max_pending_orders,void 0,{number:!0}]])]),e("div",null,[e("label",qV,s(a(t)("admin.settings.payment.loadBalanceStrategy")),1),h(fe,{modelValue:n.payment_load_balance_strategy,"onUpdate:modelValue":i[219]||(i[219]=o=>n.payment_load_balance_strategy=o),options:$i.value,class:"w-40"},null,8,["modelValue","options"])]),e("div",null,[e("label",NV,s(a(t)("admin.settings.payment.cancelRateLimit")),1),e("div",WV,[e("button",{type:"button",class:q(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",n.payment_cancel_rate_limit_enabled?"bg-primary-500":"bg-gray-300 dark:bg-dark-600"]),onClick:i[220]||(i[220]=o=>n.payment_cancel_rate_limit_enabled=!n.payment_cancel_rate_limit_enabled)},[e("span",{class:q(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",n.payment_cancel_rate_limit_enabled?"translate-x-5":"translate-x-0"])},null,2)],2),h(fe,{modelValue:n.payment_cancel_rate_limit_window_mode,"onUpdate:modelValue":i[221]||(i[221]=o=>n.payment_cancel_rate_limit_window_mode=o),options:Ai.value,class:"w-24",disabled:!n.payment_cancel_rate_limit_enabled},null,8,["modelValue","options","disabled"]),e("span",{class:q(["text-sm whitespace-nowrap",n.payment_cancel_rate_limit_enabled?"text-gray-700 dark:text-gray-300":"text-gray-400 dark:text-gray-600"])},s(a(t)("admin.settings.payment.cancelRateLimitEvery")),3),m(e("input",{"onUpdate:modelValue":i[222]||(i[222]=o=>n.payment_cancel_rate_limit_window=o),type:"number",min:"1",required:"",class:"input w-14 text-center",disabled:!n.payment_cancel_rate_limit_enabled},null,8,KV),[[b,n.payment_cancel_rate_limit_window,void 0,{number:!0}]]),h(fe,{modelValue:n.payment_cancel_rate_limit_unit,"onUpdate:modelValue":i[223]||(i[223]=o=>n.payment_cancel_rate_limit_unit=o),options:Ei.value,class:"w-28",disabled:!n.payment_cancel_rate_limit_enabled},null,8,["modelValue","options","disabled"]),e("span",{class:q(["text-sm whitespace-nowrap",n.payment_cancel_rate_limit_enabled?"text-gray-700 dark:text-gray-300":"text-gray-400 dark:text-gray-600"])},s(a(t)("admin.settings.payment.cancelRateLimitAllowMax")),3),m(e("input",{"onUpdate:modelValue":i[224]||(i[224]=o=>n.payment_cancel_rate_limit_max=o),type:"number",min:"1",required:"",class:"input w-14 text-center",disabled:!n.payment_cancel_rate_limit_enabled},null,8,GV),[[b,n.payment_cancel_rate_limit_max,void 0,{number:!0}]]),e("span",{class:q(["text-sm whitespace-nowrap",n.payment_cancel_rate_limit_enabled?"text-gray-700 dark:text-gray-300":"text-gray-400 dark:text-gray-600"])}
12,s(a(t)("admin.settings.payment.cancelRateLimitTimes")),3)])]),e("div",null,[e("label",QV,s(a(t)("admin.settings.payment.alipayForceQRCode")),1),e("div",YV,[e("button",{type:"button",class:q(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",n.payment_alipay_force_qrcode?"bg-primary-500":"bg-gray-300 dark:bg-dark-600"]),onClick:i[225]||(i[225]=o=>n.payment_alipay_force_qrcode=!n.payment_alipay_force_qrcode)},[e("span",{class:q(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",n.payment_alipay_force_qrcode?"translate-x-5":"translate-x-0"])},null,2)],2),e("span",JV,s(a(t)("admin.settings.payment.alipayForceQRCodeHint")),1)])]),e("div",null,[e("label",ZV,s(a(t)("admin.settings.payment.alipayMobilePrecreateDeepLink")),1),e("div",XV,[e("button",{type:"button",class:q(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2",n.payment_alipay_mobile_precreate_deep_link?"bg-primary-500":"bg-gray-300 dark:bg-dark-600"]),onClick:i[226]||(i[226]=o=>n.payment_alipay_mobile_precreate_deep_link=!n.payment_alipay_mobile_precreate_deep_link)},[e("span",{class:q(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",n.payment_alipay_mobile_precreate_deep_link?"translate-x-5":"translate-x-0"])},null,2)],2),e("span",eU,s(a(t)("admin.settings.payment.alipayMobilePrecreateDeepLinkHint")),1)])])]),e("div",null,[e("label",tU,s(a(t)("admin.settings.payment.enabledPaymentTypes")),1),e("div",aU,[(r(!0),d(M,null,B(ta.value,o=>(r(),d("button",{key:o.value,type:"button",onClick:p=>Ui(o.value),class:q(["rounded-lg border px-3 py-1.5 text-sm font-medium transition-all",Ci(o.value)?"border-primary-500 bg-primary-500 text-white shadow-sm":"border-gray-300 bg-white text-gray-600 hover:border-gray-400 hover:bg-gray-50 dark:border-dark-600 dark:bg-dark-800 dark:text-gray-300 dark:hover:border-dark-500"])},s(o.label),11,sU))),128))]),e("p",nU,[T(s(a(t)("admin.settings.payment.enabledPaymentTypesHint"))+" ",1),e("a",{href:f.value,target:"_blank",rel:"noopener noreferrer",class:"ml-1 text-primary-500 hover:text-primary-600 dark:text-primary-400 dark:hover:text-primary-300"},[T(s(a(t)("admin.settings.payment.findProvider"))+" ",1),i[313]||(i[313]=e("svg",{class:"mb-0.5 ml-0.5 inline h-3 w-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})],-1))],8,iU)])]),e("div",oU,[e("div",null,[e("label",lU,s(a(t)("admin.settings.payment.helpImage")),1),h(fa,{modelValue:n.payment_help_image_url,"onUpdate:modelValue":i[227]||(i[227]=o=>n.payment_help_image_url=o),"upload-label":a(t)("admin.settings.site.uploadImage"),"remove-label":a(t)("admin.settings.site.remove"),placeholder:a(t)("admin.settings.payment.helpImagePlaceholder")},null,8,["modelValue","upload-label","remove-label","placeholder"])]),e("div",null,[e("label",rU,s(a(t)("admin.settings.payment.helpText")),1),m(e("textarea",{"onUpdate:modelValue":i[228]||(i[228]=o=>n.payment_help_text=o),rows:"3",class:"input",placeholder:a(t)("admin.settings.payment.helpTextPlaceholder")},null,8,dU),[[b,n.payment_help_text]])])])],64)):x("",!0)])]),n.payment_enabled?(r(),Be(Xo,{key:0,providers:Vt.value,loading:aa.value,"can-create":Vi.value,"enabled-payment-types":n.payment_enabled_types,"all-payment-types":ta.value,"redirect-label":a(t)("admin.settings.payment.easypayRedirect"),onRefresh:Ye,onCreate:Ti,onEdit:Fi,onDelete:Hi,onToggleField:Li,onToggleType:Ri,onReorder:Di},null,8,["providers","loading","can-create","enabled-payment-types","all-payment-types","redirect-label"])):x("",!0)],512),[[Te,U.value==="payment"]]),m(e("div",cU,[n.email_verify_enabled?x("",!0):(r(),d("div",uU,[e("div",mU,[e("div",_U,[h(ie,{name:"mail",size:"md",class:"mt-0.5 flex-shrink-0 text-gray-400 dark:text-gray-500"}),e("div",null,[e("h3",pU,s(a(t)("admin.settings.emailTabDisabledTitle")),1),e("p",gU,s(a(t)("admin.settings.emailTabDisabledHint")),1)])])])])),n.email_verify_enabled?(r(),d("div",yU,[e("div",bU,[e("div",null,[e("h2",hU,s(a(t)("admin.settings.smtp.title")),1),e("p",xU,s(a(t)("admin.settings.smtp.description")),1)]),e("button",{type:"button",onClick:Wn,disabled:ue.value||oe.value,class:"btn btn-secondary btn-sm"},[ue.value?(r(),d("svg",kU,[...i[314]||(i[314]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):x("",!0),T(" "+s(ue.value?a(t)("admin.settings.smtp.testing"):a(t)("admin.settings.smtp.testConnection")),1)],8,fU)]),e("div",vU,[e("div",wU,[e("div",null,[e("label",CU,s(a(t)("admin.settings.smtp.host")),1),m(e("input",{"onUpdate:modelValue":i[229]||(i[229]=o=>n.smtp_host=o),type:"text",class:"input",placeholder:a(t)("admin.settings.smtp.hostPlaceholder")},null,8,VU),[[b,n.smtp_host]])]),e("div",null,[e("label",UU,s(a(t)("admin.settings.smtp.port")),1),m(e("input",{"onUpdate:modelValue":i[230]||(i[230]=o=>n.smtp_port=o),type:"number",min:"1",max:"65535",class:"input",placeholder:a(t)("admin.settings.smtp.portPlaceholder")},null,8,SU),[[b,n.smtp_port,void 0,{number:!0}]])]),e("div",null,[e("label",PU,s(a(t)("admin.settings.smtp.username")),1),m(e("input",{"onUpdate:modelValue":i[231]||(i[231]=o=>n.smtp_username=o),type:"text",class:"input",placeholder:a(t)("admin.settings.smtp.usernamePlaceholder")}
12,null,8,$U),[[b,n.smtp_username]])]),e("div",null,[e("label",EU,s(a(t)("admin.settings.smtp.password")),1),m(e("input",{"onUpdate:modelValue":i[232]||(i[232]=o=>n.smtp_password=o),type:"password",class:"input",autocomplete:"new-password",autocapitalize:"off",spellcheck:"false",onKeydown:i[233]||(i[233]=o=>Q.value=!0),onPaste:i[234]||(i[234]=o=>Q.value=!0),placeholder:n.smtp_password_configured?a(t)("admin.settings.smtp.passwordConfiguredPlaceholder"):a(t)("admin.settings.smtp.passwordPlaceholder")},null,40,AU),[[b,n.smtp_password]]),e("p",TU,s(n.smtp_password_configured?a(t)("admin.settings.smtp.passwordConfiguredHint"):a(t)("admin.settings.smtp.passwordHint")),1)]),e("div",null,[e("label",FU,s(a(t)("admin.settings.smtp.fromEmail")),1),m(e("input",{"onUpdate:modelValue":i[235]||(i[235]=o=>n.smtp_from_email=o),type:"email",class:"input",placeholder:a(t)("admin.settings.smtp.fromEmailPlaceholder")},null,8,MU),[[b,n.smtp_from_email]])]),e("div",null,[e("label",LU,s(a(t)("admin.settings.smtp.fromName")),1),m(e("input",{"onUpdate:modelValue":i[236]||(i[236]=o=>n.smtp_from_name=o),type:"text",class:"input",placeholder:a(t)("admin.settings.smtp.fromNamePlaceholder")},null,8,RU),[[b,n.smtp_from_name]])])]),e("div",HU,[e("div",null,[e("label",DU,s(a(t)("admin.settings.smtp.useTls")),1),e("p",jU,s(a(t)("admin.settings.smtp.useTlsHint")),1)]),h(S,{modelValue:n.smtp_use_tls,"onUpdate:modelValue":i[237]||(i[237]=o=>n.smtp_use_tls=o)},null,8,["modelValue"])])])])):x("",!0),n.email_verify_enabled?(r(),d("div",zU,[e("div",OU,[e("h2",BU,s(a(t)("admin.settings.testEmail.title")),1),e("p",IU,s(a(t)("admin.settings.testEmail.description")),1)]),e("div",qU,[e("div",NU,[e("div",WU,[e("label",KU,s(a(t)("admin.settings.testEmail.recipientEmail")),1),m(e("input",{"onUpdate:modelValue":i[238]||(i[238]=o=>Y.value=o),type:"email",class:"input",placeholder:a(t)("admin.settings.testEmail.recipientEmailPlaceholder")},null,8,GU),[[b,Y.value]])]),e("button",{type:"button",onClick:Kn,disabled:le.value||!Y.value||oe.value,class:"btn btn-secondary"},[le.value?(r(),d("svg",YU,[...i[315]||(i[315]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):x("",!0),T(" "+s(le.value?a(t)("admin.settings.testEmail.sending"):a(t)("admin.settings.testEmail.sendTestEmail")),1)],8,QU)])])])):x("",!0),e("div",JU,[e("div",ZU,[e("h3",XU,s(a(t)("admin.settings.subscriptionExpiryNotify.title")),1),e("p",eS,s(a(t)("admin.settings.subscriptionExpiryNotify.description")),1)]),e("div",tS,[e("div",aS,[e("div",null,[e("label",sS,s(a(t)("admin.settings.subscriptionExpiryNotify.enabled")),1),e("p",nS,s(a(t)("admin.settings.subscriptionExpiryNotify.enabledHint")),1)]),h(S,{modelValue:n.subscription_expiry_notify_enabled,"onUpdate:modelValue":i[239]||(i[239]=o=>n.subscription_expiry_notify_enabled=o)},null,8,["modelValue"])])])]),h(Du),e("div",iS,[e("div",oS,[e("h3",lS,s(a(t)("admin.settings.balanceNotify.title")),1),e("p",rS,s(a(t)("admin.settings.balanceNotify.description")),1)]),e("div",dS,[e("div",cS,[e("label",uS,s(a(t)("admin.settings.balanceNotify.enabled")),1),h(S,{modelValue:n.balance_low_notify_enabled,"onUpdate:modelValue":i[240]||(i[240]=o=>n.balance_low_notify_enabled=o)},null,8,["modelValue"])]),n.balance_low_notify_enabled?(r(),d("div",mS,[e("label",_S,s(a(t)("admin.settings.balanceNotify.threshold")),1),e("div",pS,[i[316]||(i[316]=e("span",{class:"absolute left-3 top-1/2 -translate-y-1/2 text-gray-400"},"$",-1)),m(e("input",{"onUpdate:modelValue":i[241]||(i[241]=o=>n.balance_low_notify_threshold=o),type:"number",min:"0",step:"0.01",class:"input pl-7"},null,512),[[b,n.balance_low_notify_threshold,void 0,{number:!0}]])]),e("p",gS,s(a(t)("admin.settings.balanceNotify.thresholdHint")),1)])):x("",!0),e("div",null,[e("label",yS,s(a(t)("admin.settings.balanceNotify.rechargeUrl")),1),m(e("input",{"onUpdate:modelValue":i[242]||(i[242]=o=>n.balance_low_notify_recharge_url=o),type:"url",class:"input",placeholder:a(Kt)},null,8,bS),[[b,n.balance_low_notify_recharge_url]]),e("p",hS,s(a(t)("admin.settings.balanceNotify.rechargeUrlHint")),1)])])]),e("div",xS,[e("div",fS,[e("h3",kS,s(a(t)("admin.settings.quotaNotify.title")),1),e("p",vS,s(a(t)("admin.settings.quotaNotify.description")),1)]),e("div",wS,[e("div",CS,[e("label",VS,s(a(t)("admin.settings.quotaNotify.enabled")),1),h(S,{modelValue:n.account_quota_notify_enabled,"onUpdate:modelValue":i[243]||(i[243]=o=>n.account_quota_notify_enabled=o)},null,8,["modelValue"])]),n.account_quota_notify_enabled?(r(),d("div",US,[e("label",SS,s(a(t)("admin.settings.quotaNotify.emails")),1),e("div",PS,[(r(!0),d(M,null,B(n.account_quota_notify_emails||[],(o,p)=>(r(),d("div",{key:p,class:"flex items-center gap-2"},[e("label",$S,[e("input",{type:"checkbox",checked:!o.disabled,onChange:_=>o.disabled=!o.disabled,class:"sr-only peer"},null,40,ES),i[317]||(i[317]=e("div",{class:"w-9 h-5 bg-gray-200 peer-focus:outline-none rounded-full peer dark:bg-gray-600 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all dark:after:border-gray-500 peer-checked:bg-primary-600"},null,-1))]),m(e("input",{"onUpdate:modelValue":_=>o.email=_,type:"email",class:"input flex-1",placeholder:a(t)("admin.settings.quotaNotify.emailPlaceholder")},null,8,AS),[[b,o.email]]),e("button",{onClick:_=>n.account_quota_notify_emails.splice(p,1),class:"btn btn-secondary px-2",type:"button"},[h(ie,{name:"x",size:"xs",class:"h-4 w-4"})],8,TS)]))),128)),e("button",{onClick:bn,class:"btn btn-secondary btn-sm",type:"button"}," + "+s(a(t)("admin.settings.quotaNotify.addEmail")),1)]),e("p",FS,s(a(t)("admin.settings.quotaNotify.emailsHint")),1)])):x("",!0)])])],512),[[Te,U.value==="email"]]),m(e("div",null,[h(Kc)],512),[[Te,U.value==="backup"]]),m(e("div",MS,[e("button",{type:"submit",disabled:_e.value||oe.value,class:"btn btn-primary"},[_e.value?(r(),d("svg",RS,[...i[318]||(i[318]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)])])):x("",!0),T(" "+s(_e.value?a(t)("admin.settings.saving"):a(t)("admin.settings.saveSettings")),1)],8,LS)],512),[[Te,U.value!=="backup"]])],32)),h(wr,{ref_key:"providerDialogRef",ref:ia,show:gt.value,saving:sa.value,editing:Ke.value,"all-key-options":os.value,"enabled-key-options":ls.value,"all-payment-types":ta.value,"redirect-label":a(t)("admin.settings.payment.easypayRedirect"),onClose:i[244]||(i[244]=o=>gt.value=!1),onSave:Mi},null,8,["show","saving","editing","all-key-options","enabled-key-options","all-payment-types","redirect-label"]),h(ks,{show:Ut.value,title:a(t)("admin.settings.payment.deleteProvider"),message:a(t)("admin.settings.payment.deleteProviderConfirm"),"confirm-text":a(t)("common.delete"),danger:"",onConfirm:ji,onCancel:i[245]||(i[245]=o=>Ut.value=!1)},null,8,["show","title","message","confirm-text"]),h(ks,{show:Ae.show,title:Ae.title,message:Ae.message,"confirm-text":Ae.confirmText,danger:"",onConfirm:Oi,onCancel:Bi},null,8,["show","title","message","confirm-text"]),h(Ts,{controller:a(K)},null,8,["controller"])])]),_:1})}}}),mP=$s(jS,[["__scopeId","data-v-d913116c"]]);export{mP as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.