{{-- Header --}}

Master Data OPD / Instansi

Kelola data OPD / instansi beserta bendahara gaji dan kontak PIC.

@can('create_agency') Tambah OPD @endcan
{{-- Toolbar --}}
@foreach (['all' => 'Semua', 'active' => 'Aktif', 'inactive' => 'Non-Aktif'] as $value => $label) @endforeach
@if ($this->hasActiveFilters()) @endif
{{-- Tabel --}}
{{-- Skeleton saat loading filter/paging --}} @for ($i = 0; $i < 5; $i++) @endfor @forelse ($agencies as $agency) @empty @endforelse
Kode Nama OPD / Instansi Bendahara Gaji Anggota Status Aksi
{{ $agency->agency_code }} {{ $agency->agency_name }} {{ $agency->payroll_treasurer ?: '—' }} {{ number_format($agency->members_count, 0, ',', '.') }} {{ $agency->status }}
Lihat Detail @can('update_agency') Edit {{ $agency->status === 'Aktif' ? 'Nonaktifkan' : 'Aktifkan' }} @endcan @can('delete_agency')
Hapus @endcan

{{ $search !== '' || $status !== 'all' ? 'Tidak ada OPD yang cocok' : 'Belum ada OPD' }}

{{ $search !== '' || $status !== 'all' ? 'Coba ubah kata kunci atau filter status.' : 'Mulai dengan menambahkan OPD / instansi pertama.' }}

@can('create_agency') @if ($search === '' && $status === 'all') Tambah OPD @endif @endcan
@if ($agencies->hasPages())
{{ $agencies->links() }}
@endif
{{-- Modal: Form Create/Edit (inline, tidak di-teleport agar wire:model & $wire valid). .live wajib: tutup via Alpine harus langsung sinkron ke server, jika tidak state showForm di server tetap true → buka lagi tidak menghasilkan diff → modal tak muncul. --}}
{{-- Singletons --}}