From 885ad2c7564ea81e35f00d2d1b04ecbbe3aca6ec Mon Sep 17 00:00:00 2001
From: Hailey <me@haileyok.com>
Date: Thu, 6 Jun 2024 12:15:36 -0700
Subject: disable keyboard controller in the composer screen (#4399)

* disable keyboard controller in the composer screen

* add comment

* oops

* destructure

* rename to keyboard context for clarity

* move destructure

* cleanup
---
 src/view/com/composer/Composer.tsx | 12 ++++++++++++
 1 file changed, 12 insertions(+)

(limited to 'src/view/com/composer/Composer.tsx')

diff --git a/src/view/com/composer/Composer.tsx b/src/view/com/composer/Composer.tsx
index 862e36625..580748839 100644
--- a/src/view/com/composer/Composer.tsx
+++ b/src/view/com/composer/Composer.tsx
@@ -17,6 +17,7 @@ import {
 import {
   KeyboardAvoidingView,
   KeyboardStickyView,
+  useKeyboardContext,
 } from 'react-native-keyboard-controller'
 import Animated, {
   interpolateColor,
@@ -129,6 +130,17 @@ export const ComposePost = observer(function ComposePost({
   const {closeAllDialogs} = useDialogStateControlContext()
   const t = useTheme()
 
+  // Disable this in the composer to prevent any extra keyboard height being applied.
+  // See https://github.com/bluesky-social/social-app/pull/4399
+  const {setEnabled} = useKeyboardContext()
+  React.useEffect(() => {
+    setEnabled(false)
+
+    return () => {
+      setEnabled(true)
+    }
+  }, [setEnabled])
+
   const [isKeyboardVisible] = useIsKeyboardVisible({iosUseWillEvents: true})
   const [isProcessing, setIsProcessing] = useState(false)
   const [processingState, setProcessingState] = useState('')
-- 
cgit 1.4.1

