Props for the AdvancedFilterPanel component.

interface AdvancedFilterPanelProps {
filters: AdvancedMatchFilters;
onFiltersChange: (filters: AdvancedMatchFilters) => void;
availableGenres: string[];
availableFormats: string[];
availableStatuses: string[];
availableTags: string[];
yearRange: { min: number | null; max: number | null };
matchCount: number;
userPresets: FilterPreset[];
onSavePreset: (name: string, description?: string) => void;
onApplyPreset: (preset: FilterPreset) => void;
onDeletePreset: (presetId: string) => void;
}
interface AdvancedFilterPanelProps {
    filters: AdvancedMatchFilters;
    onFiltersChange: (filters: AdvancedMatchFilters) => void;
    availableGenres: string[];
    availableFormats: string[];
    availableStatuses: string[];
    availableTags: string[];
    yearRange: { min: null | number; max: null | number };
    matchCount: number;
    userPresets: FilterPreset[];
    onSavePreset: (name: string, description?: string) => void;
    onApplyPreset: (preset: FilterPreset) => void;
    onDeletePreset: (presetId: string) => void;
}

Properties

Current filter state.

onFiltersChange: (filters: AdvancedMatchFilters) => void

Callback when filters are modified.

availableGenres: string[]

List of available genres to filter by.

availableFormats: string[]

List of available formats to filter by.

availableStatuses: string[]

List of available publication statuses to filter by.

availableTags: string[]

List of available tags to filter by.

yearRange: { min: null | number; max: null | number }

Min/max years in dataset.

matchCount: number

Total number of matches to display.

userPresets: FilterPreset[]

User-created filter presets.

onSavePreset: (name: string, description?: string) => void

Callback to save current filters as preset.

onApplyPreset: (preset: FilterPreset) => void

Callback to apply a preset.

onDeletePreset: (presetId: string) => void

Callback to delete a preset.