-
-
Notifications
You must be signed in to change notification settings - Fork 113
Description
Describe the bug
wired modal behavior, If modal appears before keyboard shows first time, it appears in right position but after keyboard shows at least one time the modal appears at corner as per attached screenshots
Code snippet
` return (
enter_your_commercial_register_number
<Controller
control={control}
name="commercialNum"
rules={{
required: 'commercial_num_is_required',
}}
render={({field: {onChange, onBlur, value}}) => (
<AppInput
ref={commercialRef}
onChangeText={onChange}
value={value}
resetValue={() => resetField('commercialNum')}
placeholder={t('commercial_register')}
label="commercial_register"
onBlur={onBlur}
onFocus={resetCheck}
returnKeyType="next"
returnKeyLabel={t('next')}
onSubmitEditing={handleSubmit(onSubmit)}
/>
)}
/>
<AppButton
onPress={handleSubmit(onSubmit)}
upperCase={true}
type={isValid ? BUTTON_TYPES.PRIMARY : BUTTON_TYPES.DISABLED}
isLoading={isCheckingCR}>
continue
<View style={[styles.separator, styles.row]}>
or
already_have_account
sign_in
<Modal
isVisible={isModalVisible}
animationOutTiming={200}
onBackButtonPress={() => setModalVisible(false)}
onBackdropPress={() => setModalVisible(false)}
deviceHeight={height + moderateVerticalScale(50)}
style={styles.modalStyle}>
<View style={styles.modalContainer(error?.status === 404)}>
{/*
{error?.status === 404 ? 'sorry' : 'already_exist'}
*/}
{error?.data?.errors?.[0]}
{error?.status !== 403 ? (
{error?.status === 404 ? 'register' : 'sign_in'}
) : null}
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: colors.background,
paddingHorizontal: moderateScale(33),
},
headerContainer: {
position: 'absolute',
top: moderateVerticalScale(30),
left: moderateScale(30),
zIndex: 999,
flexDirection: 'row',
justifyContent: 'space-between',
width: '85%',
},
backIcon: {
width: moderateScale(16),
height: moderateVerticalScale(16),
resizeMode: 'contain',
},
contentContainerStyle: {
flexGrow: 1,
alignItems: 'center',
marginTop: moderateVerticalScale(33),
},
imgStyle: {
width: moderateScale(190),
height: moderateVerticalScale(190),
resizeMode: 'contain',
marginVertical: moderateVerticalScale(30),
},
headerTxt: {
fontSize: fontSizes[18],
color: colors.lightGreen,
fontFamily: typo.semiBold,
textAlign: 'center',
},
inputsContainer: {
marginVertical: moderateVerticalScale(25),
gap: moderateVerticalScale(12),
},
modalStyle: {
alignSelf: 'center',
},
modalContainer: notRegister => ({
backgroundColor: colors.white,
borderRadius: moderateScale(22),
alignItems: 'center',
width: moderateScale(275),
height: moderateVerticalScale(notRegister ? 355 : 315),
paddingHorizontal: moderateScale(26),
paddingVertical: moderateVerticalScale(26),
}),
imgModalStyle: {
width: moderateScale(160),
height: moderateVerticalScale(150),
resizeMode: 'contain',
},
txtContainer: {
alignItems: 'center',
paddingVertical: moderateVerticalScale(33),
},
greenTxt: {
fontFamily: typo.semiBold,
fontSize: fontSizes[18],
color: colors.lightGreen,
marginBottom: moderateVerticalScale(12),
},
descriptionTxt: {
fontFamily: typo.medium,
fontSize: fontSizes[16],
color: colors.text,
textAlign: 'center',
maxWidth: moderateScale(240),
},
closeImgContainer: {
width: moderateScale(25),
height: moderateVerticalScale(25),
position: 'absolute',
top: moderateVerticalScale(20),
left: moderateScale(15),
},
closeImg: {
width: '100%',
height: '100%',
resizeMode: 'contain',
},
footer: {
flexDirection: 'row',
gap: moderateScale(5),
},
footerTxt: {
fontSize: fontSizes[14],
color: colors.lightGray,
fontFamily: typo.regular,
},
signUpTxt: {
fontSize: fontSizes[14],
color: colors.lightGreen,
fontFamily: typo.semiBold,
},
lineStyle: {
height: moderateVerticalScale(1),
backgroundColor: colors.darkWhite,
flex: 1,
},
ORTxtStyle: {
fontSize: fontSizes[14],
color: colors.lighterGray,
fontFamily: typo.regular,
},
separator: {
width: '90%',
flexDirection: 'row',
justifyContent: 'center',
alignItems: 'center',
gap: moderateScale(30),
marginVertical: moderateVerticalScale(20),
},`
Smartphone (please complete the following information):
- Desktop OS: ubuntu 22.04
- Device: onePlus 8T
- OS: android 14.0
- RN version: 0.75.4
- RN architecture: new fabric
- JS engine: Hermes
- Library version: 1.14.2