File size: 1,587 Bytes
ce64f95
 
 
 
 
a0372d5
 
ce64f95
 
 
 
 
 
 
 
 
a0372d5
ce64f95
 
a0372d5
 
 
 
 
 
 
 
 
 
 
 
 
 
ce64f95
a0372d5
ce64f95
 
a0372d5
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import { getAvatarVariant, getCandidateInitials } from '../utils/avatar'

function CandidateCard({ candidate, onClick, onDragStart, onDragEnd }) {
  const avatarVariant = getAvatarVariant(candidate.id)
  const initials = getCandidateInitials(candidate.name)

  return (
    <button
      type="button"
      className="candidate-card"
      onClick={onClick}
      draggable
      onDragStart={(event) => onDragStart(event, candidate.id)}
      onDragEnd={onDragEnd}
      title="Drag to move between stages"
    >
      <div className="candidate-card__top">
        <div className={`avatar ${avatarVariant}`} aria-hidden="true">
          {initials}
        </div>
        <div className="candidate-card__heading">
          <strong>{candidate.name}</strong>
          <span>{candidate.applicationDate}</span>
        </div>
      </div>

      <div className="candidate-card__body">
        {candidate.referred ? <span className="pill pill--muted">Referred</span> : null}
      </div>

      <div className="candidate-card__footer">
        {candidate.assessmentAdded ? (
          <span className="candidate-card__action">Assessment added</span>
        ) : candidate.stage === 'Interview' ? (
          <span className="candidate-card__action candidate-card__action--accent">Add assessment</span>
        ) : (
          <span className="candidate-card__action">Assessment available in Interview stage</span>
        )}
        <span className="candidate-card__chevron" aria-hidden="true">

        </span>
      </div>
    </button>
  )
}

export default CandidateCard