fix: TypeScript compatibility & Badge component upgrade

- Updated Badge component to use class-variance-authority (Shadcn standard)
- Fixed Type mismatches in AvatarVariantsManager using double assertion
- Updated Implementation Roadmap with completed tasks
- Updated daily progress log
This commit is contained in:
cawcenter
2025-12-13 20:01:37 -05:00
parent 5fb7a06047
commit 82e0892960
4 changed files with 105 additions and 251 deletions

View File

@@ -43,7 +43,7 @@ export default function AvatarVariantsManager() {
}
});
const variants = variantsRaw as Variant[];
const variants = variantsRaw as unknown as Variant[];
const { data: avatarsRaw = [] } = useQuery({
queryKey: ['avatar_intelligence'],
@@ -53,7 +53,7 @@ export default function AvatarVariantsManager() {
}
});
const avatars = avatarsRaw as Avatar[];
const avatars = avatarsRaw as unknown as Avatar[];
// 2. Compute Stats
const stats = {

View File

@@ -1,10 +1,35 @@
import * as React from "react"
import { cva, type VariantProps } from "class-variance-authority"
import { cn } from "@/lib/utils"
const Badge = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (
<div ref={ref} className={cn("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", className)} {...props} />
))
Badge.displayName = "Badge"
const badgeVariants = cva(
"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
{
variants: {
variant: {
default:
"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",
secondary:
"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
destructive:
"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",
outline: "text-foreground",
},
},
defaultVariants: {
variant: "default",
},
}
)
export { Badge }
export interface BadgeProps
extends React.HTMLAttributes<HTMLDivElement>,
VariantProps<typeof badgeVariants> { }
function Badge({ className, variant, ...props }: BadgeProps) {
return (
<div className={cn(badgeVariants({ variant }), className)} {...props} />
)
}
export { Badge, badgeVariants }