Interview module is refactored to use layouts and re-usable components along with domain components. Style remains identitical to previous design.
41 lines
1.8 KiB
PHP
41 lines
1.8 KiB
PHP
<x-layouts.candidate
|
|
:title="'Live Assessment Room - ' . $interview->candidate_name"
|
|
data-interview-id="{{ $interview->id }}"
|
|
data-candidate-name="{{ addslashes($interview->candidate_name) }}"
|
|
data-candidate-email="{{ $interview->candidate_email }}"
|
|
data-submission-id="{{ $interview->submission_unique_id }}"
|
|
data-language="{{ strtolower($interview->language) }}"
|
|
data-call-status="{{ $interview->call_status ?? 'idle' }}"
|
|
data-login-url="{{ route('interview.candidate.login') }}"
|
|
>
|
|
<!-- IDE Header Bar -->
|
|
<x-interview.candidate.ide-header :interview="$interview" />
|
|
|
|
<!-- Candidate Notepad Modal (Synced) -->
|
|
<x-interview.candidate.notepad-modal :notes="$interview->candidate_notes" />
|
|
|
|
<!-- Candidate Canvas Drawing Modal -->
|
|
<x-interview.candidate.drawing-modal />
|
|
|
|
<!-- IDE Main Grid Layout -->
|
|
<div class="grid grid-cols-[1fr_340px] h-[calc(100vh-60px)] w-full overflow-hidden">
|
|
<!-- Main Editor & Terminal Area -->
|
|
<div class="flex flex-col border-r border-white/10 h-full overflow-hidden">
|
|
<div id="monaco-editor-container" class="flex-1 w-full h-full min-h-0 bg-[#080c14]"></div>
|
|
|
|
<x-interview.candidate.terminal />
|
|
</div>
|
|
|
|
<!-- Sidebar: Real-Time 2-Way Interview Call & Proctor Controls -->
|
|
<x-interview.candidate.proctor-sidebar :interview="$interview" />
|
|
</div>
|
|
|
|
<!-- Candidate Incoming Call Ringing Overlay -->
|
|
<x-interview.candidate.incoming-overlay />
|
|
|
|
@push('scripts')
|
|
<script id="candidate-submitted-code" type="application/json">@json($interview->submitted_code)</script>
|
|
<script id="candidate-drawing-data" type="application/json">@json($interview->candidate_drawing)</script>
|
|
@endpush
|
|
</x-layouts.candidate>
|