Add temperature toggle in customization and store value in local storage

This commit is contained in:
bl00dymarie
2024-01-23 15:20:04 +01:00
parent 27274aa994
commit ae3edb0a15
2 changed files with 25 additions and 0 deletions
@@ -12,12 +12,14 @@ import {
noteTrackingCategoryObservable,
painTrackingCategoryObservable,
sexTrackingCategoryObservable,
temperatureTrackingCategoryObservable,
saveDesireTrackingCategory,
saveMoodTrackingCategory,
saveNoteTrackingCategory,
savePainTrackingCategory,
savePeriodPrediction,
saveSexTrackingCategory,
saveTemperatureTrackingCategory,
saveUseCervix,
periodPredictionObservable,
useCervixObservable,
@@ -34,6 +36,10 @@ const Settings = () => {
periodPredictionObservable.value
)
const [isTemperatureTrackingCategoryEnabled, setTemperatureTrackingCategory] = useState(
temperatureTrackingCategoryObservable.value
)
const [isSexTrackingCategoryEnabled, setSexTrackingCategory] = useState(
sexTrackingCategoryObservable.value
)
@@ -57,6 +63,11 @@ const Settings = () => {
const [isEnabled, setIsEnabled] = useState(false)
const toggleSwitch = () => setIsEnabled((previousState) => !previousState)
const temperatureTrackingCategoryToggle = (value) => {
setTemperatureTrackingCategory(value)
saveTemperatureTrackingCategory(value)
}
const sexTrackingCategoryToggle = (value) => {
setSexTrackingCategory(value)
saveSexTrackingCategory(value)
@@ -100,6 +111,12 @@ const Settings = () => {
return (
<AppPage title={'Customization'}>
<Segment title={'Tracking categories'}>
<AppSwitch
onToggle={temperatureTrackingCategoryToggle}
text={"temperature"}
value={isTemperatureTrackingCategoryEnabled}
trackColor={{ true: Colors.turquoiseDark }}
/>
<AppSwitch
onToggle={sexTrackingCategoryToggle}
text={"sex: when turned off it won't show"}
+8
View File
@@ -92,6 +92,14 @@ export async function setChartFlag() {
await AsyncStorage.setItem('isFirstChartView', JSON.stringify(false))
}
export const temperatureTrackingCategoryObservable = Observable()
setObvWithInitValue('temperature', temperatureTrackingCategoryObservable, true)
export async function saveTemperatureTrackingCategory(bool) {
await AsyncStorage.setItem('temperature', JSON.stringify(bool))
temperatureTrackingCategoryObservable.set(bool)
}
export const sexTrackingCategoryObservable = Observable()
setObvWithInitValue('sex', sexTrackingCategoryObservable, true)