diff --git a/src/components/people/PeopleFilters.tsx b/src/components/people/PeopleFilters.tsx index c6f7ffe..a36de1f 100644 --- a/src/components/people/PeopleFilters.tsx +++ b/src/components/people/PeopleFilters.tsx @@ -13,11 +13,23 @@ import { DropdownMenuTrigger, } from "../ui/dropdown-menu"; import { Input } from "../ui/input"; +import { IPersonListFilters } from "@/handlers/api/people.handler"; export function PeopleFilters() { const router = useRouter(); const { updateContext, page, maximumAssetCount } = usePeopleFilterContext(); + const handleChange = (data: Partial) => { + updateContext(data); + router.push({ + pathname: router.pathname, + query: { + ...router.query, + ...data, + page: undefined, + }, + }); + } const [nextPage, prevPage] = useMemo(() => { const pageNum = parseInt(page.toString() || "1", 10); return [pageNum + 1, pageNum - 1]; @@ -32,9 +44,9 @@ export function PeopleFilters() { onChange={(e) => { try { const value = parseInt(e.target.value || "0", 10); - updateContext({ maximumAssetCount: value }); + handleChange({ maximumAssetCount: value }); } catch (e) { - updateContext({ maximumAssetCount: 0 }); + handleChange({ maximumAssetCount: 0 }); } }} /> @@ -42,7 +54,7 @@ export function PeopleFilters() { { - updateContext({ nameLessOnly: checked, page: 1 }); + handleChange({ nameLessOnly: checked, page: 1 }); }} />