- Add stunning landing page with hero, features, and CTA sections - Update login/signup pages with dark theme and brand gradients - Enhance Sidebar with improved navigation and brand colors - Update AppHeader with search bar, notifications, and user menu - Add reusable UI components (Button, Card, Input, Badge) - Add API health and status endpoints - Apply official BlackRoad brand colors (#FF1D6C hot pink, #F5A623 amber, #2979FF electric blue, #9C27B0 violet) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
43 lines
999 B
TypeScript
43 lines
999 B
TypeScript
import { ReactNode } from 'react';
|
|
import { cn } from '@/lib/cn';
|
|
|
|
interface BadgeProps {
|
|
children: ReactNode;
|
|
variant?: 'default' | 'success' | 'warning' | 'error' | 'info';
|
|
size?: 'sm' | 'md';
|
|
className?: string;
|
|
}
|
|
|
|
export default function Badge({
|
|
children,
|
|
variant = 'default',
|
|
size = 'md',
|
|
className,
|
|
}: BadgeProps) {
|
|
const variants = {
|
|
default: 'bg-white/10 text-gray-300 border-white/20',
|
|
success: 'bg-emerald-500/10 text-emerald-400 border-emerald-500/20',
|
|
warning: 'bg-amber-500/10 text-amber-400 border-amber-500/20',
|
|
error: 'bg-red-500/10 text-red-400 border-red-500/20',
|
|
info: 'bg-[#2979FF]/10 text-[#2979FF] border-[#2979FF]/20',
|
|
};
|
|
|
|
const sizes = {
|
|
sm: 'px-2 py-0.5 text-xs',
|
|
md: 'px-2.5 py-1 text-sm',
|
|
};
|
|
|
|
return (
|
|
<span
|
|
className={cn(
|
|
'inline-flex items-center font-medium rounded-full border',
|
|
variants[variant],
|
|
sizes[size],
|
|
className
|
|
)}
|
|
>
|
|
{children}
|
|
</span>
|
|
);
|
|
}
|