import { Text, View, StyleSheet } from '@react-pdf/renderer';
import { fontScale } from '@rocket.chat/fuselage-tokens/dist/typography.json';
import type { PDFMessage } from '../../../types/ChatTranscriptData';
import { Markup } from '../markup';
import { Divider } from './Divider';
import { Files } from './Files';
import { MessageHeader } from './MessageHeader';
import Quotes from './Quotes';
import { isSystemMessage, markupEntriesGreaterThan10, messageLongerThanPage, splitByTens } from './utils';
const styles = StyleSheet.create({
wrapper: {
marginBottom: 16,
paddingBottom: 16,
paddingHorizontal: 32,
},
message: {
marginTop: 1,
fontSize: fontScale.p2.fontSize,
},
systemMessage: {
fontStyle: 'italic',
},
});
const processMd = (message: PDFMessage) =>
splitByTens(message.md).map((chunk, index) => (
} />
));
const processMessage = (message: PDFMessage) => {
if (message.md) {
if (markupEntriesGreaterThan10(message.md)) {
return processMd(message);
}
return (
);
}
return (
{message.msg}
);
};
export type MessageProps = { message: PDFMessage; invalidFileMessage: string };
const Message = ({ message, invalidFileMessage }: MessageProps) => (
0)}>
{message.divider && }
{processMessage(message)}
{message.quotes && }
{message.files && }
);
export default Message;