From 1c390f784cc2028b547acbab197bf8a516a577f4 Mon Sep 17 00:00:00 2001
From: Julia Friesel <julia.friesel@gmail.com>
Date: Fri, 17 Aug 2018 08:59:44 +0200
Subject: [PATCH] Use realistic icon and set active state

---
 components/cycle-day/assets/placeholder.png | Bin 4782 -> 0 bytes
 components/cycle-day/cycle-day-overview.js  |  45 ++++++++++----------
 styles/index.js                             |  12 ++++++
 3 files changed, 35 insertions(+), 22 deletions(-)
 delete mode 100644 components/cycle-day/assets/placeholder.png

diff --git a/components/cycle-day/assets/placeholder.png b/components/cycle-day/assets/placeholder.png
deleted file mode 100644
index fb6a6c98deedf368459cf4c5d5af315f3ab5f739..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4782
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

diff --git a/components/cycle-day/cycle-day-overview.js b/components/cycle-day/cycle-day-overview.js
index 4b752240..19e00842 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 8896f037..087d20de 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
-- 
GitLab