1+ import { useQueryClient } from '@tanstack/react-query' ;
12import { type AxiosError } from 'axios' ;
23import { useNavigate } from 'react-router-dom' ;
34
45import { loginAsGuest , loginAsMember } from './api' ;
56
6- import { removeUserQuery } from '@/models/user' ;
7+ import { userQueryKey } from '@/models/user' ;
78import { ROUTE } from '@/shared/constants' ;
89import { setFullScreen } from '@/shared/utils' ;
910
1011export const useLogout = ( ) => {
1112 const navigate = useNavigate ( ) ;
13+ const queryClient = useQueryClient ( ) ;
1214
1315 const logout = ( ) => {
1416 window . localStorage . removeItem ( 'token' ) ;
15- removeUserQuery ( ) ;
17+ queryClient . removeQueries ( { queryKey : userQueryKey } ) ;
1618 navigate ( '/' ) ;
1719 } ;
1820
@@ -21,9 +23,10 @@ export const useLogout = () => {
2123
2224export const useLogin = ( ) => {
2325 const navigate = useNavigate ( ) ;
26+ const queryClient = useQueryClient ( ) ;
2427
25- const login = async ( account : Account ) => {
26- removeUserQuery ( ) ;
28+ const memberLogin = async ( account : Account ) => {
29+ queryClient . removeQueries ( { queryKey : userQueryKey } ) ;
2730
2831 return loginAsMember ( account )
2932 . then ( ( isSuccess ) => {
@@ -42,14 +45,8 @@ export const useLogin = () => {
4245 } ) ;
4346 } ;
4447
45- return { login } ;
46- } ;
47-
48- export const useGuestLogin = ( ) => {
49- const navigate = useNavigate ( ) ;
50-
51- const login = async ( ) => {
52- removeUserQuery ( ) ;
48+ const guestLogin = async ( ) => {
49+ queryClient . removeQueries ( { queryKey : userQueryKey } ) ;
5350
5451 const isSuccess = await loginAsGuest ( ) ;
5552 if ( ! isSuccess ) {
@@ -59,5 +56,5 @@ export const useGuestLogin = () => {
5956 return navigate ( ROUTE . tutorial , { replace : true } ) ;
6057 } ;
6158
62- return { guestLogin : login } ;
59+ return { memberLogin , guestLogin } ;
6360} ;
0 commit comments