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

@@ -28,7 +28,7 @@ export const AggregateNode = memo(({ data, selected }: NodeProps<AggregateNodeDa
return (
<div
className={`min-w-[280px] rounded-lg border-2 bg-white shadow-md transition-all ${
selected ? "border-purple-500 shadow-lg" : "border-gray-200"
selected ? "border-purple-500 shadow-lg" : "border-border"
}`}
>
{/* 헤더 */}
@@ -71,28 +71,28 @@ export const AggregateNode = memo(({ data, selected }: NodeProps<AggregateNodeDa
{aggregationCount > 0 ? (
<div className="space-y-2">
{data.aggregations.slice(0, 4).map((agg, idx) => (
<div key={agg.id || idx} className="rounded bg-gray-50 p-2">
<div key={agg.id || idx} className="rounded bg-muted p-2">
<div className="flex items-center justify-between">
<span className="rounded bg-purple-600 px-1.5 py-0.5 text-xs font-medium text-white">
{AGGREGATE_FUNCTION_LABELS[agg.function] || agg.function}
</span>
<span className="text-xs text-gray-500">
<span className="text-xs text-muted-foreground">
{agg.outputFieldLabel || agg.outputField}
</span>
</div>
<div className="mt-1 text-xs text-gray-600">
<div className="mt-1 text-xs text-muted-foreground">
{agg.sourceFieldLabel || agg.sourceField}
</div>
</div>
))}
{data.aggregations.length > 4 && (
<div className="text-xs text-gray-400 text-center">
<div className="text-xs text-muted-foreground/70 text-center">
... {data.aggregations.length - 4}
</div>
)}
</div>
) : (
<div className="py-4 text-center text-xs text-gray-400"> </div>
<div className="py-4 text-center text-xs text-muted-foreground/70"> </div>
)}
</div>