Changeset View
Changeset View
Standalone View
Standalone View
native/chat/sidebar-list-modal.react.js
Show All 26 Lines | |||||
} | } | ||||
type Props = { | type Props = { | ||||
+navigation: RootNavigationProp<'SidebarListModal'>, | +navigation: RootNavigationProp<'SidebarListModal'>, | ||||
+route: NavigationRoute<'SidebarListModal'>, | +route: NavigationRoute<'SidebarListModal'>, | ||||
}; | }; | ||||
function SidebarListModal(props: Props): React.Node { | function SidebarListModal(props: Props): React.Node { | ||||
const [searchText, setSearchText] = React.useState(''); | const [searchText, setSearchText] = React.useState(''); | ||||
const { listData, setSearchState, onChangeSearchText } = useSearchSidebars( | const { sidebars, setSearchState, onChangeSearchText } = useSearchSidebars( | ||||
props.route.params.threadInfo, | props.route.params.threadInfo, | ||||
searchText, | searchText, | ||||
setSearchText, | setSearchText, | ||||
); | ); | ||||
const searchTextInputRef = React.useRef(); | const searchTextInputRef = React.useRef(); | ||||
const setSearchTextInputRef = React.useCallback( | const setSearchTextInputRef = React.useCallback( | ||||
async (textInput: ?React.ElementRef<typeof TextInput>) => { | async (textInput: ?React.ElementRef<typeof TextInput>) => { | ||||
Show All 40 Lines | <Modal> | ||||
<Search | <Search | ||||
searchText={searchText} | searchText={searchText} | ||||
onChangeText={onChangeSearchText} | onChangeText={onChangeSearchText} | ||||
containerStyle={styles.search} | containerStyle={styles.search} | ||||
placeholder="Search sidebars" | placeholder="Search sidebars" | ||||
ref={setSearchTextInputRef} | ref={setSearchTextInputRef} | ||||
/> | /> | ||||
<FlatList | <FlatList | ||||
data={listData} | data={sidebars} | ||||
renderItem={renderItem} | renderItem={renderItem} | ||||
keyExtractor={keyExtractor} | keyExtractor={keyExtractor} | ||||
getItemLayout={getItemLayout} | getItemLayout={getItemLayout} | ||||
keyboardShouldPersistTaps="handled" | keyboardShouldPersistTaps="handled" | ||||
initialNumToRender={20} | initialNumToRender={20} | ||||
indicatorStyle={indicatorStyle} | indicatorStyle={indicatorStyle} | ||||
/> | /> | ||||
</Modal> | </Modal> | ||||
Show All 15 Lines |