1import{Ct as e,bt as s,dt as t,f as n,ft as o,n as a,o as l,t as i}from"./room-7o_ZQ3Wc.js";import{a as d,i as r,n as c,r as m,t as u}from"./constants-D-pH0xH4.js";import{createBlock as g,defineComponent as M,mergeProps as S,openBlock as p,ref as I,unref as v,watch as b}from"vue";var y=s("play-chat:selection",()=>{const e=I(!1),s=I(/* @__PURE__ */new Set);return{isSelectionMode:e,selectedMessageIds:s,enterSelectionMode:t=>{e.value=!0,s.value=new Set(t?[t]:[])},isMessageSelected:e=>s.value.has(e),isMessageSelectable:e=>!e.status&&!e.isDeleted,toggleMessageSelection:e=>{s.value.has(e)?s.value.delete(e):s.value.size>=100||s.value.add(e)},clearMessageSelection:e=>{e?e.forEach(e=>s.value.delete(e)):s.value=/* @__PURE__ */new Set},exitSelectionMode:()=>{e.value=!1,s.value=/* @__PURE__ */new Set}}});var f=/*@__PURE__*/M({name:"AdminPlayChat",__name:"AdminPlayChat",props:{resolveTranslation:{type:Function},userId:{},username:{},accessToken:{},tokenExpiresAt:{},isRegisteredInChat:{type:[Boolean,null]},isRegisteredInPlatform:{type:[Boolean,null]},onGetUserToken:{type:Function},onAnalyticsEvent:{type:Function}},emits:["blockUser","deleteMessages","selectionChange","newMessages","close"],setup(s,{expose:u,emit:M}){const I=s;t(I.resolveTranslation);const f=M,k=y(),{isSelectionMode:h,selectedMessageIds:w}=e(k);r(k),d(function({emitBlockUser:e,emitDeleteMessages:s}){const t=y(),a=m(),d=i(),r=n(),c=l(),u=o();return[{id:"select",icon:"success",titleKey:"menu_select",isVisible:()=>!t.isSelectionMode,onSelect:e=>t.enterSelectionMode(e.id)},{id:"edit",icon:"edit",titleKey:"menu_edit",isVisible:e=>Boolean(e.isOwn),onSelect:e=>a.startEdit(e)},{id:"delete",icon:"basket",variant:"danger",titleKey:"menu_delete",onSelect:e=>{c.button("delete"),s({roomId:d.globalRoomId,messageIds:[e.id]})}},{id:"block",icon:"warn",variant:"danger",titleKey:"menu_block",isVisible:e=>!e.isManager&&!e.isOwn&&!e.isSenderBanned,onSelect:s=>{c.button("block"),s.senderId?e({userId:s.senderId,roomId:d.globalRoomId,messageId:s.id,messageText:s.message||""}):r.addNotification({type:"error",placement:"top",title:u("notify_blockUserError_title"),description:u("notify_blockUserError_description")})}}]}({emitBlockUser:e=>f("blockUser",e),emitDeleteMessages:e=>f("deleteMessages",e)}));const _=i(),x=a(),B=e=>({id:e.id,text:e.message,senderId:e.senderId,senderName:e.senderName,sentAt:e.sentAt,isOwn:e.isOwn??!1,isManager:e.isManager??!1});return b(()=>x.lastIncomingBatch,e=>{e&&f("newMessages",{roomId:_.globalRoomId,messages:e.map(B)})},{flush:"sync"}),b(()=>({isSelectionMode:h.value,messageIds:[...w.value]}),e=>f("selectionChange",{roomId:_.globalRoomId,...e})),u({clearMessageSelection:k.clearMessageSelection,exitSelectionMode:k.exitSelectionMode}),(e,s)=>(p(),g(v(c),S(I,{"is-admin-panel":"",onClose:s[0]||(s[0]=e=>f("close"))}),null,16))}});export{f 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.