Message.jsx 994 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import React from "react";
  2. import styled from "styled-components";
  3. const StyledMessage = styled.div`
  4. font-size: 1.2em;
  5. & .line {
  6. display: flex;
  7. flex-direction: row;
  8. padding: 0rem 0.2rem;
  9. padding: 0.5rem 0;
  10. & p {
  11. margin: 0;
  12. }
  13. }
  14. & .name {
  15. padding-left: 0.5em;
  16. font-size: 1.3em;
  17. ${({ color }) => `color: ${color};`}
  18. text-shadow: 0px 0px 1px var(--color-grey);
  19. }
  20. & .left-block {
  21. padding: 0 1rem;
  22. opacity: 0.05;
  23. }
  24. &:hover {
  25. & .line {
  26. background-color: var(--color-midGrey);
  27. }
  28. & .left-block {
  29. opacity: 0.8;
  30. }
  31. }
  32. `;
  33. const Message = ({
  34. first,
  35. user: { name, color = "#dddddd" },
  36. timestamp,
  37. content,
  38. }) => (
  39. <StyledMessage color={color}>
  40. {first && <div className="name">{name}</div>}
  41. <div className="line">
  42. <div className="left-block">
  43. <span>{timestamp.format("HH:mm")}</span>
  44. </div>
  45. <p>{content}</p>
  46. </div>
  47. </StyledMessage>
  48. );
  49. export default Message;