49 lines
1.3 KiB
TypeScript
49 lines
1.3 KiB
TypeScript
"use client";
|
|
|
|
import { useEffect, useState } from 'react';
|
|
import { useRouter } from 'next/navigation';
|
|
import LoginPage from './login/page';
|
|
|
|
export default function HomePage() {
|
|
const router = useRouter();
|
|
const [isLoggedIn, setIsLoggedIn] = useState(false);
|
|
const [isLoading, setIsLoading] = useState(true);
|
|
|
|
useEffect(() => {
|
|
// 로그인 상태 확인
|
|
const loginStatus = localStorage.getItem('isLoggedIn') === 'true';
|
|
setIsLoggedIn(loginStatus);
|
|
setIsLoading(false);
|
|
}, []);
|
|
|
|
if (isLoading) {
|
|
return null; // 로딩 중
|
|
}
|
|
|
|
// 로그인되지 않았으면 로그인 페이지 표시
|
|
if (!isLoggedIn) {
|
|
return <LoginPage />;
|
|
}
|
|
|
|
// 로그인되었으면 메인 페이지 표시
|
|
return (
|
|
<div className="min-h-screen bg-gray-50">
|
|
<div className="container mx-auto px-4 py-8">
|
|
<h1 className="text-3xl font-bold mb-4">메인 페이지</h1>
|
|
<p className="text-gray-600">로그인 후 메인 페이지입니다.</p>
|
|
|
|
{/* 로그아웃 버튼 */}
|
|
<button
|
|
onClick={() => {
|
|
localStorage.removeItem('isLoggedIn');
|
|
router.push('/');
|
|
}}
|
|
className="mt-4 px-4 py-2 bg-red-500 text-white rounded-md hover:bg-red-600"
|
|
>
|
|
로그아웃
|
|
</button>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|