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