UNPKG

@tabtree/workchat

Version:

Tabtree Workchat by AM

1 lines 86.8 kB
import e,{useState as t,useRef as r,useCallback as n,useEffect as a,createContext as l,useContext as o,Fragment as s,useMemo as i,memo as c}from"react";import{Pause as u,Play as d,BarChart3 as m,Check as f,Users as g,File as p,Reply as h,Trash2 as v,Star as x,CheckCheck as y,X as b,Expand as E,Shrink as w,Maximize as C,Minimize as N,Upload as k,ArrowUpFromLine as I,Send as M,SquareArrowOutUpRight as D,ChevronUp as T,MessageSquareText as U,UserRound as P,Search as A,BotIcon as S,Music as _,Image as R,Video as j,Locate as z}from"lucide-react";import L from"axios";import B from"moment";import{io as F}from"socket.io-client";import{Light as H}from"react-syntax-highlighter";import{docco as O}from"react-syntax-highlighter/dist/esm/styles/hljs";function G(){return G=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},G.apply(null,arguments)}var V=L,Y=L.create({baseURL:"https://chatapi.nte.ai/v5",headers:{"Content-Type":"application/json"}});function J(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}Y.interceptors.request.use(function(e){var t=localStorage.getItem("authToken");return console.log("tokentoken",t),t&&(e.headers.Authorization=t),e},function(e){return Promise.reject(e)});var W=/*#__PURE__*/l();function q(e,t){try{var r=e()}catch(e){return t(!0,e)}return r&&r.then?r.then(t.bind(null,!1),t.bind(null,!0)):t(!1,r)}var K=function(l){var o,s=l.children,i=t([]),c=i[0],u=i[1],d=t({}),m=d[0],f=d[1];t({});var g=t(0),p=g[0],h=g[1],v=t([]),x=v[0],y=v[1],b=t(!0),E=b[0],w=b[1],C=t({}),N=C[0],k=C[1],I=t(""),M=I[0],D=I[1],T=t(""),U=T[0],P=T[1],A=r({}),S=r({}),_=t("chat"),R=_[0],j=_[1],z=t(3),L=z[0],H=z[1],O=t([]),V=O[0],K=O[1],$=t([]),Q=$[0],X=$[1],Z=t([]),ee=Z[0],te=Z[1],re=t([]),ne=re[0],ae=re[1],le=t([]),oe=le[0],se=le[1],ie=t([]),ce=ie[0],ue=ie[1];t("");var de=t(""),me=de[0],fe=de[1],ge=t({}),pe=ge[0],he=ge[1],ve=t(""),xe=ve[0],ye=ve[1],be=t(null),Ee=be[0],we=be[1],Ce=t(!1),Ne=Ce[0],ke=Ce[1],Ie=t(!1),Me=Ie[0],De=Ie[1],Te=t(!1),Ue=Te[0],Pe=Te[1],Ae=t(!1),Se=Ae[0],_e=Ae[1],Re=r(c),je=r(V),ze=r(Ne),Le=t(null),Be=Le[0],Fe=Le[1],He=t(!1),Oe=He[0],Ge=He[1],Ve=r(null),Ye=r(null),Je=t(""),We=Je[0],qe=Je[1],Ke=t(!1),$e=Ke[0],Qe=Ke[1],Xe=t(""),Ze=Xe[0],et=Xe[1],tt=t(""),rt=tt[0],nt=tt[1],at=t(""),lt=at[0],ot=at[1],st=t(""),it=st[0],ct=st[1],ut=r(null),dt=t(""),mt=dt[0],ft=dt[1],gt=r(null),pt=r(null),ht=t(!1),vt=ht[0],xt=ht[1],yt=t({top:0,left:0,width:0})[1],bt=t(""),Et=bt[0],wt=bt[1],Ct=t([]),Nt=Ct[0],kt=Ct[1],It=oe.filter(function(e){return e.userId.name.toLowerCase().includes(Et.toLowerCase())}),Mt=t("All"),Dt=Mt[0],Tt=Mt[1],Ut=t(!1),Pt=Ut[0],At=Ut[1],St=t(0),_t=St[0],Rt=St[1],jt=t(!1)[1],zt=function(){Fe(null),Ge(!1),Ve.current.value="",k(function(e){var t;return G({},e,((t={})[xe]="",t))})},Lt=n(function(e){e.preventDefault(),e.stopPropagation(),Qe(!0)},[]),Bt=n(function(e){e.preventDefault(),e.stopPropagation(),Qe(!0)},[]),Ft=n(function(e){e.preventDefault(),e.stopPropagation(),Qe(!1)},[]),Ht=n(function(e){e.preventDefault(),e.stopPropagation(),Qe(!1),e.dataTransfer.files&&e.dataTransfer.files.length>0&&(Fe(e.dataTransfer.files[0]),Ge(!0))},[]),Ot=t(!1),Gt=Ot[0],Vt=Ot[1];a(function(){Re.current=c},[c]),a(function(){je.current=V,V.length>0&&localStorage.setItem("userListStore",JSON.stringify(V))},[V]),a(function(){ze.current=Ne},[Ne]);var Yt=function(e){try{var t=q(function(){return J(function(){return Promise.resolve(Y.get("chatUser/userList")).then(function(t){if("success"===t.data.status){var r=t.data.response,n=r;"Groups"===e?n=r.filter(function(e){return"group"===e.type}):"Unread"===e?n=r.filter(function(e){return e.unReadCount>0}):"AI"===e?n=r.filter(function(e){return"bot"===e.type}):"Broadcasts"===e&&(n=r.filter(function(e){return"broadcast"===e.type})),K(n),ae(r)}})},function(e){console.error("fetchChatUserList error:",e)})},function(e,t){if(e)throw t;return t});return Promise.resolve(t&&t.then?t.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},Jt=t(!0)[1],Wt=t(!0)[1],qt=r(!0),Kt=r(!0),$t=function(e,t){void 0===t&&(t=0);try{return Promise.resolve(J(function(){var r={toUser:e,limit:20,lastId:0!==t?ce.at(-1)._id:null};return Promise.resolve(Y.post("chatUser/chatHistory",r)).then(function(t){if("success"===t.data.status){var r=t.data.chatHistory;if(""!=t.data.chatUserId&&f(function(r){var n,a=r[e]||[];return a.includes(t.data.chatUserId)?r:G({},r,((n={})[e]=[].concat(a,[t.data.chatUserId]),n))}),0===r.length)return console.log("✅ No more messages available - end of pagination"),Jt(!1),void(qt.current=!1);ue(function(e){return[].concat(e,r)}),Rt(function(e){return e+1})}})},function(e){console.log("fetchGroupChatHistory",e)}))}catch(e){return Promise.reject(e)}},Qt=function(e,t){void 0===t&&(t=0);try{return Promise.resolve(J(function(){var r={limit:20,lastId:0!==t?ce.at(-1)._id:null};return Promise.resolve(Y.post("/group/history/"+e.chatUserId,r)).then(function(t){if("success"===t.data.status){var r=t.data.chatHistory;if(f(e.chatUserId),0===r.length)return console.log("✅ No more messages available - end of pagination"),Jt(!1),void(qt.current=!1);ue(function(e){return[].concat(e,r)}),Rt(function(e){return e+1})}})},function(e){console.log("fetchGroupChatHistory",e)}))}catch(e){return Promise.reject(e)}},Xt=function(e,t){void 0===t&&(t=0);try{return Promise.resolve(J(function(){var r={limit:20,lastId:0!==t?ce.at(-1)._id:null};return Promise.resolve(Y.post("/bot/chatHistory/"+e.chatUserId,r)).then(function(e){if(console.log("fetchBotChatHistory",e.data),"success"===e.data.status){var t,r=e.data.chatList;if(0===r.length)return console.log("✅ No more messages available - end of pagination"),Jt(!1),void(qt.current=!1);ue(r),null!=(t=e.data)&&t.hasMcp?At(!0):At(!1),Rt(function(e){return e+1})}})},function(e){console.log("fetchBotChatHistory",e)}))}catch(e){return Promise.reject(e)}};function Zt(e,t,r){if(!Array.isArray(e))return console.error("Expected an array, but got:",e),[];var n=e.findIndex(function(e){return e._id==t});if(-1===n)return e;var a=e.splice(n,1)[0];return e.splice(r,0,a),e}a(function(){var e=localStorage.getItem("authUser");if(""!==xe){c.includes(xe);var t=c.find(function(e){return e===xe})||xe,r=ce.map(function(t){var r,n,a,l,o=((null==(r=t.fromUserId)?void 0:r._id)||(null==t||null==(n=t.userId)?void 0:n._id))===e,s=(null==(a=t.toUserId)?void 0:a._id)!==e?t.toUserId:t.fromUserId;return"user"===lt.type?{_id:t._id,sender:o?"me":"reciver",text:t.messageContent,isRead:t.isRead,user:s,time:B(null==t?void 0:t.updatedAt).format("ddd hh:mm A"),type:null==t?void 0:t.messageType,link:(null==t?void 0:t.fileUrl)||"",fileType:(null==t?void 0:t.fileType)||"",createdAt:null==t?void 0:t.createdAt,isForwarded:t.isForwarded,isDeleted:t.isDeleted,isStared:t.isStared,replyMessageId:t.replyMessageId||"",fileName:t.fileName,pollMessage:t.pollMessage,isBroadCastAcknowledge:null==t?void 0:t.isBroadCastAcknowledge,broadCastMessageId:null==t?void 0:t.broadCastMessageId}:"bot"===rt.type?{_id:t._id,sender:"M"===t.messageType?"me":"reciver",text:t.messageContent,time:B(null==t?void 0:t.updatedAt).format("ddd hh:mm A"),type:null==t?void 0:t.messageType,link:(null==t?void 0:t.fileUrl)||"",fileType:(null==t?void 0:t.fileType)||"",createdAt:null==t?void 0:t.createdAt,ctaInfo:(null==t?void 0:t.ctaInfo)||"",ctaData:t.ctaData,fileName:t.fileName}:{_id:t._id,sender:o?"me":"reciver",text:t.messageContent,isRead:t.isRead,user:t.userId,time:B(null==t?void 0:t.updatedAt).format("ddd hh:mm A"),type:null==t?void 0:t.messageType,link:(null==t?void 0:t.fileUrl)||"",fileType:(null==t?void 0:t.fileType)||"",createdAt:null==t?void 0:t.createdAt,name:null==t||null==(l=t.userId)?void 0:l.name,isForwarded:t.isForwarded,isDeleted:t.isDeleted,isStared:t.isStared,replyMessageId:t.replyMessageId||"",fileName:t.fileName,pollMessage:t.pollMessage}});console.log("modifychat",r);var n={};r.forEach(function(e){var t=B(e.createdAt).format("YYYY-MM-DD");n[t]||(n[t]=[]),n[t].push(e)});var a=Object.keys(n).sort(function(e,t){return B(t).diff(B(e))}).map(function(e){var t=B(e);return{date:t.isSame(B(),"day")?"Today":t.isSame(B().subtract(1,"day"),"day")?"Yesterday":t.format("DD MMM YYYY"),chats:n[e],chatUserId:m[xe]}});if(c.length>=L){if(!c.includes(t)){var l=[].concat(c);l.shift(),l.push(t),u(l)}he(function(e){var r;return G({},e,((r={})[t]=a,r))})}else u(function(e){return e.includes(t)?e:[].concat(e,[t])}),he(function(e){var r;return G({},e,((r={})[t]=a,r))});setTimeout(function(){var e=document.getElementById("chat-input-"+t);e&&e.focus()},100)}},[ce,rt,lt]),a(function(){var e=localStorage.getItem("authToken");if(localStorage.getItem("authUser"),e){var t="https://chatapi.nte.ai/chat";console.log("apiUrl",t);var r=F(t,{transports:["websocket"],auth:{token:e}});return r.on("connect",function(){console.log("Connected to socket server with ID:",r.id)}),r.on("disconnect",function(e){console.log("Socket disconnected:",e)}),r.on("receiveMessage",function(e){if(localStorage.getItem("authUser"),console.log("Received message:",e),Re.current.includes(e.fromUserId._id)||De(!0),Array.isArray(je.current)){var t=Zt([].concat(je.current),e.fromUserId._id,0).map(function(t){return t._id==e.fromUserId._id?G({},t,{isDeleted:!1,messageContent:e.messageContent,messageId:e.messageId,createdAt:e.createdAt,msg:"New",unReadCount:Re.current.includes(e.fromUserId._id)?0:t.unReadCount<0?1:t.unReadCount+1}):t});je.current=t,K(t)}else console.error("userChatRef.current is not an array:",je.current);ke(!1),Re.current.includes(e.fromUserId._id)&&(ze.current=!0,ke(!0),ue(function(t){return[e].concat(t)}),r.emit("readMessage",{user_id:e.fromUserId._id}))}),r.on("redMessage",function(e){ue(function(t){return t.map(function(t){return Re.current.includes(e)?G({},t,{isRead:!0}):t})})}),r.on("ownMessage",function(e){if(console.log("ownMessage",e),Array.isArray(je.current)){var t=Zt([].concat(je.current),e.toUserId._id,0).map(function(t){return t._id==e.toUserId._id?G({},t,{messageContent:e.messageContent,messageId:e.messageId,createdAt:e.createdAt,msg:"Read",isDeleted:!1}):t});je.current=t,K(t)}else console.error("userChatRef.current is not an array:",je.current);Re.current.includes(e.toUserId._id)&&ue(function(t){return[e].concat(t)})}),r.on("deletedMessage",function(e){console.log("deletedMessage response:",e,e.fromUserId,Re.current._id),K(function(t){return t.map(function(t){return t.chatUserId===e.chatUserId&&e._id===t.messageId?G({},t,{isDeleted:!0}):t})}),Re.current.includes(e.fromUserId)&&ue(function(t){return t.map(function(t){return t._id===e._id?G({},t,{isDeleted:!0}):t})})}),r.on("receiveGroupMessage",function(e){if(Array.isArray(je.current)){var t=Zt([].concat(je.current),e.groupId,0).map(function(t){return t.chatUserId==e.groupId?G({},t,{messageContent:e.messageContent,messageId:e.messageId,createdAt:e.createdAt,isDeleted:!1}):t});je.current=t,K(t)}else console.error("newDatanewDatanewData.current is not an array:",je.current);Re.current.includes(e.groupId)&&ue(function(t){return[e].concat(t)})}),r.on("deleteGroupMessage",function(e){if(console.log("deleteGroupMessage",e),ue(function(t){return t.map(function(t){return t._id===e.messageId?G({},t,{isDeleted:!0}):t})}),Array.isArray(je.current)){var t=Zt([].concat(je.current),e.groupId,0).map(function(t){return t.chatUserId==e.groupId&&t.messageId===e.messageId?G({},t,{createdAt:new Date,isDeleted:!0}):t});je.current=t,K(t)}else console.error("newDatanewDatanewData.current is not an array:",je.current)}),r.on("deleteGroupMessage",function(e){if(console.log("deleteGroupMessage",e),ue(function(t){return t.map(function(t){return t._id===e.messageId?G({},t,{isDeleted:!0}):t})}),Array.isArray(je.current)){var t=Zt([].concat(je.current),e.groupId,0);console.log("newDatanewDatanewDataarr",t);var r=t.map(function(t){return t.chatUserId==e.groupId?G({},t,{createdAt:new Date,isDeleted:!0}):t});console.log("newDatanewDatanewsadasData",r),je.current=r,K(r)}else console.error("newDatanewDatanewData.current is not an array:",je.current)}),r.on("botMessage",function(e){if(console.log("botMessage response:",e),Array.isArray(je.current)){var t=Zt([].concat(je.current),e.toUser,0);console.log("newDatanewDatanewDataarr",t);var r=t.map(function(t){return t._id==e.toUser?G({},t,{messageContent:e.messageContent,createdAt:e.createdAt}):t});console.log("newDatanewDatanewData",r),je.current=r,K(r)}else console.error("newDatanewDatanewData.current is not an array:",je.current);Re.current.includes(e.toUser)&&ue(function(t){return[e].concat(t)})}),r.on("initiateBot",function(e){if(console.log("botMessageinitiateBot response:",e),Array.isArray(je.current)){var t=Zt([].concat(je.current),e.toUser,0);console.log("newDatanewDatanewDataarr",t);var r=t.map(function(t){return t._id==e.toUser?G({},t):t});console.log("newDatanewDatanewData",r),je.current=r,K(r)}else console.error("newDatanewDatanewData.current is not an array:",je.current)}),r.on("pollUpdated",function(e){console.log("pollUpdated",e,Re.current,e.groupId),Re.current.includes(e.groupId)&&ue(function(t){return t.map(function(t){return t._id===e.updatedPoll._id?G({},t,{pollMessage:e.updatedPoll.pollMessage}):t})})}),we(r),function(){r&&r.disconnect()}}},[]),a(function(){var e=JSON.parse(localStorage.getItem("userListStore")||"[]");0==V.length&&Se&&(K(e),setTimeout(function(){_e(!1)},200))},[Se]),a(function(){"undefined"!=typeof window&&(localStorage.setItem("activeChats",JSON.stringify(c)),localStorage.setItem("minimizedChats",JSON.stringify(x)),localStorage.setItem("newMessage",JSON.stringify(pe)))},[c,x,pe]),a(function(){if("undefined"!=typeof window){var e=localStorage.getItem("activeChats"),t=localStorage.getItem("minimizedChats"),r=localStorage.getItem("newMessage");e&&u(JSON.parse(e)),t&&y(JSON.parse(t)),r&&k(JSON.parse(r))}},[]);var er=function(e){u(function(t){return t.filter(function(t){return t!==e})}),y(function(t){return t.filter(function(t){return t!==e})})},tr=function(e){var t=A.current[e];t&&(t.style.height="auto",t.style.height=t.scrollHeight+"px")},rr=function(){if(gt.current){var e=gt.current.getBoundingClientRect();yt({top:e.top-250,left:e.left,width:e.width}),xt(!0)}},nr=function(e,t){try{var r=m[e]||[],n=function(){if(0===r.length)return Promise.resolve(function(e,t){try{var r=J(function(){return Promise.resolve(Y.post("chatUser/addChatUser",{toUser:e})).then(function(r){"success"===r.data.status&&(f(function(t){var n,a=t[e]||[];return a.includes(r.data.chatUserId)?t:G({},t,((n={})[e]=[].concat(a,[r.data.chatUserId]),n))}),lr(e,r.data.chatUserId,t))})},function(e){console.log("d",e)});return Promise.resolve(r&&r.then?r.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}(e,t)).then(function(){});lr(e,r[0],t)}();return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},ar=function(e,t){try{return or(e,t),Promise.resolve()}catch(e){return Promise.reject(e)}},lr=function(e,t,r){var n;if(localStorage.getItem("authUser"),null!=(n=N[e])&&n.trim()){Ee.emit("sendMessage",{user_id:e,messageType:Be?"F":"M",message:N[e]||"",chatUserId:t,fileType:Be?Be.type:"",fileUrl:r||"",replyMessageId:it._id||"",fileName:Be?null==Be?void 0:Be.name:""}),k(function(t){var r;return G({},t,((r={})[e]="",r))}),qe(""),zt(),ct("");var a=A.current[e];a&&(a.style.height="auto")}else console.log("sent failed 1",e),console.log("sent failed 2",r),console.log("sent failed 3",t)},or=function(e,t){try{var r;if(null!=(r=N[e])&&r.trim()){var n={groupId:null==Ze?void 0:Ze.chatUserId,messageType:Be?"F":"M",message:N[e],fileType:Be?Be.type:"",fileUrl:t||"",replyMessageId:it._id||"",mentionedUsers:Nt.map(function(e){var t;return null==e||null==(t=e.userId)?void 0:t._id})};Ee.emit("sendGroupMessage",n),k(function(e){var t;return G({},e,((t={})[null==Ze?void 0:Ze.chatUserId]="",t))}),qe(""),ct(""),zt(),kt([])}return Promise.resolve()}catch(e){return Promise.reject(e)}};a(function(){c.forEach(function(e){S.current[e]&&!x.includes(e)&&S.current[e].scrollIntoView({behavior:"smooth"})})},[c,x,ce]),a(function(){""!==We&&("group"===Ze.type?ar(xe,We):nr(xe,We))},[We]);var sr=(o={activeChats:c,minimizedChats:x,newMessage:N,messageEndRef:S,handleUserClick:function(e){fe(""),ue([]),ye(null==e?void 0:e._id),xt(!1),kt([]),Rt(0),Jt(!0),Wt(!0),qt.current=!0,Kt.current=!0,"group"===(null==e?void 0:e.type)?(ot(""),Qt(e),et(e),function(e){try{var t=J(function(){return Promise.resolve(Y.get("/group/groupInfo/"+e)).then(function(e){console.log("fetchChatGroupInfo",e.data),se("success"===e.data.status?e.data.groupInfo.userList:[])})},function(e){console.log("fetchChatGroupInfo",e)});return Promise.resolve(t&&t.then?t.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}(null==e?void 0:e.chatUserId)):"bot"===(null==e?void 0:e.type)?(fe((null==e?void 0:e.chatUserId)||""),Xt(e),nt(e),null!=e&&e.chatUserId&&function(e){try{var t=J(function(){return Promise.resolve(Y.get("bot/readBotMessage/"+e)).then(function(t){if(console.log("fetchChannelChatHistory",t.data),"success"===t.data.status){var r=je.current.map(function(t){return t.chatUserId===e?G({},t,{unReadCount:0}):t}),n=JSON.stringify(V)===JSON.stringify(r);je.current=r,n||K(r)}})},function(e){console.log("fetchChannelChatHistory",e)});return Promise.resolve(t&&t.then?t.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}(e.chatUserId)):(et(""),$t(null==e?void 0:e._id,0),ot(e)),null==Ee||Ee.emit("readMessage",{user_id:null==e?void 0:e._id});var t=je.current.map(function(t){return t._id==(null==e?void 0:e._id)?G({},t,{msg:"Read",unReadCount:0}):t}),r=JSON.stringify(V)===JSON.stringify(t);je.current=t,r||K(t)},toggleMinimize:function(e){y(function(t){return t.includes(e)?t.filter(function(t){return t!==e}):[].concat(t,[e])})},closeChat:er,handleMessageChange:function(e,t){if(ye(e),k(function(r){var n;return G({},r,((n={})[e]=t,n))}),"group"===Ze.type){var r=t.lastIndexOf("@");if(console.log("valueatIndex",t,r),-1!==r){var n=t.substring(r+1);""===n?(wt(""),rr()):n.includes(" ")?xt(!1):(wt(n),vt||rr())}else xt(!1);kt(function(e){return e.filter(function(e){return t.includes("@"+e.userId.name)})})}},sendMessage:nr,handleKeyDown:function(e,t){"Enter"!==t.key||t.shiftKey||(t.preventDefault(),nr(e))},minimizedContact:E,setMinimizedContact:w,activeTab:R,setActiveTab:j,handleSwitchTab:function(e){j(e),Tt("All"),"contact"===e?function(){try{var e=q(function(){return J(function(){return Promise.resolve(Y.get("chatUser/contactList")).then(function(e){console.log("fetchContacts",e.data),"success"===e.data.status&&(X(e.data.userData),te(e.data.userData))})},function(e){console.log("fetchContacts",e)})},function(e,t){if(e)throw t;return t});return Promise.resolve(e&&e.then?e.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}():Yt()},fetchChatUserList:Yt,userList:V,contactList:Q,maxChat:L,setMaxChat:H,messages:ce,setMessages:ue,chats:pe,setChats:he,messageAlert:Ne,setMessageAlert:ke,setToUser:ye,fetchGroupChatHistory:Qt,handleAttachmentClick:function(e){ye(e),Ve.current.click()},fileInputRef:Ve,handleFileSelect:function(e){e.target.files.length>0&&(Fe(e.target.files[0]),Ge(!0))},showPreviewDialog:Oe,isImageFile:function(e){return e&&e.type.startsWith("image/")},handleCancelFileUpload:zt,formatFileSize:function(e){return e<1024?e+" B":e<1048576?(e/1024).toFixed(1)+" KB":(e/1048576).toFixed(1)+" MB"},fileToUpload:Be,fetchUploadFileApi:function(){try{Vt(!0);var e=q(function(){return J(function(){var e=[],t=[Be].map(function(t){try{return Promise.resolve(Y.post("chatFile/filepresignedUpload",{fileName:t.name,fileType:t.type})).then(function(r){var n=r.data,a=n.fileUrl;return Promise.resolve(fetch(n.presignedUrl,{method:"PUT",headers:{"Content-Type":"application/octet-stream"},body:t})).then(function(r){200===r.status?e.push(a):console.error("Failed upload:",t.name,r.status)})})}catch(e){return Promise.reject(e)}});return Promise.resolve(Promise.all(t)).then(function(){qe(e[0]),k(function(e){var t;return G({},e,((t={})[xe]=Be.name,t))})})},function(e){console.log("Upload failed:",e)})},function(e,t){if(Vt(!1),e)throw t;return t});return Promise.resolve(e&&e.then?e.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},isDragging:$e,handleDragOver:Lt,handleDragEnter:Bt,handleDragLeave:Ft,handleDrop:Ht,dropAreaRef:Ye,textareaRef:A,messageWorkchatAlert:Me,setMessageWorkchatAlert:De,messageWorkchatUserAlert:Ue,setMessageWorkchatUserAlert:Pe},o.fetchChatUserList=Yt,o.handleSendGroupMessage=ar,o.searchContactVal=M,o.handleContactSearch=function(e){var t=e.target.value.trim();D(t);var r=t?ee.filter(function(e){return e.name.toLowerCase().includes(t.toLowerCase())}):ee;X(r)},o.searchVal=U,o.handleSearchUser=function(e){P(e.target.value);var t=e.target.value.trim(),r=t?ne.filter(function(e){return e.name.toLowerCase().includes(t.toLowerCase())}):ne;K(r)},o.replyMessageData=it,o.setReplyMessageData=ct,o.handleReplyMessage=function(e){ct(e)},o.showModal=vt,o.modalRef=pt,o.setShowModal=xt,o.groupInputRef=gt,o.filteredMentionGroupMembers=It,o.handleMentionUserSelect=function(e){var t=N[xe]||"",r=t.lastIndexOf("@");if(-1!==r){var n=t.substring(0,r),a=t.substring(r+1),l="@"+e.userId.name+" ",o=a.split(" ").slice(1).join(" "),s=""+n+l+(o?" "+o:"");k(function(e){var t;return G({},e,((t={})[xe]=s,t))}),kt(function(t){return t.some(function(t){return t.userId._id===e.userId._id})?t:[].concat(t,[e])}),xt(!1),requestAnimationFrame(function(){var e;null==(e=gt.current)||e.focus(),tr(xe)})}},o.autoResizeTextarea=tr,o.messagesContainerRef=ut,o.scrollToMessage=function(e){var t=document.getElementById("message-"+e);console.log("messageElement",t),t&&ut.current&&(t.scrollIntoView({behavior:"smooth",block:"center"}),ft(e),setTimeout(function(){ft("")},2e3))},o.setHighlightReply=ft,o.highlightReply=mt,o.handleDeleteMessage=function(e){try{var t={id:e._id};console.log("handleDelete",me),Ee.emit("deleteMessage",t),ue(function(t){return t.map(function(t){return t._id===e._id?G({},t,{isDeleted:!0}):t})});var r=V.map(function(t){return t.messageId===e._id?G({},t,{isDeleted:!0}):t});console.log("newData",r),je.current=r,K(r)}catch(e){console.log("handleDelete",e)}},o.handleDeleteGroupMessage=function(e){try{var t={id:null==e?void 0:e._id,groupId:null==e?void 0:e.groupId};console.log("handleDelete",t,ce[0]),Ee.emit("deleteGroupMessage",t),ue(function(t){return t.map(function(t){return t._id===e._id?G({},t,{isDeleted:!0}):t})})}catch(e){console.log("handleDelete",e)}},o.activeChatOptions=Dt,o.setActiveChatOptions=Tt,o.handleChatFilter=function(e){Tt(e),Yt(e),nt(""),P(""),er(p)},o.handleBotSend=function(e){try{var t;if(null==(t=N[e])||!t.trim())return Promise.resolve();var r=function(){if(""===me)return Promise.resolve(function(e){try{var t=J(function(){return Promise.resolve(Y.post("bot/initiateBot",{botId:e._id})).then(function(e){console.log("fetchInitalFirstBotMessage",e.data),"success"===e.data.status&&(fe(e.data.chatUserId),nt(e.data),Xt({_id:e.data.chatUserId}))})},function(e){console.log("d",e)});return Promise.resolve(t&&t.then?t.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}(rt)).then(function(){});!function(e,t){try{var r=q(function(){return J(function(){return Promise.resolve(Y.post("bot/mcpMessage",{botId:e,message:N[t]})).then(function(t){console.log("handleSocketBotData",t.data),"success"===t.data.status&&(ue(function(e){return[t.data.messageInfo].concat(e)}),K(function(r){return r.map(function(r){return r.chatUserId===e?G({},r,{messageContent:t.data.messageInfo.messageContent}):r})})),k(function(e){var t;return G({},e,((t={})[null==rt?void 0:rt._id]="",t))})})},function(e){console.log("handleSocketBotData",e)})},function(e,t){if(k(function(e){var t;return G({},e,((t={})[null==rt?void 0:rt._id]="",t))}),e)throw t;return t});return Promise.resolve(r&&r.then?r.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}(me,e)}();return Promise.resolve(r&&r.then?r.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},o.setOpenChatUserId=h,o.isDisableMcpInput=Pt,o.chatPageLimit=_t,o.setChatPageLimit=Rt,o.activeGroupChat=Ze,o.fetchChatHistory=$t,o.activeUserChat=lt,o.hasMoreMessagesRef=qt,o.activeBotChat=rt,o.fetchBotChatHistory=Xt,o.handleSocketUpdateGroupPoll=function(e,t){Ee.emit("votePoll",{messageId:e,optionIndex:t}),console.log("handlePollVote123 ",e,t)},o.handleAkcBroadcast=function(e){try{jt(!0);var t=J(function(){return Promise.resolve(Y.get("broadcast/ackMessage/"+e)).then(function(t){"success"===t.data.status&&(setTimeout(function(){return jt(!1)},300),ue(function(t){return t.map(function(t){return t._id===e?G({},t,{isBroadCastAcknowledge:!0}):t})}))})},function(e){console.log("handleDelete",e)});return Promise.resolve(t&&t.then?t.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},o.isUploadFileLoading=Gt,o/*#__PURE__*/);return e.createElement(W.Provider,{value:sr},s)},$=/*#__PURE__*/l(),Q=function(t){/*#__PURE__*/return e.createElement($.Provider,{value:{handleCognitoVerification:function(e,t){try{var r={cognitoUserId:e,email:t},n=function(e,t){try{var n=Promise.resolve(V.post("https://chatapi.nte.ai/v3/user/verifyCognito",r)).then(function(e){"success"===e.data.status?(localStorage.setItem("authToken",e.data.token),localStorage.setItem("authUser",e.data._id)):console.error("Something went worng")})}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}(0,function(e){console.error("Cognito Verification Error:",e)});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}}},t.children)},X=function(n){var a,l,o=n.src,s=r(null),i=t(!1),c=i[0],m=i[1],f=t(0),g=f[0],p=f[1],h=t(0),v=h[0],x=h[1];/*#__PURE__*/return e.createElement("div",{className:"flex flex-col bg-gray-100 rounded-xl overflow-hidden w-full max-w-sm shadow"},/*#__PURE__*/e.createElement("video",{ref:s,src:o,onTimeUpdate:function(){var e=s.current;p(e.currentTime/e.duration*100)},onLoadedMetadata:function(){x(s.current.duration)},onEnded:function(){return m(!1)},className:"w-full max-h-60",controls:!1}),/*#__PURE__*/e.createElement("div",{className:"flex items-center gap-2 px-3 py-2"},/*#__PURE__*/e.createElement("button",{onClick:function(){var e=s.current;e.paused?(e.play(),m(!0)):(e.pause(),m(!1))}},/*#__PURE__*/e.createElement(c?u:d,{size:20,style:{color:"red"}})),/*#__PURE__*/e.createElement("input",{type:"range",value:g,onChange:function(e){var t=parseFloat(e.target.value);s.current.currentTime=t/100*s.current.duration,p(t)},className:"w-full accent-blue-500 h-1"}),/*#__PURE__*/e.createElement("span",{className:"text-xs text-gray-600 w-12 text-right"},(a=v,Math.floor(a/60)+":"+((l=Math.floor(a%60))<10?"0":"")+l))))},Z=function(n){var a,l,o=n.src,s=r(null),i=t(!1),c=i[0],m=i[1],f=t(0),g=f[0],p=f[1],h=t(0),v=h[0],x=h[1];/*#__PURE__*/return e.createElement("div",{className:"flex items-center gap-2 bg-gray-100 rounded-full px-3 py-2 w-full max-w-xs"},/*#__PURE__*/e.createElement("button",{onClick:function(){var e=s.current;e.paused?(e.play(),m(!0)):(e.pause(),m(!1))}},/*#__PURE__*/e.createElement(c?u:d,{size:20,className:"text-primary"})),/*#__PURE__*/e.createElement("input",{type:"range",value:g,onChange:function(e){var t=s.current,r=parseFloat(e.target.value);t.currentTime=r/100*t.duration,p(r)},className:"w-full accent-blue-500 h-1"}),/*#__PURE__*/e.createElement("span",{className:"text-xs text-gray-600 w-10 text-right"},(a=v,Math.floor(a/60)+":"+((l=Math.floor(a%60))<10?"0":"")+l)),/*#__PURE__*/e.createElement("audio",{ref:s,src:o,onTimeUpdate:function(){var e=s.current;p(e.currentTime/e.duration*100)},onLoadedMetadata:function(){x(s.current.duration)},onEnded:function(){return m(!1)}}))},ee=function(t){var r=t.text,n=[],a=0;return(r||"").replace(/(^|\s)(@\w+)\b/g,function(t,l,o,s){s>a&&n.push(/*#__PURE__*/e.createElement("span",{key:"text-"+a},r.substring(a,s))),n.push(/*#__PURE__*/e.createElement("strong",{key:"mention-"+s,style:{fontWeight:"bold"}},l+o)),a=s+t.length}),a<r.length&&n.push(/*#__PURE__*/e.createElement("span",{key:"text-"+a},r.substring(a))),/*#__PURE__*/e.createElement(s,null,n)},te=function(t){var r=t.color,n=(t.text||"").replace(/(https?:\/\/)/g," $1").trim(),a=/https?:\/\/[^\s]+/g,l=n.split(/(https?:\/\/[^\s]+)/g);/*#__PURE__*/return e.createElement(s,null,null==l?void 0:l.map(function(t,n){return a.test(t)?/*#__PURE__*/e.createElement("a",{key:"link-"+n,href:t,target:"_blank",rel:"noopener noreferrer",className:"underline italic",style:{color:r}},t):/*#__PURE__*/e.createElement("span",{key:"text-"+n},/*#__PURE__*/e.createElement(ee,{text:t}))}))},re=function(r){var n=r.code,a=t(!1),l=a[1];/*#__PURE__*/return e.createElement(s,null,/*#__PURE__*/e.createElement("div",{className:"relative p-4 bg-white rounded-md overflow-x-auto border border-gray-200 text-xs"},/*#__PURE__*/e.createElement("button",{onClick:function(){try{var e=function(e,t){try{var r=function(){function e(){l(!0),setTimeout(function(){return l(!1)},2e3)}var t=function(){if(navigator.clipboard)return Promise.resolve(navigator.clipboard.writeText(n)).then(function(){});var e=document.createElement("textarea");e.value=n,document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)}();return t&&t.then?t.then(e):e()}()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}(0,function(e){console.error("Copy failed:",e)});return Promise.resolve(e&&e.then?e.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},className:"absolute top-2 right-2 px-2 py-1 text-sm bg-gray-200 hover:bg-gray-300 rounded text-gray-700"},a[0]?"Copied!":"Copy"),/*#__PURE__*/e.createElement(H,{language:null,style:O,showLineNumbers:!0},n)))};function ne(r){var a=r.pollData,l=r.handleUpdatePoll,o=r.message,s=r.fetchResult;t(null);var c=t(!1)[0];console.log("pollData",JSON.stringify(a));var u=localStorage.getItem("authUser"),d=new Set(a.options.flatMap(function(e){return e.votes})),p=i(function(){var e=a.options.reduce(function(e,t){return e+t.votes.length},0),t=a.options.map(function(e,t){return{index:t,hasVoted:e.votes.includes(u)}}).filter(function(e){return e.hasVoted}).map(function(e){return e.index});return{totalVotes:e,userVotes:t,hasUserVoted:t.length>0}},[a.options,u]),h=n(function(e){return 0===p.totalVotes?0:Math.round(e/p.totalVotes*100)},[p.totalVotes]);/*#__PURE__*/return e.createElement("div",{className:"w-[450px] max-w-full mx-auto bg-white rounded-lg shadow-sm border border-primary"},/*#__PURE__*/e.createElement("div",{className:" text-black pt-6 px-4 pb-2 rounded-t-lg"},/*#__PURE__*/e.createElement("div",{className:"flex items-center gap-2 mb-2"},/*#__PURE__*/e.createElement(m,{className:"w-5 h-5 flex-shrink-0 text-primary"}),/*#__PURE__*/e.createElement("h3",{className:"font-medium text-sm text-primary"},"POLL"))),/*#__PURE__*/e.createElement("div",{className:" text-black pb-2 px-4 rounded-t-lg"},/*#__PURE__*/e.createElement("p",{className:"text-sm leading-relaxed"},a.question)),/*#__PURE__*/e.createElement("div",{className:"px-4 space-y-3"},a.options.map(function(t,r){var n=h(t.votes.length);Math.max.apply(Math,a.options.map(function(e){return e.votes}));var s=null==t?void 0:t.votes.includes(u);return console.log("isSelected",s,u),/*#__PURE__*/e.createElement("div",{key:t.id,onClick:function(){return l(o._id,r)},className:"relative rounded-lg border overflow-hidden transition-all duration-200 cursor-pointer "+(c?"bg-gray-50 cursor-default":"hover:bg-gray-100 active:bg-gray-100")+" "+(s?"border-[#008293] bg-slate-200":"border-gray-600 bg-slate-200")},t.votes.length>0&&/*#__PURE__*/e.createElement("div",{className:"absolute top-0 left-0 h-full "+(s?"bg-blue-300":"bg-slate-300")+" transition-all duration-300",style:{width:n+"%"}}),/*#__PURE__*/e.createElement("div",{className:"relative z-10 p-3 flex items-center justify-between"},/*#__PURE__*/e.createElement("div",{className:"flex items-center gap-3 flex-1 min-w-0"},/*#__PURE__*/e.createElement("div",{className:"w-5 h-5 rounded-full border-2 flex items-center justify-center "+(s?"border-primary bg-primary":c?"border-gray-300":"border-gray-400")},s&&/*#__PURE__*/e.createElement(f,{className:"w-3 h-3 text-white"})),/*#__PURE__*/e.createElement("p",{className:"text-xs font-medium leading-relaxed break-words truncate whitespace-normal "+(s?"text-primary":"text-gray-900")},t.text)),t.votes.length>0&&/*#__PURE__*/e.createElement("div",{className:"flex items-center gap-2 text-xs text-gray-600 flex-shrink-0"},/*#__PURE__*/e.createElement("span",{className:"font-medium text-xs"},n,"%"),/*#__PURE__*/e.createElement("span",null,"(",t.votes.length,")"))))})),/*#__PURE__*/e.createElement("div",{className:"px-4 pb-4"},/*#__PURE__*/e.createElement("div",{className:"flex items-center justify-between text-xs text-gray-500 mt-4"},/*#__PURE__*/e.createElement("div",{className:"flex items-center gap-1"},/*#__PURE__*/e.createElement("div",{className:"flex items-center gap-1"},/*#__PURE__*/e.createElement(g,{className:"w-3 h-3"}),/*#__PURE__*/e.createElement("span",null,d.size," votes.")),a.allowMultipleAnswers&&/*#__PURE__*/e.createElement("span",null,"Multiple selection")),!c&&/*#__PURE__*/e.createElement("span",{onClick:function(e){e.preventDefault(),s(o._id)},className:"text-xs text-gray-500 cursor-pointer"},"Result"))))}var ae=function(t){var r,n,a,l,o,s,i=t.data,c=null;try{c="string"==typeof i&&i.trim()?JSON.parse(i):i}catch(e){return console.error("Invalid map JSON:",i),null}if(null==(r=c)||!r.latitude||null==(n=c)||!n.longitude)return null;var u="https://maps.google.com/maps?q="+(null==(a=c)?void 0:a.latitude)+","+(null==(l=c)?void 0:l.longitude)+"&z=15&output=embed&markers=color:red%7C"+(null==(o=c)?void 0:o.latitude)+","+(null==(s=c)?void 0:s.longitude);/*#__PURE__*/return e.createElement("div",{className:"bg-white p-4 rounded-xl shadow border "},/*#__PURE__*/e.createElement("div",{className:"w-full h-40 rounded-lg overflow-hidden"},/*#__PURE__*/e.createElement("iframe",{title:"map",width:"100%",height:"100%",loading:"lazy",allowFullScreen:!0,src:u,style:{border:0},referrerPolicy:"no-referrer-when-downgrade"})))};function le(l){var o,c=l.chatMessages,u=l.highlightReply,d=l.senderContainerColor,m=l.receiverContainerColor,f=l.senderTextColor,g=l.receiverTextColor,E=l.messagesContainerRef,w=l.scrollToMessage,C=l.authUserId,N=l.checkFileType,k=l.openInNewTab,I=l.formatFile,M=l.handleReplyMessage,D=l.isProbablyCode,T=l.handleDeleteMessage,U=l.senderDateTextColor,P=l.receiverDateTextColor,A=l.color,S=l.senderLinkTextColor,_=l.receiverLinkTextColor,R=l.replyMessageData,j=l.sendButtonColor,z=l.setReplyMessageData,L=l.fetchChatHistory,B=l.activeUserChat,F=l.chatPageLimit,H=l.hasMoreMessagesRef,O=l.ctaButtonColor,G=l.ctaButtonText,V=l.handleAkcBroadcast,Y=r(),J=t(1)[0],W=t(null),q=W[0],K=W[1],$=t(!1),Q=$[0],ee=$[1],ne=r(!1),le=r(null),oe=i(function(){return Array.isArray(c)?c.flatMap(function(e){return e}).sort(function(e,t){return new Date(t.date)-new Date(e.date)}):[]},[c]);i(function(){return oe.slice(0,10*J)},[oe,J]);var se=n(function(){var e=Y.current;e&&!Q&&!ne.current&&H.current&&(null!==le.current&&(clearTimeout(le.current),le.current=null),le.current=setTimeout(function(){var t=Math.abs(e.scrollTop),r=e.scrollHeight,n=e.clientHeight,a=r-(t+n);if(console.log("Scroll Debug:",{scrollTop:t,scrollHeight:r,clientHeight:n,distanceFromBottom:a,isAtBottom:a<=50}),a<=50&&!ne.current&&H.current){console.log("📥 Fetching more messages...");var l=e.scrollHeight;ee(!0),ne.current=!0,K(l),L(B._id,F).catch(function(e){console.error("Error fetching chat history:",e)}).finally(function(){setTimeout(function(){ee(!1),ne.current=!1},300)})}le.current=null},150))},[Q,L,B,F,H]);a(function(){if(null!==q){var e=Y.current;e&&requestAnimationFrame(function(){var t=e.scrollHeight,r=t-q;e.scrollTop-=r,console.log("📍 Scroll adjusted:",{prevHeight:q,newHeight:t,difference:r}),K(null)})}},[c,q]),a(function(){ne.current&&!Q&&(ne.current=!1)},[c,Q]),a(function(){return function(){null!==le.current&&(clearTimeout(le.current),le.current=null)}},[]);var ie=n(function(t){var r,n,a;return null!=t&&t.replyMessageId?/*#__PURE__*/e.createElement("div",{className:"p-2 rounded border-l-4 cursor-pointer shadow mb-2\n "+(t.isSent?"bg-gray-600 border-teal-600":"bg-gray-100 border-teal-600"),onClick:function(e){e.stopPropagation(),w(t.replyMessageId._id)}},/*#__PURE__*/e.createElement("div",{className:"text-xs font-medium mb-1 text-black text-primary"},(null==t||null==(r=t.replyMessageId)||null==(r=r.fromUserId)?void 0:r._id)===C?"You":(null==t||null==(n=t.replyMessageId)||null==(n=n.fromUserId)?void 0:n.name)||"Unknown User"),/*#__PURE__*/e.createElement("div",{className:"text-xs text-gray-700 truncate"},(null==t||null==(a=t.replyMessageId)?void 0:a.messageContent)||"Message content unavailable")):null},[C,w]),ce=n(function(t){switch(N(t.fileType)){case"image":/*#__PURE__*/return e.createElement("div",{className:"flex justify-center items-center mb-1"},/*#__PURE__*/e.createElement("img",{src:t.link,alt:"Preview",className:"max-h-32 rounded cursor-pointer",onClick:function(){return k(t.link)},loading:"lazy"}));case"video":/*#__PURE__*/return e.createElement(X,{src:t.link,color:A});case"audio":/*#__PURE__*/return e.createElement(Z,{src:t.link,color:A});case"application":case"text":/*#__PURE__*/return e.createElement("div",{className:"flex items-center bg-gray-200 p-2 rounded cursor-pointer mb-1",onClick:function(){return k(t.link)}},/*#__PURE__*/e.createElement(p,{size:20,className:"text-black mr-2"}),/*#__PURE__*/e.createElement("p",{className:"text-sm font-medium text-black truncate"},null!=t&&t.fileName?null==t?void 0:t.fileName:/*#__PURE__*/e.createElement(s,null,"Document",I(t.link))));default:return null}},[N,k,I,A]),ue=n(function(t){return t.isDeleted?null:/*#__PURE__*/e.createElement("div",{className:"absolute top-1/2 -translate-y-1/2 z-10 flex items-center gap-2 px-2\n "+("me"===t.sender?"right-full ml-2":"left-full mr-2")+"\n opacity-0 group-hover:opacity-100 transition-opacity"},/*#__PURE__*/e.createElement(h,{onClick:function(){return M(t)},className:"text-gray-400 hover:text-primary cursor-pointer",size:18}),"me"===t.sender&&/*#__PURE__*/e.createElement(v,{onClick:function(){return T(t)},className:"text-gray-400 hover:text-primary cursor-pointer",size:18}))},[M,T]),de=n(function(t){var r="me"===t.sender;return t.isDeleted?/*#__PURE__*/e.createElement("div",{className:"p-2 text-xs italic rounded-xl shadow-md whitespace-pre-wrap break-words \n "+(r?"rounded-br-none":"rounded-bl-none"),style:{backgroundColor:r?d:m,color:r?f:g}},r?"You deleted this message":"This message was deleted"):/*#__PURE__*/e.createElement("div",{className:"p-2 rounded-xl shadow-md whitespace-pre-wrap break-words \n "+(r?"rounded-br-none":"rounded-bl-none"),style:{backgroundColor:r?d:m,color:r?f:g}},ie(t),ce(t),"L"===(null==t?void 0:t.type)&&(null==t?void 0:t.text)&&/*#__PURE__*/e.createElement(ae,{data:null==t?void 0:t.text}),!D(t.text)&&""!==t.text&&"L"!==t.type&&/*#__PURE__*/e.createElement("div",{className:"text-sm mt-1"},/*#__PURE__*/e.createElement(te,{text:(null==t?void 0:t.text)||"",color:r?S:_})),D(t.text)&&/*#__PURE__*/e.createElement(re,{code:t.text}),"me"!==t.sender&&(null==t?void 0:t.broadCastMessageId)&&/*#__PURE__*/e.createElement("button",{disabled:null==t?void 0:t.isBroadCastAcknowledge,className:"px-4 py-2 w-full justify-center mt-2 text-xs rounded-md hover:bg-primary flex items-center disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer",style:{backgroundColor:O||"#000",color:G||"#fff"},onClick:function(){return V(t._id)}},null!=t&&t.isBroadCastAcknowledge?"Acknowledged":"I Acknowledge"))},[d,m,f,g,ie,ce,D,N,S,_]);/*#__PURE__*/return e.createElement(s,null,/*#__PURE__*/e.createElement("div",{ref:Y,onScroll:se,tabIndex:-1,className:"flex-1 p-3 overflow-y-auto flex flex-col-reverse"},Q&&/*#__PURE__*/e.createElement("div",{className:"text-center py-3 text-gray-500 text-sm animate-pulse"},"Loading more messages..."),c.map(function(t,r){/*#__PURE__*/return e.createElement("div",{ref:E,key:"chat-"+r+"-"+((null==t?void 0:t.date)||r)},/*#__PURE__*/e.createElement("div",{className:"text-xs bg-primary/20 text-primary px-2 py-1 mx-auto my-4 backdrop-blur-sm border-b w-fit rounded border-gray-400"},(null==t?void 0:t.date)||"Unknown Date"),Array.isArray(null==t?void 0:t.chats)&&[].concat(t.chats).reverse().map(function(t,r){if(!t)return null;var n="me"===t.sender;/*#__PURE__*/return e.createElement("div",{id:"message-"+t._id,key:"message-"+(t._id||r),className:"mb-2 flex flex-col "+(n?"items-end":"items-start")+" "+(u===t._id?"transition-colors duration-1000 bg-yellow-100 rounded-xl":"")},/*#__PURE__*/e.createElement("div",{className:"relative group max-w-[75%]"},de(t),ue(t)),/*#__PURE__*/e.createElement("div",{className:"text-xs mt-1 flex gap-1 items-center "+(n?"justify-end text-gray-600":"justify-start text-gray-800"),style:{color:n?U:P}},n&&t.isStared&&/*#__PURE__*/e.createElement("span",null,/*#__PURE__*/e.createElement(x,{fill:"#eab308",className:"text-yellow-500",size:10})),/*#__PURE__*/e.createElement("span",null,t.time||"Unknown time"),n&&/*#__PURE__*/e.createElement(y,{size:16,className:t.isRead?"text-blue-500":"text-gray-400"}),!n&&t.isStared&&/*#__PURE__*/e.createElement("span",null,/*#__PURE__*/e.createElement(x,{fill:"#eab308",className:"text-yellow-500",size:10}))))}))})),R&&/*#__PURE__*/e.createElement("div",{className:"px-4 py-2 bg-gray-100 border-b border-gray-200 flex items-start sm:items-center"},/*#__PURE__*/e.createElement("div",{className:"w-1 h-12 rounded-full mr-3 flex-shrink-0",style:{backgroundColor:j||"#000"}}),/*#__PURE__*/e.createElement("div",{className:"flex-1 min-w-0"},/*#__PURE__*/e.createElement("div",{className:"flex items-center justify-between gap-2"},/*#__PURE__*/e.createElement("span",{className:"text-xs font-medium text-gray-600 whitespace-nowrap"},"Replying to"," ","reciver"===R.sender?null==R||null==(o=R.user)?void 0:o.name:"You"),/*#__PURE__*/e.createElement("button",{onClick:function(){return z("")},className:"text-gray-400 hover:text-gray-600 transition-colors flex-shrink-0"},/*#__PURE__*/e.createElement(b,{className:"w-4 h-4"}))),/*#__PURE__*/e.createElement("p",{className:"text-sm text-gray-800 mt-1 w-full line-clamp-2"},(null==R?void 0:R.text)||"No message content"))))}var oe=/*#__PURE__*/c(le);function se(r){var a=r.pollData,l=r.handleUpdatePoll,o=r.message,s=r.fetchResult;t(null);var c=t(!1)[0];console.log("pollData",JSON.stringify(a));var u=localStorage.getItem("authUser"),d=new Set(a.options.flatMap(function(e){return e.votes})),p=i(function(){var e=a.options.reduce(function(e,t){return e+t.votes.length},0),t=a.options.map(function(e,t){return{index:t,hasVoted:e.votes.includes(u)}}).filter(function(e){return e.hasVoted}).map(function(e){return e.index});return{totalVotes:e,userVotes:t,hasUserVoted:t.length>0}},[a.options,u]),h=n(function(e){return 0===p.totalVotes?0:Math.round(e/p.totalVotes*100)},[p.totalVotes]);/*#__PURE__*/return e.createElement("div",{className:"w-[450px] max-w-full mx-auto bg-white rounded-lg shadow-sm border border-primary"},/*#__PURE__*/e.createElement("div",{className:" text-black pt-6 px-4 pb-2 rounded-t-lg"},/*#__PURE__*/e.createElement("div",{className:"flex items-center gap-2 mb-2"},/*#__PURE__*/e.createElement(m,{className:"w-5 h-5 flex-shrink-0 text-primary"}),/*#__PURE__*/e.createElement("h3",{className:"font-medium text-sm text-primary"},"POLL"))),/*#__PURE__*/e.createElement("div",{className:" text-black pb-2 px-4 rounded-t-lg"},/*#__PURE__*/e.createElement("p",{className:"text-sm leading-relaxed"},a.question)),/*#__PURE__*/e.createElement("div",{className:"px-4 space-y-3"},a.options.map(function(t,r){var n=h(t.votes.length);Math.max.apply(Math,a.options.map(function(e){return e.votes}));var s=null==t?void 0:t.votes.includes(u);return console.log("isSelected",s,u),/*#__PURE__*/e.createElement("div",{key:t.id,onClick:function(){return l(o._id,r)},className:"relative rounded-lg border overflow-hidden transition-all duration-200 cursor-pointer "+(c?"bg-gray-50 cursor-default":"hover:bg-gray-100 active:bg-gray-100")+" "+(s?"border-[#008293] bg-slate-200":"border-gray-600 bg-slate-200")},t.votes.length>0&&/*#__PURE__*/e.createElement("div",{className:"absolute top-0 left-0 h-full "+(s?"bg-blue-300":"bg-slate-300")+" transition-all duration-300",style:{width:n+"%"}}),/*#__PURE__*/e.createElement("div",{className:"relative z-10 p-3 flex items-center justify-between"},/*#__PURE__*/e.createElement("div",{className:"flex items-center gap-3 flex-1 min-w-0"},/*#__PURE__*/e.createElement("div",{className:"w-5 h-5 rounded-full border-2 flex items-center justify-center "+(s?"border-primary bg-primary":c?"border-gray-300":"border-gray-400")},s&&/*#__PURE__*/e.createElement(f,{className:"w-3 h-3 text-white"})),/*#__PURE__*/e.createElement("p",{className:"text-xs font-medium leading-relaxed break-words truncate whitespace-normal "+(s?"text-primary":"text-gray-900")},t.text)),t.votes.length>0&&/*#__PURE__*/e.createElement("div",{className:"flex items-center gap-2 text-xs text-gray-600 flex-shrink-0"},/*#__PURE__*/e.createElement("span",{className:"font-medium text-xs"},n,"%"),/*#__PURE__*/e.createElement("span",null,"(",t.votes.length,")"))))})),/*#__PURE__*/e.createElement("div",{className:"px-4 pb-4"},/*#__PURE__*/e.createElement("div",{className:"flex items-center justify-between text-xs text-gray-500 mt-4"},/*#__PURE__*/e.createElement("div",{className:"flex items-center gap-1"},/*#__PURE__*/e.createElement("div",{className:"flex items-center gap-1"},/*#__PURE__*/e.createElement(g,{className:"w-3 h-3"}),/*#__PURE__*/e.createElement("span",null,d.size," votes.")),a.allowMultipleAnswers&&/*#__PURE__*/e.createElement("span",null,"Multiple selection")),!c&&/*#__PURE__*/e.createElement("span",{onClick:function(e){e.preventDefault(),s(o._id)},className:"text-xs text-gray-500 cursor-pointer"},"Result"))))}function ie(l){var o=l.chatMessages,c=l.messagesContainerRef,u=l.highlightReply,d=l.user,m=l.senderContainerColor,f=l.receiverContainerColor,g=l.senderTextColor,y=l.receiverTextColor,b=l.authUserId,E=l.checkFileType,w=l.formatFile,C=l.openInNewTab,N=l.isProbablyCode,k=l.handleReplyMessage,I=l.handleDeleteGroupMessage,M=l.senderDateTextColor,D=l.receiverDateTextColor,T=l.headerTextColor,U=l.getColorByName,P=l.scrollToMessage,A=l.color,S=l.senderLinkTextColor,_=l.receiverLinkTextColor,R=l.fetchGroupChatHistory,j=l.activeGroupChat,z=l.chatPageLimit,L=l.hasMoreMessagesRef,B=l.handleSocketUpdateGroupPoll,F=r(),H=t(1)[0],O=t(null),G=O[0],V=O[1],Y=t(!1),J=Y[0],W=Y[1],q=r(!1),K=r(null),$=i(function(){return Array.isArray(o)?o.flatMap(function(e){return Array.isArray(null==e?void 0:e.chats),e}).sort(function(e,t){return new Date(t.date)-new Date(e.date)}):[]},[o]);i(function(){return $.slice(0,10*H)},[$,H]);var Q=n(function(){var e=F.current;e&&!J&&!q.current&&L.current&&(null!==K.current&&(clearTimeout(K.current),K.current=null),K.current=setTimeout(function(){var t=Math.abs(e.scrollTop),r=e.scrollHeight,n=e.clientHeight,a=r-(t+n);if(console.log("Scroll Debug:",{scrollTop:t,scrollHeight:r,clientHeight:n,distanceFromBottom:a,isAtBottom:a<=50}),a<=50&&!q.current&&L.current){console.log("📥 Fetching more messages...");var l=e.scrollHeight;W(!0),q.current=!0,V(l),R(j,z).catch(function(e){console.error("Error fetching chat history:",e)}).finally(function(){setTimeout(function(){W(!1),q.current=!1},300)})}K.current=null},150))},[J,R,j,z,L]);a(function(){if(null!==G){var e=F.current;e&&requestAnimationFrame(function(){var t=e.scrollHeight,r=t-G;e.scrollTop-=r,console.log("📍 Scroll adjusted:",{prevHeight:G,newHeight:t,difference:r}),V(null)})}},[o,G]),a(function(){q.current&&!J&&(q.current=!1)},[o,J]),a(function(){return function(){null!==K.current&&(clearTimeout(K.current),K.current=null)}},[]);var ee=n(function(t){var r,n;return t?t.profileImage?/*#__PURE__*/e.createElement("img",{src:t.profileImage,alt:(null==(r=t.name)?void 0:r.charAt(0))||"U",className:"w-6 h-6 rounded-full mr-1 self-end mb-5 border",loading:"lazy"}):/*#__PURE__*/e.createElement("span",{className:"w-6 h-6 rounded-full mr-1 flex items-center mb-5 justify-center self-end border text-xs text-black bg-gray-200"},(null==(n=t.name)?void 0:n.charAt(0))||"U"):null},[]),ne=n(function(t){switch(E(t.fileType)){case"image":/*#__PURE__*/return e.createElement("div",{className:"flex justify-center items-center mb-1"},/*#__PURE__*/e.createElement("img",{onClick:function(){return C(t.link)},src:t.link,alt:"Preview",className:"max-h-28 rounded cursor-pointer",loading:"lazy"}));case"video":/*#__PURE__*/return e.createElement(X,{src:t.link,color:A});case"audio":/*#__PURE__*/return e.createElement(Z,{src:t.link,color:A});case"application":/*#__PURE__*/return e.createElement("div",{className:"flex items-center bg-gray-100 p-2 rounded cursor-pointer mb-1",onClick:function(){return C(t.link)}},/*#__PURE__*/e.createElement(p,{size:20,className:"text-black mr-2"}),/*#__PURE__*/e.createElement("p",{className:"text-sm text-black"},"Document",w(t.link)));default:return null}},[E,C,w,A]),le=n(function(t){var r,n,a;return null!=t&&t.replyMessageId?/*#__PURE__*/e.createElement("div",{className:"p-2 rounded border-l-4 cursor-pointer "+(t.isSent?"bg-gray-600 border-teal-600":"bg-gray-100 border-teal-600"),onClick:function(e){e.stopPropagation(),P(t.replyMessageId._id)}},/*#__PURE__*/e.createElement("div",{className:"text-xs font-medium mb-1 text-black"},(null==t||null==(r=t.replyMessageId)||null==(r=r.userId)?void 0:r._id)===b?"You":(null==t||null==(n=t.replyMessageId)||null==(n=n.userId)?void 0:n.name)||"Unknown User"),/*#__PURE__*/e.createElement("div",{className:"text-xs text-gray-700 truncate"},(null==t||null==(a=t.replyMessageId)?void 0:a.messageContent)||"Message content unavailable")):null},[b,P]),oe=n(function(t){return t.isDeleted?null:/*#__PURE__*/e.createElement("div",{cla