about summary refs log tree commit diff
path: root/src/view/com/util/PostMeta.tsx
diff options
context:
space:
mode:
authordan <dan.abramov@gmail.com>2024-01-26 05:23:56 +0000
committerGitHub <noreply@github.com>2024-01-25 21:23:56 -0800
commit23a4bbf6082a7d02c7dbf0af74f81e2200327eb0 (patch)
treebf3d5151cf84b22a38cd014be4109a5a946242b2 /src/view/com/util/PostMeta.tsx
parent157404132f43dc4fc42437fe27348a491161f241 (diff)
downloadvoidsky-23a4bbf6082a7d02c7dbf0af74f81e2200327eb0.tar.zst
Prefetch profile links on web (#2634)
Diffstat (limited to 'src/view/com/util/PostMeta.tsx')
-rw-r--r--src/view/com/util/PostMeta.tsx9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/view/com/util/PostMeta.tsx b/src/view/com/util/PostMeta.tsx
index b9c3842b3..4cd574d59 100644
--- a/src/view/com/util/PostMeta.tsx
+++ b/src/view/com/util/PostMeta.tsx
@@ -8,10 +8,11 @@ import {TypographyVariant} from 'lib/ThemeContext'
 import {UserAvatar} from './UserAvatar'
 import {sanitizeDisplayName} from 'lib/strings/display-names'
 import {sanitizeHandle} from 'lib/strings/handles'
-import {isAndroid} from 'platform/detection'
+import {isAndroid, isWeb} from 'platform/detection'
 import {TimeElapsed} from './TimeElapsed'
 import {makeProfileLink} from 'lib/routes/links'
 import {ModerationUI} from '@atproto/api'
+import {usePrefetchProfileQuery} from '#/state/queries/profile'
 
 interface PostMetaOpts {
   author: {
@@ -35,6 +36,7 @@ let PostMeta = (opts: PostMetaOpts): React.ReactNode => {
   const pal = usePalette('default')
   const displayName = opts.author.displayName || opts.author.handle
   const handle = opts.author.handle
+  const prefetchProfileQuery = usePrefetchProfileQuery()
 
   return (
     <View style={[styles.container, opts.style]}>
@@ -66,6 +68,11 @@ let PostMeta = (opts: PostMetaOpts): React.ReactNode => {
             </>
           }
           href={makeProfileLink(opts.author)}
+          onPointerEnter={() => {
+            if (isWeb) {
+              prefetchProfileQuery(opts.author.did)
+            }
+          }}
         />
       </View>
       {!isAndroid && (