import { Badge } from "@repo/shadcn-ui/components"; import { cn } from "@repo/shadcn-ui/lib/utils"; import { forwardRef } from "react"; import { useTranslation } from "../i18n"; export type CustomerStatus = "active" | "inactive"; export type CustomerStatusBadgeProps = { status: string; // permitir cualquier valor className?: string; }; const statusColorConfig: Record = { inactive: { badge: "bg-gray-600/10 dark:bg-gray-600/20 hover:bg-gray-600/10 text-gray-500 border-gray-600/60", dot: "bg-gray-500", }, active: { badge: "bg-emerald-600/10 dark:bg-emerald-600/20 hover:bg-emerald-600/10 text-emerald-500 border-emerald-600/60", dot: "bg-emerald-500", }, }; export const CustomerStatusBadge = forwardRef( ({ status, className, ...props }, ref) => { const { t } = useTranslation(); const normalizedStatus = status.toLowerCase() as CustomerStatus; const config = statusColorConfig[normalizedStatus]; const commonClassName = "transition-colors duration-200 cursor-pointer shadow-none rounded-full"; if (!config) { return ( {status} ); } return (
{t(`status.${status}`)} ); } ); CustomerStatusBadge.displayName = "CustomerStatusBadge";