/* eslint-disable react-hooks/exhaustive-deps */ import { useEffect, useState } from "react"; import Button from "./Button"; import { useClickAway } from "@uidotdev/usehooks"; import ArrowDownIcon from "./icons/ArrowDownIcon"; interface Props { options: string[]; // ["StroyProject"] onChange: (option: string | undefined) => void; } export default function Select({ options, onChange }: Props) { const [isOpen, setIsOpen] = useState(false); const [selectedOption, setSelectedOption] = useState(); const ref = useClickAway(() => setIsOpen(false)); function handleClickOption(option: string) { setSelectedOption(option); onChange(option); setIsOpen(false); } useEffect(() => { if (selectedOption && !options.includes(selectedOption)) { setSelectedOption(undefined); } }, [options]); return (
{isOpen && (
{options.map((option) => ( ))}
)}
); }