refactor: back button page

This commit is contained in:
zhadaarsita 2025-11-04 00:10:20 +07:00
parent 532988128b
commit 7d73285b60
10 changed files with 501 additions and 378 deletions

View File

@ -212,18 +212,14 @@ nav {
border-bottom-right-radius: 5px;
}
// Styling navbar
// Styling navbar
.navbar {
border-bottom: none;
.navbar-brand {
// 1. Ukuran default untuk DESKTOP
font-size: 20px;
color: var(--bs-dark-text-emphasis) !important;
// 2. Aturan khusus yang akan menimpa ukuran di atas JIKA layar kecil (MOBILE)
// Saya gunakan 991.98px agar konsisten dengan breakpoint sidebar-mu
@media (max-width: 991.98px) {
font-size: 18px;
}

View File

@ -1,66 +1,76 @@
<x-app-layout>
@section('page-title', $pageTitle)
<div class="card shadow-sm border-0">
<div class="card-header bg-white d-flex align-items-center">
<a href="{{ route('admin.buku.index') }}" class="btn btn-light me-2">
<i class="bi bi-arrow-left"></i>
</a>
<h5 class="my-0 fw-bold">Formulir Tambah Buku Baru</h5>
</div>
<div class="card-body">
<form action="#" method="POST">
{{-- Form ini tidak akan berfungsi karena tidak ada backend --}}
<div class="row">
<div class="col-md-8">
<div class="mb-3">
<label for="judul" class="form-label">Judul Buku</label>
<input type="text" class="form-control" id="judul" placeholder="Masukkan judul buku">
</div>
<div class="mb-3">
<label for="penulis" class="form-label">Penulis</label>
<input type="text" class="form-control" id="penulis"
placeholder="Masukkan nama penulis">
</div>
<div class="row">
<div class="col-md-6 mb-3">
<label for="kategori" class="form-label">Kategori</label>
<input type="text" class="form-control" id="kategori"
placeholder="Contoh: Fiksi, Sains">
</div>
<div class="col-md-6 mb-3">
<label for="tahun" class="form-label">Tahun Terbit</label>
<input type="number" class="form-control" id="tahun" placeholder="Contoh: 2024">
</div>
</div>
<div class="mb-3">
<label class="form-label">Tipe Akses</label>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="tipe_offline">
<label class="form-check-label" for="tipe_offline">Peminjaman Offline</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="tipe_online">
<label class="form-check-label" for="tipe_online">Baca Online</label>
</div>
</div>
</div>
<div class="col-md-4">
<div class="mb-3">
<label for="cover" class="form-label">Cover Buku</label>
<input type="file" class="form-control" id="cover">
</div>
<div class="mb-3">
<label for="file_pdf" class="form-label">File PDF (untuk buku online)</label>
<input type="file" class="form-control" id="file_pdf">
</div>
</div>
</div>
<hr>
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-primary">Simpan Buku</button>
</div>
</form>
</div>
<div class="d-flex align-items-center mb-4">
<a href="{{ route('admin.buku.index') }}" class="btn btn-outline-secondary me-3">
<i class="bi bi-arrow-left"></i>
</a>
<h3 class="my-0 fw-bold">Formulir Tambah Buku</h3>
</div>
<div class="row justify-content-center">
<div class="col-md-10">
<div class="card border-0 shadow-sm">
<div class="card-body p-4">
<div class="card-body">
<form action="#" method="POST">
{{-- Form ini tidak akan berfungsi karena tidak ada backend --}}
<div class="row">
<div class="col-md-8">
<div class="mb-3">
<label for="judul" class="form-label">Judul Buku</label>
<input type="text" class="form-control" id="judul"
placeholder="Masukkan judul buku">
</div>
<div class="mb-3">
<label for="penulis" class="form-label">Penulis</label>
<input type="text" class="form-control" id="penulis"
placeholder="Masukkan nama penulis">
</div>
<div class="row">
<div class="col-md-6 mb-3">
<label for="kategori" class="form-label">Kategori</label>
<input type="text" class="form-control" id="kategori"
placeholder="Contoh: Fiksi, Sains">
</div>
<div class="col-md-6 mb-3">
<label for="tahun" class="form-label">Tahun Terbit</label>
<input type="number" class="form-control" id="tahun"
placeholder="Contoh: 2024">
</div>
</div>
<div class="mb-3">
<label class="form-label">Tipe Akses</label>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="tipe_offline">
<label class="form-check-label" for="tipe_offline">Peminjaman
Offline</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="tipe_online">
<label class="form-check-label" for="tipe_online">Baca Online</label>
</div>
</div>
</div>
<div class="col-md-4">
<div class="mb-3">
<label for="cover" class="form-label">Cover Buku</label>
<input type="file" class="form-control" id="cover">
</div>
<div class="mb-3">
<label for="file_pdf" class="form-label">File PDF (untuk buku online)</label>
<input type="file" class="form-control" id="file_pdf">
</div>
</div>
</div>
<hr>
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-primary">Simpan Buku</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>z
</x-app-layout>

View File

@ -1,71 +1,82 @@
<x-app-layout>
@section('page-title', $pageTitle)
<div class="card shadow-sm border-0">
<div class="card-header bg-white d-flex align-items-center">
<a href="{{ route('admin.buku.index') }}" class="btn btn-light me-2">
<i class="bi bi-arrow-left"></i>
</a>
<h5 class="my-0 fw-bold">Formulir Edit Buku</h5>
</div>
<div class="card-body">
<form action="#" method="POST">
{{-- Form ini tidak akan berfungsi karena tidak ada backend --}}
<div class="row">
<div class="col-md-8">
<div class="mb-3">
<label for="judul" class="form-label">Judul Buku</label>
<input type="text" class="form-control" id="judul" value="{{ $buku['judul'] }}">
</div>
<div class="mb-3">
<label for="penulis" class="form-label">Penulis</label>
<input type="text" class="form-control" id="penulis" value="{{ $buku['penulis'] }}">
</div>
<div class="row">
<div class="col-md-6 mb-3">
<label for="kategori" class="form-label">Kategori</label>
<input type="text" class="form-control" id="kategori" value="{{ $buku['kategori'] }}">
<div class="d-flex align-items-center mb-4">
<a href="{{ route('admin.buku.index') }}" class="btn btn-outline-secondary me-3">
<i class="bi bi-arrow-left"></i>
</a>
<h3 class="my-0 fw-bold">Formulir Edit Buku</h3>
</div>
<div class="row justify-content-center">
<div class="col-md-10">
<div class="card border-0 shadow-sm">
<div class="card-body p-4">
<div class="card-body">
<form action="#" method="POST">
{{-- Form ini tidak akan berfungsi karena tidak ada backend --}}
<div class="row">
<div class="col-md-8">
<div class="mb-3">
<label for="judul" class="form-label">Judul Buku</label>
<input type="text" class="form-control" id="judul"
value="{{ $buku['judul'] }}">
</div>
<div class="mb-3">
<label for="penulis" class="form-label">Penulis</label>
<input type="text" class="form-control" id="penulis"
value="{{ $buku['penulis'] }}">
</div>
<div class="row">
<div class="col-md-6 mb-3">
<label for="kategori" class="form-label">Kategori</label>
<input type="text" class="form-control" id="kategori"
value="{{ $buku['kategori'] }}">
</div>
<div class="col-md-6 mb-3">
<label for="tahun" class="form-label">Tahun Terbit</label>
<input type="number" class="form-control" id="tahun"
value="{{ $buku['tahun'] }}">
</div>
</div>
<div class="mb-3">
<label class="form-label">Tipe Akses (Tidak dapat diubah)</label>
@php
$tipe_akses = is_array($buku['tipe_akses'])
? $buku['tipe_akses']
: [$buku['tipe_akses']];
@endphp
<div class="form-check">
<input class="form-check-input" type="checkbox" id="tipe_offline"
@if (in_array('offline', $tipe_akses)) checked @endif disabled>
<label class="form-check-label" for="tipe_offline">Peminjaman
Offline</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="tipe_online"
@if (in_array('online', $tipe_akses)) checked @endif disabled>
<label class="form-check-label" for="tipe_online">Baca Online</label>
</div>
</div>
</div>
<div class="col-md-4">
<div class="mb-3">
<label for="cover" class="form-label">Cover Buku</label>
<input type="file" class="form-control" id="cover">
<img src="{{ asset($buku['cover']) }}" alt="Cover saat ini"
class="img-thumbnail mt-2" width="150">
</div>
</div>
</div>
<div class="col-md-6 mb-3">
<label for="tahun" class="form-label">Tahun Terbit</label>
<input type="number" class="form-control" id="tahun" value="{{ $buku['tahun'] }}">
<hr>
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-primary">Simpan Perubahan</button>
</div>
</div>
<div class="mb-3">
<label class="form-label">Tipe Akses</label>
@php
$tipe_akses = is_array($buku['tipe_akses']) ? $buku['tipe_akses'] : [$buku['tipe_akses']];
@endphp
<div class="form-check">
<input class="form-check-input" type="checkbox" id="tipe_offline" @if(in_array('offline', $tipe_akses)) checked @endif>
<label class="form-check-label" for="tipe_offline">Peminjaman Offline</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="tipe_online" @if(in_array('online', $tipe_akses)) checked @endif>
<label class="form-check-label" for="tipe_online">Baca Online</label>
</div>
</div>
</div>
<div class="col-md-4">
<div class="mb-3">
<label for="cover" class="form-label">Cover Buku</label>
<input type="file" class="form-control" id="cover">
<img src="{{ asset($buku['cover']) }}" alt="Cover saat ini" class="img-thumbnail mt-2" width="150">
</div>
<div class="mb-3">
<label for="file_pdf" class="form-label">File PDF</label>
<input type="file" class="form-control" id="file_pdf">
@if(isset($buku['file_pdf']))
<small class="text-muted">File saat ini: {{ $buku['file_pdf'] }}</small>
@endif
</div>
</form>
</div>
</div>
<hr>
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-primary">Simpan Perubahan</button>
</div>
</form>
</div>
</div>
</div>
</x-app-layout>
</x-app-layout>

View File

@ -1,47 +1,58 @@
<x-app-layout>
@section('page-title', $pageTitle)
<div class="card shadow-sm border-0">
<div class="card-header bg-white d-flex align-items-center">
<a href="{{ route('admin.pengguna.index') }}" class="btn btn-light me-2"><i class="bi bi-arrow-left"></i></a>
<h5 class="my-0 fw-bold">Formulir Tambah Pengguna</h5>
</div>
<div class="card-body">
<form action="#" method="POST">
<div class="mb-3">
<label for="nama_lengkap" class="form-label">Nama Lengkap</label>
<input type="text" class="form-control" id="nama_lengkap" placeholder="Masukkan nama lengkap">
</div>
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<input type="email" class="form-control" id="email" placeholder="Masukkan alamat email">
</div>
<div class="mb-3">
<label for="nisn" class="form-label">NISN (jika siswa)</label>
<input type="text" class="form-control" id="nisn" placeholder="Masukkan NISN">
</div>
<div class="mb-3">
<label for="role" class="form-label">Role</label>
<select class="form-select" id="role">
<option selected>Pilih role...</option>
<option value="siswa">Siswa</option>
<option value="penjaga perpus">Penjaga Perpus</option>
</select>
</div>
<div class="row">
<div class="col-md-6 mb-3">
<label for="password" class="form-label">Password</label>
<input type="password" class="form-control" id="password">
</div>
<div class="col-md-6 mb-3">
<label for="password_confirmation" class="form-label">Konfirmasi Password</label>
<input type="password" class="form-control" id="password_confirmation">
<div class="d-flex align-items-center mb-4">
<a href="{{ route('admin.pengguna.index') }}" class="btn btn-outline-secondary me-3">
<i class="bi bi-arrow-left"></i>
</a>
<h3 class="my-0 fw-bold">Formulir Tambah Pengguna</h3>
</div>
<div class="row justify-content-center">
<div class="col-md-10">
<div class="card border-0 shadow-sm">
<div class="card-body p-4">
<div class="card-body">
<form action="#" method="POST">
<div class="mb-3">
<label for="nama_lengkap" class="form-label">Nama Lengkap</label>
<input type="text" class="form-control" id="nama_lengkap"
placeholder="Masukkan nama lengkap">
</div>
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<input type="email" class="form-control" id="email"
placeholder="Masukkan alamat email">
</div>
<div class="mb-3">
<label for="nisn" class="form-label">NISN (jika siswa)</label>
<input type="text" class="form-control" id="nisn" placeholder="Masukkan NISN">
</div>
<div class="mb-3">
<label for="role" class="form-label">Role</label>
<select class="form-select" id="role">
<option selected>Pilih role...</option>
<option value="siswa">Siswa</option>
<option value="penjaga perpus">Penjaga Perpus</option>
</select>
</div>
<div class="row">
<div class="col-md-6 mb-3">
<label for="password" class="form-label">Password</label>
<input type="password" class="form-control" id="password">
</div>
<div class="col-md-6 mb-3">
<label for="password_confirmation" class="form-label">Konfirmasi Password</label>
<input type="password" class="form-control" id="password_confirmation">
</div>
</div>
<hr>
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-primary">Simpan Pengguna</button>
</div>
</form>
</div>
</div>
<hr>
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-primary">Simpan Pengguna</button>
</div>
</form>
</div>
</div>
</div>
</x-app-layout>
</x-app-layout>

View File

@ -1,47 +1,62 @@
<x-app-layout>
@section('page-title', $pageTitle)
<div class="card shadow-sm border-0">
<div class="card-header bg-white d-flex align-items-center">
<a href="{{ route('admin.pengguna.index') }}" class="btn btn-light me-2"><i class="bi bi-arrow-left"></i></a>
<h5 class="my-0 fw-bold">Formulir Edit Pengguna</h5>
</div>
<div class="card-body">
<form action="#" method="POST">
<div class="mb-3">
<label for="nama_lengkap" class="form-label">Nama Lengkap</label>
<input type="text" class="form-control" id="nama_lengkap" value="{{ $pengguna['nama_lengkap'] }}">
</div>
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<input type="email" class="form-control" id="email" value="{{ $pengguna['email'] }}">
</div>
<div class="mb-3">
<label for="nisn" class="form-label">NISN (jika siswa)</label>
<input type="text" class="form-control" id="nisn" value="{{ $pengguna['nisn'] ?? '' }}">
</div>
<div class="mb-3">
<label for="role" class="form-label">Role</label>
<select class="form-select" id="role">
<option>Pilih role...</option>
<option value="siswa" @if($pengguna['role'] == 'siswa') selected @endif>Siswa</option>
<option value="penjaga perpus" @if($pengguna['role'] == 'penjaga perpus') selected @endif>Penjaga Perpus</option>
</select>
</div>
<div class="row">
<div class="col-md-6 mb-3">
<label for="password" class="form-label">Password Baru</label>
<input type="password" class="form-control" id="password" placeholder="Kosongkan jika tidak diubah">
</div>
<div class="col-md-6 mb-3">
<label for="password_confirmation" class="form-label">Konfirmasi Password</label>
<input type="password" class="form-control" id="password_confirmation">
<div class="d-flex align-items-center mb-4">
<a href="{{ route('admin.pengguna.index') }}" class="btn btn-outline-secondary me-3">
<i class="bi bi-arrow-left"></i>
</a>
<h3 class="my-0 fw-bold">Formulir Edit Pengguna</h3>
</div>
<div class="row justify-content-center">
<div class="col-md-10">
<div class="card border-0 shadow-sm">
<div class="card-body p-4">
<div class="card-body">
<form action="#" method="POST">
<div class="mb-3">
<label for="nama_lengkap" class="form-label">Nama Lengkap</label>
<input type="text" class="form-control" id="nama_lengkap"
value="{{ $pengguna['nama_lengkap'] }}">
</div>
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<input type="email" class="form-control" id="email"
value="{{ $pengguna['email'] }}">
</div>
<div class="mb-3">
<label for="nisn" class="form-label">NISN (jika siswa)</label>
<input type="text" class="form-control" id="nisn"
value="{{ $pengguna['nisn'] ?? '' }}">
</div>
<div class="mb-3">
<label for="role" class="form-label">Role</label>
<select class="form-select" id="role">
<option>Pilih role...</option>
<option value="siswa" @if ($pengguna['role'] == 'siswa') selected @endif>Siswa
</option>
<option value="penjaga perpus" @if ($pengguna['role'] == 'penjaga perpus') selected @endif>
Penjaga Perpus</option>
</select>
</div>
<div class="row">
<div class="col-md-6 mb-3">
<label for="password" class="form-label">Password Baru</label>
<input type="password" class="form-control" id="password"
placeholder="Kosongkan jika tidak diubah">
</div>
<div class="col-md-6 mb-3">
<label for="password_confirmation" class="form-label">Konfirmasi Password</label>
<input type="password" class="form-control" id="password_confirmation">
</div>
</div>
<hr>
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-primary">Simpan Perubahan</button>
</div>
</form>
</div>
</div>
<hr>
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-primary">Simpan Perubahan</button>
</div>
</form>
</div>
</div>
</div>
</x-app-layout>
</x-app-layout>

View File

@ -1,40 +1,47 @@
<x-app-layout>
@section('page-title', $pageTitle)
<div class="d-flex align-items-center mb-4">
<a href="{{ route('admin.pengguna.index') }}" class="btn btn-outline-secondary me-3">
<i class="bi bi-arrow-left"></i>
</a>
<h3 class="my-0 fw-bold">Formulir Tambah Pengumuman</h3>
</div>
<div class="card shadow-sm border-0">
<div class="card-header bg-white d-flex align-items-center">
<a href="{{ route('admin.pengumuman.index') }}" class="btn btn-light me-2">
<i class="bi bi-arrow-left"></i>
</a>
<h5 class="my-0 fw-bold">Formulir Pengumuman Baru</h5>
</div>
<div class="card-body">
<form action="#" method="POST">
{{-- Form ini tidak akan berfungsi karena tidak ada backend --}}
<div class="mb-3">
<label for="judul" class="form-label">Judul Pengumuman</label>
<input type="text" class="form-control" id="judul" placeholder="Masukkan judul pengumuman">
<div class="row justify-content-center">
<div class="col-md-10">
<div class="card border-0 shadow-sm">
<div class="card-body p-4">
<div class="card-body">
<form action="#" method="POST">
{{-- Form ini tidak akan berfungsi karena tidak ada backend --}}
<div class="mb-3">
<label for="judul" class="form-label">Judul Pengumuman</label>
<input type="text" class="form-control" id="judul"
placeholder="Masukkan judul pengumuman">
</div>
<div class="mb-3">
<label for="tipe" class="form-label">Tipe Pengumuman</label>
<select class="form-select" id="tipe">
<option selected>Pilih tipe...</option>
<option value="info">Info</option>
<option value="success">Success</option>
<option value="warning">Warning</option>
<option value="danger">Danger</option>
<option value="secondary">Secondary</option>
</select>
</div>
<div class="mb-3">
<label for="content" class="form-label">Isi Pengumuman</label>
<textarea class="form-control" id="content" rows="5" placeholder="Tulis isi pengumuman di sini..."></textarea>
</div>
<hr>
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-primary">Simpan Pengumuman</button>
</div>
</form>
</div>
</div>
<div class="mb-3">
<label for="tipe" class="form-label">Tipe Pengumuman</label>
<select class="form-select" id="tipe">
<option selected>Pilih tipe...</option>
<option value="info">Info</option>
<option value="success">Success</option>
<option value="warning">Warning</option>
<option value="danger">Danger</option>
<option value="secondary">Secondary</option>
</select>
</div>
<div class="mb-3">
<label for="content" class="form-label">Isi Pengumuman</label>
<textarea class="form-control" id="content" rows="5" placeholder="Tulis isi pengumuman di sini..."></textarea>
</div>
<hr>
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-primary">Simpan Pengumuman</button>
</div>
</form>
</div>
</div>
</div>
</x-app-layout>
</x-app-layout>

View File

@ -1,40 +1,52 @@
<x-app-layout>
@section('page-title', $pageTitle)
<div class="d-flex align-items-center mb-4">
<a href="{{ route('admin.pengguna.index') }}" class="btn btn-outline-secondary me-3">
<i class="bi bi-arrow-left"></i>
</a>
<h3 class="my-0 fw-bold">Formulir Edit Pengumuman</h3>
</div>
<div class="card shadow-sm border-0">
<div class="card-header bg-white d-flex align-items-center">
<a href="{{ route('admin.pengumuman.index') }}" class="btn btn-light me-2">
<i class="bi bi-arrow-left"></i>
</a>
<h5 class="my-0 fw-bold">Formulir Edit Pengumuman</h5>
</div>
<div class="card-body">
<form action="#" method="POST">
{{-- Form ini tidak akan berfungsi karena tidak ada backend --}}
<div class="mb-3">
<label for="judul" class="form-label">Judul Pengumuman</label>
<input type="text" class="form-control" id="judul" value="{{ $pengumuman['title'] }}">
<div class="row justify-content-center">
<div class="col-md-10">
<div class="card border-0 shadow-sm">
<div class="card-body p-4">
<div class="card-body">
<form action="#" method="POST">
{{-- Form ini tidak akan berfungsi karena tidak ada backend --}}
<div class="mb-3">
<label for="judul" class="form-label">Judul Pengumuman</label>
<input type="text" class="form-control" id="judul"
value="{{ $pengumuman['title'] }}">
</div>
<div class="mb-3">
<label for="tipe" class="form-label">Tipe Pengumuman</label>
<select class="form-select" id="tipe">
<option>Pilih tipe...</option>
<option value="info" @if ($pengumuman['type'] == 'info') selected @endif>Info
</option>
<option value="success" @if ($pengumuman['type'] == 'success') selected @endif>Success
</option>
<option value="warning" @if ($pengumuman['type'] == 'warning') selected @endif>Warning
</option>
<option value="danger" @if ($pengumuman['type'] == 'danger') selected @endif>Danger
</option>
<option value="secondary" @if ($pengumuman['type'] == 'secondary') selected @endif>
Secondary</option>
</select>
</div>
<div class="mb-3">
<label for="content" class="form-label">Isi Pengumuman</label>
<textarea class="form-control" id="content" rows="5">{{ $pengumuman['content'] }}</textarea>
</div>
<hr>
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-primary">Simpan Perubahan</button>
</div>
</form>
</div>
</div>
<div class="mb-3">
<label for="tipe" class="form-label">Tipe Pengumuman</label>
<select class="form-select" id="tipe">
<option>Pilih tipe...</option>
<option value="info" @if($pengumuman['type'] == 'info') selected @endif>Info</option>
<option value="success" @if($pengumuman['type'] == 'success') selected @endif>Success</option>
<option value="warning" @if($pengumuman['type'] == 'warning') selected @endif>Warning</option>
<option value="danger" @if($pengumuman['type'] == 'danger') selected @endif>Danger</option>
<option value="secondary" @if($pengumuman['type'] == 'secondary') selected @endif>Secondary</option>
</select>
</div>
<div class="mb-3">
<label for="content" class="form-label">Isi Pengumuman</label>
<textarea class="form-control" id="content" rows="5">{{ $pengumuman['content'] }}</textarea>
</div>
<hr>
<div class="d-flex justify-content-end">
<button type="submit" class="btn btn-primary">Simpan Perubahan</button>
</div>
</form>
</div>
</div>
</div>
</x-app-layout>
</x-app-layout>

View File

@ -1,18 +1,34 @@
<x-app-layout>
@section('page-title', $pageTitle)
<div class="card shadow-sm border-0">
<div class="card-header bg-white d-flex align-items-center">
<a href="{{ route('admin.rekomendasi.index') }}" class="btn btn-light me-2"><i class="bi bi-arrow-left"></i></a>
<h5 class="my-0 fw-bold">Formulir Rekomendasi Baru</h5>
</div>
<div class="card-body">
<form action="#" method="POST">
<div class="mb-3"><label class="form-label">Judul</label><input type="text" class="form-control"></div>
<div class="mb-3"><label class="form-label">Kategori</label><input type="text" class="form-control" placeholder="Contoh: Teknologi, Sains, Biologi"></div>
<div class="mb-3"><label class="form-label">Link YouTube</label><input type="url" class="form-control" placeholder="https://www.youtube.com/watch?v=xxxxxx"></div>
<div class="mb-3"><label class="form-label">Deskripsi</label><textarea name="deskripsi" id="editor"></textarea></div>
<hr><div class="d-flex justify-content-end"><button type="submit" class="btn btn-primary">Simpan</button></div>
</form>
<div class="d-flex align-items-center mb-4">
<a href="{{ route('admin.pengguna.index') }}" class="btn btn-outline-secondary me-3">
<i class="bi bi-arrow-left"></i>
</a>
<h3 class="my-0 fw-bold">Formulir Tambah Rekomendasi</h3>
</div>
<div class="row justify-content-center">
<div class="col-md-10">
<div class="card border-0 shadow-sm">
<div class="card-body p-4">
<div class="card-body">
<form action="#" method="POST">
<div class="mb-3"><label class="form-label">Judul</label><input type="text"
class="form-control"></div>
<div class="mb-3"><label class="form-label">Kategori</label><input type="text"
class="form-control" placeholder="Contoh: Teknologi, Sains, Biologi"></div>
<div class="mb-3"><label class="form-label">Link YouTube</label><input type="url"
class="form-control" placeholder="https://www.youtube.com/watch?v=xxxxxx"></div>
<div class="mb-3"><label class="form-label">Deskripsi</label>
<textarea name="deskripsi" id="editor"></textarea>
</div>
<hr>
<div class="d-flex justify-content-end"><button type="submit"
class="btn btn-primary">Simpan</button></div>
</form>
</div>
</div>
</div>
</div>
</div>
@push('scripts')
@ -21,4 +37,4 @@
CKEDITOR.replace('editor');
</script>
@endpush
</x-app-layout>
</x-app-layout>

View File

@ -1,18 +1,34 @@
<x-app-layout>
@section('page-title', $pageTitle)
<div class="card shadow-sm border-0">
<div class="card-header bg-white d-flex align-items-center">
<a href="{{ route('admin.rekomendasi.index') }}" class="btn btn-light me-2"><i class="bi bi-arrow-left"></i></a>
<h5 class="my-0 fw-bold">Formulir Edit Rekomendasi</h5>
</div>
<div class="card-body">
<form action="#" method="POST">
<div class="mb-3"><label class="form-label">Judul</label><input type="text" class="form-control" value="{{ $rekomendasi['judul'] }}"></div>
<div class="mb-3"><label class="form-label">Kategori</label><input type="text" class="form-control" value="{{ $rekomendasi['kategori'] }}"></div>
<div class="mb-3"><label class="form-label">Link YouTube</label><input type="url" class="form-control" value="{{ $rekomendasi['youtube_link'] }}"></div>
<div class="mb-3"><label class="form-label">Deskripsi</label><textarea name="deskripsi" id="editor">{{ $rekomendasi['deskripsi'] }}</textarea></div>
<hr><div class="d-flex justify-content-end"><button type="submit" class="btn btn-primary">Simpan Perubahan</button></div>
</form>
<div class="d-flex align-items-center mb-4">
<a href="{{ route('admin.pengguna.index') }}" class="btn btn-outline-secondary me-3">
<i class="bi bi-arrow-left"></i>
</a>
<h3 class="my-0 fw-bold">Formulir Edit Rekomendasi</h3>
</div>
<div class="row justify-content-center">
<div class="col-md-10">
<div class="card border-0 shadow-sm">
<div class="card-body p-4">
<div class="card-body">
<form action="#" method="POST">
<div class="mb-3"><label class="form-label">Judul</label><input type="text"
class="form-control" value="{{ $rekomendasi['judul'] }}"></div>
<div class="mb-3"><label class="form-label">Kategori</label><input type="text"
class="form-control" value="{{ $rekomendasi['kategori'] }}"></div>
<div class="mb-3"><label class="form-label">Link YouTube</label><input type="url"
class="form-control" value="{{ $rekomendasi['youtube_link'] }}"></div>
<div class="mb-3"><label class="form-label">Deskripsi</label>
<textarea name="deskripsi" id="editor">{{ $rekomendasi['deskripsi'] }}</textarea>
</div>
<hr>
<div class="d-flex justify-content-end"><button type="submit"
class="btn btn-primary">Simpan Perubahan</button></div>
</form>
</div>
</div>
</div>
</div>
</div>
@push('scripts')
@ -21,4 +37,4 @@
CKEDITOR.replace('editor');
</script>
@endpush
</x-app-layout>
</x-app-layout>

View File

@ -1,40 +1,41 @@
<x-app-layout>
@section('page-title', 'Profil')
<div class="row-g-3 g-md-4">
<div class="row g-3 g-md-4 min-vh-100 pb-4">
{{-- =================================================================== --}}
{{-- TAMPILAN PROFIL UNTUK PENJAGA PERPUSTAKAAN --}}
{{-- =================================================================== --}}
@if (Auth::user()->role == 'penjaga perpus')
<h1 class="h2 mb-3 mb-md-4">Profil Petugas</h1>
<div class="row g-3 g-md-4">
<div class="row g-3 g-md-4 h-100">
{{-- Kolom Kiri: Info & Statistik Global --}}
<div class="col-lg-8">
<div class="col-lg-8 d-flex flex-column">
{{-- Info Petugas --}}
<div class="card border-0 mb-3 mb-md-4">
<div class="card-body p-3 p-md-4 d-flex flex-column flex-sm-row align-items-center text-center text-sm-start">
<img src="https://ui-avatars.com/api/?name={{ urlencode($user->name) }}&background=435ebe&color=fff&size=80&rounded=true"
alt="Foto Profil"
class="rounded-circle profile-avatar-lg mb-3 mb-sm-0">
<div
class="card-body p-3 p-md-4 d-flex flex-column flex-sm-row align-items-center text-center text-sm-start">
<img src="https://ui-avatars.com/api/?name={{ urlencode($user->name) }}&background=435ebe&color=fff&size=80&rounded=true"
alt="Foto Profil" class="rounded-circle profile-avatar-lg mb-3 mb-sm-0">
<div class="ms-sm-4">
<h4 class="fw-bold mb-1">{{ $user->name }}</h4>
<span class="badge rounded-pill bg-success-subtle text-success-emphasis">{{ Str::title($user->role) }}</span>
<span
class="badge rounded-pill bg-success-subtle text-success-emphasis">{{ Str::title($user->role) }}</span>
</div>
</div>
</div>
{{-- Statistik Perpustakaan --}}
<div class="card border-0">
<div class="card-body p-3 p-md-4">
<h5 class="fw-bold mb-3">Statistik Perpustakaan</h5>
<div class="d-flex flex-column flex-sm-row justify-content-around text-center stats-container">
<div class="card border-0 flex-grow-1">
<div class="card-body p-3 p-md-4 d-flex flex-column h-100">
<h5 class="fw-bold mb-4">Statistik Perpustakaan</h5>
<div
class="d-flex flex-column flex-sm-row justify-content-around text-center stats-container flex-grow-1 align-items-center">
@foreach ($statistik as $stat)
<div class="flex-fill stat-item">
<i class="bi {{ $stat['icon'] }} fs-4 fs-sm-3 text-{{ $stat['color'] }}"></i>
<h5 class="fw-bolder mb-0 mt-2">{{ $stat['value'] }}</h5>
<small class="text-muted">{{ $stat['label'] }}</small>
<div class="flex-fill stat-item py-3">
<i class="bi {{ $stat['icon'] }} fs-1 text-{{ $stat['color'] }} mb-3"></i>
<h4 class="fw-bolder mb-2 mt-2">{{ $stat['value'] }}</h4>
<p class="text-muted mb-0">{{ $stat['label'] }}</p>
</div>
@endforeach
</div>
@ -43,20 +44,26 @@ class="rounded-circle profile-avatar-lg mb-3 mb-sm-0">
</div>
{{-- Kolom Kanan: Pintasan & Aktivitas --}}
<div class="col-lg-4">
<div class="col-lg-4 d-flex flex-column">
{{-- Pintasan Manajemen --}}
<div class="card border-0 mb-3 mb-md-4">
<div class="card-body p-3 p-md-4">
<h5 class="fw-bold mb-3">Pintasan Manajemen</h5>
<div class="d-grid gap-2">
<a href="{{ route('admin.buku.index') }}" class="btn btn-light text-start">
<i class="bi bi-book-fill me-2"></i> Kelola Buku
<div class="card border-0 mb-3 mb-md-4 flex-grow-1">
<div class="card-body p-3 p-md-4 d-flex flex-column h-100">
<h5 class="fw-bold mb-4">Pintasan Manajemen</h5>
<div class="d-grid gap-3 flex-grow-1">
<a href="{{ route('admin.buku.index') }}"
class="btn btn-light text-start py-3 d-flex align-items-center">
<i class="bi bi-book-fill me-3 fs-4"></i>
<span>Kelola Buku</span>
</a>
<a href="{{ route('admin.pengguna.index') }}" class="btn btn-light text-start">
<i class="bi bi-people-fill me-2"></i> Kelola Pengguna
<a href="{{ route('admin.pengguna.index') }}"
class="btn btn-light text-start py-3 d-flex align-items-center">
<i class="bi bi-people-fill me-3 fs-4"></i>
<span>Kelola Pengguna</span>
</a>
<a href="{{ route('admin.pengumuman.index') }}" class="btn btn-light text-start">
<i class="bi bi-megaphone-fill me-2"></i> Kelola Pengumuman
<a href="{{ route('admin.pengumuman.index') }}"
class="btn btn-light text-start py-3 d-flex align-items-center">
<i class="bi bi-megaphone-fill me-3 fs-4"></i>
<span>Kelola Pengumuman</span>
</a>
</div>
</div>
@ -66,9 +73,11 @@ class="rounded-circle profile-avatar-lg mb-3 mb-sm-0">
<div class="card border-0">
<div class="card-body p-3 p-md-4">
<h5 class="fw-bold mb-3">Keamanan Akun</h5>
<p class="small text-muted mb-3">Ubah password Anda secara berkala.</p>
<a href="{{ route('profile.edit') }}" class="btn btn-outline-secondary rounded-pill w-100 w-sm-auto">
Ubah Password
<p class="small text-muted mb-3">Ubah password Anda secara berkala untuk menjaga keamanan
akun.</p>
<a href="{{ route('profile.edit') }}"
class="btn btn-outline-secondary rounded-pill w-100 py-2">
<i class="bi bi-shield-lock me-2"></i>Ubah Password
</a>
</div>
</div>
@ -79,55 +88,65 @@ class="rounded-circle profile-avatar-lg mb-3 mb-sm-0">
{{-- TAMPILAN PROFIL UNTUK GURU --}}
{{-- =================================================================== --}}
@elseif (Auth::user()->role == 'guru')
<h1 class="h2 mb-3 mb-md-4">Profil Guru</h1>
<div class="row g-3 g-md-4">
<div class="col-12">
<h1 class="h2 mb-3 mb-md-4">Profil Guru</h1>
</div>
<div class="row g-3 g-md-4 h-100">
{{-- Kolom Kiri: Info & Ringkasan Laporan --}}
<div class="col-lg-8">
<div class="col-lg-8 d-flex flex-column">
{{-- Info Guru --}}
<div class="card border-0 mb-3 mb-md-4">
<div class="card-body p-3 p-md-4 d-flex flex-column flex-md-row align-items-center text-center text-md-start">
<img src="https://ui-avatars.com/api/?name={{ urlencode($user->name) }}&background=198754&color=fff&size=80&rounded=true"
alt="Foto Profil"
class="rounded-circle profile-avatar-lg mb-3 mb-md-0">
<div
class="card-body p-3 p-md-4 d-flex flex-column flex-md-row align-items-center text-center text-md-start">
<img src="https://ui-avatars.com/api/?name={{ urlencode($user->name) }}&background=198754&color=fff&size=80&rounded=true"
alt="Foto Profil" class="rounded-circle profile-avatar-lg mb-3 mb-md-0">
<div class="ms-md-4 mb-3 mb-md-0">
<h4 class="fw-bold mb-1">{{ $user->name }}</h4>
<span class="badge rounded-pill bg-success-subtle text-success-emphasis">{{ Str::title($user->role) }}</span>
<span
class="badge rounded-pill bg-success-subtle text-success-emphasis">{{ Str::title($user->role) }}</span>
</div>
<a href="{{ route('profile.edit') }}" class="btn btn-outline-primary rounded-pill w-100 w-md-auto ms-md-auto">
<a href="{{ route('profile.edit') }}"
class="btn btn-outline-primary rounded-pill w-100 w-md-auto ms-md-auto">
<i class="bi bi-pencil-square me-2"></i>Edit Profil
</a>
</div>
</div>
{{-- Ringkasan Laporan Minat Baca --}}
<div class="card border-0">
<div class="card-body p-3 p-md-4">
<div class="d-flex flex-column flex-sm-row justify-content-between align-items-start align-items-sm-center mb-3 gap-2">
<div class="card border-0 flex-grow-1">
<div class="card-body p-3 p-md-4 d-flex flex-column h-100">
<div
class="d-flex flex-column flex-sm-row justify-content-between align-items-start align-items-sm-center mb-4 gap-2">
<h5 class="fw-bold mb-0">Ringkasan Laporan Minat Baca</h5>
<a href="{{ route('guru.laporan.index') }}" class="btn btn-sm btn-outline-primary rounded-pill w-100 w-sm-auto">
<a href="{{ route('guru.laporan.index') }}"
class="btn btn-sm btn-outline-primary rounded-pill w-100 w-sm-auto">
Lihat Laporan Lengkap
</a>
</div>
<div class="row">
<div class="row flex-grow-1">
<div class="col-md-6 mb-3 mb-md-0">
<h6 class="small text-muted mb-2">Buku Terpopuler</h6>
<h6 class="small text-muted mb-3 text-uppercase fw-semibold">Buku Terpopuler</h6>
<ul class="list-group list-group-flush laporan-list">
@foreach($laporan['buku_terpopuler'] as $buku)
<li class="list-group-item px-0 d-flex justify-content-between align-items-center">
@foreach ($laporan['buku_terpopuler'] as $buku)
<li
class="list-group-item px-0 py-3 d-flex justify-content-between align-items-center">
<span class="text-truncate me-2">{{ $buku['judul'] }}</span>
<span class="fw-bold flex-shrink-0">{{ $buku['total_pembaca'] }}</span>
<span
class="badge bg-primary rounded-pill">{{ $buku['total_pembaca'] }}</span>
</li>
@endforeach
</ul>
</div>
<div class="col-md-6">
<h6 class="small text-muted mb-2">Kategori Terpopuler</h6>
<h6 class="small text-muted mb-3 text-uppercase fw-semibold">Kategori Terpopuler
</h6>
<ul class="list-group list-group-flush laporan-list">
@foreach($laporan['kategori_populer'] as $kategori)
<li class="list-group-item px-0 d-flex justify-content-between align-items-center">
@foreach ($laporan['kategori_populer'] as $kategori)
<li
class="list-group-item px-0 py-3 d-flex justify-content-between align-items-center">
<span class="text-truncate me-2">{{ $kategori['nama'] }}</span>
<span class="fw-bold flex-shrink-0">{{ $kategori['total_pembaca'] }}</span>
<span
class="badge bg-success rounded-pill">{{ $kategori['total_pembaca'] }}</span>
</li>
@endforeach
</ul>
@ -139,7 +158,10 @@ class="rounded-circle profile-avatar-lg mb-3 mb-md-0">
{{-- Kolom Kanan: Aktivitas Personal Guru --}}
<div class="col-lg-4">
@include('profile.partials.personal-activities', ['bukuOffline' => $bukuOffline, 'bukuOnline' => $bukuOnline])
@include('profile.partials.personal-activities', [
'bukuOffline' => $bukuOffline,
'bukuOnline' => $bukuOnline,
])
</div>
</div>
@ -147,22 +169,25 @@ class="rounded-circle profile-avatar-lg mb-3 mb-md-0">
{{-- TAMPILAN PROFIL UNTUK SISWA (DEFAULT) --}}
{{-- =================================================================== --}}
@else
<h1 class="h2 mb-3 mb-md-4">Profil Saya</h1>
<div class="row g-3 g-md-4">
<div class="col-12">
<h1 class="h2 mb-3 mb-md-4">Profil Saya</h1>
</div>
<div class="row g-3 g-md-4 h-100">
{{-- Kolom Kiri: Info & Statistik Siswa --}}
<div class="col-lg-8">
<div class="col-lg-8 d-flex flex-column">
{{-- Info Siswa --}}
<div class="card border-0 mb-3 mb-md-4">
<div class="card-body p-3 p-md-4">
<div class="d-flex flex-column flex-md-row align-items-center text-center text-md-start">
<img src="https://ui-avatars.com/api/?name={{ urlencode($user->name) }}&background=435ebe&color=fff&size=80&rounded=true"
alt="Foto Profil"
class="rounded-circle profile-avatar-lg mb-3 mb-md-0">
<img src="https://ui-avatars.com/api/?name={{ urlencode($user->name) }}&background=435ebe&color=fff&size=80&rounded=true"
alt="Foto Profil" class="rounded-circle profile-avatar-lg mb-3 mb-md-0">
<div class="ms-md-4 mb-3 mb-md-0">
<h4 class="fw-bold mb-1">{{ $user->name }}</h4>
<span class="badge rounded-pill bg-primary-subtle text-primary-emphasis">{{ Str::title($user->role) }}</span>
<span
class="badge rounded-pill bg-primary-subtle text-primary-emphasis">{{ Str::title($user->role) }}</span>
</div>
<a href="{{ route('profile.edit') }}" class="btn btn-outline-primary rounded-pill ms-md-auto">
<a href="{{ route('profile.edit') }}"
class="btn btn-outline-primary rounded-pill ms-md-auto">
<i class="bi bi-pencil-square me-2"></i>Edit Profil
</a>
</div>
@ -190,15 +215,16 @@ class="rounded-circle profile-avatar-lg mb-3 mb-md-0">
</div>
{{-- Statistik Personal Siswa --}}
<div class="card border-0">
<div class="card-body p-3 p-md-4">
<h5 class="fw-bold mb-3">Statistik Saya</h5>
<div class="d-flex flex-column flex-sm-row justify-content-around text-center stats-container">
<div class="card border-0 flex-grow-1">
<div class="card-body p-3 p-md-4 d-flex flex-column h-100">
<h5 class="fw-bold mb-4">Statistik Saya</h5>
<div
class="d-flex flex-column flex-sm-row justify-content-around text-center stats-container flex-grow-1 align-items-center">
@foreach ($statistik as $stat)
<div class="flex-fill stat-item">
<i class="bi {{ $stat['icon'] }} fs-4 fs-sm-3 text-{{ $stat['color'] }}"></i>
<h5 class="fw-bolder mb-0 mt-2">{{ $stat['value'] }}</h5>
<small class="text-muted">{{ $stat['label'] }}</small>
<div class="flex-fill stat-item py-3">
<i class="bi {{ $stat['icon'] }} fs-1 text-{{ $stat['color'] }} mb-3"></i>
<h4 class="fw-bolder mb-2 mt-2">{{ $stat['value'] }}</h4>
<p class="text-muted mb-0">{{ $stat['label'] }}</p>
</div>
@endforeach
</div>
@ -208,10 +234,13 @@ class="rounded-circle profile-avatar-lg mb-3 mb-md-0">
{{-- Kolom Kanan: Aktivitas Personal Siswa --}}
<div class="col-lg-4">
@include('profile.partials.personal-activities', ['bukuOffline' => $bukuOffline, 'bukuOnline' => $bukuOnline])
@include('profile.partials.personal-activities', [
'bukuOffline' => $bukuOffline,
'bukuOnline' => $bukuOnline,
])
</div>
</div>
@endif
</div>
</x-app-layout>
</x-app-layout>