From 90ec22a6749555f48bfd21eec81f877f8eae0524 Mon Sep 17 00:00:00 2001
From: Paul Frazee <pfrazee@gmail.com>
Date: Mon, 10 Jun 2024 11:44:13 -0700
Subject: Add support for new-tab clicks on feeds (#4462)

---
 src/platform/urls.tsx | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

(limited to 'src/platform/urls.tsx')

diff --git a/src/platform/urls.tsx b/src/platform/urls.tsx
index fd844d933..fd9d297aa 100644
--- a/src/platform/urls.tsx
+++ b/src/platform/urls.tsx
@@ -1,4 +1,5 @@
-import {Linking} from 'react-native'
+import {GestureResponderEvent, Linking} from 'react-native'
+
 import {isNative, isWeb} from './detection'
 
 export async function getInitialURL(): Promise<string | undefined> {
@@ -23,3 +24,15 @@ export function clearHash() {
     window.location.hash = ''
   }
 }
+
+export function shouldClickOpenNewTab(e: GestureResponderEvent) {
+  /**
+   * A `GestureResponderEvent`, but cast to `any` to avoid using a bunch
+   * of @ts-ignore below.
+   */
+  const event = e as any
+  const isMiddleClick = isWeb && event.button === 1
+  const isMetaKey =
+    isWeb && (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey)
+  return isMetaKey || isMiddleClick
+}
-- 
cgit 1.4.1

