fix: 🐛 Store childs personalIdNumbers in settings
This commit is contained in:
parent
86dfb4fb8d
commit
cc3fd8670c
|
@ -26,6 +26,9 @@ const reporter: Reporter | undefined = __DEV__
|
|||
if (__DEV__) {
|
||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||
const DevMenu = require('react-native-dev-menu')
|
||||
DevMenu.addItem('Clear AsyncStorage from all contents', () =>
|
||||
AsyncStorage.clear().then(() => logAsyncStorage())
|
||||
)
|
||||
DevMenu.addItem('Log AsyncStorage contents', () => logAsyncStorage())
|
||||
}
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ import { NativeStackNavigationOptions } from 'react-native-screens/native-stack'
|
|||
import * as Yup from 'yup'
|
||||
import { defaultStackStyling } from '../design/navigationThemes'
|
||||
import usePersonalStorage from '../hooks/usePersonalStorage'
|
||||
import useSettingsStorage from '../hooks/useSettingsStorage'
|
||||
import { Layout as LayoutStyle, Sizing, Typography } from '../styles'
|
||||
import { studentName } from '../utils/peopleHelpers'
|
||||
import { useSMS } from '../utils/SMS'
|
||||
|
@ -70,12 +71,11 @@ const Absence = () => {
|
|||
const route = useRoute<AbsenceRouteProps>()
|
||||
const { sendSMS } = useSMS()
|
||||
const { child } = route.params
|
||||
const [personalIdFromStorage, setPersonalIdInStorage] = usePersonalStorage(
|
||||
user,
|
||||
`@childssn.${child.id}`,
|
||||
''
|
||||
)
|
||||
const [personalIdentityNumber, setPersonalIdentityNumber] = React.useState('')
|
||||
const [personalIdsFromStorage, setPersonalIdInStorage] = useSettingsStorage(
|
||||
'childPersonalIdentityNumber'
|
||||
)
|
||||
const personalIdKey = `@childPersonalIdNumber.${child.id}`
|
||||
const minumumDate = moment().hours(8).minute(0)
|
||||
const maximumDate = moment().hours(17).minute(0)
|
||||
const styles = useStyleSheet(themedStyles)
|
||||
|
@ -96,15 +96,19 @@ const Absence = () => {
|
|||
)
|
||||
}
|
||||
|
||||
setPersonalIdInStorage(values.personalIdentityNumber)
|
||||
setPersonalIdentityNumber(values.personalIdentityNumber)
|
||||
const toStore = {
|
||||
...personalIdsFromStorage,
|
||||
...{ [personalIdKey]: personalIdNumber },
|
||||
}
|
||||
setPersonalIdInStorage(toStore)
|
||||
},
|
||||
[sendSMS, setPersonalIdInStorage]
|
||||
[personalIdKey, personalIdsFromStorage, sendSMS, setPersonalIdInStorage]
|
||||
)
|
||||
|
||||
React.useEffect(() => {
|
||||
const personalIdFromStorage = personalIdsFromStorage[personalIdKey] || ''
|
||||
setPersonalIdentityNumber(personalIdFromStorage || '')
|
||||
}, [child, personalIdFromStorage, user])
|
||||
}, [child, personalIdKey, personalIdsFromStorage, user])
|
||||
|
||||
const initialValues: AbsenceFormValues = {
|
||||
displayStartTimePicker: false,
|
||||
|
|
|
@ -2,6 +2,8 @@ import { useCallback } from 'react'
|
|||
import { proxy, subscribe, useSnapshot } from 'valtio'
|
||||
import AppStorage from '../services/appStorage'
|
||||
|
||||
export type ChildPersonalNumbers = Record<string, string>
|
||||
|
||||
export const settingsState = proxy({
|
||||
hydrated: false,
|
||||
settings: {
|
||||
|
@ -12,6 +14,7 @@ export const settingsState = proxy({
|
|||
currentSchoolPlatform: 'stockholm-skolplattformen' as
|
||||
| 'stockholm-skolplattformen'
|
||||
| 'goteborg-hjarntorget',
|
||||
childPersonalIdentityNumber: {} as ChildPersonalNumbers,
|
||||
},
|
||||
})
|
||||
|
||||
|
|
Loading…
Reference in New Issue