diff --git a/src/screens/ContactFormScreen.tsx b/src/screens/ContactFormScreen.tsx index 516fd99e..c7619b53 100644 --- a/src/screens/ContactFormScreen.tsx +++ b/src/screens/ContactFormScreen.tsx @@ -747,6 +747,15 @@ export default function ContactFormScreen() { const [saving, setSaving] = React.useState(false); const [dirty, setDirty] = React.useState(!!prefill || !!initialMemberIds?.length); const [confirmDiscard, setConfirmDiscard] = React.useState(false); + // Return walks the name fields in reading order, then on to the email. + const prefixRef = React.useRef(null); + const suffixRef = React.useRef(null); + const givenRef = React.useRef(null); + const middleRef = React.useRef(null); + const surnameRef = React.useRef(null); + const orgRef = React.useRef(null); + const fullRef = React.useRef(null); + const firstEmailRef = React.useRef(null); const [datePickerIndex, setDatePickerIndex] = React.useState(null); const [memberPickerOpen, setMemberPickerOpen] = React.useState(false); @@ -1203,6 +1212,10 @@ export default function ContactFormScreen() { fullRef.current?.focus()} placeholderTextColor={c.textMuted} value={form.orgs[0]?.name || ''} onChangeText={(v) => { @@ -1219,6 +1232,10 @@ export default function ContactFormScreen() { suffixRef.current?.focus()} placeholderTextColor={c.textMuted} value={form.prefix} onChangeText={(v) => updateForm('prefix', v)} @@ -1228,6 +1245,10 @@ export default function ContactFormScreen() { givenRef.current?.focus()} placeholderTextColor={c.textMuted} value={form.suffix} onChangeText={(v) => updateForm('suffix', v)} @@ -1238,6 +1259,10 @@ export default function ContactFormScreen() { middleRef.current?.focus()} placeholderTextColor={c.textMuted} value={form.given} onChangeText={(v) => updateForm('given', v)} @@ -1247,6 +1272,10 @@ export default function ContactFormScreen() { surnameRef.current?.focus()} placeholderTextColor={c.textMuted} value={form.middle} onChangeText={(v) => updateForm('middle', v)} @@ -1256,6 +1285,10 @@ export default function ContactFormScreen() { fullRef.current?.focus()} placeholderTextColor={c.textMuted} value={form.surname} onChangeText={(v) => updateForm('surname', v)} @@ -1298,6 +1331,10 @@ export default function ContactFormScreen() { firstEmailRef.current?.focus()} placeholderTextColor={c.textMuted} value={form.full} onChangeText={(v) => updateForm('full', v)} @@ -1315,6 +1352,7 @@ export default function ContactFormScreen() {