This commit is contained in:
Eric Bailey
2025-03-01 14:38:38 -06:00
parent f82ec3380a
commit 6384cd9f7e
3 changed files with 13 additions and 15 deletions
@@ -13,6 +13,7 @@ import {
AppBskyFeedDefs,
AppBskyFeedPost,
AtUri,
moderatePost,
ModerationDecision,
RichText as RichTextAPI,
} from '@atproto/api'
@@ -22,7 +23,6 @@ import {useQueryClient} from '@tanstack/react-query'
import {HandleRef, measureHandle} from '#/lib/hooks/useHandleRef'
import {usePalette} from '#/lib/hooks/usePalette'
import {InfoCircleIcon} from '#/lib/icons'
import {moderatePost_wrapped as moderatePost} from '#/lib/moderatePost_wrapped'
import {makeProfileLink} from '#/lib/routes/links'
import {useLightboxControls} from '#/state/lightbox'
import {useModerationOpts} from '#/state/preferences/moderation-opts'
@@ -48,8 +48,8 @@ import {PostAlerts} from '#/components/moderation/PostAlerts'
import {RichText} from '#/components/RichText'
import {Embed as StarterPackCard} from '#/components/StarterPack/StarterPackCard'
import {SubtleWebHover} from '#/components/SubtleWebHover'
import * as atp from '#/types/atproto'
import {Embed, EmbedType,parseEmbed} from '#/types/atproto/post'
import * as bsky from '#/types/bsky'
import {Embed as TEmbed, EmbedType, parseEmbed} from '#/types/bsky/post'
export type CommonProps = {
moderation?: ModerationDecision
@@ -63,7 +63,7 @@ export type PostEmbedProps = CommonProps & {
embed?: AppBskyFeedDefs.PostView['embed']
}
export function PostEmbed({embed: rawEmbed, ...rest}: PostEmbedProps) {
export function Embed({embed: rawEmbed, ...rest}: PostEmbedProps) {
const embed = parseEmbed(rawEmbed)
switch (embed.type) {
@@ -100,7 +100,7 @@ function MediaEmbed({
embed,
...rest
}: CommonProps & {
embed: Embed
embed: TEmbed
}) {
switch (embed.type) {
case 'images': {
@@ -138,7 +138,7 @@ function RecordEmbed({
embed,
...rest
}: CommonProps & {
embed: Embed
embed: TEmbed
}) {
switch (embed.type) {
case 'feed': {
@@ -398,7 +398,7 @@ function QuoteEmbed({
const richText = React.useMemo(() => {
if (
!atp.dangerousIsType<AppBskyFeedPost.Record>(
!bsky.dangerousIsType<AppBskyFeedPost.Record>(
quote.record,
AppBskyFeedPost.isRecord,
)
@@ -464,9 +464,7 @@ function QuoteEmbed({
disableLinks
/>
) : null}
{quote.embed && (
<PostEmbed embed={quote.embed} moderation={moderation} />
)}
{quote.embed && <Embed embed={quote.embed} moderation={moderation} />}
</Link>
</ContentHider>
</View>
+3 -3
View File
@@ -1,10 +1,10 @@
import React from 'react'
import {View} from 'react-native'
import {$Typed,AppBskyEmbedRecord} from '@atproto/api'
import {$Typed, AppBskyEmbedRecord} from '@atproto/api'
import {PostEmbedViewContext} from '#/view/com/util/post-embeds'
import {atoms as a, native, useTheme} from '#/alf'
import {PostEmbed} from '#/components/embeds/PostEmbed'
import {Embed} from '#/components/Post/Embed'
import {MessageContextProvider} from './MessageContext'
let MessageItemEmbed = ({
@@ -17,7 +17,7 @@ let MessageItemEmbed = ({
return (
<MessageContextProvider>
<View style={[a.my_xs, t.atoms.bg, native({flexBasis: 0})]}>
<PostEmbed
<Embed
embed={embed}
allowNestedQuotes
viewContext={PostEmbedViewContext.Feed}
+2 -2
View File
@@ -38,13 +38,13 @@ import {PostMeta} from '#/view/com/util/PostMeta'
import {Text} from '#/view/com/util/text/Text'
import {PreviewableUserAvatar} from '#/view/com/util/UserAvatar'
import {atoms as a} from '#/alf'
import {PostEmbed} from '#/components/embeds/PostEmbed'
import {Pin_Stroke2_Corner0_Rounded as PinIcon} from '#/components/icons/Pin'
import {Repost_Stroke2_Corner2_Rounded as RepostIcon} from '#/components/icons/Repost'
import {ContentHider} from '#/components/moderation/ContentHider'
import {LabelsOnMyPost} from '#/components/moderation/LabelsOnMe'
import {PostAlerts} from '#/components/moderation/PostAlerts'
import {AppModerationCause} from '#/components/Pills'
import {Embed} from '#/components/Post/Embed'
import {ProfileHoverCard} from '#/components/ProfileHoverCard'
import {RichText} from '#/components/RichText'
import {SubtleWebHover} from '#/components/SubtleWebHover'
@@ -521,7 +521,7 @@ let PostContent = ({
) : undefined}
{postEmbed ? (
<View style={[a.pb_xs]}>
<PostEmbed
<Embed
embed={postEmbed}
moderation={moderation}
onOpen={onOpenEmbed}