Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

CandidateCard.js 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import React from "react";
  2. import PropTypes from "prop-types";
  3. import { formatDate } from "../../util/helpers/dateHelpers";
  4. import { CANDIDATES_PAGE } from "../../constants/pages";
  5. const CandidateCard = ({ candidate, className, history }) => {
  6. const navigateToDetailsPage = () => {
  7. history.push({
  8. pathname: CANDIDATES_PAGE + "/" + candidate.applicantId,
  9. });
  10. };
  11. return candidate == null ? (
  12. <p></p>
  13. ) : (
  14. <div
  15. onClick={navigateToDetailsPage}
  16. className={`candidate-card-container ${
  17. className !== undefined ? className : ""
  18. }`}
  19. >
  20. <p className="candidate-card-date">
  21. {formatDate(candidate.dateOfApplication)}
  22. </p>
  23. <p className="candidate-card-applicant-name">
  24. {candidate.firstName} {candidate.lastName}
  25. </p>
  26. <p className="candidate-card-years">
  27. {candidate.experience === 0
  28. ? "No experience"
  29. : candidate.experience + "+ years of experience"}
  30. </p>
  31. <div className="candidate-card-tecnologies-container">
  32. {candidate.technologyApplicants.map((technology, index) => (
  33. <p key={index}>{technology.name}</p>
  34. ))}
  35. </div>
  36. <div className="candidate-card-techologies">
  37. {candidate.technologyApplicants.map((technology, index) => (
  38. <div key={index} className="applicant-add-site">
  39. {technology.technology.name}
  40. </div>
  41. ))}
  42. </div>
  43. <a className="cvLink">
  44. CV {candidate.firstName} {candidate.lastName}.pdf
  45. </a>
  46. </div>
  47. );
  48. };
  49. CandidateCard.propTypes = {
  50. candidate: PropTypes.object,
  51. className: PropTypes.any,
  52. history: PropTypes.shape({
  53. replace: PropTypes.func,
  54. push: PropTypes.func,
  55. location: PropTypes.shape({
  56. pathname: PropTypes.string,
  57. }),
  58. }),
  59. };
  60. export default CandidateCard;