Fix: Sets isCycleStart to false when bleeding value gets deleted

This commit is contained in:
bl00dymarie
2024-09-09 18:43:57 +02:00
parent c21fd193ce
commit 0f7e3fe0ad
2 changed files with 11 additions and 9 deletions
+1 -1
View File
@@ -90,7 +90,7 @@ export function saveSymptom(symptom, date, val) {
let cycleDay = getCycleDay(date) let cycleDay = getCycleDay(date)
if (!cycleDay) cycleDay = createCycleDay(date) if (!cycleDay) cycleDay = createCycleDay(date)
db.write(() => { db.write(() => {
if (symptom === 'bleeding' && val != null && val.value != null) { if (symptom === 'bleeding' && val && val.value != null) {
const mensesDaysAfter = getMensesDaysRightAfter(cycleDay) const mensesDaysAfter = getMensesDaysRightAfter(cycleDay)
maybeSetNewCycleStart({ maybeSetNewCycleStart({
val, val,
+10 -8
View File
@@ -1,7 +1,9 @@
export default function ({ export default function ({
val, cycleDay, mensesDaysAfter, checkIsMensesStart val,
cycleDay,
mensesDaysAfter,
checkIsMensesStart,
}) { }) {
cycleDay.bleeding = val cycleDay.bleeding = val
// if a bleeding value is deleted or excluded, we need to check if there are // if a bleeding value is deleted or excluded, we need to check if there are
@@ -20,15 +22,15 @@ export default function ({
} }
function bleedingValueDeletedOrExluded(val) { function bleedingValueDeletedOrExluded(val) {
const bleedingDeleted = !val const bleedingDeleted = !val || (val && !(typeof val.value === 'number'))
const bleedingExcluded = val && val.exclude const bleedingExcluded = val && val.exclude
return bleedingDeleted || bleedingExcluded return bleedingDeleted || bleedingExcluded
} }
function maybeClearOldCycleStarts() { function maybeClearOldCycleStarts() {
// if we have a new bleeding day, we need to clear the // if we have a new bleeding day, we need to clear the
// menses start marker from all following days of this // menses start marker from all following days of this
// menses that may have been marked as start before // menses that may have been marked as start before
mensesDaysAfter.forEach(day => day.isCycleStart = false) mensesDaysAfter.forEach((day) => (day.isCycleStart = false))
} }
} }