diff options
author | Paul Frazee <pfrazee@gmail.com> | 2022-11-15 12:07:41 -0600 |
---|---|---|
committer | Paul Frazee <pfrazee@gmail.com> | 2022-11-15 12:07:41 -0600 |
commit | 4ae6fbd3c8e8be9d47d0bd959aeac380f7bf67ce (patch) | |
tree | 89648c8a9a91ef0f67e49dfa4c5e0a449c7461f4 /src/view/com/util/UserInfoText.tsx | |
parent | e470e3933b923abfeed4eb8c3bd0cf0b32b0232d (diff) | |
download | voidsky-4ae6fbd3c8e8be9d47d0bd959aeac380f7bf67ce.tar.zst |
Better loading screens
Diffstat (limited to 'src/view/com/util/UserInfoText.tsx')
-rw-r--r-- | src/view/com/util/UserInfoText.tsx | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/src/view/com/util/UserInfoText.tsx b/src/view/com/util/UserInfoText.tsx index f4dbd1fa4..d1292cc70 100644 --- a/src/view/com/util/UserInfoText.tsx +++ b/src/view/com/util/UserInfoText.tsx @@ -2,6 +2,7 @@ import React, {useState, useEffect} from 'react' import * as GetProfile from '../../../third-party/api/src/client/types/app/bsky/actor/getProfile' import {StyleProp, Text, TextStyle} from 'react-native' import {Link} from './Link' +import {LoadingPlaceholder} from './LoadingPlaceholder' import {useStores} from '../../../state' export function UserInfoText({ @@ -48,26 +49,31 @@ export function UserInfoText({ } }, [did, store.api.app.bsky]) + let inner + if (didFail) { + inner = <Text style={style}>{failed}</Text> + } else if (profile) { + inner = <Text style={style}>{`${prefix || ''}${profile[attr]}`}</Text> + } else { + inner = ( + <LoadingPlaceholder + width={80} + height={8} + style={{position: 'relative', top: 1, left: 2}} + /> + ) + } + if (asLink) { const title = profile?.displayName || profile?.handle || 'User' return ( <Link href={`/profile/${profile?.handle ? profile.handle : did}`} title={title}> - <Text style={style}> - {didFail - ? failed - : profile - ? `${prefix || ''}${profile[attr]}` - : loading} - </Text> + {inner} </Link> ) } - return ( - <Text style={style}> - {didFail ? failed : profile ? `${prefix || ''}${profile[attr]}` : loading} - </Text> - ) + return inner } |