Fix richtext link rendering

This commit is contained in:
Paul Frazee 2022-11-18 11:37:25 -06:00
parent 2f9dd131f9
commit 368286ad67
2 changed files with 44 additions and 16 deletions

View file

@ -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>
)
})