From 396acf3bbbe00a192cb0ea0a9ccf91b1d8d2850b Mon Sep 17 00:00:00 2001 From: Fuwn <50817549+Fuwn@users.noreply.github.com> Date: Sat, 24 Jan 2026 13:09:50 +0000 Subject: Initial commit Created from https://vercel.com/new --- src/components/hooks/usePagedQuery.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/components/hooks/usePagedQuery.ts (limited to 'src/components/hooks/usePagedQuery.ts') diff --git a/src/components/hooks/usePagedQuery.ts b/src/components/hooks/usePagedQuery.ts new file mode 100644 index 0000000..c818de6 --- /dev/null +++ b/src/components/hooks/usePagedQuery.ts @@ -0,0 +1,27 @@ +import type { UseQueryOptions, UseQueryResult } from '@tanstack/react-query'; +import type { PageResult } from '@/lib/types'; +import { useApi } from './useApi'; +import { useNavigation } from './useNavigation'; + +export function usePagedQuery({ + queryKey, + queryFn, + ...options +}: Omit< + UseQueryOptions, TError, PageResult, readonly unknown[]>, + 'queryFn' | 'queryKey' +> & { + queryKey: readonly unknown[]; + queryFn: (params?: object) => Promise> | PageResult; +}): UseQueryResult, TError> { + const { + query: { page, search }, + } = useNavigation(); + const { useQuery } = useApi(); + + return useQuery, TError>({ + queryKey: [...queryKey, page, search] as const, + queryFn: () => queryFn({ page, search }), + ...options, + }); +} -- cgit v1.2.3