feat(ui): remove like count from trending videos (#8689)

* feat(ui): add showLikeCount flag to CompactVideoPostCard

Introduced a showLikeCount flag to control the display of like count in
the CompactVideoPostCard component. The like count is now only shown if
both likeCount > 0 and showLikeCount are true. This allows for more
flexible UI configurations and easier toggling of like count visibility.

* fix(ui): hide gradient shadow when hiding like count

* fix(ui): increase trending video profile pic size from 20 -> 24

* fix(ui): add small drop shadow to trending video profile pic

* fix(ui): a.shadow_sm -> t.atoms.shadow_sm based on PR feedback
This commit is contained in:
Caidan
2025-07-22 17:16:07 -07:00
committed by GitHub
parent 9e2b99e860
commit bbc39806fe
+34 -29
View File
@@ -390,6 +390,7 @@ export function CompactVideoPostCard({
if (!AppBskyEmbedVideo.isView(embed)) return null if (!AppBskyEmbedVideo.isView(embed)) return null
const likeCount = post?.likeCount ?? 0 const likeCount = post?.likeCount ?? 0
const showLikeCount = false
const {thumbnail} = embed const {thumbnail} = embed
const black = getBlackColor(t) const black = getBlackColor(t)
@@ -475,47 +476,51 @@ export function CompactVideoPostCard({
/> />
<MediaInsetBorder /> <MediaInsetBorder />
<View style={[a.absolute, a.inset_0]}> <View style={[a.absolute, a.inset_0, t.atoms.shadow_sm]}>
<View style={[a.absolute, a.inset_0, a.p_sm, {bottom: 'auto'}]}> <View style={[a.absolute, a.inset_0, a.p_sm, {bottom: 'auto'}]}>
<View <View
style={[a.relative, a.rounded_full, {width: 20, height: 20}]}> style={[a.relative, a.rounded_full, {width: 24, height: 24}]}>
<UserAvatar <UserAvatar
type="user" type="user"
size={20} size={24}
avatar={post.author.avatar} avatar={post.author.avatar}
/> />
<MediaInsetBorder /> <MediaInsetBorder />
</View> </View>
</View> </View>
<View
style={[
a.absolute,
a.inset_0,
a.pt_2xl,
{
top: 'auto',
},
]}>
<LinearGradient
colors={[black, 'rgba(0, 0, 0, 0)']}
locations={[0.02, 1]}
start={{x: 0, y: 1}}
end={{x: 0, y: 0}}
style={[a.absolute, a.inset_0, {opacity: 0.9}]}
/>
{showLikeCount && (
<View <View
style={[a.relative, a.z_10, a.p_sm, a.flex_row, a.gap_md]}> style={[
{likeCount > 0 && ( a.absolute,
<View style={[a.flex_row, a.align_center, a.gap_xs]}> a.inset_0,
<Heart size="sm" fill="white" /> a.pt_2xl,
<Text style={[a.text_sm, a.font_bold, {color: 'white'}]}> {
{formatCount(i18n, likeCount)} top: 'auto',
</Text> },
</View> ]}>
)} <LinearGradient
colors={[black, 'rgba(0, 0, 0, 0)']}
locations={[0.02, 1]}
start={{x: 0, y: 1}}
end={{x: 0, y: 0}}
style={[a.absolute, a.inset_0, {opacity: 0.9}]}
/>
<View
style={[a.relative, a.z_10, a.p_sm, a.flex_row, a.gap_md]}>
{likeCount > 0 && (
<View style={[a.flex_row, a.align_center, a.gap_xs]}>
<Heart size="sm" fill="white" />
<Text
style={[a.text_sm, a.font_bold, {color: 'white'}]}>
{formatCount(i18n, likeCount)}
</Text>
</View>
)}
</View>
</View> </View>
</View> )}
</View> </View>
</View> </View>
</Hider.Content> </Hider.Content>