diff --git a/src/components/HTMLEngineProvider/HTMLRenderers/AnchorRenderer.js b/src/components/HTMLEngineProvider/HTMLRenderers/AnchorRenderer.js index e768e59bbf98..bf70adda9f07 100644 --- a/src/components/HTMLEngineProvider/HTMLRenderers/AnchorRenderer.js +++ b/src/components/HTMLEngineProvider/HTMLRenderers/AnchorRenderer.js @@ -8,9 +8,11 @@ import htmlRendererPropTypes from './htmlRendererPropTypes'; import * as HTMLEngineUtils from '../htmlEngineUtils'; import Text from '../../Text'; import CONST from '../../../CONST'; +import CONFIG from '../../../CONFIG'; import styles from '../../../styles/styles'; import Navigation from '../../../libs/Navigation/Navigation'; import AnchorForCommentsOnly from '../../AnchorForCommentsOnly'; +import * as Link from '../../../libs/actions/Link'; const AnchorRenderer = (props) => { const htmlAttribs = props.tnode.attributes; @@ -20,16 +22,29 @@ const AnchorRenderer = (props) => { const displayName = lodashGet(props.tnode, 'domNode.children[0].data', ''); const parentStyle = lodashGet(props.tnode, 'parent.styles.nativeTextRet', {}); const attrHref = htmlAttribs.href || ''; - const internalExpensifyPath = (attrHref.startsWith(CONST.NEW_EXPENSIFY_URL) && attrHref.replace(CONST.NEW_EXPENSIFY_URL, '')) + const internalNewExpensifyPath = (attrHref.startsWith(CONST.NEW_EXPENSIFY_URL) && attrHref.replace(CONST.NEW_EXPENSIFY_URL, '')) || (attrHref.startsWith(CONST.STAGING_NEW_EXPENSIFY_URL) && attrHref.replace(CONST.STAGING_NEW_EXPENSIFY_URL, '')); + const internalExpensifyPath = attrHref.startsWith(CONFIG.EXPENSIFY.EXPENSIFY_URL) && attrHref.replace(CONFIG.EXPENSIFY.EXPENSIFY_URL, ''); // If we are handling a New Expensify link then we will assume this should be opened by the app internally. This ensures that the links are opened internally via react-navigation // instead of in a new tab or with a page refresh (which is the default behavior of an anchor tag) + if (internalNewExpensifyPath) { + return ( + Navigation.navigate(internalNewExpensifyPath)} + > + + + ); + } + + // If we are handling an old dot Expensify link we need to open it with openOldDotLink() so we can navigate to it with the user already logged in. if (internalExpensifyPath) { return ( Navigation.navigate(internalExpensifyPath)} + onPress={() => Link.openOldDotLink(internalExpensifyPath)} >