import React from 'react' import { Alert, Switch, ScrollView, TouchableOpacity, View } from 'react-native' import FeatherIcon from 'react-native-vector-icons/Feather' import { cervix as labels } from '../../../i18n/en/cycle-day' import infoLabels from '../../../i18n/en/symptom-info' import styles, { iconStyles } from '../../../styles' import SelectTabGroup from '../select-tab-group' import SymptomSection from './symptom-section' import SymptomView from './symptom-view' export default class Cervix extends SymptomView { constructor(props) { super(props) const cycleDay = props.cycleDay this.cervix = cycleDay && cycleDay.cervix this.state = this.cervix ? this.cervix : {} } symptomName = 'cervix' showInfoBox(){ const symptomName = 'cervix' Alert.alert( infoLabels[symptomName].title, infoLabels[symptomName].text ) } onBackButtonPress() { const nothingEntered = ['opening', 'firmness', 'position'].every(val => typeof this.state[val] != 'number') if (nothingEntered) { this.deleteSymptomEntry() return } this.saveSymptomEntry({ opening: this.state.opening, firmness: this.state.firmness, position: this.state.position, exclude: Boolean(this.state.exclude) }) } renderContent() { const cervixOpeningRadioProps = [ { label: labels.opening.categories[0], value: 0 }, { label: labels.opening.categories[1], value: 1 }, { label: labels.opening.categories[2], value: 2 } ] const cervixFirmnessRadioProps = [ { label: labels.firmness.categories[0], value: 0 }, { label: labels.firmness.categories[1], value: 1 } ] const cervixPositionRadioProps = [ { label: labels.position.categories[0], value: 0 }, { label: labels.position.categories[1], value: 1 }, { label: labels.position.categories[2], value: 2 } ] // TODO saving this info for notice when leaving incomplete data // const mandatoryNotCompleted = typeof this.state.opening != 'number' || typeof this.state.firmness != 'number' return ( this.setState({ opening: val })} /> this.setState({ firmness: val })} /> this.setState({ position: val })} /> { this.setState({ exclude: val }) }} value={this.state.exclude} /> ) } }