about summary refs log tree commit diff
path: root/src/components/Link.tsx
diff options
context:
space:
mode:
authorMinseo Lee <itoupluk427@gmail.com>2024-02-24 18:23:03 +0900
committerGitHub <noreply@github.com>2024-02-24 18:23:03 +0900
commit89c65c856e4d88cd455d6fb0352755b2dc0b1b66 (patch)
treea0ff2b2d694f3d54c9c11a8f62bdd5737509691f /src/components/Link.tsx
parentc2d87b807554f11cb99694d4b0ccb86905d468c0 (diff)
parentd38f168de593b0a7883180ee51bf043eb1557dd2 (diff)
downloadvoidsky-89c65c856e4d88cd455d6fb0352755b2dc0b1b66.tar.zst
Merge branch 'bluesky-social:main' into patch-3
Diffstat (limited to 'src/components/Link.tsx')
-rw-r--r--src/components/Link.tsx23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/components/Link.tsx b/src/components/Link.tsx
index 593b0863a..0a654fed2 100644
--- a/src/components/Link.tsx
+++ b/src/components/Link.tsx
@@ -1,5 +1,5 @@
 import React from 'react'
-import {GestureResponderEvent, Linking} from 'react-native'
+import {GestureResponderEvent} from 'react-native'
 import {
   useLinkProps,
   useNavigation,
@@ -20,6 +20,7 @@ import {
 import {useModalControls} from '#/state/modals'
 import {router} from '#/routes'
 import {Text, TextProps} from '#/components/Typography'
+import {useOpenLink} from 'state/preferences/in-app-browser'
 
 /**
  * Only available within a `Link`, since that inherits from `Button`.
@@ -80,6 +81,7 @@ export function useLink({
   })
   const isExternal = isExternalUrl(href)
   const {openModal, closeModal} = useModalControls()
+  const openLink = useOpenLink()
 
   const onPress = React.useCallback(
     (e: GestureResponderEvent) => {
@@ -106,7 +108,7 @@ export function useLink({
         e.preventDefault()
 
         if (isExternal) {
-          Linking.openURL(href)
+          openLink(href)
         } else {
           /**
            * A `GestureResponderEvent`, but cast to `any` to avoid using a bunch
@@ -124,7 +126,7 @@ export function useLink({
             href.startsWith('http') ||
             href.startsWith('mailto')
           ) {
-            Linking.openURL(href)
+            openLink(href)
           } else {
             closeModal() // close any active modals
 
@@ -145,15 +147,16 @@ export function useLink({
       }
     },
     [
-      href,
-      isExternal,
+      outerOnPress,
       warnOnMismatchingTextChild,
-      navigation,
-      action,
       displayText,
-      closeModal,
+      isExternal,
+      href,
       openModal,
-      outerOnPress,
+      openLink,
+      closeModal,
+      action,
+      navigation,
     ],
   )
 
@@ -260,7 +263,7 @@ export function InlineLink({
       style={[
         {color: t.palette.primary_500},
         (hovered || focused || pressed) && {
-          outline: 0,
+          ...web({outline: 0}),
           textDecorationLine: 'underline',
           textDecorationColor: flattenedStyle.color ?? t.palette.primary_500,
         },