import type {ChangeEvent} from 'react' import {SearchBar} from "./SearchBar.tsx"; import type {SearchParams} from "../../type/searchParams.ts"; import {PageSizeSelector} from "./pagination/PageSizeSelector.tsx"; interface ListSearchFormProps { totalItems: number; searchParams: T; onChange: (params: T) => void; searchOptions: { value: string; label: string; }[]; pageSizeOptions?: { value: string; label: string; }[]; totalLabel?: string; } export function ListSearchForm({ totalItems, searchParams, onChange, searchOptions, pageSizeOptions, totalLabel, }: ListSearchFormProps) { const handleChange = ( name: string, value: string ) => { onChange({ ...searchParams, [name]: value, pageIndex: 1, }); }; const handlePageChange = (event: ChangeEvent) => { const {name, value} = event.target onChange({ ...searchParams, [name]: Number(value), pageIndex: 1, }) } return (

{totalLabel} {totalItems}

{ pageSizeOptions && pageSizeOptions.length > 0 && ( ) }
) }