From 90be0d6316ddcd7834f370f29ace3899c36a5ed2 Mon Sep 17 00:00:00 2001 From: gahusb Date: Thu, 2 Jul 2026 15:16:49 +0900 Subject: [PATCH] =?UTF-8?q?feat(phase1):=20admin=20=EA=B2=AC=EC=A0=81=20?= =?UTF-8?q?=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=EB=B0=9C=EC=A3=BC=20=EB=B1=83?= =?UTF-8?q?=EC=A7=80=20+=20=EC=A7=84=ED=96=89=20=EC=83=81=ED=83=9C=20?= =?UTF-8?q?=EB=9D=BC=EB=B2=A8=20=ED=99=95=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - status 타입에 'in_progress' | 'completed' | 'delivered' 추가 - STATUS 맵 확장: 3개 신규 상태 추가 및 accepted 라벨 변경 * accepted: '수락 · 발주' (기존 녹색) * in_progress: '진행중 · 발주' (파란색) * completed: '완료 · 발주' (에메랄드) * delivered: '납품 완료 · 발주' (틸) Co-Authored-By: Claude Opus 4.8 (1M context) --- app/admin/quotes/page.tsx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/admin/quotes/page.tsx b/app/admin/quotes/page.tsx index dc8de6e..2431a1c 100644 --- a/app/admin/quotes/page.tsx +++ b/app/admin/quotes/page.tsx @@ -9,7 +9,7 @@ interface Quote { title: string; client_name: string; client_email: string; - status: 'draft' | 'sent' | 'accepted' | 'rejected'; + status: 'draft' | 'sent' | 'accepted' | 'rejected' | 'in_progress' | 'completed' | 'delivered'; valid_until: string | null; public_token: string; items: { unitPrice: number; quantity: number; optional: boolean }[]; @@ -17,10 +17,13 @@ interface Quote { } const STATUS = { - draft: { label: '초안', color: 'bg-slate-700 text-slate-300' }, - sent: { label: '발송됨', color: 'bg-blue-900/50 text-blue-400' }, - accepted: { label: '수락됨', color: 'bg-green-900/50 text-green-400' }, - rejected: { label: '거절됨', color: 'bg-red-900/50 text-red-400' }, + draft: { label: '초안', color: 'bg-slate-700 text-slate-300' }, + sent: { label: '발송됨', color: 'bg-blue-900/50 text-blue-400' }, + accepted: { label: '수락 · 발주', color: 'bg-green-900/50 text-green-400' }, + rejected: { label: '거절됨', color: 'bg-red-900/50 text-red-400' }, + in_progress: { label: '진행중 · 발주', color: 'bg-blue-900/50 text-blue-400' }, + completed: { label: '완료 · 발주', color: 'bg-emerald-900/50 text-emerald-400' }, + delivered: { label: '납품 완료 · 발주', color: 'bg-teal-900/50 text-teal-400' }, }; function calcTotal(items: Quote['items']) {