import PropTypes from "prop-types"; import { useTheme } from "@emotion/react"; import { Box, Stack, Typography } from "@mui/material"; import Background from "../../../../assets/Images/background-grid.svg?react"; import AlertIcon from "../../../../assets/icons/alert-icon.svg?react"; import CheckIcon from "../../../../assets/icons/check-icon.svg?react"; import CloseIcon from "../../../../assets/icons/close-icon.svg?react"; import WarningIcon from "../../../../assets/icons/warning-icon.svg?react"; const StatusBox = ({ title, value, status }) => { const theme = useTheme(); let sharedStyles = { position: "absolute", right: 8, "& svg": { width: 20, height: 20, opacity: 0.9, "& path": { stroke: theme.palette.primary.contrastTextTertiary, strokeWidth: 1.7 }, }, }; let color; let icon; if (status === "up") { color = theme.palette.success.lowContrast; icon = ( ); } else if (status === "down") { color = theme.palette.error.lowContrast; icon = ( ); } else if (status === "paused") { color = theme.palette.warning.lowContrast; icon = ( ); } else { color = theme.palette.accent.main; icon = ( ); } return ( {title} {icon} {value} # ); }; StatusBox.propTypes = { title: PropTypes.string.isRequired, value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired, status: PropTypes.string, }; export default StatusBox;