Files
ncd-fe/packages/pl-hooks/lib/hooks/account-lists/use-directory.ts
nicole mikołajczyk bbf0325146 pl-hooks: migrate from eslint
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-02-24 14:01:33 +01:00

35 lines
1.0 KiB
TypeScript

import { useInfiniteQuery } from '@tanstack/react-query';
import { usePlHooksApiClient } from '@/contexts/api-client';
import { usePlHooksQueryClient } from '@/contexts/query-client';
import { importEntities } from '@/importer';
const useDirectory = (order: 'active' | 'new', local: boolean = false) => {
const { client } = usePlHooksApiClient();
const queryClient = usePlHooksQueryClient();
return useInfiniteQuery(
{
queryKey: ['accountsLists', 'directory', order, local],
queryFn: ({ pageParam: offset }) =>
client.instance
.profileDirectory({
order,
local,
offset,
})
.then((accounts) => {
importEntities({ accounts });
return accounts.map(({ id }) => id);
}),
initialPageParam: 0,
getNextPageParam: (_, allPages) =>
allPages.at(-1)?.length === 0 ? undefined : allPages.flat().length,
select: (data) => data?.pages.flat(),
},
queryClient,
);
};
export { useDirectory };