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

@@ -40,7 +40,7 @@ export const SaveConfirmDialog = memo(
<DialogContent className="max-w-[95vw] sm:max-w-[500px]">
<DialogHeader>
<DialogTitle className="flex items-center gap-2 text-base sm:text-lg">
<AlertCircle className="h-5 w-5 text-red-500" />
<AlertCircle className="h-5 w-5 text-destructive" />
</DialogTitle>
<DialogDescription className="text-xs sm:text-sm">
@@ -55,7 +55,7 @@ export const SaveConfirmDialog = memo(
{summary.errorCount}
</Badge>
{summary.warningCount > 0 && (
<Badge className="gap-1 bg-yellow-500 hover:bg-yellow-600">
<Badge className="gap-1 bg-amber-500 hover:bg-yellow-600">
<AlertTriangle className="h-3 w-3" />
{summary.warningCount}
</Badge>
@@ -69,9 +69,9 @@ export const SaveConfirmDialog = memo(
.map((validation, index) => (
<div
key={index}
className="rounded-lg border-2 border-red-200 bg-red-50 p-3"
className="rounded-lg border-2 border-destructive/20 bg-destructive/10 p-3"
>
<div className="mb-1 text-xs font-medium text-red-600">
<div className="mb-1 text-xs font-medium text-destructive">
{validation.type}
</div>
<div className="text-sm text-red-800">
@@ -82,7 +82,7 @@ export const SaveConfirmDialog = memo(
</div>
</ScrollArea>
<p className="text-xs text-gray-500">
<p className="text-xs text-muted-foreground">
.
.
</p>
@@ -107,7 +107,7 @@ export const SaveConfirmDialog = memo(
<DialogContent className="max-w-[95vw] sm:max-w-[500px]">
<DialogHeader>
<DialogTitle className="flex items-center gap-2 text-base sm:text-lg">
<AlertTriangle className="h-5 w-5 text-yellow-500" />
<AlertTriangle className="h-5 w-5 text-amber-500" />
</DialogTitle>
<DialogDescription className="text-xs sm:text-sm">
@@ -119,7 +119,7 @@ export const SaveConfirmDialog = memo(
<div className="space-y-3">
<div className="flex items-center gap-2">
{summary.warningCount > 0 && (
<Badge className="gap-1 bg-yellow-500 hover:bg-yellow-600">
<Badge className="gap-1 bg-amber-500 hover:bg-yellow-600">
<AlertTriangle className="h-3 w-3" />
{summary.warningCount}
</Badge>
@@ -139,9 +139,9 @@ export const SaveConfirmDialog = memo(
.map((validation, index) => (
<div
key={index}
className="rounded-lg border-2 border-yellow-200 bg-yellow-50 p-3"
className="rounded-lg border-2 border-amber-200 bg-amber-50 p-3"
>
<div className="mb-1 text-xs font-medium text-yellow-600">
<div className="mb-1 text-xs font-medium text-amber-600">
{validation.type}
</div>
<div className="text-sm text-yellow-800">
@@ -154,12 +154,12 @@ export const SaveConfirmDialog = memo(
.map((validation, index) => (
<div
key={index}
className="rounded-lg border-2 border-blue-200 bg-blue-50 p-3"
className="rounded-lg border-2 border-primary/20 bg-primary/10 p-3"
>
<div className="mb-1 text-xs font-medium text-blue-600">
<div className="mb-1 text-xs font-medium text-primary">
{validation.type}
</div>
<div className="text-sm text-blue-800">
<div className="text-sm text-primary">
{validation.message}
</div>
</div>
@@ -167,8 +167,8 @@ export const SaveConfirmDialog = memo(
</div>
</ScrollArea>
<div className="rounded-lg bg-gray-50 p-3">
<p className="text-xs text-gray-600">
<div className="rounded-lg bg-muted p-3">
<p className="text-xs text-muted-foreground">
.
<br />
?
@@ -186,7 +186,7 @@ export const SaveConfirmDialog = memo(
</Button>
<Button
onClick={onConfirm}
className="h-8 flex-1 bg-yellow-500 text-xs hover:bg-yellow-600 sm:h-10 sm:flex-none sm:text-sm"
className="h-8 flex-1 bg-amber-500 text-xs hover:bg-yellow-600 sm:h-10 sm:flex-none sm:text-sm"
>
</Button>