Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
7317 stevensc 1
import React, { useState } from 'react'
2
import parse from 'html-react-parser'
3
 
4
const Message = ({ message }) => {
5
  const senderName = (message) => {
6
    if (message.type === 'group' && !message.u === 1) return message.user_name
7
  }
8
 
9
  const messagesContent = {
10
    text: <p>{parse(emojione.shortnameToImage(message.m))}</p>,
11
    image: <img src={message.m} alt="chat_image" />,
12
    video: <video src={message.m} preload="none" controls />,
13
    document: (
14
      <img
15
        className="pdf"
16
        src="/storage/type/default/filename/pdf.png"
17
        alt="pdf"
18
      />
19
    ),
20
  }
21
 
22
  return (
23
    <div
24
      className={`message_container ${message.u === 1 ? 'sent' : 'received'}`}
25
    >
26
      <span className="user_name">{senderName(message)}</span>
27
      <div className={`message ${message.u === 1 ? 'sent' : 'received'}`}>
28
        {messagesContent[message.mtype]}
29
        <label className="message_time">
30
          {!message.not_received && (
31
            <i
32
              className="fa fa-check"
33
              style={message.seen ? { color: 'blue' } : { color: 'gray' }}
34
            />
35
          )}
36
          {message.time}
37
        </label>
38
      </div>
39
    </div>
40
  )
41
}
42
 
43
const Reactions = ({
44
  message = {},
45
  onLike = () => false,
46
  onResponse = () => false,
47
  onClipboard = () => false,
48
}) => {
49
  const [isShow, setIsShow] = useState(false)
50
 
51
  return (
52
    <>
53
      <i className="la la-ellipsis-v icon" onClick={() => setIsShow(!isShow)} />
54
      {isShow && (
55
        <div className="display-reactions">
56
          {/* <LikeButton onClick={onLike} /> */}
57
          <button onClick={() => onResponse(message)}>
58
            <i className="fa fa-reply" />
59
          </button>
60
          <button onClick={() => onClipboard(message)}>
61
            <i className="fa fa-copy" />
62
          </button>
63
        </div>
64
      )}
65
    </>
66
  )
67
}
68
 
69
Message.Reactions = Reactions
70
 
71
export default Message