d69df5df27
- Add shared UI primitives: Button, Field/Input/Select, PageHeader, Section, Callout, Tabs, Disclosure - Replace gradient buttons with single blue-accent btn-primary - Reserve gradient text for the brand wordmark only - Rework Scanner page onto the glass system; collapse explainer and glossary into a disclosure, move filters into a glass toolbar - Restructure Ticker Detail into tabs (Analysis / Indicators / S/R) with chart and recommendation always visible - Align Watchlist, Rankings, Admin, Login/Register to shared primitives - Unify stray indigo/violet/gray accents into the blue family Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
19 lines
566 B
TypeScript
19 lines
566 B
TypeScript
const variantStyles: Record<string, string> = {
|
|
auto: 'bg-blue-500/15 text-blue-400 border-blue-500/20',
|
|
manual: 'bg-sky-500/15 text-sky-400 border-sky-500/20',
|
|
default: 'bg-white/[0.06] text-gray-400 border-white/[0.08]',
|
|
};
|
|
|
|
interface BadgeProps {
|
|
label: string;
|
|
variant?: 'auto' | 'manual' | 'default';
|
|
}
|
|
|
|
export function Badge({ label, variant = 'default' }: BadgeProps) {
|
|
return (
|
|
<span className={`inline-block rounded-full border px-2.5 py-0.5 text-xs font-medium backdrop-blur-sm ${variantStyles[variant]}`}>
|
|
{label}
|
|
</span>
|
|
);
|
|
}
|