DropdownLang.jsx 1.3KB

123456789101112131415161718192021222324252627282930313233343536
  1. import React from 'react'
  2. import PropTypes from 'prop-types'
  3. const DropdownLang = props => {
  4. const activeLang = props.langList.find(l => l.active) || {id: 'fr', name: 'Français', src: '', active: true}
  5. return (
  6. <li className='header__menu__rightside__itemlanguage'>
  7. <div className='header__menu__rightside__itemlanguage__languagedropdown dropdown'>
  8. <button
  9. type='button'
  10. className='languagedropdown__btnlanguage btnnavbar btn btn-outline-primary dropdown-toggle'
  11. id='headerDropdownMenuButton'
  12. data-toggle='dropdown'
  13. aria-haspopup='true'
  14. aria-expanded='false'
  15. >
  16. <img className='languagedropdown__btnlanguage__imgselected' src={activeLang.src} />
  17. </button>
  18. <div className='languagedropdown__subdropdown dropdown-menu' aria-labelledby='headerDropdownMenuButton'>
  19. { props.langList.map((l, i) => l.active === false &&
  20. <div className='subdropdown__link dropdown-item' onClick={() => props.onChangeLang(l.id)} key={i}>
  21. <img className='subdropdown__flag' src={l.src} />
  22. </div>
  23. )}
  24. </div>
  25. </div>
  26. </li>
  27. )
  28. }
  29. export default DropdownLang
  30. DropdownLang.propTypes = {
  31. langList: PropTypes.array.isRequired,
  32. onChangeLang: PropTypes.func.isRequired
  33. }