Files
documenso/packages/lib/client-only/hooks/use-update-search-params.ts
2025-02-14 16:14:02 +11:00

20 lines
597 B
TypeScript

import { useSearchParams } from 'react-router';
export const useUpdateSearchParams = () => {
const [searchParams, setSearchParams] = useSearchParams();
return (params: Record<string, string | number | boolean | null | undefined>) => {
const nextSearchParams = new URLSearchParams(searchParams?.toString() ?? '');
Object.entries(params).forEach(([key, value]) => {
if (value === undefined || value === null) {
nextSearchParams.delete(key);
} else {
nextSearchParams.set(key, String(value));
}
});
setSearchParams(nextSearchParams);
};
};