diff options
Diffstat (limited to 'src/components/Post/Embed/FeedEmbed.tsx')
-rw-r--r-- | src/components/Post/Embed/FeedEmbed.tsx | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/src/components/Post/Embed/FeedEmbed.tsx b/src/components/Post/Embed/FeedEmbed.tsx index fad4cd4d8..47d59e346 100644 --- a/src/components/Post/Embed/FeedEmbed.tsx +++ b/src/components/Post/Embed/FeedEmbed.tsx @@ -1,10 +1,9 @@ -import React from 'react' -import {StyleSheet} from 'react-native' +import {useMemo} from 'react' import {moderateFeedGenerator} from '@atproto/api' -import {usePalette} from '#/lib/hooks/usePalette' import {useModerationOpts} from '#/state/preferences/moderation-opts' -import {FeedSourceCard} from '#/view/com/feeds/FeedSourceCard' +import {atoms as a, useTheme} from '#/alf' +import * as FeedCard from '#/components/FeedCard' import {ContentHider} from '#/components/moderation/ContentHider' import {type EmbedType} from '#/types/bsky/post' import {type CommonProps} from './types' @@ -14,13 +13,22 @@ export function FeedEmbed({ }: CommonProps & { embed: EmbedType<'feed'> }) { - const pal = usePalette('default') + const t = useTheme() return ( - <FeedSourceCard - feedUri={embed.view.uri} - style={[pal.view, pal.border, styles.customFeedOuter]} - showLikes - /> + <FeedCard.Link + view={embed.view} + style={[a.border, t.atoms.border_contrast_medium, a.p_md, a.rounded_sm]}> + <FeedCard.Outer> + <FeedCard.Header> + <FeedCard.Avatar src={embed.view.avatar} /> + <FeedCard.TitleAndByline + title={embed.view.displayName} + creator={embed.view.creator} + /> + </FeedCard.Header> + <FeedCard.Likes count={embed.view.likeCount || 0} /> + </FeedCard.Outer> + </FeedCard.Link> ) } @@ -30,23 +38,16 @@ export function ModeratedFeedEmbed({ embed: EmbedType<'feed'> }) { const moderationOpts = useModerationOpts() - const moderation = React.useMemo(() => { + const moderation = useMemo(() => { return moderationOpts ? moderateFeedGenerator(embed.view, moderationOpts) : undefined }, [embed.view, moderationOpts]) return ( - <ContentHider modui={moderation?.ui('contentList')}> + <ContentHider + modui={moderation?.ui('contentList')} + childContainerStyle={[a.pt_xs]}> <FeedEmbed embed={embed} /> </ContentHider> ) } - -const styles = StyleSheet.create({ - customFeedOuter: { - borderWidth: StyleSheet.hairlineWidth, - borderRadius: 8, - paddingHorizontal: 12, - paddingVertical: 12, - }, -}) |