minor search screen ux improvements (#2264)

* handle taps while keyboard is displayed

* dismiss keyboard on drag when searching feeds

* dismiss on drag and persist taps on suggested follows

* add hitslop to clear button

* add hitslop to cancel button

* dismiss keyboard on drag when searching users

* hit slop for feed search clear button

* move import
zio/stable
Hailey 2023-12-28 12:58:28 -08:00 committed by GitHub
parent 40a110c541
commit f0532865ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 4 deletions

View File

@ -11,6 +11,7 @@ import {
FontAwesomeIcon,
FontAwesomeIconStyle,
} from '@fortawesome/react-native-fontawesome'
import {HITSLOP_10} from 'lib/constants'
import {MagnifyingGlassIcon} from 'lib/icons'
import {useTheme} from 'lib/ThemeContext'
import {usePalette} from 'lib/hooks/usePalette'
@ -71,7 +72,8 @@ export function SearchInput({
onPress={onPressCancelSearchInner}
accessibilityRole="button"
accessibilityLabel={_(msg`Clear search query`)}
accessibilityHint="">
accessibilityHint=""
hitSlop={HITSLOP_10}>
<FontAwesomeIcon
icon="xmark"
size={16}

View File

@ -494,6 +494,8 @@ export function FeedsScreen(_props: Props) {
// @ts-ignore our .web version only -prf
desktopFixedHeight
scrollIndicatorInsets={{right: 1}}
keyboardShouldPersistTaps="handled"
keyboardDismissMode="on-drag"
/>
{hasSession && (

View File

@ -162,6 +162,8 @@ function SearchScreenSuggestedFollows() {
// @ts-ignore web only -prf
desktopFixedHeight
contentContainerStyle={{paddingBottom: 1200}}
keyboardShouldPersistTaps="handled"
keyboardDismissMode="on-drag"
/>
) : (
<CenteredView sideBorders style={[pal.border, s.hContentRegion]}>
@ -572,7 +574,8 @@ export function SearchScreenMobile(
onPress={onPressClearQuery}
accessibilityRole="button"
accessibilityLabel={_(msg`Clear search query`)}
accessibilityHint="">
accessibilityHint=""
hitSlop={HITSLOP_10}>
<FontAwesomeIcon
icon="xmark"
size={16}
@ -584,7 +587,10 @@ export function SearchScreenMobile(
{query || inputIsFocused ? (
<View style={styles.headerCancelBtn}>
<Pressable onPress={onPressCancelSearch} accessibilityRole="button">
<Pressable
onPress={onPressCancelSearch}
accessibilityRole="button"
hitSlop={HITSLOP_10}>
<Text style={[pal.text]}>
<Trans>Cancel</Trans>
</Text>
@ -598,7 +604,10 @@ export function SearchScreenMobile(
{isFetching ? (
<Loader />
) : (
<ScrollView style={{height: '100%'}}>
<ScrollView
style={{height: '100%'}}
keyboardShouldPersistTaps="handled"
keyboardDismissMode="on-drag">
{searchResults.length ? (
searchResults.map((item, i) => (
<SearchResultCard