diff options
author | Paul Frazee <pfrazee@gmail.com> | 2022-11-18 11:37:25 -0600 |
---|---|---|
committer | Paul Frazee <pfrazee@gmail.com> | 2022-11-18 11:37:25 -0600 |
commit | 368286ad67436e379324be9f81f9e2949ebff12c (patch) | |
tree | 16ec9c08d76e1fe601d25516f896a603e38009c7 /src/view/com/util/Link.tsx | |
parent | 2f9dd131f9d2db2e5d66c20f1ff576f292cdd46a (diff) | |
download | voidsky-368286ad67436e379324be9f81f9e2949ebff12c.tar.zst |
Fix richtext link rendering
Diffstat (limited to 'src/view/com/util/Link.tsx')
-rw-r--r-- | src/view/com/util/Link.tsx | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/src/view/com/util/Link.tsx b/src/view/com/util/Link.tsx index 1d8ec2309..4931438b8 100644 --- a/src/view/com/util/Link.tsx +++ b/src/view/com/util/Link.tsx @@ -1,6 +1,12 @@ import React from 'react' import {observer} from 'mobx-react-lite' -import {StyleProp, Text, TouchableOpacity, ViewStyle} from 'react-native' +import { + StyleProp, + Text, + TouchableOpacity, + TextStyle, + ViewStyle, +} from 'react-native' import {useStores} from '../../../state' import {LinkActionsModel} from '../../../state/models/shell-ui' @@ -21,6 +27,7 @@ export const Link = observer(function Link({ store.nav.navigate(href) } const onLongPress = () => { + store.shell.closeModal() // close any active modals store.nav.newTab(href, title) // store.shell.openModal(new LinkActionsModel(href, title || href)) } @@ -34,3 +41,30 @@ export const Link = observer(function Link({ </TouchableOpacity> ) }) + +export const TextLink = observer(function Link({ + style, + href, + title, + text, +}: { + style?: StyleProp<TextStyle> + href: string + title?: string + text: string +}) { + const store = useStores() + const onPress = () => { + store.shell.closeModal() // close any active modals + store.nav.navigate(href) + } + const onLongPress = () => { + store.shell.closeModal() // close any active modals + store.nav.newTab(href, title) + } + return ( + <Text style={style} onPress={onPress} onLongPress={onLongPress}> + {text} + </Text> + ) +}) |