From 724e73ad142b66bc2bcc3c5fdd88689f188d7f96 Mon Sep 17 00:00:00 2001 From: Julia Friesel <julia.friesel@gmail.com> Date: Tue, 12 Jun 2018 13:10:42 +0200 Subject: [PATCH] Fix getPreviousTemperature, only use temp dates --- db.js | 11 ++++++++--- package-lock.json | 5 +++++ package.json | 1 + 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/db.js b/db.js index c80efb21..8f34199c 100644 --- a/db.js +++ b/db.js @@ -1,8 +1,10 @@ import realm from 'realm' +import { LocalDate } from 'js-joda' let db let cycleDaysSortedbyDate = [] let bleedingDaysSortedByDate = [] +let temperatureDaysSortedByDate const TemperatureSchema = { name: 'Temperature', @@ -49,6 +51,7 @@ async function openDatabase() { cycleDaysSortedbyDate = db.objects('CycleDay').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) { @@ -76,9 +79,11 @@ function getOrCreateCycleDay(localDate) { } function getPreviousTemperature(cycleDay) { - const cycleDayIndex = cycleDaysSortedbyDate.findIndex(day => day === cycleDay) - const previousCycleDays = cycleDaysSortedbyDate.slice(cycleDayIndex + 1) - const winner = previousCycleDays.find(cycleDay => cycleDay.temperature) + cycleDay.wrappedDate = LocalDate.parse(cycleDay.date) + const winner = temperatureDaysSortedByDate.find(day => { + const wrappedDate = LocalDate.parse(day.date) + return wrappedDate.isBefore(cycleDay.wrappedDate) + }) if (!winner) return null return winner.temperature.value } diff --git a/package-lock.json b/package-lock.json index 9cedc1c2..95bf3554 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4687,6 +4687,11 @@ "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": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", diff --git a/package.json b/package.json index aa857af3..98d3dae7 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "lint": "eslint app test" }, "dependencies": { + "js-joda": "^1.8.2", "moment": "^2.22.1", "react": "16.3.1", "react-native": "0.55.4", -- GitLab