From b4fd965c439bfe560da8ac680a87e18b7a829c93 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Wed, 3 Jun 2026 15:27:51 +0700 Subject: [PATCH] Dismiss keyboard when opening selectors --- packages/app/src/components/ui/combobox.tsx | 4 ++++ packages/app/src/components/ui/dropdown-menu.tsx | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/packages/app/src/components/ui/combobox.tsx b/packages/app/src/components/ui/combobox.tsx index 65b4bb74d..8c05f61ab 100644 --- a/packages/app/src/components/ui/combobox.tsx +++ b/packages/app/src/components/ui/combobox.tsx @@ -17,6 +17,7 @@ import { ScrollView, Platform, StatusBar, + Keyboard, useWindowDimensions, type LayoutChangeEvent, type PressableStateCallbackType, @@ -737,6 +738,9 @@ function applySetOpen( onOpenChange: ((open: boolean) => void) | undefined, nextOpen: boolean, ) { + if (nextOpen) { + Keyboard.dismiss(); + } if (!isControlled) { setInternalOpen(nextOpen); } diff --git a/packages/app/src/components/ui/dropdown-menu.tsx b/packages/app/src/components/ui/dropdown-menu.tsx index a50ea04fc..e49a48167 100644 --- a/packages/app/src/components/ui/dropdown-menu.tsx +++ b/packages/app/src/components/ui/dropdown-menu.tsx @@ -18,6 +18,7 @@ import { Text, View, Dimensions, + Keyboard, Platform, StatusBar, type PressableProps, @@ -90,6 +91,9 @@ function useControllableOpenState({ const value = isControlled ? open : internalOpen; const setValue = useCallback( (next: boolean) => { + if (next) { + Keyboard.dismiss(); + } if (!isControlled) setInternalOpen(next); onOpenChange?.(next); },