pl-fe: migrate suggested accounts to react query

Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
This commit is contained in:
marcin mikołajczak
2024-11-10 21:01:44 +01:00
parent 781a2430e4
commit 8f8bd724cb
11 changed files with 63 additions and 158 deletions

View File

@ -0,0 +1,27 @@
import { useQuery } from '@tanstack/react-query';
import { importEntities } from 'pl-fe/actions/importer';
import { useAppDispatch } from 'pl-fe/hooks/use-app-dispatch';
import { useClient } from 'pl-fe/hooks/use-client';
import { useFeatures } from 'pl-fe/hooks/use-features';
import type { Suggestion } from 'pl-api';
type MinifiedSuggestion = Omit<Suggestion, 'account'> & { account_id: string };
const useSuggestedAccounts = () => {
const client = useClient();
const dispatch = useAppDispatch();
const features = useFeatures();
return useQuery({
queryKey: ['suggestions'],
queryFn: () => client.myAccount.getSuggestions().then((suggestions) => {
dispatch(importEntities({ accounts: suggestions.map(({ account }) => account) }));
return suggestions.map(({ account, ...suggestion }): MinifiedSuggestion => ({ account_id: account.id, ...suggestion }));
}),
enabled: features.suggestions || features.suggestionsV2,
});
};
export { useSuggestedAccounts, type MinifiedSuggestion };