Merge pull request #1320 from AndnixSH/development

Details: stop addon dropdown scroll jumping
This commit is contained in:
Timothy Z. 2026-07-17 14:32:06 +03:00 committed by GitHub
commit 5b11794994
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -21,8 +21,7 @@ const Dropdown = ({ level, setLevel, options, onSelect, value, menuOpen }: Props
const { t } = useTranslation();
const optionsRef = useRef(new Map());
const containerRef = useRef(null);
const selectedOption = options.find((opt) => opt.value === value);
const selectedOptionValue = options.find((opt) => opt.value === value)?.value;
const handleSetOptionRef = useCallback((optionValue: any) => (node: HTMLButtonElement | null) => {
if (node) {
@ -37,8 +36,8 @@ const Dropdown = ({ level, setLevel, options, onSelect, value, menuOpen }: Props
}, [setLevel, level]);
useEffect(() => {
if (menuOpen && selectedOption && containerRef.current) {
const selectedNode = optionsRef.current.get(selectedOption.value);
if (menuOpen && selectedOptionValue !== undefined && containerRef.current) {
const selectedNode = optionsRef.current.get(selectedOptionValue);
if (selectedNode) {
selectedNode.scrollIntoView({
behavior: 'smooth',
@ -46,7 +45,7 @@ const Dropdown = ({ level, setLevel, options, onSelect, value, menuOpen }: Props
});
}
}
}, [menuOpen, selectedOption]);
}, [menuOpen, selectedOptionValue]);
return (
<div