import { numberToKorean } from '@/features/chat/lib/koreanNumber' import { formatLeadTime } from '@/features/chat/lib/format' import type { ChatSummary } from '@/features/chat/types' // 협상 결과 요약 카드 export function Summary({ data }: { data: ChatSummary }) { return (

협상 결과 요약

협상이 완료되어 아래와 같이 결과를 요약하오니 다시 한 번 최종 확인 부탁 드립니다. 최종 확인 후 협상 결과에 대한 수정 변경은 불가함을 안내 드립니다.
협상 개시 시간 : {formatKoreanDateTime(data.nego_start_date)}
협상 종료 시간 : {formatKoreanDateTime(data.nego_end_date)}
우선협상 대상자 : {data.supplier_name || '-'} ({data.supplier_manager_phone || '-'}){' '} {data.supplier_manager_email || '-'}
협상 상세 내역
공급 계약 기간: 협상 완료일로부터 1년 ({addOneYear(data.nego_end_date)})까지
담당 MD: {data.md_name || '-'} ({data.md_phone_number || '-'}) {data.md_email || '-'}
상기 내용에 이상이 없으며 최종 협상 결과에 동의하여 이를 승인합니다.
) } // ISO 시각 → 한국시(KST) 기준 부분값. 백엔드는 UTC(ISO)로 내려주므로 표시 시 KST 로 변환한다. function kstParts(iso: string): Record | null { if (!iso) return null const d = new Date(iso) if (isNaN(d.getTime())) return null const parts = new Intl.DateTimeFormat('en-CA', { timeZone: 'Asia/Seoul', year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false, }).formatToParts(d) const out: Record = {} for (const p of parts) out[p.type] = p.value return out } // "YYYY년 MM월 dd일 HH시 MM분 SS초" (KST) function formatKoreanDateTime(iso: string): string { const p = kstParts(iso) if (!p) return '-' return `${p.year}년 ${p.month}월 ${p.day}일 ${p.hour}시 ${p.minute}분 ${p.second}초` } // 협상 종료 시각 + 1년 → "YYYY년 MM월 dd일" (공급 계약 만료일) function addOneYear(iso: string): string { const p = kstParts(iso) if (!p) return '-' return `${parseInt(p.year) + 1}년 ${p.month}월 ${p.day}일` } function DetailText({ title, value }: { title: string; value: string }) { return (
{title} :  {value}
) } function PriceText({ price, isVAT }: { price: number; isVAT: boolean }) { const numberString = price.toLocaleString() return (
최종 협의 가격 :
 {numberString}원  ({numberToKorean(parseInt(numberString.replace(/,/g, '')))}원)  {isVAT ? 'VAT포함' : 'VAT별도'}
) } function Dot() { return (

•

) }