import React from 'react'; import type { SendbirdUserMessage } from '@sendbird/uikit-utils'; import { urlRegexRough } from '@sendbird/uikit-utils'; import Box from '../../components/Box'; import ImageWithPlaceholder from '../../components/ImageWithPlaceholder'; import PressBox from '../../components/PressBox'; import RegexText from '../../components/RegexText'; import Text from '../../components/Text'; import createStyleSheet from '../../styles/createStyleSheet'; import useUIKitTheme from '../../theme/useUIKitTheme'; import MessageContainer from './MessageContainer'; import type { OpenChannelMessageProps } from './index'; type Props = {}; const OpenGraphUserMessage = (props: OpenChannelMessageProps) => { const { colors } = useUIKitTheme(); const { onPress, onLongPress, onPressURL, ...rest } = props; const color = colors.ui.openChannelMessage.default; return ( {({ pressed }) => ( onPressURL?.(match)} onLongPress={onLongPress} color={colors.primary} style={parentProps?.style} supportRTLAlign originalText={match} > {match} ); }, }, ]} > {props.message.message} {Boolean(props.message.updatedAt) && ( {props.strings?.edited ?? ' (edited)'} )} )} {props.message.ogMetaData && ( props.message.ogMetaData?.url && onPressURL?.(props.message.ogMetaData.url)} onLongPress={onLongPress} > {({ pressed }) => props.message.ogMetaData && ( {props.message.ogMetaData.url} {props.message.ogMetaData.title} {Boolean(props.message.ogMetaData.description) && ( {props.message.ogMetaData.description} )} {!!props.message.ogMetaData.defaultImage && ( )} ) } )} ); }; const styles = createStyleSheet({ ogContainer: { maxWidth: 296, }, ogUrl: { marginBottom: 4, }, ogTitle: { marginBottom: 8, }, ogImage: { width: '100%', height: 156, marginTop: 12, }, }); export default OpenGraphUserMessage;