import React from 'react'; import { StyleSheet, View } from 'react-native'; import { Avatar } from '../../Avatar/Avatar'; import { useTheme } from '../../../contexts/themeContext/ThemeContext'; import type { MessageContextValue } from '../../../contexts/messageContext/MessageContext'; import type { DefaultAttachmentType, DefaultChannelType, DefaultCommandType, DefaultEventType, DefaultMessageType, DefaultReactionType, DefaultUserType, UnknownType, } from '../../../types/types'; const styles = StyleSheet.create({ avatarContainer: { alignItems: 'center', flexDirection: 'row', paddingTop: 2, }, topAvatar: { paddingTop: 2, position: 'absolute', }, }); export type MessageRepliesAvatarsProps< At extends UnknownType = DefaultAttachmentType, Ch extends UnknownType = DefaultChannelType, Co extends string = DefaultCommandType, Ev extends UnknownType = DefaultEventType, Me extends UnknownType = DefaultMessageType, Re extends UnknownType = DefaultReactionType, Us extends UnknownType = DefaultUserType, > = Pick, 'alignment' | 'message'>; export const MessageRepliesAvatars = < At extends UnknownType = DefaultAttachmentType, Ch extends UnknownType = DefaultChannelType, Co extends string = DefaultCommandType, Ev extends UnknownType = DefaultEventType, Me extends UnknownType = DefaultMessageType, Re extends UnknownType = DefaultReactionType, Us extends DefaultUserType = DefaultUserType, >( props: MessageRepliesAvatarsProps, ) => { const { alignment, message } = props; const { theme: { colors: { white_snow }, messageSimple: { replies: { avatar, avatarContainerMultiple, avatarContainerSingle, avatarSize, leftAvatarsContainer, rightAvatarsContainer, }, }, }, } = useTheme(); const avatars = message.thread_participants?.slice(-2) || []; const hasMoreThanOneReply = avatars.length > 1; return ( {avatars.map((user, i) => ( ))} ); };