From c7600fe0c2d0b189cb1dcf9ab4d31671f01b81c9 Mon Sep 17 00:00:00 2001
From: Paul Frazee <pfrazee@gmail.com>
Date: Sat, 22 Apr 2023 19:08:41 -0500
Subject: Web fixes (#517)

* Fix scroll behaviors on web

* Remove headers on web to avoid scroll overflow

* Fix follow button press in cards
---
 src/view/com/util/forms/Button.tsx | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

(limited to 'src/view/com/util/forms/Button.tsx')

diff --git a/src/view/com/util/forms/Button.tsx b/src/view/com/util/forms/Button.tsx
index a634b47a9..8548860d0 100644
--- a/src/view/com/util/forms/Button.tsx
+++ b/src/view/com/util/forms/Button.tsx
@@ -1,15 +1,20 @@
 import React from 'react'
 import {
+  GestureResponderEvent,
   StyleProp,
   StyleSheet,
   TextStyle,
-  TouchableOpacity,
+  Pressable,
   ViewStyle,
 } from 'react-native'
 import {Text} from '../text/Text'
 import {useTheme} from 'lib/ThemeContext'
 import {choose} from 'lib/functions'
 
+type Event =
+  | React.MouseEvent<HTMLAnchorElement, MouseEvent>
+  | GestureResponderEvent
+
 export type ButtonType =
   | 'primary'
   | 'secondary'
@@ -114,10 +119,18 @@ export function Button({
       },
     },
   )
+  const onPressWrapped = React.useCallback(
+    (event: Event) => {
+      event.stopPropagation()
+      event.preventDefault()
+      onPress?.()
+    },
+    [onPress],
+  )
   return (
-    <TouchableOpacity
+    <Pressable
       style={[typeOuterStyle, styles.outer, style]}
-      onPress={onPress}
+      onPress={onPressWrapped}
       testID={testID}>
       {label ? (
         <Text type="button" style={[typeLabelStyle, labelStyle]}>
@@ -126,7 +139,7 @@ export function Button({
       ) : (
         children
       )}
-    </TouchableOpacity>
+    </Pressable>
   )
 }
 
-- 
cgit 1.4.1

