Fix getPreviousTemperature, only use temp dates
This commit is contained in:
@@ -1,8 +1,10 @@
|
|||||||
import realm from 'realm'
|
import realm from 'realm'
|
||||||
|
import { LocalDate } from 'js-joda'
|
||||||
|
|
||||||
let db
|
let db
|
||||||
let cycleDaysSortedbyDate = []
|
let cycleDaysSortedbyDate = []
|
||||||
let bleedingDaysSortedByDate = []
|
let bleedingDaysSortedByDate = []
|
||||||
|
let temperatureDaysSortedByDate
|
||||||
|
|
||||||
const TemperatureSchema = {
|
const TemperatureSchema = {
|
||||||
name: 'Temperature',
|
name: 'Temperature',
|
||||||
@@ -49,6 +51,7 @@ async function openDatabase() {
|
|||||||
|
|
||||||
cycleDaysSortedbyDate = db.objects('CycleDay').sorted('date', true)
|
cycleDaysSortedbyDate = db.objects('CycleDay').sorted('date', true)
|
||||||
bleedingDaysSortedByDate = db.objects('CycleDay').filtered('bleeding != null').sorted('date', true)
|
bleedingDaysSortedByDate = db.objects('CycleDay').filtered('bleeding != null').sorted('date', true)
|
||||||
|
temperatureDaysSortedByDate = db.objects('CycleDay').filtered('temperature != null').sorted('date', true)
|
||||||
}
|
}
|
||||||
|
|
||||||
function saveTemperature(cycleDay, temperature) {
|
function saveTemperature(cycleDay, temperature) {
|
||||||
@@ -76,9 +79,11 @@ function getOrCreateCycleDay(localDate) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getPreviousTemperature(cycleDay) {
|
function getPreviousTemperature(cycleDay) {
|
||||||
const cycleDayIndex = cycleDaysSortedbyDate.findIndex(day => day === cycleDay)
|
cycleDay.wrappedDate = LocalDate.parse(cycleDay.date)
|
||||||
const previousCycleDays = cycleDaysSortedbyDate.slice(cycleDayIndex + 1)
|
const winner = temperatureDaysSortedByDate.find(day => {
|
||||||
const winner = previousCycleDays.find(cycleDay => cycleDay.temperature)
|
const wrappedDate = LocalDate.parse(day.date)
|
||||||
|
return wrappedDate.isBefore(cycleDay.wrappedDate)
|
||||||
|
})
|
||||||
if (!winner) return null
|
if (!winner) return null
|
||||||
return winner.temperature.value
|
return winner.temperature.value
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+5
@@ -4687,6 +4687,11 @@
|
|||||||
"merge-stream": "^1.0.1"
|
"merge-stream": "^1.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"js-joda": {
|
||||||
|
"version": "1.8.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/js-joda/-/js-joda-1.8.2.tgz",
|
||||||
|
"integrity": "sha512-3w+3TnKqiplQyG/YQk31cBhJ/sg2Xb/fX7lneiK+z+nEjTzdfvHqJquJhtzyEA1NyLJKNpIeOQSBr3Q4nY+O8Q=="
|
||||||
|
},
|
||||||
"js-tokens": {
|
"js-tokens": {
|
||||||
"version": "3.0.2",
|
"version": "3.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
"lint": "eslint app test"
|
"lint": "eslint app test"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"js-joda": "^1.8.2",
|
||||||
"moment": "^2.22.1",
|
"moment": "^2.22.1",
|
||||||
"react": "16.3.1",
|
"react": "16.3.1",
|
||||||
"react-native": "0.55.4",
|
"react-native": "0.55.4",
|
||||||
|
|||||||
Reference in New Issue
Block a user