diff --git a/solution/frontend/src/pages/LoginPage.tsx b/solution/frontend/src/pages/LoginPage.tsx
index 4ff1a0f..88a4183 100644
--- a/solution/frontend/src/pages/LoginPage.tsx
+++ b/solution/frontend/src/pages/LoginPage.tsx
@@ -1,42 +1,117 @@
+import {useState, type FormEvent} from 'react';
import {Navigate, useLocation, useNavigate} from 'react-router';
-import {SignInForm} from '@/features/auth/SignInForm';
-import {useAuthStore} from '@/stores/auth';
+import {LogIn} from 'lucide-react';
+import {login, me, UserRole} from '@/api';
+import {Button} from '@/components/ui/button';
+import {Input} from '@/components/ui/input';
+import {notifyApiError} from '@/lib/notify';
+import {toAuthUser, useAuthStore} from '@/stores/auth';
export function LoginPage() {
const navigate = useNavigate();
const location = useLocation();
const user = useAuthStore((s) => s.user);
+ const signIn = useAuthStore((s) => s.signIn);
+
+ const [id, setId] = useState('');
+ const [password, setPassword] = useState('');
+ const [isSubmitting, setIsSubmitting] = useState(false);
// ★ 기본 도착지를 '/' 로 둔다. 앱마다 홈이 다르고(사장님 → 빌더, 내부 → 사업장 목록)
- // 각 라우터의 '/' 리다이렉트가 이미 그걸 안다. 여기 경로를 박으면 한쪽에서 404 다.
- const from = (location.state as {from?: string} | null)?.from ?? '/';
+// 각 라우터의 '/' 리다이렉트가 이미 그걸 안다. 여기 경로를 박으면 한쪽에서 404 다.
+const from = (location.state as {from?: string} | null)?.from ?? '/';
if (user) return
사업장·정보 확인·발행을 관리합니다.
-- 사이트는 로그인 없이 만들어 볼 수 있습니다. 로그인은 편집 화면에서 한 번만 필요합니다.{' '} - - 빌더로 이동 - +