mirror of
https://github.com/cheveguerra/whaticket-community.git
synced 2026-04-19 12:19:16 +00:00
Added linkfy lib to handle messages links
This commit is contained in:
14
frontend/src/components/LinkifyWithTargetBlank/index.js
Normal file
14
frontend/src/components/LinkifyWithTargetBlank/index.js
Normal file
@@ -0,0 +1,14 @@
|
||||
import React from "react";
|
||||
import Linkify from "react-linkify";
|
||||
|
||||
const componentDecorator = (href, text, key) => (
|
||||
<a href={href} key={key} target="_blank" rel="noopener noreferrer">
|
||||
{text}
|
||||
</a>
|
||||
);
|
||||
|
||||
const LinkifyWithTargetBlank = ({ children }) => {
|
||||
return <Linkify componentDecorator={componentDecorator}>{children}</Linkify>;
|
||||
};
|
||||
|
||||
export default LinkifyWithTargetBlank;
|
||||
@@ -29,6 +29,7 @@ import Drawer from "@material-ui/core/Drawer";
|
||||
|
||||
import whatsBackground from "../../../../Images/wa-background.png";
|
||||
|
||||
import LinkifyWithTargetBlank from "../../../../components/LinkifyWithTargetBlank";
|
||||
import api from "../../../../util/api";
|
||||
|
||||
import MessagesInput from "../MessagesInput/MessagesInput";
|
||||
@@ -461,32 +462,36 @@ const MessagesList = () => {
|
||||
if (messagesList.length > 0) {
|
||||
const viewMessagesList = messagesList.map((message, index) => {
|
||||
if (!message.userId) {
|
||||
return [
|
||||
renderDailyTimestamps(message, index),
|
||||
<div className={classes.messageLeft} key={message.id}>
|
||||
{message.mediaUrl && checkMessaageMedia(message)}
|
||||
<div className={classes.textContentItem}>
|
||||
{message.body}
|
||||
<span className={classes.timestamp}>
|
||||
{format(parseISO(message.createdAt), "HH:mm")}
|
||||
</span>
|
||||
return (
|
||||
<LinkifyWithTargetBlank key={message.id}>
|
||||
{renderDailyTimestamps(message, index)}
|
||||
<div className={classes.messageLeft}>
|
||||
{message.mediaUrl && checkMessaageMedia(message)}
|
||||
<div className={classes.textContentItem}>
|
||||
{message.body}
|
||||
<span className={classes.timestamp}>
|
||||
{format(parseISO(message.createdAt), "HH:mm")}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>,
|
||||
];
|
||||
</LinkifyWithTargetBlank>
|
||||
);
|
||||
} else {
|
||||
return [
|
||||
renderDailyTimestamps(message, index),
|
||||
<div className={classes.messageRight} key={message.id}>
|
||||
{message.mediaUrl && checkMessaageMedia(message)}
|
||||
<div className={classes.textContentItem}>
|
||||
{message.body}
|
||||
<span className={classes.timestamp}>
|
||||
{format(parseISO(message.createdAt), "HH:mm")}
|
||||
{renderMessageAck(message)}
|
||||
</span>
|
||||
return (
|
||||
<LinkifyWithTargetBlank key={message.id}>
|
||||
{renderDailyTimestamps(message, index)}
|
||||
<div className={classes.messageRight}>
|
||||
{message.mediaUrl && checkMessaageMedia(message)}
|
||||
<div className={classes.textContentItem}>
|
||||
{message.body}
|
||||
<span className={classes.timestamp}>
|
||||
{format(parseISO(message.createdAt), "HH:mm")}
|
||||
{renderMessageAck(message)}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>,
|
||||
];
|
||||
</LinkifyWithTargetBlank>
|
||||
);
|
||||
}
|
||||
});
|
||||
return viewMessagesList;
|
||||
|
||||
Reference in New Issue
Block a user