import { useState } from "react"; import AlertCircleIcon from "@/assets/icons/alert-circle.svg?react"; import ChevronRightIcon from "@/assets/report/chevron-right.svg?react"; import CheckCircleIcon from "@/assets/report/check-circle.svg?react"; import XCircleIcon from "@/assets/report/x-circle.svg?react"; import type { BrandInconsistency } from "@/types/brandConsistency"; export type BrandConsistencyMapProps = { inconsistencies: BrandInconsistency[]; className?: string; /** false면 상단 제목·설명을 숨김 (플랜 브랜딩 가이드 탭 등) */ showHeading?: boolean; }; export function BrandConsistencyMap({ inconsistencies, className = "", showHeading = true, }: BrandConsistencyMapProps) { const [expanded, setExpanded] = useState(0); if (inconsistencies.length === 0) return null; return (
{showHeading ? ( <>

Brand Consistency Map

전 채널 브랜드 일관성 분석

) : null}
{inconsistencies.map((item, i) => { const wrongCount = item.values.filter((v) => !v.isCorrect).length; const isOpen = expanded === i; return (
{isOpen ? (
{item.values.map((v) => (
{v.channel} {v.value} {v.isCorrect ? ( ) : ( )}
))}

Impact

{item.impact}

Recommendation

{item.recommendation}

) : null}
); })}
); }