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:
@@ -277,13 +277,13 @@ export const ActionFieldMappings: React.FC<ActionFieldMappingsProps> = ({
|
||||
updateFieldMapping(mappingIndex, "sourceTable", "");
|
||||
updateFieldMapping(mappingIndex, "sourceField", "");
|
||||
}}
|
||||
className="ml-1 flex h-4 w-4 items-center justify-center rounded-full text-gray-400 hover:bg-gray-200 hover:text-muted-foreground"
|
||||
className="ml-1 flex h-4 w-4 items-center justify-center rounded-full text-muted-foreground/70 hover:bg-muted/80 hover:text-muted-foreground"
|
||||
title="소스 테이블 지우기"
|
||||
>
|
||||
×
|
||||
</button>
|
||||
)}
|
||||
<span className="text-gray-400">.</span>
|
||||
<span className="text-muted-foreground/70">.</span>
|
||||
<Select
|
||||
value={mapping.sourceField}
|
||||
onValueChange={(value) => {
|
||||
@@ -312,10 +312,10 @@ export const ActionFieldMappings: React.FC<ActionFieldMappingsProps> = ({
|
||||
</Select>
|
||||
</div>
|
||||
|
||||
<div className="text-gray-400">→</div>
|
||||
<div className="text-muted-foreground/70">→</div>
|
||||
|
||||
{/* 타겟 */}
|
||||
<div className="flex items-center gap-1 rounded bg-green-50 px-2 py-1">
|
||||
<div className="flex items-center gap-1 rounded bg-emerald-50 px-2 py-1">
|
||||
<Select
|
||||
value={mapping.targetTable || ""}
|
||||
onValueChange={(value) => {
|
||||
@@ -336,7 +336,7 @@ export const ActionFieldMappings: React.FC<ActionFieldMappingsProps> = ({
|
||||
))}
|
||||
</SelectContent>
|
||||
</Select>
|
||||
<span className="text-gray-400">.</span>
|
||||
<span className="text-muted-foreground/70">.</span>
|
||||
<Select
|
||||
value={mapping.targetField}
|
||||
onValueChange={(value) => updateFieldMapping(mappingIndex, "targetField", value)}
|
||||
@@ -380,7 +380,7 @@ export const ActionFieldMappings: React.FC<ActionFieldMappingsProps> = ({
|
||||
size="sm"
|
||||
variant="ghost"
|
||||
onClick={() => removeFieldMapping(mappingIndex)}
|
||||
className="h-6 w-6 p-0 text-red-500 hover:text-red-700"
|
||||
className="h-6 w-6 p-0 text-destructive hover:text-destructive"
|
||||
>
|
||||
<Trash2 className="h-3 w-3" />
|
||||
</Button>
|
||||
@@ -390,9 +390,9 @@ export const ActionFieldMappings: React.FC<ActionFieldMappingsProps> = ({
|
||||
|
||||
{/* 필드 매핑이 없을 때 안내 메시지 */}
|
||||
{action.fieldMappings.length === 0 && (
|
||||
<div className="rounded border border-destructive/20 bg-destructive/10 p-3 text-xs text-red-700">
|
||||
<div className="rounded border border-destructive/20 bg-destructive/10 p-3 text-xs text-destructive">
|
||||
<div className="flex items-start gap-2">
|
||||
<span className="text-red-500">⚠️</span>
|
||||
<span className="text-destructive">⚠️</span>
|
||||
<div>
|
||||
<div className="font-medium">필드 매핑이 필요합니다</div>
|
||||
<div className="mt-1">
|
||||
|
||||
Reference in New Issue
Block a user