UserDetails.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import React from "react";
  2. const PropTypes = React.PropTypes;
  3. const UserDetails = (user) => {
  4. console.log("Details", user);
  5. return (
  6. <div>
  7. {!user.score && <li className="list-group-item"><h3>Score: {user.score}</h3></li>}
  8. <li className="list-group-item"><img src={user.info.avatar_url} className="img-rounded img-responsive" /></li>
  9. {user.info.name && <li className="list-group-item">Name: {user.info.name}</li>}
  10. <li className="list-group-item">Username: {user.info.login}</li>
  11. {user.info.location && <li className="list-group-item">Location: {user.info.location}</li>}
  12. {user.info.company && <li className="list-group-item">Company: {user.info.company}</li>}
  13. <li className="list-group-item">Followers: {user.info.followers}</li>
  14. <li className="list-group-item">Following: {user.info.following}</li>
  15. <li className="list-group-item">Public Repos: {user.info.public_repos}</li>
  16. {user.info.blog && <li className="list-group-item">Blog: <a href={user.info.blog}> {user.info.blog}</a></li>}
  17. </div>
  18. );
  19. };
  20. UserDetails.propTypes = {
  21. score: PropTypes.number,
  22. info: PropTypes.shape({
  23. avatar_url: PropTypes.string.isRequired,
  24. blog: PropTypes.string.isRequired,
  25. company: PropTypes.string,
  26. followers: PropTypes.number.isRequired,
  27. following: PropTypes.number.isRequired,
  28. location: PropTypes.string,
  29. login: PropTypes.string.isRequired,
  30. name: PropTypes.string,
  31. public_repos: PropTypes.number.isRequired
  32. })
  33. };
  34. export default UserDetails;