about summary refs log tree commit diff
path: root/src/view/com/util/Link.tsx
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2022-11-18 11:37:25 -0600
committerPaul Frazee <pfrazee@gmail.com>2022-11-18 11:37:25 -0600
commit368286ad67436e379324be9f81f9e2949ebff12c (patch)
tree16ec9c08d76e1fe601d25516f896a603e38009c7 /src/view/com/util/Link.tsx
parent2f9dd131f9d2db2e5d66c20f1ff576f292cdd46a (diff)
downloadvoidsky-368286ad67436e379324be9f81f9e2949ebff12c.tar.zst
Fix richtext link rendering
Diffstat (limited to 'src/view/com/util/Link.tsx')
-rw-r--r--src/view/com/util/Link.tsx36
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>
+  )
+})