Rearrange Segment Element: * Rename SettingsSegment into FramedSegment * Move it out of Settings into Components
This commit is contained in:
@@ -3,7 +3,7 @@ import { ScrollView } from 'react-native'
|
||||
import Hyperlink from 'react-native-hyperlink'
|
||||
import AppText from '../../app-text'
|
||||
import labels from '../../../i18n/en/symptom-info.js'
|
||||
import SettingsSegment from '../../settings/shared/settings-segment'
|
||||
import FramedSegment from '../../framed-segment'
|
||||
import styles from '../../../styles/index'
|
||||
import replace from '../../helpers/replace-url-with-text'
|
||||
|
||||
@@ -25,11 +25,11 @@ export default class InfoSymptom extends Component {
|
||||
|
||||
return (
|
||||
<ScrollView>
|
||||
<SettingsSegment title={labels[currentSymptom].title}>
|
||||
<FramedSegment title={labels[currentSymptom].title}>
|
||||
<Hyperlink linkStyle={styles.link} linkText={replace} linkDefault>
|
||||
<AppText>{labels[currentSymptom].text}</AppText>
|
||||
</Hyperlink>
|
||||
</SettingsSegment>
|
||||
</FramedSegment>
|
||||
</ScrollView>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
import React from 'react'
|
||||
import PropTypes from 'prop-types'
|
||||
|
||||
import { View } from 'react-native'
|
||||
import AppText from './app-text'
|
||||
import styles from '../styles'
|
||||
|
||||
const FramedSegment = ({ children, ...props }) => {
|
||||
const style = [styles.framedSegment, props.style]
|
||||
if (props.last) style.push(styles.framedSegmentLast)
|
||||
return (
|
||||
<View style={[style]}>
|
||||
{
|
||||
props.title
|
||||
&& <AppText style={styles.framedSegmentTitle}>{props.title}</AppText>
|
||||
}
|
||||
{children}
|
||||
</View>
|
||||
)
|
||||
}
|
||||
|
||||
FramedSegment.propTypes = {
|
||||
title: PropTypes.string
|
||||
}
|
||||
|
||||
export default FramedSegment
|
||||
@@ -14,7 +14,7 @@ export default function License({setLicense}) {
|
||||
return (
|
||||
<ScrollView style={styles.licensePage}>
|
||||
<Hyperlink linkStyle={styles.link} linkText={replace} linkDefault>
|
||||
<AppText style={styles.settingsSegmentTitle}>{labels.title}</AppText>
|
||||
<AppText style={styles.framedSegmentTitle}>{labels.title}</AppText>
|
||||
<AppText>{labels.text}</AppText>
|
||||
</Hyperlink>
|
||||
<View style={styles.licenseButtons}>
|
||||
|
||||
@@ -2,7 +2,7 @@ import React, { Component } from 'react'
|
||||
import { ScrollView } from 'react-native'
|
||||
import Hyperlink from 'react-native-hyperlink'
|
||||
import AppText from '../app-text'
|
||||
import SettingsSegment from './shared/settings-segment'
|
||||
import FramedSegment from '../framed-segment'
|
||||
import styles from '../../styles/index'
|
||||
import labels, { links } from '../../i18n/en/settings'
|
||||
import replace from '../helpers/replace-url-with-text'
|
||||
@@ -11,25 +11,25 @@ export default class AboutSection extends Component {
|
||||
render() {
|
||||
return (
|
||||
<ScrollView>
|
||||
<SettingsSegment title={labels.aboutSection.title}>
|
||||
<FramedSegment title={labels.aboutSection.title}>
|
||||
<Hyperlink linkStyle={styles.link} linkText={replace} linkDefault>
|
||||
<AppText>{labels.aboutSection.text}</AppText>
|
||||
</Hyperlink>
|
||||
</SettingsSegment>
|
||||
<SettingsSegment title={labels.philosophy.title}>
|
||||
</FramedSegment>
|
||||
<FramedSegment title={labels.philosophy.title}>
|
||||
<AppText>{labels.philosophy.text}</AppText>
|
||||
</SettingsSegment>
|
||||
<SettingsSegment title={labels.credits.title}>
|
||||
</FramedSegment>
|
||||
<FramedSegment title={labels.credits.title}>
|
||||
<AppText>{labels.credits.note}</AppText>
|
||||
</SettingsSegment>
|
||||
<SettingsSegment title={labels.website.title}>
|
||||
</FramedSegment>
|
||||
<FramedSegment title={labels.website.title}>
|
||||
<Hyperlink linkStyle={styles.link} linkDefault>
|
||||
<AppText>{links.website.url}</AppText>
|
||||
</Hyperlink>
|
||||
</SettingsSegment>
|
||||
<SettingsSegment title={labels.version.title} last>
|
||||
</FramedSegment>
|
||||
<FramedSegment title={labels.version.title} last>
|
||||
<AppText>{require('../../package.json').version}</AppText>
|
||||
</SettingsSegment>
|
||||
</FramedSegment>
|
||||
</ScrollView>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import React from 'react'
|
||||
import { ScrollView } from 'react-native'
|
||||
import AppText from '../../app-text'
|
||||
import SettingsSegment from '../shared/settings-segment'
|
||||
import FramedSegment from '../../framed-segment'
|
||||
import SettingsButton from '../shared/settings-button'
|
||||
import openImportDialogAndImport from './import-dialog'
|
||||
import openShareDialogAndExport from './export-dialog'
|
||||
@@ -11,27 +11,27 @@ import labels from '../../../i18n/en/settings'
|
||||
const DataManagement = () => {
|
||||
return (
|
||||
<ScrollView>
|
||||
<SettingsSegment title={labels.export.button}>
|
||||
<FramedSegment title={labels.export.button}>
|
||||
<AppText>{labels.export.segmentExplainer}</AppText>
|
||||
<SettingsButton onPress={openShareDialogAndExport}>
|
||||
{labels.export.button}
|
||||
</SettingsButton>
|
||||
</SettingsSegment>
|
||||
<SettingsSegment title={labels.import.button}>
|
||||
</FramedSegment>
|
||||
<FramedSegment title={labels.import.button}>
|
||||
<AppText>{labels.import.segmentExplainer}</AppText>
|
||||
<SettingsButton onPress={openImportDialogAndImport}>
|
||||
{labels.import.button}
|
||||
</SettingsButton>
|
||||
</SettingsSegment>
|
||||
<SettingsSegment
|
||||
</FramedSegment>
|
||||
<FramedSegment
|
||||
title={labels.deleteSegment.title}
|
||||
last
|
||||
>
|
||||
<AppText>{labels.deleteSegment.explainer}</AppText>
|
||||
<DeleteData />
|
||||
</SettingsSegment>
|
||||
</FramedSegment>
|
||||
</ScrollView>
|
||||
)
|
||||
}
|
||||
|
||||
export default DataManagement
|
||||
export default DataManagement
|
||||
|
||||
@@ -10,9 +10,9 @@ export default class License extends Component {
|
||||
render() {
|
||||
return (
|
||||
<ScrollView>
|
||||
<View style={styles.settingsSegment}>
|
||||
<View style={styles.framedSegment}>
|
||||
<Hyperlink linkStyle={styles.link} linkText={replace} linkDefault>
|
||||
<AppText style={styles.settingsSegmentTitle}>{`${labels.license.title} `}</AppText>
|
||||
<AppText style={styles.framedSegmentTitle}>{`${labels.license.title} `}</AppText>
|
||||
<AppText>{`${labels.license.text} `}</AppText>
|
||||
</Hyperlink>
|
||||
</View>
|
||||
|
||||
@@ -6,7 +6,7 @@ import Hyperlink from 'react-native-hyperlink'
|
||||
import styles, { iconStyles } from '../../../styles'
|
||||
import labels from '../../../i18n/en/settings'
|
||||
import AppText from '../../app-text'
|
||||
import SettingsSegment from '../shared/settings-segment'
|
||||
import FramedSegment from '../../framed-segment'
|
||||
import TempSlider from './temp-slider'
|
||||
import UseCervixSetting from './use-cervix'
|
||||
import Icon from 'react-native-vector-icons/Entypo'
|
||||
@@ -21,23 +21,23 @@ export default class Settings extends Component {
|
||||
render() {
|
||||
return (
|
||||
<ScrollView>
|
||||
<SettingsSegment title={labels.useCervix.title}>
|
||||
<FramedSegment title={labels.useCervix.title}>
|
||||
<UseCervixSetting/>
|
||||
</SettingsSegment>
|
||||
<SettingsSegment title={labels.tempScale.segmentTitle}>
|
||||
</FramedSegment>
|
||||
<FramedSegment title={labels.tempScale.segmentTitle}>
|
||||
<AppText>{labels.tempScale.segmentExplainer}</AppText>
|
||||
<TempSlider/>
|
||||
</SettingsSegment>
|
||||
<SettingsSegment style={styles.settingsSegmentLast} >
|
||||
</FramedSegment>
|
||||
<FramedSegment style={styles.framedSegmentLast} >
|
||||
<View style={{flexDirection: 'row', alignItems: 'center'}}>
|
||||
<Icon name="info-with-circle" style={iconStyles.infoInHeading}/>
|
||||
<AppText style={styles.settingsSegmentTitle}>{`${labels.preOvu.title} `}</AppText>
|
||||
<AppText style={styles.framedSegmentTitle}>{`${labels.preOvu.title} `}</AppText>
|
||||
</View>
|
||||
<Hyperlink linkStyle={styles.link} linkText={replaceUrlWithText} linkDefault>
|
||||
<AppText>{labels.preOvu.note}</AppText>
|
||||
</Hyperlink>
|
||||
</SettingsSegment>
|
||||
</FramedSegment>
|
||||
</ScrollView>
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import { ScrollView } from 'react-native'
|
||||
import CreatePassword from './create'
|
||||
import ChangePassword from './update'
|
||||
import DeletePassword from './delete'
|
||||
import SettingsSegment from '../shared/settings-segment'
|
||||
import FramedSegment from '../../framed-segment'
|
||||
import AppText from '../../app-text'
|
||||
import {
|
||||
hasEncryptionObservable
|
||||
@@ -44,7 +44,7 @@ export default class PasswordSetting extends Component {
|
||||
|
||||
return (
|
||||
<ScrollView>
|
||||
<SettingsSegment title={title}>
|
||||
<FramedSegment title={title}>
|
||||
<AppText>
|
||||
{ isPasswordSet ? explainerEnabled : explainerDisabled }
|
||||
</AppText>
|
||||
@@ -62,8 +62,8 @@ export default class PasswordSetting extends Component {
|
||||
onStartDeletingPassword = {this.onDeletingPassword}
|
||||
/>
|
||||
)}
|
||||
</SettingsSegment>
|
||||
</FramedSegment>
|
||||
</ScrollView>
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import React, { Component } from 'react'
|
||||
import {
|
||||
ScrollView,
|
||||
} from 'react-native'
|
||||
import SettingsSegment from '../shared/settings-segment'
|
||||
import FramedSegment from '../../framed-segment'
|
||||
import TempReminderPicker from './temp-reminder-picker'
|
||||
import PeriodReminderPicker from './period-reminder'
|
||||
|
||||
@@ -17,12 +17,12 @@ export default class Settings extends Component {
|
||||
render() {
|
||||
return (
|
||||
<ScrollView>
|
||||
<SettingsSegment title={labels.tempReminder.title}>
|
||||
<FramedSegment title={labels.tempReminder.title}>
|
||||
<TempReminderPicker/>
|
||||
</SettingsSegment>
|
||||
<SettingsSegment title={labels.periodReminder.title}>
|
||||
</FramedSegment>
|
||||
<FramedSegment title={labels.periodReminder.title}>
|
||||
<PeriodReminderPicker/>
|
||||
</SettingsSegment>
|
||||
</FramedSegment>
|
||||
</ScrollView>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ export default function SettingsMenu(props) {
|
||||
function menuItem(item) {
|
||||
return (
|
||||
<TouchableOpacity
|
||||
style={styles.settingsSegment}
|
||||
style={styles.framedSegment}
|
||||
key={item.title}
|
||||
onPress={() => props.navigate(item.component)}
|
||||
>
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
import React from 'react'
|
||||
import PropTypes from 'prop-types'
|
||||
|
||||
import { View } from 'react-native'
|
||||
import AppText from '../../app-text'
|
||||
import styles from '../../../styles'
|
||||
|
||||
const SettingsSegment = ({ children, ...props }) => {
|
||||
const style = [styles.settingsSegment, props.style]
|
||||
if (props.last) style.push(styles.settingsSegmentLast)
|
||||
return (
|
||||
<View style={[styles.settingsSegment, props.style]}>
|
||||
{
|
||||
props.title
|
||||
&& <AppText style={styles.settingsSegmentTitle}>{props.title}</AppText>
|
||||
}
|
||||
{children}
|
||||
</View>
|
||||
)
|
||||
}
|
||||
|
||||
SettingsSegment.propTypes = {
|
||||
title: PropTypes.string
|
||||
}
|
||||
|
||||
export default SettingsSegment
|
||||
+3
-3
@@ -268,7 +268,7 @@ export default StyleSheet.create({
|
||||
symptomEditButton: {
|
||||
width: 130
|
||||
},
|
||||
settingsSegment: {
|
||||
framedSegment: {
|
||||
borderColor: secondaryColor,
|
||||
borderStyle: 'solid',
|
||||
borderWidth: 1,
|
||||
@@ -278,10 +278,10 @@ export default StyleSheet.create({
|
||||
padding: 7,
|
||||
fontFamily: textFont
|
||||
},
|
||||
settingsSegmentLast: {
|
||||
framedSegmentLast: {
|
||||
marginBottom: defaultTopMargin,
|
||||
},
|
||||
settingsSegmentTitle: {
|
||||
framedSegmentTitle: {
|
||||
fontWeight: 'bold',
|
||||
fontFamily: textFontBold
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user