DropdownLang.jsx 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import React from 'react'
  2. import PropTypes from 'prop-types'
  3. require('./DropdownLang.styl')
  4. const DropdownLang = props => {
  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={props.langList.find(l => l.id === props.idLangActive).icon} />
  17. </button>
  18. <div className='languagedropdown__subdropdown dropdown-menu' aria-labelledby='headerDropdownMenuButton'>
  19. { props.langList.filter(l => l.id !== props.idLangActive).map(l =>
  20. <div className='subdropdown__link dropdown-item' onClick={() => props.onChangeLang(l.id)} key={l.id}>
  21. <img className='subdropdown__flag' src={l.icon} />
  22. { l.label }
  23. </div>
  24. )}
  25. </div>
  26. </div>
  27. </li>
  28. )
  29. }
  30. export default DropdownLang
  31. DropdownLang.propTypes = {
  32. langList: PropTypes.array.isRequired,
  33. idLangActive: PropTypes.string.isRequired,
  34. onChangeLang: PropTypes.func.isRequired
  35. }