import Icon from "@ant-design/icons"; import { Tooltip } from "antd"; import i18n from "i18next"; import dayjs from "../../utils/day"; import { MdClose, MdDone, MdDoneAll } from "react-icons/md"; import { DateTimeFormatter } from "../../utils/DateFormatter"; export const renderMessage = (messages, index) => { const message = messages[index]; const isSystem = message.is_system; // Determine message class const messageClass = isSystem ? "system messages" : message.isoutbound ? "mine messages" : "yours messages"; // Tooltip content based on message type const tooltipTitle = isSystem ? ( i18n.t("consent.text_body") ) : ( {message.created_at} ); return (
{isSystem && System} {/* Render images if available */} {message.image && message.image_path?.length > 0 && (
{message.image_path.map((url, idx) => ( ))}
)} {/* Render text if available */} {message.text &&
{message.text}
} {/* Render date for system messages */} {isSystem && (
{message.created_at}
)}
{/* Message status icons for non-system messages */} {!isSystem && message.status && (message.status === "sent" || message.status === "delivered" || message.status === "failed") && (
)}
{/* Outbound message metadata for non-system messages */} {!isSystem && message.isoutbound && (
{i18n.t("messaging.labels.sentby", { by: message.userid, time: dayjs(message.created_at).format("MM/DD/YYYY @ hh:mm a") })}
)}
); };