sls/resources/views/interview/report.blade.php
kushal.saha 9f25fdd648 refactor: UI Layouts and components
Interview module is refactored to use layouts and re-usable components
along with domain components. Style remains identitical to previous
design.
2026-08-17 07:03:55 +00:00

54 lines
2.4 KiB
PHP

<x-layouts.report :title="'Executive Evaluation Report - ' . $interview->candidate_name">
<!-- Floating Quick Print Button -->
<button type="button" onclick="window.print()" class="fixed bottom-7 right-7 bg-indigo-600 hover:bg-indigo-700 text-white font-bold text-sm py-3.5 px-7 rounded-full shadow-2xl shadow-indigo-600/50 flex items-center gap-2 z-50 cursor-pointer print:hidden transition-all">
<i class="fa-solid fa-download"></i>
<span>Download / Print Executive PDF Report</span>
</button>
<div class="max-w-[900px] mx-auto bg-white rounded-2xl shadow-xl border border-slate-200 p-6 sm:p-10 relative print:shadow-none print:border-none print:p-0 print:max-w-full">
<!-- Report Header -->
<x-interview.report.header :interview="$interview" />
<!-- Candidate Meta Grid -->
<x-interview.report.meta-grid :interview="$interview" />
<!-- Scores Summary Grid -->
<x-interview.report.score-card
:integrityScore="$integrityScore"
:integrityLabel="$integrityLabel"
:integrityColor="$integrityColor"
:incidentCount="is_array($logs) ? count($logs) : 0"
:codeScore="$codeScore"
:hasSubmittedCode="!empty($interview->submitted_code)"
/>
<!-- Proctoring Violation Metrics & Breakdown -->
<x-interview.report.incident-grid
:metrics="[
'tab_switches' => $tabSwitches,
'focus_lost' => $focusLosses,
'gaze_alerts' => $gazeAnomalies,
'paste_events' => $pasteEvents,
'lower_gaze' => $lowerGazeViolations,
'question_repeat' => $questionRepeatViolations,
]"
/>
<!-- Audit Log Table -->
<x-interview.report.audit-table :logs="$logs" />
<!-- Code Solution & Output Section -->
<x-interview.report.code-section
:code="$interview->submitted_code"
:output="$interview->code_output"
:language="$interview->submitted_language ?? $interview->language"
/>
<!-- Candidate Workspace Artifacts & Recordings -->
<x-interview.report.artifacts-section :interview="$interview" />
<!-- Panel Sign-Off Block -->
<x-interview.report.signoff :recommended="$integrityScore >= 80 && $codeScore >= 50" />
</div>
</x-layouts.report>