diff options
author | Paul Frazee <pfrazee@gmail.com> | 2024-05-06 19:08:33 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-07 03:08:33 +0100 |
commit | 4fad18b2fa3c12ffdf1d49afac5228f7df658bc2 (patch) | |
tree | 8fa8df48dcf544c288bc0618127fcead58014962 /src/view/com/util/post-embeds/index.tsx | |
parent | e264dfbb875118036d5b155f46f2b0b71261e1ff (diff) | |
download | voidsky-4fad18b2fa3c12ffdf1d49afac5228f7df658bc2.tar.zst |
Implement FeedFeedback API (#3498)
* Implement onViewableItemsChanged on List.web.tsx * Introduce onItemSeen to List API * Add FeedFeedback tracker * Add clickthrough interaction tracking * Add engagement interaction tracking * Reduce duplicate sends, introduce a flushAndReset to be triggered on refreshes, and modify the api design a bit * Wire up SDK types and feedContext * Avoid needless function allocations * Fix schema usage * Add show more / show less buttons * Fix minor rendering issue on mobile menu * Wire up sendInteractions() * Fix logic error * Fix: it's item not uri * Update 'seen' to mean 3 seconds on-screen with some significant portion visible * Fix non-reactive debounce * Move methods out * Use a WeakSet for deduping * Reset timeout * 3 -> 2 seconds * Oopsie * Throttle instead * Fix divider * Remove explicit flush calls * Rm unused --------- Co-authored-by: dan <dan.abramov@gmail.com>
Diffstat (limited to 'src/view/com/util/post-embeds/index.tsx')
-rw-r--r-- | src/view/com/util/post-embeds/index.tsx | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/view/com/util/post-embeds/index.tsx b/src/view/com/util/post-embeds/index.tsx index 7ea5b55cf..eb9732ee8 100644 --- a/src/view/com/util/post-embeds/index.tsx +++ b/src/view/com/util/post-embeds/index.tsx @@ -38,10 +38,12 @@ type Embed = export function PostEmbeds({ embed, moderation, + onOpen, style, }: { embed?: Embed moderation?: ModerationDecision + onOpen?: () => void style?: StyleProp<ViewStyle> }) { const pal = usePalette('default') @@ -52,8 +54,12 @@ export function PostEmbeds({ if (AppBskyEmbedRecordWithMedia.isView(embed)) { return ( <View style={style}> - <PostEmbeds embed={embed.media} moderation={moderation} /> - <MaybeQuoteEmbed embed={embed.record} /> + <PostEmbeds + embed={embed.media} + moderation={moderation} + onOpen={onOpen} + /> + <MaybeQuoteEmbed embed={embed.record} onOpen={onOpen} /> </View> ) } @@ -80,7 +86,7 @@ export function PostEmbeds({ // quote post // = - return <MaybeQuoteEmbed embed={embed} style={style} /> + return <MaybeQuoteEmbed embed={embed} style={style} onOpen={onOpen} /> } // image embed @@ -151,7 +157,7 @@ export function PostEmbeds({ const link = embed.external return ( <ContentHider modui={moderation?.ui('contentMedia')}> - <ExternalLinkEmbed link={link} style={style} /> + <ExternalLinkEmbed link={link} onOpen={onOpen} style={style} /> </ContentHider> ) } |