diff --git a/components/cycle-day/assets/placeholder.png b/components/cycle-day/assets/placeholder.png deleted file mode 100644 index fb6a6c98deedf368459cf4c5d5af315f3ab5f739..0000000000000000000000000000000000000000 Binary files a/components/cycle-day/assets/placeholder.png and /dev/null differ diff --git a/components/cycle-day/cycle-day-overview.js b/components/cycle-day/cycle-day-overview.js index 4b7522406d80a92c3b910b7606b9b5ad7856aa55..19e00842479afed0196e83c846c31bfa494a347e 100644 --- a/components/cycle-day/cycle-day-overview.js +++ b/components/cycle-day/cycle-day-overview.js @@ -2,11 +2,11 @@ import React, { Component } from 'react' import { View, Text, - Image, TouchableOpacity, Dimensions } from 'react-native' -import styles from '../../styles' +import Icon from 'react-native-vector-icons/FontAwesome' +import styles, { iconStyles } from '../../styles' import { bleeding as bleedingLabels, mucusFeeling as feelingLabels, @@ -25,44 +25,37 @@ export default class DayView extends Component { <View style={styles.symptomBoxesView}> <SymptomBox title='Bleeding' - icon={require('./assets/placeholder.png')} - onPress={() => this.showView('BleedingEditView')} + onPress={() => this.props.showView('BleedingEditView')} data={getLabel('bleeding', cycleDay.bleeding)} /> <SymptomBox title='Temperature' - icon={require('./assets/placeholder.png')} - onPress={() => this.showView('TemperatureEditView')} + onPress={() => this.props.showView('TemperatureEditView')} data={getLabel('temperature', cycleDay.temperature)} /> <SymptomBox title='Mucus' - icon={require('./assets/placeholder.png')} - onPress={() => this.showView('MucusEditView')} + onPress={() => this.props.showView('MucusEditView')} data={getLabel('mucus', cycleDay.mucus)} /> <SymptomBox title='Cervix' - icon={require('./assets/placeholder.png')} - onPress={() => this.showView('CervixEditView')} + onPress={() => this.props.showView('CervixEditView')} data={getLabel('cervix', cycleDay.cervix)} /> <SymptomBox title='Note' - icon={require('./assets/placeholder.png')} - onPress={() => this.showView('NoteEditView')} + onPress={() => this.props.showView('NoteEditView')} data={getLabel('note', cycleDay.note)} /> <SymptomBox title='Desire' - icon={require('./assets/placeholder.png')} - onPress={() => this.showView('DesireEditView')} + onPress={() => this.props.showView('DesireEditView')} data={getLabel('desire', cycleDay.desire)} /> <SymptomBox title='Sex' - icon={require('./assets/placeholder.png')} - onPress={() => this.showView('SexEditView')} + onPress={() => this.props.showView('SexEditView')} data={getLabel('sex', cycleDay.sex)} /> {/* this is just to make the last row adhere to the grid @@ -145,15 +138,23 @@ function getLabel(symptomName, symptom) { class SymptomBox extends Component { render() { + const d = this.props.data + const boxActive = d ? styles.symptomBoxActive : {} + const iconActive = d ? iconStyles.symptomBoxActive : {} + const textStyle = d ? styles.symptomTextActive : {} + + const symptomBoxStyle = Object.assign({}, styles.symptomBox, boxActive) + const iconStyle = Object.assign({}, iconStyles.symptomBox, iconActive) + return ( <TouchableOpacity onPress={this.props.onPress}> - <View style={styles.symptomBox}> - <Image - source={require('./assets/placeholder.png')} - style={styles.symptomBoxImage} + <View style={symptomBoxStyle}> + <Icon + name='thermometer' + {...iconStyle} /> - <Text>{this.props.title}</Text> - <Text>{this.props.data}</Text> + <Text style={textStyle}>{this.props.title}</Text> + <Text style={textStyle}>{this.props.data}</Text> </View> </TouchableOpacity> ) diff --git a/styles/index.js b/styles/index.js index 8896f037f4a1b31069cc6910154a4333fb262894..087d20de70711a286791592c374439fbcd0df336 100644 --- a/styles/index.js +++ b/styles/index.js @@ -58,6 +58,12 @@ export default StyleSheet.create({ minWidth: 100, minHeight: 100, }, + symptomBoxActive: { + backgroundColor: secondaryColor, + }, + symptomTextActive: { + color: fontOnPrimaryColor + }, symptomEditRow: { justifyContent: 'space-between', marginBottom: 10, @@ -121,5 +127,11 @@ export const iconStyles = { navigationArrow: { size: 45, color: fontOnPrimaryColor + }, + symptomBox: { + size: 40 + }, + symptomBoxActive: { + color: fontOnPrimaryColor } } \ No newline at end of file