diff options
author | Samuel Newman <mozzius@protonmail.com> | 2025-02-03 14:37:24 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-03 22:37:24 +0000 |
commit | 32b28d666229ac24cf7b1ac328d1566fb089e1a1 (patch) | |
tree | 2e721117c9a859ca1cae52e1c15642d5e6db4d5b /src/screens/Messages/components/ChatListItem.tsx | |
parent | fa8607b861e0719d76778aa14af0745313640e33 (diff) | |
download | voidsky-32b28d666229ac24cf7b1ac328d1566fb089e1a1.tar.zst |
Fix convo header loading state (#7603)
* get initial convo state from cache * undo useConvoQuery changes * fix shadowing situation with new hook
Diffstat (limited to 'src/screens/Messages/components/ChatListItem.tsx')
-rw-r--r-- | src/screens/Messages/components/ChatListItem.tsx | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/screens/Messages/components/ChatListItem.tsx b/src/screens/Messages/components/ChatListItem.tsx index 11aada71b..a64e9e549 100644 --- a/src/screens/Messages/components/ChatListItem.tsx +++ b/src/screens/Messages/components/ChatListItem.tsx @@ -9,6 +9,7 @@ import { } from '@atproto/api' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' +import {useQueryClient} from '@tanstack/react-query' import {GestureActionView} from '#/lib/custom-animations/GestureActionView' import {useHaptics} from '#/lib/haptics' @@ -23,7 +24,11 @@ import { import {isNative} from '#/platform/detection' import {useProfileShadow} from '#/state/cache/profile-shadow' import {useModerationOpts} from '#/state/preferences/moderation-opts' -import {useMarkAsReadMutation} from '#/state/queries/messages/conversation' +import { + precacheConvoQuery, + useMarkAsReadMutation, +} from '#/state/queries/messages/conversation' +import {precacheProfile} from '#/state/queries/profile' import {useSession} from '#/state/session' import {TimeElapsed} from '#/view/com/util/TimeElapsed' import {PreviewableUserAvatar} from '#/view/com/util/UserAvatar' @@ -89,6 +94,7 @@ function ChatListItemReady({ [profile, moderationOpts], ) const playHaptic = useHaptics() + const queryClient = useQueryClient() const isUnread = convo.unreadCount > 0 const blockInfo = useMemo(() => { @@ -198,6 +204,8 @@ function ChatListItemReady({ const onPress = useCallback( (e: GestureResponderEvent) => { + precacheProfile(queryClient, profile) + precacheConvoQuery(queryClient, convo) decrementBadgeCount(convo.unreadCount) if (isDeletedAccount) { e.preventDefault() @@ -207,7 +215,7 @@ function ChatListItemReady({ logEvent('chat:open', {logContext: 'ChatsList'}) } }, - [convo.unreadCount, isDeletedAccount, menuControl], + [isDeletedAccount, menuControl, queryClient, profile, convo], ) const onLongPress = useCallback(() => { |