diff options
author | Caidan Williams <caidan@internet.dev> | 2025-07-29 17:04:47 -0700 |
---|---|---|
committer | Caidan Williams <caidan@internet.dev> | 2025-07-29 17:37:01 -0700 |
commit | e5457c946a5bf56fafde790ced9014e1cb73cd34 (patch) | |
tree | 8eea38aed6d4bc15f5c860f3b8ce9e0ae37b6dd7 /src/components/FeedInterstitials.tsx | |
parent | d83480cc6456d247f71359b536f362fdf310bf95 (diff) | |
download | voidsky-e5457c946a5bf56fafde790ced9014e1cb73cd34.tar.zst |
feat(ui): improve suggested follow placeholder card
Now matches the same size and shape as the rendered card, which prevents content layout shift.
Diffstat (limited to 'src/components/FeedInterstitials.tsx')
-rw-r--r-- | src/components/FeedInterstitials.tsx | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/src/components/FeedInterstitials.tsx b/src/components/FeedInterstitials.tsx index aab54b7df..e4419838d 100644 --- a/src/components/FeedInterstitials.tsx +++ b/src/components/FeedInterstitials.tsx @@ -25,7 +25,7 @@ import { type ViewStyleProp, web, } from '#/alf' -import {Button} from '#/components/Button' +import {Button, ButtonText} from '#/components/Button' import * as FeedCard from '#/components/FeedCard' import {ArrowRight_Stroke2_Corner0_Rounded as Arrow} from '#/components/icons/Arrow' import {Hashtag_Stroke2_Corner0_Rounded as Hashtag} from '#/components/icons/Hashtag' @@ -64,15 +64,30 @@ function CardOuter({ export function SuggestedFollowPlaceholder() { const t = useTheme() + return ( - <CardOuter style={[a.gap_md, t.atoms.border_contrast_low]}> - <View style={[a.flex_col, a.align_center, a.gap_sm]}> - <ProfileCard.AvatarPlaceholder size={88} /> - <ProfileCard.NamePlaceholder /> - <View style={[a.w_full]}> - <ProfileCard.DescriptionPlaceholder numberOfLines={2} /> + <CardOuter + style={[a.gap_md, t.atoms.border_contrast_low, t.atoms.shadow_sm]}> + <ProfileCard.Outer> + <View + style={[a.flex_col, a.align_center, a.gap_sm, a.pb_sm, a.mb_auto]}> + <ProfileCard.AvatarPlaceholder size={88} /> + <ProfileCard.NamePlaceholder /> + <View style={[a.w_full]}> + <ProfileCard.DescriptionPlaceholder numberOfLines={2} /> + </View> </View> - </View> + + <Button + label="" + size="small" + variant="solid" + color="secondary" + disabled + style={[a.w_full, a.rounded_sm]}> + <ButtonText>Follow</ButtonText> + </Button> + </ProfileCard.Outer> </CardOuter> ) } |