import { useStore } from '../store' function fmtDuration(ms: number): string { const s = Math.round(ms / 1000) const m = Math.floor(s / 60) const rem = s % 60 return m > 0 ? `${m}분 ${rem}초` : `${rem}초` } /** 잡 완료 후 결과 리포트 */ export function ReportView(): JSX.Element { const report = useStore((s) => s.report) const errors = useStore((s) => s.errors) if (!report) return <> const stats = [ { label: '총 처리', value: report.total, cls: 'text-slate-700' }, { label: '이동', value: report.moved, cls: 'text-emerald-600' }, { label: '복사', value: report.copied, cls: 'text-sky-600' }, { label: '미정', value: report.unmatched, cls: 'text-slate-500' }, { label: '실패', value: report.failed, cls: 'text-red-600' } ] return (

✅ 작업 완료

소요 {fmtDuration(report.elapsedMs)}
{stats.map((s) => (
{s.value}
{s.label}
))}
로그: {report.logPath}
{errors.length > 0 && (
오류 {errors.length}건 보기
)}
) }