import style from './style/StatusBar.module.sass'; import React, {useState} from "react"; import warningIcon from 'assets/warning_icon.svg'; import failIcon from 'assets/failed.svg'; import successIcon from 'assets/success.svg'; import {useRecoilValue} from "recoil"; import tappingStatusAtom, {tappingStatusDetails} from "../../recoil/tappingStatus"; import Tooltip from "./Tooltip"; const pluralize = (noun: string, amount: number) => { return `${noun}${amount !== 1 ? 's' : ''}` } interface StatusBarProps { isDemoBannerView: boolean; disabled?: boolean; } export const StatusBar: React.FC = ({isDemoBannerView, disabled}) => { const tappingStatus = useRecoilValue(tappingStatusAtom); const [expandedBar, setExpandedBar] = useState(false); const {uniqueNamespaces, amountOfPods, amountOfTappedPods, amountOfUntappedPods} = useRecoilValue(tappingStatusDetails); return
setExpandedBar(true)} onMouseLeave={() => setExpandedBar(false)} data-cy="expandedStatusBar">
{!disabled && tappingStatus.some(pod => !pod.isTapped) && warning} {disabled && warning} {`Tapping ${amountOfUntappedPods > 0 ? amountOfTappedPods + " / " + amountOfPods : amountOfPods} ${pluralize('pod', amountOfPods)} in ${pluralize('namespace', uniqueNamespaces.length)} ${uniqueNamespaces.join(", ")}`}
{expandedBar && !disabled &&
{tappingStatus.map(pod => )}
Pod name Namespace Tapping
{pod.name} {pod.namespace} {pod.isTapped ? status : status}
}
; }