-
-
Date of birth
{i.dateOfBirth ? fmtDate(i.dateOfBirth) : '—'}
-
-
Marital status
{orDash(i.maritalStatus)}
-
Location
{orDash(location)}
-
Education
{orDash(education)}
-
Graduation
{orDash(i.graduationYear)}
-
Other university
{orDash(i.universityOther)}
-
Current salary
{orDash(i.currentSalary)}
-
Expected salary
{orDash(i.expectedSalary)}
+
+
Profile
+
+
+
+
Date of birth
{i.dateOfBirth ? fmtDate(i.dateOfBirth) : '—'}
+
+
Marital status
{orDash(i.maritalStatus)}
+
Location
{orDash(location)}
+
Education
{orDash(education)}
+
Graduation
{orDash(i.graduationYear)}
+
Other university
{orDash(i.universityOther)}
+
Current salary
{orDash(i.currentSalary)}
+
Expected salary
{orDash(i.expectedSalary)}
+
+
{i.hrComments && (
-
+
HR comment
{i.hrComments}
)}
-
- {i.sheet && (
-
- Imported from {i.sheet}
-
- )}
-
-
Matching roles
-
- Matched by position applied for: {orDash(i.position)}
+
+
+
+
Matching roles
+ Matched by position: {orDash(i.position)}
+
- {matchCards.length === 0 && !manualPost ? (
-
- No job post title matches this position. Choose a role manually.
-
+
+ {matchCards.length === 0 && !manualPost ? (
+
+ No job post title matches this position — pick one manually.
+
+ ) : (
+ <>
+ {matchCards.map(({ rank, post }) => (
+
setSelection(String(id))}
+ />
+ ))}
+ {manualPost && (
+ setSelection(String(id))}
+ />
+ )}
+ >
+ )}
+
+ setShowPicker(true)}
+ >
+ Browse roles…
+
+ {/* Assign only renders once there is a selection to act on —
+ a permanently disabled primary button read as broken UI. */}
+ {selection && selection !== i.assignedId && (
setShowPicker(true)}
+ onClick={() => {
+ if (!selection || !canEdit) return
+ assignMutation.mutate({ recordId: i.id, jobPostId: selection })
+ }}
>
- Choose a role
+ Assign{selectedPost?.title ? ` — ${selectedPost.title}` : ''}
-
-
- ) : (
- matchCards.map(({ rank, post }) => (
- setSelection(String(id))}
- />
- ))
- )}
- {manualPost && (
- setSelection(String(id))}
- />
- )}
- setShowPicker(true)}
- >
- Choose a different role…
-
- {
- if (!selection || !canEdit) return
- assignMutation.mutate({ recordId: i.id, jobPostId: selection })
- }}
- >
- Assign
-
+ )}
+
+
-
+ {i.sheet && (
+
+ Imported from {i.sheet}{i.rowNumber != null ? ` · row ${i.rowNumber}` : ''}
+
+ )}
+
+
{i.processing === 'Imported' ? 'Imported' : 'Import Candidate'}
@@ -2081,7 +2070,7 @@ function ApplicationDetail({
-
+
{i.processing === 'Imported' ? 'Imported' : 'Import Candidate'}