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) => { const mucusTrackingCategoryToggle = (value) => {
if (!cervixTrackingCategoryObservable.value && value) { manageSecondarySymptom(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)
} }
const cervixTrackingCategoryToggle = (value) => { const cervixTrackingCategoryToggle = (value) => {
if (!mucusTrackingCategoryObservable.value && value) { manageSecondarySymptom(value, mucusTrackingCategoryObservable.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)
} }
const sexTrackingCategoryToggle = (value) => { const sexTrackingCategoryToggle = (value) => {
@@ -154,30 +128,30 @@ const Settings = () => {
} }
useEffect(() => { useEffect(() => {
if ( manageSecondarySymptom(
!mucusTrackingCategoryObservable.value && cervixTrackingCategoryObservable.value,
cervixTrackingCategoryObservable.value mucusTrackingCategoryObservable.value
) { )
setShouldUseCervix(true) }, [])
setIsSecondarySymptomDisabled(false)
} else if ( const manageSecondarySymptom = (cervix, mucus) => {
mucusTrackingCategoryObservable.value && if (!cervix && mucus) {
cervixTrackingCategoryObservable.value
) {
setIsSecondarySymptomDisabled(false)
} else if (
mucusTrackingCategoryObservable.value &&
!cervixTrackingCategoryObservable.value
) {
setShouldUseCervix(false) setShouldUseCervix(false)
setIsSecondarySymptomDisabled(true)
} else if (cervix && mucus) {
setIsSecondarySymptomDisabled(false) setIsSecondarySymptomDisabled(false)
} else if ( } else if (cervix && !mucus) {
!mucusTrackingCategoryObservable.value && setShouldUseCervix(true)
!cervixTrackingCategoryObservable.value setIsSecondarySymptomDisabled(true)
) { } else if (!cervix && !mucus) {
setIsSecondarySymptomDisabled(true) setIsSecondarySymptomDisabled(true)
} }
}, []) setMucusTrackingCategory(mucus)
saveMucusTrackingCategory(mucus)
setCervixTrackingCategory(cervix)
saveCervixTrackingCategory(cervix)
saveUseCervix(shouldUseCervix)
}
const secSymptomDisabledPrompt = () => { const secSymptomDisabledPrompt = () => {
if (!isMucusTrackingCategoryEnabled && !isCervixTrackingCategoryEnabled) { if (!isMucusTrackingCategoryEnabled && !isCervixTrackingCategoryEnabled) {