"use client"; import React from "react"; import { Card, CardContent } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { CheckCircle, AlertTriangle, XCircle, Info } from "lucide-react"; // νƒ€μž… import import { MappingInfoPanelProps } from "../types/redesigned"; /** * πŸ“Š λ§€ν•‘ 정보 νŒ¨λ„ * - μ‹€μ‹œκ°„ λ§€ν•‘ 톡계 * - 검증 μƒνƒœ ν‘œμ‹œ * - μ˜ˆμƒ μ²˜λ¦¬λŸ‰ 정보 */ const MappingInfoPanel: React.FC = ({ stats, validationErrors }) => { const errorCount = validationErrors.filter((e) => e.type === "error").length; const warningCount = validationErrors.filter((e) => e.type === "warning").length; return ( {/* λ§€ν•‘ 톡계 */}
총 λ§€ν•‘: {stats.totalMappings}개
μœ νš¨ν•œ λ§€ν•‘: {stats.validMappings}개
{stats.invalidMappings > 0 && (
νƒ€μž… 뢈일치: {stats.invalidMappings}개
)} {stats.missingRequiredFields > 0 && (
ν•„μˆ˜ ν•„λ“œ λˆ„λ½: {stats.missingRequiredFields}개
)}
{/* μ•‘μ…˜ 정보 */} {stats.totalMappings > 0 && (
μ•‘μ…˜: {stats.actionType}
{stats.estimatedRows > 0 && (
μ˜ˆμƒ μ²˜λ¦¬λŸ‰: ~{stats.estimatedRows.toLocaleString()} rows
)}
)} {/* 검증 였λ₯˜ μš”μ•½ */} {validationErrors.length > 0 && (
검증 κ²°κ³Ό:
{errorCount > 0 && ( 였λ₯˜ {errorCount}개 )} {warningCount > 0 && ( κ²½κ³  {warningCount}개 )}
)} {/* 빈 μƒνƒœ */} {stats.totalMappings === 0 && (

아직 λ§€ν•‘λœ ν•„λ“œκ°€ μ—†μŠ΅λ‹ˆλ‹€.

μš°μΈ‘μ—μ„œ 연결을 μ„€μ •ν•΄μ£Όμ„Έμš”.

)}
); }; // Database μ•„μ΄μ½˜ import μΆ”κ°€ import { Database } from "lucide-react"; export default MappingInfoPanel;