diff --git a/src/components/webView/index.js b/src/components/webView/index.js new file mode 100644 index 000000000000..f84417a1f454 --- /dev/null +++ b/src/components/webView/index.js @@ -0,0 +1,25 @@ +import {Text} from 'react-native'; +import React from 'react'; +import PropTypes from 'prop-types'; +import ExpensiMark from '../../lib/ExpensiMark'; + +const parser = new ExpensiMark(); +const propTypes = { + html: PropTypes.string, +}; +const defaultProps = { + html: '', +}; + +const WebView = ({html}) => ( + + {/* eslint-disable-next-line react/no-danger */} + + +); + +WebView.propTypes = propTypes; +WebView.defaultProps = defaultProps; +WebView.displayName = 'WebView'; + +export default WebView; diff --git a/src/components/webView/index.native.js b/src/components/webView/index.native.js new file mode 100644 index 000000000000..5da7b15f8064 --- /dev/null +++ b/src/components/webView/index.native.js @@ -0,0 +1,22 @@ +import React from 'react'; +import {Text} from 'react-native'; +import Str from '../../lib/Str'; +import PropTypes from 'prop-types'; + +const propTypes = { + html: PropTypes.string, +}; +const defaultProps = { + html: '', +}; + +// @TODO native clients don't support directly injecting HTML so a method needs to be found to do this reliably +const WebView = ({html}) => ( + {Str.htmlDecode(html)} +); + +WebView.propTypes = propTypes; +WebView.defaultProps = defaultProps; +WebView.displayName = 'WebView'; + +export default WebView; diff --git a/src/page/HomePage/Report/ReportHistoryItemFragment.js b/src/page/HomePage/Report/ReportHistoryItemFragment.js index c5ad124d669b..fffd5565cc96 100644 --- a/src/page/HomePage/Report/ReportHistoryItemFragment.js +++ b/src/page/HomePage/Report/ReportHistoryItemFragment.js @@ -1,5 +1,6 @@ import React from 'react'; import {Text} from 'react-native'; +import WebView from '../../../components/webView'; import Str from '../../../lib/Str'; import ReportHistoryFragmentPropTypes from './ReportHistoryFragmentPropTypes'; import styles from '../../../style/StyleSheet'; @@ -12,7 +13,9 @@ const propTypes = { const ReportHistoryItemFragment = ({fragment}) => { switch (fragment.type) { case 'COMMENT': - return {Str.htmlDecode(fragment.text)}; + return fragment.html + ? + : {Str.htmlDecode(fragment.text)}; // return fragment.html // ? (