all repos — caroster @ 6e98fcd2e34e9ae2a75754bd21b2da2c2160b475

[Octree] Group carpool to your event https://caroster.io

frontend/hooks/useLoginWithProvider.ts (view raw)

 1import useAuthStore from '../stores/useAuthStore';
 2
 3const useLoginWithProvider = () => {
 4  const setToken = useAuthStore(s => s.setToken);
 5  const setUser = useAuthStore(s => s.setUser);
 6
 7  const loginWithProvider = async (provider: string, search: string) => {
 8    const resultRaw = await fetch(`/auth/${provider}/callback${search}`);
 9    const result = await resultRaw.json();
10    if (result.hasOwnProperty('error')) throw result;
11    setToken(result.jwt);
12    setUser(result.user);
13    return result;
14  };
15
16  return {loginWithProvider};
17};
18
19export default useLoginWithProvider;