|
1 | | -import { useNavigate, useSearchParams } from "react-router-dom"; |
2 | | -import useAuthStore from "../../app/provider/authStore"; |
3 | | -import { useEffect } from "react"; |
4 | | -import { useUserInfo } from "../../features/join/hooks/useUserHook"; |
| 1 | +import { useNavigate, useSearchParams } from 'react-router-dom'; |
| 2 | +import useAuthStore from '../../app/provider/authStore'; |
| 3 | +import { useEffect } from 'react'; |
| 4 | +import { useUserInfo } from '../../features/join/hooks/useUserHook'; |
5 | 5 |
|
6 | 6 | const AuthCallback = () => { |
7 | | - const navigate = useNavigate(); |
8 | | - const [searchParams] = useSearchParams(); |
9 | | - const status = searchParams.get('status'); // 'new' or 'existing' |
10 | | - const { login, setName, closeModal } = useAuthStore(); |
11 | | - const { data } = useUserInfo(); |
| 7 | + const navigate = useNavigate(); |
| 8 | + const [searchParams] = useSearchParams(); |
| 9 | + const status = searchParams.get('status'); // 'new' or 'existing' |
| 10 | + const { login, setName, closeModal } = useAuthStore(); |
| 11 | + const { data } = useUserInfo(); |
12 | 12 |
|
13 | | - useEffect(() => { |
14 | | - const handleAuth = async () => { |
15 | | - if (!data) return; |
16 | | - try { |
17 | | - closeModal(); |
18 | | - if (status === 'new') { |
19 | | - navigate('/join/agreement'); |
20 | | - } else { |
21 | | - login(); |
22 | | - setName(data?.name || "사용자"); |
23 | | - navigate('/'); |
24 | | - } |
25 | | - } catch (error) { |
26 | | - console.error('인증 처리 실패', error); |
27 | | - navigate('/'); |
28 | | - } |
29 | | - }; |
30 | | - handleAuth(); |
31 | | - }, [data, navigate, login, status, setName, closeModal]); |
| 13 | + useEffect(() => { |
| 14 | + const handleAuth = async () => { |
| 15 | + if (!data) return; |
| 16 | + try { |
| 17 | + closeModal(); |
| 18 | + if (status === 'new') { |
| 19 | + navigate('/join/agreement'); |
| 20 | + } else { |
| 21 | + login(); |
| 22 | + setName(data?.name || '사용자'); |
| 23 | + navigate('/'); |
| 24 | + } |
| 25 | + } catch { |
| 26 | + navigate('/'); |
| 27 | + } |
| 28 | + }; |
| 29 | + handleAuth(); |
| 30 | + }, [data, navigate, login, status, setName, closeModal]); |
32 | 31 |
|
33 | | - return <div className="text-center mt-32 text-lg font-bold">로그인 중입니다...</div>; |
| 32 | + return <div className="text-center mt-32 text-lg font-bold">로그인 중입니다...</div>; |
34 | 33 | }; |
35 | 34 |
|
36 | 35 | export default AuthCallback; |
37 | | - |
38 | | - |
0 commit comments