From 74b1c3396dc311ad89266487cf361ed3938e306a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=A1=E8=8B=A5?= Date: Sat, 21 Feb 2026 19:30:25 +0800 Subject: [PATCH] =?UTF-8?q?fix(souladmin):=20=E4=BF=AE=E5=A4=8D=20souladmi?= =?UTF-8?q?n.quwanzhi.com=20=E7=99=BB=E5=BD=95=20Failed=20to=20fetch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Vue 管理后台 API 改为同源 (O1=""),请求 /api - souladmin Nginx 扩展配置代理 /api 到 souldev.quwanzhi.com - 新增 scripts/fix_souladmin_login.sh 部署脚本 Co-authored-by: Cursor --- scripts/fix_souladmin_login.sh | 40 ++++++++++++++++++++++++ soul-admin/dist/assets/index-CbOmKBRd.js | 2 +- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100755 scripts/fix_souladmin_login.sh diff --git a/scripts/fix_souladmin_login.sh b/scripts/fix_souladmin_login.sh new file mode 100755 index 0000000..eb25fe9 --- /dev/null +++ b/scripts/fix_souladmin_login.sh @@ -0,0 +1,40 @@ +#!/bin/bash +# 修复 souladmin.quwanzhi.com 登录 "Failed to fetch" 错误 +# 1. Vue 管理后台 API 改为同源(O1=""),请求 /api +# 2. souladmin Nginx 代理 /api 到 souldev.quwanzhi.com + +set -e +cd "$(dirname "$0")/.." +SSH_PORT="22022" +BT_HOST="43.139.27.93" +ADMIN_DIST="/www/wwwroot/自营/soul-admin/dist" + +echo "===== 1. 上传 patched index-CbOmKBRd.js =====" +sshpass -p 'Zhiqun1984' scp -P "$SSH_PORT" -o ConnectTimeout=15 \ + "soul-admin/dist/assets/index-CbOmKBRd.js" \ + root@${BT_HOST}:${ADMIN_DIST}/assets/ + +echo "===== 2. 配置 souladmin Nginx /api 代理 =====" +sshpass -p 'Zhiqun1984' ssh -p "$SSH_PORT" -o ConnectTimeout=20 root@${BT_HOST} 'bash -s' << 'REMOTE' +EXT_DIR="/www/server/panel/vhost/nginx/extension/souladmin.quwanzhi.com" +mkdir -p "$EXT_DIR" +API_CONF="$EXT_DIR/api-proxy.conf" +cat > "$API_CONF" << 'NGX' +location /api/ { + proxy_pass https://souldev.quwanzhi.com/api/; + proxy_ssl_server_name on; + proxy_http_version 1.1; + proxy_set_header Host souldev.quwanzhi.com; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; +} +NGX +echo "api-proxy.conf 已写入" +nginx -t 2>&1 && nginx -s reload 2>&1 +echo "Nginx 重载完成" +REMOTE + +echo "" +echo "===== souladmin 登录修复完成 =====" +echo "请访问 https://souladmin.quwanzhi.com 尝试登录" diff --git a/soul-admin/dist/assets/index-CbOmKBRd.js b/soul-admin/dist/assets/index-CbOmKBRd.js index 02bedb0..0666206 100644 --- a/soul-admin/dist/assets/index-CbOmKBRd.js +++ b/soul-admin/dist/assets/index-CbOmKBRd.js @@ -389,7 +389,7 @@ Error generating stack: `+h.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const I1=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],A1=we("zap",I1),Eu="admin_token";function M1(){try{return localStorage.getItem(Eu)}catch{return null}}function L1(r){try{localStorage.setItem(Eu,r)}catch{}}function D1(){try{localStorage.removeItem(Eu)}catch{}}const O1="http://localhost:3000",F1=()=>{const r="";return r.length>0?r.replace(/\/$/,""):O1};function ru(r){const a=F1(),l=r.startsWith("/")?r:`/${r}`;return a?`${a}${l}`:l}async function jo(r,a={}){const{data:l,...i}=a,c=ru(r),d=new Headers(i.headers),f=M1();f&&d.set("Authorization",`Bearer ${f}`),l!=null&&!d.has("Content-Type")&&d.set("Content-Type","application/json");const m=l!=null?JSON.stringify(l):i.body,x=await fetch(c,{...i,headers:d,body:m,credentials:"include"}),v=(x.headers.get("Content-Type")||"").includes("application/json")?await x.json():x;if(!x.ok){const y=new Error((v==null?void 0:v.error)||`HTTP ${x.status}`);throw y.status=x.status,y.data=v,y}return v}function Xe(r,a){return jo(r,{...a,method:"GET"})}function It(r,a,l){return jo(r,{...l,method:"POST",data:a})}function Wn(r,a,l){return jo(r,{...l,method:"PUT",data:a})}function z1(r,a){return jo(r,{...a,method:"DELETE"})}const $1=[{icon:Kw,label:"数据概览",href:"/dashboard"},{icon:_s,label:"内容管理",href:"/content"},{icon:Pn,label:"用户管理",href:"/users"},{icon:Is,label:"交易中心",href:"/distribution"},{icon:Zc,label:"推广设置",href:"/referral-settings"},{icon:io,label:"系统设置",href:"/settings"}];function B1(){const r=Xr(),a=Aa(),[l,i]=p.useState(!1),[c,d]=p.useState(!1);p.useEffect(()=>{i(!0)},[]),p.useEffect(()=>{if(!l)return;d(!1);let m=!1;return Xe("/api/admin").then(x=>{m||(x&&x.success!==!1?d(!0):a("/login",{replace:!0}))}).catch(()=>{m||a("/login",{replace:!0})}),()=>{m=!0}},[l,a]);const f=async()=>{D1();try{await It("/api/admin/logout",{})}catch{}a("/login",{replace:!0})};return!l||!c?n.jsxs("div",{className:"flex min-h-screen bg-[#0a1628]",children:[n.jsx("div",{className:"w-64 bg-[#0f2137] border-r border-gray-700/50"}),n.jsx("div",{className:"flex-1 flex items-center justify-center",children:n.jsx("div",{className:"text-[#38bdac]",children:"加载中..."})})]}):n.jsxs("div",{className:"flex min-h-screen bg-[#0a1628]",children:[n.jsxs("div",{className:"w-64 bg-[#0f2137] flex flex-col border-r border-gray-700/50 shadow-xl",children:[n.jsxs("div",{className:"p-6 border-b border-gray-700/50",children:[n.jsx("h1",{className:"text-xl font-bold text-[#38bdac]",children:"管理后台"}),n.jsx("p",{className:"text-xs text-gray-400 mt-1",children:"Soul创业派对"})]}),n.jsx("nav",{className:"flex-1 p-4 space-y-1",children:$1.map(m=>{const x=r.pathname===m.href;return n.jsxs(rp,{to:m.href,className:`flex items-center gap-3 px-4 py-3 rounded-lg transition-colors ${x?"bg-[#38bdac]/20 text-[#38bdac] font-medium":"text-gray-400 hover:bg-gray-700/50 hover:text-white"}`,children:[n.jsx(m.icon,{className:"w-5 h-5"}),n.jsx("span",{className:"text-sm",children:m.label})]},m.href)})}),n.jsxs("div",{className:"p-4 border-t border-gray-700/50 space-y-1",children:[n.jsxs("button",{type:"button",onClick:f,className:"w-full flex items-center gap-3 px-4 py-3 text-gray-400 hover:text-white rounded-lg hover:bg-gray-700/50 transition-colors",children:[n.jsx(Jw,{className:"w-5 h-5"}),n.jsx("span",{className:"text-sm",children:"退出登录"})]}),n.jsx("a",{href:`${typeof window<"u"?window.location.origin:""}/view`,target:"_blank",rel:"noreferrer",className:"flex items-center gap-3 px-4 py-3 text-gray-400 hover:text-white rounded-lg hover:bg-gray-700/50 transition-colors",children:n.jsx("span",{className:"text-sm",children:"返回前台"})})]})]}),n.jsx("div",{className:"flex-1 overflow-auto bg-[#0a1628]",children:n.jsx(Vy,{})})]})}function hm(r,a){if(typeof r=="function")return r(a);r!=null&&(r.current=a)}function Pu(...r){return a=>{let l=!1;const i=r.map(c=>{const d=hm(c,a);return!l&&typeof d=="function"&&(l=!0),d});if(l)return()=>{for(let c=0;c{let{children:d,...f}=i;fp(d)&&typeof co=="function"&&(d=co(d._payload));const m=p.Children.toArray(d),x=m.find(K1);if(x){const g=x.props.children,v=m.map(y=>y===x?p.Children.count(g)>1?p.Children.only(null):p.isValidElement(g)?g.props.children:null:y);return n.jsx(a,{...f,ref:c,children:p.isValidElement(g)?p.cloneElement(g,void 0,v):null})}return n.jsx(a,{...f,ref:c,children:d})});return l.displayName=`${r}.Slot`,l}var mp=hp("Slot");function W1(r){const a=p.forwardRef((l,i)=>{let{children:c,...d}=l;if(fp(c)&&typeof co=="function"&&(c=co(c._payload)),p.isValidElement(c)){const f=Q1(c),m=G1(d,c.props);return c.type!==p.Fragment&&(m.ref=i?Pu(i,f):f),p.cloneElement(c,m)}return p.Children.count(c)>1?p.Children.only(null):null});return a.displayName=`${r}.SlotClone`,a}var H1=Symbol("radix.slottable");function K1(r){return p.isValidElement(r)&&typeof r.type=="function"&&"__radixId"in r.type&&r.type.__radixId===H1}function G1(r,a){const l={...a};for(const i in a){const c=r[i],d=a[i];/^on[A-Z]/.test(i)?c&&d?l[i]=(...m)=>{const x=d(...m);return c(...m),x}:c&&(l[i]=c):i==="style"?l[i]={...c,...d}:i==="className"&&(l[i]=[c,d].filter(Boolean).join(" "))}return{...r,...l}}function Q1(r){var i,c;let a=(i=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:i.get,l=a&&"isReactWarning"in a&&a.isReactWarning;return l?r.ref:(a=(c=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:c.get,l=a&&"isReactWarning"in a&&a.isReactWarning,l?r.props.ref:r.props.ref||r.ref)}function pp(r){var a,l,i="";if(typeof r=="string"||typeof r=="number")i+=r;else if(typeof r=="object")if(Array.isArray(r)){var c=r.length;for(a=0;atypeof r=="boolean"?`${r}`:r===0?"0":r,pm=Y1,xp=(r,a)=>l=>{var i;if((a==null?void 0:a.variants)==null)return pm(r,l==null?void 0:l.class,l==null?void 0:l.className);const{variants:c,defaultVariants:d}=a,f=Object.keys(c).map(g=>{const v=l==null?void 0:l[g],y=d==null?void 0:d[g];if(v===null)return null;const E=mm(v)||mm(y);return c[g][E]}),m=l&&Object.entries(l).reduce((g,v)=>{let[y,E]=v;return E===void 0||(g[y]=E),g},{}),x=a==null||(i=a.compoundVariants)===null||i===void 0?void 0:i.reduce((g,v)=>{let{class:y,className:E,...k}=v;return Object.entries(k).every(C=>{let[b,j]=C;return Array.isArray(j)?j.includes({...d,...m}[b]):{...d,...m}[b]===j})?[...g,y,E]:g},[]);return pm(r,f,x,l==null?void 0:l.class,l==null?void 0:l.className)};function gp(r){var a,l,i="";if(typeof r=="string"||typeof r=="number")i+=r;else if(typeof r=="object")if(Array.isArray(r)){var c=r.length;for(a=0;a{const l=new Array(r.length+a.length);for(let i=0;i({classGroupId:r,validator:a}),vp=(r=new Map,a=null,l)=>({nextPart:r,validators:a,classGroupId:l}),uo="-",xm=[],Z1="arbitrary..",eN=r=>{const a=nN(r),{conflictingClassGroups:l,conflictingClassGroupModifiers:i}=r;return{getClassGroupId:f=>{if(f.startsWith("[")&&f.endsWith("]"))return tN(f);const m=f.split(uo),x=m[0]===""&&m.length>1?1:0;return yp(m,x,a)},getConflictingClassGroupIds:(f,m)=>{if(m){const x=i[f],g=l[f];return x?g?q1(g,x):x:g||xm}return l[f]||xm}}},yp=(r,a,l)=>{if(r.length-a===0)return l.classGroupId;const c=r[a],d=l.nextPart.get(c);if(d){const g=yp(r,a+1,d);if(g)return g}const f=l.validators;if(f===null)return;const m=a===0?r.join(uo):r.slice(a).join(uo),x=f.length;for(let g=0;gr.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const a=r.slice(1,-1),l=a.indexOf(":"),i=a.slice(0,l);return i?Z1+i:void 0})(),nN=r=>{const{theme:a,classGroups:l}=r;return rN(l,a)},rN=(r,a)=>{const l=vp();for(const i in r){const c=r[i];Ru(c,l,i,a)}return l},Ru=(r,a,l,i)=>{const c=r.length;for(let d=0;d{if(typeof r=="string"){aN(r,a,l);return}if(typeof r=="function"){lN(r,a,l,i);return}oN(r,a,l,i)},aN=(r,a,l)=>{const i=r===""?a:wp(a,r);i.classGroupId=l},lN=(r,a,l,i)=>{if(iN(r)){Ru(r(i),a,l,i);return}a.validators===null&&(a.validators=[]),a.validators.push(J1(l,r))},oN=(r,a,l,i)=>{const c=Object.entries(r),d=c.length;for(let f=0;f{let l=r;const i=a.split(uo),c=i.length;for(let d=0;d"isThemeGetter"in r&&r.isThemeGetter===!0,cN=r=>{if(r<1)return{get:()=>{},set:()=>{}};let a=0,l=Object.create(null),i=Object.create(null);const c=(d,f)=>{l[d]=f,a++,a>r&&(a=0,i=l,l=Object.create(null))};return{get(d){let f=l[d];if(f!==void 0)return f;if((f=i[d])!==void 0)return c(d,f),f},set(d,f){d in l?l[d]=f:c(d,f)}}},su="!",gm=":",uN=[],vm=(r,a,l,i,c)=>({modifiers:r,hasImportantModifier:a,baseClassName:l,maybePostfixModifierPosition:i,isExternal:c}),dN=r=>{const{prefix:a,experimentalParseClassName:l}=r;let i=c=>{const d=[];let f=0,m=0,x=0,g;const v=c.length;for(let b=0;bx?g-x:void 0;return vm(d,k,E,C)};if(a){const c=a+gm,d=i;i=f=>f.startsWith(c)?d(f.slice(c.length)):vm(uN,!1,f,void 0,!0)}if(l){const c=i;i=d=>l({className:d,parseClassName:c})}return i},fN=r=>{const a=new Map;return r.orderSensitiveModifiers.forEach((l,i)=>{a.set(l,1e6+i)}),l=>{const i=[];let c=[];for(let d=0;d0&&(c.sort(),i.push(...c),c=[]),i.push(f)):c.push(f)}return c.length>0&&(c.sort(),i.push(...c)),i}},hN=r=>({cache:cN(r.cacheSize),parseClassName:dN(r),sortModifiers:fN(r),...eN(r)}),mN=/\s+/,pN=(r,a)=>{const{parseClassName:l,getClassGroupId:i,getConflictingClassGroupIds:c,sortModifiers:d}=a,f=[],m=r.trim().split(mN);let x="";for(let g=m.length-1;g>=0;g-=1){const v=m[g],{isExternal:y,modifiers:E,hasImportantModifier:k,baseClassName:C,maybePostfixModifierPosition:b}=l(v);if(y){x=v+(x.length>0?" "+x:x);continue}let j=!!b,N=i(j?C.substring(0,b):C);if(!N){if(!j){x=v+(x.length>0?" "+x:x);continue}if(N=i(C),!N){x=v+(x.length>0?" "+x:x);continue}j=!1}const R=E.length===0?"":E.length===1?E[0]:d(E).join(":"),S=k?R+su:R,A=S+N;if(f.indexOf(A)>-1)continue;f.push(A);const V=c(N,j);for(let Q=0;Q0?" "+x:x)}return x},xN=(...r)=>{let a=0,l,i,c="";for(;a{if(typeof r=="string")return r;let a,l="";for(let i=0;i{let l,i,c,d;const f=x=>{const g=a.reduce((v,y)=>y(v),r());return l=hN(g),i=l.cache.get,c=l.cache.set,d=m,m(x)},m=x=>{const g=i(x);if(g)return g;const v=pN(x,l);return c(x,v),v};return d=f,(...x)=>d(xN(...x))},vN=[],pt=r=>{const a=l=>l[r]||vN;return a.isThemeGetter=!0,a},jp=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,bp=/^\((?:(\w[\w-]*):)?(.+)\)$/i,yN=/^\d+\/\d+$/,wN=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,NN=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,jN=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,bN=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,SN=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ns=r=>yN.test(r),Le=r=>!!r&&!Number.isNaN(Number(r)),mr=r=>!!r&&Number.isInteger(Number(r)),Mc=r=>r.endsWith("%")&&Le(r.slice(0,-1)),$n=r=>wN.test(r),CN=()=>!0,kN=r=>NN.test(r)&&!jN.test(r),Sp=()=>!1,EN=r=>bN.test(r),PN=r=>SN.test(r),RN=r=>!ge(r)&&!ve(r),_N=r=>Ds(r,Ep,Sp),ge=r=>jp.test(r),Br=r=>Ds(r,Pp,kN),Lc=r=>Ds(r,LN,Le),ym=r=>Ds(r,Cp,Sp),TN=r=>Ds(r,kp,PN),Hl=r=>Ds(r,Rp,EN),ve=r=>bp.test(r),ka=r=>Os(r,Pp),IN=r=>Os(r,DN),wm=r=>Os(r,Cp),AN=r=>Os(r,Ep),MN=r=>Os(r,kp),Kl=r=>Os(r,Rp,!0),Ds=(r,a,l)=>{const i=jp.exec(r);return i?i[1]?a(i[1]):l(i[2]):!1},Os=(r,a,l=!1)=>{const i=bp.exec(r);return i?i[1]?a(i[1]):l:!1},Cp=r=>r==="position"||r==="percentage",kp=r=>r==="image"||r==="url",Ep=r=>r==="length"||r==="size"||r==="bg-size",Pp=r=>r==="length",LN=r=>r==="number",DN=r=>r==="family-name",Rp=r=>r==="shadow",ON=()=>{const r=pt("color"),a=pt("font"),l=pt("text"),i=pt("font-weight"),c=pt("tracking"),d=pt("leading"),f=pt("breakpoint"),m=pt("container"),x=pt("spacing"),g=pt("radius"),v=pt("shadow"),y=pt("inset-shadow"),E=pt("text-shadow"),k=pt("drop-shadow"),C=pt("blur"),b=pt("perspective"),j=pt("aspect"),N=pt("ease"),R=pt("animate"),S=()=>["auto","avoid","all","avoid-page","page","left","right","column"],A=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],V=()=>[...A(),ve,ge],Q=()=>["auto","hidden","clip","visible","scroll"],G=()=>["auto","contain","none"],U=()=>[ve,ge,x],ie=()=>[Ns,"full","auto",...U()],fe=()=>[mr,"none","subgrid",ve,ge],oe=()=>["auto",{span:["full",mr,ve,ge]},mr,ve,ge],H=()=>[mr,"auto",ve,ge],P=()=>["auto","min","max","fr",ve,ge],K=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],re=()=>["start","end","center","stretch","center-safe","end-safe"],W=()=>["auto",...U()],$=()=>[Ns,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...U()],T=()=>[r,ve,ge],J=()=>[...A(),wm,ym,{position:[ve,ge]}],X=()=>["no-repeat",{repeat:["","x","y","space","round"]}],L=()=>["auto","cover","contain",AN,_N,{size:[ve,ge]}],B=()=>[Mc,ka,Br],le=()=>["","none","full",g,ve,ge],Z=()=>["",Le,ka,Br],be=()=>["solid","dashed","dotted","double"],je=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ne=()=>[Le,Mc,wm,ym],me=()=>["","none",C,ve,ge],Ee=()=>["none",Le,ve,ge],Se=()=>["none",Le,ve,ge],Te=()=>[Le,ve,ge],Ae=()=>[Ns,"full",...U()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[$n],breakpoint:[$n],color:[CN],container:[$n],"drop-shadow":[$n],ease:["in","out","in-out"],font:[RN],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[$n],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[$n],shadow:[$n],spacing:["px",Le],text:[$n],"text-shadow":[$n],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ns,ge,ve,j]}],container:["container"],columns:[{columns:[Le,ge,ve,m]}],"break-after":[{"break-after":S()}],"break-before":[{"break-before":S()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:V()}],overflow:[{overflow:Q()}],"overflow-x":[{"overflow-x":Q()}],"overflow-y":[{"overflow-y":Q()}],overscroll:[{overscroll:G()}],"overscroll-x":[{"overscroll-x":G()}],"overscroll-y":[{"overscroll-y":G()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ie()}],"inset-x":[{"inset-x":ie()}],"inset-y":[{"inset-y":ie()}],start:[{start:ie()}],end:[{end:ie()}],top:[{top:ie()}],right:[{right:ie()}],bottom:[{bottom:ie()}],left:[{left:ie()}],visibility:["visible","invisible","collapse"],z:[{z:[mr,"auto",ve,ge]}],basis:[{basis:[Ns,"full","auto",m,...U()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Le,Ns,"auto","initial","none",ge]}],grow:[{grow:["",Le,ve,ge]}],shrink:[{shrink:["",Le,ve,ge]}],order:[{order:[mr,"first","last","none",ve,ge]}],"grid-cols":[{"grid-cols":fe()}],"col-start-end":[{col:oe()}],"col-start":[{"col-start":H()}],"col-end":[{"col-end":H()}],"grid-rows":[{"grid-rows":fe()}],"row-start-end":[{row:oe()}],"row-start":[{"row-start":H()}],"row-end":[{"row-end":H()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":P()}],"auto-rows":[{"auto-rows":P()}],gap:[{gap:U()}],"gap-x":[{"gap-x":U()}],"gap-y":[{"gap-y":U()}],"justify-content":[{justify:[...K(),"normal"]}],"justify-items":[{"justify-items":[...re(),"normal"]}],"justify-self":[{"justify-self":["auto",...re()]}],"align-content":[{content:["normal",...K()]}],"align-items":[{items:[...re(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...re(),{baseline:["","last"]}]}],"place-content":[{"place-content":K()}],"place-items":[{"place-items":[...re(),"baseline"]}],"place-self":[{"place-self":["auto",...re()]}],p:[{p:U()}],px:[{px:U()}],py:[{py:U()}],ps:[{ps:U()}],pe:[{pe:U()}],pt:[{pt:U()}],pr:[{pr:U()}],pb:[{pb:U()}],pl:[{pl:U()}],m:[{m:W()}],mx:[{mx:W()}],my:[{my:W()}],ms:[{ms:W()}],me:[{me:W()}],mt:[{mt:W()}],mr:[{mr:W()}],mb:[{mb:W()}],ml:[{ml:W()}],"space-x":[{"space-x":U()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":U()}],"space-y-reverse":["space-y-reverse"],size:[{size:$()}],w:[{w:[m,"screen",...$()]}],"min-w":[{"min-w":[m,"screen","none",...$()]}],"max-w":[{"max-w":[m,"screen","none","prose",{screen:[f]},...$()]}],h:[{h:["screen","lh",...$()]}],"min-h":[{"min-h":["screen","lh","none",...$()]}],"max-h":[{"max-h":["screen","lh",...$()]}],"font-size":[{text:["base",l,ka,Br]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,ve,Lc]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Mc,ge]}],"font-family":[{font:[IN,ge,a]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[c,ve,ge]}],"line-clamp":[{"line-clamp":[Le,"none",ve,Lc]}],leading:[{leading:[d,...U()]}],"list-image":[{"list-image":["none",ve,ge]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ve,ge]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:T()}],"text-color":[{text:T()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...be(),"wavy"]}],"text-decoration-thickness":[{decoration:[Le,"from-font","auto",ve,Br]}],"text-decoration-color":[{decoration:T()}],"underline-offset":[{"underline-offset":[Le,"auto",ve,ge]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:U()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ve,ge]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ve,ge]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:J()}],"bg-repeat":[{bg:X()}],"bg-size":[{bg:L()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},mr,ve,ge],radial:["",ve,ge],conic:[mr,ve,ge]},MN,TN]}],"bg-color":[{bg:T()}],"gradient-from-pos":[{from:B()}],"gradient-via-pos":[{via:B()}],"gradient-to-pos":[{to:B()}],"gradient-from":[{from:T()}],"gradient-via":[{via:T()}],"gradient-to":[{to:T()}],rounded:[{rounded:le()}],"rounded-s":[{"rounded-s":le()}],"rounded-e":[{"rounded-e":le()}],"rounded-t":[{"rounded-t":le()}],"rounded-r":[{"rounded-r":le()}],"rounded-b":[{"rounded-b":le()}],"rounded-l":[{"rounded-l":le()}],"rounded-ss":[{"rounded-ss":le()}],"rounded-se":[{"rounded-se":le()}],"rounded-ee":[{"rounded-ee":le()}],"rounded-es":[{"rounded-es":le()}],"rounded-tl":[{"rounded-tl":le()}],"rounded-tr":[{"rounded-tr":le()}],"rounded-br":[{"rounded-br":le()}],"rounded-bl":[{"rounded-bl":le()}],"border-w":[{border:Z()}],"border-w-x":[{"border-x":Z()}],"border-w-y":[{"border-y":Z()}],"border-w-s":[{"border-s":Z()}],"border-w-e":[{"border-e":Z()}],"border-w-t":[{"border-t":Z()}],"border-w-r":[{"border-r":Z()}],"border-w-b":[{"border-b":Z()}],"border-w-l":[{"border-l":Z()}],"divide-x":[{"divide-x":Z()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Z()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...be(),"hidden","none"]}],"divide-style":[{divide:[...be(),"hidden","none"]}],"border-color":[{border:T()}],"border-color-x":[{"border-x":T()}],"border-color-y":[{"border-y":T()}],"border-color-s":[{"border-s":T()}],"border-color-e":[{"border-e":T()}],"border-color-t":[{"border-t":T()}],"border-color-r":[{"border-r":T()}],"border-color-b":[{"border-b":T()}],"border-color-l":[{"border-l":T()}],"divide-color":[{divide:T()}],"outline-style":[{outline:[...be(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Le,ve,ge]}],"outline-w":[{outline:["",Le,ka,Br]}],"outline-color":[{outline:T()}],shadow:[{shadow:["","none",v,Kl,Hl]}],"shadow-color":[{shadow:T()}],"inset-shadow":[{"inset-shadow":["none",y,Kl,Hl]}],"inset-shadow-color":[{"inset-shadow":T()}],"ring-w":[{ring:Z()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:T()}],"ring-offset-w":[{"ring-offset":[Le,Br]}],"ring-offset-color":[{"ring-offset":T()}],"inset-ring-w":[{"inset-ring":Z()}],"inset-ring-color":[{"inset-ring":T()}],"text-shadow":[{"text-shadow":["none",E,Kl,Hl]}],"text-shadow-color":[{"text-shadow":T()}],opacity:[{opacity:[Le,ve,ge]}],"mix-blend":[{"mix-blend":[...je(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":je()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Le]}],"mask-image-linear-from-pos":[{"mask-linear-from":ne()}],"mask-image-linear-to-pos":[{"mask-linear-to":ne()}],"mask-image-linear-from-color":[{"mask-linear-from":T()}],"mask-image-linear-to-color":[{"mask-linear-to":T()}],"mask-image-t-from-pos":[{"mask-t-from":ne()}],"mask-image-t-to-pos":[{"mask-t-to":ne()}],"mask-image-t-from-color":[{"mask-t-from":T()}],"mask-image-t-to-color":[{"mask-t-to":T()}],"mask-image-r-from-pos":[{"mask-r-from":ne()}],"mask-image-r-to-pos":[{"mask-r-to":ne()}],"mask-image-r-from-color":[{"mask-r-from":T()}],"mask-image-r-to-color":[{"mask-r-to":T()}],"mask-image-b-from-pos":[{"mask-b-from":ne()}],"mask-image-b-to-pos":[{"mask-b-to":ne()}],"mask-image-b-from-color":[{"mask-b-from":T()}],"mask-image-b-to-color":[{"mask-b-to":T()}],"mask-image-l-from-pos":[{"mask-l-from":ne()}],"mask-image-l-to-pos":[{"mask-l-to":ne()}],"mask-image-l-from-color":[{"mask-l-from":T()}],"mask-image-l-to-color":[{"mask-l-to":T()}],"mask-image-x-from-pos":[{"mask-x-from":ne()}],"mask-image-x-to-pos":[{"mask-x-to":ne()}],"mask-image-x-from-color":[{"mask-x-from":T()}],"mask-image-x-to-color":[{"mask-x-to":T()}],"mask-image-y-from-pos":[{"mask-y-from":ne()}],"mask-image-y-to-pos":[{"mask-y-to":ne()}],"mask-image-y-from-color":[{"mask-y-from":T()}],"mask-image-y-to-color":[{"mask-y-to":T()}],"mask-image-radial":[{"mask-radial":[ve,ge]}],"mask-image-radial-from-pos":[{"mask-radial-from":ne()}],"mask-image-radial-to-pos":[{"mask-radial-to":ne()}],"mask-image-radial-from-color":[{"mask-radial-from":T()}],"mask-image-radial-to-color":[{"mask-radial-to":T()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":A()}],"mask-image-conic-pos":[{"mask-conic":[Le]}],"mask-image-conic-from-pos":[{"mask-conic-from":ne()}],"mask-image-conic-to-pos":[{"mask-conic-to":ne()}],"mask-image-conic-from-color":[{"mask-conic-from":T()}],"mask-image-conic-to-color":[{"mask-conic-to":T()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:J()}],"mask-repeat":[{mask:X()}],"mask-size":[{mask:L()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ve,ge]}],filter:[{filter:["","none",ve,ge]}],blur:[{blur:me()}],brightness:[{brightness:[Le,ve,ge]}],contrast:[{contrast:[Le,ve,ge]}],"drop-shadow":[{"drop-shadow":["","none",k,Kl,Hl]}],"drop-shadow-color":[{"drop-shadow":T()}],grayscale:[{grayscale:["",Le,ve,ge]}],"hue-rotate":[{"hue-rotate":[Le,ve,ge]}],invert:[{invert:["",Le,ve,ge]}],saturate:[{saturate:[Le,ve,ge]}],sepia:[{sepia:["",Le,ve,ge]}],"backdrop-filter":[{"backdrop-filter":["","none",ve,ge]}],"backdrop-blur":[{"backdrop-blur":me()}],"backdrop-brightness":[{"backdrop-brightness":[Le,ve,ge]}],"backdrop-contrast":[{"backdrop-contrast":[Le,ve,ge]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Le,ve,ge]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Le,ve,ge]}],"backdrop-invert":[{"backdrop-invert":["",Le,ve,ge]}],"backdrop-opacity":[{"backdrop-opacity":[Le,ve,ge]}],"backdrop-saturate":[{"backdrop-saturate":[Le,ve,ge]}],"backdrop-sepia":[{"backdrop-sepia":["",Le,ve,ge]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":U()}],"border-spacing-x":[{"border-spacing-x":U()}],"border-spacing-y":[{"border-spacing-y":U()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ve,ge]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Le,"initial",ve,ge]}],ease:[{ease:["linear","initial",N,ve,ge]}],delay:[{delay:[Le,ve,ge]}],animate:[{animate:["none",R,ve,ge]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,ve,ge]}],"perspective-origin":[{"perspective-origin":V()}],rotate:[{rotate:Ee()}],"rotate-x":[{"rotate-x":Ee()}],"rotate-y":[{"rotate-y":Ee()}],"rotate-z":[{"rotate-z":Ee()}],scale:[{scale:Se()}],"scale-x":[{"scale-x":Se()}],"scale-y":[{"scale-y":Se()}],"scale-z":[{"scale-z":Se()}],"scale-3d":["scale-3d"],skew:[{skew:Te()}],"skew-x":[{"skew-x":Te()}],"skew-y":[{"skew-y":Te()}],transform:[{transform:[ve,ge,"","none","gpu","cpu"]}],"transform-origin":[{origin:V()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ae()}],"translate-x":[{"translate-x":Ae()}],"translate-y":[{"translate-y":Ae()}],"translate-z":[{"translate-z":Ae()}],"translate-none":["translate-none"],accent:[{accent:T()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:T()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ve,ge]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":U()}],"scroll-mx":[{"scroll-mx":U()}],"scroll-my":[{"scroll-my":U()}],"scroll-ms":[{"scroll-ms":U()}],"scroll-me":[{"scroll-me":U()}],"scroll-mt":[{"scroll-mt":U()}],"scroll-mr":[{"scroll-mr":U()}],"scroll-mb":[{"scroll-mb":U()}],"scroll-ml":[{"scroll-ml":U()}],"scroll-p":[{"scroll-p":U()}],"scroll-px":[{"scroll-px":U()}],"scroll-py":[{"scroll-py":U()}],"scroll-ps":[{"scroll-ps":U()}],"scroll-pe":[{"scroll-pe":U()}],"scroll-pt":[{"scroll-pt":U()}],"scroll-pr":[{"scroll-pr":U()}],"scroll-pb":[{"scroll-pb":U()}],"scroll-pl":[{"scroll-pl":U()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ve,ge]}],fill:[{fill:["none",...T()]}],"stroke-w":[{stroke:[Le,ka,Br,Lc]}],stroke:[{stroke:["none",...T()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},FN=gN(ON);function He(...r){return FN(X1(r))}const zN=xp("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function he({className:r,variant:a,size:l,asChild:i=!1,...c}){const d=i?mp:"button";return n.jsx(d,{"data-slot":"button",className:He(zN({variant:a,size:l,className:r})),...c})}function ue({className:r,type:a,...l}){return n.jsx("input",{type:a,"data-slot":"input",className:He("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs outline-none placeholder:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 md:text-sm focus-visible:ring-2 focus-visible:ring-ring",r),...l})}function $N(){const r=Aa(),[a,l]=p.useState(""),[i,c]=p.useState(""),[d,f]=p.useState(""),[m,x]=p.useState(!1),g=async()=>{f(""),x(!0);try{const v=await It("/api/admin",{username:a.trim(),password:i});if((v==null?void 0:v.success)!==!1&&(v!=null&&v.token)){L1(v.token),r("/dashboard",{replace:!0});return}f(v.error||"用户名或密码错误")}catch(v){const y=v;f(y.status===401?"用户名或密码错误":(y==null?void 0:y.message)||"网络错误,请重试")}finally{x(!1)}};return n.jsxs("div",{className:"min-h-screen bg-[#0a1628] flex items-center justify-center p-4",children:[n.jsxs("div",{className:"absolute inset-0 overflow-hidden",children:[n.jsx("div",{className:"absolute top-1/4 left-1/4 w-96 h-96 bg-[#38bdac]/5 rounded-full blur-3xl"}),n.jsx("div",{className:"absolute bottom-1/4 right-1/4 w-96 h-96 bg-blue-500/5 rounded-full blur-3xl"})]}),n.jsxs("div",{className:"w-full max-w-md relative z-10",children:[n.jsxs("div",{className:"text-center mb-8",children:[n.jsx("div",{className:"w-16 h-16 bg-[#38bdac]/20 rounded-2xl flex items-center justify-center mx-auto mb-4 border border-[#38bdac]/30",children:n.jsx(w1,{className:"w-8 h-8 text-[#38bdac]"})}),n.jsx("h1",{className:"text-2xl font-bold text-white mb-2",children:"管理后台"}),n.jsx("p",{className:"text-gray-400",children:"一场SOUL的创业实验场"})]}),n.jsxs("div",{className:"bg-[#0f2137] rounded-2xl p-8 shadow-xl border border-gray-700/50 backdrop-blur-xl",children:[n.jsx("h2",{className:"text-xl font-semibold text-white mb-6 text-center",children:"管理员登录"}),n.jsxs("div",{className:"space-y-4",children:[n.jsxs("div",{children:[n.jsx("label",{className:"block text-gray-400 text-sm mb-2",children:"用户名"}),n.jsxs("div",{className:"relative",children:[n.jsx(Zl,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-500"}),n.jsx(ue,{type:"text",value:a,onChange:v=>l(v.target.value),placeholder:"请输入用户名",className:"pl-10 bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500 focus:border-[#38bdac]"})]})]}),n.jsxs("div",{children:[n.jsx("label",{className:"block text-gray-400 text-sm mb-2",children:"密码"}),n.jsxs("div",{className:"relative",children:[n.jsx(Xw,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-500"}),n.jsx(ue,{type:"password",value:i,onChange:v=>c(v.target.value),placeholder:"请输入密码",className:"pl-10 bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500 focus:border-[#38bdac]",onKeyDown:v=>v.key==="Enter"&&g()})]})]}),d&&n.jsx("div",{className:"bg-red-500/10 text-red-400 text-sm p-3 rounded-lg border border-red-500/20",children:d}),n.jsx(he,{onClick:g,disabled:m,className:"w-full bg-[#38bdac] hover:bg-[#2da396] text-white py-5 disabled:opacity-50",children:m?"登录中...":"登录"})]})]}),n.jsx("p",{className:"text-center text-gray-500 text-xs mt-6",children:"Soul创业实验场 · 后台管理系统"})]})]})}const Re=p.forwardRef(({className:r,...a},l)=>n.jsx("div",{ref:l,className:He("rounded-xl border bg-card text-card-foreground shadow",r),...a}));Re.displayName="Card";const Ve=p.forwardRef(({className:r,...a},l)=>n.jsx("div",{ref:l,className:He("flex flex-col space-y-1.5 p-6",r),...a}));Ve.displayName="CardHeader";const Ge=p.forwardRef(({className:r,...a},l)=>n.jsx("h3",{ref:l,className:He("font-semibold leading-none tracking-tight",r),...a}));Ge.displayName="CardTitle";const gt=p.forwardRef(({className:r,...a},l)=>n.jsx("p",{ref:l,className:He("text-sm text-muted-foreground",r),...a}));gt.displayName="CardDescription";const _e=p.forwardRef(({className:r,...a},l)=>n.jsx("div",{ref:l,className:He("p-6 pt-0",r),...a}));_e.displayName="CardContent";const BN=p.forwardRef(({className:r,...a},l)=>n.jsx("div",{ref:l,className:He("flex items-center p-6 pt-0",r),...a}));BN.displayName="CardFooter";function UN(){const r=Aa(),[a,l]=p.useState(!1),[i,c]=p.useState([]),[d,f]=p.useState([]);async function m(){try{const[k,C]=await Promise.all([Xe("/api/db/users"),Xe("/api/orders")]);k!=null&&k.success&&k.users&&c(k.users),C!=null&&C.success&&C.orders&&f(C.orders)}catch(k){console.error("加载数据失败",k)}}if(p.useEffect(()=>{l(!0),m()},[]),!a)return n.jsxs("div",{className:"p-8 max-w-7xl mx-auto",children:[n.jsx("h1",{className:"text-2xl font-bold mb-8 text-white",children:"数据概览"}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8",children:[1,2,3,4].map(k=>n.jsxs(Re,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[n.jsxs(Ve,{className:"flex flex-row items-center justify-between pb-2",children:[n.jsx("div",{className:"h-4 w-20 bg-gray-700 rounded animate-pulse"}),n.jsx("div",{className:"w-8 h-8 bg-gray-700 rounded-lg animate-pulse"})]}),n.jsx(_e,{children:n.jsx("div",{className:"h-8 w-16 bg-gray-700 rounded animate-pulse"})})]},k))}),n.jsxs("div",{className:"flex items-center justify-center py-8",children:[n.jsx(et,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),n.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]})]});const x=d.reduce((k,C)=>k+Number(C.amount||0),0),g=i.length,v=d.length,y=k=>{const C=k.productType||"",b=k.description||"";if(b){if(C==="section"&&b.includes("章节")){if(b.includes("-")){const j=b.split("-");if(j.length>=3)return{title:`第${j[1]}章 第${j[2]}节`,subtitle:"《一场Soul的创业实验》"}}return{title:b,subtitle:"章节购买"}}return C==="fullbook"||b.includes("全书")?{title:"《一场Soul的创业实验》",subtitle:"全书购买"}:C==="match"||b.includes("伙伴")?{title:"找伙伴匹配",subtitle:"功能服务"}:{title:b,subtitle:C==="section"?"单章":C==="fullbook"?"全书":"其他"}}return C==="section"?{title:`章节 ${k.productId||""}`,subtitle:"单章购买"}:C==="fullbook"?{title:"《一场Soul的创业实验》",subtitle:"全书购买"}:C==="match"?{title:"找伙伴匹配",subtitle:"功能服务"}:{title:"未知商品",subtitle:C||"其他"}},E=[{title:"总用户数",value:g,icon:Pn,color:"text-blue-400",bg:"bg-blue-500/20",link:"/users"},{title:"总收入",value:`¥${Number(x).toFixed(2)}`,icon:nu,color:"text-[#38bdac]",bg:"bg-[#38bdac]/20",link:"/orders"},{title:"订单数",value:v,icon:tu,color:"text-purple-400",bg:"bg-purple-500/20",link:"/orders"},{title:"转化率",value:`${g>0?(v/g*100).toFixed(1):0}%`,icon:_s,color:"text-orange-400",bg:"bg-orange-500/20",link:"/distribution"}];return n.jsxs("div",{className:"p-8 max-w-7xl mx-auto",children:[n.jsx("h1",{className:"text-2xl font-bold mb-8 text-white",children:"数据概览"}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8",children:E.map((k,C)=>n.jsxs(Re,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl cursor-pointer hover:border-[#38bdac]/50 transition-colors group",onClick:()=>k.link&&r(k.link),children:[n.jsxs(Ve,{className:"flex flex-row items-center justify-between pb-2",children:[n.jsx(Ge,{className:"text-sm font-medium text-gray-400",children:k.title}),n.jsx("div",{className:`p-2 rounded-lg ${k.bg}`,children:n.jsx(k.icon,{className:`w-4 h-4 ${k.color}`})})]}),n.jsx(_e,{children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx("div",{className:"text-2xl font-bold text-white",children:k.value}),n.jsx(Cu,{className:"w-5 h-5 text-gray-600 group-hover:text-[#38bdac] transition-colors"})]})})]},C))}),n.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8",children:[n.jsxs(Re,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[n.jsx(Ve,{children:n.jsx(Ge,{className:"text-white",children:"最近订单"})}),n.jsx(_e,{children:n.jsxs("div",{className:"space-y-3",children:[d.slice(-5).reverse().map(k=>{var R;const C=k.referrerId?i.find(S=>S.id===k.referrerId):void 0,b=k.referralCode||(C==null?void 0:C.referralCode)||(C==null?void 0:C.nickname)||(k.referrerId?String(k.referrerId).slice(0,8):""),j=y(k),N=k.userNickname||((R=i.find(S=>S.id===k.userId))==null?void 0:R.nickname)||"匿名用户";return n.jsxs("div",{className:"flex items-start justify-between p-4 bg-[#0a1628] rounded-lg border border-gray-700/30 hover:border-[#38bdac]/30 transition-colors",children:[n.jsxs("div",{className:"flex items-start gap-3 flex-1",children:[k.userAvatar?n.jsx("img",{src:k.userAvatar,alt:N,className:"w-9 h-9 rounded-full object-cover flex-shrink-0 mt-0.5",onError:S=>{S.currentTarget.style.display="none";const A=S.currentTarget.nextElementSibling;A&&A.classList.remove("hidden")}}):null,n.jsx("div",{className:`w-9 h-9 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm font-medium text-[#38bdac] flex-shrink-0 mt-0.5 ${k.userAvatar?"hidden":""}`,children:N.charAt(0)}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx("span",{className:"text-sm text-gray-300",children:N}),n.jsx("span",{className:"text-gray-600",children:"·"}),n.jsx("span",{className:"text-sm font-medium text-white truncate",children:j.title})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500",children:[n.jsx("span",{className:"px-1.5 py-0.5 bg-gray-700/50 rounded",children:j.subtitle}),n.jsx("span",{children:new Date(k.createdAt||0).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})})]}),b&&n.jsxs("p",{className:"text-xs text-gray-600 mt-1",children:["推荐: ",b]})]})]}),n.jsxs("div",{className:"text-right ml-4 flex-shrink-0",children:[n.jsxs("p",{className:"text-sm font-bold text-[#38bdac]",children:["+¥",Number(k.amount).toFixed(2)]}),n.jsx("p",{className:"text-xs text-gray-500 mt-0.5",children:k.paymentMethod||"微信"})]})]},k.id)}),d.length===0&&n.jsxs("div",{className:"text-center py-12",children:[n.jsx(tu,{className:"w-12 h-12 text-gray-600 mx-auto mb-3"}),n.jsx("p",{className:"text-gray-500",children:"暂无订单数据"})]})]})})]}),n.jsxs(Re,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[n.jsx(Ve,{children:n.jsx(Ge,{className:"text-white",children:"新注册用户"})}),n.jsx(_e,{children:n.jsxs("div",{className:"space-y-3",children:[i.slice(0,5).map(k=>{var C;return n.jsxs("div",{className:"flex items-center justify-between p-4 bg-[#0a1628] rounded-lg border border-gray-700/30",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-10 h-10 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm font-medium text-[#38bdac]",children:((C=k.nickname)==null?void 0:C.charAt(0))||"?"}),n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-medium text-white",children:k.nickname||"匿名用户"}),n.jsx("p",{className:"text-xs text-gray-500",children:k.phone||"-"})]})]}),n.jsx("p",{className:"text-xs text-gray-400",children:k.createdAt?new Date(k.createdAt).toLocaleDateString():"-"})]},k.id)}),i.length===0&&n.jsx("p",{className:"text-gray-500 text-center py-8",children:"暂无用户数据"})]})})]})]})]})}const bo=p.forwardRef(({className:r,...a},l)=>n.jsx("div",{className:"relative w-full overflow-auto",children:n.jsx("table",{ref:l,className:He("w-full caption-bottom text-sm",r),...a})}));bo.displayName="Table";const So=p.forwardRef(({className:r,...a},l)=>n.jsx("thead",{ref:l,className:He("[&_tr]:border-b",r),...a}));So.displayName="TableHeader";const Co=p.forwardRef(({className:r,...a},l)=>n.jsx("tbody",{ref:l,className:He("[&_tr:last-child]:border-0",r),...a}));Co.displayName="TableBody";const Un=p.forwardRef(({className:r,...a},l)=>n.jsx("tr",{ref:l,className:He("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",r),...a}));Un.displayName="TableRow";const tt=p.forwardRef(({className:r,...a},l)=>n.jsx("th",{ref:l,className:He("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",r),...a}));tt.displayName="TableHead";const Ye=p.forwardRef(({className:r,...a},l)=>n.jsx("td",{ref:l,className:He("p-4 align-middle [&:has([role=checkbox])]:pr-0",r),...a}));Ye.displayName="TableCell";const VN=xp("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 transition-colors",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-white",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function Fe({className:r,variant:a,asChild:l=!1,...i}){const c=l?mp:"span";return n.jsx(c,{className:He(VN({variant:a}),r),...i})}function WN(){const[r,a]=p.useState([]),[l,i]=p.useState([]),[c,d]=p.useState(""),[f,m]=p.useState("all"),[x,g]=p.useState(!0);async function v(){g(!0);try{const[N,R]=await Promise.all([Xe("/api/orders"),Xe("/api/db/users")]);N!=null&&N.success&&N.orders&&a(N.orders),R!=null&&R.success&&R.users&&i(R.users)}catch(N){console.error("加载订单失败",N)}finally{g(!1)}}p.useEffect(()=>{v()},[]);const y=N=>{var R;return N.userNickname||((R=l.find(S=>S.id===N.userId))==null?void 0:R.nickname)||"匿名用户"},E=N=>{var R;return((R=l.find(S=>S.id===N))==null?void 0:R.phone)||"-"},k=N=>{const R=N.productType||N.type||"",S=N.description||"";if(S){if(R==="section"&&S.includes("章节")){if(S.includes("-")){const A=S.split("-");if(A.length>=3)return{name:`第${A[1]}章 第${A[2]}节`,type:"《一场Soul的创业实验》"}}return{name:S,type:"章节购买"}}return R==="fullbook"||S.includes("全书")?{name:"《一场Soul的创业实验》",type:"全书购买"}:R==="match"||S.includes("伙伴")?{name:"找伙伴匹配",type:"功能服务"}:{name:S,type:"其他"}}return R==="section"?{name:`章节 ${N.productId||N.sectionId||""}`,type:"单章"}:R==="fullbook"?{name:"《一场Soul的创业实验》",type:"全书"}:R==="match"?{name:"找伙伴匹配",type:"功能"}:{name:"未知商品",type:R||"其他"}},C=r.filter(N=>{const R=k(N),S=y(N).includes(c)||E(N.userId).includes(c)||R.name.includes(c)||N.orderSn&&N.orderSn.includes(c)||N.id&&N.id.includes(c),A=f==="all"||N.status===f||f==="completed"&&N.status==="paid";return S&&A}),b=r.filter(N=>N.status==="paid"||N.status==="completed").reduce((N,R)=>N+Number(R.amount||0),0),j=r.filter(N=>{const R=new Date().toDateString();return(N.status==="paid"||N.status==="completed")&&new Date(N.createdAt).toDateString()===R}).reduce((N,R)=>N+Number(R.amount||0),0);return n.jsxs("div",{className:"p-8 max-w-7xl mx-auto",children:[n.jsxs("div",{className:"flex justify-between items-center mb-8",children:[n.jsxs("div",{children:[n.jsx("h2",{className:"text-2xl font-bold text-white",children:"订单管理"}),n.jsxs("p",{className:"text-gray-400 mt-1",children:["共 ",r.length," 笔订单"]})]}),n.jsx("div",{className:"flex items-center gap-4",children:n.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[n.jsx("span",{className:"text-gray-400",children:"总收入:"}),n.jsxs("span",{className:"text-[#38bdac] font-bold",children:["¥",b.toFixed(2)]}),n.jsx("span",{className:"text-gray-600",children:"|"}),n.jsx("span",{className:"text-gray-400",children:"今日:"}),n.jsxs("span",{className:"text-[#FFD700] font-bold",children:["¥",j.toFixed(2)]})]})})]}),n.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[n.jsxs("div",{className:"relative flex-1 max-w-md",children:[n.jsx(Vr,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-500"}),n.jsx(ue,{type:"text",placeholder:"搜索订单号/用户/章节...",className:"pl-10 bg-[#0f2137] border-gray-700 text-white placeholder:text-gray-500",value:c,onChange:N=>d(N.target.value)})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Lw,{className:"w-4 h-4 text-gray-400"}),n.jsxs("select",{value:f,onChange:N=>m(N.target.value),className:"bg-[#0f2137] border border-gray-700 text-white rounded-lg px-3 py-2 text-sm",children:[n.jsx("option",{value:"all",children:"全部状态"}),n.jsx("option",{value:"completed",children:"已完成"}),n.jsx("option",{value:"pending",children:"待支付"}),n.jsx("option",{value:"created",children:"已创建"}),n.jsx("option",{value:"failed",children:"已失败"})]})]}),n.jsxs(he,{variant:"outline",className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[n.jsx(cp,{className:"w-4 h-4 mr-2"}),"导出"]})]}),n.jsx(Re,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:n.jsx(_e,{className:"p-0",children:x?n.jsxs("div",{className:"flex items-center justify-center py-12",children:[n.jsx(et,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),n.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):n.jsxs(bo,{children:[n.jsx(So,{children:n.jsxs(Un,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[n.jsx(tt,{className:"text-gray-400",children:"订单号"}),n.jsx(tt,{className:"text-gray-400",children:"用户"}),n.jsx(tt,{className:"text-gray-400",children:"商品"}),n.jsx(tt,{className:"text-gray-400",children:"金额"}),n.jsx(tt,{className:"text-gray-400",children:"支付方式"}),n.jsx(tt,{className:"text-gray-400",children:"状态"}),n.jsx(tt,{className:"text-gray-400",children:"分销佣金"}),n.jsx(tt,{className:"text-gray-400",children:"下单时间"})]})}),n.jsxs(Co,{children:[C.map(N=>{const R=k(N);return n.jsxs(Un,{className:"hover:bg-[#0a1628] border-gray-700/50",children:[n.jsxs(Ye,{className:"font-mono text-xs text-gray-400",children:[(N.orderSn||N.id||"").slice(0,12),"..."]}),n.jsx(Ye,{children:n.jsxs("div",{children:[n.jsx("p",{className:"text-white text-sm",children:y(N)}),n.jsx("p",{className:"text-gray-500 text-xs",children:E(N.userId)})]})}),n.jsx(Ye,{children:n.jsxs("div",{children:[n.jsx("p",{className:"text-white text-sm",children:R.name}),n.jsx("p",{className:"text-gray-500 text-xs",children:R.type})]})}),n.jsxs(Ye,{className:"text-[#38bdac] font-bold",children:["¥",Number(N.amount||0).toFixed(2)]}),n.jsx(Ye,{className:"text-gray-300",children:N.paymentMethod==="wechat"?"微信支付":N.paymentMethod==="alipay"?"支付宝":N.paymentMethod||"微信支付"}),n.jsx(Ye,{children:N.status==="paid"||N.status==="completed"?n.jsx(Fe,{className:"bg-green-500/20 text-green-400 hover:bg-green-500/20 border-0",children:"已完成"}):N.status==="pending"||N.status==="created"?n.jsx(Fe,{className:"bg-yellow-500/20 text-yellow-400 hover:bg-yellow-500/20 border-0",children:"待支付"}):n.jsx(Fe,{className:"bg-red-500/20 text-red-400 hover:bg-red-500/20 border-0",children:"已失败"})}),n.jsx(Ye,{className:"text-[#FFD700]",children:N.referrerEarnings?`¥${Number(N.referrerEarnings).toFixed(2)}`:"-"}),n.jsx(Ye,{className:"text-gray-400 text-sm",children:new Date(N.createdAt).toLocaleString("zh-CN")})]},N.id)}),C.length===0&&n.jsx(Un,{children:n.jsx(Ye,{colSpan:8,className:"text-center py-12 text-gray-500",children:"暂无订单数据"})})]})]})})})]})}var HN=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],KN=HN.reduce((r,a)=>{const l=hp(`Primitive.${a}`),i=p.forwardRef((c,d)=>{const{asChild:f,...m}=c,x=f?l:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),n.jsx(x,{...m,ref:d})});return i.displayName=`Primitive.${a}`,{...r,[a]:i}},{}),GN="Label",_p=p.forwardRef((r,a)=>n.jsx(KN.label,{...r,ref:a,onMouseDown:l=>{var c;l.target.closest("button, input, select, textarea")||((c=r.onMouseDown)==null||c.call(r,l),!l.defaultPrevented&&l.detail>1&&l.preventDefault())}}));_p.displayName=GN;var Tp=_p;const ae=p.forwardRef(({className:r,...a},l)=>n.jsx(Tp,{ref:l,className:He("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",r),...a}));ae.displayName=Tp.displayName;function Ie(r,a,{checkForDefaultPrevented:l=!0}={}){return function(c){if(r==null||r(c),l===!1||!c.defaultPrevented)return a==null?void 0:a(c)}}function QN(r,a){const l=p.createContext(a),i=d=>{const{children:f,...m}=d,x=p.useMemo(()=>m,Object.values(m));return n.jsx(l.Provider,{value:x,children:f})};i.displayName=r+"Provider";function c(d){const f=p.useContext(l);if(f)return f;if(a!==void 0)return a;throw new Error(`\`${d}\` must be used within \`${r}\``)}return[i,c]}function Cr(r,a=[]){let l=[];function i(d,f){const m=p.createContext(f),x=l.length;l=[...l,f];const g=y=>{var N;const{scope:E,children:k,...C}=y,b=((N=E==null?void 0:E[r])==null?void 0:N[x])||m,j=p.useMemo(()=>C,Object.values(C));return n.jsx(b.Provider,{value:j,children:k})};g.displayName=d+"Provider";function v(y,E){var b;const k=((b=E==null?void 0:E[r])==null?void 0:b[x])||m,C=p.useContext(k);if(C)return C;if(f!==void 0)return f;throw new Error(`\`${y}\` must be used within \`${d}\``)}return[g,v]}const c=()=>{const d=l.map(f=>p.createContext(f));return function(m){const x=(m==null?void 0:m[r])||d;return p.useMemo(()=>({[`__scope${r}`]:{...m,[r]:x}}),[m,x])}};return c.scopeName=r,[i,YN(c,...a)]}function YN(...r){const a=r[0];if(r.length===1)return a;const l=()=>{const i=r.map(c=>({useScope:c(),scopeName:c.scopeName}));return function(d){const f=i.reduce((m,{useScope:x,scopeName:g})=>{const y=x(d)[`__scope${g}`];return{...m,...y}},{});return p.useMemo(()=>({[`__scope${a.scopeName}`]:f}),[f])}};return l.scopeName=a.scopeName,l}var Rt=globalThis!=null&&globalThis.document?p.useLayoutEffect:()=>{},XN=yo[" useId ".trim().toString()]||(()=>{}),qN=0;function wr(r){const[a,l]=p.useState(XN());return Rt(()=>{l(i=>i??String(qN++))},[r]),a?`radix-${a}`:""}var JN=yo[" useInsertionEffect ".trim().toString()]||Rt;function Hr({prop:r,defaultProp:a,onChange:l=()=>{},caller:i}){const[c,d,f]=ZN({defaultProp:a,onChange:l}),m=r!==void 0,x=m?r:c;{const v=p.useRef(r!==void 0);p.useEffect(()=>{const y=v.current;y!==m&&console.warn(`${i} is changing from ${y?"controlled":"uncontrolled"} to ${m?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),v.current=m},[m,i])}const g=p.useCallback(v=>{var y;if(m){const E=ej(v)?v(r):v;E!==r&&((y=f.current)==null||y.call(f,E))}else d(v)},[m,r,d,f]);return[x,g]}function ZN({defaultProp:r,onChange:a}){const[l,i]=p.useState(r),c=p.useRef(l),d=p.useRef(a);return JN(()=>{d.current=a},[a]),p.useEffect(()=>{var f;c.current!==l&&((f=d.current)==null||f.call(d,l),c.current=l)},[l,c]),[l,i,d]}function ej(r){return typeof r=="function"}function _a(r){const a=tj(r),l=p.forwardRef((i,c)=>{const{children:d,...f}=i,m=p.Children.toArray(d),x=m.find(rj);if(x){const g=x.props.children,v=m.map(y=>y===x?p.Children.count(g)>1?p.Children.only(null):p.isValidElement(g)?g.props.children:null:y);return n.jsx(a,{...f,ref:c,children:p.isValidElement(g)?p.cloneElement(g,void 0,v):null})}return n.jsx(a,{...f,ref:c,children:d})});return l.displayName=`${r}.Slot`,l}function tj(r){const a=p.forwardRef((l,i)=>{const{children:c,...d}=l;if(p.isValidElement(c)){const f=aj(c),m=sj(d,c.props);return c.type!==p.Fragment&&(m.ref=i?Pu(i,f):f),p.cloneElement(c,m)}return p.Children.count(c)>1?p.Children.only(null):null});return a.displayName=`${r}.SlotClone`,a}var nj=Symbol("radix.slottable");function rj(r){return p.isValidElement(r)&&typeof r.type=="function"&&"__radixId"in r.type&&r.type.__radixId===nj}function sj(r,a){const l={...a};for(const i in a){const c=r[i],d=a[i];/^on[A-Z]/.test(i)?c&&d?l[i]=(...m)=>{const x=d(...m);return c(...m),x}:c&&(l[i]=c):i==="style"?l[i]={...c,...d}:i==="className"&&(l[i]=[c,d].filter(Boolean).join(" "))}return{...r,...l}}function aj(r){var i,c;let a=(i=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:i.get,l=a&&"isReactWarning"in a&&a.isReactWarning;return l?r.ref:(a=(c=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:c.get,l=a&&"isReactWarning"in a&&a.isReactWarning,l?r.props.ref:r.props.ref||r.ref)}var lj=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],De=lj.reduce((r,a)=>{const l=_a(`Primitive.${a}`),i=p.forwardRef((c,d)=>{const{asChild:f,...m}=c,x=f?l:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),n.jsx(x,{...m,ref:d})});return i.displayName=`Primitive.${a}`,{...r,[a]:i}},{});function oj(r,a){r&&Ia.flushSync(()=>r.dispatchEvent(a))}function Nr(r){const a=p.useRef(r);return p.useEffect(()=>{a.current=r}),p.useMemo(()=>(...l)=>{var i;return(i=a.current)==null?void 0:i.call(a,...l)},[])}function ij(r,a=globalThis==null?void 0:globalThis.document){const l=Nr(r);p.useEffect(()=>{const i=c=>{c.key==="Escape"&&l(c)};return a.addEventListener("keydown",i,{capture:!0}),()=>a.removeEventListener("keydown",i,{capture:!0})},[l,a])}var cj="DismissableLayer",au="dismissableLayer.update",uj="dismissableLayer.pointerDownOutside",dj="dismissableLayer.focusOutside",Nm,Ip=p.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),_u=p.forwardRef((r,a)=>{const{disableOutsidePointerEvents:l=!1,onEscapeKeyDown:i,onPointerDownOutside:c,onFocusOutside:d,onInteractOutside:f,onDismiss:m,...x}=r,g=p.useContext(Ip),[v,y]=p.useState(null),E=(v==null?void 0:v.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,k]=p.useState({}),C=We(a,G=>y(G)),b=Array.from(g.layers),[j]=[...g.layersWithOutsidePointerEventsDisabled].slice(-1),N=b.indexOf(j),R=v?b.indexOf(v):-1,S=g.layersWithOutsidePointerEventsDisabled.size>0,A=R>=N,V=mj(G=>{const U=G.target,ie=[...g.branches].some(fe=>fe.contains(U));!A||ie||(c==null||c(G),f==null||f(G),G.defaultPrevented||m==null||m())},E),Q=pj(G=>{const U=G.target;[...g.branches].some(fe=>fe.contains(U))||(d==null||d(G),f==null||f(G),G.defaultPrevented||m==null||m())},E);return ij(G=>{R===g.layers.size-1&&(i==null||i(G),!G.defaultPrevented&&m&&(G.preventDefault(),m()))},E),p.useEffect(()=>{if(v)return l&&(g.layersWithOutsidePointerEventsDisabled.size===0&&(Nm=E.body.style.pointerEvents,E.body.style.pointerEvents="none"),g.layersWithOutsidePointerEventsDisabled.add(v)),g.layers.add(v),jm(),()=>{l&&g.layersWithOutsidePointerEventsDisabled.size===1&&(E.body.style.pointerEvents=Nm)}},[v,E,l,g]),p.useEffect(()=>()=>{v&&(g.layers.delete(v),g.layersWithOutsidePointerEventsDisabled.delete(v),jm())},[v,g]),p.useEffect(()=>{const G=()=>k({});return document.addEventListener(au,G),()=>document.removeEventListener(au,G)},[]),n.jsx(De.div,{...x,ref:C,style:{pointerEvents:S?A?"auto":"none":void 0,...r.style},onFocusCapture:Ie(r.onFocusCapture,Q.onFocusCapture),onBlurCapture:Ie(r.onBlurCapture,Q.onBlurCapture),onPointerDownCapture:Ie(r.onPointerDownCapture,V.onPointerDownCapture)})});_u.displayName=cj;var fj="DismissableLayerBranch",hj=p.forwardRef((r,a)=>{const l=p.useContext(Ip),i=p.useRef(null),c=We(a,i);return p.useEffect(()=>{const d=i.current;if(d)return l.branches.add(d),()=>{l.branches.delete(d)}},[l.branches]),n.jsx(De.div,{...r,ref:c})});hj.displayName=fj;function mj(r,a=globalThis==null?void 0:globalThis.document){const l=Nr(r),i=p.useRef(!1),c=p.useRef(()=>{});return p.useEffect(()=>{const d=m=>{if(m.target&&!i.current){let x=function(){Ap(uj,l,g,{discrete:!0})};const g={originalEvent:m};m.pointerType==="touch"?(a.removeEventListener("click",c.current),c.current=x,a.addEventListener("click",c.current,{once:!0})):x()}else a.removeEventListener("click",c.current);i.current=!1},f=window.setTimeout(()=>{a.addEventListener("pointerdown",d)},0);return()=>{window.clearTimeout(f),a.removeEventListener("pointerdown",d),a.removeEventListener("click",c.current)}},[a,l]),{onPointerDownCapture:()=>i.current=!0}}function pj(r,a=globalThis==null?void 0:globalThis.document){const l=Nr(r),i=p.useRef(!1);return p.useEffect(()=>{const c=d=>{d.target&&!i.current&&Ap(dj,l,{originalEvent:d},{discrete:!1})};return a.addEventListener("focusin",c),()=>a.removeEventListener("focusin",c)},[a,l]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function jm(){const r=new CustomEvent(au);document.dispatchEvent(r)}function Ap(r,a,l,{discrete:i}){const c=l.originalEvent.target,d=new CustomEvent(r,{bubbles:!1,cancelable:!0,detail:l});a&&c.addEventListener(r,a,{once:!0}),i?oj(c,d):c.dispatchEvent(d)}var Dc="focusScope.autoFocusOnMount",Oc="focusScope.autoFocusOnUnmount",bm={bubbles:!1,cancelable:!0},xj="FocusScope",Tu=p.forwardRef((r,a)=>{const{loop:l=!1,trapped:i=!1,onMountAutoFocus:c,onUnmountAutoFocus:d,...f}=r,[m,x]=p.useState(null),g=Nr(c),v=Nr(d),y=p.useRef(null),E=We(a,b=>x(b)),k=p.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;p.useEffect(()=>{if(i){let b=function(S){if(k.paused||!m)return;const A=S.target;m.contains(A)?y.current=A:xr(y.current,{select:!0})},j=function(S){if(k.paused||!m)return;const A=S.relatedTarget;A!==null&&(m.contains(A)||xr(y.current,{select:!0}))},N=function(S){if(document.activeElement===document.body)for(const V of S)V.removedNodes.length>0&&xr(m)};document.addEventListener("focusin",b),document.addEventListener("focusout",j);const R=new MutationObserver(N);return m&&R.observe(m,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",b),document.removeEventListener("focusout",j),R.disconnect()}}},[i,m,k.paused]),p.useEffect(()=>{if(m){Cm.add(k);const b=document.activeElement;if(!m.contains(b)){const N=new CustomEvent(Dc,bm);m.addEventListener(Dc,g),m.dispatchEvent(N),N.defaultPrevented||(gj(jj(Mp(m)),{select:!0}),document.activeElement===b&&xr(m))}return()=>{m.removeEventListener(Dc,g),setTimeout(()=>{const N=new CustomEvent(Oc,bm);m.addEventListener(Oc,v),m.dispatchEvent(N),N.defaultPrevented||xr(b??document.body,{select:!0}),m.removeEventListener(Oc,v),Cm.remove(k)},0)}}},[m,g,v,k]);const C=p.useCallback(b=>{if(!l&&!i||k.paused)return;const j=b.key==="Tab"&&!b.altKey&&!b.ctrlKey&&!b.metaKey,N=document.activeElement;if(j&&N){const R=b.currentTarget,[S,A]=vj(R);S&&A?!b.shiftKey&&N===A?(b.preventDefault(),l&&xr(S,{select:!0})):b.shiftKey&&N===S&&(b.preventDefault(),l&&xr(A,{select:!0})):N===R&&b.preventDefault()}},[l,i,k.paused]);return n.jsx(De.div,{tabIndex:-1,...f,ref:E,onKeyDown:C})});Tu.displayName=xj;function gj(r,{select:a=!1}={}){const l=document.activeElement;for(const i of r)if(xr(i,{select:a}),document.activeElement!==l)return}function vj(r){const a=Mp(r),l=Sm(a,r),i=Sm(a.reverse(),r);return[l,i]}function Mp(r){const a=[],l=document.createTreeWalker(r,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const c=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||c?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;l.nextNode();)a.push(l.currentNode);return a}function Sm(r,a){for(const l of r)if(!yj(l,{upTo:a}))return l}function yj(r,{upTo:a}){if(getComputedStyle(r).visibility==="hidden")return!0;for(;r;){if(a!==void 0&&r===a)return!1;if(getComputedStyle(r).display==="none")return!0;r=r.parentElement}return!1}function wj(r){return r instanceof HTMLInputElement&&"select"in r}function xr(r,{select:a=!1}={}){if(r&&r.focus){const l=document.activeElement;r.focus({preventScroll:!0}),r!==l&&wj(r)&&a&&r.select()}}var Cm=Nj();function Nj(){let r=[];return{add(a){const l=r[0];a!==l&&(l==null||l.pause()),r=km(r,a),r.unshift(a)},remove(a){var l;r=km(r,a),(l=r[0])==null||l.resume()}}}function km(r,a){const l=[...r],i=l.indexOf(a);return i!==-1&&l.splice(i,1),l}function jj(r){return r.filter(a=>a.tagName!=="A")}var bj="Portal",Iu=p.forwardRef((r,a)=>{var m;const{container:l,...i}=r,[c,d]=p.useState(!1);Rt(()=>d(!0),[]);const f=l||c&&((m=globalThis==null?void 0:globalThis.document)==null?void 0:m.body);return f?Yv.createPortal(n.jsx(De.div,{...i,ref:a}),f):null});Iu.displayName=bj;function Sj(r,a){return p.useReducer((l,i)=>a[l][i]??l,r)}var Ma=r=>{const{present:a,children:l}=r,i=Cj(a),c=typeof l=="function"?l({present:i.isPresent}):p.Children.only(l),d=We(i.ref,kj(c));return typeof l=="function"||i.isPresent?p.cloneElement(c,{ref:d}):null};Ma.displayName="Presence";function Cj(r){const[a,l]=p.useState(),i=p.useRef(null),c=p.useRef(r),d=p.useRef("none"),f=r?"mounted":"unmounted",[m,x]=Sj(f,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return p.useEffect(()=>{const g=Gl(i.current);d.current=m==="mounted"?g:"none"},[m]),Rt(()=>{const g=i.current,v=c.current;if(v!==r){const E=d.current,k=Gl(g);r?x("MOUNT"):k==="none"||(g==null?void 0:g.display)==="none"?x("UNMOUNT"):x(v&&E!==k?"ANIMATION_OUT":"UNMOUNT"),c.current=r}},[r,x]),Rt(()=>{if(a){let g;const v=a.ownerDocument.defaultView??window,y=k=>{const b=Gl(i.current).includes(CSS.escape(k.animationName));if(k.target===a&&b&&(x("ANIMATION_END"),!c.current)){const j=a.style.animationFillMode;a.style.animationFillMode="forwards",g=v.setTimeout(()=>{a.style.animationFillMode==="forwards"&&(a.style.animationFillMode=j)})}},E=k=>{k.target===a&&(d.current=Gl(i.current))};return a.addEventListener("animationstart",E),a.addEventListener("animationcancel",y),a.addEventListener("animationend",y),()=>{v.clearTimeout(g),a.removeEventListener("animationstart",E),a.removeEventListener("animationcancel",y),a.removeEventListener("animationend",y)}}else x("ANIMATION_END")},[a,x]),{isPresent:["mounted","unmountSuspended"].includes(m),ref:p.useCallback(g=>{i.current=g?getComputedStyle(g):null,l(g)},[])}}function Gl(r){return(r==null?void 0:r.animationName)||"none"}function kj(r){var i,c;let a=(i=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:i.get,l=a&&"isReactWarning"in a&&a.isReactWarning;return l?r.ref:(a=(c=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:c.get,l=a&&"isReactWarning"in a&&a.isReactWarning,l?r.props.ref:r.props.ref||r.ref)}var Fc=0;function Lp(){p.useEffect(()=>{const r=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",r[0]??Em()),document.body.insertAdjacentElement("beforeend",r[1]??Em()),Fc++,()=>{Fc===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),Fc--}},[])}function Em(){const r=document.createElement("span");return r.setAttribute("data-radix-focus-guard",""),r.tabIndex=0,r.style.outline="none",r.style.opacity="0",r.style.position="fixed",r.style.pointerEvents="none",r}var jn=function(){return jn=Object.assign||function(a){for(var l,i=1,c=arguments.length;i"u")return Vj;var a=Wj(r),l=document.documentElement.clientWidth,i=window.innerWidth;return{left:a[0],top:a[1],right:a[2],gap:Math.max(0,i-l+a[2]-a[0])}},Kj=zp(),Ps="data-scroll-locked",Gj=function(r,a,l,i){var c=r.left,d=r.top,f=r.right,m=r.gap;return l===void 0&&(l="margin"),` + */const I1=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],A1=we("zap",I1),Eu="admin_token";function M1(){try{return localStorage.getItem(Eu)}catch{return null}}function L1(r){try{localStorage.setItem(Eu,r)}catch{}}function D1(){try{localStorage.removeItem(Eu)}catch{}}const O1="",F1=()=>{const r="";return r.length>0?r.replace(/\/$/,""):O1};function ru(r){const a=F1(),l=r.startsWith("/")?r:`/${r}`;return a?`${a}${l}`:l}async function jo(r,a={}){const{data:l,...i}=a,c=ru(r),d=new Headers(i.headers),f=M1();f&&d.set("Authorization",`Bearer ${f}`),l!=null&&!d.has("Content-Type")&&d.set("Content-Type","application/json");const m=l!=null?JSON.stringify(l):i.body,x=await fetch(c,{...i,headers:d,body:m,credentials:"include"}),v=(x.headers.get("Content-Type")||"").includes("application/json")?await x.json():x;if(!x.ok){const y=new Error((v==null?void 0:v.error)||`HTTP ${x.status}`);throw y.status=x.status,y.data=v,y}return v}function Xe(r,a){return jo(r,{...a,method:"GET"})}function It(r,a,l){return jo(r,{...l,method:"POST",data:a})}function Wn(r,a,l){return jo(r,{...l,method:"PUT",data:a})}function z1(r,a){return jo(r,{...a,method:"DELETE"})}const $1=[{icon:Kw,label:"数据概览",href:"/dashboard"},{icon:_s,label:"内容管理",href:"/content"},{icon:Pn,label:"用户管理",href:"/users"},{icon:Is,label:"交易中心",href:"/distribution"},{icon:Zc,label:"推广设置",href:"/referral-settings"},{icon:io,label:"系统设置",href:"/settings"}];function B1(){const r=Xr(),a=Aa(),[l,i]=p.useState(!1),[c,d]=p.useState(!1);p.useEffect(()=>{i(!0)},[]),p.useEffect(()=>{if(!l)return;d(!1);let m=!1;return Xe("/api/admin").then(x=>{m||(x&&x.success!==!1?d(!0):a("/login",{replace:!0}))}).catch(()=>{m||a("/login",{replace:!0})}),()=>{m=!0}},[l,a]);const f=async()=>{D1();try{await It("/api/admin/logout",{})}catch{}a("/login",{replace:!0})};return!l||!c?n.jsxs("div",{className:"flex min-h-screen bg-[#0a1628]",children:[n.jsx("div",{className:"w-64 bg-[#0f2137] border-r border-gray-700/50"}),n.jsx("div",{className:"flex-1 flex items-center justify-center",children:n.jsx("div",{className:"text-[#38bdac]",children:"加载中..."})})]}):n.jsxs("div",{className:"flex min-h-screen bg-[#0a1628]",children:[n.jsxs("div",{className:"w-64 bg-[#0f2137] flex flex-col border-r border-gray-700/50 shadow-xl",children:[n.jsxs("div",{className:"p-6 border-b border-gray-700/50",children:[n.jsx("h1",{className:"text-xl font-bold text-[#38bdac]",children:"管理后台"}),n.jsx("p",{className:"text-xs text-gray-400 mt-1",children:"Soul创业派对"})]}),n.jsx("nav",{className:"flex-1 p-4 space-y-1",children:$1.map(m=>{const x=r.pathname===m.href;return n.jsxs(rp,{to:m.href,className:`flex items-center gap-3 px-4 py-3 rounded-lg transition-colors ${x?"bg-[#38bdac]/20 text-[#38bdac] font-medium":"text-gray-400 hover:bg-gray-700/50 hover:text-white"}`,children:[n.jsx(m.icon,{className:"w-5 h-5"}),n.jsx("span",{className:"text-sm",children:m.label})]},m.href)})}),n.jsxs("div",{className:"p-4 border-t border-gray-700/50 space-y-1",children:[n.jsxs("button",{type:"button",onClick:f,className:"w-full flex items-center gap-3 px-4 py-3 text-gray-400 hover:text-white rounded-lg hover:bg-gray-700/50 transition-colors",children:[n.jsx(Jw,{className:"w-5 h-5"}),n.jsx("span",{className:"text-sm",children:"退出登录"})]}),n.jsx("a",{href:`${typeof window<"u"?window.location.origin:""}/view`,target:"_blank",rel:"noreferrer",className:"flex items-center gap-3 px-4 py-3 text-gray-400 hover:text-white rounded-lg hover:bg-gray-700/50 transition-colors",children:n.jsx("span",{className:"text-sm",children:"返回前台"})})]})]}),n.jsx("div",{className:"flex-1 overflow-auto bg-[#0a1628]",children:n.jsx(Vy,{})})]})}function hm(r,a){if(typeof r=="function")return r(a);r!=null&&(r.current=a)}function Pu(...r){return a=>{let l=!1;const i=r.map(c=>{const d=hm(c,a);return!l&&typeof d=="function"&&(l=!0),d});if(l)return()=>{for(let c=0;c{let{children:d,...f}=i;fp(d)&&typeof co=="function"&&(d=co(d._payload));const m=p.Children.toArray(d),x=m.find(K1);if(x){const g=x.props.children,v=m.map(y=>y===x?p.Children.count(g)>1?p.Children.only(null):p.isValidElement(g)?g.props.children:null:y);return n.jsx(a,{...f,ref:c,children:p.isValidElement(g)?p.cloneElement(g,void 0,v):null})}return n.jsx(a,{...f,ref:c,children:d})});return l.displayName=`${r}.Slot`,l}var mp=hp("Slot");function W1(r){const a=p.forwardRef((l,i)=>{let{children:c,...d}=l;if(fp(c)&&typeof co=="function"&&(c=co(c._payload)),p.isValidElement(c)){const f=Q1(c),m=G1(d,c.props);return c.type!==p.Fragment&&(m.ref=i?Pu(i,f):f),p.cloneElement(c,m)}return p.Children.count(c)>1?p.Children.only(null):null});return a.displayName=`${r}.SlotClone`,a}var H1=Symbol("radix.slottable");function K1(r){return p.isValidElement(r)&&typeof r.type=="function"&&"__radixId"in r.type&&r.type.__radixId===H1}function G1(r,a){const l={...a};for(const i in a){const c=r[i],d=a[i];/^on[A-Z]/.test(i)?c&&d?l[i]=(...m)=>{const x=d(...m);return c(...m),x}:c&&(l[i]=c):i==="style"?l[i]={...c,...d}:i==="className"&&(l[i]=[c,d].filter(Boolean).join(" "))}return{...r,...l}}function Q1(r){var i,c;let a=(i=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:i.get,l=a&&"isReactWarning"in a&&a.isReactWarning;return l?r.ref:(a=(c=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:c.get,l=a&&"isReactWarning"in a&&a.isReactWarning,l?r.props.ref:r.props.ref||r.ref)}function pp(r){var a,l,i="";if(typeof r=="string"||typeof r=="number")i+=r;else if(typeof r=="object")if(Array.isArray(r)){var c=r.length;for(a=0;atypeof r=="boolean"?`${r}`:r===0?"0":r,pm=Y1,xp=(r,a)=>l=>{var i;if((a==null?void 0:a.variants)==null)return pm(r,l==null?void 0:l.class,l==null?void 0:l.className);const{variants:c,defaultVariants:d}=a,f=Object.keys(c).map(g=>{const v=l==null?void 0:l[g],y=d==null?void 0:d[g];if(v===null)return null;const E=mm(v)||mm(y);return c[g][E]}),m=l&&Object.entries(l).reduce((g,v)=>{let[y,E]=v;return E===void 0||(g[y]=E),g},{}),x=a==null||(i=a.compoundVariants)===null||i===void 0?void 0:i.reduce((g,v)=>{let{class:y,className:E,...k}=v;return Object.entries(k).every(C=>{let[b,j]=C;return Array.isArray(j)?j.includes({...d,...m}[b]):{...d,...m}[b]===j})?[...g,y,E]:g},[]);return pm(r,f,x,l==null?void 0:l.class,l==null?void 0:l.className)};function gp(r){var a,l,i="";if(typeof r=="string"||typeof r=="number")i+=r;else if(typeof r=="object")if(Array.isArray(r)){var c=r.length;for(a=0;a{const l=new Array(r.length+a.length);for(let i=0;i({classGroupId:r,validator:a}),vp=(r=new Map,a=null,l)=>({nextPart:r,validators:a,classGroupId:l}),uo="-",xm=[],Z1="arbitrary..",eN=r=>{const a=nN(r),{conflictingClassGroups:l,conflictingClassGroupModifiers:i}=r;return{getClassGroupId:f=>{if(f.startsWith("[")&&f.endsWith("]"))return tN(f);const m=f.split(uo),x=m[0]===""&&m.length>1?1:0;return yp(m,x,a)},getConflictingClassGroupIds:(f,m)=>{if(m){const x=i[f],g=l[f];return x?g?q1(g,x):x:g||xm}return l[f]||xm}}},yp=(r,a,l)=>{if(r.length-a===0)return l.classGroupId;const c=r[a],d=l.nextPart.get(c);if(d){const g=yp(r,a+1,d);if(g)return g}const f=l.validators;if(f===null)return;const m=a===0?r.join(uo):r.slice(a).join(uo),x=f.length;for(let g=0;gr.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const a=r.slice(1,-1),l=a.indexOf(":"),i=a.slice(0,l);return i?Z1+i:void 0})(),nN=r=>{const{theme:a,classGroups:l}=r;return rN(l,a)},rN=(r,a)=>{const l=vp();for(const i in r){const c=r[i];Ru(c,l,i,a)}return l},Ru=(r,a,l,i)=>{const c=r.length;for(let d=0;d{if(typeof r=="string"){aN(r,a,l);return}if(typeof r=="function"){lN(r,a,l,i);return}oN(r,a,l,i)},aN=(r,a,l)=>{const i=r===""?a:wp(a,r);i.classGroupId=l},lN=(r,a,l,i)=>{if(iN(r)){Ru(r(i),a,l,i);return}a.validators===null&&(a.validators=[]),a.validators.push(J1(l,r))},oN=(r,a,l,i)=>{const c=Object.entries(r),d=c.length;for(let f=0;f{let l=r;const i=a.split(uo),c=i.length;for(let d=0;d"isThemeGetter"in r&&r.isThemeGetter===!0,cN=r=>{if(r<1)return{get:()=>{},set:()=>{}};let a=0,l=Object.create(null),i=Object.create(null);const c=(d,f)=>{l[d]=f,a++,a>r&&(a=0,i=l,l=Object.create(null))};return{get(d){let f=l[d];if(f!==void 0)return f;if((f=i[d])!==void 0)return c(d,f),f},set(d,f){d in l?l[d]=f:c(d,f)}}},su="!",gm=":",uN=[],vm=(r,a,l,i,c)=>({modifiers:r,hasImportantModifier:a,baseClassName:l,maybePostfixModifierPosition:i,isExternal:c}),dN=r=>{const{prefix:a,experimentalParseClassName:l}=r;let i=c=>{const d=[];let f=0,m=0,x=0,g;const v=c.length;for(let b=0;bx?g-x:void 0;return vm(d,k,E,C)};if(a){const c=a+gm,d=i;i=f=>f.startsWith(c)?d(f.slice(c.length)):vm(uN,!1,f,void 0,!0)}if(l){const c=i;i=d=>l({className:d,parseClassName:c})}return i},fN=r=>{const a=new Map;return r.orderSensitiveModifiers.forEach((l,i)=>{a.set(l,1e6+i)}),l=>{const i=[];let c=[];for(let d=0;d0&&(c.sort(),i.push(...c),c=[]),i.push(f)):c.push(f)}return c.length>0&&(c.sort(),i.push(...c)),i}},hN=r=>({cache:cN(r.cacheSize),parseClassName:dN(r),sortModifiers:fN(r),...eN(r)}),mN=/\s+/,pN=(r,a)=>{const{parseClassName:l,getClassGroupId:i,getConflictingClassGroupIds:c,sortModifiers:d}=a,f=[],m=r.trim().split(mN);let x="";for(let g=m.length-1;g>=0;g-=1){const v=m[g],{isExternal:y,modifiers:E,hasImportantModifier:k,baseClassName:C,maybePostfixModifierPosition:b}=l(v);if(y){x=v+(x.length>0?" "+x:x);continue}let j=!!b,N=i(j?C.substring(0,b):C);if(!N){if(!j){x=v+(x.length>0?" "+x:x);continue}if(N=i(C),!N){x=v+(x.length>0?" "+x:x);continue}j=!1}const R=E.length===0?"":E.length===1?E[0]:d(E).join(":"),S=k?R+su:R,A=S+N;if(f.indexOf(A)>-1)continue;f.push(A);const V=c(N,j);for(let Q=0;Q0?" "+x:x)}return x},xN=(...r)=>{let a=0,l,i,c="";for(;a{if(typeof r=="string")return r;let a,l="";for(let i=0;i{let l,i,c,d;const f=x=>{const g=a.reduce((v,y)=>y(v),r());return l=hN(g),i=l.cache.get,c=l.cache.set,d=m,m(x)},m=x=>{const g=i(x);if(g)return g;const v=pN(x,l);return c(x,v),v};return d=f,(...x)=>d(xN(...x))},vN=[],pt=r=>{const a=l=>l[r]||vN;return a.isThemeGetter=!0,a},jp=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,bp=/^\((?:(\w[\w-]*):)?(.+)\)$/i,yN=/^\d+\/\d+$/,wN=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,NN=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,jN=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,bN=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,SN=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ns=r=>yN.test(r),Le=r=>!!r&&!Number.isNaN(Number(r)),mr=r=>!!r&&Number.isInteger(Number(r)),Mc=r=>r.endsWith("%")&&Le(r.slice(0,-1)),$n=r=>wN.test(r),CN=()=>!0,kN=r=>NN.test(r)&&!jN.test(r),Sp=()=>!1,EN=r=>bN.test(r),PN=r=>SN.test(r),RN=r=>!ge(r)&&!ve(r),_N=r=>Ds(r,Ep,Sp),ge=r=>jp.test(r),Br=r=>Ds(r,Pp,kN),Lc=r=>Ds(r,LN,Le),ym=r=>Ds(r,Cp,Sp),TN=r=>Ds(r,kp,PN),Hl=r=>Ds(r,Rp,EN),ve=r=>bp.test(r),ka=r=>Os(r,Pp),IN=r=>Os(r,DN),wm=r=>Os(r,Cp),AN=r=>Os(r,Ep),MN=r=>Os(r,kp),Kl=r=>Os(r,Rp,!0),Ds=(r,a,l)=>{const i=jp.exec(r);return i?i[1]?a(i[1]):l(i[2]):!1},Os=(r,a,l=!1)=>{const i=bp.exec(r);return i?i[1]?a(i[1]):l:!1},Cp=r=>r==="position"||r==="percentage",kp=r=>r==="image"||r==="url",Ep=r=>r==="length"||r==="size"||r==="bg-size",Pp=r=>r==="length",LN=r=>r==="number",DN=r=>r==="family-name",Rp=r=>r==="shadow",ON=()=>{const r=pt("color"),a=pt("font"),l=pt("text"),i=pt("font-weight"),c=pt("tracking"),d=pt("leading"),f=pt("breakpoint"),m=pt("container"),x=pt("spacing"),g=pt("radius"),v=pt("shadow"),y=pt("inset-shadow"),E=pt("text-shadow"),k=pt("drop-shadow"),C=pt("blur"),b=pt("perspective"),j=pt("aspect"),N=pt("ease"),R=pt("animate"),S=()=>["auto","avoid","all","avoid-page","page","left","right","column"],A=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],V=()=>[...A(),ve,ge],Q=()=>["auto","hidden","clip","visible","scroll"],G=()=>["auto","contain","none"],U=()=>[ve,ge,x],ie=()=>[Ns,"full","auto",...U()],fe=()=>[mr,"none","subgrid",ve,ge],oe=()=>["auto",{span:["full",mr,ve,ge]},mr,ve,ge],H=()=>[mr,"auto",ve,ge],P=()=>["auto","min","max","fr",ve,ge],K=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],re=()=>["start","end","center","stretch","center-safe","end-safe"],W=()=>["auto",...U()],$=()=>[Ns,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...U()],T=()=>[r,ve,ge],J=()=>[...A(),wm,ym,{position:[ve,ge]}],X=()=>["no-repeat",{repeat:["","x","y","space","round"]}],L=()=>["auto","cover","contain",AN,_N,{size:[ve,ge]}],B=()=>[Mc,ka,Br],le=()=>["","none","full",g,ve,ge],Z=()=>["",Le,ka,Br],be=()=>["solid","dashed","dotted","double"],je=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ne=()=>[Le,Mc,wm,ym],me=()=>["","none",C,ve,ge],Ee=()=>["none",Le,ve,ge],Se=()=>["none",Le,ve,ge],Te=()=>[Le,ve,ge],Ae=()=>[Ns,"full",...U()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[$n],breakpoint:[$n],color:[CN],container:[$n],"drop-shadow":[$n],ease:["in","out","in-out"],font:[RN],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[$n],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[$n],shadow:[$n],spacing:["px",Le],text:[$n],"text-shadow":[$n],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ns,ge,ve,j]}],container:["container"],columns:[{columns:[Le,ge,ve,m]}],"break-after":[{"break-after":S()}],"break-before":[{"break-before":S()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:V()}],overflow:[{overflow:Q()}],"overflow-x":[{"overflow-x":Q()}],"overflow-y":[{"overflow-y":Q()}],overscroll:[{overscroll:G()}],"overscroll-x":[{"overscroll-x":G()}],"overscroll-y":[{"overscroll-y":G()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ie()}],"inset-x":[{"inset-x":ie()}],"inset-y":[{"inset-y":ie()}],start:[{start:ie()}],end:[{end:ie()}],top:[{top:ie()}],right:[{right:ie()}],bottom:[{bottom:ie()}],left:[{left:ie()}],visibility:["visible","invisible","collapse"],z:[{z:[mr,"auto",ve,ge]}],basis:[{basis:[Ns,"full","auto",m,...U()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Le,Ns,"auto","initial","none",ge]}],grow:[{grow:["",Le,ve,ge]}],shrink:[{shrink:["",Le,ve,ge]}],order:[{order:[mr,"first","last","none",ve,ge]}],"grid-cols":[{"grid-cols":fe()}],"col-start-end":[{col:oe()}],"col-start":[{"col-start":H()}],"col-end":[{"col-end":H()}],"grid-rows":[{"grid-rows":fe()}],"row-start-end":[{row:oe()}],"row-start":[{"row-start":H()}],"row-end":[{"row-end":H()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":P()}],"auto-rows":[{"auto-rows":P()}],gap:[{gap:U()}],"gap-x":[{"gap-x":U()}],"gap-y":[{"gap-y":U()}],"justify-content":[{justify:[...K(),"normal"]}],"justify-items":[{"justify-items":[...re(),"normal"]}],"justify-self":[{"justify-self":["auto",...re()]}],"align-content":[{content:["normal",...K()]}],"align-items":[{items:[...re(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...re(),{baseline:["","last"]}]}],"place-content":[{"place-content":K()}],"place-items":[{"place-items":[...re(),"baseline"]}],"place-self":[{"place-self":["auto",...re()]}],p:[{p:U()}],px:[{px:U()}],py:[{py:U()}],ps:[{ps:U()}],pe:[{pe:U()}],pt:[{pt:U()}],pr:[{pr:U()}],pb:[{pb:U()}],pl:[{pl:U()}],m:[{m:W()}],mx:[{mx:W()}],my:[{my:W()}],ms:[{ms:W()}],me:[{me:W()}],mt:[{mt:W()}],mr:[{mr:W()}],mb:[{mb:W()}],ml:[{ml:W()}],"space-x":[{"space-x":U()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":U()}],"space-y-reverse":["space-y-reverse"],size:[{size:$()}],w:[{w:[m,"screen",...$()]}],"min-w":[{"min-w":[m,"screen","none",...$()]}],"max-w":[{"max-w":[m,"screen","none","prose",{screen:[f]},...$()]}],h:[{h:["screen","lh",...$()]}],"min-h":[{"min-h":["screen","lh","none",...$()]}],"max-h":[{"max-h":["screen","lh",...$()]}],"font-size":[{text:["base",l,ka,Br]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,ve,Lc]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Mc,ge]}],"font-family":[{font:[IN,ge,a]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[c,ve,ge]}],"line-clamp":[{"line-clamp":[Le,"none",ve,Lc]}],leading:[{leading:[d,...U()]}],"list-image":[{"list-image":["none",ve,ge]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ve,ge]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:T()}],"text-color":[{text:T()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...be(),"wavy"]}],"text-decoration-thickness":[{decoration:[Le,"from-font","auto",ve,Br]}],"text-decoration-color":[{decoration:T()}],"underline-offset":[{"underline-offset":[Le,"auto",ve,ge]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:U()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ve,ge]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ve,ge]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:J()}],"bg-repeat":[{bg:X()}],"bg-size":[{bg:L()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},mr,ve,ge],radial:["",ve,ge],conic:[mr,ve,ge]},MN,TN]}],"bg-color":[{bg:T()}],"gradient-from-pos":[{from:B()}],"gradient-via-pos":[{via:B()}],"gradient-to-pos":[{to:B()}],"gradient-from":[{from:T()}],"gradient-via":[{via:T()}],"gradient-to":[{to:T()}],rounded:[{rounded:le()}],"rounded-s":[{"rounded-s":le()}],"rounded-e":[{"rounded-e":le()}],"rounded-t":[{"rounded-t":le()}],"rounded-r":[{"rounded-r":le()}],"rounded-b":[{"rounded-b":le()}],"rounded-l":[{"rounded-l":le()}],"rounded-ss":[{"rounded-ss":le()}],"rounded-se":[{"rounded-se":le()}],"rounded-ee":[{"rounded-ee":le()}],"rounded-es":[{"rounded-es":le()}],"rounded-tl":[{"rounded-tl":le()}],"rounded-tr":[{"rounded-tr":le()}],"rounded-br":[{"rounded-br":le()}],"rounded-bl":[{"rounded-bl":le()}],"border-w":[{border:Z()}],"border-w-x":[{"border-x":Z()}],"border-w-y":[{"border-y":Z()}],"border-w-s":[{"border-s":Z()}],"border-w-e":[{"border-e":Z()}],"border-w-t":[{"border-t":Z()}],"border-w-r":[{"border-r":Z()}],"border-w-b":[{"border-b":Z()}],"border-w-l":[{"border-l":Z()}],"divide-x":[{"divide-x":Z()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Z()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...be(),"hidden","none"]}],"divide-style":[{divide:[...be(),"hidden","none"]}],"border-color":[{border:T()}],"border-color-x":[{"border-x":T()}],"border-color-y":[{"border-y":T()}],"border-color-s":[{"border-s":T()}],"border-color-e":[{"border-e":T()}],"border-color-t":[{"border-t":T()}],"border-color-r":[{"border-r":T()}],"border-color-b":[{"border-b":T()}],"border-color-l":[{"border-l":T()}],"divide-color":[{divide:T()}],"outline-style":[{outline:[...be(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Le,ve,ge]}],"outline-w":[{outline:["",Le,ka,Br]}],"outline-color":[{outline:T()}],shadow:[{shadow:["","none",v,Kl,Hl]}],"shadow-color":[{shadow:T()}],"inset-shadow":[{"inset-shadow":["none",y,Kl,Hl]}],"inset-shadow-color":[{"inset-shadow":T()}],"ring-w":[{ring:Z()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:T()}],"ring-offset-w":[{"ring-offset":[Le,Br]}],"ring-offset-color":[{"ring-offset":T()}],"inset-ring-w":[{"inset-ring":Z()}],"inset-ring-color":[{"inset-ring":T()}],"text-shadow":[{"text-shadow":["none",E,Kl,Hl]}],"text-shadow-color":[{"text-shadow":T()}],opacity:[{opacity:[Le,ve,ge]}],"mix-blend":[{"mix-blend":[...je(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":je()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Le]}],"mask-image-linear-from-pos":[{"mask-linear-from":ne()}],"mask-image-linear-to-pos":[{"mask-linear-to":ne()}],"mask-image-linear-from-color":[{"mask-linear-from":T()}],"mask-image-linear-to-color":[{"mask-linear-to":T()}],"mask-image-t-from-pos":[{"mask-t-from":ne()}],"mask-image-t-to-pos":[{"mask-t-to":ne()}],"mask-image-t-from-color":[{"mask-t-from":T()}],"mask-image-t-to-color":[{"mask-t-to":T()}],"mask-image-r-from-pos":[{"mask-r-from":ne()}],"mask-image-r-to-pos":[{"mask-r-to":ne()}],"mask-image-r-from-color":[{"mask-r-from":T()}],"mask-image-r-to-color":[{"mask-r-to":T()}],"mask-image-b-from-pos":[{"mask-b-from":ne()}],"mask-image-b-to-pos":[{"mask-b-to":ne()}],"mask-image-b-from-color":[{"mask-b-from":T()}],"mask-image-b-to-color":[{"mask-b-to":T()}],"mask-image-l-from-pos":[{"mask-l-from":ne()}],"mask-image-l-to-pos":[{"mask-l-to":ne()}],"mask-image-l-from-color":[{"mask-l-from":T()}],"mask-image-l-to-color":[{"mask-l-to":T()}],"mask-image-x-from-pos":[{"mask-x-from":ne()}],"mask-image-x-to-pos":[{"mask-x-to":ne()}],"mask-image-x-from-color":[{"mask-x-from":T()}],"mask-image-x-to-color":[{"mask-x-to":T()}],"mask-image-y-from-pos":[{"mask-y-from":ne()}],"mask-image-y-to-pos":[{"mask-y-to":ne()}],"mask-image-y-from-color":[{"mask-y-from":T()}],"mask-image-y-to-color":[{"mask-y-to":T()}],"mask-image-radial":[{"mask-radial":[ve,ge]}],"mask-image-radial-from-pos":[{"mask-radial-from":ne()}],"mask-image-radial-to-pos":[{"mask-radial-to":ne()}],"mask-image-radial-from-color":[{"mask-radial-from":T()}],"mask-image-radial-to-color":[{"mask-radial-to":T()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":A()}],"mask-image-conic-pos":[{"mask-conic":[Le]}],"mask-image-conic-from-pos":[{"mask-conic-from":ne()}],"mask-image-conic-to-pos":[{"mask-conic-to":ne()}],"mask-image-conic-from-color":[{"mask-conic-from":T()}],"mask-image-conic-to-color":[{"mask-conic-to":T()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:J()}],"mask-repeat":[{mask:X()}],"mask-size":[{mask:L()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ve,ge]}],filter:[{filter:["","none",ve,ge]}],blur:[{blur:me()}],brightness:[{brightness:[Le,ve,ge]}],contrast:[{contrast:[Le,ve,ge]}],"drop-shadow":[{"drop-shadow":["","none",k,Kl,Hl]}],"drop-shadow-color":[{"drop-shadow":T()}],grayscale:[{grayscale:["",Le,ve,ge]}],"hue-rotate":[{"hue-rotate":[Le,ve,ge]}],invert:[{invert:["",Le,ve,ge]}],saturate:[{saturate:[Le,ve,ge]}],sepia:[{sepia:["",Le,ve,ge]}],"backdrop-filter":[{"backdrop-filter":["","none",ve,ge]}],"backdrop-blur":[{"backdrop-blur":me()}],"backdrop-brightness":[{"backdrop-brightness":[Le,ve,ge]}],"backdrop-contrast":[{"backdrop-contrast":[Le,ve,ge]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Le,ve,ge]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Le,ve,ge]}],"backdrop-invert":[{"backdrop-invert":["",Le,ve,ge]}],"backdrop-opacity":[{"backdrop-opacity":[Le,ve,ge]}],"backdrop-saturate":[{"backdrop-saturate":[Le,ve,ge]}],"backdrop-sepia":[{"backdrop-sepia":["",Le,ve,ge]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":U()}],"border-spacing-x":[{"border-spacing-x":U()}],"border-spacing-y":[{"border-spacing-y":U()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ve,ge]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Le,"initial",ve,ge]}],ease:[{ease:["linear","initial",N,ve,ge]}],delay:[{delay:[Le,ve,ge]}],animate:[{animate:["none",R,ve,ge]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,ve,ge]}],"perspective-origin":[{"perspective-origin":V()}],rotate:[{rotate:Ee()}],"rotate-x":[{"rotate-x":Ee()}],"rotate-y":[{"rotate-y":Ee()}],"rotate-z":[{"rotate-z":Ee()}],scale:[{scale:Se()}],"scale-x":[{"scale-x":Se()}],"scale-y":[{"scale-y":Se()}],"scale-z":[{"scale-z":Se()}],"scale-3d":["scale-3d"],skew:[{skew:Te()}],"skew-x":[{"skew-x":Te()}],"skew-y":[{"skew-y":Te()}],transform:[{transform:[ve,ge,"","none","gpu","cpu"]}],"transform-origin":[{origin:V()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ae()}],"translate-x":[{"translate-x":Ae()}],"translate-y":[{"translate-y":Ae()}],"translate-z":[{"translate-z":Ae()}],"translate-none":["translate-none"],accent:[{accent:T()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:T()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ve,ge]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":U()}],"scroll-mx":[{"scroll-mx":U()}],"scroll-my":[{"scroll-my":U()}],"scroll-ms":[{"scroll-ms":U()}],"scroll-me":[{"scroll-me":U()}],"scroll-mt":[{"scroll-mt":U()}],"scroll-mr":[{"scroll-mr":U()}],"scroll-mb":[{"scroll-mb":U()}],"scroll-ml":[{"scroll-ml":U()}],"scroll-p":[{"scroll-p":U()}],"scroll-px":[{"scroll-px":U()}],"scroll-py":[{"scroll-py":U()}],"scroll-ps":[{"scroll-ps":U()}],"scroll-pe":[{"scroll-pe":U()}],"scroll-pt":[{"scroll-pt":U()}],"scroll-pr":[{"scroll-pr":U()}],"scroll-pb":[{"scroll-pb":U()}],"scroll-pl":[{"scroll-pl":U()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ve,ge]}],fill:[{fill:["none",...T()]}],"stroke-w":[{stroke:[Le,ka,Br,Lc]}],stroke:[{stroke:["none",...T()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},FN=gN(ON);function He(...r){return FN(X1(r))}const zN=xp("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function he({className:r,variant:a,size:l,asChild:i=!1,...c}){const d=i?mp:"button";return n.jsx(d,{"data-slot":"button",className:He(zN({variant:a,size:l,className:r})),...c})}function ue({className:r,type:a,...l}){return n.jsx("input",{type:a,"data-slot":"input",className:He("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs outline-none placeholder:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 md:text-sm focus-visible:ring-2 focus-visible:ring-ring",r),...l})}function $N(){const r=Aa(),[a,l]=p.useState(""),[i,c]=p.useState(""),[d,f]=p.useState(""),[m,x]=p.useState(!1),g=async()=>{f(""),x(!0);try{const v=await It("/api/admin",{username:a.trim(),password:i});if((v==null?void 0:v.success)!==!1&&(v!=null&&v.token)){L1(v.token),r("/dashboard",{replace:!0});return}f(v.error||"用户名或密码错误")}catch(v){const y=v;f(y.status===401?"用户名或密码错误":(y==null?void 0:y.message)||"网络错误,请重试")}finally{x(!1)}};return n.jsxs("div",{className:"min-h-screen bg-[#0a1628] flex items-center justify-center p-4",children:[n.jsxs("div",{className:"absolute inset-0 overflow-hidden",children:[n.jsx("div",{className:"absolute top-1/4 left-1/4 w-96 h-96 bg-[#38bdac]/5 rounded-full blur-3xl"}),n.jsx("div",{className:"absolute bottom-1/4 right-1/4 w-96 h-96 bg-blue-500/5 rounded-full blur-3xl"})]}),n.jsxs("div",{className:"w-full max-w-md relative z-10",children:[n.jsxs("div",{className:"text-center mb-8",children:[n.jsx("div",{className:"w-16 h-16 bg-[#38bdac]/20 rounded-2xl flex items-center justify-center mx-auto mb-4 border border-[#38bdac]/30",children:n.jsx(w1,{className:"w-8 h-8 text-[#38bdac]"})}),n.jsx("h1",{className:"text-2xl font-bold text-white mb-2",children:"管理后台"}),n.jsx("p",{className:"text-gray-400",children:"一场SOUL的创业实验场"})]}),n.jsxs("div",{className:"bg-[#0f2137] rounded-2xl p-8 shadow-xl border border-gray-700/50 backdrop-blur-xl",children:[n.jsx("h2",{className:"text-xl font-semibold text-white mb-6 text-center",children:"管理员登录"}),n.jsxs("div",{className:"space-y-4",children:[n.jsxs("div",{children:[n.jsx("label",{className:"block text-gray-400 text-sm mb-2",children:"用户名"}),n.jsxs("div",{className:"relative",children:[n.jsx(Zl,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-500"}),n.jsx(ue,{type:"text",value:a,onChange:v=>l(v.target.value),placeholder:"请输入用户名",className:"pl-10 bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500 focus:border-[#38bdac]"})]})]}),n.jsxs("div",{children:[n.jsx("label",{className:"block text-gray-400 text-sm mb-2",children:"密码"}),n.jsxs("div",{className:"relative",children:[n.jsx(Xw,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-500"}),n.jsx(ue,{type:"password",value:i,onChange:v=>c(v.target.value),placeholder:"请输入密码",className:"pl-10 bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500 focus:border-[#38bdac]",onKeyDown:v=>v.key==="Enter"&&g()})]})]}),d&&n.jsx("div",{className:"bg-red-500/10 text-red-400 text-sm p-3 rounded-lg border border-red-500/20",children:d}),n.jsx(he,{onClick:g,disabled:m,className:"w-full bg-[#38bdac] hover:bg-[#2da396] text-white py-5 disabled:opacity-50",children:m?"登录中...":"登录"})]})]}),n.jsx("p",{className:"text-center text-gray-500 text-xs mt-6",children:"Soul创业实验场 · 后台管理系统"})]})]})}const Re=p.forwardRef(({className:r,...a},l)=>n.jsx("div",{ref:l,className:He("rounded-xl border bg-card text-card-foreground shadow",r),...a}));Re.displayName="Card";const Ve=p.forwardRef(({className:r,...a},l)=>n.jsx("div",{ref:l,className:He("flex flex-col space-y-1.5 p-6",r),...a}));Ve.displayName="CardHeader";const Ge=p.forwardRef(({className:r,...a},l)=>n.jsx("h3",{ref:l,className:He("font-semibold leading-none tracking-tight",r),...a}));Ge.displayName="CardTitle";const gt=p.forwardRef(({className:r,...a},l)=>n.jsx("p",{ref:l,className:He("text-sm text-muted-foreground",r),...a}));gt.displayName="CardDescription";const _e=p.forwardRef(({className:r,...a},l)=>n.jsx("div",{ref:l,className:He("p-6 pt-0",r),...a}));_e.displayName="CardContent";const BN=p.forwardRef(({className:r,...a},l)=>n.jsx("div",{ref:l,className:He("flex items-center p-6 pt-0",r),...a}));BN.displayName="CardFooter";function UN(){const r=Aa(),[a,l]=p.useState(!1),[i,c]=p.useState([]),[d,f]=p.useState([]);async function m(){try{const[k,C]=await Promise.all([Xe("/api/db/users"),Xe("/api/orders")]);k!=null&&k.success&&k.users&&c(k.users),C!=null&&C.success&&C.orders&&f(C.orders)}catch(k){console.error("加载数据失败",k)}}if(p.useEffect(()=>{l(!0),m()},[]),!a)return n.jsxs("div",{className:"p-8 max-w-7xl mx-auto",children:[n.jsx("h1",{className:"text-2xl font-bold mb-8 text-white",children:"数据概览"}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8",children:[1,2,3,4].map(k=>n.jsxs(Re,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[n.jsxs(Ve,{className:"flex flex-row items-center justify-between pb-2",children:[n.jsx("div",{className:"h-4 w-20 bg-gray-700 rounded animate-pulse"}),n.jsx("div",{className:"w-8 h-8 bg-gray-700 rounded-lg animate-pulse"})]}),n.jsx(_e,{children:n.jsx("div",{className:"h-8 w-16 bg-gray-700 rounded animate-pulse"})})]},k))}),n.jsxs("div",{className:"flex items-center justify-center py-8",children:[n.jsx(et,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),n.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]})]});const x=d.reduce((k,C)=>k+Number(C.amount||0),0),g=i.length,v=d.length,y=k=>{const C=k.productType||"",b=k.description||"";if(b){if(C==="section"&&b.includes("章节")){if(b.includes("-")){const j=b.split("-");if(j.length>=3)return{title:`第${j[1]}章 第${j[2]}节`,subtitle:"《一场Soul的创业实验》"}}return{title:b,subtitle:"章节购买"}}return C==="fullbook"||b.includes("全书")?{title:"《一场Soul的创业实验》",subtitle:"全书购买"}:C==="match"||b.includes("伙伴")?{title:"找伙伴匹配",subtitle:"功能服务"}:{title:b,subtitle:C==="section"?"单章":C==="fullbook"?"全书":"其他"}}return C==="section"?{title:`章节 ${k.productId||""}`,subtitle:"单章购买"}:C==="fullbook"?{title:"《一场Soul的创业实验》",subtitle:"全书购买"}:C==="match"?{title:"找伙伴匹配",subtitle:"功能服务"}:{title:"未知商品",subtitle:C||"其他"}},E=[{title:"总用户数",value:g,icon:Pn,color:"text-blue-400",bg:"bg-blue-500/20",link:"/users"},{title:"总收入",value:`¥${Number(x).toFixed(2)}`,icon:nu,color:"text-[#38bdac]",bg:"bg-[#38bdac]/20",link:"/orders"},{title:"订单数",value:v,icon:tu,color:"text-purple-400",bg:"bg-purple-500/20",link:"/orders"},{title:"转化率",value:`${g>0?(v/g*100).toFixed(1):0}%`,icon:_s,color:"text-orange-400",bg:"bg-orange-500/20",link:"/distribution"}];return n.jsxs("div",{className:"p-8 max-w-7xl mx-auto",children:[n.jsx("h1",{className:"text-2xl font-bold mb-8 text-white",children:"数据概览"}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8",children:E.map((k,C)=>n.jsxs(Re,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl cursor-pointer hover:border-[#38bdac]/50 transition-colors group",onClick:()=>k.link&&r(k.link),children:[n.jsxs(Ve,{className:"flex flex-row items-center justify-between pb-2",children:[n.jsx(Ge,{className:"text-sm font-medium text-gray-400",children:k.title}),n.jsx("div",{className:`p-2 rounded-lg ${k.bg}`,children:n.jsx(k.icon,{className:`w-4 h-4 ${k.color}`})})]}),n.jsx(_e,{children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx("div",{className:"text-2xl font-bold text-white",children:k.value}),n.jsx(Cu,{className:"w-5 h-5 text-gray-600 group-hover:text-[#38bdac] transition-colors"})]})})]},C))}),n.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8",children:[n.jsxs(Re,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[n.jsx(Ve,{children:n.jsx(Ge,{className:"text-white",children:"最近订单"})}),n.jsx(_e,{children:n.jsxs("div",{className:"space-y-3",children:[d.slice(-5).reverse().map(k=>{var R;const C=k.referrerId?i.find(S=>S.id===k.referrerId):void 0,b=k.referralCode||(C==null?void 0:C.referralCode)||(C==null?void 0:C.nickname)||(k.referrerId?String(k.referrerId).slice(0,8):""),j=y(k),N=k.userNickname||((R=i.find(S=>S.id===k.userId))==null?void 0:R.nickname)||"匿名用户";return n.jsxs("div",{className:"flex items-start justify-between p-4 bg-[#0a1628] rounded-lg border border-gray-700/30 hover:border-[#38bdac]/30 transition-colors",children:[n.jsxs("div",{className:"flex items-start gap-3 flex-1",children:[k.userAvatar?n.jsx("img",{src:k.userAvatar,alt:N,className:"w-9 h-9 rounded-full object-cover flex-shrink-0 mt-0.5",onError:S=>{S.currentTarget.style.display="none";const A=S.currentTarget.nextElementSibling;A&&A.classList.remove("hidden")}}):null,n.jsx("div",{className:`w-9 h-9 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm font-medium text-[#38bdac] flex-shrink-0 mt-0.5 ${k.userAvatar?"hidden":""}`,children:N.charAt(0)}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx("span",{className:"text-sm text-gray-300",children:N}),n.jsx("span",{className:"text-gray-600",children:"·"}),n.jsx("span",{className:"text-sm font-medium text-white truncate",children:j.title})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500",children:[n.jsx("span",{className:"px-1.5 py-0.5 bg-gray-700/50 rounded",children:j.subtitle}),n.jsx("span",{children:new Date(k.createdAt||0).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})})]}),b&&n.jsxs("p",{className:"text-xs text-gray-600 mt-1",children:["推荐: ",b]})]})]}),n.jsxs("div",{className:"text-right ml-4 flex-shrink-0",children:[n.jsxs("p",{className:"text-sm font-bold text-[#38bdac]",children:["+¥",Number(k.amount).toFixed(2)]}),n.jsx("p",{className:"text-xs text-gray-500 mt-0.5",children:k.paymentMethod||"微信"})]})]},k.id)}),d.length===0&&n.jsxs("div",{className:"text-center py-12",children:[n.jsx(tu,{className:"w-12 h-12 text-gray-600 mx-auto mb-3"}),n.jsx("p",{className:"text-gray-500",children:"暂无订单数据"})]})]})})]}),n.jsxs(Re,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[n.jsx(Ve,{children:n.jsx(Ge,{className:"text-white",children:"新注册用户"})}),n.jsx(_e,{children:n.jsxs("div",{className:"space-y-3",children:[i.slice(0,5).map(k=>{var C;return n.jsxs("div",{className:"flex items-center justify-between p-4 bg-[#0a1628] rounded-lg border border-gray-700/30",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-10 h-10 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm font-medium text-[#38bdac]",children:((C=k.nickname)==null?void 0:C.charAt(0))||"?"}),n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-medium text-white",children:k.nickname||"匿名用户"}),n.jsx("p",{className:"text-xs text-gray-500",children:k.phone||"-"})]})]}),n.jsx("p",{className:"text-xs text-gray-400",children:k.createdAt?new Date(k.createdAt).toLocaleDateString():"-"})]},k.id)}),i.length===0&&n.jsx("p",{className:"text-gray-500 text-center py-8",children:"暂无用户数据"})]})})]})]})]})}const bo=p.forwardRef(({className:r,...a},l)=>n.jsx("div",{className:"relative w-full overflow-auto",children:n.jsx("table",{ref:l,className:He("w-full caption-bottom text-sm",r),...a})}));bo.displayName="Table";const So=p.forwardRef(({className:r,...a},l)=>n.jsx("thead",{ref:l,className:He("[&_tr]:border-b",r),...a}));So.displayName="TableHeader";const Co=p.forwardRef(({className:r,...a},l)=>n.jsx("tbody",{ref:l,className:He("[&_tr:last-child]:border-0",r),...a}));Co.displayName="TableBody";const Un=p.forwardRef(({className:r,...a},l)=>n.jsx("tr",{ref:l,className:He("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",r),...a}));Un.displayName="TableRow";const tt=p.forwardRef(({className:r,...a},l)=>n.jsx("th",{ref:l,className:He("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",r),...a}));tt.displayName="TableHead";const Ye=p.forwardRef(({className:r,...a},l)=>n.jsx("td",{ref:l,className:He("p-4 align-middle [&:has([role=checkbox])]:pr-0",r),...a}));Ye.displayName="TableCell";const VN=xp("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 transition-colors",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-white",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function Fe({className:r,variant:a,asChild:l=!1,...i}){const c=l?mp:"span";return n.jsx(c,{className:He(VN({variant:a}),r),...i})}function WN(){const[r,a]=p.useState([]),[l,i]=p.useState([]),[c,d]=p.useState(""),[f,m]=p.useState("all"),[x,g]=p.useState(!0);async function v(){g(!0);try{const[N,R]=await Promise.all([Xe("/api/orders"),Xe("/api/db/users")]);N!=null&&N.success&&N.orders&&a(N.orders),R!=null&&R.success&&R.users&&i(R.users)}catch(N){console.error("加载订单失败",N)}finally{g(!1)}}p.useEffect(()=>{v()},[]);const y=N=>{var R;return N.userNickname||((R=l.find(S=>S.id===N.userId))==null?void 0:R.nickname)||"匿名用户"},E=N=>{var R;return((R=l.find(S=>S.id===N))==null?void 0:R.phone)||"-"},k=N=>{const R=N.productType||N.type||"",S=N.description||"";if(S){if(R==="section"&&S.includes("章节")){if(S.includes("-")){const A=S.split("-");if(A.length>=3)return{name:`第${A[1]}章 第${A[2]}节`,type:"《一场Soul的创业实验》"}}return{name:S,type:"章节购买"}}return R==="fullbook"||S.includes("全书")?{name:"《一场Soul的创业实验》",type:"全书购买"}:R==="match"||S.includes("伙伴")?{name:"找伙伴匹配",type:"功能服务"}:{name:S,type:"其他"}}return R==="section"?{name:`章节 ${N.productId||N.sectionId||""}`,type:"单章"}:R==="fullbook"?{name:"《一场Soul的创业实验》",type:"全书"}:R==="match"?{name:"找伙伴匹配",type:"功能"}:{name:"未知商品",type:R||"其他"}},C=r.filter(N=>{const R=k(N),S=y(N).includes(c)||E(N.userId).includes(c)||R.name.includes(c)||N.orderSn&&N.orderSn.includes(c)||N.id&&N.id.includes(c),A=f==="all"||N.status===f||f==="completed"&&N.status==="paid";return S&&A}),b=r.filter(N=>N.status==="paid"||N.status==="completed").reduce((N,R)=>N+Number(R.amount||0),0),j=r.filter(N=>{const R=new Date().toDateString();return(N.status==="paid"||N.status==="completed")&&new Date(N.createdAt).toDateString()===R}).reduce((N,R)=>N+Number(R.amount||0),0);return n.jsxs("div",{className:"p-8 max-w-7xl mx-auto",children:[n.jsxs("div",{className:"flex justify-between items-center mb-8",children:[n.jsxs("div",{children:[n.jsx("h2",{className:"text-2xl font-bold text-white",children:"订单管理"}),n.jsxs("p",{className:"text-gray-400 mt-1",children:["共 ",r.length," 笔订单"]})]}),n.jsx("div",{className:"flex items-center gap-4",children:n.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[n.jsx("span",{className:"text-gray-400",children:"总收入:"}),n.jsxs("span",{className:"text-[#38bdac] font-bold",children:["¥",b.toFixed(2)]}),n.jsx("span",{className:"text-gray-600",children:"|"}),n.jsx("span",{className:"text-gray-400",children:"今日:"}),n.jsxs("span",{className:"text-[#FFD700] font-bold",children:["¥",j.toFixed(2)]})]})})]}),n.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[n.jsxs("div",{className:"relative flex-1 max-w-md",children:[n.jsx(Vr,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-500"}),n.jsx(ue,{type:"text",placeholder:"搜索订单号/用户/章节...",className:"pl-10 bg-[#0f2137] border-gray-700 text-white placeholder:text-gray-500",value:c,onChange:N=>d(N.target.value)})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Lw,{className:"w-4 h-4 text-gray-400"}),n.jsxs("select",{value:f,onChange:N=>m(N.target.value),className:"bg-[#0f2137] border border-gray-700 text-white rounded-lg px-3 py-2 text-sm",children:[n.jsx("option",{value:"all",children:"全部状态"}),n.jsx("option",{value:"completed",children:"已完成"}),n.jsx("option",{value:"pending",children:"待支付"}),n.jsx("option",{value:"created",children:"已创建"}),n.jsx("option",{value:"failed",children:"已失败"})]})]}),n.jsxs(he,{variant:"outline",className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[n.jsx(cp,{className:"w-4 h-4 mr-2"}),"导出"]})]}),n.jsx(Re,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:n.jsx(_e,{className:"p-0",children:x?n.jsxs("div",{className:"flex items-center justify-center py-12",children:[n.jsx(et,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),n.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):n.jsxs(bo,{children:[n.jsx(So,{children:n.jsxs(Un,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[n.jsx(tt,{className:"text-gray-400",children:"订单号"}),n.jsx(tt,{className:"text-gray-400",children:"用户"}),n.jsx(tt,{className:"text-gray-400",children:"商品"}),n.jsx(tt,{className:"text-gray-400",children:"金额"}),n.jsx(tt,{className:"text-gray-400",children:"支付方式"}),n.jsx(tt,{className:"text-gray-400",children:"状态"}),n.jsx(tt,{className:"text-gray-400",children:"分销佣金"}),n.jsx(tt,{className:"text-gray-400",children:"下单时间"})]})}),n.jsxs(Co,{children:[C.map(N=>{const R=k(N);return n.jsxs(Un,{className:"hover:bg-[#0a1628] border-gray-700/50",children:[n.jsxs(Ye,{className:"font-mono text-xs text-gray-400",children:[(N.orderSn||N.id||"").slice(0,12),"..."]}),n.jsx(Ye,{children:n.jsxs("div",{children:[n.jsx("p",{className:"text-white text-sm",children:y(N)}),n.jsx("p",{className:"text-gray-500 text-xs",children:E(N.userId)})]})}),n.jsx(Ye,{children:n.jsxs("div",{children:[n.jsx("p",{className:"text-white text-sm",children:R.name}),n.jsx("p",{className:"text-gray-500 text-xs",children:R.type})]})}),n.jsxs(Ye,{className:"text-[#38bdac] font-bold",children:["¥",Number(N.amount||0).toFixed(2)]}),n.jsx(Ye,{className:"text-gray-300",children:N.paymentMethod==="wechat"?"微信支付":N.paymentMethod==="alipay"?"支付宝":N.paymentMethod||"微信支付"}),n.jsx(Ye,{children:N.status==="paid"||N.status==="completed"?n.jsx(Fe,{className:"bg-green-500/20 text-green-400 hover:bg-green-500/20 border-0",children:"已完成"}):N.status==="pending"||N.status==="created"?n.jsx(Fe,{className:"bg-yellow-500/20 text-yellow-400 hover:bg-yellow-500/20 border-0",children:"待支付"}):n.jsx(Fe,{className:"bg-red-500/20 text-red-400 hover:bg-red-500/20 border-0",children:"已失败"})}),n.jsx(Ye,{className:"text-[#FFD700]",children:N.referrerEarnings?`¥${Number(N.referrerEarnings).toFixed(2)}`:"-"}),n.jsx(Ye,{className:"text-gray-400 text-sm",children:new Date(N.createdAt).toLocaleString("zh-CN")})]},N.id)}),C.length===0&&n.jsx(Un,{children:n.jsx(Ye,{colSpan:8,className:"text-center py-12 text-gray-500",children:"暂无订单数据"})})]})]})})})]})}var HN=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],KN=HN.reduce((r,a)=>{const l=hp(`Primitive.${a}`),i=p.forwardRef((c,d)=>{const{asChild:f,...m}=c,x=f?l:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),n.jsx(x,{...m,ref:d})});return i.displayName=`Primitive.${a}`,{...r,[a]:i}},{}),GN="Label",_p=p.forwardRef((r,a)=>n.jsx(KN.label,{...r,ref:a,onMouseDown:l=>{var c;l.target.closest("button, input, select, textarea")||((c=r.onMouseDown)==null||c.call(r,l),!l.defaultPrevented&&l.detail>1&&l.preventDefault())}}));_p.displayName=GN;var Tp=_p;const ae=p.forwardRef(({className:r,...a},l)=>n.jsx(Tp,{ref:l,className:He("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",r),...a}));ae.displayName=Tp.displayName;function Ie(r,a,{checkForDefaultPrevented:l=!0}={}){return function(c){if(r==null||r(c),l===!1||!c.defaultPrevented)return a==null?void 0:a(c)}}function QN(r,a){const l=p.createContext(a),i=d=>{const{children:f,...m}=d,x=p.useMemo(()=>m,Object.values(m));return n.jsx(l.Provider,{value:x,children:f})};i.displayName=r+"Provider";function c(d){const f=p.useContext(l);if(f)return f;if(a!==void 0)return a;throw new Error(`\`${d}\` must be used within \`${r}\``)}return[i,c]}function Cr(r,a=[]){let l=[];function i(d,f){const m=p.createContext(f),x=l.length;l=[...l,f];const g=y=>{var N;const{scope:E,children:k,...C}=y,b=((N=E==null?void 0:E[r])==null?void 0:N[x])||m,j=p.useMemo(()=>C,Object.values(C));return n.jsx(b.Provider,{value:j,children:k})};g.displayName=d+"Provider";function v(y,E){var b;const k=((b=E==null?void 0:E[r])==null?void 0:b[x])||m,C=p.useContext(k);if(C)return C;if(f!==void 0)return f;throw new Error(`\`${y}\` must be used within \`${d}\``)}return[g,v]}const c=()=>{const d=l.map(f=>p.createContext(f));return function(m){const x=(m==null?void 0:m[r])||d;return p.useMemo(()=>({[`__scope${r}`]:{...m,[r]:x}}),[m,x])}};return c.scopeName=r,[i,YN(c,...a)]}function YN(...r){const a=r[0];if(r.length===1)return a;const l=()=>{const i=r.map(c=>({useScope:c(),scopeName:c.scopeName}));return function(d){const f=i.reduce((m,{useScope:x,scopeName:g})=>{const y=x(d)[`__scope${g}`];return{...m,...y}},{});return p.useMemo(()=>({[`__scope${a.scopeName}`]:f}),[f])}};return l.scopeName=a.scopeName,l}var Rt=globalThis!=null&&globalThis.document?p.useLayoutEffect:()=>{},XN=yo[" useId ".trim().toString()]||(()=>{}),qN=0;function wr(r){const[a,l]=p.useState(XN());return Rt(()=>{l(i=>i??String(qN++))},[r]),a?`radix-${a}`:""}var JN=yo[" useInsertionEffect ".trim().toString()]||Rt;function Hr({prop:r,defaultProp:a,onChange:l=()=>{},caller:i}){const[c,d,f]=ZN({defaultProp:a,onChange:l}),m=r!==void 0,x=m?r:c;{const v=p.useRef(r!==void 0);p.useEffect(()=>{const y=v.current;y!==m&&console.warn(`${i} is changing from ${y?"controlled":"uncontrolled"} to ${m?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),v.current=m},[m,i])}const g=p.useCallback(v=>{var y;if(m){const E=ej(v)?v(r):v;E!==r&&((y=f.current)==null||y.call(f,E))}else d(v)},[m,r,d,f]);return[x,g]}function ZN({defaultProp:r,onChange:a}){const[l,i]=p.useState(r),c=p.useRef(l),d=p.useRef(a);return JN(()=>{d.current=a},[a]),p.useEffect(()=>{var f;c.current!==l&&((f=d.current)==null||f.call(d,l),c.current=l)},[l,c]),[l,i,d]}function ej(r){return typeof r=="function"}function _a(r){const a=tj(r),l=p.forwardRef((i,c)=>{const{children:d,...f}=i,m=p.Children.toArray(d),x=m.find(rj);if(x){const g=x.props.children,v=m.map(y=>y===x?p.Children.count(g)>1?p.Children.only(null):p.isValidElement(g)?g.props.children:null:y);return n.jsx(a,{...f,ref:c,children:p.isValidElement(g)?p.cloneElement(g,void 0,v):null})}return n.jsx(a,{...f,ref:c,children:d})});return l.displayName=`${r}.Slot`,l}function tj(r){const a=p.forwardRef((l,i)=>{const{children:c,...d}=l;if(p.isValidElement(c)){const f=aj(c),m=sj(d,c.props);return c.type!==p.Fragment&&(m.ref=i?Pu(i,f):f),p.cloneElement(c,m)}return p.Children.count(c)>1?p.Children.only(null):null});return a.displayName=`${r}.SlotClone`,a}var nj=Symbol("radix.slottable");function rj(r){return p.isValidElement(r)&&typeof r.type=="function"&&"__radixId"in r.type&&r.type.__radixId===nj}function sj(r,a){const l={...a};for(const i in a){const c=r[i],d=a[i];/^on[A-Z]/.test(i)?c&&d?l[i]=(...m)=>{const x=d(...m);return c(...m),x}:c&&(l[i]=c):i==="style"?l[i]={...c,...d}:i==="className"&&(l[i]=[c,d].filter(Boolean).join(" "))}return{...r,...l}}function aj(r){var i,c;let a=(i=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:i.get,l=a&&"isReactWarning"in a&&a.isReactWarning;return l?r.ref:(a=(c=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:c.get,l=a&&"isReactWarning"in a&&a.isReactWarning,l?r.props.ref:r.props.ref||r.ref)}var lj=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],De=lj.reduce((r,a)=>{const l=_a(`Primitive.${a}`),i=p.forwardRef((c,d)=>{const{asChild:f,...m}=c,x=f?l:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),n.jsx(x,{...m,ref:d})});return i.displayName=`Primitive.${a}`,{...r,[a]:i}},{});function oj(r,a){r&&Ia.flushSync(()=>r.dispatchEvent(a))}function Nr(r){const a=p.useRef(r);return p.useEffect(()=>{a.current=r}),p.useMemo(()=>(...l)=>{var i;return(i=a.current)==null?void 0:i.call(a,...l)},[])}function ij(r,a=globalThis==null?void 0:globalThis.document){const l=Nr(r);p.useEffect(()=>{const i=c=>{c.key==="Escape"&&l(c)};return a.addEventListener("keydown",i,{capture:!0}),()=>a.removeEventListener("keydown",i,{capture:!0})},[l,a])}var cj="DismissableLayer",au="dismissableLayer.update",uj="dismissableLayer.pointerDownOutside",dj="dismissableLayer.focusOutside",Nm,Ip=p.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),_u=p.forwardRef((r,a)=>{const{disableOutsidePointerEvents:l=!1,onEscapeKeyDown:i,onPointerDownOutside:c,onFocusOutside:d,onInteractOutside:f,onDismiss:m,...x}=r,g=p.useContext(Ip),[v,y]=p.useState(null),E=(v==null?void 0:v.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,k]=p.useState({}),C=We(a,G=>y(G)),b=Array.from(g.layers),[j]=[...g.layersWithOutsidePointerEventsDisabled].slice(-1),N=b.indexOf(j),R=v?b.indexOf(v):-1,S=g.layersWithOutsidePointerEventsDisabled.size>0,A=R>=N,V=mj(G=>{const U=G.target,ie=[...g.branches].some(fe=>fe.contains(U));!A||ie||(c==null||c(G),f==null||f(G),G.defaultPrevented||m==null||m())},E),Q=pj(G=>{const U=G.target;[...g.branches].some(fe=>fe.contains(U))||(d==null||d(G),f==null||f(G),G.defaultPrevented||m==null||m())},E);return ij(G=>{R===g.layers.size-1&&(i==null||i(G),!G.defaultPrevented&&m&&(G.preventDefault(),m()))},E),p.useEffect(()=>{if(v)return l&&(g.layersWithOutsidePointerEventsDisabled.size===0&&(Nm=E.body.style.pointerEvents,E.body.style.pointerEvents="none"),g.layersWithOutsidePointerEventsDisabled.add(v)),g.layers.add(v),jm(),()=>{l&&g.layersWithOutsidePointerEventsDisabled.size===1&&(E.body.style.pointerEvents=Nm)}},[v,E,l,g]),p.useEffect(()=>()=>{v&&(g.layers.delete(v),g.layersWithOutsidePointerEventsDisabled.delete(v),jm())},[v,g]),p.useEffect(()=>{const G=()=>k({});return document.addEventListener(au,G),()=>document.removeEventListener(au,G)},[]),n.jsx(De.div,{...x,ref:C,style:{pointerEvents:S?A?"auto":"none":void 0,...r.style},onFocusCapture:Ie(r.onFocusCapture,Q.onFocusCapture),onBlurCapture:Ie(r.onBlurCapture,Q.onBlurCapture),onPointerDownCapture:Ie(r.onPointerDownCapture,V.onPointerDownCapture)})});_u.displayName=cj;var fj="DismissableLayerBranch",hj=p.forwardRef((r,a)=>{const l=p.useContext(Ip),i=p.useRef(null),c=We(a,i);return p.useEffect(()=>{const d=i.current;if(d)return l.branches.add(d),()=>{l.branches.delete(d)}},[l.branches]),n.jsx(De.div,{...r,ref:c})});hj.displayName=fj;function mj(r,a=globalThis==null?void 0:globalThis.document){const l=Nr(r),i=p.useRef(!1),c=p.useRef(()=>{});return p.useEffect(()=>{const d=m=>{if(m.target&&!i.current){let x=function(){Ap(uj,l,g,{discrete:!0})};const g={originalEvent:m};m.pointerType==="touch"?(a.removeEventListener("click",c.current),c.current=x,a.addEventListener("click",c.current,{once:!0})):x()}else a.removeEventListener("click",c.current);i.current=!1},f=window.setTimeout(()=>{a.addEventListener("pointerdown",d)},0);return()=>{window.clearTimeout(f),a.removeEventListener("pointerdown",d),a.removeEventListener("click",c.current)}},[a,l]),{onPointerDownCapture:()=>i.current=!0}}function pj(r,a=globalThis==null?void 0:globalThis.document){const l=Nr(r),i=p.useRef(!1);return p.useEffect(()=>{const c=d=>{d.target&&!i.current&&Ap(dj,l,{originalEvent:d},{discrete:!1})};return a.addEventListener("focusin",c),()=>a.removeEventListener("focusin",c)},[a,l]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function jm(){const r=new CustomEvent(au);document.dispatchEvent(r)}function Ap(r,a,l,{discrete:i}){const c=l.originalEvent.target,d=new CustomEvent(r,{bubbles:!1,cancelable:!0,detail:l});a&&c.addEventListener(r,a,{once:!0}),i?oj(c,d):c.dispatchEvent(d)}var Dc="focusScope.autoFocusOnMount",Oc="focusScope.autoFocusOnUnmount",bm={bubbles:!1,cancelable:!0},xj="FocusScope",Tu=p.forwardRef((r,a)=>{const{loop:l=!1,trapped:i=!1,onMountAutoFocus:c,onUnmountAutoFocus:d,...f}=r,[m,x]=p.useState(null),g=Nr(c),v=Nr(d),y=p.useRef(null),E=We(a,b=>x(b)),k=p.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;p.useEffect(()=>{if(i){let b=function(S){if(k.paused||!m)return;const A=S.target;m.contains(A)?y.current=A:xr(y.current,{select:!0})},j=function(S){if(k.paused||!m)return;const A=S.relatedTarget;A!==null&&(m.contains(A)||xr(y.current,{select:!0}))},N=function(S){if(document.activeElement===document.body)for(const V of S)V.removedNodes.length>0&&xr(m)};document.addEventListener("focusin",b),document.addEventListener("focusout",j);const R=new MutationObserver(N);return m&&R.observe(m,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",b),document.removeEventListener("focusout",j),R.disconnect()}}},[i,m,k.paused]),p.useEffect(()=>{if(m){Cm.add(k);const b=document.activeElement;if(!m.contains(b)){const N=new CustomEvent(Dc,bm);m.addEventListener(Dc,g),m.dispatchEvent(N),N.defaultPrevented||(gj(jj(Mp(m)),{select:!0}),document.activeElement===b&&xr(m))}return()=>{m.removeEventListener(Dc,g),setTimeout(()=>{const N=new CustomEvent(Oc,bm);m.addEventListener(Oc,v),m.dispatchEvent(N),N.defaultPrevented||xr(b??document.body,{select:!0}),m.removeEventListener(Oc,v),Cm.remove(k)},0)}}},[m,g,v,k]);const C=p.useCallback(b=>{if(!l&&!i||k.paused)return;const j=b.key==="Tab"&&!b.altKey&&!b.ctrlKey&&!b.metaKey,N=document.activeElement;if(j&&N){const R=b.currentTarget,[S,A]=vj(R);S&&A?!b.shiftKey&&N===A?(b.preventDefault(),l&&xr(S,{select:!0})):b.shiftKey&&N===S&&(b.preventDefault(),l&&xr(A,{select:!0})):N===R&&b.preventDefault()}},[l,i,k.paused]);return n.jsx(De.div,{tabIndex:-1,...f,ref:E,onKeyDown:C})});Tu.displayName=xj;function gj(r,{select:a=!1}={}){const l=document.activeElement;for(const i of r)if(xr(i,{select:a}),document.activeElement!==l)return}function vj(r){const a=Mp(r),l=Sm(a,r),i=Sm(a.reverse(),r);return[l,i]}function Mp(r){const a=[],l=document.createTreeWalker(r,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const c=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||c?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;l.nextNode();)a.push(l.currentNode);return a}function Sm(r,a){for(const l of r)if(!yj(l,{upTo:a}))return l}function yj(r,{upTo:a}){if(getComputedStyle(r).visibility==="hidden")return!0;for(;r;){if(a!==void 0&&r===a)return!1;if(getComputedStyle(r).display==="none")return!0;r=r.parentElement}return!1}function wj(r){return r instanceof HTMLInputElement&&"select"in r}function xr(r,{select:a=!1}={}){if(r&&r.focus){const l=document.activeElement;r.focus({preventScroll:!0}),r!==l&&wj(r)&&a&&r.select()}}var Cm=Nj();function Nj(){let r=[];return{add(a){const l=r[0];a!==l&&(l==null||l.pause()),r=km(r,a),r.unshift(a)},remove(a){var l;r=km(r,a),(l=r[0])==null||l.resume()}}}function km(r,a){const l=[...r],i=l.indexOf(a);return i!==-1&&l.splice(i,1),l}function jj(r){return r.filter(a=>a.tagName!=="A")}var bj="Portal",Iu=p.forwardRef((r,a)=>{var m;const{container:l,...i}=r,[c,d]=p.useState(!1);Rt(()=>d(!0),[]);const f=l||c&&((m=globalThis==null?void 0:globalThis.document)==null?void 0:m.body);return f?Yv.createPortal(n.jsx(De.div,{...i,ref:a}),f):null});Iu.displayName=bj;function Sj(r,a){return p.useReducer((l,i)=>a[l][i]??l,r)}var Ma=r=>{const{present:a,children:l}=r,i=Cj(a),c=typeof l=="function"?l({present:i.isPresent}):p.Children.only(l),d=We(i.ref,kj(c));return typeof l=="function"||i.isPresent?p.cloneElement(c,{ref:d}):null};Ma.displayName="Presence";function Cj(r){const[a,l]=p.useState(),i=p.useRef(null),c=p.useRef(r),d=p.useRef("none"),f=r?"mounted":"unmounted",[m,x]=Sj(f,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return p.useEffect(()=>{const g=Gl(i.current);d.current=m==="mounted"?g:"none"},[m]),Rt(()=>{const g=i.current,v=c.current;if(v!==r){const E=d.current,k=Gl(g);r?x("MOUNT"):k==="none"||(g==null?void 0:g.display)==="none"?x("UNMOUNT"):x(v&&E!==k?"ANIMATION_OUT":"UNMOUNT"),c.current=r}},[r,x]),Rt(()=>{if(a){let g;const v=a.ownerDocument.defaultView??window,y=k=>{const b=Gl(i.current).includes(CSS.escape(k.animationName));if(k.target===a&&b&&(x("ANIMATION_END"),!c.current)){const j=a.style.animationFillMode;a.style.animationFillMode="forwards",g=v.setTimeout(()=>{a.style.animationFillMode==="forwards"&&(a.style.animationFillMode=j)})}},E=k=>{k.target===a&&(d.current=Gl(i.current))};return a.addEventListener("animationstart",E),a.addEventListener("animationcancel",y),a.addEventListener("animationend",y),()=>{v.clearTimeout(g),a.removeEventListener("animationstart",E),a.removeEventListener("animationcancel",y),a.removeEventListener("animationend",y)}}else x("ANIMATION_END")},[a,x]),{isPresent:["mounted","unmountSuspended"].includes(m),ref:p.useCallback(g=>{i.current=g?getComputedStyle(g):null,l(g)},[])}}function Gl(r){return(r==null?void 0:r.animationName)||"none"}function kj(r){var i,c;let a=(i=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:i.get,l=a&&"isReactWarning"in a&&a.isReactWarning;return l?r.ref:(a=(c=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:c.get,l=a&&"isReactWarning"in a&&a.isReactWarning,l?r.props.ref:r.props.ref||r.ref)}var Fc=0;function Lp(){p.useEffect(()=>{const r=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",r[0]??Em()),document.body.insertAdjacentElement("beforeend",r[1]??Em()),Fc++,()=>{Fc===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),Fc--}},[])}function Em(){const r=document.createElement("span");return r.setAttribute("data-radix-focus-guard",""),r.tabIndex=0,r.style.outline="none",r.style.opacity="0",r.style.position="fixed",r.style.pointerEvents="none",r}var jn=function(){return jn=Object.assign||function(a){for(var l,i=1,c=arguments.length;i"u")return Vj;var a=Wj(r),l=document.documentElement.clientWidth,i=window.innerWidth;return{left:a[0],top:a[1],right:a[2],gap:Math.max(0,i-l+a[2]-a[0])}},Kj=zp(),Ps="data-scroll-locked",Gj=function(r,a,l,i){var c=r.left,d=r.top,f=r.right,m=r.gap;return l===void 0&&(l="margin"),` .`.concat(Pj,` { overflow: hidden `).concat(i,`; padding-right: `).concat(m,"px ").concat(i,`;