"use client"; import React from "react"; import { Card, CardContent } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; import { ScrollArea } from "@/components/ui/scroll-area"; import { CheckCircle, AlertTriangle, Edit, Trash2 } from "lucide-react"; // νƒ€μž… import import { MappingDetailListProps } from "../types/redesigned"; /** * πŸ“ λ§€ν•‘ 상세 λͺ©λ‘ * - 각 맀핑별 상세 정보 * - νƒ€μž… λ³€ν™˜ 정보 * - κ°œλ³„ μˆ˜μ •/μ‚­μ œ κΈ°λŠ₯ */ const MappingDetailList: React.FC = ({ mappings, selectedMapping, onSelectMapping, onUpdateMapping, onDeleteMapping, }) => { return (
{mappings.map((mapping, index) => (
onSelectMapping(mapping.id)} > {/* λ§€ν•‘ 헀더 */}

{index + 1}. {mapping.fromField.displayName || mapping.fromField.columnName} β†’{" "} {mapping.toField.displayName || mapping.toField.columnName}

{mapping.isValid ? ( {mapping.fromField.webType} β†’ {mapping.toField.webType} ) : ( νƒ€μž… 뢈일치 )}
{/* λ³€ν™˜ κ·œμΉ™ */} {mapping.transformRule && (
λ³€ν™˜: {mapping.transformRule}
)} {/* 검증 λ©”μ‹œμ§€ */} {mapping.validationMessage && (
{mapping.validationMessage}
)}
))} {mappings.length === 0 && (

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

μš°μΈ‘μ—μ„œ ν•„λ“œλ₯Ό μ—°κ²°ν•΄μ£Όμ„Έμš”.

)}
); }; export default MappingDetailList;