import React from "react"; import FilterDropdown from "./filters/FilterDropdown"; import FilterRange from "./filters/FilterRange"; import { FilterConfig } from "./Filters"; interface FiltersWithSearchProps { filters: FilterConfig[]; searchQuery: string; onSearchChange: (query: string) => void; selectedFilters?: Record; onFilterChange?: (filterTitle: string, values: string[]) => void; } const FiltersWithSearch: React.FC = ({ filters, searchQuery, onSearchChange, selectedFilters = {}, onFilterChange }) => { const emptyArray: string[] = []; // Стабильная ссылка на пустой массив return (
{/* Поиск всегда первый */}
e.preventDefault()}> onSearchChange(e.target.value)} />
{/* Фильтры из пропса */} {filters.map((filter, idx) => { if (filter.type === "dropdown" && filter.options) { return ( onFilterChange?.(filter.title, values)} /> ); } if (filter.type === "range") { return ( ); } return null; })}
); }; export default FiltersWithSearch;