MenuProfil.jsx 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import React from 'react'
  2. import { Link } from 'react-router-dom'
  3. import PropTypes from 'prop-types'
  4. import { PAGE, PROFILE } from '../../../helper.js'
  5. import { translate } from 'react-i18next'
  6. const MenuProfil = props => {
  7. return props.user.logged
  8. ? (
  9. <li className='header__menu__rightside__itemprofil'>
  10. <div className='profilgroup dropdown'>
  11. <button className='profilgroup__name btn btn-outline-primary dropdown-toggle' type='button' id='dropdownMenuButton' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>
  12. <img className='profilgroup__name__imgprofil' src={props.user.avatar_url} />
  13. <div className='profilgroup__name__text'>
  14. {props.user.public_name}
  15. </div>
  16. </button>
  17. <div className='profilgroup__setting dropdown-menu' aria-labelledby='dropdownMenuButton'>
  18. {props.user.profile === PROFILE.ADMINISTRATOR &&
  19. <Link className='setting__link dropdown-item' to={PAGE.ADMIN.WORKSPACE}>
  20. <i className='fa fa-fw fa-space-shuttle mr-2' />
  21. {props.t('Admin workspace')}
  22. </Link>
  23. }
  24. {props.user.profile === PROFILE.ADMINISTRATOR &&
  25. <Link className='setting__link dropdown-item' to={PAGE.ADMIN.USER}>
  26. <i className='fa fa-fw fa-users mr-2' />
  27. {props.t('Admin user')}
  28. </Link>
  29. }
  30. <Link className='setting__link dropdown-item' to={PAGE.ACCOUNT}>
  31. <i className='fa fa-fw fa-user-o mr-2' />
  32. {props.t('My Account')}
  33. </Link>
  34. {/* <div className='setting__link dropdown-item'>Mot de passe</div> */}
  35. <div className='setting__link dropdown-item' onClick={props.onClickLogout}>
  36. <i className='fa fa-fw fa-sign-out mr-2' />
  37. {props.t('Logout')}
  38. </div>
  39. </div>
  40. </div>
  41. </li>
  42. )
  43. : ''
  44. }
  45. export default translate()(MenuProfil)
  46. MenuProfil.propTypes = {
  47. user: PropTypes.object.isRequired,
  48. onClickLogout: PropTypes.func.isRequired
  49. }