From 3ce84b89b48174572c568015b9bff4de6942958d Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Mon, 10 Nov 2025 09:11:48 +0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(daftar-pustaka):=20implementas?= =?UTF-8?q?i=20fitur=20Daftar=20Pustaka=20dengan=20peningkatan=20UI/UX=20&?= =?UTF-8?q?=20breadcrumb=20navigation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 📋 Ringkasan Implementasi penuh fitur Daftar Pustaka dengan peningkatan UI/UX, dukungan gesture swipe di PDF viewer mobile, serta integrasi breadcrumb untuk navigasi yang lebih intuitif. ## 🔄 Perubahan Utama - app/Services/DaftarPustakaService.php • Refactor method getDaftarPustaka(), hapus handleUpload_() • Optimasi filtering & perbaiki format kode - resources/views/daftar-pustaka/create.blade.php • Aktifkan breadcrumb navigation dengan {{ Breadcrumbs::render() }} - resources/views/daftar-pustaka/index.blade.php • Konsolidasi class CSS, perbaikan flex & pagination styling - resources/views/daftar-pustaka/show.blade.php • Tambah gesture swipe (touchstart, touchend) untuk PDF viewer • Implementasi handleSwipe() & threshold swipe 50px - routes/breadcrumbs.php • Tambah route breadcrumbs daftar-pustaka (index, show, create) --- app/Services/DaftarPustakaService.php | 56 ++--- .../views/daftar-pustaka/create.blade.php | 2 +- .../views/daftar-pustaka/index.blade.php | 62 ++--- resources/views/daftar-pustaka/show.blade.php | 230 ++++++++++++------ routes/breadcrumbs.php | 15 ++ 5 files changed, 218 insertions(+), 147 deletions(-) diff --git a/app/Services/DaftarPustakaService.php b/app/Services/DaftarPustakaService.php index d11a23a..e4ec9fc 100644 --- a/app/Services/DaftarPustakaService.php +++ b/app/Services/DaftarPustakaService.php @@ -50,29 +50,30 @@ class DaftarPustakaService // get all with pagination public function getAllDaftarPustaka($request) -{ - $query = DaftarPustaka::query(); + { + $query = DaftarPustaka::query(); - // Filter pencarian - if (!empty($request->get('search'))) { - $search = $request->get('search'); - $query->where(function ($q) use ($search) { - $q->orWhere('judul', 'LIKE', "%$search%"); - }); + // Filter pencarian + if (!empty($request->get('search'))) { + $search = $request->get('search'); + $query->where(function ($q) use ($search) { + $q->orWhere('judul', 'LIKE', "%$search%"); + }); + } + + // Filter kategori + if (!empty($request->get('category'))) { + $category = explode(',', $request->input('category')); + $query->whereIn('category_id', $category); + } + + // Default pagination + $page = (int) $request->get('page', 1); + $size = (int) $request->get('size', 10); + + return $query->paginate($size, ['*'], 'page', $page); } - // Filter kategori - if (!empty($request->get('category'))) { - $category = explode(',', $request->input('category')); - $query->whereIn('category_id', $category); - } - - // Default pagination - $page = (int) $request->get('page', 1); - $size = (int) $request->get('size', 10); - - return $query->paginate($size, ['*'], 'page', $page); -} private function handleUpload($file) { @@ -85,20 +86,5 @@ class DaftarPustakaService return $filePath; } - private function handleUpload_($file) - { - $today = now(); - $folderPath = 'daftar_pustaka/' . $today->format('Y/m/d'); - - if (!file_exists(public_path($folderPath))) { - mkdir(public_path($folderPath), 0755, true); - } - - $fileName = $file->getClientOriginalName(); - $file->move(public_path($folderPath), $fileName); - - return $folderPath . '/' . $fileName; - } - } diff --git a/resources/views/daftar-pustaka/create.blade.php b/resources/views/daftar-pustaka/create.blade.php index b245c3c..5eb6d13 100644 --- a/resources/views/daftar-pustaka/create.blade.php +++ b/resources/views/daftar-pustaka/create.blade.php @@ -1,7 +1,7 @@ @extends('layouts.main') @section('breadcrumbs') - {{-- {{ Breadcrumbs::render(request()->route()->getName()) }} --}} + {{ Breadcrumbs::render(request()->route()->getName()) }} @endsection @section('content') diff --git a/resources/views/daftar-pustaka/index.blade.php b/resources/views/daftar-pustaka/index.blade.php index 057c59f..a745857 100644 --- a/resources/views/daftar-pustaka/index.blade.php +++ b/resources/views/daftar-pustaka/index.blade.php @@ -1,23 +1,23 @@ @extends('layouts.main') @section('breadcrumbs') - {{-- {{ Breadcrumbs::render('basicdata.ijin_usaha') }} --}} + {{ Breadcrumbs::render(request()->route()->getName()) }} @endsection @section('content') -
-
-
+
+
+
@@ -37,8 +37,8 @@
-
-

+
+

page {{ $page }} of {{ $pageCount }} — {{ $limit }} items per page, total {{ $total }} items.

@@ -71,15 +71,15 @@ -
+
@if (isset($daftar_pustaka)) @foreach ($daftar_pustaka as $item) -
+
-
-
- +
+
+
@@ -87,15 +87,15 @@
-

+

{{ $item->judul }}

-

+

{{-- batasi panjang deskripsi 50 --}} {{ substr($item->deskripsi, 0, 50) }}

-
-

+

+

# {{ $item->category->name }}

@auth @@ -124,20 +124,20 @@
-