about summary refs log tree commit diff
path: root/src/view/com/util/UserInfoText.tsx
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2023-11-16 08:19:08 -0800
committerGitHub <noreply@github.com>2023-11-16 08:19:08 -0800
commit8a1fd160e6a1f9beeb735bb2320c12e5e71963d6 (patch)
treefc70b2df721cc1162420677f0278d557d265574d /src/view/com/util/UserInfoText.tsx
parenta84b2f9f2f64b1d434c5adbb12af6f7d76ba42ea (diff)
downloadvoidsky-8a1fd160e6a1f9beeb735bb2320c12e5e71963d6.tar.zst
Update UserInfoText component (#1927)
Diffstat (limited to 'src/view/com/util/UserInfoText.tsx')
-rw-r--r--src/view/com/util/UserInfoText.tsx33
1 files changed, 4 insertions, 29 deletions
diff --git a/src/view/com/util/UserInfoText.tsx b/src/view/com/util/UserInfoText.tsx
index e4ca981d9..e5d2ceb03 100644
--- a/src/view/com/util/UserInfoText.tsx
+++ b/src/view/com/util/UserInfoText.tsx
@@ -1,14 +1,14 @@
-import React, {useState, useEffect} from 'react'
+import React from 'react'
 import {AppBskyActorGetProfile as GetProfile} from '@atproto/api'
 import {StyleProp, StyleSheet, TextStyle} from 'react-native'
 import {TextLinkOnWebOnly} from './Link'
 import {Text} from './text/Text'
 import {LoadingPlaceholder} from './LoadingPlaceholder'
-import {useStores} from 'state/index'
 import {TypographyVariant} from 'lib/ThemeContext'
 import {sanitizeDisplayName} from 'lib/strings/display-names'
 import {sanitizeHandle} from 'lib/strings/handles'
 import {makeProfileLink} from 'lib/routes/links'
+import {useProfileQuery} from '#/state/queries/profile'
 
 export function UserInfoText({
   type = 'md',
@@ -29,35 +29,10 @@ export function UserInfoText({
   attr = attr || 'handle'
   failed = failed || 'user'
 
-  const store = useStores()
-  const [profile, setProfile] = useState<undefined | GetProfile.OutputSchema>(
-    undefined,
-  )
-  const [didFail, setFailed] = useState<boolean>(false)
-
-  useEffect(() => {
-    let aborted = false
-    store.profiles.getProfile(did).then(
-      v => {
-        if (aborted) {
-          return
-        }
-        setProfile(v.data)
-      },
-      _err => {
-        if (aborted) {
-          return
-        }
-        setFailed(true)
-      },
-    )
-    return () => {
-      aborted = true
-    }
-  }, [did, store.profiles])
+  const {data: profile, isError} = useProfileQuery({did})
 
   let inner
-  if (didFail) {
+  if (isError) {
     inner = (
       <Text type={type} style={style} numberOfLines={1}>
         {failed}