pl-fe: move status history to tanstack query

Signed-off-by: mkljczk <git@mkljczk.pl>
This commit is contained in:
mkljczk
2024-11-30 20:38:54 +01:00
parent 154a71142e
commit d95a78085e
5 changed files with 29 additions and 110 deletions

View File

@@ -0,0 +1,25 @@
import { useQuery } from '@tanstack/react-query';
import { StatusEdit } from 'pl-api';
import { importEntities } from 'pl-fe/actions/importer';
import { useAppDispatch } from 'pl-fe/hooks/use-app-dispatch';
import { useClient } from 'pl-fe/hooks/use-client';
const minifyStatusEdit = ({ account, ...statusEdit }: StatusEdit) => ({
account_id: account.id,
...statusEdit,
});
const useStatusHistory = (statusId: string) => {
const client = useClient();
const dispatch = useAppDispatch();
return useQuery({
queryKey: ['statuses', 'history', statusId],
queryFn: () => client.statuses.getStatusHistory(statusId)
.then(history => (dispatch(importEntities({ accounts: history.map(({ account }) => account) })), history))
.then(history => history.map(minifyStatusEdit)),
});
};
export { useStatusHistory };