import{r as w,j as r,a as je,c as pr}from"./react-vendor-jWT2yUdV.js";import{c as Q,b as H,U as gr,O as Sr,Q as br,R as _r,S as yr,T as xr,u as De,k as Re}from"./index-DiaaLdUu.js";import{a as lr,c as ur}from"./chunk-5PILOUBS-KHYNqMZE.js";import{i as Pe}from"./chunk-2QAN2V2R-B2qCPZrG.js";import{z as $}from"./react-hot-toast-cGcFZPSt.js";import{q as jr,d as Or,r as wr,s as Er}from"./index-FvTxWQTZ.js";import{g as Ir}from"./codemirror-core-782AVq39.js";import{c as Nr}from"./chunk-D5XJWRAV-DVN21qSw.js";import{p as Oe,a as we,b as Ee}from"./chunk-2QQAR2RD-YG5LNmAk.js";import{g as kr,a as Tr,i as Ae,O as M,b as Cr,c as Mr,d as Dr,s as dr,e as Rr,f as de,C as Pr,h as Ar}from"./modal-CW_tV9ed.js";import{c as U}from"./chunk-NAV3ZXLI-ChbUTMf0.js";import{a as ye}from"./chunk-SXMLSBOY-NckgDZ9w.js";import{i as Le}from"./chunk-MLPFQTYO-DSnBqIsb.js";import{q as Lr,g as Wr}from"./qface-BZLvZXJ8.js";import{c as Ur}from"./index-_HIxriDC.js";import{m as zr}from"./proxy-BsRmjYPH.js";import{C as Fr}from"./code_editor-TFSnOENo.js";import{s as qr,l as Gr}from"./chunk-KVDW62ZT-CGYYmJoP.js";import"./react-router-dom-C6k78GT4.js";import"./chunk-SLABUSGS-Cmz8sGrU.js";import"./useFocusable-DA5Croun.js";import"./chunk-M3MASYO7-B4fjH-eW.js";import"./iconBase-B7bT1FlI.js";import"./chunk-WQVQ7P2I-BJd1EiqP.js";import"./chunk-FGM523TA-CgSvUh2a.js";import"./chunk-6LIX6LVT-B246pOuK.js";import"./useHover-DC1o5-bm.js";import"./chunk-UX7UMZL5-CMHjUaC_.js";import"./use-dialog-CRIMuzeE.js";import"./index-DE7yoXMZ.js";import"./index-DPx4wqle.js";import"./index-BBhZPeTB.js";import"./chunk-ML27DD5T-ZFWrMOn-.js";import"./index-BV9-YCKp.js";import"./SelectionManager-Dl9uHsLK.js";import"./usePress-BrNwsdVw.js";import"./layout-Buao20KT.js";import"./gestures-BHfQC-M8.js";import"./features-animation-BkV7kg8P.js";import"./Item-D8Sud-UP.js";import"./react-hook-form-DTbqnRcd.js";import"./index-BsnVex0g.js";import"./codemirror-lang-DFaD5e7G.js";import"./DOMLayoutDelegate-DOgfSALU.js";import"./chunk-AXSF7SRE-Cr4elNVq.js";function We(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xe(e,t){return xe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,n){return a.__proto__=n,a},xe(e,t)}function Hr(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,xe(e,t)}var Ue=Number.isNaN||function(t){return typeof t=="number"&&t!==t};function Br(e,t){return!!(e===t||Ue(e)&&Ue(t))}function Jr(e,t){if(e.length!==t.length)return!1;for(var a=0;a=t?e.call(null):l.id=requestAnimationFrame(n)}var l={id:requestAnimationFrame(n)};return l}var me=-1;function qe(e){if(e===void 0&&(e=!1),me===-1||e){var t=document.createElement("div"),a=t.style;a.width="50px",a.height="50px",a.overflow="scroll",document.body.appendChild(t),me=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return me}var Y=null;function Ge(e){if(e===void 0&&(e=!1),Y===null||e){var t=document.createElement("div"),a=t.style;a.width="50px",a.height="50px",a.overflow="scroll",a.direction="rtl";var n=document.createElement("div"),l=n.style;return l.width="100px",l.height="100px",t.appendChild(n),document.body.appendChild(t),t.scrollLeft>0?Y="positive-descending":(t.scrollLeft=1,t.scrollLeft===0?Y="negative":Y="positive-ascending"),document.body.removeChild(t),Y}return Y}var Qr=150,Yr=function(t,a){return t};function Xr(e){var t,a=e.getItemOffset,n=e.getEstimatedTotalSize,l=e.getItemSize,f=e.getOffsetForIndexAndAlignment,p=e.getStartIndexForOffset,S=e.getStopIndexForStartIndex,v=e.initInstanceProps,g=e.shouldResetStyleCacheOnItemSizeChange,h=e.validateProps;return t=(function(u){Hr(m,u);function m(o){var s;return s=u.call(this,o)||this,s._instanceProps=v(s.props,We(s)),s._outerRef=void 0,s._resetIsScrollingTimeoutId=null,s.state={instance:We(s),isScrolling:!1,scrollDirection:"forward",scrollOffset:typeof s.props.initialScrollOffset=="number"?s.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},s._callOnItemsRendered=void 0,s._callOnItemsRendered=ve(function(d,c,b,y){return s.props.onItemsRendered({overscanStartIndex:d,overscanStopIndex:c,visibleStartIndex:b,visibleStopIndex:y})}),s._callOnScroll=void 0,s._callOnScroll=ve(function(d,c,b){return s.props.onScroll({scrollDirection:d,scrollOffset:c,scrollUpdateWasRequested:b})}),s._getItemStyle=void 0,s._getItemStyle=function(d){var c=s.props,b=c.direction,y=c.itemSize,j=c.layout,_=s._getItemStyleCache(g&&y,g&&j,g&&b),x;if(_.hasOwnProperty(d))x=_[d];else{var O=a(s.props,d,s._instanceProps),I=l(s.props,d,s._instanceProps),N=b==="horizontal"||j==="horizontal",z=b==="rtl",D=N?O:0;_[d]=x={position:"absolute",left:z?void 0:D,right:z?D:void 0,top:N?0:O,height:N?"100%":I,width:N?I:"100%"}}return x},s._getItemStyleCache=void 0,s._getItemStyleCache=ve(function(d,c,b){return{}}),s._onScrollHorizontal=function(d){var c=d.currentTarget,b=c.clientWidth,y=c.scrollLeft,j=c.scrollWidth;s.setState(function(_){if(_.scrollOffset===y)return null;var x=s.props.direction,O=y;if(x==="rtl")switch(Ge()){case"negative":O=-y;break;case"positive-descending":O=j-b-y;break}return O=Math.max(0,Math.min(O,j-b)),{isScrolling:!0,scrollDirection:_.scrollOffsetx.clientWidth?qe():0:_=x.scrollHeight>x.clientHeight?qe():0}this.scrollTo(f(this.props,s,d,j,this._instanceProps,_))},i.componentDidMount=function(){var s=this.props,d=s.direction,c=s.initialScrollOffset,b=s.layout;if(typeof c=="number"&&this._outerRef!=null){var y=this._outerRef;d==="horizontal"||b==="horizontal"?y.scrollLeft=c:y.scrollTop=c}this._callPropsCallbacks()},i.componentDidUpdate=function(){var s=this.props,d=s.direction,c=s.layout,b=this.state,y=b.scrollOffset,j=b.scrollUpdateWasRequested;if(j&&this._outerRef!=null){var _=this._outerRef;if(d==="horizontal"||c==="horizontal")if(d==="rtl")switch(Ge()){case"negative":_.scrollLeft=-y;break;case"positive-ascending":_.scrollLeft=y;break;default:var x=_.clientWidth,O=_.scrollWidth;_.scrollLeft=O-x-y;break}else _.scrollLeft=y;else _.scrollTop=y}this._callPropsCallbacks()},i.componentWillUnmount=function(){this._resetIsScrollingTimeoutId!==null&&Fe(this._resetIsScrollingTimeoutId)},i.render=function(){var s=this.props,d=s.children,c=s.className,b=s.direction,y=s.height,j=s.innerRef,_=s.innerElementType,x=s.innerTagName,O=s.itemCount,I=s.itemData,N=s.itemKey,z=N===void 0?Yr:N,D=s.layout,P=s.outerElementType,F=s.outerTagName,ee=s.style,fe=s.useIsScrolling,q=s.width,oe=this.state.isScrolling,re=b==="horizontal"||D==="horizontal",E=re?this._onScrollHorizontal:this._onScrollVertical,k=this._getRangeToRender(),G=k[0],ce=k[1],B=[];if(O>0)for(var C=G;C<=ce;C++)B.push(w.createElement(d,{data:I,key:z(C,I),index:C,isScrolling:fe?oe:void 0,style:this._getItemStyle(C)}));var te=n(this.props,this._instanceProps);return w.createElement(P||F||"div",{className:c,onScroll:E,ref:this._outerRefSetter,style:Ir({position:"relative",height:y,width:q,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:b},ee)},w.createElement(_||x||"div",{children:B,ref:j,style:{height:re?"100%":te,pointerEvents:oe?"none":void 0,width:re?te:"100%"}}))},i._callPropsCallbacks=function(){if(typeof this.props.onItemsRendered=="function"){var s=this.props.itemCount;if(s>0){var d=this._getRangeToRender(),c=d[0],b=d[1],y=d[2],j=d[3];this._callOnItemsRendered(c,b,y,j)}}if(typeof this.props.onScroll=="function"){var _=this.state,x=_.scrollDirection,O=_.scrollOffset,I=_.scrollUpdateWasRequested;this._callOnScroll(x,O,I)}},i._getRangeToRender=function(){var s=this.props,d=s.itemCount,c=s.overscanCount,b=this.state,y=b.isScrolling,j=b.scrollDirection,_=b.scrollOffset;if(d===0)return[0,0,0,0];var x=p(this.props,_,this._instanceProps),O=S(this.props,x,_,this._instanceProps),I=!y||j==="backward"?Math.max(1,c):1,N=!y||j==="forward"?Math.max(1,c):1;return[Math.max(0,x-I),Math.max(0,Math.min(d-1,O+N)),x,O]},m})(w.PureComponent),t.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},t}var Zr=function(t,a){t.children,t.direction,t.height,t.layout,t.innerTagName,t.outerTagName,t.width,a.instance},$r=50,X=function(t,a,n){var l=t,f=l.itemSize,p=n.itemMetadataMap,S=n.lastMeasuredIndex;if(a>S){var v=0;if(S>=0){var g=p[S];v=g.offset+g.size}for(var h=S+1;h<=a;h++){var u=f(h);p[h]={offset:v,size:u},v+=u}n.lastMeasuredIndex=a}return p[a]},et=function(t,a,n){var l=a.itemMetadataMap,f=a.lastMeasuredIndex,p=f>0?l[f].offset:0;return p>=n?fr(t,a,f,0,n):rt(t,a,Math.max(0,f),n)},fr=function(t,a,n,l,f){for(;l<=n;){var p=l+Math.floor((n-l)/2),S=X(t,p,a).offset;if(S===f)return p;Sf&&(n=p-1)}return l>0?l-1:0},rt=function(t,a,n,l){for(var f=t.itemCount,p=1;n=n&&(p=n-1),p>=0){var v=l[p];S=v.offset+v.size}var g=n-p-1,h=g*f;return S+h},tt=Xr({getItemOffset:function(t,a,n){return X(t,a,n).offset},getItemSize:function(t,a,n){return n.itemMetadataMap[a].size},getEstimatedTotalSize:He,getOffsetForIndexAndAlignment:function(t,a,n,l,f,p){var S=t.direction,v=t.height,g=t.layout,h=t.width,u=S==="horizontal"||g==="horizontal",m=u?h:v,i=X(t,a,f),o=He(t,f),s=Math.max(0,Math.min(o-m,i.offset)),d=Math.max(0,i.offset-m+i.size+p);switch(n==="smart"&&(l>=d-m&&l<=s+m?n="auto":n="center"),n){case"start":return s;case"end":return d;case"center":return Math.round(d+(s-d)/2);case"auto":default:return l>=d&&l<=s?l:lr.jsxs("div",{className:"flex gap-2",children:[r.jsx(U,{children:"心跳"}),r.jsxs(U,{children:["间隔 ",e.status.interval,"ms"]})]}),at=({data:e})=>r.jsxs("div",{className:"flex gap-2",children:[r.jsx(U,{children:"生命周期"}),r.jsx(U,{color:Tr(e.sub_type),children:kr(e.sub_type)})]}),st=({data:e})=>r.jsxs("div",{className:"h-full flex items-center",children:[e.meta_event_type==="lifecycle"&&r.jsx(at,{data:e}),e.meta_event_type==="heartbeat"&&r.jsx(nt,{data:e})]}),ae=e=>e.toString().padStart(2,"0"),it=e=>{e=e*1e3;const t=new Date(e),a=t.getFullYear(),n=t.getMonth()+1,l=t.getDate(),f=t.getHours(),p=t.getMinutes(),S=t.getSeconds();return`${a}-${ae(n)}-${ae(l)} ${ae(f)}:${ae(p)}:${ae(S)}`},Be=(e,t=!1)=>e.map((a,n)=>{switch(a.type){case"text":return r.jsx("span",{children:a.data.text},n);case"face":return r.jsx(Le,{removeWrapper:!0,classNames:{img:"w-6 h-6 inline !text-[0px] m-0 -mt-1.5 !p-0"},src:Lr.getUrl(a.data.id),alt:`face-${a.data.id}`},n);case"image":return r.jsx(Le,{classNames:{wrapper:"block !text-[0px] !m-0 !p-0",img:"block"},radius:"sm",className:t?"max-h-16 object-cover":"max-w-64 max-h-96 h-auto object-cover",src:a.data.url||a.data.file,alt:"image",referrerPolicy:"no-referrer"},n);case"record":return r.jsx("audio",{controls:!0,src:a.data.url||a.data.file},n);case"video":return r.jsx("video",{controls:!0,src:a.data.url||a.data.file},n);case"at":return r.jsxs("span",{className:"text-blue-500",children:["@",a.data.qq==="all"?"所有人":r.jsxs("span",{children:[a.data.name,"(",a.data.qq,")"]})]},n);case"rps":return r.jsx("span",{children:"[猜拳]"},n);case"dice":return r.jsx("span",{children:"[掷骰子]"},n);case"shake":return r.jsx("span",{children:"[窗口抖动]"},n);case"poke":return r.jsxs("span",{children:["[戳一戳: ",a.data.name||a.data.id,"]"]},n);case"anonymous":return r.jsx("span",{children:"[匿名消息]"},n);case"share":return r.jsx("a",{href:a.data.url,target:"_blank",rel:"noopener noreferrer",children:a.data.title},n);case"contact":return r.jsxs("span",{children:["[推荐",a.data.type==="qq"?"好友":"群",": ",a.data.id,"]"]},n);case"location":return r.jsxs("span",{children:["[位置: ",a.data.title||"未知","]"]},n);case"music":return a.data.type==="custom"?r.jsx("a",{href:a.data.url,target:"_blank",rel:"noopener noreferrer",children:a.data.title},n):r.jsxs("span",{children:["[音乐: ",a.data.type," - ",a.data.id,"]"]},n);case"reply":return r.jsxs("div",{className:"bg-content3 py-1 px-2 rounded-md flex items-center gap-1",children:[r.jsx(Ur,{className:"text-default-500"}),"回复消息ID: ",a.data.id]},n);case"forward":return r.jsxs("span",{children:["[合并转发: ",a.data.id,"]"]},n);case"node":return r.jsx("span",{children:"[消息节点]"},n);case"xml":return r.jsx("pre",{children:a.data.data},n);case"json":return r.jsx("pre",{className:"break-all whitespace-break-spaces",children:a.data.data},n);case"file":return r.jsx("a",{href:a.data.file,target:"_blank",rel:"noopener noreferrer",children:"[文件]"},n);default:return r.jsx("span",{children:"[不支持的消息类型]"},n)}}),hr=({data:e})=>r.jsxs("div",{className:"h-full flex flex-col overflow-hidden flex-1",children:[r.jsxs("div",{className:"flex gap-2 items-center flex-shrink-0",children:[r.jsxs("div",{className:"font-bold",children:[Ae(e)&&e.sender.card&&r.jsx("span",{className:"mr-1",children:e.sender.card}),r.jsx("span",{className:Q(Ae(e)&&e.sender.card&&"text-default-400 font-normal"),children:e.sender.nickname})]}),r.jsxs("div",{children:["(",e.sender.user_id,")"]}),r.jsxs("div",{className:"text-sm",children:["消息ID: ",e.message_id]})]}),r.jsxs(Oe,{showArrow:!0,triggerScaleOnOpen:!1,children:[r.jsx(we,{children:r.jsxs("div",{className:"flex-1 break-all overflow-hidden whitespace-pre-wrap border border-default-100 p-2 rounded-md hover:bg-content2 md:cursor-pointer transition-background relative group",children:[r.jsx("div",{className:"absolute right-2 top-2 opacity-0 group-hover:opacity-100 text-default-300",children:"点击查看完整消息"}),Array.isArray(e.message)?Be(e.message,!0):e.raw_message]})}),r.jsx(Ee,{children:r.jsx("div",{className:"p-2",children:Array.isArray(e.message)?Be(e.message):e.raw_message})})]})]}),ot=({data:e})=>r.jsxs("div",{className:"h-full overflow-hidden flex flex-col w-full",children:[r.jsxs("div",{className:"flex items-center p-1 flex-shrink-0",children:[r.jsx(ye,{src:`https://p.qlogo.cn/gh/${e.group_id}/${e.group_id}/0/`,alt:"群头像",size:"sm",className:"flex-shrink-0 mr-2"}),r.jsxs("div",{children:["群 ",e.group_id]})]}),r.jsxs("div",{className:"flex items-start p-1 rounded-md h-full flex-1 border border-default-100",children:[r.jsx(ye,{src:`https://q1.qlogo.cn/g?b=qq&nk=${e.sender.user_id}&s=100`,alt:"用户头像",size:"md",className:"flex-shrink-0 mr-2"}),r.jsx(hr,{data:e})]})]}),ct=({data:e})=>r.jsxs("div",{className:"flex items-start p-2 rounded-md h-full flex-1",children:[r.jsx(ye,{src:`https://q1.qlogo.cn/g?b=qq&nk=${e.sender.user_id}&s=100`,alt:"用户头像",size:"md",className:"flex-shrink-0 mr-2"}),r.jsx(hr,{data:e})]}),Je=({data:e})=>e.message_type==="group"?r.jsx(ot,{data:e}):e.message_type==="private"?r.jsx(ct,{data:e}):r.jsx("div",{children:"未知消息类型"}),lt=({data:e})=>{const{group_id:t,user_id:a,file:n}=e;return r.jsxs(r.Fragment,{children:[r.jsxs("div",{children:["群号: ",t]}),r.jsxs("div",{children:["用户ID: ",a]}),r.jsxs("div",{children:["文件名: ",n.name]}),r.jsxs("div",{children:["文件大小: ",n.size," 字节"]})]})},ut=({data:e})=>{const{group_id:t,user_id:a,sub_type:n}=e;return r.jsxs(r.Fragment,{children:[r.jsxs("div",{children:["群号: ",t]}),r.jsxs("div",{children:["用户ID: ",a]}),r.jsxs("div",{children:["变动类型: ",n==="set"?"设置管理员":"取消管理员"]})]})},dt=({data:e})=>{const{group_id:t,operator_id:a,user_id:n,sub_type:l}=e;return r.jsxs(r.Fragment,{children:[r.jsxs("div",{children:["群号: ",t]}),r.jsxs("div",{children:["操作者ID: ",a]}),r.jsxs("div",{children:["用户ID: ",n]}),r.jsxs("div",{children:["原因: ",l]})]})},ft=({data:e})=>{const{group_id:t,operator_id:a,user_id:n,sub_type:l}=e;return r.jsxs(r.Fragment,{children:[r.jsxs("div",{children:["群号: ",t]}),r.jsxs("div",{children:["操作者ID: ",a]}),r.jsxs("div",{children:["用户ID: ",n]}),r.jsxs("div",{children:["增加类型: ",l]})]})},ht=({data:e})=>{const{group_id:t,operator_id:a,user_id:n,sub_type:l,duration:f}=e;return r.jsxs(r.Fragment,{children:[r.jsxs("div",{children:["群号: ",t]}),r.jsxs("div",{children:["操作者ID: ",a]}),r.jsxs("div",{children:["用户ID: ",n]}),r.jsxs("div",{children:["禁言类型: ",l]}),r.jsxs("div",{children:["禁言时长: ",f," 秒"]})]})},vt=({data:e})=>{const{user_id:t}=e;return r.jsx(r.Fragment,{children:r.jsxs("div",{children:["用户ID: ",t]})})},mt=({data:e})=>{const{group_id:t,user_id:a,operator_id:n,message_id:l}=e;return r.jsxs(r.Fragment,{children:[r.jsxs("div",{children:["群号: ",t]}),r.jsxs("div",{children:["用户ID: ",a]}),r.jsxs("div",{children:["操作者ID: ",n]}),r.jsxs("div",{children:["消息ID: ",l]})]})},pt=({data:e})=>{const{user_id:t,message_id:a}=e;return r.jsxs(r.Fragment,{children:[r.jsxs("div",{children:["用户ID: ",t]}),r.jsxs("div",{children:["消息ID: ",a]})]})},gt=({data:e})=>{const{group_id:t,user_id:a,target_id:n}=e;return r.jsxs(r.Fragment,{children:[r.jsxs("div",{children:["群号: ",t]}),r.jsxs("div",{children:["用户ID: ",a]}),r.jsxs("div",{children:["目标ID: ",n]})]})},St=({data:e})=>{const{group_id:t,user_id:a,target_id:n}=e;return r.jsxs(r.Fragment,{children:[r.jsxs("div",{children:["群号: ",t]}),r.jsxs("div",{children:["用户ID: ",a]}),r.jsxs("div",{children:["目标ID: ",n]})]})},bt=({data:e})=>{const{group_id:t,user_id:a,honor_type:n}=e;return r.jsxs(r.Fragment,{children:[r.jsxs("div",{children:["群号: ",t]}),r.jsxs("div",{children:["用户ID: ",a]}),r.jsxs("div",{children:["荣誉类型: ",n]})]})},_t=({data:e})=>{const{group_id:t,user_id:a,message_id:n,likes:l}=e;return r.jsxs(r.Fragment,{children:[r.jsxs("div",{children:["群号: ",t]}),r.jsxs("div",{children:["用户ID: ",a]}),r.jsxs("div",{children:["消息ID: ",n]}),r.jsxs("div",{children:["表情回应:",l.map(f=>`表情ID: ${f.emoji_id}, 数量: ${f.count}`).join(", ")]})]})},yt=({data:e})=>{const{group_id:t,message_id:a,sender_id:n,operator_id:l,sub_type:f}=e;return r.jsxs(r.Fragment,{children:[r.jsxs("div",{children:["群号: ",t]}),r.jsxs("div",{children:["消息ID: ",a]}),r.jsxs("div",{children:["发送者ID: ",n]}),r.jsxs("div",{children:["操作者ID: ",l]}),r.jsxs("div",{children:["操作类型: ",f]})]})},xt=({data:e})=>{const{group_id:t,user_id:a,card_new:n,card_old:l}=e;return r.jsxs(r.Fragment,{children:[r.jsxs("div",{children:["群号: ",t]}),r.jsxs("div",{children:["用户ID: ",a]}),r.jsxs("div",{children:["新名片: ",n]}),r.jsxs("div",{children:["旧名片: ",l]})]})},jt=({data:e})=>{let t;switch(e.notice_type){case M.GroupUpload:t=r.jsx(lt,{data:e});break;case M.GroupAdmin:t=r.jsx(ut,{data:e});break;case M.GroupDecrease:t=r.jsx(dt,{data:e});break;case M.GroupIncrease:t=r.jsx(ft,{data:e});break;case M.GroupBan:t=r.jsx(ht,{data:e});break;case M.FriendAdd:t=r.jsx(vt,{data:e});break;case M.GroupRecall:t=r.jsx(mt,{data:e});break;case M.FriendRecall:t=r.jsx(pt,{data:e});break;case M.Notify:switch(e.sub_type){case"poke":t=r.jsx(gt,{data:e});break;case"lucky_king":t=r.jsx(St,{data:e});break;case"honor":t=r.jsx(bt,{data:e});break}break;case M.GroupMsgEmojiLike:t=r.jsx(_t,{data:e});break;case M.GroupEssence:t=r.jsx(yt,{data:e});break;case M.GroupCard:t=r.jsx(xt,{data:e});break}return r.jsxs("div",{className:"flex gap-2 items-center",children:[r.jsx(U,{color:"warning",variant:"flat",children:"通知"}),r.jsx(U,{children:Cr(e.notice_type)}),t]})},Ot=({data:e})=>r.jsxs("div",{className:"flex gap-2 items-center",children:[r.jsx(U,{color:Dr(e.status),variant:"flat",children:Mr(e.status)}),e.data&&r.jsxs(Oe,{placement:"right",showArrow:!0,classNames:{content:"max-h-96 max-w-96 overflow-hidden p-0"},children:[r.jsx(we,{children:r.jsx(H,{size:"sm",color:"primary",variant:"flat",radius:"full",className:"text-medium",children:"查看数据"})}),r.jsx(Ee,{children:r.jsx(dr,{hideSymbol:!0,codeString:JSON.stringify(e.data,null,2),tooltipProps:{content:"点击复制"},classNames:{copyButton:"self-start sticky top-0 right-0"},className:"bg-content1 h-full overflow-y-scroll items-start",children:JSON.stringify(e.data,null,2).split(` `).map((t,a)=>r.jsx("span",{className:"whitespace-pre-wrap break-all",children:t},a))})})]}),e.message&&r.jsxs(U,{className:"pl-0.5",variant:"flat",children:[r.jsx(U,{color:"warning",size:"sm",className:"-ml-2 mr-1",variant:"flat",children:"返回消息"}),e.message]})]}),wt={hidden:{opacity:0,scale:.8,y:50},visible:{opacity:1,scale:1,y:0,transition:{type:"spring",stiffness:300,damping:20}}};function Et({data:e}){return r.jsx("div",{children:"Request消息,暂未适配"})}const It=e=>e==="meta_event"?100:e==="message"?180:e==="request"||e==="notice"?100:e==="message_sent"?250:100,Nt=e=>{if(de(e))switch(e.post_type){case"meta_event":return r.jsx(st,{data:e});case"message":return r.jsx(Je,{data:e});case"request":return r.jsx(Et,{data:e});case"notice":return r.jsx(jt,{data:e});case"message_sent":return r.jsx(Je,{data:e});default:return r.jsx("div",{children:"未知类型的消息"})}return r.jsx(Ot,{data:e})},kt=({data:e,index:t,style:a})=>{const n=e[t],l=de(n);return r.jsx("div",{style:a,className:"p-1 overflow-visible w-full h-full",children:r.jsx(zr.div,{variants:wt,initial:"hidden",animate:"visible",className:"h-full px-2",children:r.jsxs(lr,{className:"w-full h-full py-2 bg-white/60 dark:bg-white/[0.04] backdrop-blur-xl border border-white/60 dark:border-white/10 shadow-sm rounded-2xl",children:[r.jsxs(Nr,{className:"py-0 text-default-500 flex-row gap-2",children:[r.jsx("div",{className:"font-bold",children:l?Rr(n.post_type):"请求响应"}),r.jsx("div",{className:"text-sm",children:l&&it(n.time)}),r.jsx("div",{className:"ml-auto",children:r.jsxs(Oe,{placement:"left",showArrow:!0,classNames:{content:"max-h-96 max-w-96 overflow-hidden p-0"},children:[r.jsx(we,{children:r.jsx(H,{size:"sm",color:"primary",variant:"flat",radius:"full",isIconOnly:!0,className:"text-medium",children:r.jsx(jr,{})})}),r.jsx(Ee,{children:r.jsx(dr,{hideSymbol:!0,codeString:JSON.stringify(n,null,2),tooltipProps:{content:"点击复制"},classNames:{copyButton:"self-start sticky top-0 right-0"},className:"bg-content1 h-full overflow-y-scroll items-start",children:JSON.stringify(n,null,2).split(` `).map((f,p)=>r.jsx("span",{className:"whitespace-pre-wrap break-all",children:f},p))})})]})})]}),r.jsx(ur,{className:"py-0",children:Nt(n)})]})})})},Tt=e=>{const{messages:t}=e,a=w.useRef(null),n=w.useRef(null),[l,f]=w.useState(400);return w.useEffect(()=>{const p=new ResizeObserver(()=>{a.current&&f(a.current.offsetHeight)});return a.current&&p.observe(a.current),()=>{p.disconnect()}},[]),w.useEffect(()=>{n.current&&n.current.resetAfterIndex(0,!0)},[t]),r.jsx("div",{className:"w-full h-full overflow-hidden",ref:a,children:r.jsx(tt,{ref:n,itemCount:t.length,width:"100%",style:{overflowX:"hidden"},itemSize:p=>{const S=t[p];return de(S)?It(S.post_type):100},height:l,itemData:t,itemKey:p=>t.length-p-1,children:kt})})},Ct=e=>{const{sendMessage:t}=e,{isOpen:a,onOpen:n,onOpenChange:l}=gr(),f=w.useRef(null),p=w.useCallback(S=>{var g;const v=(g=f.current)==null?void 0:g.getValue();if(!v){$.error("消息不能为空");return}try{t(v),$.success("消息发送成功"),S()}catch{$.error("消息发送失败")}},[t]);return r.jsxs(r.Fragment,{children:[r.jsx(H,{onPress:n,color:"primary",radius:"full",variant:"flat",size:"sm",className:"font-medium",children:"构造请求"}),r.jsx(Sr,{isOpen:a,onOpenChange:l,placement:"top-center",size:"5xl",scrollBehavior:"outside",isDismissable:!1,children:r.jsx(br,{className:"rounded-3xl border border-white/70 dark:border-white/10 bg-white/92 dark:bg-zinc-900/92 backdrop-blur-2xl shadow-2xl shadow-primary-900/15",children:S=>r.jsxs(r.Fragment,{children:[r.jsx(_r,{className:"flex flex-col gap-1",children:"构造请求"}),r.jsx(yr,{children:r.jsx("div",{className:"h-96",children:r.jsx(Fr,{height:"100%",defaultLanguage:"json",defaultValue:`{ "action": "get_group_list" }`,ref:f})})}),r.jsxs(xr,{children:[r.jsx(Pr,{}),r.jsx(H,{color:"primary",variant:"flat",onPress:S,children:"取消"}),r.jsx(H,{color:"primary",onPress:()=>p(S),children:"发送"})]})]})})})]})};var pe={},T={},ge={},Ve;function R(){return Ve||(Ve=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isEventSourceSupported=e.isReactNative=e.ReadyState=e.DEFAULT_HEARTBEAT=e.UNPARSABLE_JSON_OBJECT=e.DEFAULT_RECONNECT_INTERVAL_MS=e.DEFAULT_RECONNECT_LIMIT=e.SOCKET_IO_PING_CODE=e.SOCKET_IO_PATH=e.SOCKET_IO_PING_INTERVAL=e.DEFAULT_EVENT_SOURCE_OPTIONS=e.EMPTY_EVENT_HANDLERS=e.DEFAULT_OPTIONS=void 0;var t=1,a=1e3*t;e.DEFAULT_OPTIONS={},e.EMPTY_EVENT_HANDLERS={},e.DEFAULT_EVENT_SOURCE_OPTIONS={withCredentials:!1,events:e.EMPTY_EVENT_HANDLERS},e.SOCKET_IO_PING_INTERVAL=25*a,e.SOCKET_IO_PATH="/socket.io/?EIO=3&transport=websocket",e.SOCKET_IO_PING_CODE="2",e.DEFAULT_RECONNECT_LIMIT=20,e.DEFAULT_RECONNECT_INTERVAL_MS=5e3,e.UNPARSABLE_JSON_OBJECT={},e.DEFAULT_HEARTBEAT={message:"ping",timeout:6e4,interval:25e3};var n;(function(f){f[f.UNINSTANTIATED=-1]="UNINSTANTIATED",f[f.CONNECTING=0]="CONNECTING",f[f.OPEN=1]="OPEN",f[f.CLOSING=2]="CLOSING",f[f.CLOSED=3]="CLOSED"})(n||(e.ReadyState=n={}));var l=function(){try{return"EventSource"in globalThis}catch{return!1}};e.isReactNative=typeof navigator<"u"&&navigator.product==="ReactNative",e.isEventSourceSupported=!e.isReactNative&&l()})(ge)),ge}var se={},Se={},Ke;function Ie(){return Ke||(Ke=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.resetWebSockets=e.sharedWebSockets=void 0,e.sharedWebSockets={};var t=function(a){if(a&&e.sharedWebSockets.hasOwnProperty(a))delete e.sharedWebSockets[a];else for(var n in e.sharedWebSockets)e.sharedWebSockets.hasOwnProperty(n)&&delete e.sharedWebSockets[n]};e.resetWebSockets=t})(Se)),Se}var J={},A={},Qe;function Ne(){if(Qe)return A;Qe=1,Object.defineProperty(A,"__esModule",{value:!0}),A.setUpSocketIOPing=A.appendQueryParams=A.parseSocketIOUrl=void 0;var e=R(),t=function(l){if(l){var f=/^https|wss/.test(l),p=l.replace(/^(https?|wss?)(:\/\/)?/,""),S=p.replace(/\/$/,""),v=f?"wss":"ws";return"".concat(v,"://").concat(S).concat(e.SOCKET_IO_PATH)}else if(l===""){var f=/^https/.test(window.location.protocol),v=f?"wss":"ws",g=window.location.port?":".concat(window.location.port):"";return"".concat(v,"://").concat(window.location.hostname).concat(g).concat(e.SOCKET_IO_PATH)}return l};A.parseSocketIOUrl=t;var a=function(l,f){f===void 0&&(f={});var p=/\?([\w]+=[\w]+)/,S=p.test(l),v="".concat(Object.entries(f).reduce(function(g,h){var u=h[0],m=h[1];return g+"".concat(u,"=").concat(m,"&")},"").slice(0,-1));return"".concat(l).concat(S?"&":"?").concat(v)};A.appendQueryParams=a;var n=function(l,f){f===void 0&&(f=e.SOCKET_IO_PING_INTERVAL);var p=function(){return l(e.SOCKET_IO_PING_CODE)};return window.setInterval(p,f)};return A.setUpSocketIOPing=n,A}var le={},Ye;function vr(){if(Ye)return le;Ye=1,Object.defineProperty(le,"__esModule",{value:!0}),le.heartbeat=a;var e=R();function t(n){return Array.isArray(n)?n.reduce(function(l,f){return l.current>f.current?l:f}).current:n.current}function a(n,l,f){var p=f||{},S=p.interval,v=S===void 0?e.DEFAULT_HEARTBEAT.interval:S,g=p.timeout,h=g===void 0?e.DEFAULT_HEARTBEAT.timeout:g,u=p.message,m=u===void 0?e.DEFAULT_HEARTBEAT.message:u,i=Math.max(100,v/10),o=Date.now(),s=setInterval(function(){var d=Date.now(),c=t(l);if(c+h<=d)console.warn("Heartbeat timed out, closing connection, last message received ".concat(d-c,"ms ago, last ping sent ").concat(d-o,"ms ago")),n.close();else if(c+v<=d&&o+v<=d)try{typeof m=="function"?n.send(m()):n.send(m),o=d}catch(b){console.error("Heartbeat failed, closing connection",b instanceof Error?b.message:b),n.close()}},i);return n.addEventListener("close",function(){clearInterval(s)}),function(){}}return le}var ie={},be={},Xe;function ke(){return Xe||(Xe=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.resetSubscribers=e.removeSubscriber=e.addSubscriber=e.hasSubscribers=e.getSubscribers=void 0;var t={},a=[],n=function(v){return(0,e.hasSubscribers)(v)?Array.from(t[v]):a};e.getSubscribers=n;var l=function(v){var g;return((g=t[v])===null||g===void 0?void 0:g.size)>0};e.hasSubscribers=l;var f=function(v,g){t[v]=t[v]||new Set,t[v].add(g)};e.addSubscriber=f;var p=function(v,g){t[v].delete(g)};e.removeSubscriber=p;var S=function(v){if(v&&t.hasOwnProperty(v))delete t[v];else for(var g in t)t.hasOwnProperty(g)&&delete t[g]};e.resetSubscribers=S})(be)),be}var Ze;function Te(){if(Ze)return ie;Ze=1,Object.defineProperty(ie,"__esModule",{value:!0}),ie.assertIsWebSocket=a,ie.resetGlobalState=n;var e=Ie(),t=ke();function a(l,f){if(!f&&!(l instanceof WebSocket))throw new Error("")}function n(l){(0,t.resetSubscribers)(l),(0,e.resetWebSockets)(l)}return ie}var $e;function Mt(){if($e)return J;$e=1;var e=J&&J.__assign||function(){return e=Object.assign||function(h){for(var u,m=1,i=arguments.length;m0&&i[i.length-1])&&(c[0]===6||c[0]===2)){h=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]0&&c[c.length-1])&&(_[0]===6||_[0]===2)){o=0;continue}if(_[0]===3&&(!c||_[1]>c[0]&&_[1]{const{filterTypes:t,onSelectionChange:a}=e;return r.jsx(qr,{selectedKeys:t,onSelectionChange:n=>{n!=="all"&&(n==null?void 0:n.size)===0&&(n="all"),a(n)},label:"筛选消息类型",selectionMode:"multiple",className:"w-full",items:cr,renderValue:n=>n.length===cr.length?"全部":n.map(l=>{var f;return(f=l.data)==null?void 0:f.label}).join(","),children:n=>r.jsx(Gr,{value:n.value,children:n.label},n.value)})},Gt=(e,t)=>r.jsx(qt,{filterTypes:e,onSelectionChange:t});function Ht(e,t,a=!0){const[n,l]=w.useState([]),[f,p]=w.useState("all"),S=n.filter(i=>f==="all"||f.size===0?!0:de(i)?f.has(i.post_type):Ar(i)?f.has("request"):!1),{sendMessage:v,readyState:g}=zt(a?e:null,{share:!1,onMessage:w.useCallback(i=>{try{const o=JSON.parse(i.data);l(s=>{const d=[o,...s];return d.length>500?d.slice(0,500):d})}catch{$.error("WebSocket 消息解析失败")}},[]),queryParams:{access_token:t},onError:i=>{$.error("WebSocket 连接失败"),console.error("WebSocket error:",i)},onOpen:()=>{l([])}}),h=i=>{if(g!==Z.ReadyState.OPEN)throw new Error("WebSocket 连接未建立");v(i)},u=w.useCallback(()=>{l([])},[]),m=Gt(f,p);return{sendMessage:h,readyState:g,messageHistory:n,filteredMessages:S,filterTypes:f,setFilterTypes:p,FilterMessagesType:m,clearMessages:u}}function Ln(){const e=new URL(window.location.origin);e.port="3001",e.protocol="ws:";const t=e.href,[a,n]=De(Re.wsDebugConfig,{url:t,token:""}),[l,f]=w.useState(a.url),[p,S]=w.useState(a.token),[v,g]=w.useState(!1),[h]=De(Re.backgroundImage,""),u=!!h,{sendMessage:m,readyState:i,FilterMessagesType:o,filteredMessages:s,clearMessages:d}=Ht(a.url,a.token,v);w.useEffect(()=>{const j=a.url===t||a.url==="",_=a.url&&a.url.includes("/api/Debug/ws");if(!j&&!_){f(a.url),S(a.token);return}(async()=>{try{const I=await(await fetch("/api/Debug/create",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${localStorage.getItem("token")}`}})).json();if(I.code===0){const N=I.data.token,z=window.location.protocol==="https:"?"wss:":"ws:";if(N){const D=`${z}//${window.location.host}/api/Debug/ws`;n({url:D,token:N}),f(D),S(N)}}}catch(O){console.error("Failed to create debug adapter:",O)}})()},[]);const c=w.useCallback(()=>{let j=l;if(j.startsWith("/")&&(j=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}${j}`),!j.startsWith("ws://")&&!j.startsWith("wss://")){$.error("WebSocket URL 不合法");return}n({url:j,token:p}),g(!0)},[l,p,n]),b=w.useCallback(()=>{g(!1)},[]),y=w.useCallback(()=>{n({url:"",token:""}),window.location.reload()},[n]);return r.jsxs(r.Fragment,{children:[r.jsx("title",{children:"Websocket调试 - SnowCat WebUI"}),r.jsxs("div",{className:"h-[calc(100vh-3.5rem)] overflow-hidden flex flex-col px-3 md:px-6 py-4 md:py-6 gap-3 md:gap-4",children:[r.jsx(lr,{className:Q("flex-shrink-0 backdrop-blur-xl border shadow-sm rounded-2xl",u?"bg-black/25 dark:bg-black/30 border-white/20 dark:border-white/10":"bg-white/60 dark:bg-white/[0.04] border-white/60 dark:border-white/10"),children:r.jsxs(ur,{className:"gap-3 p-3 md:p-4",children:[r.jsxs("div",{className:"grid gap-3 items-end md:grid-cols-[1fr_1fr_auto]",children:[r.jsx(Pe,{label:"WebSocket URL",type:"text",value:l,onChange:j=>f(j.target.value),placeholder:"输入 WebSocket URL",size:"sm",variant:"bordered",classNames:{inputWrapper:Q("backdrop-blur-sm border",u?"bg-white/10 border-white/20":"bg-white/80 dark:bg-white/[0.06] border-black/[0.08] dark:border-white/12"),label:u?"text-white/80":"",input:u?"text-white placeholder:text-white/50":""}}),r.jsx(Pe,{label:"Token",type:"text",value:p,onChange:j=>S(j.target.value),placeholder:"输入 Token (可选)",size:"sm",variant:"bordered",classNames:{inputWrapper:Q("backdrop-blur-sm border",u?"bg-white/10 border-white/20":"bg-white/80 dark:bg-white/[0.06] border-black/[0.08] dark:border-white/12"),label:u?"text-white/80":"",input:u?"text-white placeholder:text-white/50":""}}),r.jsxs("div",{className:"flex gap-2",children:[r.jsx(H,{isIconOnly:!0,size:"md",radius:"full",color:"warning",variant:"flat",onPress:y,title:"重置配置",children:r.jsx(Or,{className:"text-xl"})}),r.jsx(H,{onPress:v?b:c,size:"md",radius:"full",color:v?"danger":"primary",className:"font-bold shadow-lg min-w-[100px] flex-1",startContent:v?r.jsx(wr,{}):r.jsx(Er,{}),children:v?"断开":"连接"})]})]}),r.jsxs("div",{className:Q("p-2.5 rounded-xl border transition-colors flex flex-col md:flex-row gap-3 md:items-center md:justify-between",u?"bg-white/10 border-white/20":"bg-white/50 dark:bg-white/5 border-white/20"),children:[r.jsxs("div",{className:"flex items-center gap-3 w-full md:w-auto",children:[r.jsx("div",{className:"flex-shrink-0",children:r.jsx(Ft,{state:i})}),r.jsx("div",{className:"flex-1 md:w-56 overflow-hidden",children:o})]}),r.jsxs("div",{className:"flex gap-2 justify-end w-full md:w-auto pt-1 md:pt-0 border-t border-white/5 md:border-t-0",children:[r.jsx(H,{size:"sm",color:"danger",variant:"flat",radius:"full",className:"font-medium",onPress:d,children:"清空日志"}),r.jsx(Ct,{sendMessage:m})]})]})]})}),r.jsx("div",{className:Q("flex-1 overflow-hidden rounded-2xl border backdrop-blur-xl",u?"bg-black/25 dark:bg-black/30 border-white/20 dark:border-white/10":"bg-white/60 dark:bg-white/[0.04] border-white/60 dark:border-white/10"),children:r.jsx(Tt,{messages:s})})]})]})}export{Ln as default};