website refactor
This commit is contained in:
@@ -3,33 +3,22 @@ import { Badge } from '@/ui/Badge';
|
||||
|
||||
interface RatingBadgeProps {
|
||||
rating: number;
|
||||
size?: 'sm' | 'md' | 'lg';
|
||||
className?: string;
|
||||
size?: 'sm' | 'md';
|
||||
}
|
||||
|
||||
export function RatingBadge({ rating, size = 'md', className = '' }: RatingBadgeProps) {
|
||||
const getColor = (val: number) => {
|
||||
if (val >= 2500) return { variant: 'warning' as const };
|
||||
if (val >= 2000) return { color: 'text-purple-400', bg: 'bg-purple-400/10', borderColor: 'border-purple-400/20' };
|
||||
if (val >= 1500) return { variant: 'primary' as const };
|
||||
if (val >= 1000) return { variant: 'success' as const };
|
||||
return { variant: 'default' as const };
|
||||
export function RatingBadge({ rating, size = 'md' }: RatingBadgeProps) {
|
||||
const getVariant = (val: number): 'warning' | 'primary' | 'success' | 'default' => {
|
||||
if (val >= 2500) return 'warning';
|
||||
if (val >= 2000) return 'primary'; // Simplified
|
||||
if (val >= 1500) return 'primary';
|
||||
if (val >= 1000) return 'success';
|
||||
return 'default';
|
||||
};
|
||||
|
||||
const sizeMap: Record<string, 'xs' | 'sm' | 'md'> = {
|
||||
sm: 'xs',
|
||||
md: 'sm',
|
||||
lg: 'md',
|
||||
};
|
||||
|
||||
const config = getColor(rating);
|
||||
|
||||
return (
|
||||
<Badge
|
||||
{...config}
|
||||
size={sizeMap[size]}
|
||||
className={`font-mono ${className}`}
|
||||
rounded="sm"
|
||||
variant={getVariant(rating)}
|
||||
size={size}
|
||||
>
|
||||
{rating.toLocaleString()}
|
||||
</Badge>
|
||||
|
||||
Reference in New Issue
Block a user