37cac72085
- Docker/K8s 배포 설정을 pipeline-backend/pipeline-front로 통일 - 네임스페이스, 서비스, PVC 등 k8s 리소스명 pipeline-* 로 변경 - AI 에이전트 관리 기능 추가 (에이전트, 그룹, 프로바이더, 대화, API 키, 지식베이스) - 장비 연결 관리 기능 추가 (PLC/Modbus/OPC-UA/MQTT) - 배치 스케줄러에 AI agent/device collection/crawling 타입 추가 - 배치 편집 UI 개선 (6가지 실행 방식 지원) - 회사별 페이지(COMPANY_*) 제거 및 AdminPageRenderer 최적화 - 메뉴 재구성: 장비 연결 관리 시스템관리로 이동, 에이전트 오케스트레이션으로 개명 - ai-assistant 디렉토리 제거 (backend-node로 통합) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
39 lines
980 B
TypeScript
39 lines
980 B
TypeScript
"use client";
|
|
|
|
import { useLogin } from "@/hooks/useLogin";
|
|
import { LoginHeader } from "@/components/auth/LoginHeader";
|
|
import { LoginForm } from "@/components/auth/LoginForm";
|
|
import { LoginFooter } from "@/components/auth/LoginFooter";
|
|
|
|
export default function LoginPage() {
|
|
const {
|
|
formData,
|
|
isLoading,
|
|
error,
|
|
showPassword,
|
|
handleInputChange,
|
|
handleLogin,
|
|
togglePasswordVisibility,
|
|
} = useLogin();
|
|
|
|
return (
|
|
<div className="flex min-h-screen flex-col items-center justify-center bg-[#f4f5f7] p-4 dark:bg-background">
|
|
<div className="w-full max-w-[380px] space-y-6">
|
|
<LoginHeader />
|
|
|
|
<LoginForm
|
|
formData={formData}
|
|
isLoading={isLoading}
|
|
error={error}
|
|
showPassword={showPassword}
|
|
onInputChange={handleInputChange}
|
|
onSubmit={handleLogin}
|
|
onTogglePassword={togglePasswordVisibility}
|
|
/>
|
|
|
|
<LoginFooter />
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|