this repo has no description
1import {memo} 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 {Embed, PostEmbedViewContext} from '#/components/Post/Embed'
7import {MessageContextProvider} from './MessageContext'
8
9let MessageItemEmbed = ({
10 embed,
11}: {
12 embed: $Typed<AppBskyEmbedRecord.View>
13}): React.ReactNode => {
14 const t = useTheme()
15 const screen = useWindowDimensions()
16
17 return (
18 <MessageContextProvider>
19 <View
20 style={[
21 a.my_xs,
22 t.atoms.bg,
23 a.rounded_md,
24 native({
25 flexBasis: 0,
26 width: Math.min(screen.width, 600) / 1.4,
27 }),
28 web({
29 width: '100%',
30 minWidth: 280,
31 maxWidth: 360,
32 }),
33 ]}>
34 <View style={{marginTop: tokens.space.sm * -1}}>
35 <Embed
36 embed={embed}
37 allowNestedQuotes
38 viewContext={PostEmbedViewContext.Feed}
39 />
40 </View>
41 </View>
42 </MessageContextProvider>
43 )
44}
45MessageItemEmbed = memo(MessageItemEmbed)
46export {MessageItemEmbed}