import React from "react";
import ReactTooltip from "react-tooltip";
interface IDiskSpaceGraphProps {
baseClass: string;
gigsDiskSpaceAvailable: number | string;
percentDiskSpaceAvailable: number;
id: string;
}
const DiskSpaceGraph = ({
baseClass,
gigsDiskSpaceAvailable,
percentDiskSpaceAvailable,
id,
}: IDiskSpaceGraphProps): JSX.Element => {
const diskSpaceIndicator = () => {
switch (true) {
case gigsDiskSpaceAvailable < 16:
return "red";
case gigsDiskSpaceAvailable < 32:
return "yellow";
default:
return "green";
}
};
const diskSpaceTooltip = (): string | undefined => {
switch (true) {
case gigsDiskSpaceAvailable < 16:
return "Not enough disk space available to install most small operating systems updates.";
case gigsDiskSpaceAvailable < 32:
return "Not enough disk space available to install most large operating systems updates.";
default:
return "Enough disk space available to install most operating systems updates.";
}
};
if (gigsDiskSpaceAvailable === 0 || gigsDiskSpaceAvailable === "---") {
return No data available;
}
return (
{diskSpaceTooltip()}
{gigsDiskSpaceAvailable} GB{baseClass === "info-flex" && " available"}
);
};
export default DiskSpaceGraph;