diff --git a/src/hooks/use-auth/use-auth-login/index.ts b/src/hooks/use-auth/use-auth-login/index.ts index c0186c8a..3ed3836f 100644 --- a/src/hooks/use-auth/use-auth-login/index.ts +++ b/src/hooks/use-auth/use-auth-login/index.ts @@ -8,6 +8,7 @@ import axios, { AxiosError } from 'axios'; import Cookies from 'js-cookie'; import { API } from '@/api'; +import { useAuth } from '@/providers'; import { LoginRequest } from '@/types/service/auth'; import { CommonErrorResponse } from '@/types/service/common'; @@ -53,6 +54,8 @@ export const useLogin = () => { const [loginError, setLoginError] = useState(null); const clearLoginError = useCallback(() => setLoginError(null), []); + const { accessToken } = useAuth(); + const handleLogin = async (payload: LoginRequest, formApi: { reset: () => void }) => { setLoginError(null); @@ -68,6 +71,9 @@ export const useLogin = () => { }); formApi.reset(); + + accessToken.set(result.accessToken); + const nextPath = normalizePath(searchParams.get('path')); router.replace(nextPath); } catch (error) { diff --git a/src/hooks/use-auth/use-auth-logout/index.ts b/src/hooks/use-auth/use-auth-logout/index.ts index 4b81a09b..1ff8cf38 100644 --- a/src/hooks/use-auth/use-auth-logout/index.ts +++ b/src/hooks/use-auth/use-auth-logout/index.ts @@ -6,11 +6,14 @@ import { useQueryClient } from '@tanstack/react-query'; import { API } from '@/api'; import { userKeys } from '@/lib/query-key/query-key-user'; +import { useAuth } from '@/providers'; export const useLogout = () => { const router = useRouter(); const queryClient = useQueryClient(); + const { accessToken } = useAuth(); + const handleLogout = async () => { try { await API.authService.logout(); @@ -20,6 +23,8 @@ export const useLogout = () => { // 로그인 유저 관련 캐시 정리 queryClient.removeQueries({ queryKey: userKeys.all }); + accessToken.remove(); + router.push('/'); } }; diff --git a/src/hooks/use-notification/use-notification-get-unread-count/index.ts b/src/hooks/use-notification/use-notification-get-unread-count/index.ts index 48e0c7b6..7b345fd5 100644 --- a/src/hooks/use-notification/use-notification-get-unread-count/index.ts +++ b/src/hooks/use-notification/use-notification-get-unread-count/index.ts @@ -2,14 +2,20 @@ import { useQuery } from '@tanstack/react-query'; import { API } from '@/api'; import { notificationKeys } from '@/lib/query-key/query-key-notification'; +import { useAuth } from '@/providers'; export const useGetNotificationUnreadCount = () => { - const isAuthenticated = typeof window !== 'undefined' && document.cookie.includes('accessToken'); - - return useQuery({ + const { accessToken } = useAuth(); + const queryResult = useQuery({ queryKey: notificationKeys.unReadCount(), queryFn: () => API.notificationService.getUnreadCount(), - retry: false, // 재시도 안 함 - enabled: isAuthenticated, + enabled: !!accessToken.value, }); + + const finalData = accessToken.value ? (queryResult.data ?? 0) : 0; + + return { + ...queryResult, + data: finalData, + }; };