Auto focus reps and keep keyboard open

This commit is contained in:
Brandon Presley 2022-07-20 15:22:56 +12:00
parent d513b147bc
commit e9e7651d65

View File

@ -5,7 +5,13 @@ import {
useNavigation, useNavigation,
useRoute, useRoute,
} from '@react-navigation/native'; } from '@react-navigation/native';
import React, {useCallback, useContext, useEffect, useState} from 'react'; import React, {
useCallback,
useContext,
useEffect,
useRef,
useState,
} from 'react';
import {NativeModules, ScrollView, StyleSheet, View} from 'react-native'; import {NativeModules, ScrollView, StyleSheet, View} from 'react-native';
import DateTimePickerModal from 'react-native-modal-datetime-picker'; import DateTimePickerModal from 'react-native-modal-datetime-picker';
import {Button, IconButton, TextInput} from 'react-native-paper'; import {Button, IconButton, TextInput} from 'react-native-paper';
@ -23,6 +29,7 @@ export default function EditSet() {
const [created, setCreated] = useState(new Date(params.set.created)); const [created, setCreated] = useState(new Date(params.set.created));
const [unit, setUnit] = useState(params.set.unit); const [unit, setUnit] = useState(params.set.unit);
const [showDate, setShowDate] = useState(false); const [showDate, setShowDate] = useState(false);
const weightRef = useRef<any>(null);
const db = useContext(DatabaseContext); const db = useContext(DatabaseContext);
const navigation = useNavigation(); const navigation = useNavigation();
@ -167,25 +174,29 @@ export default function EditSet() {
<ScrollView style={{height: '90%'}}> <ScrollView style={{height: '90%'}}>
<TextInput <TextInput
style={styles.marginBottom} style={styles.marginBottom}
label="Name *" label="Name"
value={name} value={name}
onChangeText={setName} onChangeText={setName}
autoCorrect={false} autoCorrect={false}
/> />
<TextInput <TextInput
style={styles.marginBottom} style={styles.marginBottom}
label="Reps *" label="Reps"
keyboardType="numeric" keyboardType="numeric"
value={reps} value={reps}
onChangeText={setReps} onChangeText={setReps}
autoFocus
blurOnSubmit={false}
onSubmitEditing={() => weightRef.current?.focus()}
/> />
<TextInput <TextInput
style={styles.marginBottom} style={styles.marginBottom}
label="Weight *" label="Weight"
keyboardType="numeric" keyboardType="numeric"
value={weight} value={weight}
onChangeText={setWeight} onChangeText={setWeight}
onSubmitEditing={save} onSubmitEditing={save}
ref={weightRef}
/> />
<TextInput <TextInput
style={styles.marginBottom} style={styles.marginBottom}