diff --git a/src/hooks/useActivities.tsx b/src/hooks/useActivities.tsx index d66665ae..957bf355 100644 --- a/src/hooks/useActivities.tsx +++ b/src/hooks/useActivities.tsx @@ -1,4 +1,3 @@ -import { useCallback } from 'react'; import { gql } from 'graphql-request'; import { useGraphQLClient } from './useGraphQLClient'; import { useQuery } from '@tanstack/react-query'; @@ -364,15 +363,14 @@ type ActivitiesQueryResponse = { }; }; +export const USE_ACTIVITIES_QUERY_KEY = ['activities']; + export const useActivities = (input: ActivitiesInput) => { const { graphQLClient } = useGraphQLClient(); - const queryForActivities = useCallback(async () => { - return graphQLClient.request( - getActivitiesQueryDocument, - { input }, - ); - }, [graphQLClient, input]); - - return useQuery(['activities'], queryForActivities); + return useQuery(USE_ACTIVITIES_QUERY_KEY, () => + graphQLClient.request(getActivitiesQueryDocument, { + input, + }), + ); }; diff --git a/src/hooks/useConsent.ts b/src/hooks/useConsent.ts index d1fe9324..f4772920 100644 --- a/src/hooks/useConsent.ts +++ b/src/hooks/useConsent.ts @@ -1,11 +1,13 @@ -import { useQuery, useMutation } from '@tanstack/react-query'; +import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'; import { useHttpClient } from './useHttpClient'; import { useActiveProject } from './useActiveProject'; import { Consent, Questionnaire } from 'fhir/r3'; +import { USE_ACTIVITIES_QUERY_KEY } from './useActivities'; export const useConsent = () => { const { activeProject } = useActiveProject(); const { httpClient } = useHttpClient(); + const client = useQueryClient(); const useConsentDirectives = () => { return useQuery( @@ -45,6 +47,10 @@ export const useConsent = () => { ], }, }), + onSuccess: () => { + // eslint-disable-next-line no-void + void client.invalidateQueries({ queryKey: USE_ACTIVITIES_QUERY_KEY }); + }, }); };