Caching fetched resources

This commit is contained in:
mrfry 2021-06-09 09:48:31 +02:00
parent 7e93e41edc
commit 3daeef184a
12 changed files with 213 additions and 85 deletions

View file

@ -40,7 +40,7 @@ function requestPw() {
})
}
export default function PwRequest({ globalData }) {
export default function PwRequest({ globalData, globalState, setGlobalState }) {
const userId = globalData.userId || '...'
const [result, setResult] = useState([])
const [daysTillNext, setDaysTillNext] = useState('...')
@ -65,9 +65,16 @@ export default function PwRequest({ globalData }) {
} = data
useEffect(() => {
fetchAvailablePWS().then((data) => {
setData(data)
})
if (globalState.availablePWS) {
setData(globalState.availablePWS)
} else {
fetchAvailablePWS().then((data) => {
setData(data)
setGlobalState({
availablePWS: data,
})
})
}
const nextDate = 1
const now = new Date()
if (now.getDate() === nextDate) {
@ -154,6 +161,9 @@ export default function PwRequest({ globalData }) {
onClick={() => {
requestPw().then((res) => {
setData(res)
setGlobalState({
availablePWS: res,
})
if (res.success) {
setResult([...result, res.pw])
} else {