import {
    tableTooltipClassName,
    tableTooltipContentClassName,
    tableTooltipToggleClassName,
} from '@admin/components/ui/field-styles';
import { cn } from '@admin/lib/utils';

type TableActionTooltipProps = {
    href: string;
    label: string;
    tooltip: string;
    download?: boolean;
    target?: string;
    uppercase?: boolean;
};

export function TableActionTooltip({
    href,
    label,
    tooltip,
    download = false,
    target,
    uppercase = true,
}: TableActionTooltipProps) {
    return (
        <div className={tableTooltipClassName}>
            <a
                href={href}
                className={cn(tableTooltipToggleClassName, uppercase && 'uppercase')}
                download={download || undefined}
                target={target}
                rel={target === '_blank' ? 'noreferrer' : undefined}
                aria-label={tooltip}
            >
                {label}
                <span className={tableTooltipContentClassName} role="tooltip">
                    {tooltip}
                </span>
            </a>
        </div>
    );
}
