change to SearchInput
This commit is contained in:
@@ -2,7 +2,6 @@ import React from 'react'
|
|||||||
import {
|
import {
|
||||||
ActivityIndicator,
|
ActivityIndicator,
|
||||||
StyleSheet,
|
StyleSheet,
|
||||||
TextInput,
|
|
||||||
TouchableOpacity,
|
TouchableOpacity,
|
||||||
View,
|
View,
|
||||||
ViewStyle,
|
ViewStyle,
|
||||||
@@ -12,10 +11,6 @@ import {
|
|||||||
moderateProfile,
|
moderateProfile,
|
||||||
ModerationDecision,
|
ModerationDecision,
|
||||||
} from '@atproto/api'
|
} from '@atproto/api'
|
||||||
import {
|
|
||||||
FontAwesomeIcon,
|
|
||||||
FontAwesomeIconStyle,
|
|
||||||
} from '@fortawesome/react-native-fontawesome'
|
|
||||||
import {msg} from '@lingui/macro'
|
import {msg} from '@lingui/macro'
|
||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
import {StackActions, useNavigation} from '@react-navigation/native'
|
import {StackActions, useNavigation} from '@react-navigation/native'
|
||||||
@@ -28,11 +23,11 @@ import {s} from '#/lib/styles'
|
|||||||
import {useModerationOpts} from '#/state/preferences/moderation-opts'
|
import {useModerationOpts} from '#/state/preferences/moderation-opts'
|
||||||
import {useActorAutocompleteQuery} from '#/state/queries/actor-autocomplete'
|
import {useActorAutocompleteQuery} from '#/state/queries/actor-autocomplete'
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
import {usePalette} from 'lib/hooks/usePalette'
|
||||||
import {MagnifyingGlassIcon} from 'lib/icons'
|
|
||||||
import {NavigationProp} from 'lib/routes/types'
|
import {NavigationProp} from 'lib/routes/types'
|
||||||
import {precacheProfile} from 'state/queries/profile'
|
import {precacheProfile} from 'state/queries/profile'
|
||||||
import {Link} from '#/view/com/util/Link'
|
import {Link} from '#/view/com/util/Link'
|
||||||
import {UserAvatar} from '#/view/com/util/UserAvatar'
|
import {UserAvatar} from '#/view/com/util/UserAvatar'
|
||||||
|
import {SearchInput} from 'view/com/util/forms/SearchInput'
|
||||||
import {Text} from 'view/com/util/text/Text'
|
import {Text} from 'view/com/util/text/Text'
|
||||||
import {atoms as a} from '#/alf'
|
import {atoms as a} from '#/alf'
|
||||||
|
|
||||||
@@ -187,42 +182,12 @@ export function DesktopSearch() {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<View style={[styles.container, pal.view]}>
|
<View style={[styles.container, pal.view]}>
|
||||||
<View
|
<SearchInput
|
||||||
style={[{backgroundColor: pal.colors.backgroundLight}, styles.search]}>
|
query={query}
|
||||||
<MagnifyingGlassIcon size={20} style={[pal.icon, styles.iconWrapper]} />
|
onChangeQuery={onChangeText}
|
||||||
<TextInput
|
onPressCancelSearch={onPressCancelSearch}
|
||||||
testID="searchTextInput"
|
onSubmitQuery={onSubmit}
|
||||||
placeholder={_(msg`Search`)}
|
|
||||||
placeholderTextColor={pal.colors.textLight}
|
|
||||||
selectTextOnFocus
|
|
||||||
returnKeyType="search"
|
|
||||||
value={query}
|
|
||||||
style={[pal.textLight, styles.input]}
|
|
||||||
onChangeText={onChangeText}
|
|
||||||
onSubmitEditing={onSubmit}
|
|
||||||
accessibilityRole="search"
|
|
||||||
accessibilityLabel={_(msg`Search`)}
|
|
||||||
accessibilityHint=""
|
|
||||||
autoCorrect={false}
|
|
||||||
autoComplete="off"
|
|
||||||
autoCapitalize="none"
|
|
||||||
/>
|
/>
|
||||||
{query ? (
|
|
||||||
<TouchableOpacity
|
|
||||||
onPress={onPressCancelSearch}
|
|
||||||
accessibilityRole="button"
|
|
||||||
accessibilityLabel={_(msg`Cancel search`)}
|
|
||||||
accessibilityHint={_(msg`Exits inputting search query`)}
|
|
||||||
onAccessibilityEscape={onPressCancelSearch}>
|
|
||||||
<FontAwesomeIcon
|
|
||||||
icon="xmark"
|
|
||||||
size={16}
|
|
||||||
style={pal.textLight as FontAwesomeIconStyle}
|
|
||||||
/>
|
|
||||||
</TouchableOpacity>
|
|
||||||
) : undefined}
|
|
||||||
</View>
|
|
||||||
|
|
||||||
{query !== '' && isActive && moderationOpts && (
|
{query !== '' && isActive && moderationOpts && (
|
||||||
<View style={[pal.view, pal.borderDark, styles.resultsContainer]}>
|
<View style={[pal.view, pal.borderDark, styles.resultsContainer]}>
|
||||||
{isFetching && !autocompleteData?.length ? (
|
{isFetching && !autocompleteData?.length ? (
|
||||||
@@ -261,22 +226,6 @@ const styles = StyleSheet.create({
|
|||||||
position: 'relative',
|
position: 'relative',
|
||||||
width: 300,
|
width: 300,
|
||||||
},
|
},
|
||||||
search: {
|
|
||||||
flex: 1,
|
|
||||||
flexDirection: 'row',
|
|
||||||
alignItems: 'center',
|
|
||||||
borderRadius: 30,
|
|
||||||
paddingHorizontal: 12,
|
|
||||||
paddingVertical: 8,
|
|
||||||
},
|
|
||||||
iconWrapper: {
|
|
||||||
marginRight: 6,
|
|
||||||
alignSelf: 'center',
|
|
||||||
},
|
|
||||||
input: {
|
|
||||||
flex: 1,
|
|
||||||
fontSize: 17,
|
|
||||||
},
|
|
||||||
resultsContainer: {
|
resultsContainer: {
|
||||||
marginTop: 10,
|
marginTop: 10,
|
||||||
flexDirection: 'column',
|
flexDirection: 'column',
|
||||||
@@ -284,8 +233,4 @@ const styles = StyleSheet.create({
|
|||||||
borderWidth: 1,
|
borderWidth: 1,
|
||||||
borderRadius: 6,
|
borderRadius: 6,
|
||||||
},
|
},
|
||||||
noResults: {
|
|
||||||
textAlign: 'center',
|
|
||||||
paddingVertical: 10,
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user