mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-04 08:38:34 +00:00
fix(core): user info should be updated when session reloaded (#6382)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { DebugLogger } from '@affine/debug';
|
||||
import { getBaseUrl } from '@affine/graphql';
|
||||
import { useMemo, useReducer } from 'react';
|
||||
import { useEffect, useMemo, useReducer } from 'react';
|
||||
import useSWR from 'swr';
|
||||
|
||||
import { SessionFetchErrorRightAfterLoginOrSignUp } from '../../unexpected-application-state/errors';
|
||||
@@ -145,6 +145,21 @@ export function useCurrentUser(): CheckedUser {
|
||||
[dispatcher, session]
|
||||
);
|
||||
|
||||
// update user when session reloaded
|
||||
// maybe lift user state up to global state?
|
||||
useEffect(() => {
|
||||
if (session.user) {
|
||||
dispatcher({ type: 'update', payload: session.user });
|
||||
} else {
|
||||
dispatcher({ type: 'fetchError', payload: null });
|
||||
}
|
||||
}, [
|
||||
session.user,
|
||||
session.user?.id,
|
||||
session.user?.name,
|
||||
session.user?.avatarUrl,
|
||||
]);
|
||||
|
||||
return useMemo(
|
||||
() => ({
|
||||
...user,
|
||||
|
||||
Reference in New Issue
Block a user