diff --git a/src/app/femtoApp.ts b/src/app/femtoApp.ts index cc9593a..2796417 100644 --- a/src/app/femtoApp.ts +++ b/src/app/femtoApp.ts @@ -2,6 +2,7 @@ import { FemtoApp } from '../types' import { produce } from 'immer' export function setGlobal(k: K, v: FemtoApp[K]) { + console.debug('setting global', k, v) window.$femto = produce(window.$femto ?? {}, (draft) => { draft[k] = v }) diff --git a/src/app/user/user.ts b/src/app/user/user.ts index a962607..6c73afe 100644 --- a/src/app/user/user.ts +++ b/src/app/user/user.ts @@ -14,24 +14,25 @@ let globalUser: User | null export function initUser() { updateUser() + + addMessageListener('auth:logged-in', updateUser) + addMessageListener('auth:registered', updateUser) + addMessageListener('auth:logged-out', updateUser) + addMessageListener('auth:refreshed', updateUser) } function updateUser() { globalUser = getUserFromCookie() - console.debug(globalUser) + console.debug('got user from cookie', globalUser) setGlobal('user', globalUser) dispatchMessage('user:updated', globalUser) } -addMessageListener('auth:logged-in', updateUser) -addMessageListener('auth:registered', updateUser) -addMessageListener('auth:logged-out', updateUser) -addMessageListener('auth:refreshed', updateUser) - export function useUser(): User | null { const [user, setUser] = useState(globalUser) useMessageListener('user:updated', (u) => { + console.log('recieved user updated event') setUser(u) })