diff --git a/src/app/recommend/page.tsx b/src/app/recommend/page.tsx index a324aac9..0d8a5a77 100644 --- a/src/app/recommend/page.tsx +++ b/src/app/recommend/page.tsx @@ -1,14 +1,20 @@ +'use client'; + import ChatSection from '@/domains/recommend/components/ChatSection'; import Bg from '@/shared/assets/images/recommend_bg.webp'; +import { useAuthStore } from '@/domains/shared/store/auth'; +import ChatPreview from '@/domains/recommend/components/ChatPreview'; function Page() { + const { user } = useAuthStore(); + return (

취향추천하기

- + {user ? : }
); } diff --git a/src/domains/login/components/LoginRedirectHandler.tsx b/src/domains/login/components/LoginRedirectHandler.tsx index 65a9c470..99098ab6 100644 --- a/src/domains/login/components/LoginRedirectHandler.tsx +++ b/src/domains/login/components/LoginRedirectHandler.tsx @@ -2,7 +2,7 @@ import Spinner from '@/shared/components/spinner/Spinner'; import WelcomeModal from '@/domains/login/components/WelcomeModal'; -import { useLoginRedirect } from '../hook/useAuthHooks'; +import { useLoginRedirect } from '../hook/useLoginRedirect'; function LoginRedirectHandler() { const { loading, welcomeModalOpen, handleCloseWelcomeModal, user } = useLoginRedirect(); diff --git a/src/domains/login/components/LogoutConfirm.tsx b/src/domains/login/components/LogoutConfirm.tsx index 8329aacc..9d10c1db 100644 --- a/src/domains/login/components/LogoutConfirm.tsx +++ b/src/domains/login/components/LogoutConfirm.tsx @@ -1,5 +1,5 @@ import ConfirmModal from '@/shared/components/modal-pop/ConfirmModal'; -import { useLogout } from '../hook/useAuthHooks'; +import { useLogout } from '../hook/useLogout'; interface Props { open: boolean; diff --git a/src/domains/login/hook/useAuthHooks.ts b/src/domains/login/hook/useLoginRedirect.ts similarity index 77% rename from src/domains/login/hook/useAuthHooks.ts rename to src/domains/login/hook/useLoginRedirect.ts index 6fd5a963..32b46a8a 100644 --- a/src/domains/login/hook/useAuthHooks.ts +++ b/src/domains/login/hook/useLoginRedirect.ts @@ -1,27 +1,9 @@ import { useAuthStore } from '@/domains/shared/store/auth'; -import { useCallback } from 'react'; import { useEffect, useState } from 'react'; import { usePathname, useRouter } from 'next/navigation'; import { getCookie, removeCookie } from '@/domains/shared/auth/utils/cookie'; import { useToast } from '@/shared/hook/useToast'; -export const useLogout = () => { - const logout = useAuthStore((state) => state.logout); - const { toastSuccess, toastError } = useToast(); - - const handleLogout = useCallback(async () => { - try { - await logout(); - toastSuccess('로그아웃 되었습니다.'); - } catch (err) { - console.error('로그아웃 실패', err); - toastError('로그아웃 실패 ❌ 다시 시도해주세요.'); - } - }, [logout, toastSuccess, toastError]); - - return handleLogout; -}; - export const useLoginRedirect = () => { const router = useRouter(); const pathname = usePathname(); diff --git a/src/domains/login/hook/useLogout.ts b/src/domains/login/hook/useLogout.ts new file mode 100644 index 00000000..fe14aa23 --- /dev/null +++ b/src/domains/login/hook/useLogout.ts @@ -0,0 +1,27 @@ +import { useAuthStore } from '@/domains/shared/store/auth'; +import { useToast } from '@/shared/hook/useToast'; +import { useCallback } from 'react'; +import { useRouter } from 'next/navigation'; + +export const useLogout = () => { + const logout = useAuthStore((state) => state.logout); + const { toastSuccess, toastError } = useToast(); + const router = useRouter(); + + const handleLogout = useCallback(async () => { + try { + await logout(); + toastSuccess('로그아웃 되었습니다.'); + + // 마이페이지 일 시 메인페이지로 이동 + if (window.location.pathname.startsWith('/mypage')) { + router.push('/'); + } + } catch (err) { + console.error('로그아웃 실패', err); + toastError('로그아웃 실패 ❌ 다시 시도해주세요.'); + } + }, [logout, toastSuccess, toastError, router]); + + return handleLogout; +}; diff --git a/src/domains/mypage/components/pages/my-bar/MyBar.tsx b/src/domains/mypage/components/pages/my-bar/MyBar.tsx index c20b0e2c..6965048d 100644 --- a/src/domains/mypage/components/pages/my-bar/MyBar.tsx +++ b/src/domains/mypage/components/pages/my-bar/MyBar.tsx @@ -29,7 +29,11 @@ function MyBar() {
{myCocktail.length !== 0 ? (
{myCocktail.map(({ cocktailId, cocktailName, imageUrl }) => ( diff --git a/src/domains/recipe/main/CocktailList.tsx b/src/domains/recipe/main/CocktailList.tsx index a9b79ff3..c8946cae 100644 --- a/src/domains/recipe/main/CocktailList.tsx +++ b/src/domains/recipe/main/CocktailList.tsx @@ -27,21 +27,23 @@ function CocktailList({ cocktails, RecipeFetch, hasNextPage, lastId, onItemClick return (