diff --git a/app.js b/app.js
index 8976a63..3a310a0 100644
--- a/app.js
+++ b/app.js
@@ -1,6 +1,7 @@
import { createStackNavigator } from 'react-navigation'
import Home from './home'
-import TemperatureList from './list'
+
+import Temperature from './temperature'
import Calendar from './calendar'
import DayView from './day-view'
import Bleeding from './bleeding'
@@ -11,8 +12,9 @@ YellowBox.ignoreWarnings(['Warning: isMounted(...) is deprecated'])
export default createStackNavigator({
home: { screen: Home },
- temperatureList: { screen: TemperatureList },
+
+ temperature: { screen: Temperature },
calendar: { screen: Calendar },
dayView: { screen: DayView },
bleeding: { screen: Bleeding }
-})
\ No newline at end of file
+})
diff --git a/day-view.js b/day-view.js
index 5f3e307..2685b9f 100644
--- a/day-view.js
+++ b/day-view.js
@@ -19,24 +19,38 @@ export default class DayView extends Component {
render() {
const navigate = this.props.navigation.navigate
- const day = this.state.cycleDay
- const bleedingValue = day.bleeding && day.bleeding.value
+ const cycleDay = this.state.cycleDay
+ const bleedingValue = cycleDay.bleeding && cycleDay.bleeding.value
let bleedingLabel
if (typeof bleedingValue === 'number') {
bleedingLabel = `Bleeding: ${labels[bleedingValue]}`
+ if (cycleDay.bleeding.exclude) bleedingLabel += " (Excluded)"
} else {
bleedingLabel = ''
}
+ const temperatureValue = cycleDay.temperature && cycleDay.temperature.value
+ let temperatureLabel
+ if (typeof temperatureValue === 'number') {
+ temperatureLabel = `Temperature: ${temperatureValue}`
+ if (cycleDay.temperature.exclude) temperatureLabel += " (Excluded)"
+ } else {
+ temperatureLabel = ''
+ }
return (
- {formatDateForViewHeader(day.date)}
+ {formatDateForViewHeader(cycleDay.date)}
Cycle day {getCycleDay()}
{bleedingLabel}
+ {temperatureLabel}
+
)
}
diff --git a/db.js b/db.js
index dd2648e..13e70c7 100644
--- a/db.js
+++ b/db.js
@@ -1,8 +1,9 @@
import realm from 'realm'
let db
-let cycleDaysSortedbyTempValueView = []
+
let bleedingDaysSortedByDate = []
+let cycleDaysSortedbyDate = []
const TemperatureSchema = {
name: 'Temperature',
@@ -46,19 +47,17 @@ async function openDatabase() {
// we only want this in dev mode
deleteRealmIfMigrationNeeded: true
})
+
+ bleedingDaysSortedByDate = db.objects('CycleDay').fil<<<<<<< 933b64056a13d04c3bfdebf531962b84d9daa4ce
// just for testing purposes, the highest temperature will be topmost
// because I was too layz to make a scroll view
- cycleDaysSortedbyTempValueView = db.objects('CycleDay').filtered('temperature != null').sorted('temperature.value', true)
- bleedingDaysSortedByDate = db.objects('CycleDay').filtered('bleeding != null').sorted('date', true)
+ cycleDaysSortedbyTempValueView = db.objects('CycleDay').filtered('temperature != null').sorted('temperature.value', true) tered('bleeding != null').sorted('date', true)
+ cycleDaysSortedbyDate = db.objects('CycleDay').sorted('date', true)
}
-function saveTemperature(date, temperature) {
+function saveTemperature(cycleDay, temperature) {
db.write(() => {
- const doc = {
- date,
- temperature
- }
- db.create('CycleDay', doc)
+ cycleDay.temperature = temperature
})
}
@@ -81,10 +80,9 @@ function getOrCreateCycleDay(localDate) {
}
export {
- cycleDaysSortedbyTempValueView,
openDatabase,
saveTemperature,
saveBleeding,
getOrCreateCycleDay,
bleedingDaysSortedByDate
-}
\ No newline at end of file
+}
diff --git a/home.js b/home.js
index 3552246..0ae1a4d 100644
--- a/home.js
+++ b/home.js
@@ -17,10 +17,6 @@ export default class Home extends Component {
return (
Welcome! Today is day {getCycleDay()} of your current cycle
-
)
}
-}
\ No newline at end of file
+}
diff --git a/list.js b/list.js
deleted file mode 100644
index cd8d831..0000000
--- a/list.js
+++ /dev/null
@@ -1,60 +0,0 @@
-import React, { Component } from 'react'
-import {
- View,
- Text,
- Button,
- TextInput,
- FlatList,
- Keyboard
-} from 'react-native'
-
-import * as styles from './styles'
-import { cycleDaysSortedbyTempValueView, saveTemperature } from './db'
-
-export default class Temp extends Component {
- constructor(props) {
- super(props)
- this.state = {
- currentValue: '',
- rerenderToggle: false
- }
- }
-
- render() {
- return (
-
- {
- this.setState({currentValue: val})
- }}
- keyboardType='numeric'
- value = {this.state.currentValue}
- />
-
- )
- }
-}
diff --git a/temperature.js b/temperature.js
new file mode 100644
index 0000000..be03abe
--- /dev/null
+++ b/temperature.js
@@ -0,0 +1,76 @@
+import React, { Component } from 'react'
+import {
+ View,
+ Text,
+ Button,
+ TextInput,
+ Switch
+} from 'react-native'
+
+import styles from './styles'
+import { saveTemperature } from './db'
+import { formatDateForViewHeader } from './format'
+import getCycleDay from './get-cycle-day'
+
+export default class Temp extends Component {
+ constructor(props) {
+ super(props)
+ const cycleDay = props.navigation.state.params.cycleDay
+ console.log(cycleDay.temperature ? cycleDay.temperature.value : '')
+ this.state = {
+ cycleDay,
+ currentValue: cycleDay.temperature ? cycleDay.temperature.value.toString() : '',
+ exclude: cycleDay.temperature ? cycleDay.temperature.exclude : false
+ }
+ }
+
+ render() {
+ const navigate = this.props.navigation.navigate
+ const cycleDay = this.state.cycleDay
+ return (
+
+ {formatDateForViewHeader(cycleDay.date)}
+ Cycle day {getCycleDay()}
+ Temperature
+ {
+ this.setState({currentValue: val})
+ }}
+ keyboardType='numeric'
+ value = {this.state.currentValue}
+ />
+ Exclude
+ {
+ this.setState({ exclude: val })
+ }}
+ value = { this.state.exclude }
+ />
+
+
+
+
+ )
+ }
+}