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
24 lines
591 B
TypeScript
24 lines
591 B
TypeScript
import React from "react";
|
|
import { cn } from "@/lib/utils";
|
|
|
|
interface ValidationMessageProps {
|
|
message?: string;
|
|
isValid?: boolean;
|
|
isLoading?: boolean;
|
|
className?: string;
|
|
}
|
|
|
|
export function ValidationMessage({ message, isValid, isLoading, className }: ValidationMessageProps) {
|
|
if (isLoading) {
|
|
return <p className={cn("text-sm text-muted-foreground", className)}>검사 중...</p>;
|
|
}
|
|
|
|
if (!message) {
|
|
return null;
|
|
}
|
|
|
|
return (
|
|
<p className={cn("text-sm transition-colors", isValid ? "text-emerald-600" : "text-destructive", className)}>{message}</p>
|
|
);
|
|
}
|