From bda3eb609a322844566e1d4b3d829686376f9306 Mon Sep 17 00:00:00 2001 From: Roland Osborne Date: Sun, 15 May 2022 23:33:17 -0700 Subject: [PATCH] fix cache bug with signout --- net/web/src/context/useAccountContext.hook.js | 6 +++++- net/web/src/context/useAppContext.hook.js | 7 +++++++ net/web/src/context/useArticleContext.hook.js | 3 +++ net/web/src/context/useCardContext.hook.js | 8 +++++++- net/web/src/context/useChannelContext.hook.js | 6 ++++++ net/web/src/context/useGroupContext.hook.js | 6 +++++- net/web/src/context/useProfileContext.hook.js | 5 +++++ 7 files changed, 38 insertions(+), 3 deletions(-) diff --git a/net/web/src/context/useAccountContext.hook.js b/net/web/src/context/useAccountContext.hook.js index 943ad2bf..558a6965 100644 --- a/net/web/src/context/useAccountContext.hook.js +++ b/net/web/src/context/useAccountContext.hook.js @@ -34,9 +34,13 @@ export function useAccountContext() { } const actions = { - setToken: async (token) => { + setToken: (token) => { access.current = token; }, + clearToken: () => { + access.current = null; + setState({ init: false }); + }, setRevision: async (rev) => { setStatus(rev); }, diff --git a/net/web/src/context/useAppContext.hook.js b/net/web/src/context/useAppContext.hook.js index 4ff6586a..ece0bf9d 100644 --- a/net/web/src/context/useAppContext.hook.js +++ b/net/web/src/context/useAppContext.hook.js @@ -39,6 +39,7 @@ export function useAppContext() { const updateState = (value) => { setState((s) => ({ ...s, ...value })) } + const updateData = (value) => { setState((s) => { let data = { ...s.Data, ...value } @@ -55,6 +56,12 @@ export function useAppContext() { const resetData = () => { revision.current = null; + accountContext.actions.clearToken(); + profileContext.actions.clearToken(); + articleContext.actions.clearToken(); + groupContext.actions.clearToken(); + cardContext.actions.clearToken(); + channelContext.actions.clearToken(); setState({}); } diff --git a/net/web/src/context/useArticleContext.hook.js b/net/web/src/context/useArticleContext.hook.js index f5ad790c..e5c2b5f5 100644 --- a/net/web/src/context/useArticleContext.hook.js +++ b/net/web/src/context/useArticleContext.hook.js @@ -17,6 +17,9 @@ export function useArticleContext() { setToken: (token) => { updateState({ token }); }, + clearToken: () => { + setState({ init: false }); + }, setRevision: async (revision) => { updateState({ revision }); }, diff --git a/net/web/src/context/useCardContext.hook.js b/net/web/src/context/useCardContext.hook.js index d7e99244..022e125e 100644 --- a/net/web/src/context/useCardContext.hook.js +++ b/net/web/src/context/useCardContext.hook.js @@ -183,9 +183,15 @@ export function useCardContext() { } const actions = { - setToken: async (token) => { + setToken: (token) => { access.current = token; }, + clearToken: () => { + access.current = null; + cards.current = new Map(); + revision.current = null; + setState({ init: false, cards: new Map() }); + }, setRevision: async (rev) => { setCards(rev); }, diff --git a/net/web/src/context/useChannelContext.hook.js b/net/web/src/context/useChannelContext.hook.js index 81eb29d3..cd0905a2 100644 --- a/net/web/src/context/useChannelContext.hook.js +++ b/net/web/src/context/useChannelContext.hook.js @@ -83,6 +83,12 @@ export function useChannelContext() { setToken: (token) => { access.current = token; }, + clearToken: () => { + access.current = null; + channels.current = new Map(); + revision.current = null; + setState({ init: false, channels: new Map() }); + }, setRevision: async (rev) => { setChannels(rev); }, diff --git a/net/web/src/context/useGroupContext.hook.js b/net/web/src/context/useGroupContext.hook.js index adc5c043..5e8d991f 100644 --- a/net/web/src/context/useGroupContext.hook.js +++ b/net/web/src/context/useGroupContext.hook.js @@ -46,9 +46,13 @@ export function useGroupContext() { } const actions = { - setToken: async (token) => { + setToken: (token) => { access.current = token; }, + clearToken: () => { + access.current = null; + setState({ init: false }); + }, setRevision: async (rev) => { setGroups(rev); }, diff --git a/net/web/src/context/useProfileContext.hook.js b/net/web/src/context/useProfileContext.hook.js index 7f0773fe..ccbd952d 100644 --- a/net/web/src/context/useProfileContext.hook.js +++ b/net/web/src/context/useProfileContext.hook.js @@ -39,6 +39,11 @@ export function useProfileContext() { setToken: (token) => { access.current = token; }, + clearToken: () => { + access.current = null; + revision.current = null; + setState({ init: false, profile: {} }); + }, setRevision: (rev) => { setProfile(rev); },