about summary refs log tree commit diff
path: root/src/components/Link.tsx
diff options
context:
space:
mode:
authorHailey <me@haileyok.com>2024-03-12 09:46:25 -0700
committerGitHub <noreply@github.com>2024-03-12 09:46:25 -0700
commitee57d74765e644de49c02de1e817eee0c6ed81aa (patch)
tree06945ebe5e8f856981cbfb25c81bdfcee807e43b /src/components/Link.tsx
parentb8afb935f4eafbe64e83512ec5a97bb7b38a6ecb (diff)
downloadvoidsky-ee57d74765e644de49c02de1e817eee0c6ed81aa.tar.zst
Dedupe navigation events (push, navigate, pop, etc) (#3179)
Diffstat (limited to 'src/components/Link.tsx')
-rw-r--r--src/components/Link.tsx11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/components/Link.tsx b/src/components/Link.tsx
index 8c963909b..ff72a08ce 100644
--- a/src/components/Link.tsx
+++ b/src/components/Link.tsx
@@ -1,17 +1,13 @@
 import React from 'react'
 import {GestureResponderEvent} from 'react-native'
-import {
-  useLinkProps,
-  useNavigation,
-  StackActions,
-} from '@react-navigation/native'
+import {useLinkProps, StackActions} from '@react-navigation/native'
 import {sanitizeUrl} from '@braintree/sanitize-url'
 
 import {useInteractionState} from '#/components/hooks/useInteractionState'
 import {isWeb} from '#/platform/detection'
 import {useTheme, web, flatten, TextStyleProp, atoms as a} from '#/alf'
 import {Button, ButtonProps} from '#/components/Button'
-import {AllNavigatorParams, NavigationProp} from '#/lib/routes/types'
+import {AllNavigatorParams} from '#/lib/routes/types'
 import {
   convertBskyAppUrlIfNeeded,
   isExternalUrl,
@@ -21,6 +17,7 @@ import {useModalControls} from '#/state/modals'
 import {router} from '#/routes'
 import {Text, TextProps} from '#/components/Typography'
 import {useOpenLink} from 'state/preferences/in-app-browser'
+import {useNavigationDeduped} from 'lib/hooks/useNavigationDeduped'
 
 /**
  * Only available within a `Link`, since that inherits from `Button`.
@@ -74,7 +71,7 @@ export function useLink({
 }: BaseLinkProps & {
   displayText: string
 }) {
-  const navigation = useNavigation<NavigationProp>()
+  const navigation = useNavigationDeduped()
   const {href} = useLinkProps<AllNavigatorParams>({
     to:
       typeof to === 'string' ? convertBskyAppUrlIfNeeded(sanitizeUrl(to)) : to,