about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAnsh <anshnanda10@gmail.com>2023-09-12 02:01:14 +0530
committerGitHub <noreply@github.com>2023-09-11 13:31:14 -0700
commit27cb1bd27698991c5da3aca9bb53d915bc3f287e (patch)
tree5ff14d11c8ad918207ad4fbc89034700df9f97f4 /src
parentbcd63e710c09de430dce5034993bf7aed3185902 (diff)
downloadvoidsky-27cb1bd27698991c5da3aca9bb53d915bc3f287e.tar.zst
make sure click events on the emoji picker don't bubble up to the mask (#1427)
Diffstat (limited to 'src')
-rw-r--r--src/view/com/composer/text-input/web/EmojiPicker.web.tsx36
1 files changed, 21 insertions, 15 deletions
diff --git a/src/view/com/composer/text-input/web/EmojiPicker.web.tsx b/src/view/com/composer/text-input/web/EmojiPicker.web.tsx
index a0d1f67d6..bfd3b9c6e 100644
--- a/src/view/com/composer/text-input/web/EmojiPicker.web.tsx
+++ b/src/view/com/composer/text-input/web/EmojiPicker.web.tsx
@@ -58,21 +58,27 @@ export function EmojiPicker({close}: {close: () => void}) {
     // eslint-disable-next-line react-native-a11y/has-valid-accessibility-descriptors
     <TouchableWithoutFeedback onPress={close} accessibilityViewIsModal>
       <View style={styles.mask}>
-        <View
-          style={[
-            styles.picker,
-            {
-              paddingTop: noPadding ? 0 : reducedPadding ? 150 : 325,
-              display: noPicker ? 'none' : 'flex',
-            },
-          ]}>
-          <Picker
-            // @ts-ignore we set emojiMartData in `emoji-mart-data.js` file
-            data={window.emojiMartData}
-            onEmojiSelect={onInsert}
-            autoFocus={false}
-          />
-        </View>
+        {/* eslint-disable-next-line react-native-a11y/has-valid-accessibility-descriptors */}
+        <TouchableWithoutFeedback
+          onPress={e => {
+            e.stopPropagation() // prevent event from bubbling up to the mask
+          }}>
+          <View
+            style={[
+              styles.picker,
+              {
+                paddingTop: noPadding ? 0 : reducedPadding ? 150 : 325,
+                display: noPicker ? 'none' : 'flex',
+              },
+            ]}>
+            <Picker
+              // @ts-ignore we set emojiMartData in `emoji-mart-data.js` file
+              data={window.emojiMartData}
+              onEmojiSelect={onInsert}
+              autoFocus={false}
+            />
+          </View>
+        </TouchableWithoutFeedback>
       </View>
     </TouchableWithoutFeedback>
   )