Add NewMarkdown component

This commit is contained in:
Gerzon Z 2021-08-03 03:59:59 -04:00
parent 56ee8d45cd
commit 332a4ebf71
3 changed files with 46 additions and 0 deletions

View File

@ -0,0 +1,42 @@
import React from 'react';
import { Text, PropTypes } from 'react-native';
import MarkdownLink from '../Link';
import MarkdownList from '../List';
import MarkdownListItem from '../ListItem';
import MarkdownAtMention from '../AtMention';
import MarkdownHashtag from '../Hashtag';
import MarkdownBlockQuote from '../BlockQuote';
import MarkdownEmoji from '../Emoji';
import MarkdownTable from '../Table';
import MarkdownTableRow from '../TableRow';
import MarkdownTableCell from '../TableCell';
import styles from '../styles';
import { withTheme } from '../../../theme';
import { themes } from '../../../constants/colors';
const NewMarkdown = ({ md, theme }) => (
<>
{md.map((block, index) => {
switch (block.type) {
case 'PARAGRAPH':
return (
<Text style={[styles.text, style, { color: themes[theme].bodyText }]} numberOfLines={numberOfLines} index={index}>
{block.value?.value}
</Text>
);
case 'LINK':
return <MarkdownLink />;
default:
return null;
}
})}
</>
);
NewMarkdown.propTypes = {
md: PropTypes.array,
theme: PropTypes.string
};
export default withTheme(NewMarkdown);

View File

@ -98,6 +98,9 @@ const Content = React.memo((props) => {
if (prevProps.msg !== nextProps.msg) {
return false;
}
if (prevProps.md !== nextProps.md) {
return false;
}
if (prevProps.type !== nextProps.type) {
return false;
}

View File

@ -54,6 +54,7 @@ const LastMessage = React.memo(({
msg={formatMsg({
lastMessage, type, showLastMessage, username, useRealName
})}
md={lastMessage?.md}
style={[styles.markdownText, { color: alert ? themes[theme].bodyText : themes[theme].auxiliaryText }]}
customEmojis={false}
useRealName={useRealName}