From e340e89a0d04eb41b2cc426c170ff040d6977302 Mon Sep 17 00:00:00 2001
From: Julia Friesel <julia.friesel@gmail.com>
Date: Fri, 8 Jun 2018 18:56:00 +0200
Subject: [PATCH] Update state with calendar format  when bleeding days change

---
 datepicker.js | 26 +++++++++++---------------
 1 file changed, 11 insertions(+), 15 deletions(-)

diff --git a/datepicker.js b/datepicker.js
index 0085c86d..50a9637c 100644
--- a/datepicker.js
+++ b/datepicker.js
@@ -7,12 +7,11 @@ import { getOrCreateCycleDay, bleedingDaysSortedByDate } from './db'
 export default class DatePickView extends Component {
   constructor(props) {
     super(props)
-    this.state = {
-      cycleDays: bleedingDaysSortedByDate
-    }
+    this.state = { bleedingDaysInCalFormat: getBleedingDaysInCalFormat(bleedingDaysSortedByDate) }
+
     // so we rerender the calendar when there are new bleeding days
     bleedingDaysSortedByDate.addListener(() => {
-      this.setState({ cycleDays: bleedingDaysSortedByDate })
+      this.setState({ bleedingDaysInCalFormat: getBleedingDaysInCalFormat(bleedingDaysSortedByDate) })
     })
   }
 
@@ -24,21 +23,12 @@ export default class DatePickView extends Component {
     navigate('dayView', { cycleDay })
   }
 
-  rerenderCalendar() {
-
-  }
-
   render() {
-    const bleedingDaysInCalFormat = bleedingDaysSortedByDate.reduce((acc, day) => {
-      const dateString = day.date.toISOString().slice(0, 10)
-      acc[dateString] = { startingDay: true, endingDay: true, color: 'red' }
-      return acc
-    }, {})
     return (
       <View style={styles.container}>
         <Calendar
           onDayPress={ this.passDateToDayView.bind(this) }
-          markedDates = { bleedingDaysInCalFormat }
+          markedDates = { this.state.bleedingDaysInCalFormat }
           markingType = {'period'}
         />
       </View>
@@ -46,4 +36,10 @@ export default class DatePickView extends Component {
   }
 }
 
-
+function getBleedingDaysInCalFormat(bleedingDaysSortedByDate) {
+  return bleedingDaysSortedByDate.reduce((acc, day) => {
+    const dateString = day.date.toISOString().slice(0, 10)
+    acc[dateString] = { startingDay: true, endingDay: true, color: 'red' }
+    return acc
+  }, {})
+}
\ No newline at end of file
-- 
GitLab