message.js 1.0 KB

123456789101112131415161718192021222324252627
  1. import ReactTimeAgo from 'react-time-ago'
  2. import TimeAgo from 'javascript-time-ago'
  3. import ru from 'javascript-time-ago/locale/ru.json'
  4. TimeAgo.addLocale(ru)
  5. let handler = (e) => {
  6. console.log(e)
  7. e.preventDefault()
  8. }
  9. export const Message = ({ nick, msg, date, media, modified, own = false, replies }) => {
  10. return (
  11. <li className={own ? "msg-user" : "msg-someone"} onContextMenu={(e) => handler(e)}>
  12. {media && media.length && <div>
  13. <span>Прикрепленные файлы</span>
  14. {media.map(file => <a href={"/" + file.url}>{file}</a>)}
  15. </div>}
  16. <span className="msg-nick">{nick}</span>
  17. <span className="msg-text">{msg}</span>
  18. <ReactTimeAgo className="msg-date" date={+date} locale="ru" timeStyle="round" />
  19. {modified && <span className="mutated-msg">Сообщение изменено</span>}
  20. {replies && replies.map(repMSG => <Message nick={repMSG.login} msg={repMSG.text} date={repMSG.createdAt} />)}
  21. </li>
  22. )
  23. }