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 console.log({result});
11 if (result.hasOwnProperty('error')) throw result;
12 setToken(result.jwt);
13 setUser(result.user);
14 return result;
15 };
16
17 return {loginWithProvider};
18};
19
20export default useLoginWithProvider;