Bluesky app fork with some witchin' additions 馃挮
at main 47 lines 1.3 kB view raw
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}