@if (loadingInterviews()) {

Loading candidate data...

} @else { @if (user()) {
{{ user().name?.charAt(0) }}

{{ user().name }}

mail {{ user().email }} @if (user().phoneNumber) { call {{ user().phoneNumber }} }
@if (user().resume) { }
Candidate Level
@for (lvl of levels; track lvl.value) { }
} @if (!selectedInterview()) {

work_history Interview History

{{ interviews().length }} Interview{{ interviews().length !== 1 ? 's' : '' }}
@if (interviews().length === 0) {
event_busy

No interviews found

This candidate hasn't been assigned any interviews yet.

} @else {
@for (interview of interviews(); track interview._id; let i = $index) { }
Interview ID Position Interviewer Quizzes Status Date Action
INT-{{ String(i + 1).padStart(3, '0') }} {{ interview.position || '—' }}
{{ interview.interviewerId?.name?.charAt(0) || '?' }}
{{ interview.interviewerId?.name || 'Unassigned' }}
{{ (interview.quizzes || []).length }} Quiz{{ (interview.quizzes || []).length !== 1 ? 'zes' : '' }} {{ getStatusLabel(interview.status) }} {{ interview.dateOfInterview | date:'dd MMM yyyy' }}
} } @else {

{{ selectedInterview().position }}

person {{ selectedInterview().interviewerId?.name || 'Unassigned' }} calendar_today {{ selectedInterview().dateOfInterview | date:'dd MMM yyyy' }} source {{ selectedInterview().source || 'N/A' }}
{{ getStatusLabel(selectedInterview().status) }}

quiz Assessment Rounds

@if (loadingSubmissions()) {

Loading quiz results...

} @else if ((selectedInterview().quizzes || []).length === 0) {
assignment

No quizzes assigned

No assessment rounds were linked to this interview.

} @else {
@for (iq of selectedInterview().quizzes; track iq._id; let i = $index) { }
Quiz ID Quiz Name Topic Level Comfort Level Score Percentage Time Taken Date Action
{{ getQuizId(iq, i) }} {{ iq.quizId?.title || iq.title || 'Quiz' }} {{ iq.quizId?.category || 'N/A' }} {{ iq.quizId?.difficulty | uppercase }} {{ getComfortLevel(iq.quizId?.category) }} @if (getSubmissionForQuiz(iq.quizId?._id || iq.quizId); as sub) { {{ sub.score }}/{{ sub.totalMarks }} } @else if (iq.score !== null && iq.score !== undefined) { {{ iq.score }}/{{ iq.totalMarks }} } @else { Not Taken } @if (getSubmissionForQuiz(iq.quizId?._id || iq.quizId); as sub) {
{{ sub.percentage }}% } @else if (iq.percentage !== null && iq.percentage !== undefined) {
{{ iq.percentage }}% } @else { }
@if (getSubmissionForQuiz(iq.quizId?._id || iq.quizId); as sub) { {{ formatTime(sub.timeTaken) }} } @else { — } @if (getSubmissionForQuiz(iq.quizId?._id || iq.quizId); as sub) { {{ sub.submittedAt | date:'dd MMM yyyy' }} } @else { — } @if (getSubmissionForQuiz(iq.quizId?._id || iq.quizId); as sub) { Review open_in_new } @else { Pending }
} } }
@if (toast()) {
{{ toast()?.type === 'success' ? 'check_circle' : 'error' }} {{ toast()?.message }}
}