Pad time value with 0s

This commit is contained in:
Julia Friesel
2018-08-27 09:41:07 +02:00
parent 6c6d8ae038
commit a5b7e1064e
+21 -11
View File
@@ -29,31 +29,31 @@ export default class Settings extends Component {
render() { render() {
return ( return (
<ScrollView> <ScrollView>
<View style={styles.settingsSegment}> <TouchableOpacity
style={styles.settingsSegment}
onPress={() => this.setState({ isTimePickerVisible: true })}
>
<Text style={styles.settingsSegmentTitle}> <Text style={styles.settingsSegmentTitle}>
{settingsLabels.tempReminder.title} {settingsLabels.tempReminder.title}
</Text> </Text>
{this.state.time ?
<Text>{settingsLabels.tempReminder.explainerChange}</Text>
:
<Text>{settingsLabels.tempReminder.explainer}</Text> <Text>{settingsLabels.tempReminder.explainer}</Text>
<TextInput }
style={styles.temperatureTextInput} <Text>{this.state.time}</Text>
onFocus={() => {
Keyboard.dismiss()
this.setState({ isTimePickerVisible: true })
}}
value={this.state.time}
/>
<DateTimePicker <DateTimePicker
mode="time" mode="time"
isVisible={this.state.isTimePickerVisible} isVisible={this.state.isTimePickerVisible}
onConfirm={jsDate => { onConfirm={jsDate => {
this.setState({ this.setState({
time: `${jsDate.getHours()}:${jsDate.getMinutes()}`, time: padWithZeros(`${jsDate.getHours()}:${jsDate.getMinutes()}`),
isTimePickerVisible: false isTimePickerVisible: false
}) })
}} }}
onCancel={() => this.setState({ isTimePickerVisible: false })} onCancel={() => this.setState({ isTimePickerVisible: false })}
/> />
</View> </TouchableOpacity>
<View style={styles.settingsSegment}> <View style={styles.settingsSegment}>
<Text style={styles.settingsSegmentTitle}> <Text style={styles.settingsSegmentTitle}>
{settingsLabels.tempScale.segmentTitle} {settingsLabels.tempScale.segmentTitle}
@@ -232,3 +232,13 @@ function importError(msg) {
const postFixed = `${msg}\n\n${settingsLabels.import.errors.postFix}` const postFixed = `${msg}\n\n${settingsLabels.import.errors.postFix}`
alertError(postFixed) alertError(postFixed)
} }
function padWithZeros(time) {
const vals = time.split(':')
return vals.map(val => {
if (parseInt(val) < 10) {
val = `0${val}`
}
return val
}).join(':')
}