From 559f804073d922ea0e61b72c15e832137fe3a09e Mon Sep 17 00:00:00 2001 From: Gerzon Z Date: Tue, 3 Aug 2021 14:13:07 -0400 Subject: [PATCH] Remove NewMarkdown component and add specific components for new message parser --- .../markdown/NewMarkdown/BigEmoji.js | 16 +++++++++ .../NewMarkdown/{index.js => Body.js} | 33 ++++++++++++------ app/containers/markdown/NewMarkdown/Code.js | 34 +++++++++++++++++++ 3 files changed, 72 insertions(+), 11 deletions(-) create mode 100644 app/containers/markdown/NewMarkdown/BigEmoji.js rename app/containers/markdown/NewMarkdown/{index.js => Body.js} (50%) create mode 100644 app/containers/markdown/NewMarkdown/Code.js diff --git a/app/containers/markdown/NewMarkdown/BigEmoji.js b/app/containers/markdown/NewMarkdown/BigEmoji.js new file mode 100644 index 000000000..5bf78fdb4 --- /dev/null +++ b/app/containers/markdown/NewMarkdown/BigEmoji.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { PropTypes } from 'react-native'; + +import MarkdownEmoji from '../Emoji'; + +const BigEmoji = ({ value }) => ( + <> + + +); + +BigEmoji.propTypes = { + value: PropTypes.string +}; + +export default BigEmoji; diff --git a/app/containers/markdown/NewMarkdown/index.js b/app/containers/markdown/NewMarkdown/Body.js similarity index 50% rename from app/containers/markdown/NewMarkdown/index.js rename to app/containers/markdown/NewMarkdown/Body.js index c44f488c6..5fb5ecb65 100644 --- a/app/containers/markdown/NewMarkdown/index.js +++ b/app/containers/markdown/NewMarkdown/Body.js @@ -2,29 +2,38 @@ 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 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 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 }) => ( +const Body = ({ + md, style, numberOfLines, theme +}) => ( <> {md.map((block, index) => { switch (block.type) { + case 'UNORDERED_LIST': + return ; + case 'ORDERED_LIST': + return ; + case 'QUOTE': + return ; case 'PARAGRAPH': return ( {block.value?.value} ); + case 'CODE': + return ; case 'LINK': return ; default: @@ -34,9 +43,11 @@ const NewMarkdown = ({ md, theme }) => ( ); -NewMarkdown.propTypes = { +Body.propTypes = { md: PropTypes.array, - theme: PropTypes.string + theme: PropTypes.string, + style: PropTypes.object, + numberOfLines: PropTypes.number }; -export default withTheme(NewMarkdown); +export default withTheme(Body); diff --git a/app/containers/markdown/NewMarkdown/Code.js b/app/containers/markdown/NewMarkdown/Code.js new file mode 100644 index 000000000..593934c7a --- /dev/null +++ b/app/containers/markdown/NewMarkdown/Code.js @@ -0,0 +1,34 @@ +import React from 'react'; +import { PropTypes, Text } from 'react-native'; +import { themes } from '../../../constants/colors'; +import { useTheme } from '../../../theme'; + +const Code = ({ + type, styles, style, literal +}) => { + const theme = useTheme(); + return ( + + {literal} + + ); +}; + +Code.propTypes = { + type: PropTypes.string, + literal: PropTypes.string, + styles: PropTypes.object, + style: PropTypes.object +}; + +export default Code;