"use client"; /** * 로그 노드 - 디버깅 및 모니터링용 */ import { memo } from "react"; import { Handle, Position, NodeProps } from "reactflow"; import { FileText, AlertCircle, Info, AlertTriangle } from "lucide-react"; import type { LogNodeData } from "@/types/node-editor"; const LOG_LEVEL_CONFIG = { debug: { icon: Info, color: "text-blue-600", bg: "bg-blue-50", border: "border-blue-200" }, info: { icon: Info, color: "text-green-600", bg: "bg-green-50", border: "border-green-200" }, warn: { icon: AlertTriangle, color: "text-yellow-600", bg: "bg-yellow-50", border: "border-yellow-200" }, error: { icon: AlertCircle, color: "text-red-600", bg: "bg-red-50", border: "border-red-200" }, }; export const LogNode = memo(({ data, selected }: NodeProps) => { const config = LOG_LEVEL_CONFIG[data.level] || LOG_LEVEL_CONFIG.info; const Icon = config.icon; return (
{/* 헤더 */}
로그
{data.level.toUpperCase()}
{/* 본문 */}
{data.message ? (
{data.message}
) : (
로그 메시지 없음
)} {data.includeData && (
✓ 데이터 포함
)}
{/* 핸들 */}
); }); LogNode.displayName = "LogNode";