import { Dispatch, SetStateAction, useState } from "react"; export type SelectProps = { setState: Dispatch>; state: number; options: string[]; selected?: number; allowEmpty?: boolean; className?: string; }; export default function Select(props: SelectProps): JSX.Element { const [opened, setOpened] = useState(false); return (

setOpened(!opened)} className="w-full"> {props.state === -1 ? "—" : props.options[props.state]}

{props.state >= 0 && props.allowEmpty && ( props.setState(-1)} className="material-icons !text-xs" > close )} setOpened(!opened)} className="material-icons"> {opened ? "arrow_drop_up" : "arrow_drop_down"}
{props.options.map((option, index) => ( <> {index !== props.state && (
{ setOpened(false); props.setState(index); }} > {option}
)} ))}
); }