Reuse of SettingsSegment component in the Reminders section
This commit is contained in:
@@ -2,9 +2,12 @@ import React, { Component } from 'react'
|
|||||||
import {
|
import {
|
||||||
ScrollView,
|
ScrollView,
|
||||||
} from 'react-native'
|
} from 'react-native'
|
||||||
|
import SettingsSegment from '../settings-segment'
|
||||||
import TempReminderPicker from './temp-reminder-picker'
|
import TempReminderPicker from './temp-reminder-picker'
|
||||||
import PeriodReminderPicker from './period-reminder'
|
import PeriodReminderPicker from './period-reminder'
|
||||||
|
|
||||||
|
import labels from '../../../i18n/en/settings'
|
||||||
|
|
||||||
export default class Settings extends Component {
|
export default class Settings extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props)
|
super(props)
|
||||||
@@ -14,8 +17,12 @@ export default class Settings extends Component {
|
|||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<ScrollView>
|
<ScrollView>
|
||||||
|
<SettingsSegment title={labels.tempReminder.title}>
|
||||||
<TempReminderPicker/>
|
<TempReminderPicker/>
|
||||||
|
</SettingsSegment>
|
||||||
|
<SettingsSegment title={labels.periodReminder.title}>
|
||||||
<PeriodReminderPicker/>
|
<PeriodReminderPicker/>
|
||||||
|
</SettingsSegment>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import {
|
|||||||
periodReminderObservable,
|
periodReminderObservable,
|
||||||
savePeriodReminder
|
savePeriodReminder
|
||||||
} from '../../../local-storage'
|
} from '../../../local-storage'
|
||||||
import styles from '../../../styles/index'
|
|
||||||
import labels from '../../../i18n/en/settings'
|
import labels from '../../../i18n/en/settings'
|
||||||
|
|
||||||
export default class PeriodReminderPicker extends Component {
|
export default class PeriodReminderPicker extends Component {
|
||||||
@@ -19,10 +18,6 @@ export default class PeriodReminderPicker extends Component {
|
|||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<View style={styles.settingsSegment}>
|
|
||||||
<AppText style={styles.settingsSegmentTitle}>
|
|
||||||
{labels.periodReminder.title}
|
|
||||||
</AppText>
|
|
||||||
<View style={{ flexDirection: 'row', alignItems: 'center' }}>
|
<View style={{ flexDirection: 'row', alignItems: 'center' }}>
|
||||||
<View style={{ flex: 1 }}>
|
<View style={{ flex: 1 }}>
|
||||||
<AppText>{labels.periodReminder.reminderText}</AppText>
|
<AppText>{labels.periodReminder.reminderText}</AppText>
|
||||||
@@ -35,7 +30,6 @@ export default class PeriodReminderPicker extends Component {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -10,26 +10,26 @@ import {
|
|||||||
tempReminderObservable,
|
tempReminderObservable,
|
||||||
saveTempReminder
|
saveTempReminder
|
||||||
} from '../../../local-storage'
|
} from '../../../local-storage'
|
||||||
import styles from '../../../styles/index'
|
|
||||||
import labels from '../../../i18n/en/settings'
|
import labels from '../../../i18n/en/settings'
|
||||||
import padWithZeros from '../../helpers/pad-time-with-zeros'
|
import padWithZeros from '../../helpers/pad-time-with-zeros'
|
||||||
|
|
||||||
export default class TempReminderPicker extends Component {
|
export default class TempReminderPicker extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props)
|
super(props)
|
||||||
this.state = Object.assign({}, tempReminderObservable.value)
|
const { time, enabled } = tempReminderObservable.value
|
||||||
|
this.state = {
|
||||||
|
time,
|
||||||
|
enabled,
|
||||||
|
isTimePickerVisible: false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<TouchableOpacity
|
<TouchableOpacity
|
||||||
style={styles.settingsSegment}
|
style={{ flexDirection: 'row', alignItems: 'center' }}
|
||||||
onPress={() => this.setState({ isTimePickerVisible: true })}
|
onPress={() => this.setState({ isTimePickerVisible: true })}
|
||||||
>
|
>
|
||||||
<AppText style={styles.settingsSegmentTitle}>
|
|
||||||
{labels.tempReminder.title}
|
|
||||||
</AppText>
|
|
||||||
<View style={{ flexDirection: 'row', alignItems: 'center' }}>
|
|
||||||
<View style={{ flex: 1 }}>
|
<View style={{ flex: 1 }}>
|
||||||
{this.state.time && this.state.enabled ?
|
{this.state.time && this.state.enabled ?
|
||||||
<AppText>{labels.tempReminder.timeSet(this.state.time)}</AppText>
|
<AppText>{labels.tempReminder.timeSet(this.state.time)}</AppText>
|
||||||
@@ -67,7 +67,6 @@ export default class TempReminderPicker extends Component {
|
|||||||
if (!this.state.time) this.setState({enabled: false})
|
if (!this.state.time) this.setState({enabled: false})
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</View>
|
|
||||||
</TouchableOpacity>
|
</TouchableOpacity>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user