Skip to content
Snippets Groups Projects
Commit 373dbea6 authored by mashazyu's avatar mashazyu Committed by Sofiya Tepikin
Browse files

Refactor npf settings component

parent 7b87424a
No related branches found
No related tags found
No related merge requests found
...@@ -6,6 +6,7 @@ import Hyperlink from 'react-native-hyperlink' ...@@ -6,6 +6,7 @@ import Hyperlink from 'react-native-hyperlink'
import styles, { iconStyles } from '../../../styles' import styles, { iconStyles } from '../../../styles'
import labels from '../../../i18n/en/settings' import labels from '../../../i18n/en/settings'
import AppText from '../../app-text' import AppText from '../../app-text'
import SettingsSegment from '../settings-segment'
import TempSlider from './temp-slider' import TempSlider from './temp-slider'
import UseCervixSetting from './use-cervix' import UseCervixSetting from './use-cervix'
import Icon from 'react-native-vector-icons/Entypo' import Icon from 'react-native-vector-icons/Entypo'
...@@ -20,15 +21,14 @@ export default class Settings extends Component { ...@@ -20,15 +21,14 @@ export default class Settings extends Component {
render() { render() {
return ( return (
<ScrollView> <ScrollView>
<UseCervixSetting/> <SettingsSegment title={labels.useCervix.title}>
<View style={styles.settingsSegment}> <UseCervixSetting/>
<AppText style={styles.settingsSegmentTitle}> </SettingsSegment>
{labels.tempScale.segmentTitle} <SettingsSegment title={labels.tempScale.segmentTitle}>
</AppText>
<AppText>{labels.tempScale.segmentExplainer}</AppText> <AppText>{labels.tempScale.segmentExplainer}</AppText>
<TempSlider/> <TempSlider/>
</View> </SettingsSegment>
<View style={[styles.settingsSegment, styles.settingsSegmentLast]}> <SettingsSegment style={styles.settingsSegmentLast} >
<View style={{flexDirection: 'row', alignItems: 'center'}}> <View style={{flexDirection: 'row', alignItems: 'center'}}>
<Icon name="info-with-circle" style={iconStyles.infoInHeading}/> <Icon name="info-with-circle" style={iconStyles.infoInHeading}/>
<AppText style={styles.settingsSegmentTitle}>{`${labels.preOvu.title} `}</AppText> <AppText style={styles.settingsSegmentTitle}>{`${labels.preOvu.title} `}</AppText>
...@@ -36,8 +36,8 @@ export default class Settings extends Component { ...@@ -36,8 +36,8 @@ export default class Settings extends Component {
<Hyperlink linkStyle={styles.link} linkText={replaceUrlWithText}> <Hyperlink linkStyle={styles.link} linkText={replaceUrlWithText}>
<AppText>{labels.preOvu.note}</AppText> <AppText>{labels.preOvu.note}</AppText>
</Hyperlink> </Hyperlink>
</View> </SettingsSegment>
</ScrollView> </ScrollView>
) )
} }
} }
\ No newline at end of file
import React, { Component } from 'react' import React, { Component } from 'react'
import { import {
View, View,
TouchableOpacity,
Switch Switch
} from 'react-native' } from 'react-native'
import AppText from '../../app-text' import AppText from '../../app-text'
...@@ -9,7 +8,6 @@ import { ...@@ -9,7 +8,6 @@ import {
useCervixObservable, useCervixObservable,
saveUseCervix saveUseCervix
} 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 UseCervixSetting extends Component { export default class UseCervixSetting extends Component {
...@@ -20,29 +18,22 @@ export default class UseCervixSetting extends Component { ...@@ -20,29 +18,22 @@ export default class UseCervixSetting extends Component {
render() { render() {
return ( return (
<TouchableOpacity <View style={{ flexDirection: 'row', alignItems: 'center' }}>
style={styles.settingsSegment} <View style={{ flex: 1 }}>
> {this.state.useCervix ?
<AppText style={styles.settingsSegmentTitle}> <AppText>{labels.useCervix.cervixModeOn}</AppText>
{labels.useCervix.title} :
</AppText> <AppText>{labels.useCervix.cervixModeOff}</AppText>
<View style={{ flexDirection: 'row', alignItems: 'center' }}> }
<View style={{ flex: 1 }}>
{this.state.useCervix ?
<AppText>{labels.useCervix.cervixModeOn}</AppText>
:
<AppText>{labels.useCervix.cervixModeOff}</AppText>
}
</View>
<Switch
value={this.state.useCervix}
onValueChange={bool => {
this.setState({ useCervix: bool })
saveUseCervix(bool)
}}
/>
</View> </View>
</TouchableOpacity> <Switch
value={this.state.useCervix}
onValueChange={bool => {
this.setState({ useCervix: bool })
saveUseCervix(bool)
}}
/>
</View>
) )
} }
} }
...@@ -9,15 +9,23 @@ const SettingsSegment = ({ children, ...props }) => { ...@@ -9,15 +9,23 @@ const SettingsSegment = ({ children, ...props }) => {
const style = [styles.settingsSegment, props.style] const style = [styles.settingsSegment, props.style]
if (props.last) style.push(styles.settingsSegmentLast) if (props.last) style.push(styles.settingsSegmentLast)
return ( return (
<<<<<<< HEAD
<View style={style}> <View style={style}>
<AppText style={styles.settingsSegmentTitle}>{props.title}</AppText> <AppText style={styles.settingsSegmentTitle}>{props.title}</AppText>
=======
<View style={[styles.settingsSegment, props.style]}>
{
props.title
&& <AppText style={styles.settingsSegmentTitle}>{props.title}</AppText>
}
>>>>>>> Refactor npf settings component
{children} {children}
</View> </View>
) )
} }
SettingsSegment.propTypes = { SettingsSegment.propTypes = {
title: PropTypes.string.isRequired title: PropTypes.string
} }
export default SettingsSegment export default SettingsSegment
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment