PlayerInfo.jsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. // components
  2. import LazyImage from '@components/LazyImage';
  3. // utils
  4. import PropTypes from 'prop-types';
  5. import classNames from 'classnames';
  6. const PlayerInfo = ({avatar, number, title, subtitle, wrapperClass, style = {}}) => {
  7. return (
  8. <div className={classNames(wrapperClass, {'d-flex justify-content-between align-items-center': avatar})}
  9. style={{...style}}>
  10. <div className="d-flex align-items-center g-12">
  11. {
  12. avatar ?
  13. <LazyImage className="square-avatar" src={avatar} alt={title}/>
  14. :
  15. <span className="player-number">{number}</span>
  16. }
  17. <div className="d-flex flex-column">
  18. <h3>{title}</h3>
  19. <span className="text-12">{subtitle}</span>
  20. </div>
  21. </div>
  22. {
  23. avatar && <span className="player-number">{number}</span>
  24. }
  25. </div>
  26. )
  27. }
  28. PlayerInfo.propTypes = {
  29. avatar: PropTypes.string,
  30. number: PropTypes.number.isRequired,
  31. title: PropTypes.string.isRequired,
  32. subtitle: PropTypes.string.isRequired,
  33. wrapperClass: PropTypes.string
  34. }
  35. export default PlayerInfo