import React, { useState, useRef, useEffect } from 'react'; interface CatalogSortDropdownProps { active: number; onChange: (index: number) => void; } const sortOptions = [ 'По популярности', 'Сначала дешевле', 'Сначала дороже', 'Высокий рейтинг', ]; const CatalogSortDropdown: React.FC = ({ active, onChange }) => { const [isOpen, setIsOpen] = useState(false); const dropdownRef = useRef(null); useEffect(() => { function handleClick(e: MouseEvent) { if (dropdownRef.current && !dropdownRef.current.contains(e.target as Node)) { setIsOpen(false); } } if (isOpen) document.addEventListener('mousedown', handleClick); return () => document.removeEventListener('mousedown', handleClick); }, [isOpen]); return (
setIsOpen((v) => !v)} tabIndex={0} role="button" aria-haspopup="listbox" aria-expanded={isOpen} >
Сортировка
); }; export default CatalogSortDropdown;