Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 11403 | Rev 15853 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
15851 stevensc 1
import React from "react";
11347 nelberth 2
import parse from "html-react-parser";
3
 
4
import styles from "./messages.module.scss";
5
 
15851 stevensc 6
const Message = ({ message }) => {
7
  const { m, user_name, u } = message;
11347 nelberth 8
 
15851 stevensc 9
  const messageContent = {
10
    text: (
11
      <div className={styles.messageContainer}>
12
        {chatType === "group" && u !== 1 && (
13
          <span className={styles.userName}>{user_name}</span>
14
        )}
15
        <div ref={lastMessageEl}>{parse(emojione.shortnameToImage(m))}</div>
16
      </div>
17
    ),
18
    image: (
19
      <>
20
        <div className={styles.messageContainer}>
21
          {chatType === "group" && u !== 1 && (
22
            <span className={styles.userName}>{user_name}</span>
23
          )}
24
          <img
25
            className={styles.chatImg}
26
            src={m}
27
            alt="chat_img"
28
            ref={type === "new" ? lastEl : undefined}
29
          />
30
        </div>
31
        <a href={m} target="_blank" className={styles.downloadBtn}>
32
          <i className="fa ti-arrow-circle-down"></i>
33
        </a>
34
      </>
35
    ),
36
    video: (
37
      <>
38
        <div className={styles.messageContainer}>
39
          {chatType === "group" && u !== 1 && (
40
            <span className={styles.userName}>{user_name}</span>
41
          )}
42
          <video
43
            className={styles.chatImg}
44
            src={m}
45
            preload="none"
46
            controls
47
            ref={type === "new" ? lastEl : undefined}
48
          ></video>
49
        </div>
50
        <a href={m} target="_blank" className={styles.downloadBtn}>
51
          <i className="fa ti-arrow-circle-down"></i>
52
        </a>
53
      </>
54
    ),
55
    document: (
56
      <>
57
        <div className={styles.messageContainer}>
58
          {chatType === "group" && u !== 1 && (
59
            <span className={styles.userName}>{user_name}</span>
60
          )}
61
          <img
62
            className={styles.pdfImage}
63
            src="/storage/type/default/filename/pdf.png"
64
            alt="pdf"
65
            ref={type === "new" ? lastEl : undefined}
66
          />
67
        </div>
68
        <a href={m} target="_blank" className={styles.downloadBtn}>
69
          <i className="fa ti-arrow-circle-down"></i>
70
        </a>
71
      </>
72
    ),
11347 nelberth 73
  };
74
 
75
  return (
15851 stevensc 76
    <div
77
      className={`${styles.message} ${
78
        message.u === 1 ? styles.message_sent : styles.message_received
79
      }`}
80
    >
81
      {messageContent[message.mtype]}
82
    </div>
11347 nelberth 83
  );
84
};
85
 
15851 stevensc 86
export default Message;