92 lines
4.4 KiB
PHP
92 lines
4.4 KiB
PHP
@extends('layouts.public')
|
|
|
|
@section('title', 'Status Permohonan')
|
|
|
|
@section('content')
|
|
<div class="page-heading">
|
|
<div class="eyebrow">Semak Status Permohonan</div>
|
|
<h1 class="h3 mb-1">Status Permohonan</h1>
|
|
<p class="text-secondary mb-0">Paparan status terhad. Dokumen dan maklumat sensitif tidak dipaparkan.</p>
|
|
</div>
|
|
|
|
@if ($application === null)
|
|
{{-- Generic response for unknown / internal-only UUIDs --}}
|
|
<div class="content-panel p-3 p-md-4">
|
|
<div class="d-flex gap-3 align-items-start">
|
|
<div class="stat-icon text-bg-secondary">
|
|
<i class="bi bi-question-circle"></i>
|
|
</div>
|
|
<div>
|
|
<h2 class="h5 mb-2">Status tidak dapat dipaparkan</h2>
|
|
<p class="text-secondary mb-0">
|
|
Tiada rekod permohonan yang aktif ditemui untuk pautan ini.
|
|
Sila pastikan URL yang digunakan adalah betul.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@else
|
|
@php
|
|
$statusConfig = match ($application->status) {
|
|
'submitted' => ['label' => 'Menunggu Semakan', 'tone' => 'info', 'icon' => 'bi-hourglass-split'],
|
|
'under_ppm_review' => ['label' => 'Sedang Disemak', 'tone' => 'warning', 'icon' => 'bi-eye'],
|
|
'approved' => ['label' => 'Diluluskan', 'tone' => 'success', 'icon' => 'bi-check-circle'],
|
|
'assigned' => ['label' => 'Diluluskan & Ditempatkan', 'tone' => 'success', 'icon' => 'bi-person-check'],
|
|
'rejected' => ['label' => 'Ditolak', 'tone' => 'danger', 'icon' => 'bi-x-circle'],
|
|
'cancelled' => ['label' => 'Dibatalkan', 'tone' => 'secondary', 'icon' => 'bi-slash-circle'],
|
|
default => ['label' => ucfirst($application->status), 'tone' => 'secondary', 'icon' => 'bi-circle'],
|
|
};
|
|
@endphp
|
|
|
|
<div class="content-panel p-3 p-md-4">
|
|
<div class="d-flex gap-3 align-items-start mb-4">
|
|
<div class="stat-icon text-bg-{{ $statusConfig['tone'] }}">
|
|
<i class="bi {{ $statusConfig['icon'] }}"></i>
|
|
</div>
|
|
<div>
|
|
<h2 class="h5 mb-1">{{ $statusConfig['label'] }}</h2>
|
|
<p class="text-secondary mb-0 small">
|
|
Dikemaskini: {{ $application->updated_at?->format('d/m/Y H:i') }}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<dl class="row mb-0">
|
|
<dt class="col-sm-4 text-secondary small">Nama (disamarkan)</dt>
|
|
<dd class="col-sm-8 fw-semibold">{{ $maskedName }}</dd>
|
|
|
|
<dt class="col-sm-4 text-secondary small">Jawatan Dipohon</dt>
|
|
<dd class="col-sm-8">
|
|
{{ $application->requestedPosition?->name ?? '-' }}
|
|
</dd>
|
|
|
|
@if ($application->approvedPosition && $application->approvedPosition->id !== $application->requestedPosition?->id)
|
|
<dt class="col-sm-4 text-secondary small">Jawatan Diluluskan</dt>
|
|
<dd class="col-sm-8">{{ $application->approvedPosition->name }}</dd>
|
|
@endif
|
|
|
|
<dt class="col-sm-4 text-secondary small">Pusat Mengundi</dt>
|
|
<dd class="col-sm-8">{{ $application->pusatMengundi?->name ?? '-' }}</dd>
|
|
|
|
<dt class="col-sm-4 text-secondary small">Status</dt>
|
|
<dd class="col-sm-8">
|
|
<span class="badge text-bg-{{ $statusConfig['tone'] }}">
|
|
{{ $statusConfig['label'] }}
|
|
</span>
|
|
</dd>
|
|
|
|
@if ($application->status === 'rejected' && $application->rejection_reason)
|
|
<dt class="col-sm-4 text-secondary small">Sebab Penolakan</dt>
|
|
<dd class="col-sm-8 text-danger">{{ $application->rejection_reason }}</dd>
|
|
@endif
|
|
</dl>
|
|
</div>
|
|
|
|
<p class="text-secondary small mt-3">
|
|
<i class="bi bi-shield-lock me-1"></i>
|
|
Untuk pertanyaan lanjut, hubungi pentadbir pilihanraya dengan menyertakan nombor rujukan anda:
|
|
<code>{{ $application->public_uuid }}</code>
|
|
</p>
|
|
@endif
|
|
@endsection
|