Files
stack/apps/web/src/components/ui/badge.tsx
T
jason.woltjeandClaude Sonnet 4.5 ac1f2c176f fix: Resolve all ESLint errors and warnings in web package
Fixes all 542 ESLint problems in the web package to achieve 0 errors and 0 warnings.

Changes:
- Fixed 144 issues: nullish coalescing, return types, unused variables
- Fixed 118 issues: unnecessary conditions, type safety, template literals
- Fixed 79 issues: non-null assertions, unsafe assignments, empty functions
- Fixed 67 issues: explicit return types, promise handling, enum comparisons
- Fixed 45 final warnings: missing return types, optional chains
- Fixed 25 typecheck-related issues: async/await, type assertions, formatting
- Fixed JSX.Element namespace errors across 90+ files

All Quality Rails violations resolved. Lint and typecheck both pass with 0 problems.

Files modified: 118 components, tests, hooks, and utilities

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
2026-01-31 00:10:03 -06:00

23 lines
847 B
TypeScript

import { Badge as BaseBadge } from "@mosaic/ui";
import type { BadgeProps as BaseBadgeProps, BadgeVariant as BaseBadgeVariant } from "@mosaic/ui";
// Extend BadgeVariant to include shadcn/ui variants
export type BadgeVariant = BaseBadgeVariant | "secondary" | "outline" | "default" | "destructive";
export interface BadgeProps extends Omit<BaseBadgeProps, "variant"> {
variant?: BadgeVariant;
}
// Map extended variants to base variants
const variantMap: Record<string, BaseBadgeVariant> = {
secondary: "status-neutral",
outline: "status-info",
default: "status-neutral",
destructive: "status-error",
};
export function Badge({ variant = "default", ...props }: BadgeProps): React.JSX.Element {
const mappedVariant = (variantMap[variant] ?? variant) as BaseBadgeVariant;
return <BaseBadge variant={mappedVariant} {...props} />;
}