Add license page
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
import { AsyncStorage } from 'react-native'
|
||||
import Observable from 'obv'
|
||||
import config from './config'
|
||||
|
||||
export const scaleObservable = Observable()
|
||||
setObvWithInitValue('tempScale', scaleObservable, {
|
||||
min: config.temperatureScale.defaultLow,
|
||||
max: config.temperatureScale.defaultHigh
|
||||
})
|
||||
|
||||
export const unitObservable = Observable()
|
||||
unitObservable.set(config.temperatureScale.units)
|
||||
scaleObservable((scale) => {
|
||||
const scaleRange = scale.max - scale.min
|
||||
if (scaleRange <= 3) {
|
||||
unitObservable.set(0.1)
|
||||
} else {
|
||||
unitObservable.set(0.5)
|
||||
}
|
||||
})
|
||||
|
||||
export async function saveTempScale(scale) {
|
||||
await AsyncStorage.setItem('tempScale', JSON.stringify(scale))
|
||||
scaleObservable.set(scale)
|
||||
}
|
||||
|
||||
export const tempReminderObservable = Observable()
|
||||
setObvWithInitValue('tempReminder', tempReminderObservable, {
|
||||
enabled: false
|
||||
})
|
||||
|
||||
export async function saveTempReminder(reminder) {
|
||||
await AsyncStorage.setItem('tempReminder', JSON.stringify(reminder))
|
||||
tempReminderObservable.set(reminder)
|
||||
}
|
||||
|
||||
export const periodReminderObservable = Observable()
|
||||
setObvWithInitValue('periodReminder', periodReminderObservable, {
|
||||
enabled: false
|
||||
})
|
||||
|
||||
export async function savePeriodReminder(reminder) {
|
||||
await AsyncStorage.setItem('periodReminder', JSON.stringify(reminder))
|
||||
periodReminderObservable.set(reminder)
|
||||
}
|
||||
|
||||
export const useCervixObservable = Observable()
|
||||
setObvWithInitValue('useCervix', useCervixObservable, false)
|
||||
|
||||
export async function saveUseCervix(bool) {
|
||||
await AsyncStorage.setItem('useCervix', JSON.stringify(bool))
|
||||
useCervixObservable.set(bool)
|
||||
}
|
||||
|
||||
export const hasEncryptionObservable = Observable()
|
||||
setObvWithInitValue('hasEncryption', hasEncryptionObservable, false)
|
||||
|
||||
export async function saveEncryptionFlag(bool) {
|
||||
await AsyncStorage.setItem('hasEncryption', JSON.stringify(bool))
|
||||
hasEncryptionObservable.set(bool)
|
||||
}
|
||||
|
||||
|
||||
export async function getLicenseFlag() {
|
||||
return AsyncStorage.getItem('agreedToLicense')
|
||||
}
|
||||
|
||||
export async function saveLicenseFlag() {
|
||||
await AsyncStorage.setItem('agreedToLicense', JSON.stringify(true))
|
||||
}
|
||||
|
||||
async function setObvWithInitValue(key, obv, defaultValue) {
|
||||
const result = await AsyncStorage.getItem(key)
|
||||
let value
|
||||
if (result) {
|
||||
value = JSON.parse(result)
|
||||
} else {
|
||||
value = defaultValue
|
||||
}
|
||||
obv.set(value)
|
||||
}
|
||||
Reference in New Issue
Block a user