"use client";
import Link from 'next/link';
import Image from 'next/image';
import { useState, useEffect } from 'react';
import { useRouter } from 'next/navigation';
import logo from '../logo.svg';
const checkIcon = "http://localhost:3845/assets/68720b08a673d8b68ae6482d642eeab286c9462b.svg";
type CheckboxProps = {
checked: boolean;
onChange: () => void;
label: string;
};
function Checkbox({ checked, onChange, label }: CheckboxProps) {
return (
{label}
);
}
export default function LoginPage() {
const router = useRouter();
const [username, setUsername] = useState('');
const [password, setPassword] = useState('');
const [rememberId, setRememberId] = useState(false);
const [autoLogin, setAutoLogin] = useState(false);
const [usernameError, setUsernameError] = useState('');
const [passwordError, setPasswordError] = useState('');
const [showErrorPopup, setShowErrorPopup] = useState(false);
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault();
setUsernameError('');
setPasswordError('');
// 아이디와 비밀번호가 비어있는지 확인
const isUsernameEmpty = !username.trim();
const isPasswordEmpty = !password.trim();
if (isUsernameEmpty) {
setUsernameError('이메일을 입력해 주세요.');
}
if (isPasswordEmpty) {
setPasswordError('비밀번호를 입력해 주세요.');
}
// 둘 중 하나라도 비어있으면 검증 중단
if (isUsernameEmpty || isPasswordEmpty) {
return;
}
// 아이디와 비밀번호 검증
if (username === 'qwre@naver.com' && password === '1234') {
// 로그인 성공
localStorage.setItem('isLoggedIn', 'true');
// 아이디 기억하기 체크 시 아이디 저장
if (rememberId) {
localStorage.setItem('rememberedUsername', username);
} else {
localStorage.removeItem('rememberedUsername');
}
// 루트 경로로 이동 (루트 페이지에서 로그인 상태를 확인하여 메인 페이지 표시)
window.location.href = '/';
} else {
// 로그인 실패 - 팝업 표시
setShowErrorPopup(true);
setUsernameError('아이디 또는 비밀번호가 올바르지 않습니다.');
setPasswordError('아이디 또는 비밀번호가 올바르지 않습니다.');
}
};
// 아이디 기억하기 기능 - 컴포넌트 마운트 시 저장된 아이디 불러오기
useEffect(() => {
const rememberedUsername = localStorage.getItem('rememberedUsername');
if (rememberedUsername) {
setUsername(rememberedUsername);
setRememberId(true);
}
}, []);
return (
{/* 상단 로고 */}
{/* 로그인 폼 */}
{/* 하단 링크 버튼들 */}
회원가입
아이디찾기
{/* 카피라이트 */}
© 2024 XR LMS. All rights reserved.
{/* 에러 팝업 */}
{showErrorPopup && (
아이디 또는 비밀번호가 일치하지 않아요.
확인 후 다시 시도해 주세요.
)}
);
}