diff --git a/Client/src/Components/Inputs/Select/index.jsx b/Client/src/Components/Inputs/Select/index.jsx index a02accc5e..76feb6daa 100644 --- a/Client/src/Components/Inputs/Select/index.jsx +++ b/Client/src/Components/Inputs/Select/index.jsx @@ -1,9 +1,25 @@ +import PropTypes from "prop-types"; import { useTheme } from "@emotion/react"; import { MenuItem, Select as MuiSelect } from "@mui/material"; import KeyboardArrowDownIcon from "@mui/icons-material/KeyboardArrowDown"; import "./index.css"; +/** + * @component + * @param {object} props + * @param {string} props.id - The ID attribute for the select element. + * @param {string} props.placeholder - The placeholder text when no option is selected. + * @param {boolean} props.isHidden - Whether the placeholder should be hidden. + * @param {string} props.value - The currently selected value. + * @param {object[]} props.items - The array of items to populate in the select dropdown. + * @param {string} props.items._id - The unique identifier of each item. + * @param {string} props.items.name - The display name of each item. + * @param {function} props.onChange - The function to handle onChange event. + * @param {object} props.sx - The custom styles object for MUI Select component. + * @returns {JSX.Element} + */ + const Select = ({ id, placeholder, isHidden, value, items, onChange, sx }) => { const theme = useTheme(); const itemStyles = { @@ -62,4 +78,19 @@ const Select = ({ id, placeholder, isHidden, value, items, onChange, sx }) => { ); }; +Select.propTypes = { + id: PropTypes.string.isRequired, + placeholder: PropTypes.string, + isHidden: PropTypes.bool, + value: PropTypes.string.isRequired, + items: PropTypes.arrayOf( + PropTypes.shape({ + _id: PropTypes.string.isRequired, + name: PropTypes.string.isRequired, + }) + ).isRequired, + onChange: PropTypes.func.isRequired, + sx: PropTypes.object, +}; + export default Select; diff --git a/Client/src/Pages/Incidents/index.jsx b/Client/src/Pages/Incidents/index.jsx index 1b786e11d..f4895f3f0 100644 --- a/Client/src/Pages/Incidents/index.jsx +++ b/Client/src/Pages/Incidents/index.jsx @@ -54,7 +54,6 @@ const Incidents = () => { fetchIncidents(); }, [authState]); - console.log(monitors); const handleSelect = (event) => { setSelectedMonitor(event.target.value); };