Hey is a decentralized and permissionless social media app built with Lens Protocol 馃尶
at main 34 lines 889 B view raw
1import { cva, type VariantProps } from "class-variance-authority"; 2import type { HTMLAttributes, ReactNode } from "react"; 3import { forwardRef, memo } from "react"; 4import cn from "@/helpers/cn"; 5 6const badgeVariants = cva("rounded-md border text-white text-xs shadow-xs", { 7 defaultVariants: { size: "sm", variant: "primary" }, 8 variants: { 9 size: { sm: "px-2" }, 10 variant: { primary: "border-black bg-black" } 11 } 12}); 13 14interface BadgeProps 15 extends HTMLAttributes<HTMLDivElement>, 16 VariantProps<typeof badgeVariants> { 17 children?: ReactNode; 18} 19 20const Badge = forwardRef<HTMLDivElement, BadgeProps>( 21 ({ children, className, variant, size, ...rest }, ref) => { 22 return ( 23 <span 24 className={cn(badgeVariants({ size, variant }), className)} 25 ref={ref} 26 {...rest} 27 > 28 {children} 29 </span> 30 ); 31 } 32); 33 34export default memo(Badge);