import { Badge } from '@/components/ui/badge';

type CategoryType = 'patch' | 'download' | 'guide' | 'promo' | 'event';

interface CategoryBadgeProps {
    category: string;
}

export function getCategoryBadge(category: string) {
    const colors: Record<CategoryType, string> = {
        patch: 'bg-zinc-100 text-zinc-900 border-zinc-200 dark:bg-zinc-800 dark:text-white dark:border-zinc-600',
        download: 'bg-emerald-50 text-emerald-700 border-emerald-200 dark:bg-emerald-900/60 dark:text-emerald-300 dark:border-emerald-700',
        guide: 'bg-blue-50 text-blue-700 border-blue-200 dark:bg-blue-900/60 dark:text-blue-300 dark:border-blue-700',
        promo: 'bg-indigo-50 text-indigo-700 border-indigo-200 dark:bg-indigo-900/60 dark:text-indigo-300 dark:border-indigo-700',
        event: 'bg-violet-50 text-violet-700 border-violet-200 dark:bg-violet-900/60 dark:text-violet-300 dark:border-violet-700',
    };
    const style = colors[category as CategoryType] || colors.patch;

    return (
        <Badge variant="outline" className={`${style} transition-colors duration-300`}>
            {category.toUpperCase()}
        </Badge>
    );
}

export function CategoryBadge({ category }: CategoryBadgeProps) {
    return getCategoryBadge(category);
}
