ERP-node/frontend/scripts/unify-colors.sh

120 lines
3.8 KiB
Bash
Executable File

#!/bin/bash
# shadcn/ui 색상 통일 스크립트
# 직접 색상 사용을 CSS 변수/variant로 변경
echo "🎨 색상 통일 작업 시작..."
# components 디렉토리로 이동
cd "$(dirname "$0")/.." || exit
# 카운터
count=0
# 1. 버튼 색상: bg-blue-600 hover:bg-blue-700 → variant="default" 사용으로 변경 (이미 Button 태그인 경우만)
echo "📝 1단계: 버튼 색상 변경 중..."
# 2. 배경색: bg-blue-50 → bg-accent 또는 bg-primary/10
echo "📝 2단계: 배경색 변경 중..."
find components -name "*.tsx" -type f -print0 | while IFS= read -r -d '' file; do
# bg-blue-50 → bg-accent (가벼운 파란 배경)
if grep -q "bg-blue-50" "$file"; then
sed -i '' 's/bg-blue-50/bg-accent/g' "$file"
echo "$file: bg-blue-50 → bg-accent"
((count++))
fi
# bg-gray-50 → bg-muted (회색 배경)
if grep -q "\"bg-gray-50\"" "$file" || grep -q "'bg-gray-50'" "$file"; then
sed -i '' 's/bg-gray-50/bg-muted/g' "$file"
echo "$file: bg-gray-50 → bg-muted"
((count++))
fi
# bg-blue-100 → bg-primary/20
if grep -q "bg-blue-100" "$file"; then
sed -i '' 's/bg-blue-100/bg-primary\/20/g' "$file"
echo "$file: bg-blue-100 → bg-primary/20"
((count++))
fi
# bg-red-50 → bg-destructive/10
if grep -q "bg-red-50" "$file"; then
sed -i '' 's/bg-red-50/bg-destructive\/10/g' "$file"
echo "$file: bg-red-50 → bg-destructive/10"
((count++))
fi
# bg-red-100 → bg-destructive/20
if grep -q "bg-red-100" "$file"; then
sed -i '' 's/bg-red-100/bg-destructive\/20/g' "$file"
echo "$file: bg-red-100 → bg-destructive/20"
((count++))
fi
done
# 3. 테두리 색상
echo "📝 3단계: 테두리 색상 변경 중..."
find components -name "*.tsx" -type f -print0 | while IFS= read -r -d '' file; do
# border-blue-500 → border-primary
if grep -q "border-blue-500" "$file"; then
sed -i '' 's/border-blue-500/border-primary/g' "$file"
echo "$file: border-blue-500 → border-primary"
((count++))
fi
# border-blue-200 → border-primary/20
if grep -q "border-blue-200" "$file"; then
sed -i '' 's/border-blue-200/border-primary\/20/g' "$file"
echo "$file: border-blue-200 → border-primary/20"
((count++))
fi
# border-red-200 → border-destructive/20
if grep -q "border-red-200" "$file"; then
sed -i '' 's/border-red-200/border-destructive\/20/g' "$file"
echo "$file: border-red-200 → border-destructive/20"
((count++))
fi
# border-red-500 → border-destructive
if grep -q "border-red-500" "$file"; then
sed -i '' 's/border-red-500/border-destructive/g' "$file"
echo "$file: border-red-500 → border-destructive"
((count++))
fi
done
# 4. 텍스트 색상
echo "📝 4단계: 텍스트 색상 변경 중..."
find components -name "*.tsx" -type f -print0 | while IFS= read -r -d '' file; do
# text-blue-600 → text-primary
if grep -q "text-blue-600" "$file"; then
sed -i '' 's/text-blue-600/text-primary/g' "$file"
echo "$file: text-blue-600 → text-primary"
((count++))
fi
# text-red-600 → text-destructive
if grep -q "text-red-600" "$file"; then
sed -i '' 's/text-red-600/text-destructive/g' "$file"
echo "$file: text-red-600 → text-destructive"
((count++))
fi
# text-gray-600 → text-muted-foreground
if grep -q "text-gray-600" "$file"; then
sed -i '' 's/text-gray-600/text-muted-foreground/g' "$file"
echo "$file: text-gray-600 → text-muted-foreground"
((count++))
fi
done
echo ""
echo "✨ 색상 통일 완료!"
echo "📊 총 $count개 항목 변경됨"
echo ""
echo "⚠️ 주의: green, orange, purple 색상은 특수 용도로 유지했습니다."
echo " (성공, 경고, 정보 표시 등)"