centralizing code to set the Secondary Symptom from different actions in one function

This commit is contained in:
wunderfisch
2024-02-13 15:46:04 +01:00
parent 82803bbb83
commit d7f1eb81fb
+22 -48
View File
@@ -85,37 +85,11 @@ const Settings = () => {
}
const mucusTrackingCategoryToggle = (value) => {
if (!cervixTrackingCategoryObservable.value && value) {
setShouldUseCervix(false)
setIsSecondarySymptomDisabled(true)
} else if (cervixTrackingCategoryObservable.value && value) {
setIsSecondarySymptomDisabled(false)
} else if (cervixTrackingCategoryObservable.value && !value) {
setShouldUseCervix(true)
setIsSecondarySymptomDisabled(true)
} else if (!cervixTrackingCategoryObservable.value && !value) {
setIsSecondarySymptomDisabled(true)
}
setMucusTrackingCategory(value)
saveMucusTrackingCategory(value)
saveUseCervix(shouldUseCervix)
manageSecondarySymptom(cervixTrackingCategoryObservable.value, value)
}
const cervixTrackingCategoryToggle = (value) => {
if (!mucusTrackingCategoryObservable.value && value) {
setShouldUseCervix(true)
setIsSecondarySymptomDisabled(true)
} else if (mucusTrackingCategoryObservable.value && value) {
setIsSecondarySymptomDisabled(false)
} else if (mucusTrackingCategoryObservable.value && !value) {
setShouldUseCervix(false)
setIsSecondarySymptomDisabled(true)
} else if (!mucusTrackingCategoryObservable.value && !value) {
setIsSecondarySymptomDisabled(true)
}
setCervixTrackingCategory(value)
saveCervixTrackingCategory(value)
saveUseCervix(shouldUseCervix)
manageSecondarySymptom(value, mucusTrackingCategoryObservable.value)
}
const sexTrackingCategoryToggle = (value) => {
@@ -154,30 +128,30 @@ const Settings = () => {
}
useEffect(() => {
if (
!mucusTrackingCategoryObservable.value &&
cervixTrackingCategoryObservable.value
) {
setShouldUseCervix(true)
setIsSecondarySymptomDisabled(false)
} else if (
mucusTrackingCategoryObservable.value &&
cervixTrackingCategoryObservable.value
) {
setIsSecondarySymptomDisabled(false)
} else if (
mucusTrackingCategoryObservable.value &&
!cervixTrackingCategoryObservable.value
) {
manageSecondarySymptom(
cervixTrackingCategoryObservable.value,
mucusTrackingCategoryObservable.value
)
}, [])
const manageSecondarySymptom = (cervix, mucus) => {
if (!cervix && mucus) {
setShouldUseCervix(false)
setIsSecondarySymptomDisabled(true)
} else if (cervix && mucus) {
setIsSecondarySymptomDisabled(false)
} else if (
!mucusTrackingCategoryObservable.value &&
!cervixTrackingCategoryObservable.value
) {
} else if (cervix && !mucus) {
setShouldUseCervix(true)
setIsSecondarySymptomDisabled(true)
} else if (!cervix && !mucus) {
setIsSecondarySymptomDisabled(true)
}
}, [])
setMucusTrackingCategory(mucus)
saveMucusTrackingCategory(mucus)
setCervixTrackingCategory(cervix)
saveCervixTrackingCategory(cervix)
saveUseCervix(shouldUseCervix)
}
const secSymptomDisabledPrompt = () => {
if (!isMucusTrackingCategoryEnabled && !isCervixTrackingCategoryEnabled) {