import { useState, useContext } from "react"; import StoreContext from "../../ctx/StoreContext.jsx"; import JobContext from "../../ctx/JobContext.jsx"; import SilenceDialog from "../alerting/SilenceDialog.jsx"; import FailingBox from "./FailingBox.jsx"; import SpeedDial from "@mui/material/SpeedDial"; import SpeedDialAction from "@mui/material/SpeedDialAction"; import SpeedDialIcon from "@mui/material/SpeedDialIcon"; import Button from "@mui/material/Button"; import Dialog from "@mui/material/Dialog"; import DialogActions from "@mui/material/DialogActions"; import DialogContent from "@mui/material/DialogContent"; import DialogContentText from "@mui/material/DialogContentText"; import DialogTitle from "@mui/material/DialogTitle"; import ReplayIcon from "@mui/icons-material/Replay"; export default function Failing() { const { state: jobState, retryAll, activeJobStates } = useContext(JobContext); const { state: store, updateStore, silenceRequest, } = useContext(StoreContext); const { failing } = store; const [silenceEntry, setSilenceEntry] = useState({ open: false }); const closeSilence = () => setSilenceEntry({ ...silenceEntry, open: false }); const handleSilenceClose = (silenceReq) => { closeSilence(); if (!silenceReq) return; silenceRequest(silenceReq); }; const editSilence = (silence) => () => { setSilenceEntry({ ...silence, open: true }); }; const [retryAllOpen, setRetryAllOpen] = useState(false); const retryAllClick = () => setRetryAllOpen(!retryAllOpen); const handleClose = (confirmed) => () => { retryAllClick(); if (!confirmed) return; retryAll(store.failing); }; return (