"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-primary", bg: "bg-primary/10", border: "border-primary/20" }, info: { icon: Info, color: "text-emerald-600", bg: "bg-emerald-50", border: "border-emerald-200" }, warn: { icon: AlertTriangle, color: "text-amber-600", bg: "bg-amber-50", border: "border-amber-200" }, error: { icon: AlertCircle, color: "text-destructive", bg: "bg-destructive/10", border: "border-destructive/20" }, }; 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";