import React, { useState, useMemo } from 'react'; import { FilterState } from '../types'; import MultiSelectDropdown from './MultiSelectDropdown'; import { FunnelIcon } from './Icons'; interface FilterBarProps { filters: FilterState; onFilterChange: (key: keyof FilterState, value: string[]) => void; options: { customer: string[]; year: string[]; month: string[]; line: string[]; asin: string[]; sku: string[]; title: string[]; week: string[]; stock: string[]; }; } const FilterBar: React.FC = ({ filters, onFilterChange, options }) => { const [isExpanded, setIsExpanded] = useState(false); const activeFilterCount = useMemo(() => { return filters.customer.length + filters.year.length + filters.month.length + filters.week.length + filters.line.length + filters.sku.length + filters.title.length + filters.asin.length + filters.stock.length; }, [filters]); return (
{/* Mobile toggle button */} {/* Filter dropdowns - always visible on desktop, toggle on mobile */}
onFilterChange('customer', v)} className="w-full md:w-auto md:flex-1" /> onFilterChange('year', v)} className="w-full md:w-auto md:flex-1" /> onFilterChange('month', v)} className="w-full md:w-auto md:flex-1" /> onFilterChange('week', v)} className="w-full md:w-auto md:flex-1" enableRangeSelect={true} /> onFilterChange('line', v)} className="w-full md:w-auto md:flex-1" /> onFilterChange('sku', v)} className="w-full md:w-auto md:flex-1" /> onFilterChange('title', v)} className="w-full md:w-auto md:flex-1" /> onFilterChange('asin', v)} className="w-full md:w-auto md:flex-1" /> onFilterChange('stock', v)} className="w-full md:w-auto md:flex-1" enableRangeSelect={true} />
); }; export default FilterBar;