{{-- Import Font Google: Montserrat (Judul) & Inter (Teks UI) --}} {{-- Wrapper Header: Formal Glassmorphism (Sesuai Dashboard Admin) --}}
{{-- Pancaran Glow Sangat Halus --}}
{{-- Konten Header --}}
{{-- PERUBAHAN 1: Judul Utama dengan Font Serif & Ukuran disamakan dengan Dashboard --}}

Data Laporan Terkini

{{-- Deskripsi menggunakan INTER --}}

Daftar seluruh pengaduan masyarakat yang masuk ke sistem.

{{-- Tombol Export --}} @if (Route::has('admin.laporan.export')) @endif
{{-- KONTEN UTAMA DENGAN FONT INTER --}}
{{-- ================= FILTER & SEARCH BAR ================= --}}
{{-- Dropdown Filter Dusun --}} {{-- Kolom Pencarian --}}
{{-- Dropdown Status --}}
{{-- Tombol Cari & Reset --}}
@if (request()->filled('search') || (request()->filled('status') && request('status') != 'semua')) @endif
{{-- ================= TABEL DATA ================= --}}
{{-- Header Tabel & Total Info --}}

Data Laporan

Total: {{ $laporans->total() }} Data
{{-- Tabel --}}
@forelse ($laporans as $item) {{-- 1. TIKET --}} {{-- 2. PELAPOR & KONTAK --}} {{-- 3. KATEGORI & FOTO AWAL --}} {{-- 4. INFORMASI LAPORAN (Lokasi & Masalah) --}} {{-- 5. PENUGASAN TEKNISI & BUKTI PEKERJAAN --}} {{-- 6. STATUS LAPORAN --}} @empty @endforelse
Tiket Pelapor & Kontak Kategori & Foto Informasi Laporan Penugasan & Bukti Status
#{{ $item->tiket }}
{{ $item->nama }}
{{ $item->no_telepon ?? '-' }}
@php $kat = strtolower($item->kategori ?? 'umum'); $badgeKategori = str_contains($kat, 'kerusakan') ? 'bg-red-50 text-red-600 border-red-100' : (str_contains($kat, 'kebersihan') ? 'bg-emerald-50 text-emerald-600 border-emerald-100' : 'bg-slate-100 text-slate-600 border-slate-200'); @endphp
{{ $item->kategori ?? 'Umum' }}
@if (!empty($item->foto_awal)) @else Tanpa Foto @endif
{{-- Menampilkan Dusun, RT, dan RW (Format Tebal) --}} Dsn. {{ $item->dusun ?? '-' }}, RT {{ $item->rt ?? '-' }}/RW {{ $item->rw ?? '-' }} {{-- Menampilkan Patokan Detail (Format Lebih Kecil) --}} Patokan: {{ $item->lokasi }}

{{ $item->deskripsi }}

@if ($item->status == 'baru' || $item->status == 'menunggu' || !$item->teknisi_id)
@csrf @method('PUT')
@else
{{ substr($item->teknisi->name ?? '?', 0, 1) }}
Dikerjakan Oleh {{ $item->teknisi->name ?? '-' }}
{{-- LOGIKA REVISI: Sembunyikan bukti jika statusnya revisi/ditolak --}} @if ($item->status == 'revisi' || $item->status == 'ditolak') Menunggu Perbaikan (Revisi) @elseif (!empty($item->bukti_foto)) @else Belum ada bukti @endif
@endif
@if ($item->status == 'baru' || $item->status == 'menunggu') {{-- Status Baru Masuk --}} Baru @elseif ($item->status == 'proses') {{-- Sedang Dikerjakan Teknisi --}} Diproses @elseif ($item->status == 'selesai') {{-- Teknisi Selesai, TAPI Belum Divalidasi Admin (Tetap tampil sebagai DIPROSES) --}}
Diproses Butuh Validasi
@elseif ($item->status == 'closed') {{-- SUDAH DIVALIDASI ADMIN (Baru boleh pakai kata SELESAI) --}} Selesai @elseif ($item->status == 'ditolak' || $item->status == 'revisi') {{-- Ditolak / Disuruh Perbaiki Ulang --}} Revisi @endif

Tidak Ada Laporan

Data laporan atau hasil pencarian tidak ditemukan.

{{-- Pagination --}}
{{ $laporans->appends(request()->query())->links() }}
{{-- ========================================================= --}} {{-- MODAL LIGHTBOX (Pop-up Gambar untuk Admin) --}} {{-- ========================================================= --}} {{-- Script Icons & Modal --}}