diff options
Diffstat (limited to 'src/view/com/util/post-embeds/QuoteEmbed.tsx')
-rw-r--r-- | src/view/com/util/post-embeds/QuoteEmbed.tsx | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/view/com/util/post-embeds/QuoteEmbed.tsx b/src/view/com/util/post-embeds/QuoteEmbed.tsx index 3b8152c8b..c44ec3b84 100644 --- a/src/view/com/util/post-embeds/QuoteEmbed.tsx +++ b/src/view/com/util/post-embeds/QuoteEmbed.tsx @@ -31,6 +31,7 @@ import {makeProfileLink} from '#/lib/routes/links' import {s} from '#/lib/styles' import {useModerationOpts} from '#/state/preferences/moderation-opts' import {precacheProfile} from '#/state/queries/profile' +import {useResolveLinkQuery} from '#/state/queries/resolve-link' import {useSession} from '#/state/session' import {ComposerOptsQuote} from '#/state/shell/composer' import {atoms as a, useTheme} from '#/alf' @@ -286,6 +287,24 @@ export function QuoteX({onRemove}: {onRemove: () => void}) { ) } +export function LazyQuoteEmbed({uri}: {uri: string}) { + const {data} = useResolveLinkQuery(uri) + if (!data || data.type !== 'record' || data.kind !== 'post') { + return null + } + return ( + <QuoteEmbed + quote={{ + cid: data.record.cid, + uri: data.record.uri, + author: data.meta.author, + indexedAt: data.meta.indexedAt, + text: data.meta.text, + }} + /> + ) +} + function viewRecordToPostView( viewRecord: AppBskyEmbedRecord.ViewRecord, ): AppBskyFeedDefs.PostView { |