Files
chpark 37cac72085 refactor: Pipeline 네이밍 통일 및 AI 에이전트/장비 연결 기능 추가
- 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>
2026-04-20 12:14:50 +09:00

228 lines
11 KiB
TypeScript

import { Users, Shield, Settings, BarChart3, Palette, Layout, Database, Package, Building2, Bot } from "lucide-react";
import Link from "next/link";
import { GlobalFileViewer } from "@/components/GlobalFileViewer";
/**
* 관리자 메인 페이지
*/
export default function AdminPage() {
return (
<div className="bg-background min-h-screen">
<div className="w-full max-w-none space-y-16 px-4 pt-12 pb-16">
{/* 주요 관리 기능 */}
<div className="mx-auto max-w-7xl space-y-10">
<div className="mb-8 text-center">
<h2 className="text-foreground mb-2 text-2xl font-bold"> </h2>
<p className="text-muted-foreground"> </p>
</div>
<div className="grid gap-6 md:grid-cols-2 lg:grid-cols-3">
<Link href="/admin/userMng" className="block">
<div className="bg-card hover:bg-muted rounded-lg border p-6 shadow-sm transition-colors">
<div className="flex items-center gap-4">
<div className="bg-primary/10 flex h-12 w-12 items-center justify-center rounded-lg">
<Users className="text-primary h-6 w-6" />
</div>
<div>
<h3 className="text-foreground font-semibold"> </h3>
<p className="text-muted-foreground text-sm"> </p>
</div>
</div>
</div>
</Link>
{/* <div className="bg-card rounded-lg border p-6 shadow-sm">
<div className="flex items-center gap-4">
<div className="bg-success/10 flex h-12 w-12 items-center justify-center rounded-lg">
<Shield className="text-success h-6 w-6" />
</div>
<div>
<h3 className="text-foreground font-semibold">권한 관리</h3>
<p className="text-muted-foreground text-sm">메뉴 및 기능 권한 설정</p>
</div>
</div>
</div>
<div className="bg-card rounded-lg border p-6 shadow-sm">
<div className="flex items-center gap-4">
<div className="bg-primary/10 flex h-12 w-12 items-center justify-center rounded-lg">
<Settings className="text-primary h-6 w-6" />
</div>
<div>
<h3 className="text-foreground font-semibold">시스템 설정</h3>
<p className="text-muted-foreground text-sm">기본 설정 및 환경 구성</p>
</div>
</div>
</div>
<div className="bg-card rounded-lg border p-6 shadow-sm">
<div className="flex items-center gap-4">
<div className="bg-warning/10 flex h-12 w-12 items-center justify-center rounded-lg">
<BarChart3 className="text-warning h-6 w-6" />
</div>
<div>
<h3 className="text-foreground font-semibold">통계 및 리포트</h3>
<p className="text-muted-foreground text-sm">시스템 사용 현황 분석</p>
</div>
</div>
</div> */}
<Link href="/admin/screenMng" className="block">
<div className="bg-card hover:bg-muted rounded-lg border p-6 shadow-sm transition-colors">
<div className="flex items-center gap-4">
<div className="bg-primary/10 flex h-12 w-12 items-center justify-center rounded-lg">
<Palette className="text-primary h-6 w-6" />
</div>
<div>
<h3 className="text-foreground font-semibold"></h3>
<p className="text-muted-foreground text-sm"> </p>
</div>
</div>
</div>
</Link>
<Link href="/admin/aiAssistant" className="block">
<div className="bg-card hover:bg-muted rounded-lg border p-6 shadow-sm transition-colors">
<div className="flex items-center gap-4">
<div className="bg-primary/10 flex h-12 w-12 items-center justify-center rounded-lg">
<Bot className="text-primary h-6 w-6" />
</div>
<div>
<h3 className="text-foreground font-semibold">AI </h3>
<p className="text-muted-foreground text-sm">AI LLM </p>
</div>
</div>
</div>
</Link>
</div>
</div>
{/* 표준 관리 섹션 */}
<div className="mx-auto max-w-7xl space-y-10">
<div className="mb-8 text-center">
<h2 className="text-foreground mb-2 text-2xl font-bold"> </h2>
<p className="text-muted-foreground"> </p>
</div>
<div className="grid gap-6 md:grid-cols-2 lg:grid-cols-4">
{/* <Link href="/admin/standards" className="block h-full">
<div className="bg-card hover:bg-muted h-full rounded-lg border p-6 shadow-sm transition-colors">
<div className="flex items-center gap-4">
<div className="bg-primary/10 flex h-12 w-12 items-center justify-center rounded-lg">
<Database className="text-primary h-6 w-6" />
</div>
<div>
<h3 className="text-foreground font-semibold">웹타입 관리</h3>
<p className="text-muted-foreground text-sm">입력 컴포넌트 웹타입 표준 관리</p>
</div>
</div>
</div>
</Link>
<Link href="/admin/templates" className="block h-full">
<div className="bg-card hover:bg-muted h-full rounded-lg border p-6 shadow-sm transition-colors">
<div className="flex items-center gap-4">
<div className="bg-success/10 flex h-12 w-12 items-center justify-center rounded-lg">
<Layout className="text-success h-6 w-6" />
</div>
<div>
<h3 className="text-foreground font-semibold">템플릿 관리</h3>
<p className="text-muted-foreground text-sm">화면 디자이너 템플릿 표준 관리</p>
</div>
</div>
</div>
</Link> */}
<Link href="/admin/tableMng" className="block h-full">
<div className="bg-card hover:bg-muted h-full rounded-lg border p-6 shadow-sm transition-colors">
<div className="flex items-center gap-4">
<div className="bg-primary/10 flex h-12 w-12 items-center justify-center rounded-lg">
<Database className="text-primary h-6 w-6" />
</div>
<div>
<h3 className="text-foreground font-semibold"> </h3>
<p className="text-muted-foreground text-sm"> </p>
</div>
</div>
</div>
</Link>
{/* <Link href="/admin/components" className="block h-full">
<div className="bg-card hover:bg-muted h-full rounded-lg border p-6 shadow-sm transition-colors">
<div className="flex items-center gap-4">
<div className="bg-primary/10 flex h-12 w-12 items-center justify-center rounded-lg">
<Package className="text-primary h-6 w-6" />
</div>
<div>
<h3 className="text-foreground font-semibold">컴포넌트 관리</h3>
<p className="text-muted-foreground text-sm">화면 디자이너 컴포넌트 표준 관리</p>
</div>
</div>
</div>
</Link> */}
</div>
</div>
{/* 빠른 액세스 */}
<div className="mx-auto max-w-7xl space-y-10">
<div className="mb-8 text-center">
<h2 className="text-foreground mb-2 text-2xl font-bold"> </h2>
<p className="text-muted-foreground"> </p>
</div>
<div className="grid gap-6 md:grid-cols-3">
<Link href="/admin/menu" className="block">
<div className="bg-card hover:bg-muted rounded-lg border p-6 shadow-sm transition-colors">
<div className="flex items-center gap-4">
<div className="bg-primary/10 flex h-12 w-12 items-center justify-center rounded-lg">
<Layout className="text-primary h-6 w-6" />
</div>
<div>
<h3 className="text-foreground font-semibold"> </h3>
<p className="text-muted-foreground text-sm"> </p>
</div>
</div>
</div>
</Link>
<Link href="/admin/automaticMng/exconList" className="block">
<div className="bg-card hover:bg-muted rounded-lg border p-6 shadow-sm transition-colors">
<div className="flex items-center gap-4">
<div className="bg-success/10 flex h-12 w-12 items-center justify-center rounded-lg">
<Database className="text-success h-6 w-6" />
</div>
<div>
<h3 className="text-foreground font-semibold"> </h3>
<p className="text-muted-foreground text-sm">DB, API, , , </p>
</div>
</div>
</div>
</Link>
<Link href="/admin/systemMng/commonCodeList" className="block">
<div className="bg-card hover:bg-muted rounded-lg border p-6 shadow-sm transition-colors">
<div className="flex items-center gap-4">
<div className="bg-primary/10 flex h-12 w-12 items-center justify-center rounded-lg">
<Settings className="text-primary h-6 w-6" />
</div>
<div>
<h3 className="text-foreground font-semibold"> </h3>
<p className="text-muted-foreground text-sm"> </p>
</div>
</div>
</div>
</Link>
</div>
</div>
{/* 전역 파일 관리 */}
<div className="mx-auto max-w-7xl space-y-6">
<div className="mb-6 text-center">
<h2 className="text-foreground mb-2 text-2xl font-bold"> </h2>
<p className="text-muted-foreground"> </p>
</div>
<GlobalFileViewer />
</div>
</div>
</div>
);
}