amworkchat
Version:
Customizable React chat component for workplace communication
1 lines • 61.5 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 c=/*#__PURE__*/s(e),i=/*#__PURE__*/s(a),u=/*#__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=i.default,f=i.default.create({baseURL:"https://chatapi.nte.ai/v3",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],i=e.useState({}),m=i[0],v=i[1];e.useState({});var y=e.useState([]),x=y[0],b=y[1],E=e.useState(!0),w=E[0],N=E[1],C=e.useState({}),k=C[0],I=C[1],S=e.useState(""),D=S[0],U=S[1],M=e.useState(""),T=M[0],R=M[1],A=e.useRef({}),P=e.useRef({}),_=e.useState("chat"),j=_[0],z=_[1],L=e.useState(3),F=L[0],O=L[1],B=e.useState([]),W=B[0],G=B[1],Y=e.useState([]),H=Y[0],q=Y[1],J=e.useState([]),V=J[0],K=J[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];e.useState("");var le=e.useState("")[0],oe=e.useState({}),se=oe[0],ce=oe[1],ie=e.useState(""),ue=ie[0],de=ie[1],me=e.useState(null),fe=me[0],ge=me[1],pe=e.useState(!1),he=pe[0],ve=pe[1],ye=e.useState(!1),xe=ye[0],be=ye[1],Ee=e.useState(!1),we=Ee[0],Ne=Ee[1],Ce=e.useState(!1),ke=Ce[0],Ie=Ce[1],Se=e.useRef(o),De=e.useRef(W),Ue=e.useRef(he),Me=e.useState(null),Te=Me[0],Re=Me[1],Ae=e.useState(!1),Pe=Ae[0],_e=Ae[1],je=e.useRef(null),ze=e.useRef(null),Le=e.useState(""),Fe=Le[0],Oe=Le[1],Be=e.useState(!1),We=Be[0],Ge=Be[1],Ye=e.useState(""),He=Ye[0],qe=Ye[1],Je=e.useState(""),Ve=Je[0],Ke=Je[1],Xe=e.useState(""),$e=Xe[0],Qe=Xe[1],Ze=e.useState(""),et=Ze[0],tt=Ze[1],at=e.useRef(null),rt=e.useState(""),nt=rt[0],lt=rt[1],ot=e.useRef(null),st=e.useRef(null),ct=e.useState(!1),it=ct[0],ut=ct[1],dt=e.useState({top:0,left:0,width:0})[1],mt=e.useState(""),ft=mt[0],gt=mt[1],pt=e.useState([]),ht=pt[0],vt=pt[1],yt=ee.filter(function(e){return e.userId.name.toLowerCase().includes(ft.toLowerCase())}),xt=function(){Re(null),_e(!1),je.current.value="",I(function(e){var t;return d({},e,((t={})[ue]="",t))})},bt=e.useCallback(function(e){e.preventDefault(),e.stopPropagation(),Ge(!0)},[]),Et=e.useCallback(function(e){e.preventDefault(),e.stopPropagation(),Ge(!0)},[]),wt=e.useCallback(function(e){e.preventDefault(),e.stopPropagation(),Ge(!1)},[]),Nt=e.useCallback(function(e){e.preventDefault(),e.stopPropagation(),Ge(!1),e.dataTransfer.files&&e.dataTransfer.files.length>0&&(Re(e.dataTransfer.files[0]),_e(!0))},[]);e.useEffect(function(){Se.current=o},[o]),e.useEffect(function(){De.current=W,W.length>0&&localStorage.setItem("userListStore",JSON.stringify(W))},[W]),e.useEffect(function(){Ue.current=he},[he]);var Ct=function(){try{var e=h(function(){return g(function(){return Promise.resolve(f.get("chatUser/userList")).then(function(e){"success"===e.data.status&&(G(e.data.response),Q(e.data.response))})},function(e){console.error("fetchChatUserList error:",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)}};function kt(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(""!==ue){o.includes(ue);var t=o.find(function(e){return e===ue})||ue,a=re.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"===$e.type?{_id:t._id,sender:o?"me":"reciver",text:t.messageContent,isRead:t.isRead,user:s,time:u.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||""}:"bot"===Ve.type?{_id:t._id,sender:o?"me":"reciver",text:t.messageContent,time:u.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}:{_id:t._id,sender:o?"me":"reciver",text:t.messageContent,isRead:t.isRead,user:t.userId,time:u.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||""}});console.log("modifychat",a);var r={};a.forEach(function(e){var t=u.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 u.default(t).diff(u.default(e))}).map(function(e){var t=u.default(e);return{date:t.isSame(u.default(),"day")?"Today":t.isSame(u.default().subtract(1,"day"),"day")?"Yesterday":t.format("DD MMM YYYY"),chats:r[e],chatUserId:m[ue]}});if(o.length>=F){if(!o.includes(t)){var l=[].concat(o);l.shift(),l.push(t),s(l)}ce(function(e){var a;return d({},e,((a={})[t]=n,a))})}else s(function(e){return e.includes(t)?e:[].concat(e,[t])}),ce(function(e){var a;return d({},e,((a={})[t]=n,a))});setTimeout(function(){var e=document.getElementById("chat-input-"+t);e&&e.focus()},100)}},[re,Ve,$e]),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),Se.current.includes(e.fromUserId._id)||be(!0),Array.isArray(De.current)){var t=kt([].concat(De.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:Se.current.includes(e.fromUserId._id)?0:t.unReadCount<0?1:t.unReadCount+1}):t});De.current=t,G(t)}else console.error("userChatRef.current is not an array:",De.current);ve(!1),Se.current.includes(e.fromUserId._id)&&(Ue.current=!0,ve(!0),ne(function(t){return[e].concat(t)}),a.emit("readMessage",{user_id:e.fromUserId._id}))}),a.on("redMessage",function(e){ne(function(t){return t.map(function(t){return Se.current.includes(e)?d({},t,{isRead:!0}):t})})}),a.on("ownMessage",function(e){if(console.log("ownMessage",e),Array.isArray(De.current)){var t=kt([].concat(De.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});De.current=t,G(t)}else console.error("userChatRef.current is not an array:",De.current);Se.current.includes(e.toUserId._id)&&ne(function(t){return[e].concat(t)})}),a.on("deletedMessage",function(e){console.log("deletedMessage response:",e,e.fromUserId,Se.current._id),G(function(t){return t.map(function(t){return t.chatUserId===e.chatUserId&&e._id===t.messageId?d({},t,{isDeleted:!0}):t})}),Se.current.includes(e.fromUserId)&&ne(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(De.current)){var t=kt([].concat(De.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});De.current=t,G(t)}else console.error("newDatanewDatanewData.current is not an array:",De.current);Se.current.includes(e.groupId)&&ne(function(t){return[e].concat(t)})}),a.on("deleteGroupMessage",function(e){if(console.log("deleteGroupMessage",e),ne(function(t){return t.map(function(t){return t._id===e.messageId?d({},t,{isDeleted:!0}):t})}),Array.isArray(De.current)){var t=kt([].concat(De.current),e.groupId,0).map(function(t){return t.chatUserId==e.groupId&&t.messageId===e.messageId?d({},t,{createdAt:new Date,isDeleted:!0}):t});De.current=t,G(t)}else console.error("newDatanewDatanewData.current is not an array:",De.current)}),a.on("deleteGroupMessage",function(e){if(console.log("deleteGroupMessage",e),ne(function(t){return t.map(function(t){return t._id===e.messageId?d({},t,{isDeleted:!0}):t})}),Array.isArray(De.current)){var t=kt([].concat(De.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),De.current=a,G(a)}else console.error("newDatanewDatanewData.current is not an array:",De.current)}),a.on("botMessage",function(e){if(console.log("botMessage response:",e),Array.isArray(De.current)){var t=kt([].concat(De.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),De.current=a,G(a)}else console.error("newDatanewDatanewData.current is not an array:",De.current);Se.current.includes(e.toUser)&&ne(function(t){return[e].concat(t)})}),a.on("initiateBot",function(e){if(console.log("botMessageinitiateBot response:",e),Array.isArray(De.current)){var t=kt([].concat(De.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),De.current=a,G(a)}else console.error("newDatanewDatanewData.current is not an array:",De.current)}),ge(a),function(){a&&a.disconnect()}}},[]),e.useEffect(function(){var e=JSON.parse(localStorage.getItem("userListStore")||"[]");0==W.length&&ke&&(G(e),setTimeout(function(){Ie(!1)},200))},[ke]),e.useEffect(function(){"undefined"!=typeof window&&(localStorage.setItem("activeChats",JSON.stringify(o)),localStorage.setItem("minimizedChats",JSON.stringify(x)),localStorage.setItem("newMessage",JSON.stringify(se)))},[o,x,se]),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&&b(JSON.parse(t)),a&&I(JSON.parse(a))}},[]);var It=function(e){var t=A.current[e];t&&(t.style.height="auto",t.style.height=t.scrollHeight+"px")},St=function(){if(ot.current){var e=ot.current.getBoundingClientRect();dt({top:e.top-250,left:e.left,width:e.width}),ut(!0)}},Dt=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))}),Mt(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(){});Mt(e,a[0],t)}();return Promise.resolve(r&&r.then?r.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},Ut=function(e,t){try{return Tt(e,t),Promise.resolve()}catch(e){return Promise.reject(e)}},Mt=function(e,t,a){var r;if(localStorage.getItem("authUser"),null!=(r=k[e])&&r.trim()){fe.emit("sendMessage",{user_id:e,messageType:Te?"F":"M",message:k[e],chatUserId:t,fileType:Te?Te.type:"",fileUrl:a||"",replyMessageId:et._id||""}),I(function(t){var a;return d({},t,((a={})[e]="",a))}),Oe(""),xt(),tt("");var n=A.current[e];n&&(n.style.height="auto")}},Tt=function(e,t){try{var a;if(null!=(a=k[e])&&a.trim()){var r={groupId:null==He?void 0:He.chatUserId,messageType:Te?"F":"M",message:k[e],fileType:Te?Te.type:"",fileUrl:t||"",replyMessageId:et._id||"",mentionedUsers:ht.map(function(e){var t;return null==e||null==(t=e.userId)?void 0:t._id})};fe.emit("sendGroupMessage",r),I(function(e){var t;return d({},e,((t={})[null==He?void 0:He.chatUserId]="",t))}),Oe(""),tt(""),xt(),vt([])}return Promise.resolve()}catch(e){return Promise.reject(e)}};e.useEffect(function(){o.forEach(function(e){P.current[e]&&!x.includes(e)&&P.current[e].scrollIntoView({behavior:"smooth"})})},[o,x,re]),e.useEffect(function(){""!==Fe&&("group"===He.type?Ut(ue,Fe):Dt(ue,Fe))},[Fe]);var Rt=((a={activeChats:o,minimizedChats:x,newMessage:k,messageEndRef:P,handleUserClick:function(e){de(null==e?void 0:e._id),ut(!1),vt([]),"group"===(null==e?void 0:e.type)?(Qe(""),function(e){try{var t=g(function(){return Promise.resolve(f.get("/group/history/"+e.chatUserId)).then(function(t){"success"===t.data.status&&(v(e.chatUserId),ne(t.data.chatHistory))})},function(e){console.log("fetchGroupChatHistory",e)});return Promise.resolve(t&&t.then?t.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}(e),qe(e),function(e){try{var t=g(function(){return Promise.resolve(f.get("/group/groupInfo/"+e)).then(function(e){console.log("fetchChatGroupInfo",e.data),te("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)?(function(e){try{var t=g(function(){return Promise.resolve(f.get("/bot/chatHistory/"+e.chatUserId)).then(function(e){console.log("fetchBotChatHistory",e.data),"success"===e.data.status&&ne(e.data.chatList)})},function(e){console.log("fetchBotChatHistory",e)});return Promise.resolve(t&&t.then?t.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}(e),Ke(e)):(qe(""),function(e){try{var t=g(function(){return Promise.resolve(f.post("chatUser/chatHistory",{toUser:e})).then(function(t){console.log("fetchChatHistory",t.data),"success"===t.data.status&&(ne(t.data.chatHistory),""!=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))}))})},function(e){console.log("fetchChatHistory",e)});return Promise.resolve(t&&t.then?t.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}(null==e?void 0:e._id),Qe(e)),fe.emit("readMessage",{user_id:null==e?void 0:e._id});var t=De.current.map(function(t){return t._id==(null==e?void 0:e._id)?d({},t,{msg:"Read",unReadCount:0}):t}),a=JSON.stringify(W)===JSON.stringify(t);De.current=t,a||G(t)},toggleMinimize:function(e){b(function(t){return t.includes(e)?t.filter(function(t){return t!==e}):[].concat(t,[e])})},closeChat:function(e){s(function(t){return t.filter(function(t){return t!==e})}),b(function(t){return t.filter(function(t){return t!==e})})},handleMessageChange:function(e,t){if(de(e),I(function(a){var r;return d({},a,((r={})[e]=t,r))}),"group"===He.type){var a=t.lastIndexOf("@");if(console.log("valueatIndex",t,a),-1!==a){var r=t.substring(a+1);""===r?(gt(""),St()):r.includes(" ")?ut(!1):(gt(r),it||St())}else ut(!1);vt(function(e){return e.filter(function(e){return t.includes("@"+e.userId.name)})})}},sendMessage:Dt,handleKeyDown:function(e,t){"Enter"!==t.key||t.shiftKey||(t.preventDefault(),Dt(e))},minimizedContact:w,setMinimizedContact:N,activeTab:j,setActiveTab:z,handleSwitchTab:function(e){z(e),"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&&(q(e.data.userData),K(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)}}():Ct()},fetchChatUserList:Ct,userList:W,contactList:H,maxChat:F,setMaxChat:O,messages:re,setMessages:ne,chats:se,setChats:ce,messageAlert:he,setMessageAlert:ve,setToUser:de,handleAttachmentClick:function(e){de(e),je.current.click()},fileInputRef:je,handleFileSelect:function(e){e.target.files.length>0&&(Re(e.target.files[0]),_e(!0))},showPreviewDialog:Pe,isImageFile:function(e){return e&&e.type.startsWith("image/")},handleCancelFileUpload:xt,formatFileSize:function(e){return e<1024?e+" B":e<1048576?(e/1024).toFixed(1)+" KB":(e/1048576).toFixed(1)+" MB"},fileToUpload:Te,fetchUploadFileApi:function(e){try{var t=g(function(){var e=new FormData;return e.append("files",Te),Promise.resolve(f.post("chatFile/fileUpload",e,{headers:{"Content-Type":"multipart/form-data"}})).then(function(e){"success"===e.data.status&&(console.log("fetchUploadFileApi",e.data),Oe(e.data.url),I(function(e){var t;return d({},e,((t={})[ue]=Te.name,t))}))})},function(){});return Promise.resolve(t&&t.then?t.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},isDragging:We,handleDragOver:bt,handleDragEnter:Et,handleDragLeave:wt,handleDrop:Nt,dropAreaRef:ze,textareaRef:A,messageWorkchatAlert:xe,setMessageWorkchatAlert:be,messageWorkchatUserAlert:we,setMessageWorkchatUserAlert:Ne}).fetchChatUserList=Ct,a.handleSendGroupMessage=Ut,a.searchContactVal=D,a.handleContactSearch=function(e){var t=e.target.value.trim();U(t);var a=t?V.filter(function(e){return e.name.toLowerCase().includes(t.toLowerCase())}):V;q(a)},a.searchVal=T,a.handleSearchUser=function(e){R(e.target.value);var t=e.target.value.trim(),a=t?$.filter(function(e){return e.name.toLowerCase().includes(t.toLowerCase())}):$;G(a)},a.replyMessageData=et,a.setReplyMessageData=tt,a.handleReplyMessage=function(e){tt(e)},a.showModal=it,a.modalRef=st,a.setShowModal=ut,a.groupInputRef=ot,a.filteredMentionGroupMembers=yt,a.handleMentionUserSelect=function(e){var t=k[ue]||"",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:"");I(function(e){var t;return d({},e,((t={})[ue]=s,t))}),vt(function(t){return t.some(function(t){return t.userId._id===e.userId._id})?t:[].concat(t,[e])}),ut(!1),requestAnimationFrame(function(){var e;null==(e=ot.current)||e.focus(),It(ue)})}},a.autoResizeTextarea=It,a.messagesContainerRef=at,a.scrollToMessage=function(e){var t=document.getElementById("message-"+e);console.log("messageElement",t),t&&at.current&&(t.scrollIntoView({behavior:"smooth",block:"center"}),lt(e),setTimeout(function(){lt("")},2e3))},a.setHighlightReply=lt,a.highlightReply=nt,a.handleDeleteMessage=function(e){try{var t={id:e._id};console.log("handleDelete",le),fe.emit("deleteMessage",t),ne(function(t){return t.map(function(t){return t._id===e._id?d({},t,{isDeleted:!0}):t})});var a=W.map(function(t){return t.messageId===e._id?d({},t,{isDeleted:!0}):t});console.log("newData",a),De.current=a,G(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,re[0]),fe.emit("deleteGroupMessage",t),ne(function(t){return t.map(function(t){return t._id===e._id?d({},t,{isDeleted:!0}):t})})}catch(e){console.log("handleDelete",e)}},a/*#__PURE__*/);return c.default.createElement(p.Provider,{value:Rt},r)},y=/*#__PURE__*/e.createContext(),x=function(e){/*#__PURE__*/return c.default.createElement(y.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),i=s[0],u=s[1],d=e.useState(0),m=d[0],f=d[1],g=e.useState(0),p=g[0],h=g[1];/*#__PURE__*/return c.default.createElement("div",{className:"flex flex-col bg-gray-100 rounded-xl overflow-hidden w-full max-w-sm shadow"},/*#__PURE__*/c.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 u(!1)},className:"w-full max-h-60",controls:!1}),/*#__PURE__*/c.default.createElement("div",{className:"flex items-center gap-2 px-3 py-2"},/*#__PURE__*/c.default.createElement("button",{onClick:function(){var e=o.current;e.paused?(e.play(),u(!0)):(e.pause(),u(!1))}},/*#__PURE__*/c.default.createElement(i?t.Pause:t.Play,{size:20,style:{color:"red"}})),/*#__PURE__*/c.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__*/c.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),i=s[0],u=s[1],d=e.useState(0),m=d[0],f=d[1],g=e.useState(0),p=g[0],h=g[1];/*#__PURE__*/return c.default.createElement("div",{className:"flex items-center gap-2 bg-gray-100 rounded-full px-3 py-2 w-full max-w-xs"},/*#__PURE__*/c.default.createElement("button",{onClick:function(){var e=o.current;e.paused?(e.play(),u(!0)):(e.pause(),u(!1))}},/*#__PURE__*/c.default.createElement(i?t.Pause:t.Play,{size:20,className:"text-primary"})),/*#__PURE__*/c.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__*/c.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__*/c.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 u(!1)}}))},w=function(t){var a=t.text,r=t.color,n=null==a?void 0:a.replace(/(https?:\/\/)/g," $1").trim(),l=/https?:\/\/[^\s]+/g,o=null==n?void 0:n.split(/(https?:\/\/[^\s]+)/g);/*#__PURE__*/return c.default.createElement(e.Fragment,null,o.map(function(e,t){return l.test(e)?/*#__PURE__*/c.default.createElement("a",{key:t,href:e,target:"_blank",rel:"noopener noreferrer",className:"underline italic",style:{color:r}},e):/*#__PURE__*/c.default.createElement("span",{key:t},e)}))},N=function(t){var a=t.code,r=e.useState(!1),n=r[1];/*#__PURE__*/return c.default.createElement("div",{className:"relative p-4 bg-white rounded-md overflow-x-auto border border-gray-200 text-xs"},/*#__PURE__*/c.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__*/c.default.createElement(l.Light,{language:null,style:o.docco,showLineNumbers:!0},a))},C=function(a){var r,n,l=a.fileToUpload,o=a.handleCancelFileUpload,s=a.fetchUploadFileApi,i=a.color,u=void 0===i?"#000":i;return a.showPreviewDialog?/*#__PURE__*/c.default.createElement("div",{style:{position:"fixed",inset:0,zIndex:9999,backgroundColor:"rgba(0,0,0,0.5)",display:"flex",alignItems:"center",justifyContent:"center"}},/*#__PURE__*/c.default.createElement("div",{style:{backgroundColor:"#fff",borderRadius:"0.5rem",boxShadow:"0 10px 25px rgba(0,0,0,0.1)",maxWidth:"32rem",width:"100%"}},/*#__PURE__*/c.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"1rem",borderBottom:"1px solid #e5e7eb"}},/*#__PURE__*/c.default.createElement("h2",{style:{fontSize:"1.125rem",fontWeight:"600"}},"Preview"),/*#__PURE__*/c.default.createElement("button",{onClick:o,style:{color:"#6b7280",cursor:"pointer"}},/*#__PURE__*/c.default.createElement(t.X,{size:24}))),/*#__PURE__*/c.default.createElement("div",{style:{padding:"1rem"}},l&&/*#__PURE__*/c.default.createElement(e.Fragment,null,(null==(r=l)||null==(n=r.type)?void 0:n.startsWith("image/"))?/*#__PURE__*/c.default.createElement("div",{style:{display:"flex",justifyContent:"center"}},/*#__PURE__*/c.default.createElement("img",{src:URL.createObjectURL(l),alt:"Preview",style:{maxHeight:"16rem",borderRadius:"0.5rem"}})):l.type.startsWith("video/")?/*#__PURE__*/c.default.createElement("video",{controls:!0,style:{width:"100%",maxHeight:"16rem",borderRadius:"0.5rem"},src:URL.createObjectURL(l)}):l.type.startsWith("audio/")?/*#__PURE__*/c.default.createElement("audio",{controls:!0,style:{width:"100%"},src:URL.createObjectURL(l)}):"application/pdf"===l.type?/*#__PURE__*/c.default.createElement("iframe",{src:URL.createObjectURL(l),style:{width:"100%",height:"16rem",border:"1px solid #e5e7eb",borderRadius:"0.5rem"},title:"PDF Preview"}):/*#__PURE__*/c.default.createElement("div",{style:{display:"flex",alignItems:"center",backgroundColor:"#f3f4f6",padding:"1rem",borderRadius:"0.5rem"}},/*#__PURE__*/c.default.createElement(t.File,{size:32,style:{color:"#374151",marginRight:"0.75rem"}}),/*#__PURE__*/c.default.createElement("div",null,/*#__PURE__*/c.default.createElement("p",{style:{fontWeight:"500"}},null==l?void 0:l.name),/*#__PURE__*/c.default.createElement("p",{style:{fontSize:"0.875rem",color:"#6b7280"}},function(e){if(!e)return"0 B";var t=Math.floor(Math.log(e)/Math.log(1024));return(e/Math.pow(1024,t)).toFixed(2)+" "+["B","KB","MB","GB","TB"][t]}(null==l?void 0:l.size)),/*#__PURE__*/c.default.createElement("a",{href:URL.createObjectURL(l),download:l.name,style:{color:"#2563eb",fontSize:"0.875rem",marginTop:"0.25rem",display:"inline-block"}},"Download file"))))),/*#__PURE__*/c.default.createElement("div",{style:{display:"flex",justifyContent:"flex-end",padding:"1rem",borderTop:"1px solid #e5e7eb"}},/*#__PURE__*/c.default.createElement("button",{onClick:o,style:{padding:"0.5rem 1rem",color:"#374151",marginRight:"0.5rem",borderRadius:"0.375rem",backgroundColor:"transparent",cursor:"pointer"},onMouseOver:function(e){return e.currentTarget.style.backgroundColor="#f3f4f6"},onMouseOut:function(e){return e.currentTarget.style.backgroundColor="transparent"}},"Cancel"),/*#__PURE__*/c.default.createElement("button",{onClick:s,style:{padding:"0.5rem 1rem",color:"#fff",borderRadius:"0.375rem",display:"flex",alignItems:"center",backgroundColor:u,cursor:"pointer"}},/*#__PURE__*/c.default.createElement(t.Send,{size:18,style:{marginRight:"0.25rem"}}),"Send")))):null},k=function(e){var t=JSON.parse(e.data);console.log("mapDetails",t);var a="https://maps.google.com/maps?q="+(null==t?void 0:t.latitude)+","+(null==t?void 0:t.longitude)+"&z=15&output=embed&markers=color:red%7C"+(null==t?void 0:t.latitude)+","+(null==t?void 0:t.longitude);return console.log("mapUrl",a),/*#__PURE__*/c.default.createElement("div",{className:"bg-white p-4 rounded-xl shadow border "},/*#__PURE__*/c.default.createElement("div",{className:"w-full h-40 rounded-lg overflow-hidden"},/*#__PURE__*/c.default.createElement("iframe",{width:"100%",height:"100%",loading:"lazy",allowFullScreen:!0,src:a,style:{border:0},referrerPolicy:"no-referrer-when-downgrade"})))},I=function(a){var r=a.color,n=a.noOfChat,l=a.senderContainerColor,o=a.senderTextColor,s=a.receiverContainerColor,i=a.receiverTextColor,u=a.sendButtonColor,d=a.chatWidth,m=a.chatHeight,f=a.cognitoUserId,g=a.email,h=a.senderDateTextColor,v=a.receiverDateTextColor,x=a.senderLinkTextColor,I=a.receiverLinkTextColor,S=a.groupUserNameColors,D=a.ctaButtonColor,U=a.ctaButtonText,M=a.headerTextColor,T=e.useContext(p),R=T.activeChats,A=T.minimizedChats,P=T.newMessage,_=T.toggleMinimize,j=T.closeChat,z=T.handleMessageChange,L=T.sendMessage,F=T.handleKeyDown,O=T.handleUserClick,B=T.minimizedContact,W=T.setMinimizedContact,G=T.activeTab,Y=T.handleSwitchTab,H=T.fetchChatUserList,q=T.userList,J=T.contactList,V=T.setMaxChat,K=T.chats,X=T.messageAlert,$=T.setMessageAlert,Q=T.handleAttachmentClick,Z=T.fileInputRef,ee=T.handleFileSelect,te=T.showPreviewDialog,ae=T.handleCancelFileUpload,re=T.fileToUpload,ne=T.fetchUploadFileApi,le=T.isDragging,oe=T.handleDragOver,se=T.handleDragEnter,ce=T.handleDragLeave,ie=T.handleDrop,ue=T.dropAreaRef,de=T.textareaRef,me=T.messageWorkchatAlert,fe=T.setMessageWorkchatAlert,ge=T.messageWorkchatUserAlert,pe=T.setMessageWorkchatUserAlert,he=T.handleSendGroupMessage,ve=T.searchContactVal,ye=T.handleContactSearch,xe=T.searchVal,be=T.handleSearchUser,Ee=T.replyMessageData,we=T.setReplyMessageData,Ne=T.handleReplyMessage,Ce=T.showModal,ke=T.modalRef,Ie=T.setShowModal,Se=T.groupInputRef,De=T.filteredMentionGroupMembers,Ue=T.handleMentionUserSelect,Me=T.autoResizeTextarea,Te=T.messagesContainerRef,Re=T.scrollToMessage,Ae=T.highlightReply,Pe=T.handleDeleteMessage,_e=T.handleDeleteGroupMessage,je=e.useContext(y).handleCognitoVerification,ze=localStorage.getItem("authUser"),Le=function(e){return e.split("/")[0]},Fe=function(e){return"."+e.split(".").at(-1)};e.useEffect(function(){H()},[]),e.useEffect(function(){n&&V(n)},[]),e.useEffect(function(){je(f,g)},[f,g]);var Oe=function(e){var t=window.open(e,"_blank","noopener,noreferrer");t&&(t.opener=null)},Be=e.useState(!1),We=Be[0],Ge=Be[1],Ye=function(e){return[/<[\w\d]+\s?.*?>/,/\bfunction\b|\bconst\b/,/\bdef\b|\bimport\b/,/=\s*{.*?}/,/<\/[\w\d]+>/].some(function(t){return t.test(e)})},He=function(e){var t=(null==e?void 0:e.charCodeAt(0))%S.length;return S[t]};return e.useEffect(function(){Ee&&Ce&&Ge(!0)},[Ee,Ce]),/*#__PURE__*/c.default.createElement("div",{className:"fixed bottom-0 right-0 flex gap-4 z-50 "},R.map(function(a){var n,f=JSON.parse(localStorage.getItem("userListStore")||"[]"),g=q.find(function(e){return e._id===a})||J.find(function(e){return e._id===a})||f.find(function(e){return e._id===a})||q.find(function(e){return e.userId._id===a}),p=K[a]||[],y=A.includes(a);return pe(y),console.log("useruseruser",g,q,J),/*#__PURE__*/c.default.createElement("div",{key:a,className:"w-64 bg-white rounded-t-lg shadow-lg flex flex-col self-end ",style:{height:y?"40px":We?"550px":m,width:We?"500px":d},ref:ue,onDragOver:oe,onDragEnter:se,onDragLeave:ce,onDrop:ie},/*#__PURE__*/c.default.createElement("div",{className:"px-3 py-2 border-b flex items-center justify-between rounded-t-lg",style:{backgroundColor:r||"#000"}},/*#__PURE__*/c.default.createElement("div",{className:"flex items-center cursor-pointer flex-1",onClick:function(e){e.stopPropagation(),_(a),$(!1)}},/*#__PURE__*/c.default.createElement("div",{className:"relative"},null!=g&&g.profileImage?/*#__PURE__*/c.default.createElement("img",{src:null==g?void 0:g.profileImage,alt:g.name.charAt(0),className:"w-8 h-8 rounded-full text-center justify-center items-center border flex text-white"}):/*#__PURE__*/c.default.createElement("span",{className:"w-8 h-8 rounded-full text-center justify-center items-center border flex text-white"},"group"===(null==g?void 0:g.type)?/*#__PURE__*/c.default.createElement(t.Users,null):null==g||null==(n=g.name)?void 0:n.charAt(0)),"available"===(null==g?void 0:g.status)&&/*#__PURE__*/c.default.createElement("div",{className:"absolute bottom-0 right-0 w-3 h-3 bg-green-500 rounded-full border-2 border-blue-600"})),/*#__PURE__*/c.default.createElement("div",{className:"ml-2"},/*#__PURE__*/c.default.createElement("div",{className:"font-medium text-sm",style:{color:M||"#fff"}},(null==g?void 0:g.name)||""),"bot"===g.type&&/*#__PURE__*/c.default.createElement("div",{className:"font-medium text-white text-[10px]"},"BOT")),y&&X&&/*#__PURE__*/c.default.createElement("div",{className:"bg-red-600 w-4 h-4 text-xs text-center rounded ml-1"},"1")),/*#__PURE__*/c.default.createElement("div",{className:"flex space-x-2"},!y&&/*#__PURE__*/c.default.createElement("div",null,/*#__PURE__*/c.default.createElement(We?t.Shrink:t.Expand,{size:16,className:"text-white cursor-pointer",onClick:function(e){e.stopPropagation(),Ge(!We)}})),y?/*#__PURE__*/c.default.createElement(t.Maximize,{size:16,className:"text-white cursor-pointer",onClick:function(e){e.stopPropagation(),_(a),$(!1)}}):/*#__PURE__*/c.default.createElement(t.Minimize,{size:16,className:"text-white cursor-pointer",onClick:function(e){e.stopPropagation(),_(a)}}),/*#__PURE__*/c.default.createElement(t.X,{size:16,className:"text-white cursor-pointer",onClick:function(e){e.stopPropagation(),j(a),pe(!1)}}))),le?/*#__PURE__*/c.default.createElement("div",{className:"flex items-center justify-center pointer-events-none h-full"},/*#__PURE__*/c.default.createElement("div",{className:"bg-blue-100 border border-blue-300 p-8 rounded-lg shadow-md text-center "},/*#__PURE__*/c.default.createElement(t.Upload,{size:48,className:"mx-auto text-primary mb-2"}),/*#__PURE__*/c.default.createElement("p",{className:"text-lg font-medium"},"Drop file here"),/*#__PURE__*/c.default.createElement("p",{className:"text-sm text-gray-500"},"to upload and send"))):!y&&/*#__PURE__*/c.default.createElement(e.Fragment,null,"user"===g.type&&/*#__PURE__*/c.default.createElement(e.Fragment,null,/*#__PURE__*/c.default.createElement("div",{className:"flex-1 p-3 overflow-y-auto flex flex-col-reverse"},[].concat(p).map(function(e,a){/*#__PURE__*/return c.default.createElement("div",{ref:Te,key:a},/*#__PURE__*/c.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),[].concat(e.chats).reverse().map(function(e,a){var n,u;/*#__PURE__*/return c.default.createElement("div",{id:"message-"+e._id,key:a,className:"mb-2 flex flex-col "+("me"===e.sender?"items-end":"items-start")+" "+(Ae==e._id?"transition-colors duration-1000 bg-yellow-100 rounded-xl":"")},/*#__PURE__*/c.default.createElement("div",{className:"relative group max-w-[75%]"},e.isDeleted?/*#__PURE__*/c.default.createElement("div",{className:"p-2 text-xs italic rounded-xl shadow-md whitespace-pre-wrap break-words \n "+("me"===e.sender?"rounded-br-none ":"rounded-bl-none "),style:{backgroundColor:"me"===e.sender?l:s,color:"me"===e.sender?o:i}},"me"===e.sender?"You deleted this message":"This message was deleted"):/*#__PURE__*/c.default.createElement("div",{className:"p-2 rounded-xl shadow-md whitespace-pre-wrap break-words \n "+("me"===e.sender?"rounded-br-none ":"rounded-bl-none "),style:{backgroundColor:"me"===e.sender?l:s,color:"me"===e.sender?o:i}},(null==e?void 0:e.replyMessageId)&&/*#__PURE__*/c.default.createElement("div",{className:" p-2 rounded border-l-4 cursor-pointer shadow\n "+(e.isSent?"bg-gray-600 border-teal-600":"bg-gray-100 border-teal-600")+"\n \n ",onClick:function(t){t.stopPropagation(),Re(e.replyMessageId._id)},style:{}},/*#__PURE__*/c.default.createElement("div",{className:"text-xs font-medium mb-1 text-black text-primary"},(null==e||null==(n=e.replyMessageId)||null==(n=n.fromUserId)?void 0:n._id)===ze?"You":null==e||null==(u=e.replyMessageId)||null==(u=u.fromUserId)?void 0:u.name),/*#__PURE__*/c.default.createElement("div",{className:"text-xs text-gray-700 truncate"},null==e?void 0:e.replyMessageId.messageContent)),"image"===Le(e.fileType)&&/*#__PURE__*/c.default.createElement("img",{src:e.link,alt:"Preview",className:"max-h-32 rounded cursor-pointer mx-auto",onClick:function(){return Oe(e.link)}}),"video"===Le(e.fileType)&&/*#__PURE__*/c.default.createElement(b,{src:e.link,color:r}),"audio"===Le(e.fileType)&&/*#__PURE__*/c.default.createElement(E,{src:e.link,color:r}),"application"===Le(e.fileType)&&/*#__PURE__*/c.default.createElement("div",{className:"flex items-center bg-gray-200 p-2 rounded cursor-pointer",onClick:function(){return Oe(e.link)}},/*#__PURE__*/c.default.createElement(t.File,{size:20,className:"text-black mr-2"}),/*#__PURE__*/c.default.createElement("p",{className:"text-sm font-medium text-black"},"Document",Fe(e.link))),!Ye(e.text)&&"image"!==Le(e.fileType)&&""!==e.text&&"L"!==e.type&&/*#__PURE__*/c.default.createElement("div",{className:"text-sm mt-1"},/*#__PURE__*/c.default.createElement(w,{text:(null==e?void 0:e.text)||"",color:"me"===e.sender?x:I})),Ye(e.text)&&/*#__PURE__*/c.default.createElement(N,{code:e.text})),!e.isDeleted&&/*#__PURE__*/c.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__*/c.default.createElement(t.Reply,{onClick:function(){Ne(e)},className:"text-gray-400 hover:text-primary cursor-pointer",size:18}),"me"===e.sender&&/*#__PURE__*/c.default.createElement(t.Trash2,{onClick:function(){Pe(e)},className:"text-gray-400 hover:text-primary cursor-pointer",size:18}))),/*#__PURE__*/c.default.createElement("div",{className:"text-xs mt-1 flex gap-1 items-center "+("me"===e.sender?"justify-end text-gray-600":"justify-start text-gray-800"),style:{color:"me"===e.sender?h:v}},"me"===e.sender&&e.isStared&&/*#__PURE__*/c.default.createElement("span",null,/*#__PURE__*/c.default.createElement(t.Star,{fill:"#eab308",className:"text-yellow-500",size:10})),/*#__PURE__*/c.default.createElement("span",null,e.time),"me"===e.sender&&/*#__PURE__*/c.default.createElement(t.CheckCheck,{size:16,className:e.isRead?"text-blue-500":"text-gray-400"}),"me"!==e.sender&&e.isStared&&/*#__PURE__*/c.default.createElement("span",null,/*#__PURE__*/c.default.createElement(t.Star,{fill:"#eab308",className:"text-yellow-500",size:10}))))}))})),Ee&&/*#__PURE__*/c.default.createElement("div",{className:"px-4 py-2 bg-gray-100 border-b border-gray-200 flex items-start sm:items-center "},/*#__PURE__*/c.default.createElement("div",{className:"w-1 h-12 rounded-full mr-3 flex-shrink-0",style:{backgroundColor:u||"#000"}}),/*#__PURE__*/c.default.createElement("div",{className:"flex-1 min-w-0"}," ",/*#__PURE__*/c.default.createElement("div",{className:"flex items-center justify-between gap-2"},/*#__PURE__*/c.default.createElement("span",{className:"text-xs font-medium text-gray-600 whitespace-nowrap"},"Replying to","reciver"===Ee.sender?null==Ee?void 0:Ee.user.name:"You"),/*#__PURE__*/c.default.createElement("button",{onClick:function(){return we("")},className:"text-gray-400 hover:text-gray-600 transition-colors flex-shrink-0"},/*#__PURE__*/c.default.createElement(t.X,{className:"w-4 h-4"}))),/*#__PURE__*/c.default.createElement("p",{className:"text-sm text-gray-800 mt-1 w-full line-clamp-2"},null==Ee?void 0:Ee.text))),/*#__PURE__*/c.default.createElement("div",{className:"p-2 border-t"},/*#__PURE__*/c.default.createElement("div",{className:"flex items-center"},/*#__PURE__*/c.default.createElement("button",{className:"mr-2 p-1 rounded-full bg-blue-500 text-white ",style:{backgroundColor:u||"#000"},onClick:function(){return Q(a)}},/*#__PURE__*/c.default.createElement(t.ArrowUpFromLine,{size:16})),/*#__PURE__*/c.default.createElement("input",{type:"file",ref:Z,onChange:ee,className:"hidden"}),/*#__PURE__*/c.default.createElement("textarea",{ref:function(e){return de.current[a]=e},className:"flex-1 border rounded-lg py-1 max-h-60 text-sm focus:outline-none focus:ring-1 focus:ring-blue-500 resize-none px-2 overflow-auto no-scrollbar",placeholder:"Type a message...",autoFocus:!0,value:P[a]||"",onChange:function(e){z(a,e.target.value),Me(a)},onKeyDown:function(e){return F(a,e)},rows:1}),/*#__PURE__*/c.default.createElement("button",{className:"ml-2 p-1 rounded-full bg-blue-500 text-white ",style:{backgroundColor:u||"#000"},onClick:function(){return L(a)}},/*#__PURE__*/c.default.createElement(t.Send,{size:16}))))),"group"===g.type&&/*#__PURE__*/c.default.createElement(e.Fragment,null,/*#__PURE__*/c.default.createElement("div",{className:"flex-1 p-3 overflow-y-auto flex flex-col-reverse"},[].concat(p).map(function(e,a){/*#__PURE__*/return c.default.createElement("div",{ref:Te,key:a},/*#__PURE__*/c.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-full flex items-center justify-center border-gray-500"},null==e?void 0:e.date),[].concat(e.chats).reverse().map(function(e,a){var n,u,d="me"===e.sender,m="reciver"===e.sender;return console.log("message",e),"E"!==e.type?/*#__PURE__*/c.default.createElement("div",{id:"message-"+e._id,key:a,className:"mb-2 flex "+(d?"justify-end":"justify-start")+" "+(Ae==e._id?"transition-colors duration-1000 bg-yellow-100 rounded-xl":"")},!d&&(g.profileImage?/*#__PURE__*/c.default.createElement("img",{src:g.profileImage,alt:g.name.charAt(0),className:"w-6 h-6 rounded-full mr-1 self-end mb-5 border"}):/*#__PURE__*/c.default.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"},g.name.charAt(0))),/*#__PURE__*/c.default.createElement("div",{className:"flex flex-col max-w-[80%] relative group"},m&&/*#__PURE__*/c.default.createElement("span",{className:"text-xs font-semibold mb-1",style:{color:He(null==e?void 0:e.name)}},null==e?void 0:e.name),e.isDeleted?/*#__PURE__*/c.default.createElement("div",{className:"p-2 text-xs italic rounded-xl shadow-md whitespace-pre-wrap break-words \n "+("me"===e.sender?"rounded-br-none ":"rounded-bl-none "),style:{backgroundColor:"me"===e.sender?l:s,color:"me"===e.sender?o:i}},"me"===e.sender?"You deleted this message":"This message was deleted"):/*#__PURE__*/c.default.createElement("div",{className:" p-2 rounded-lg shadow-md break-words whitespace-pre-wrap "+(d?"bg-blue-500 text-white rounded-br-none":"bg-gray-200 text-gray-800 rounded-bl-none"),style:{backgroundColor:d?l:s,color:d?o:i}},(null==e?void 0:e.replyMessageId)&&/*#__PURE__*/c.default.createElement("div",{className:" p-2 rounded border-l-4 cursor-pointer "+(e.isSent?"bg-gray-600 border-teal-600":"bg-gray-100 border-teal-600")+" ",onClick:function(t){t.stopPropagation(),Re(e.replyMessageId._id)}},/*#__PURE__*/c.default.createElement("div",{className:"text-xs font-medium mb-1 text-black"},(null==e||null==(n=e.replyMessageId)||null==(n=n.userId)?void 0:n._id)===ze?"You":null==e||null==(u=e.replyMessageId)||null==(u=u.userId)?void 0:u.name),/*#__PURE__*/c.default.createElement("div",{className:"text-xs text-gray-700 truncate"},null==e?void 0:e.replyMessageId.messageContent)),"image"===Le(e.fileType)&&/*#__PURE__*/c.default.createElement("div",{className:"flex justify-center items-center mb-1"},/*#__PURE__*/c.default.createElement("img",{onClick:function(){return Oe(e.link)},src:e.link,alt:"Preview",className:"max-h-28 rounded cursor-pointer"})),"video"===Le(e.fileType)&&/*#__PURE__*/c.default.createElement(b,{src:e.link,color:r}),"audio"===Le(e.fileType)&&/*#__PURE__*/c.default.createElement(E,{src:e.link,color:r}),"application"===Le(e.fileType)&&/*#__PURE__*/c.default.createElement("div",{className:"flex items-center bg-gray-100 p-2 rounded cursor-pointer mb-1",onClick:function(){return Oe(e.link)}},/*#__PURE__*/c.default.createElement(t.File,{size:20,className:"text-black mr-2"}),/*#__PURE__*/c.default.createElement("p",{className:"text-sm text-black"},"Document",Fe(e.link))),"L"===e.type&&/*#__PURE__*/c.default.createElement(k,{data:e.text}),/*#__PURE__*/c.default.createElement("div",{className:"text-sm"},!Ye(e.text)&&"image"!=Le(e.fileType)&&""!==e.text&&"L"!==e.type&&/*#__PURE__*/c.default.createElement(w,{text:e.text,color:d?x:I}),Ye(e.text)&&/*#__PURE__*/c.default.createElement(N,{code:null==e?void 0:e.text}))),!e.isDeleted&&/*#__PURE__*/c.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__*/c.default.createElement(t.Reply,{onClick:function(){Ne(e)},className:"text-gray-400 hover:text-primary cursor-pointer",size:18}),"me"===e.sender&&/*#__PURE__*/c.default.createElement(t.Trash2,{onClick:function(){_e(e)},className:"text-gray-400 hover:text-primary cursor-pointer",size:18})),/*#__PURE__*/c.default.createElement("div",{className:"text-xs mt-1 flex gap-1 items-center "+("me"===e.sender?"justify-end text-gray-600":"justify-start text-gray-800"),style:{color:"me"===e.sender?h:v}},"me"===e.sender&&e.isStared&&/*#__PURE__*/c.default.createElement("span",null,/*#__PURE__*/c.default.createElement(t.Star,{fill:"#eab308",className:"text-yellow-500",size:10})),/*#__PURE__*/c.default.createElement("span",null,e.time),"me"!==e.sender&&e.isStared&&/*#__PURE__*/c.default.createElement("span",null,/*#__PURE__*/c.default.createElement(t.Star,{fill:"#eab308",className:"text-yellow-500",size:10}))))):/*#__PURE__*/c.default.createElement("div",{className:"text-xs bg-primary/20 text-primary px-2 py-1 rounded-md mx-auto my-1.5 w-fit backdrop-blur-sm",style:{backgroundColor:r,color:M}},e.text)}))})),Ce&&/*#__PURE__*/c.default.createElement("div",{ref:ke,className:" bg-white rounded-lg shadow-2xl border border-gray-200 z-50 overflow-hidden animate-slide-up w-[96%] self-center max-h-80"},/*#__PURE__*/c.default.createElement("div",{className:"p-3 border-b border-gray-100 bg-gray-50 flex justify-between items-center"},/*#__PURE__*/c.default.createElement("h3",{className:"text-sm font-medium text-gray-700"},"Select member to mention"),/*#__PURE__*/c.default.createElement("div",{onClick:function(){return Ie(!1)}},/*#__PURE__*/c.default.createElement(t.X,{size:16}))),/*#__PURE__*/c.default.createElement("div",{className:" max-h-60 overflow-y-auto "},De.length>0?De.map(function(e){var t,a,r;return e.userId._id!=ze&&/*#__PURE__*/c.default.createElement("div",{key:e.id,onClick:function(){return Ue(e)},className:"flex items-center gap-3 p-3 hover:bg-gray-200 cursor-pointer transition-colors"},/*#__PURE__*/c.default.createElement("div",{className:"w-10 h-10 flex items-center justify-center rounded-full bg-gray-300 overflow-hidden border"},null!=e&&null!=(t=e.userId)&&t.profileImage?/*#__PURE__*/c.default.createElement("img",{src:e.userId.profileImage,alt:null==(a=e.userId.name)?void 0:a.charAt(0),className:"w-full h-full object-cover"}):/*#__PURE__*/c.default.createElement("span",{className:"text-sm font-medium text-black"},null==(r=e.userId.name)?void 0:r.charAt(0))),/*#__PURE__*/c.default.createElement("div",{className:"flex-1"},/*#__PURE__*/c.default.createElement("p",{className:"font-medium text-gray-900 text-sm"},e.userId.name)))}):/*#__PURE__*/c.default.createElement("div",{className:"p-4 text-center text-gray-500"},/*#__PURE__*/c.default.createElement("p",{className:"text-sm"},"No contacts found")))),Ee&&/*#__PURE__*/c.default.createElement("div",{className:"px-4 py-2 bg-gray-100 border-b border-gray-200 flex items-start sm:items-center "},/*#__PURE__*/c.default.createElement("div",{className:"w-1 h-12 rounded-full mr-3 flex-shrink-0",style:{backgroundColor:u||"#000"}}),/*#__PURE__*/c.default.createElement("div",{className:"flex-1 min-w-0"}," ",/*#__PURE__*/c.default.createElement("div",{className:"flex items-center justify-between gap-2"},/*#__PURE__*/c.default.createElement("span",{className:"text-xs font-medium text-gray-600 whitespace-nowrap"},"Replying to ","reciver"===Ee.sender?Ee.user.name:"You"),/*#__PURE__*/c.default.createElement("button",{onClick:function(){return we("")},className:"text-gray-400 hover:text-gray-600 transition-colors flex-shrink-0"},/*#__PURE__*/c.default.createElement(t.X,{className:"w-4 h-4"}))),/*#__PURE__*/c.default.createElement("p",{className:"text-sm text-gray-800 mt-1 w-full line-clamp-2"},null==Ee?void 0:Ee.text))),/*#__PURE__*/c.default.createElement("div",{className:"p-2 border-t"},/*#__PURE__*/c.default.createElement("div",{className:"flex items-center"},/*#__PURE__*/c.default.createElement("