mirror of
https://github.com/ershisan99/db-studio.git
synced 2025-12-19 12:33:12 +00:00
move things around
This commit is contained in:
23
frontend/src/hooks/use-filters.ts
Normal file
23
frontend/src/hooks/use-filters.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { cleanEmptyParams } from "@/lib/utils";
|
||||
import {
|
||||
type RegisteredRouter,
|
||||
type RouteIds,
|
||||
getRouteApi,
|
||||
useNavigate,
|
||||
} from "@tanstack/react-router";
|
||||
|
||||
export function useFilters<T extends RouteIds<RegisteredRouter["routeTree"]>>(
|
||||
routeId: T,
|
||||
) {
|
||||
const routeApi = getRouteApi<T>(routeId);
|
||||
const navigate = useNavigate();
|
||||
const filters = routeApi.useSearch();
|
||||
|
||||
const setFilters = (partialFilters: Partial<typeof filters>) =>
|
||||
navigate({
|
||||
search: (prev) => cleanEmptyParams({ ...prev, ...partialFilters }),
|
||||
});
|
||||
const resetFilters = () => navigate({ search: {} });
|
||||
|
||||
return { filters, setFilters, resetFilters };
|
||||
}
|
||||
Reference in New Issue
Block a user