Rev 727 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react'export default ({messages, selectedConversation, onSend, backendVars, getMoreMessages}) => {const [text, setText] = React.useState('')const handleScroll = (event) => {const node = event.target;if(node.clientHeight >= (node.scrollHeight * .62)){getMoreMessages()}}const paneDidMount = (node) => {if(node) {node.addEventListener("scroll", handleScroll.bind(this));}}return(<React.Fragment><div className="main-conversation-box">{!selectedConversation?<div className="message-bar-head"><div className="usr-mg-info"><h3>No hay mensajes</h3></div></div>:<React.Fragment><divclassName="message-bar-head"style={{minHeight: '13vh'}}><div className="usr-msg-details"><div className="usr-ms-img"><img src="images/resources/m-img1.png" alt="" /></div><div className="usr-mg-info"><h3>{selectedConversation.name}</h3><p>Online</p></div></div><div className="ed-opts"><a href="#" title="" className="ed-opts-open"><i className="la la-ellipsis-v"></i></a><ul className="ed-options"><li><a href="#" className="btn-clean-messages" title="">Limpiar </a></li><li><a href="#" className="btn-delete-conversation" title="">Borrar</a></li><li><a href="#" className="btn-block-user" title="">Bloquear</a></li></ul></div></div><divclassName="messages-line overflow-auto"style={{display: 'flex',flexDirection: 'column-reverse',backgroundColor: 'white'}}ref={paneDidMount}>{(messages && !!messages.length) && (messages.map((element, i) => {const isLeft = element.side === 'left'return(<divclassName={"main-message-box "+(isLeft ? 'st3' : 'ta-right') }key={element.message}>{isLeft && (<div className="messg-usr-img"><imgsrc={element.sender_image}onClick={() => window.location.href = element.sender_profile}className="cursor-pointer"alt={element.sender_name}/></div>)}<divclassName="message-dt"style={{padding: 0,// display: 'flex',justifyContent: isLeft ? 'flex-start' : 'flex-end',width: '85%',paddingLeft: isLeft ? '13%' : '40%',paddingRight: isLeft ? '40%': 0}}><divclassName="message-inner-dt"><p className='w-100'>{element.message}</p></div><span>{element.date}</span></div>{!isLeft && (<div className="messg-usr-img"><imgsrc={element.sender_image}onClick={() => window.location.href = element.sender_profile}className="cursor-pointer"alt={element.sender_name}/></div>)}</div>)}))}</div><div className="message-send-area"><form id="form-send-message" name="form-send-message"onSubmit={e => {e.preventDefault()onSend(text)setText('')}}><div className="mf-field"><inputtype="text"name="message"id="message"value={text}placeholder={backendVars.labelWriteMessage}onChange={e => {setText(e.target.value || '')}}/><button type="submit">{backendVars.labelSend}</button></div></form></div></React.Fragment>}</div></React.Fragment>)}