diff --git a/apps/src/tests/issue-tests/TestSearchBarKeyboardReopen.tsx b/apps/src/tests/issue-tests/TestSearchBarKeyboardReopen.tsx new file mode 100644 index 0000000000..a3e1dabaf2 --- /dev/null +++ b/apps/src/tests/issue-tests/TestSearchBarKeyboardReopen.tsx @@ -0,0 +1,93 @@ +import React from 'react'; +import { NavigationContainer, ParamListBase } from '@react-navigation/native'; +import { + NativeStackNavigationProp, + createNativeStackNavigator, +} from '@react-navigation/native-stack'; +import { Alert, Button, ScrollView, Text, View } from 'react-native'; +import { ListItem } from '../../shared'; + +type StackRouteParamList = { + Home: undefined; + Second: undefined; +}; + +type NavigationProp = { + navigation: NativeStackNavigationProp; +}; + +type StackNavigationProp = NavigationProp; + +const Stack = createNativeStackNavigator(); + +const items = Array.from({ length: 20 }, (_, i) => `Item ${i + 1}`); + +function Second({}: StackNavigationProp) { + return ( + + Second screen + + ); +} + +function Home({ navigation }: StackNavigationProp) { + const [searchQuery, setSearchQuery] = React.useState(''); + + React.useLayoutEffect(() => { + navigation.setOptions({ + headerSearchBarOptions: { + placement: 'stacked', + hideWhenScrolling: false, + onChangeText: event => setSearchQuery(event.nativeEvent.text), + }, + headerRight: () => ( +