{{-- resources/views/candidates/show.blade.php --}} @extends('layouts.app') @section('title', 'Detail Kandidat') @section('page-title', 'Detail Kandidat') @push('styles') {{-- External --}} {{-- Custom --}} {{-- Sticky Nav + ScrollSpy Styles --}} @endpush {{-- OPSIONAL: Jika ingin tombol muncul juga di kanan topbar --}} @section('header-actions')
@endsection @section('breadcrumb') Dashboard / Kandidat / Detail @endsection @section('content') {{-- ===== Header Kandidat ===== --}}
@php $photoDocument = $candidate->documentUploads->where('document_type', 'photo')->first(); @endphp @if($photoDocument) Foto {{ $candidate->full_name ?? 'Kandidat' }} @else @endif

{{ $candidate->full_name ?? 'N/A' }}

{{ $candidate->position->position_name ?? $candidate->position_applied }} @if($candidate->expected_salary) • Gaji Harapan: Rp {{ number_format($candidate->expected_salary, 0, ',', '.') }} @endif

{{ $candidate->candidate_code }}
{{ $candidate->email ?? 'N/A' }}
{{ $candidate->phone_number ?? 'N/A' }}
{{ ucfirst($candidate->application_status) }}
{{-- ===== Spacer utk fallback fixed ===== --}}
{{-- ===== Nav Section (Sticky/Fixed + Clickable) ===== --}} {{-- ===== Data Pribadi ===== --}}

Data Pribadi

{{-- Info Dasar --}}

Informasi Dasar

Nama Lengkap{{ $candidate->full_name ?? 'N/A' }}
NIK{{ $candidate->nik ?? 'N/A' }}
Tempat, Tanggal Lahir {{ $candidate->birth_place ?? 'N/A' }}, {{ $candidate->birth_date ? \Carbon\Carbon::parse($candidate->birth_date)->format('d M Y') : 'N/A' }}
Jenis Kelamin{{ $candidate->gender ?? 'N/A' }}
Agama{{ $candidate->religion ?? 'N/A' }}
Status Pernikahan{{ $candidate->marital_status ?? 'N/A' }}
Suku Bangsa{{ $candidate->ethnicity ?? 'N/A' }}
{{-- Kontak --}}

Kontak

Email{{ $candidate->email ?? 'N/A' }}
No. Telepon{{ $candidate->phone_number ?? 'N/A' }}
No. Alternatif{{ $candidate->phone_alternative ?? 'N/A' }}
{{-- Alamat --}}

Alamat

Alamat Saat Ini{{ $candidate->current_address ?? 'N/A' }}
Status Tempat Tinggal{{ $candidate->current_address_status ?? 'N/A' }}
Alamat KTP{{ $candidate->ktp_address ?? 'N/A' }}
{{-- Fisik & Kesehatan --}}

Data Fisik & Kesehatan

Tinggi Badan{{ $candidate->height_cm ? $candidate->height_cm.' cm' : 'N/A' }}
Berat Badan{{ $candidate->weight_kg ? $candidate->weight_kg.' kg' : 'N/A' }}
Status Vaksinasi{{ $candidate->vaccination_status ?? 'N/A' }}
{{-- Keluarga --}} @if($candidate->familyMembers->count() > 0)

Data Keluarga

@foreach($candidate->familyMembers as $member) @endforeach
HubunganNamaUsiaPendidikanPekerjaan
{{ $member->relationship ?? 'N/A' }} {{ $member->name ?? 'N/A' }} {{ $member->age ? $member->age.' tahun' : 'N/A' }} {{ $member->education ?? 'N/A' }} {{ $member->occupation ?? 'N/A' }}
@endif
{{-- ===== Pendidikan ===== --}}

Pendidikan

@php $formalEducation = $candidate->formalEducation; $nonFormalEducation = $candidate->nonFormalEducation; @endphp @if($formalEducation->count())

Pendidikan Formal

@foreach($formalEducation as $edu) @endforeach
JenjangInstitusiJurusanTahunIPK
{{ $edu->education_level ?? 'N/A' }} {{ $edu->institution_name ?? 'N/A' }} {{ $edu->major ?? 'N/A' }} {{ $edu->start_year }} - {{ $edu->end_year ?? 'Sekarang' }} {{ $edu->gpa ?? 'N/A' }}
@endif @if($nonFormalEducation->count())

Pendidikan Non-Formal

@foreach($nonFormalEducation as $course) @endforeach
Nama Kursus/PelatihanPenyelenggaraTanggalKeterangan
{{ $course->course_name ?? 'N/A' }} {{ $course->organizer ?? 'N/A' }} {{ $course->date ? \Carbon\Carbon::parse($course->date)->format('d M Y') : 'N/A' }} {{ $course->description ?? '-' }}
@endif @if(!$formalEducation->count() && !$nonFormalEducation->count())

Tidak ada data pendidikan

@endif
{{-- ===== Pengalaman ===== --}}

Pengalaman Kerja

@if($candidate->workExperiences->count()) @foreach($candidate->workExperiences as $exp)

