import React from "react"; import classnames from "classnames"; import Icon from "components/Icon/Icon"; import { DEFAULT_EMPTY_CELL_VALUE } from "utilities/constants"; import { secondsToDhms } from "utilities/helpers"; interface IStatusIndicatorProps { frequency: number; checked: boolean; } const generateClassTag = (rawValue: string): string => { if (rawValue === DEFAULT_EMPTY_CELL_VALUE) { return "indeterminate"; } return rawValue.replace(" ", "-").toLowerCase(); }; const QueryFrequencyIndicator = ({ frequency, checked, }: IStatusIndicatorProps): JSX.Element => { const classTag = generateClassTag(frequency.toString()); const frequencyClassName = classnames( "query-frequency-indicator", `query-frequency-indicator--${classTag}`, `frequency--${classTag}` ); const readableQueryFrequency = () => { switch (frequency) { case 0: return "Never"; case 3600: return "Hourly"; case 86400: return "Daily"; case 604800: return "Weekly"; default: return secondsToDhms(frequency); } }; const frequencyIcon = () => { if (frequency === 0) { return checked ? ( ) : ( ); } return ; }; return (
{frequencyIcon()} {readableQueryFrequency()}
); }; export default QueryFrequencyIndicator;