type ProjectionRowProps = {
    label: string;
    value: string;
    highlight?: boolean;
    large?: boolean;
    compact?: boolean;
};

export default function ProjectionRow({
    label,
    value,
    highlight = false,
    large = false,
    compact = false,
}: ProjectionRowProps) {
    const rowClass = compact
        ? 'flex items-center justify-between gap-3 py-0.5'
        : 'flex items-center justify-between gap-4 py-0.5';

    return (
        <div className={rowClass}>
            <span
                className={
                    large
                        ? compact
                            ? 'text-sm font-semibold'
                            : 'text-base font-semibold'
                        : 'text-muted-foreground'
                }
            >
                {label}:
            </span>
            <span
                className={
                    large
                        ? compact
                            ? 'text-base font-bold text-primary'
                            : 'text-lg font-bold text-primary'
                        : highlight
                          ? compact
                              ? 'text-sm font-bold text-primary'
                              : 'text-base font-bold text-primary'
                          : compact
                            ? 'text-sm font-semibold'
                            : 'font-semibold'
                }
            >
                {value}
            </span>
        </div>
    );
}
