UserInfo.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import { connect } from "react-redux";
  2. import { backURL } from "../../helpers/index";
  3. import { Page404 } from "../../pages/Page404";
  4. // 61e9c85ec2305e2f502acd77s
  5. const InfoRender = ({ avatar, nick, date }) => {
  6. let dmy = [],
  7. dateReg = new Date(+date);
  8. dmy = [
  9. ("0" + dateReg.getDate()).slice(-2),
  10. ("0" + (dateReg.getMonth() + 1)).slice(-2),
  11. dateReg.getFullYear(),
  12. ];
  13. return (
  14. <>
  15. {date ? (
  16. <div className="text-center">
  17. <h1 className="text-center">Информация о профиле пользователя:</h1>
  18. <div>
  19. <img
  20. style={{ width: "6rem" }}
  21. src={
  22. avatar
  23. ? `${backURL}/${avatar}`
  24. : "https://i.ibb.co/bBxzmTm/default-avatar.jpg"
  25. }
  26. className="card-img-top"
  27. alt="ProfileImage"
  28. />
  29. </div>
  30. <div>Никнейм: {nick}</div>
  31. <div>Дата регистрации: {dmy.join(".")}</div>
  32. </div>
  33. ) : (
  34. <Page404 />
  35. )}
  36. </>
  37. );
  38. };
  39. const UserInfo = ({ id, auth, promise }) => {
  40. return (
  41. <InfoRender
  42. avatar={
  43. id === auth?.payload?.sub?.id
  44. ? promise?.myUser?.payload?.avatar?.url
  45. : promise?.anotherUser?.payload?.avatar?.url
  46. }
  47. nick={
  48. id === auth?.payload?.sub?.id
  49. ? promise?.myUser?.payload?.nick
  50. : promise?.anotherUser?.payload?.nick
  51. ? promise?.anotherUser?.payload?.nick
  52. : promise?.anotherUser?.payload?.login
  53. }
  54. date={
  55. id === auth?.payload?.sub?.id
  56. ? promise?.myUser?.payload?.createdAt
  57. : promise?.anotherUser?.payload?.createdAt
  58. }
  59. />
  60. );
  61. };
  62. export const CUserInfo = connect(
  63. (state) => ({ auth: state.auth, promise: state.promise }),
  64. null
  65. )(UserInfo);