Header.jsx 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import React from 'react'
  2. import logo from '../../logo.svg';
  3. import { Link } from 'react-router-dom';
  4. import { Searcha } from './Search';
  5. import { connect } from 'react-redux';
  6. import { actionProfilData } from '../../actions';
  7. import { backURL } from '../../helpers';
  8. const UserNav = ({ id, profileData }) => {
  9. profileData(id)
  10. return <div className='UserNav'>
  11. <CUserNavIcon />
  12. </div>
  13. }
  14. const UserNavIcon = ({ userData: { _id, login, avatar } }) => {
  15. return <>
  16. <Link to='/'>Home</Link>
  17. <Link to='/message'>Messsege</Link>
  18. <Link to='/add'>addq</Link>
  19. <Link to='/rar'>Random</Link>
  20. <Link to={`/${_id}`}>
  21. <img src={(avatar && avatar?.url ? backURL + '/' + avatar.url : 'https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/3f81dce0-ac68-4e9f-97e9-fb25a0e03e3e/d1uebpu-a14c9f16-52ed-46e1-b488-05f6f3bf5aa2.png?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1cm46YXBwOjdlMGQxODg5ODIyNjQzNzNhNWYwZDQxNWVhMGQyNmUwIiwiaXNzIjoidXJuOmFwcDo3ZTBkMTg4OTgyMjY0MzczYTVmMGQ0MTVlYTBkMjZlMCIsIm9iaiI6W1t7InBhdGgiOiJcL2ZcLzNmODFkY2UwLWFjNjgtNGU5Zi05N2U5LWZiMjVhMGUwM2UzZVwvZDF1ZWJwdS1hMTRjOWYxNi01MmVkLTQ2ZTEtYjQ4OC0wNWY2ZjNiZjVhYTIucG5nIn1dXSwiYXVkIjpbInVybjpzZXJ2aWNlOmZpbGUuZG93bmxvYWQiXX0.TIPinTcurrjsKdUxqM8NEZsXrIoA2UJW6rxxX3O-DLw')} alt='avatar' width='50px' />
  22. </Link>
  23. </>
  24. }
  25. const CUserNav = connect(state => ({ id: state.auth?.payload.sub.id || {} }), { profileData: actionProfilData })(UserNav)
  26. const CUserNavIcon = connect(state => ({ userData: state.promise?.dataProfileAuth.payload || {} }))(UserNavIcon)
  27. const Logo = () => {
  28. return <Link to='/'>
  29. <img src={logo} alt='logo' width='180vw' />
  30. </Link>
  31. }
  32. const Header = () => {
  33. return (
  34. <div className='Header'>
  35. <Logo />
  36. <Searcha />
  37. <CUserNav />
  38. </div>
  39. )
  40. }
  41. export default Header