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:
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user