fix keyboard overlaying onboarding inputs (#4558)

zio/stable
Hailey 2024-06-18 10:57:08 -07:00 committed by GitHub
parent 443beda741
commit 73c9de3ce2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 3 deletions

View File

@ -1,5 +1,5 @@
import React from 'react' import React from 'react'
import {View} from 'react-native' import {Keyboard, View} from 'react-native'
import DatePicker from 'react-native-date-picker' import DatePicker from 'react-native-date-picker'
import {msg, Trans} from '@lingui/macro' import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react' import {useLingui} from '@lingui/react'
@ -49,7 +49,10 @@ export function DateField({
<DateFieldButton <DateFieldButton
label={label} label={label}
value={value} value={value}
onPress={control.open} onPress={() => {
Keyboard.dismiss()
control.open()
}}
isInvalid={isInvalid} isInvalid={isInvalid}
accessibilityHint={accessibilityHint} accessibilityHint={accessibilityHint}
/> />

View File

@ -3,6 +3,7 @@ import {ScrollView, StyleSheet, View} from 'react-native'
import {isWeb} from '#/platform/detection' import {isWeb} from '#/platform/detection'
import {useColorSchemeStyle} from 'lib/hooks/useColorSchemeStyle' import {useColorSchemeStyle} from 'lib/hooks/useColorSchemeStyle'
import {useIsKeyboardVisible} from 'lib/hooks/useIsKeyboardVisible'
import {usePalette} from 'lib/hooks/usePalette' import {usePalette} from 'lib/hooks/usePalette'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
import {atoms as a} from '#/alf' import {atoms as a} from '#/alf'
@ -29,13 +30,18 @@ export const LoggedOutLayout = ({
borderLeftWidth: 1, borderLeftWidth: 1,
}) })
const [isKeyboardVisible] = useIsKeyboardVisible()
if (isMobile) { if (isMobile) {
if (scrollable) { if (scrollable) {
return ( return (
<ScrollView <ScrollView
style={styles.scrollview} style={styles.scrollview}
keyboardShouldPersistTaps="handled" keyboardShouldPersistTaps="handled"
keyboardDismissMode="on-drag"> keyboardDismissMode="none"
contentContainerStyle={[
{paddingBottom: isKeyboardVisible ? 300 : 0},
]}>
<View style={a.pt_md}>{children}</View> <View style={a.pt_md}>{children}</View>
</ScrollView> </ScrollView>
) )