forked from
jollywhoppers.com/witchsky.app
Bluesky app fork with some witchin' additions 馃挮
1import React from 'react'
2import {useWindowDimensions, View} from 'react-native'
3import {type $Typed, type AppBskyEmbedRecord} from '@atproto/api'
4
5import {atoms as a, native, tokens, useTheme, web} from '#/alf'
6import {PostEmbedViewContext} from '#/components/Post/Embed'
7import {Embed} from '#/components/Post/Embed'
8import {MessageContextProvider} from './MessageContext'
9
10let MessageItemEmbed = ({
11 embed,
12}: {
13 embed: $Typed<AppBskyEmbedRecord.View>
14}): React.ReactNode => {
15 const t = useTheme()
16 const screen = useWindowDimensions()
17
18 return (
19 <MessageContextProvider>
20 <View
21 style={[
22 a.my_xs,
23 t.atoms.bg,
24 a.rounded_md,
25 native({
26 flexBasis: 0,
27 width: Math.min(screen.width, 600) / 1.4,
28 }),
29 web({
30 width: '100%',
31 minWidth: 280,
32 maxWidth: 360,
33 }),
34 ]}>
35 <View style={{marginTop: tokens.space.sm * -1}}>
36 <Embed
37 embed={embed}
38 allowNestedQuotes
39 viewContext={PostEmbedViewContext.Feed}
40 />
41 </View>
42 </View>
43 </MessageContextProvider>
44 )
45}
46MessageItemEmbed = React.memo(MessageItemEmbed)
47export {MessageItemEmbed}