chatsList.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import { Link } from "react-router-dom"
  2. import ReactTimeAgo from 'react-time-ago'
  3. import TimeAgo from 'javascript-time-ago'
  4. import ru from 'javascript-time-ago/locale/ru.json'
  5. import React from 'react';
  6. TimeAgo.addLocale(ru)
  7. const ChatItem = ({ id, chat }) => {
  8. return (
  9. <li className="aside-chat" >
  10. <Link to={`/chat_id.${id}`}>
  11. {chat.avatar && <img src={chat.avatar.url} alt="chat-avatar" />}
  12. <div className="aside-chat-info">
  13. <h5>{chat.title}</h5>
  14. {/* {chat.messages && chat.messages.length ? <span>{chat.messages[chat.messages.length - 1].owner.login + ": " + chat.messages[chat.messages.length - 1].text}</span> : <span>Пусто</span>} */}
  15. <span>Последнее обновление: </span>
  16. {chat.lastModified && <ReactTimeAgo date={+(chat.lastModified)} locale="ru" timeStyle="round" />}
  17. </div>
  18. </Link>
  19. </li>
  20. )
  21. }
  22. const ChatsList = ({ chats, onChat }) => {
  23. return (
  24. <>
  25. <ul className="chat-list">
  26. <li className="aside-chat-btn">
  27. <Link to="/chat">Новый чат</Link>
  28. </li>
  29. {Object.entries(chats).map(([id, chat]) => <ChatItem key={id} id={id} chat={chat} />)}
  30. </ul>
  31. </>
  32. )
  33. }
  34. export default ChatsList