feat: autofill all fields on enter details and countryselector clean up

This commit is contained in:
Simon Emanuelsson
2025-05-06 08:43:15 +02:00
parent 81c2afe570
commit 4d41d4fd92
9 changed files with 290 additions and 33 deletions

View File

@@ -10,17 +10,9 @@ export default function AutoFillDetector() {
} = useFormContext()
useEffect(() => {
const dirtyFieldKeys = Object.keys(dirtyFields)
const touchedFieldKeys = Object.keys(touchedFields)
const hasDirtyUnTouchedFields = dirtyFieldKeys.some(
(field) => !touchedFieldKeys.includes(field)
)
const subscription = watch((_, field) => {
if (!field.type) {
if (isDirty && hasDirtyUnTouchedFields) {
trigger(field.name)
trigger("countryCode")
}
if (field.name && dirtyFields[field.name] && !touchedFields[field.name]) {
trigger(field.name)
}
})

View File

@@ -112,6 +112,7 @@ export default function Details({ user }: DetailsProps) {
})}
</Footnote>
<Input
autoComplete="given-name"
label={intl.formatMessage({
defaultMessage: "First name",
})}
@@ -121,6 +122,7 @@ export default function Details({ user }: DetailsProps) {
registerOptions={{ required: true, onBlur: updateDetailsStore }}
/>
<Input
autoComplete="family-name"
label={intl.formatMessage({
defaultMessage: "Last name",
})}
@@ -139,6 +141,7 @@ export default function Details({ user }: DetailsProps) {
registerOptions={{ required: true, onBlur: updateDetailsStore }}
/>
<Input
autoComplete="email"
className={styles.fullWidth}
label={intl.formatMessage({
defaultMessage: "Email address",