feat: add search parameter cleanup in useServerTable hook

This commit is contained in:
Yoga Pangestu 2026-08-07 08:44:30 +07:00
parent c6a87a64c9
commit de45ae3bb7

View File

@ -1,5 +1,5 @@
import { router } from '@inertiajs/react';
import { useCallback, useState } from 'react';
import { useCallback, useEffect, useState } from 'react';
import type { PaginationState } from '@/components/data-table';
type UseServerTableOptions = {
@ -18,6 +18,18 @@ export function useServerTable({
const [search, setSearch] = useState('');
const [filterOpen, setFilterOpen] = useState(false);
useEffect(() => {
const params = new URLSearchParams(window.location.search);
if (params.has('search')) {
params.delete('search');
const cleanUrl =
window.location.pathname +
(params.toString() ? `?${params.toString()}` : '');
history.replaceState(null, '', cleanUrl);
router.get(route(), {}, { preserveState: true, replace: true });
}
}, []);
const handlePageChange = useCallback(
(page: number) => {
router.get(