@vite(['resources/css/app.css', 'resources/js/app.js'])

Candidate Assessment Review

Live proctored session & review room

Back to assessments @if(Auth::user()->isAdmin()) Control panel @endif
@csrf Logout
@if(session('success'))
{{ session('success') }}
@endif
@php $parts = preg_split('/\s+/', trim($interview->candidate_name)); $candInitials = count($parts) >= 2 ? strtoupper(substr($parts[0],0,1).substr(end($parts),0,1)) : strtoupper(substr($interview->candidate_name,0,2)); @endphp
{{ $candInitials }}
Not Joined
{{ $interview->candidate_email }} · {{ $interview->candidate_phone }}
@if($interview->isExpired()) Expired @elseif($interview->status === 'completed') Completed @elseif($interview->call_status === 'active') Call in progress @elseif($interview->isActiveTimeline()) Timeline live @else Scheduled @endif
SOS auto-trigger
Password PDF report Block
Show submission details
Submission ID
Temp Pass
{{ $interview->temp_password }}
Language
{{ $interview->language }}
Timeline
{{ ($interview->scheduled_at ?? $interview->created_at)->format('M d, H:i') }} – {{ $interview->expires_at->format('H:i') }}
Start / Join Call Record Call (Silent)
Waiting for candidate… Waiting for candidate to share screen… @php $usrWords = preg_split('/\s+/', trim(Auth::user()->name)); $usrInitials = count($usrWords) >= 2 ? strtoupper(substr($usrWords[0],0,1).substr(end($usrWords),0,1)) : strtoupper(substr(trim(Auth::user()->name),0,2)); @endphp Panelist (self)
Live IDE code Candidate notepad Candidate drawing Saved recordings Tab switch screenshots
Current code solution — visible even if candidate does not share screen
Execution stdout / stderr

Proctoring logs

Live Chat

Send
Violation details loading...
Acknowledge Alert Acknowledge & Disable SOS
⚡ INCOMING INTERVIEW CALL

{{ $interview->candidate_name }}

Initiated by Panelist
Another interviewer has started calling the candidate. Click Accept Call to join live, or Decline if busy.
Decline / Miss Accept Call