diff options
Diffstat (limited to 'src/state/queries/profile.ts')
-rw-r--r-- | src/state/queries/profile.ts | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/state/queries/profile.ts b/src/state/queries/profile.ts index 74be99330..cdfbf2007 100644 --- a/src/state/queries/profile.ts +++ b/src/state/queries/profile.ts @@ -22,6 +22,7 @@ import {RQKEY as RQKEY_MY_MUTED} from './my-muted-accounts' import {RQKEY as RQKEY_MY_BLOCKED} from './my-blocked-accounts' import {STALE} from '#/state/queries' import {track} from '#/lib/analytics/analytics' +import {queryClient} from '#/lib/react-query' export const RQKEY = (did: string) => ['profile', did] export const profilesQueryKey = (handles: string[]) => ['profiles', handles] @@ -375,8 +376,9 @@ function useProfileBlockMutation() { {subject: did, createdAt: new Date().toISOString()}, ) }, - onSuccess() { + onSuccess(_, {did}) { queryClient.invalidateQueries({queryKey: RQKEY_MY_BLOCKED()}) + resetProfilePostsQueries(did, 1000) }, }) } @@ -394,6 +396,9 @@ function useProfileUnblockMutation() { rkey, }) }, + onSuccess(_, {did}) { + resetProfilePostsQueries(did, 1000) + }, }) } @@ -426,3 +431,15 @@ export function* findAllProfilesInQueryData( } } } + +export function resetProfilePostsQueries(did: string, timeout = 0) { + setTimeout(() => { + queryClient.resetQueries({ + predicate: query => + !!( + query.queryKey[0] === 'post-feed' && + (query.queryKey[1] as string)?.includes(did) + ), + }) + }, timeout) +} |