about summary refs log tree commit diff
path: root/src/components/Link.tsx
diff options
context:
space:
mode:
authorSamuel Newman <mozzius@protonmail.com>2024-04-27 05:25:28 +0100
committerGitHub <noreply@github.com>2024-04-27 05:25:28 +0100
commit1af59ca8a7db308325f8964a131d544882cff6e8 (patch)
treea779d4aee59db8f4ed9bed87759905d055a26640 /src/components/Link.tsx
parentb10c96f28d35108313aa07b02eecb3c0b4b30770 (diff)
downloadvoidsky-1af59ca8a7db308325f8964a131d544882cff6e8.tar.zst
Special-case bsky.app/download to open share sheet or copy to clipboard (#3710)
* special-case bsky.app/download to share

* Address feedback

* Improve detection

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Diffstat (limited to 'src/components/Link.tsx')
-rw-r--r--src/components/Link.tsx6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/components/Link.tsx b/src/components/Link.tsx
index 65a015ba3..a2e952a6e 100644
--- a/src/components/Link.tsx
+++ b/src/components/Link.tsx
@@ -3,10 +3,12 @@ import {GestureResponderEvent} from 'react-native'
 import {sanitizeUrl} from '@braintree/sanitize-url'
 import {StackActions, useLinkProps} from '@react-navigation/native'
 
+import {BSKY_DOWNLOAD_URL} from '#/lib/constants'
 import {AllNavigatorParams} from '#/lib/routes/types'
 import {shareUrl} from '#/lib/sharing'
 import {
   convertBskyAppUrlIfNeeded,
+  isBskyDownloadUrl,
   isExternalUrl,
   linkRequiresWarning,
 } from '#/lib/strings/url-helpers'
@@ -125,7 +127,9 @@ export function useLink({
             (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey)
           const shouldOpenInNewTab = isMetaKey || isMiddleClick
 
-          if (
+          if (isBskyDownloadUrl(href)) {
+            shareUrl(BSKY_DOWNLOAD_URL)
+          } else if (
             shouldOpenInNewTab ||
             href.startsWith('http') ||
             href.startsWith('mailto')