all repos — caroster @ 24711a52c637ee76e9de5ae36666a3c10392cb3e

[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(`/api/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;