import React from 'react';
import classNames from 'classnames';
import moment from 'moment';
import { Avatar, AvatarSize } from '../Avatar';
import { ContactName } from './ContactName';
import { Message } from './Message';
import { deleteMessagesById } from '../../interactions/conversationInteractions';
import { useSelector } from 'react-redux';
import { ContactPropsMessageDetail } from '../../state/ducks/conversations';
import {
  getMessageDetailsViewProps,
  getMessageIsDeletable,
} from '../../state/selectors/conversations';
const AvatarItem = (props: { contact: ContactPropsMessageDetail }) => {
  const { avatarPath, pubkey, name, profileName } = props.contact;
  const userName = name || profileName || pubkey;
  return ;
};
const DeleteButtonItem = (props: { messageId: string; convoId: string; isDeletable: boolean }) => {
  const { i18n } = window;
  return props.isDeletable ? (
    
      
    
  ) : null;
};
const ContactsItem = (props: { contacts: Array }) => {
  const { contacts } = props;
  if (!contacts || !contacts.length) {
    return null;
  }
  return (
    
      {contacts.map(contact => (
        
      ))}
    
  );
};
const ContactItem = (props: { contact: ContactPropsMessageDetail }) => {
  const { contact } = props;
  const errors = contact.errors || [];
  const statusComponent = !contact.isOutgoingKeyError ? (
    
  ) : null;
  return (
    
      
      
        
          
        
        {errors.map((error, index) => (
          
            {error.message}
          
        ))}
      
 
      {statusComponent}
    
 
  );
};
export const MessageDetail = () => {
  const { i18n } = window;
  const messageDetailProps = useSelector(getMessageDetailsViewProps);
  const isDeletable = useSelector(state =>
    getMessageIsDeletable(state as any, messageDetailProps?.messageId || '')
  );
  if (!messageDetailProps) {
    return null;
  }
  const { errors, receivedAt, sentAt, convoId, direction, messageId } = messageDetailProps;
  return (
    
      
        
          
        
        
          
            {(errors || []).map((error, index) => (
              
                | {i18n('error')} | {' '}
                  {error.message}{' '} | 
            ))}
            
              | {i18n('sent')} | {moment(sentAt).format('LLLL')} ({sentAt}) | 
            {receivedAt ? (
              
                | {i18n('received')} | {moment(receivedAt).format('LLLL')} ({receivedAt}) | 
            ) : null}
            
              | {direction === 'incoming' ? i18n('from') : i18n('to')} | 
          
        
        
        
       
     
  );
};