0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-03-24 22:41:28 -05:00

fix(experience): apply form default value to smart input filed (#6521)

This commit is contained in:
Xiao Yijun 2024-08-27 13:01:33 +08:00 committed by GitHub
parent 47d5a620ca
commit 0fec957d70
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 15 additions and 10 deletions

View file

@ -121,13 +121,13 @@ const IdentifierRegisterForm = ({ className, autoFocus, signUpMethods }: Props)
return true; return true;
}, },
}} }}
render={({ field }) => ( render={({ field, formState: { defaultValues } }) => (
<SmartInputField <SmartInputField
autoComplete="off" autoComplete="off"
autoFocus={autoFocus} autoFocus={autoFocus}
className={styles.inputField} className={styles.inputField}
{...field} {...field}
defaultValue={field.value.value} defaultValue={defaultValues?.identifier?.value}
isDanger={!!errors.identifier || !!errorMessage} isDanger={!!errors.identifier || !!errorMessage}
errorMessage={errors.identifier?.message} errorMessage={errors.identifier?.message}
enabledTypes={signUpMethods} enabledTypes={signUpMethods}

View file

@ -122,7 +122,7 @@ const IdentifierSignInForm = ({ className, autoFocus, signInMethods }: Props) =>
: true; : true;
}, },
}} }}
render={({ field }) => ( render={({ field, formState: { defaultValues } }) => (
<SmartInputField <SmartInputField
autoFocus={autoFocus} autoFocus={autoFocus}
className={styles.inputField} className={styles.inputField}
@ -130,7 +130,7 @@ const IdentifierSignInForm = ({ className, autoFocus, signInMethods }: Props) =>
isDanger={!!errors.identifier || !!errorMessage} isDanger={!!errors.identifier || !!errorMessage}
errorMessage={errors.identifier?.message} errorMessage={errors.identifier?.message}
enabledTypes={enabledSignInMethods} enabledTypes={enabledSignInMethods}
defaultValue={field.value.value} defaultValue={defaultValues?.identifier?.value}
/> />
)} )}
/> />

View file

@ -121,7 +121,7 @@ const PasswordSignInForm = ({ className, autoFocus, signInMethods }: Props) => {
return errorMessage ? getGeneralIdentifierErrorMessage(signInMethods, 'invalid') : true; return errorMessage ? getGeneralIdentifierErrorMessage(signInMethods, 'invalid') : true;
}, },
}} }}
render={({ field }) => ( render={({ field, formState: { defaultValues } }) => (
<SmartInputField <SmartInputField
autoFocus={autoFocus} autoFocus={autoFocus}
className={styles.inputField} className={styles.inputField}
@ -129,7 +129,7 @@ const PasswordSignInForm = ({ className, autoFocus, signInMethods }: Props) => {
isDanger={!!errors.identifier} isDanger={!!errors.identifier}
errorMessage={errors.identifier?.message} errorMessage={errors.identifier?.message}
enabledTypes={signInMethods} enabledTypes={signInMethods}
defaultValue={field.value.value} defaultValue={defaultValues?.identifier?.value}
/> />
)} )}
/> />

View file

@ -35,6 +35,11 @@ const SingleSignOnForm = ({ isTermsAndPrivacyCheckboxVisible }: Props) => {
formState: { errors, isValid, isSubmitting }, formState: { errors, isValid, isSubmitting },
} = useForm<FormState>({ } = useForm<FormState>({
reValidateMode: 'onBlur', reValidateMode: 'onBlur',
defaultValues: {
identifier: {
value: ssoEmail,
},
},
}); });
useEffect(() => { useEffect(() => {
@ -82,13 +87,13 @@ const SingleSignOnForm = ({ isTermsAndPrivacyCheckboxVisible }: Props) => {
: true; : true;
}, },
}} }}
render={({ field }) => ( render={({ field, formState: { defaultValues } }) => (
<SmartInputField <SmartInputField
autoFocus autoFocus
className={styles.inputField} className={styles.inputField}
{...field} {...field}
isDanger={!!errors.identifier} isDanger={!!errors.identifier}
defaultValue={ssoEmail} defaultValue={defaultValues?.identifier?.value}
errorMessage={errors.identifier?.message} errorMessage={errors.identifier?.message}
enabledTypes={[SignInIdentifier.Email]} enabledTypes={[SignInIdentifier.Email]}
/> />

View file

@ -98,12 +98,12 @@ const ForgotPasswordForm = ({ className, autoFocus, defaultValue = '', enabledTy
return true; return true;
}, },
}} }}
render={({ field }) => ( render={({ field, formState: { defaultValues } }) => (
<SmartInputField <SmartInputField
autoFocus={autoFocus} autoFocus={autoFocus}
className={styles.inputField} className={styles.inputField}
{...field} {...field}
defaultValue={defaultValue} defaultValue={defaultValues?.identifier?.value}
isDanger={!!errors.identifier} isDanger={!!errors.identifier}
errorMessage={errors.identifier?.message} errorMessage={errors.identifier?.message}
enabledTypes={enabledTypes} enabledTypes={enabledTypes}