Rocket.Chat.ReactNative/app/containers/SearchBox/index.tsx

44 lines
1.0 KiB
TypeScript

import React, { useCallback, useState } from 'react';
import { StyleSheet, TextInputProps, View } from 'react-native';
import I18n from '../../i18n';
import { FormTextInput } from '../TextInput';
const styles = StyleSheet.create({
inputContainer: {
margin: 16,
marginBottom: 16
}
});
const SearchBox = ({ onChangeText, onSubmitEditing, testID }: TextInputProps): JSX.Element => {
const [text, setText] = useState('');
const internalOnChangeText = useCallback(value => {
setText(value);
onChangeText?.(value);
}, []);
return (
<View testID='searchbox'>
<FormTextInput
autoCapitalize='none'
autoCorrect={false}
blurOnSubmit
placeholder={I18n.t('Search')}
returnKeyType='search'
underlineColorAndroid='transparent'
containerStyle={styles.inputContainer}
onChangeText={internalOnChangeText}
onSubmitEditing={onSubmitEditing}
value={text}
testID={testID}
onClearInput={() => internalOnChangeText('')}
iconRight={'search'}
/>
</View>
);
};
export default SearchBox;