diff --git a/src/frontend/src/components/dropdownComponent/index.tsx b/src/frontend/src/components/dropdownComponent/index.tsx index 522078629..605a24041 100644 --- a/src/frontend/src/components/dropdownComponent/index.tsx +++ b/src/frontend/src/components/dropdownComponent/index.tsx @@ -1,9 +1,11 @@ import { Listbox, Transition } from "@headlessui/react"; -import { Fragment, useEffect, useState } from "react"; +import { Fragment, useContext, useEffect, useState } from "react"; import { DropDownComponentType } from "../../types/components"; import { classNames } from "../../utils"; import { INPUT_STYLE } from "../../constants"; import { ChevronsUpDown, Check } from "lucide-react"; +import { PopUpContext } from "../../contexts/popUpContext"; +import { TabsContext } from "../../contexts/tabsContext"; export default function Dropdown({ value, @@ -12,12 +14,16 @@ export default function Dropdown({ editNode = false, numberOfOptions = 0, }: DropDownComponentType) { + const { closePopUp } = useContext(PopUpContext); + + let [internalValue, setInternalValue] = useState( value === "" || !value ? "Choose an option" : value ); + useEffect(() => { setInternalValue(value === "" || !value ? "Choose an option" : value); - }, [value]); + }, [closePopUp]); return ( <> @@ -81,7 +87,9 @@ export default function Dropdown({ ) } value={option} + > + {({ selected, active }) => ( <> { setMyValue(value); - }, [value]); + }, [closePopUp]); + return (
{ if (disabled) { @@ -24,7 +26,8 @@ export default function IntComponent({ useEffect(() => { setMyValue(value); - }, [value]); + }, [closePopUp]); + return (