()
| 25 | } |
| 26 | |
| 27 | export const useSignBack = (): UseSignBack => { |
| 28 | const [signBack, setSignBack, isLoaded] = |
| 29 | usePersistentContext<SignedInUser>(signBackKey); |
| 30 | |
| 31 | const onUpdateSignBack: UseSignBack['onUpdateSignBack'] = useCallback( |
| 32 | (user, provider) => { |
| 33 | if (provider == null) { |
| 34 | globalThis?.localStorage.removeItem(SIGNIN_METHOD_KEY); |
| 35 | } else { |
| 36 | globalThis?.localStorage.setItem( |
| 37 | SIGNIN_METHOD_KEY, |
| 38 | provider.toLowerCase(), |
| 39 | ); |
| 40 | } |
| 41 | |
| 42 | if (user == null) { |
| 43 | return setSignBack(undefined as unknown as SignedInUser); |
| 44 | } |
| 45 | |
| 46 | const { name, email, image } = user; |
| 47 | return setSignBack({ name, email, image }); |
| 48 | }, |
| 49 | [setSignBack], |
| 50 | ); |
| 51 | |
| 52 | return { |
| 53 | onUpdateSignBack, |
| 54 | signBack, |
| 55 | isLoaded, |
| 56 | provider: useMemo( |
| 57 | () => |
| 58 | globalThis?.localStorage |
| 59 | ?.getItem(SIGNIN_METHOD_KEY) |
| 60 | ?.toLowerCase() as SignBackProvider, |
| 61 | [], |
| 62 | ), |
| 63 | }; |
| 64 | }; |
no test coverage detected