123 lines
5.1 KiB
PHP
123 lines
5.1 KiB
PHP
@extends('admin.layouts.app')
|
|
@section('title', 'Data Warga')
|
|
|
|
@section('content')
|
|
<div class="container-fluid">
|
|
<!-- Breadcrumb -->
|
|
<nav aria-label="breadcrumb" class="mb-4">
|
|
<ol class="breadcrumb">
|
|
<li class="breadcrumb-item"><a href="{{ route('admin.dashboard') }}">Dashboard</a></li>
|
|
<li class="breadcrumb-item active">Data Warga</li>
|
|
</ol>
|
|
</nav>
|
|
|
|
<!-- Header -->
|
|
<div class="d-flex justify-content-between align-items-center mb-4">
|
|
<div>
|
|
<h2 class="mb-1"><i class="bi bi-people-fill me-2"></i>Data Warga</h2>
|
|
<p class="text-muted mb-0">Kelola data warga calon penerima BLT-DD</p>
|
|
</div>
|
|
<div class="d-flex gap-2">
|
|
<a href="{{ route('admin.warga.export') }}" class="btn btn-outline-success">
|
|
<i class="bi bi-file-earmark-excel me-1"></i> Export Excel
|
|
</a>
|
|
<a href="{{ route('admin.warga.create') }}" class="btn btn-success">
|
|
<i class="bi bi-person-plus me-2"></i>Tambah Warga
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- Table Card -->
|
|
<div class="card shadow-sm border-0">
|
|
<div class="card-header bg-white py-3">
|
|
<div class="d-flex justify-content-between align-items-center">
|
|
<h5 class="mb-0">Daftar Warga</h5>
|
|
<span class="badge bg-secondary">Total: {{ $warga->total() }} warga</span>
|
|
</div>
|
|
</div>
|
|
<div class="card-body p-0">
|
|
@if($warga->isEmpty())
|
|
<div class="text-center py-5">
|
|
<i class="bi bi-people display-1 text-muted"></i>
|
|
<h5 class="mt-3">Belum Ada Data Warga</h5>
|
|
<p class="text-muted">Silakan tambah data warga untuk memulai</p>
|
|
<a href="{{ route('admin.warga.create') }}" class="btn btn-success mt-2">
|
|
<i class="bi bi-person-plus me-2"></i>Tambah Warga
|
|
</a>
|
|
</div>
|
|
@else
|
|
<div class="table-responsive">
|
|
<table class="table table-hover table-striped mb-0">
|
|
<thead class="table-success">
|
|
<tr>
|
|
<th width="50" class="text-center">#</th>
|
|
<th>Nama</th>
|
|
<th>NIK</th>
|
|
<th>Dusun / RW</th>
|
|
<th>No. Telp</th>
|
|
<th width="100" class="text-center">Status</th>
|
|
<th width="150" class="text-center">Aksi</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach($warga as $i => $w)
|
|
<tr>
|
|
<td class="text-center">{{ $warga->firstItem() + $i }}</td>
|
|
<td><strong>{{ $w->nama }}</strong></td>
|
|
<td><code>{{ $w->nik }}</code></td>
|
|
<td>{{ $w->dusun ?? '-' }} / RW {{ $w->rw ?? '-' }}</td>
|
|
<td>{{ $w->no_telp ?? '-' }}</td>
|
|
<td class="text-center">
|
|
@if($w->is_aktif)
|
|
<span class="badge bg-success">Aktif</span>
|
|
@else
|
|
<span class="badge bg-secondary">Non-aktif</span>
|
|
@endif
|
|
</td>
|
|
<td class="text-center">
|
|
<div class="btn-group btn-group-sm" role="group">
|
|
<a href="{{ route('admin.warga.show', $w) }}" class="btn btn-info" title="Detail">
|
|
<i class="bi bi-eye"></i>
|
|
</a>
|
|
<a href="{{ route('admin.warga.edit', $w) }}" class="btn btn-warning" title="Edit">
|
|
<i class="bi bi-pencil"></i>
|
|
</a>
|
|
<form action="{{ route('admin.warga.destroy', $w) }}" method="POST" class="d-inline" onsubmit="return confirm('Yakin hapus warga {{ $w->nama }}?')">
|
|
@csrf
|
|
@method('DELETE')
|
|
<button type="submit" class="btn btn-danger btn-sm" title="Hapus">
|
|
<i class="bi bi-trash"></i>
|
|
</button>
|
|
</form>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<!-- Pagination -->
|
|
<div class="p-3">
|
|
{{ $warga->links() }}
|
|
</div>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
@push('styles')
|
|
<style>
|
|
.table th {
|
|
font-weight: 600;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.btn-group-sm .btn {
|
|
padding: 0.25rem 0.5rem;
|
|
}
|
|
</style>
|
|
@endpush
|
|
@endsection |