MIF_E31221247/resources/views/admin/data-pengguna.blade.php

154 lines
7.3 KiB
PHP

@php
use App\Models\Penyakit;
use App\Models\Indikator;
@endphp
@extends('admin.layout.main', ['title' => 'Data Pengguna'])
@section('main')
<div class="page-heading">
<h3>Data Pengguna</h3>
</div>
<div class="card shadow-sm border-0">
<div class="card-header">
<h4 class="mb-0">Data Pengguna</h4>
</div>
<div class="card-body">
<!-- Pencarian -->
<div class="mb-4">
<input type="search" class="form-control" id="myInput" onkeyup="myFunction()" placeholder="Cari data pengguna...">
</div>
<!-- Tabel Data Pengguna -->
<div class="table-responsive">
<table class="table table-hover" id="myTable">
<thead class="table-light">
<tr>
<th>Nama Lengkap</th>
<th>Email</th>
<th>Nama Kucing</th>
<th>Usia Kucing</th>
<th>Penyakit</th>
<th>Indikator</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
@if ($data_users->isNotEmpty())
@foreach ($data_users as $data)
@php
$array = explode(',', $data->kode_indikator);
@endphp
<tr>
<td>{{ $data->nama }}</td>
<td>{{ $data->email }}</td>
<td>{{ $data->nama_kucing }}</td>
<td>{{ $data->usia_kucing }} bulan</td>
<td>{{ $data->penyakit->penyakit }}</td>
<td>{{ Indikator::whereIn('id', $array)->pluck('kode')->implode(', ') }}</td>
<td>
<button class="btn btn-danger btn-sm" data-bs-toggle="modal" data-bs-target="#delete{{ $data->id }}">
<i class="fa-solid fa-trash"></i> Hapus
</button>
</td>
</tr>
<!-- Modal Hapus -->
<div class="modal fade" id="delete{{ $data->id }}" tabindex="-1"
aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title fw-bold" id="exampleModalLabel">Konfirmasi Hapus</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<p class="text-center mb-4">Apakah Anda yakin ingin menghapus data ini?</p>
<form action="{{ url('data-pengguna/' . $data->id) }}" method="POST">
@csrf
@method('DELETE')
<div class="d-flex justify-content-center gap-2">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Batal</button>
<button type="submit" class="btn btn-danger">
<i class="fa-solid fa-trash me-1"></i> Hapus
</button>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- End Modal Hapus -->
@endforeach
@else
<tr>
<td colspan="7" class="text-center py-4">Tidak ada data tersedia.</td>
</tr>
@endif
</tbody>
</table>
</div>
<!-- Pagination Sederhana -->
<div class="d-flex justify-content-between align-items-center mt-4">
<!-- Teks "Showing X to Y of Z results" -->
<div class="pagination-info">
Showing {{ $data_users->firstItem() }} to {{ $data_users->lastItem() }} of {{ $data_users->total() }} results
</div>
<!-- Navigasi Pagination -->
<nav>
<ul class="pagination mb-0">
{{-- Tombol Previous --}}
@if ($data_users->onFirstPage())
<li class="page-item disabled">
<span class="page-link">Previous</span>
</li>
@else
<li class="page-item">
<a class="page-link" href="{{ $data_users->previousPageUrl() }}">Previous</a>
</li>
@endif
{{-- Tombol Next --}}
@if ($data_users->hasMorePages())
<li class="page-item">
<a class="page-link" href="{{ $data_users->nextPageUrl() }}">Next</a>
</li>
@else
<li class="page-item disabled">
<span class="page-link">Next</span>
</li>
@endif
</ul>
</nav>
</div>
</div>
</div>
<!-- Script Pencarian -->
<script>
function myFunction() {
var input, filter, table, tr, td, i, txtValue;
input = document.getElementById("myInput");
filter = input.value.toUpperCase();
table = document.getElementById("myTable");
tr = table.getElementsByTagName("tr");
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td");
for (var j = 0; j < td.length; j++) {
if (td[j]) {
txtValue = td[j].textContent || td[j].innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
tr[i].style.display = "";
break;
} else {
tr[i].style.display = "none";
}
}
}
}
}
</script>
@endsection