refactor: 전체 프론트엔드 하드코딩 색상 → CSS 변수 일괄 치환

447+ 파일, 4500+ 줄 변경:
- gray-* → border/bg-muted/text-foreground/text-muted-foreground
- blue-* → primary/ring
- red-* → destructive
- green-* → emerald (일관성)
- indigo-* → primary
- yellow/orange → amber (통일)
- dark mode 변형도 시맨틱 토큰으로 변환

Made-with: Cursor
This commit is contained in:
DDD1542
2026-03-09 14:31:59 +09:00
parent d967cf0a0d
commit 4f10b5e42d
447 changed files with 4520 additions and 4520 deletions

View File

@@ -1764,7 +1764,7 @@ export const SelectedItemsDetailInputComponent: React.FC<SelectedItemsDetailInpu
<span>
{idx}. {sampleDisplayCols.length > 0 ? `샘플 ${sampleDisplayCols[0]?.label || "품목"} ${idx}` : `샘플 항목 ${idx}`}
</span>
<Button type="button" variant="ghost" size="sm" className="h-6 w-6 p-0 text-red-400" disabled>
<Button type="button" variant="ghost" size="sm" className="h-6 w-6 p-0 text-destructive/80" disabled>
<X className="h-3 w-3" />
</Button>
</CardTitle>
@@ -1821,14 +1821,14 @@ export const SelectedItemsDetailInputComponent: React.FC<SelectedItemsDetailInpu
<span className="truncate">
1. {groupFields.slice(0, 2).map(f => `${f.label}: 샘플`).join(" / ")}
</span>
<X className="h-2.5 w-2.5 shrink-0 text-gray-400" />
<X className="h-2.5 w-2.5 shrink-0 text-muted-foreground/70" />
</div>
{idx === 1 && (
<div className="bg-muted/30 flex items-center justify-between rounded border p-1.5 text-[10px]">
<span className="truncate">
2. {groupFields.slice(0, 2).map(f => `${f.label}: 샘플`).join(" / ")}
</span>
<X className="h-2.5 w-2.5 shrink-0 text-gray-400" />
<X className="h-2.5 w-2.5 shrink-0 text-muted-foreground/70" />
</div>
)}
</>
@@ -2044,7 +2044,7 @@ export const SelectedItemsDetailInputComponent: React.FC<SelectedItemsDetailInpu
variant="ghost"
size="sm"
onClick={() => handleRemoveItem(item.id)}
className="h-7 w-7 p-0 text-red-500"
className="h-7 w-7 p-0 text-destructive"
>
<X className="h-4 w-4" />
</Button>
@@ -2216,7 +2216,7 @@ export const SelectedItemsDetailInputComponent: React.FC<SelectedItemsDetailInpu
const newDetailId = `detail-${Date.now()}`;
setEditingDetailId(newDetailId);
}}
className="h-7 text-xs text-orange-600"
className="h-7 text-xs text-amber-600"
>
</Button>
@@ -2226,7 +2226,7 @@ export const SelectedItemsDetailInputComponent: React.FC<SelectedItemsDetailInpu
variant="ghost"
size="icon"
onClick={() => handleRemoveItem(item.id)}
className="h-7 w-7 text-red-500"
className="h-7 w-7 text-destructive"
>
<X className="h-3 w-3" />
</Button>
@@ -2293,7 +2293,7 @@ export const SelectedItemsDetailInputComponent: React.FC<SelectedItemsDetailInpu
variant="ghost"
size="sm"
onClick={() => handleRemoveDetail(item.id, detail.id)}
className="h-6 w-6 p-0 text-red-500"
className="h-6 w-6 p-0 text-destructive"
>
X
</Button>
@@ -2566,7 +2566,7 @@ export const SelectedItemsDetailInputComponent: React.FC<SelectedItemsDetailInpu
setIsEditing(true);
setEditingItemId(item.id);
}}
className="h-7 text-xs text-orange-600"
className="h-7 text-xs text-amber-600"
>
</Button>
@@ -2632,7 +2632,7 @@ export const SelectedItemsDetailInputComponent: React.FC<SelectedItemsDetailInpu
variant="ghost"
size="sm"
onClick={() => handleRemoveDetail(item.id, detail.id)}
className="h-6 w-6 p-0 text-red-500"
className="h-6 w-6 p-0 text-destructive"
>
X
</Button>