{{ $exp->company_name ?? 'N/A' }}

Posisi{{ $exp->position ?? 'N/A' }}
Periode{{ $exp->start_year ?? 'N/A' }} - {{ $exp->end_year ?? 'Sekarang' }}
Alamat Perusahaan{{ $exp->company_address ?? 'N/A' }}
Bidang Usaha{{ $exp->company_field ?? 'N/A' }}
Gaji Terakhir {{ $exp->salary ? 'Rp '.number_format($exp->salary,0,',','.') : 'N/A' }}
Alasan Berhenti{{ $exp->reason_for_leaving ?? 'N/A' }}
@if($exp->supervisor_contact)
Kontak Atasan{{ $exp->supervisor_contact }}
@endif
@endforeach @else

Tidak ada pengalaman kerja

@endif
{{-- ===== Skills ===== --}}

Keterampilan

@if($candidate->languageSkills->count())

Kemampuan Bahasa

@foreach($candidate->languageSkills as $lang)
{{ $lang->language ?? 'N/A' }} Bicara: {{ $lang->speaking_level ?? 'N/A' }}, Tulis: {{ $lang->writing_level ?? 'N/A' }}
@endforeach
@endif @if($candidate->additionalInfo && ($candidate->additionalInfo->hardware_skills || $candidate->additionalInfo->software_skills))

Kemampuan Komputer

@if($candidate->additionalInfo->hardware_skills)
Hardware{{ $candidate->additionalInfo->hardware_skills }}
@endif @if($candidate->additionalInfo->software_skills)
Software{{ $candidate->additionalInfo->software_skills }}
@endif
@endif @if($candidate->drivingLicenses->count())

SIM yang Dimiliki

@foreach($candidate->drivingLicenses as $license)
SIM {{ $license->license_type }}
@endforeach
@endif
@if($candidate->additionalInfo && $candidate->additionalInfo->other_skills)

Kemampuan Lainnya

{{ $candidate->additionalInfo->other_skills }}

@endif @if(!$candidate->languageSkills->count() && (!$candidate->additionalInfo || (!$candidate->additionalInfo->hardware_skills && !$candidate->additionalInfo->software_skills && !$candidate->additionalInfo->other_skills)) && !$candidate->drivingLicenses->count())

Tidak ada data keterampilan

@endif
{{-- ===== Aktivitas & Prestasi ===== --}}

Aktivitas & Prestasi

@php $socialActivities = $candidate->activities->where('activity_type','social_activity'); $achievements = $candidate->activities->where('activity_type','achievement'); @endphp @if($socialActivities->count())

Kegiatan Sosial/Organisasi

@foreach($socialActivities as $activity) @endforeach
Nama OrganisasiBidangPeriodeKeterangan
{{ $activity->title ?? 'N/A' }} {{ $activity->field_or_year ?? 'N/A' }} {{ $activity->period ?? 'N/A' }} {{ $activity->description ?? '-' }}
@endif @if($achievements->count())

Prestasi

@foreach($achievements as $achievement) @endforeach
Nama PrestasiTahunKeterangan
{{ $achievement->title ?? 'N/A' }} {{ $achievement->field_or_year ?? 'N/A' }} {{ $achievement->description ?? '-' }}
@endif @if(!$socialActivities->count() && !$achievements->count())

Tidak ada data aktivitas atau prestasi

@endif
{{-- ===== KRAEPLIN (partial) ===== --}} @include('candidates.partials.kraeplin-results', ['candidate' => $candidate]) {{-- ===== DISC (partial) ===== --}} @include('candidates.partials.disc-results', ['candidate' => $candidate]) {{-- ===== Dokumen ===== --}}

Dokumen

@if($candidate->documentUploads->count())
@php $documentTypes = [ 'cv' => ['icon' => 'fa-file-alt', 'label' => 'CV/Resume'], 'photo' => ['icon' => 'fa-image', 'label' => 'Foto'], 'transcript' => ['icon' => 'fa-file-pdf', 'label' => 'Transkrip Nilai'], 'certificates'=> ['icon' => 'fa-certificate','label' => 'Sertifikat'], ]; @endphp @foreach($documentTypes as $type => $config) @php $documents = $candidate->documentUploads->where('document_type', $type); @endphp

{{ $config['label'] }} ({{ $documents->count() }} file{{ $documents->count() > 1 ? 's' : '' }})

@if($documents->count()) @foreach($documents as $doc)
{{ $doc->document_name ?: $doc->original_filename ?: 'Dokumen' }}
{{ $doc->file_size ? number_format($doc->file_size/1024,2).' KB' : 'Unknown size' }} • {{ $doc->created_at->format('d M Y') }}
@endforeach @else

Tidak ada {{ strtolower($config['label']) }}

@endif
@endforeach
@else

Tidak ada dokumen yang diupload

@endif
{{-- ===== Modals ===== --}} @endsection @push('scripts') {{-- Modal + Update Status --}} {{-- Sticky/FIxed + Smooth Scroll + ScrollSpy yang presisi --}} @endpush