diff options
author | Hailey <me@haileyok.com> | 2024-01-29 16:48:49 -0800 |
---|---|---|
committer | Hailey <me@haileyok.com> | 2024-01-29 16:48:49 -0800 |
commit | dd3229d9005dc9c10aac839bf48de8cb11ead3c7 (patch) | |
tree | 1ebe46bc7c60097c0615626e5950444a9b1f4f38 /src/state/queries | |
parent | 4f2802856986e648052d5c5f04c6fcf50e0a731e (diff) | |
download | voidsky-dd3229d9005dc9c10aac839bf48de8cb11ead3c7.tar.zst |
check if we are blocked when opening a profile, reset posts cache if we are
Diffstat (limited to 'src/state/queries')
-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) +} |