{{--
Pengajuan Status Badge
───────────────────────
Renders status sebagai pill badge dengan warna yang konsisten.
Menggantikan {!! $application->status_badge !!} yang tersebar di views.
Usage:
Props:
status ApplicationStatus enum | string required
--}}
@props(['status'])
@php
// Support both enum and raw string
$value = $status instanceof \BackedEnum ? $status->value : (string) $status;
// Human-readable labels
$labels = [
// New BA flow
'draft' => 'Draft',
'da_pl' => 'DA — Petugas Lapangan',
'waiting_da_penelaah' => 'Menunggu DA Penelaah',
'waiting_approval_da' => 'Menunggu Approval DA',
'fa' => 'Field Analysis',
'waiting_review_fa' => 'Menunggu Review FA',
'waiting_keputusan' => 'Menunggu Keputusan Final',
'approved' => 'Disetujui',
'rejected' => 'Ditolak',
'aktif' => 'Aktif',
'lunas' => 'Lunas',
'macet' => 'Macet / NPL',
// Legacy (ApplicationStatus)
'submitted' => 'Diajukan',
'fa_pending' => 'Menunggu FA',
'fa_inprogress' => 'FA Berjalan',
'fa_submitted' => 'FA Selesai',
'da_review' => 'DA + Finalisasi',
'verifikasi_final' => 'Finalisasi Verifikasi',
'signature' => 'Keputusan Komite',
'disetujui' => 'Disetujui',
'bersyarat' => 'Disetujui Bersyarat',
'ditolak' => 'Ditolak',
];
// Use enum's own label() if available (takes priority)
if ($status instanceof \BackedEnum && method_exists($status, 'label')) {
$label = $status->label();
} else {
$label = $labels[$value] ?? ucfirst(str_replace('_', ' ', $value));
}
// CSS modifier class — maps to .los-badge--{modifier} in app.css
$modifier = $value;
@endphp
{{ $label }}