import React from 'react'; import { Modal } from 'react-bootstrap'; import type { TaskMonitor } from './TaskMonitor'; import { TaskMonitorError } from './TaskMonitorError'; import { TaskMonitorStatus } from './TaskMonitorStatus'; import './multiTaskMonitor.component.less'; interface IMultiTaskMonitorProps { monitors: TaskMonitor[]; title: string; closeModal: () => void; } export const MultiTaskMonitor = ({ monitors = [], title, closeModal }: IMultiTaskMonitorProps) => { const [hasErrors, setHasErrors] = React.useState(monitors.some((monitor) => monitor.error)); const isVisible = monitors.some((monitor) => monitor.submitting || monitor.error); const clearErrors = (): void => { monitors.forEach((monitor) => (monitor.error = null)); setHasErrors(false); }; if (!isVisible) { return null; } return (
{title}
{monitors.map((monitor, idx) => (

{monitor.title}

))}
{!hasErrors && ( )} {hasErrors && ( <> )}
); };