diff --git a/app.js b/app.js
index bb31b22..fae73d6 100644
--- a/app.js
+++ b/app.js
@@ -5,6 +5,7 @@ import Calendar from './components/calendar'
import CycleDay from './components/cycle-day'
import Chart from './components/chart/chart'
import Settings from './components/settings'
+import Stats from './components/stats'
// this is until react native fixes this bugg, see
// https://github.com/facebook/react-native/issues/18868#issuecomment-382671739
@@ -16,5 +17,6 @@ export default createStackNavigator({
calendar: { screen: Calendar },
cycleDay: { screen: CycleDay },
chart: { screen: Chart },
- settings: { screen: Settings }
+ settings: { screen: Settings },
+ stats: { screen: Stats}
})
diff --git a/components/home.js b/components/home.js
index 623821d..315ea50 100644
--- a/components/home.js
+++ b/components/home.js
@@ -87,6 +87,12 @@ export default class Home extends Component {
title="delete everything">
+
+
+
)
diff --git a/components/stats.js b/components/stats.js
new file mode 100644
index 0000000..6d8a085
--- /dev/null
+++ b/components/stats.js
@@ -0,0 +1,41 @@
+import React, { Component } from 'react'
+import {
+ View,
+ Text,
+ ScrollView
+} from 'react-native'
+import { LocalDate } from 'js-joda'
+import styles from '../styles/index'
+import cycleModule from '../lib/cycle'
+import getPeriodInfo from '../lib/period-length'
+
+export default class Stats extends Component {
+ constructor(props) {
+ super(props)
+ const lastMensStart = cycleModule().getLastMensesStart(
+ LocalDate.now().toString()
+ )
+ const completedCycles = cycleModule().getCyclesBefore(lastMensStart)
+ this.numberOfCycles = completedCycles.length
+ // TODO get first days, compare with joda
+ const periodLengths = completedCycles.map(cycle => {
+ return cycle.length
+ })
+ // until this point
+ this.periodInfo = getPeriodInfo(periodLengths)
+
+ }
+
+ render() {
+ return (
+
+ based on {this.numberOfCycles} periods:
+ min: {this.periodInfo.minimum}
+ mean: {this.periodInfo.mean}
+ max: {this.periodInfo.maximum}
+ median: {this.periodInfo.median}
+ standard deviation: {this.periodInfo.stdDeviation}
+
+ )
+ }
+}
\ No newline at end of file
diff --git a/lib/cycle.js b/lib/cycle.js
index f350ff8..00a1985 100644
--- a/lib/cycle.js
+++ b/lib/cycle.js
@@ -134,6 +134,7 @@ export default function config(opts) {
getCycleDayNumber,
getCycleForDay,
getPreviousCycle,
- getCyclesBefore
+ getCyclesBefore,
+ getLastMensesStart
}
}
\ No newline at end of file