import React from 'react'; import type { SendbirdUserMessage } from '@sendbird/uikit-utils'; import Box from '../../components/Box'; import ImageWithPlaceholder from '../../components/ImageWithPlaceholder'; import PressBox from '../../components/PressBox'; import Text from '../../components/Text'; import createStyleSheet from '../../styles/createStyleSheet'; import useUIKitTheme from '../../theme/useUIKitTheme'; const MessageOpenGraph = ({ onPressURL, onLongPress, ogMetaData, variant, }: { ogMetaData: NonNullable; variant: 'outgoing' | 'incoming'; onPressURL?: (url: string) => void; onLongPress?: () => void; }) => { const { palette, select, colors } = useUIKitTheme(); const color = colors.ui.groupChannelMessage[variant]; return ( typeof ogMetaData?.url === 'string' && onPressURL?.(ogMetaData.url)} onLongPress={onLongPress} > {({ pressed }) => ( {!!ogMetaData.defaultImage && ( )} {ogMetaData.title} {!!ogMetaData.description && ( {ogMetaData.description} )} {ogMetaData.url} )} ); }; const styles = createStyleSheet({ ogContainer: { overflow: 'hidden', paddingHorizontal: 12, paddingTop: 8, paddingBottom: 12, }, ogImage: { maxWidth: 240, width: 240, height: 136, }, ogUrl: { marginBottom: 4, }, ogTitle: { marginBottom: 4, }, ogDesc: { lineHeight: 14, marginBottom: 8, }, }); export default MessageOpenGraph;