diff --git a/src/components/Form/Settings/Dropdown/Dropdown.jsx b/src/components/Form/Settings/Dropdown/Dropdown.jsx index e531fb64..62f00079 100644 --- a/src/components/Form/Settings/Dropdown/Dropdown.jsx +++ b/src/components/Form/Settings/Dropdown/Dropdown.jsx @@ -1,28 +1,20 @@ +import { useState } from 'react'; import { Field, Label, Select } from '@headlessui/react'; -import { MdKeyboardArrowDown } from 'react-icons/md'; import clsx from 'clsx'; -import { useEffect, useState, useRef } from 'react'; import EventBus from 'utils/eventbus'; import variables from 'config/variables'; const Dropdown = (props) => { const [value, setValue] = useState(localStorage.getItem(props.name) || props.items[0]?.value); - const dropdown = useRef(null); - useEffect(() => { - setValue(localStorage.getItem(props.name) || props.items[0]?.value); - }, [props.name]); - - const onChange = (e) => { + const handleChange = (e) => { const newValue = e.target.value; - if (newValue === variables.getMessage('modals.main.loading')) { return; } variables.stats.postEvent('setting', `${props.name} from ${value} to ${newValue}`); - setValue(newValue); if (!props.noSetting) { @@ -44,51 +36,50 @@ const Dropdown = (props) => { EventBus.emit('refresh', props.category); }; - const id = 'dropdown' + props.name; - const label = props.label || ''; + const selectedItem = props.items.find((item) => item?.value === value); return ( -
- - -
+ {props.items.map((item) => + item !== null ? ( + + ) : null, + )} + + + {selectedItem?.description && ( +

{selectedItem.description}

+ )} + ); };