import React from "react";
import { uniqueId } from "lodash";
import { ISoftwareTitleVersion } from "interfaces/software";
import TextCell from "components/TableContainer/DataTable/TextCell";
import ReactTooltip from "react-tooltip";
const baseClass = "version-cell";
const generateText = (versions: ISoftwareTitleVersion[] | null) => {
if (!versions) {
return ;
}
const text =
versions.length !== 1 ? `${versions.length} versions` : versions[0].version;
return ;
};
const generateTooltip = (
versions: ISoftwareTitleVersion[],
tooltipId: string
) => {
if (!versions) {
return null;
}
const versionNames = versions.map((version) => version.version);
return (
{versionNames.join(", ")}
);
};
interface IVersionCellProps {
versions: ISoftwareTitleVersion[] | null;
}
const VersionCell = ({ versions }: IVersionCellProps) => {
const tooltipId = uniqueId();
// only one version, no need for tooltip
const cellText = generateText(versions);
if (!versions) {
return <>{cellText}>;
}
const versionTooltip = generateTooltip(versions, tooltipId);
return (
<>
{cellText}
{versionTooltip}
>
);
};
export default VersionCell;