import React, { Component } from 'react' import { View, Text } from 'react-native' import RadioForm from 'react-native-simple-radio-button' import styles from '../../../styles' import { saveSymptom } from '../../../db' import { intensity as labels } from '../labels/labels' export default class Desire extends Component { constructor(props) { super(props) this.cycleDay = props.cycleDay this.makeActionButtons = props.makeActionButtons let desireValue = this.cycleDay.desire && this.cycleDay.desire.value if (!(typeof desireValue === 'number')) { desireValue = -1 } this.state = { currentValue: desireValue } } render() { const desireRadioProps = [ { label: labels[0], value: 0 }, { label: labels[1], value: 1 }, { label: labels[2], value: 2 } ] return ( <View style={styles.symptomEditView}> <Text style={styles.symptomDayView}>Desire</Text> <View style={styles.radioButtonRow}> <RadioForm radio_props={desireRadioProps} initial={this.state.currentValue} formHorizontal={true} labelHorizontal={false} labelStyle={styles.radioButton} onPress={(itemValue) => { this.setState({ currentValue: itemValue }) }} /> </View> <View style={styles.actionButtonRow}> {this.makeActionButtons( { symptom: 'desire', cycleDay: this.cycleDay, saveAction: () => { saveSymptom('desire', this.cycleDay, { value: this.state.currentValue }) }, saveDisabled: this.state.currentValue === -1 } )} </View> </View> ) } }