import { useTranslation } from 'react-i18next'; import { Search, X, ChevronDown, ChevronUp } from 'lucide-react'; import { useAutoEq } from '../../hooks/useAutoEq'; /** Collapsible AutoEQ search panel inside the Equalizer. Owns its own search * state via {@link useAutoEq}. */ export default function AutoEqSection() { const { t } = useTranslation(); const { autoEqOpen, autoEqQuery, autoEqResults, autoEqLoading, autoEqError, autoEqApplied, entriesLoading, setAutoEqQuery, setAutoEqError, setAutoEqResults, applyAutoEqResult, toggleOpen, } = useAutoEq(); return (
{autoEqOpen && (
{ setAutoEqQuery(e.target.value); setAutoEqError(null); }} autoFocus style={{ flex: 1, padding: '6px 12px', fontSize: 13 }} /> {autoEqQuery && ( )}
{(entriesLoading || autoEqLoading) && (
{t('settings.eqAutoEqSearching')}
)} {autoEqError && (
{autoEqError}
)} {autoEqApplied && (
✓ {autoEqApplied}
)} {autoEqResults.length > 0 && (
{autoEqResults.map((r, i) => ( ))}
)} {!entriesLoading && !autoEqLoading && !autoEqError && autoEqQuery.length >= 2 && autoEqResults.length === 0 && (
{t('settings.eqAutoEqNoResults')}
)}
)}
); }