import { useState, useEffect } from 'react'; import { GoogleLogin, type CredentialResponse } from '@react-oauth/google'; import { useAuthStore } from '../../store/authStore'; /* Demo accounts (개발 모드 전용) */ const DEMO_ACCOUNTS = [{ id: 'admin', password: 'admin1234', label: '관리자 (경정)' }]; export function LoginPage() { const [userId, setUserId] = useState(''); const [password, setPassword] = useState(''); const [remember, setRemember] = useState(false); const { login, googleLogin, isLoading, error, pendingMessage, clearError } = useAuthStore(); const GOOGLE_ENABLED = !!import.meta.env.VITE_GOOGLE_CLIENT_ID; useEffect(() => { const saved = localStorage.getItem('wing_remember'); if (saved) { // eslint-disable-next-line react-hooks/set-state-in-effect setUserId(saved); setRemember(true); } }, []); const handleGoogleSuccess = async (response: CredentialResponse) => { if (response.credential) { clearError(); try { await googleLogin(response.credential); } catch { // 에러는 authStore에서 관리 } } }; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); clearError(); if (!userId.trim() || !password.trim()) { return; } try { await login(userId.trim(), password); if (remember) { localStorage.setItem('wing_remember', userId.trim()); } else { localStorage.removeItem('wing_remember'); } } catch { // 에러는 authStore에서 관리 } }; return (