diff --git a/src/components/features/club/review/ClubReview.tsx b/src/components/features/club/review/ClubReview.tsx index f7b3010..059615d 100644 --- a/src/components/features/club/review/ClubReview.tsx +++ b/src/components/features/club/review/ClubReview.tsx @@ -3,22 +3,32 @@ import { Card } from '@/components/ui/card'; import ReviewStatics from './ReviewStatics'; import Divider from '@/components/ui/divider'; import ReviewList from './ReviewList'; - +import { Button } from '@/components/ui/button'; +import { useRouter } from 'next/navigation'; +import { useLoginStore } from '@/stores/login/useLoginStore'; +import Image from 'next/image'; export default function ClubReview({ clubId }: { clubId: number }) { + const router = useRouter(); + const isLoggedIn = useLoginStore((state) => state.isLoggedIn); return ( -
- {/* review */} + {isLoggedIn ? (
-
+
):( +
+

πŸ” 둜그인 ν›„ 동아리 리뷰λ₯Ό ν™•μΈν•΄λ³΄μ„Έμš”!
이 동아리에 μž‘μ„±λœ λͺ¨λ“  λ¦¬λ·°λŠ” 둜그인 μ‹œ μ—΄λžŒ κ°€λŠ₯ν•©λ‹ˆλ‹€.

+ +
+ + )}
); } diff --git a/src/components/features/login/api/kakaoLogin.ts b/src/components/features/login/api/kakaoLogin.ts index f96e160..d56906e 100644 --- a/src/components/features/login/api/kakaoLogin.ts +++ b/src/components/features/login/api/kakaoLogin.ts @@ -48,6 +48,7 @@ export const removeTokens = (): void => { localStorage.removeItem('accessToken'); localStorage.removeItem('refreshToken'); localStorage.removeItem('isAdmin'); + localStorage.removeItem('login-storage'); console.log('토큰 제거 μ™„λ£Œ'); } catch (error) { console.error('토큰 제거 μ‹€νŒ¨:', error); diff --git a/src/components/layouts/Header.tsx b/src/components/layouts/Header.tsx index 0482321..6248ac0 100644 --- a/src/components/layouts/Header.tsx +++ b/src/components/layouts/Header.tsx @@ -16,6 +16,7 @@ import { getIsAdmin } from '@/auth/AuthService'; import { getUserInfo } from '../features/login/api/kakaoLogin'; import { User } from '@/types/login/kakaoLoginData'; import { kakaoLogout, removeTokens } from '../features/login/api/kakaoLogin'; +import { useLoginStore } from '@/stores/login/useLoginStore'; // import { adminsLogout } from '../features/login/api/login'; interface AdminMeProps { @@ -69,6 +70,7 @@ export default function Header() { const [isOpenToggle, setIsOpenToggle] = useState(false); const [isOpenModal, setIsOpenModal] = useState(false); const [modalMessage, setModalMessage] = useState(''); + const logoutStore = useLoginStore((state) => state.logout); useEffect(() => { const token = getAccessToken(); @@ -105,6 +107,7 @@ export default function Header() { setAccessToken(null); setAdminMe(undefined); removeTokens(); + logoutStore(); setModalMessage('λ‘œκ·Έμ•„μ›ƒ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.'); window.dispatchEvent(new Event('storage')); @@ -117,6 +120,7 @@ export default function Header() { setAccessToken(null); setUser(undefined); removeTokens(); + logoutStore(); setModalMessage('λ‘œκ·Έμ•„μ›ƒ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.'); setIsOpenModal(true); @@ -127,6 +131,7 @@ export default function Header() { setAccessToken(null); setUser(undefined); removeTokens(); + logoutStore(); setModalMessage('λ‘œκ·Έμ•„μ›ƒ 쀑 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. λ‹€μ‹œ μ‹œλ„ν•΄μ£Όμ„Έμš”.'); setIsOpenModal(true); }