1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PrivateChat-CZOdBPqk.js","assets/index-gag417G2.js","assets/@vue/runtime-dom-BXhm2yvy.js","assets/@vue/runtime-core-BDnBULXz.js","assets/@vue/reactivity-DlgP36GQ.js","assets/@vue/shared-CGor2g7m.js","assets/pinia-iEdLOK3N.js","assets/axios-DvcZGS0k.js","assets/crypto-js-mOTce_q7.js","assets/jssha-5Y2GLj-o.js","assets/vue-router-BLxqMdpB.js","assets/vue-i18n-xQT9p5qY.js","assets/@intlify/shared-CK4CdO7U.js","assets/@intlify/core-base-eset9gex.js","assets/vue-8yY9LAJs.js","assets/dompurify-C04efeV9.js","assets/hi-base64-DfCAA0CV.js","assets/buffer-ClqsRnP0.js","assets/base64-js-mkwfWz5L.js","assets/ieee754-Brx8jsdR.js","assets/vue3-marquee-CAlWxV3J.js","assets/@fortawesome/fontawesome-svg-core-CcmtjxT4.js","assets/@fortawesome/vue-fontawesome-n_KtcJob.js","assets/@fortawesome/free-solid-svg-icons-DM5_RSzy.js","assets/index-BG1Gh0Rq.css","assets/MessageBox-CDm1Xugy.js","assets/MessageBox-CiH6Ronx.css","assets/PrivateChat-BBG-2Sks.css","assets/UnreadDivider-CLKkHmCB.css"])))=>i.map(i=>d[i]); 2import{_ as e,u as s,i as r,j as t,c as a,k as i,h as n}from"./index-gag417G2.js";import{o}from"./@vue/runtime-dom-BXhm2yvy.js";import{_ as l}from"./search-icon-BilYaL3V.js";import{P as c}from"./Popup-B2msxhX4.js";import{ak as d,G as m,d as u,aN as p,J as g,I as h,F as v,ap as f,H as _,T as j,A as U,e as k,aP as y,P as C}from"./@vue/runtime-core-BDnBULXz.js";import{y as w,e as I}from"./@vue/reactivity-DlgP36GQ.js";import{Q as b}from"./@vue/shared-CGor2g7m.js";import"./pinia-iEdLOK3N.js";import"./axios-DvcZGS0k.js";import"./crypto-js-mOTce_q7.js";import"./jssha-5Y2GLj-o.js";import"./vue-router-BLxqMdpB.js";import"./vue-i18n-xQT9p5qY.js";import"./@intlify/shared-CK4CdO7U.js";import"./@intlify/core-base-eset9gex.js";import"./vue-8yY9LAJs.js";import"./dompurify-C04efeV9.js";import"./hi-base64-DfCAA0CV.js";import"./buffer-ClqsRnP0.js";import"./base64-js-mkwfWz5L.js";import"./ieee754-Brx8jsdR.js";import"./vue3-marquee-CAlWxV3J.js";import"./@fortawesome/fontawesome-svg-core-CcmtjxT4.js";import"./@fortawesome/vue-fontawesome-n_KtcJob.js";import"./@fortawesome/free-solid-svg-icons-DM5_RSzy.js";const T={class:"view-wrap"},M={class:"view-content popup-style medium"},S={class:"popup-white-block"},L={class:"popup-content"},F=["onClick"],P={class:"friend-avatar"},A=["src","alt"],H={class:"friend-info"},N={class:"friend-name"},O={key:0,class:"loading-state"},x={key:1,class:"no-data"},E=e({__name:"FriendListPopup",props:{isOpen:{type:Boolean,default:!1}},emits:["close","selectFriend"],setup(e,{emit:a}){const i=a,n=s(),o=U(()=>n.friends),l=e=>{const s=e.target;s.scrollTop+s.clientHeight>=s.scrollHeight-50&&n.loadMoreFriends()},k=()=>{i("close")},y=e=>{e.target.src="/static/images/user_icon.png"};return(s,a)=>e.isOpen?(d(),m(j,{key:0,to:"body"},[u(c,{open:e.isOpen,"pop-title":"好åå表"},{default:p(()=>[g("div",T,[g("div",M,[g("div",S,[a[3]||(a[3]=g("div",{class:"popup-menu"},[g("div",{class:"menu-wrap one-option"},[g("div",null,"好åå表")])],-1)),g("div",L,[g("div",{class:"friend-list",onScroll:l},[(d(!0),h(v,null,f(o.value,e=>(d(),h("div",{key:e.user_id,class:"friend-item",onClick:s=>(e=>{i("selectFriend",e),k()})(e)},[g("div",P,[a[0]||(a[0]=g("img",{class:"avatar-frame",src:r,alt:"frame"},null,-1)),g("img",{src:w(t)(null,e.character),alt:e.nickname,onError:y},null,40,A)]),g("div",H,[g("div",N,b(e.nickname),1)])],8,F))),128)),w(n).isLoadingFriends?(d(),h("div",O,[...a[1]||(a[1]=[g("p",null,"è¼å ¥ä¸...",-1)])])):_("",!0),w(n).isLoadingFriends||0!==o.value.length?_("",!0):(d(),h("div",x,[...a[2]||(a[2]=[g("p",null,"æ«ç¡å¥½å",-1)])]))],32)])]),g("button",{class:"close-btn",onClick:k})])])]),_:1},8,["open"])])):_("",!0)}},[["__scopeId","data-v-80013d42"]]),D={class:"private-message-list-root"},z={class:"search-container"},R={class:"list-container"},q=["onClick"],V=["src","alt"],W=["onClick"],$=["innerHTML"],B={class:"message"},G={class:"wrapper"},J={class:"time"},Q={key:0,class:"count"},K={key:1,style:{height:"22px"}},X={class:"chat-footer"},Y=e({__name:"PrivateMessageList",setup(e){const n=s(),c=a(),m=i(),p=U(()=>n.getCurrentUserId),_=I(""),j=(e,s)=>{if(!s||0===s.length)return e;let r="",t=0;
2return s.forEach(({start:s,end:a})=>{r+=e.substring(t,s),r+=`<mark>${e.substring(s,a)}</mark>`,t=a}),r+=e.substring(t),r},C=U(()=>{const e=n.offlineMessages;if(!e||0===e.length)return new Map;const s=new Map;return e.forEach(e=>{const r=e.sender_id===p.value,t=r?e.receiver_id:e.sender_id,a=r?e.receiver_nickname:e.sender_nickname;s.has(t)||s.set(t,{targetUserName:a,targetUserId:t,messages:[],iconUrl:r?e.receiver_icon_url:e.sender_icon_url,character:r?e.receiver_character:e.sender_character});const i=s.get(t);i.messages.push(e),r||(!i.iconUrl&&e.sender_icon_url&&(i.iconUrl=e.sender_icon_url),0===i.character&&e.sender_character>0&&(i.character=e.sender_character)),!i.targetUserName&&a&&(i.targetUserName=a)}),s}),w=U(()=>{if(0===C.value.size)return[];return Array.from(C.value.values()).map(e=>{const s=[...e.messages].sort((e,s)=>s.send_time-e.send_time)[0],r=((e,s)=>{if(!s)return{matched:!0,score:0,highlights:[]};if(!e)return{matched:!1,score:-1,highlights:[]};const r=e.toLowerCase(),t=s.toLowerCase();if(r.includes(t)){const e=r.indexOf(t);return{matched:!0,score:100,highlights:[{start:e,end:e+t.length}]}}let a=0,i=0;const n=[];let o=-1;for(;a<r.length&&i<t.length;)r[a]===t[i]&&(-1===o||a!==o+1?n.push({start:a,end:a+1}):n[n.length-1].end=a+1,o=a,i++),a++;const l=i===t.length;return{matched:l,score:l?t.length/r.length*80:0,highlights:l?n:[]}})(e.targetUserName,_.value);return{iconUrl:t(e.iconUrl,e.character),targetUser:e.targetUserName||e.targetUserId,targetUserId:e.targetUserId,previewMessage:s.msg.substring(0,50),lastMessageTime:T(s.send_time),messageAmount:e.messages.length,latestSendTime:s.send_time,hasUnread:n.isConversationUnread(e.targetUserId),unreadCount:n.getUnreadMessageCount(e.targetUserId),matchScore:r.score,matchHighlights:r.highlights,isMatched:r.matched}}).sort((e,s)=>s.latestSendTime-e.latestSendTime)}),T=e=>{const s=new Date(1e3*e),r=new Date-s;return r<864e5?s.toLocaleTimeString("zh-TW",{hour:"2-digit",minute:"2-digit",hour12:!1}):r<1728e5?"æ¨å¤©":s.toLocaleDateString("zh-TW",{month:"2-digit",day:"2-digit"})},M=U(()=>{if(!_.value)return w.value;return w.value.filter(e=>e.isMatched).sort((e,s)=>s.matchScore!==e.matchScore?s.matchScore-e.matchScore:s.latestSendTime-e.latestSendTime)}),S=I(!1),L=()=>{n.resetFriends(),n.fetchFriends(0),S.value=!0},F=e=>{e.user_id&&(n.currentChatroomId=e.user_id,n.markConversationAsRead(e.user_id))},P=e=>{e.target.src="/static/images/user_icon.png"};return k(()=>{}),(e,s)=>(d(),h("div",D,[g("div",z,[s[2]||(s[2]=g("img",{src:l,class:"search-icon",alt:""},null,-1)),s[3]||(s[3]=g("label",{for:"search-private-messages",class:"sr-only"},"æå°",-1)),y(g("input",{id:"search-private-messages","onUpdate:modelValue":s[0]||(s[0]=e=>_.value=e),type:"text",placeholder:"æå°"},null,512),[[o,_.value]])]),g("ul",R,[(d(!0),h(v,null,f(M.value,(e,t)=>(d(),h("li",{key:t,class:"item-container"},[g("div",{class:"avatar-icon",style:{cursor:"pointer"},onClick:s=>{return r=e.targetUserId,t=e.targetUser,void(((e,s)=>"00000000"===e||"ç³»çµ±è¨æ¯"===s)(r,t)||r!==(null==(i=null==(a=c.info)?void 0:a.info)?void 0:i.user_id)&&m.openPlayerInfo(r));var r,t,a,i}},[g("img",{src:e.iconUrl,alt:`${e.targetUser} é å`,onError:P},null,40,V),s[4]||(s[4]=g("img",{class:"avatar-frame",src:r,alt:""},null,-1))],8,q),g("div",{class:"wrapper",style:{cursor:"pointer"},onClick:s=>{return r=e.targetUserId,n.markConversationAsRead(r),void(n.currentChatroomId=r);var r}},[g("div",{class:"title",innerHTML:_.value?j(e.targetUser,e.matchHighlights):e.targetUser},null,8,$),g("div",B,b(e.previewMessage),1)],8,W),g("div",G,[g("div",J,b(e.lastMessageTime),1),e.hasUnread&&e.messageAmount>0?(d(),h("div",Q," N ")):(d(),h("div",K))])]))),128))]),g("div",X,[g("button",{class:"blue",onClick:L},"好åå表"),u(E,{isOpen:S.value,onClose:s[1]||(s[1]=e=>S.value=!1),onSelectFriend:F},null,8,["isOpen"])])]))}},[["__scopeId","data-v-48b3f4ca"]]),Z=e({__name:"PrivateChannel",setup(e){const r=s(),t=C(()=>n(()=>import("./PrivateChat-CZOdBPqk.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28])));
2return(e,s)=>null===w(r).currentChatroomId?(d(),m(Y,{key:0})):(d(),m(w(t),{key:1}))}},[["__scopeId","data-v-7d120cd8"]]);export{Z as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.