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); },