@@ -4,11 +4,15 @@ import useAuthStore from '../../store/authStore';
44import { ROUTES } from '../../constants/routes' ;
55import * as S from './Login.styled' ;
66import { Spinner } from '../../components/common/loadingSpinner/LoadingSpinner.styled' ;
7+ import Modal from '../../components/common/modal/Modal' ;
8+ import { useModal } from '../../hooks/useModal' ;
9+ import { AUTH_MESSAGE } from '../../constants/authConstants' ;
710
811function LoginSuccess ( ) {
912 const [ searchParams ] = useSearchParams ( ) ;
1013 const { storeLogin } = useAuthStore . getState ( ) ;
1114 const navigate = useNavigate ( ) ;
15+ const { isOpen, message, handleModalOpen, handleModalClose } = useModal ( ) ;
1216
1317 useEffect ( ( ) => {
1418 const accessToken = searchParams . get ( 'accessToken' ) ;
@@ -18,14 +22,19 @@ function LoginSuccess() {
1822 localStorage . setItem ( 'accessToken' , accessToken ) ;
1923 navigate ( ROUTES . main ) ;
2024 } else {
21- alert ( '로그인 토큰이 존재하지 않습니다.' ) ;
22- navigate ( ROUTES . login ) ;
25+ handleModalOpen ( AUTH_MESSAGE . isNotToken ) ;
26+ setTimeout ( ( ) => {
27+ navigate ( ROUTES . login ) ;
28+ } , 1000 ) ;
2329 }
24- } , [ ] ) ;
30+ } , [ searchParams , storeLogin , handleModalOpen , navigate ] ) ;
2531
2632 return (
2733 < S . LoginSuccessContainer >
2834 < Spinner />
35+ < Modal isOpen = { isOpen } onClose = { handleModalClose } >
36+ { message }
37+ </ Modal >
2938 </ S . LoginSuccessContainer >
3039 ) ;
3140}
0 commit comments