MIF_E31230356/resources/views/admin/guru/index.blade.php

310 lines
8.5 KiB
PHP

@extends('admin.layouts.app')
@section('title', 'Daftar Guru')
@section('content')
<style>
.page-title {
font-size: 30px;
font-weight: 800;
margin-bottom: 10px;
margin-top: -20px;
}
.custom-card {
background: white;
border-radius: 20px;
border: 2px solid #e5e5e5;
padding: 25px;
}
.btn-primary-custom {
background: #2b8ef3;
color: white;
border-radius: 10px;
padding: 8px 18px;
border: none;
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 14px;
text-decoration: none;
}
.table-header {
background: #a5e6ba;
}
.search-box {
background: #a5e6ba;
border-radius: 30px;
padding: 6px 15px;
display: flex;
align-items: center;
gap: 8px;
}
.search-box input {
border: none;
outline: none;
background: transparent;
width: 150px;
}
.action-icon {
width: 20px;
cursor: pointer;
margin: 0 5px;
}
.per-page-select {
border-radius: 10px;
padding: 5px;
border: 1px solid #ccc;
}
/* ===== STYLE BARU UNTUK MODAL ===== */
.modal-header-pastel {
background: #FFD97D !important;
color: black !important;
border-bottom: none;
}
.modal-content {
border-radius: 15px;
border: none;
}
.modal-body label {
font-weight: bold;
}
.modal {
left: auto !important;
right: 0;
width: calc(100% - 250px);
}
.modal-backdrop {
left: auto !important;
right: 0;
width: calc(100% - 250px);
}
.modal-dialog {
margin-right: auto;
margin-left: auto;
}
.modal-content {
border-radius: 20px;
box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
</style>
<h3 class="page-title">DAFTAR GURU</h3>
<div class="custom-card">
<div class="d-flex justify-content-between align-items-center mb-3">
<div class="d-flex gap-2">
<button class="btn-primary-custom" data-bs-toggle="modal" data-bs-target="#modalTambah">
<img src="{{ asset('images/icon/main/add.png') }}" width="18">
Tambah Data
</button>
<button class="btn-primary-custom">
<img src="{{ asset('images/icon/main/download.png') }}" width="18">
Download PDF
</button>
<button class="btn-primary-custom">
<img src="{{ asset('images/icon/main/download.png') }}" width="18">
Download Excel
</button>
</div>
<form method="GET" action="{{ route('admin.guru.index') }}">
<div class="search-box">
<input type="text" name="search" placeholder="Cari" value="{{ request('search') }}">
<button style="border:none;background:none">
<img src="{{ asset('images/icon/main/search.png') }}" width="18">
</button>
</div>
</form>
</div>
<form method="GET" class="mb-2">
<span>Tampilkan</span>
<select name="perPage" onchange="this.form.submit()" class="per-page-select">
<option value="10" {{ request('perPage') == 10 ? 'selected' : '' }}>10</option>
<option value="25" {{ request('perPage') == 25 ? 'selected' : '' }}>25</option>
<option value="50" {{ request('perPage') == 50 ? 'selected' : '' }}>50</option>
<option value="100" {{ request('perPage') == 100 ? 'selected' : '' }}>100</option>
</select>
<span>data</span>
<input type="hidden" name="search" value="{{ request('search') }}">
</form>
<table class="table text-center align-middle">
<thead class="table-header">
<tr>
<th>No</th>
<th>Nama Lengkap</th>
<th>NIP</th>
<th>Password</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
@forelse($gurus as $index => $guru)
<tr>
<td>{{ $gurus->firstItem() + $index }}</td>
<td>{{ $guru->nama }}</td>
<td>{{ $guru->nip }}</td>
<td>********</td>
<td>
<button onclick="openEditModal('{{ $guru->nip }}', '{{ $guru->nama }}')"
style="border:none;background:none">
<img src="{{ asset('images/icon/main/edit.png') }}" class="action-icon">
</button>
<form action="{{ route('admin.guru.destroy', $guru->nip) }}"
method="POST" class="d-inline"
onsubmit="return confirm('Yakin ingin menghapus data?')">
@csrf
@method('DELETE')
<button type="submit" style="border:none;background:none">
<img src="{{ asset('images/icon/main/del.png') }}" class="action-icon">
</button>
</form>
</td>
</tr>
@empty
<tr>
<td colspan="5">Belum ada data guru</td>
</tr>
@endforelse
</tbody>
</table>
<div class="d-flex justify-content-end">
{{ $gurus->links() }}
</div>
</div>
{{-- MODAL TAMBAH DATA --}}
<div class="modal fade" id="modalTambah" tabindex="-1">
<div class="modal-dialog modal-lg modal-dialog-centered">
<div class="modal-content">
<div class="modal-header modal-header-pastel">
<h5 class="modal-title">Tambah Data Guru</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<form action="{{ route('admin.guru.store') }}" method="POST">
@csrf
<div class="modal-body">
<div class="mb-3">
<label>NIP <span class="text-danger">*</span></label>
<input type="text" name="nip" class="form-control" placeholder="Masukkan NIP" required>
</div>
<div class="mb-3">
<label>Nama Lengkap <span class="text-danger">*</span></label>
<input type="text" name="nama" class="form-control" placeholder="Masukkan nama lengkap" required>
</div>
<div class="mb-3">
<label>Password <span class="text-danger">*</span></label>
<input type="password" name="password" class="form-control" placeholder="Minimal 6 karakter" required>
<small class="text-muted">Password akan di-hash otomatis</small>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Batal</button>
<button type="submit" class="btn btn-success">Simpan Data</button>
</div>
</form>
</div>
</div>
</div>
{{-- MODAL EDIT DATA --}}
<div class="modal fade" id="modalEdit" tabindex="-1">
<div class="modal-dialog modal-lg modal-dialog-centered">
<div class="modal-content">
<div class="modal-header modal-header-pastel">
<h5 class="modal-title">Edit Data Guru</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<form id="formEdit" method="POST">
@csrf
@method('PUT')
<div class="modal-body">
<div class="mb-3">
<label>NIP</label>
<input type="text" id="editNip" class="form-control" disabled>
</div>
<div class="mb-3">
<label>Nama Lengkap <span class="text-danger">*</span></label>
<input type="text" name="nama" id="editNama" class="form-control" required>
</div>
<div class="mb-3">
<label>Password Baru (Opsional)</label>
<input type="password" name="password" class="form-control" placeholder="Isi jika ingin mengganti password">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Batal</button>
<button type="submit" class="btn btn-save-pastel">Update Data</button>
</div>
</form>
</div>
</div>
</div>
<script>
function openEditModal(nip, nama) {
document.getElementById('editNip').value = nip;
document.getElementById('editNama').value = nama;
document.getElementById('formEdit').action = "{{ url('admin/guru') }}/" + nip;
new bootstrap.Modal(document.getElementById('modalEdit')).show();
}
</script>
@endsection