Rev 15855 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from "react";
import parse from "html-react-parser";
import styles from "./messages.module.scss";
const Message = ({ message }) => {
const { m, mtype, time, u, user_name } = message;
const messageContent = {
text: (
<div className={styles.messageContainer}>
{u !== 1 && <span className={styles.userName}>{user_name}</span>}
<div>{parse(emojione.shortnameToImage(m))}</div>
</div>
),
image: (
<>
<div className={styles.messageContainer}>
{u !== 1 && <span className={styles.userName}>{user_name}</span>}
<img className={styles.chatImg} src={m} alt="chat_img" />
</div>
<a href={m} target="_blank" className={styles.downloadBtn}>
<i className="fa ti-arrow-circle-down"></i>
</a>
</>
),
video: (
<>
<div className={styles.messageContainer}>
{u !== 1 && <span className={styles.userName}>{user_name}</span>}
<video
className={styles.chatImg}
src={m}
preload="none"
controls
></video>
</div>
<a href={m} target="_blank" className={styles.downloadBtn}>
<i className="fa ti-arrow-circle-down"></i>
</a>
</>
),
document: (
<>
<div className={styles.messageContainer}>
{u !== 1 && <span className={styles.userName}>{user_name}</span>}
<img
className={styles.pdfImage}
src="/storage/type/default/filename/pdf.png"
alt="pdf"
/>
</div>
<a href={m} target="_blank" className={styles.downloadBtn}>
<i className="fa ti-arrow-circle-down"></i>
</a>
</>
),
};
return (
<div
className={`${styles.message} ${
message.u === 1 ? styles.message_sent : styles.message_received
}`}
>
{messageContent[mtype]}
<span>{time}</span>
</div>
);
};
export default Message;