DropdownLang.jsx 1.3KB

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