only(['search', 'kategori', 'tahun', 'penulis']); $filters['tipe_akses'] = 'offline'; $semuaBuku = DummyDataService::getKatalogBuku($filters); $filterOptions = DummyDataService::getFilterOptions(); return view('katalog.index', [ 'semuaBuku' => $semuaBuku, 'filterOptions' => $filterOptions, 'input' => $request->query(), 'pageTitle' => 'Peminjaman Buku Offline', 'mode' => 'offline', ]); } public function ringkasan($id) { $user = Auth::user(); $buku = DummyDataService::getKatalogBuku()->firstWhere('id', $id); return view('katalog.ringkasan', [ 'user' => $user, 'buku' => $buku, 'pageTitle' => 'Ringkasan Buku', 'actionRoute' => 'peminjaman.form', 'actionButtonText' => 'Lanjutkan ke Form Peminjaman', 'actionButtonIcon' => 'bi-file-earmark-text-fill', ]); } public function form($id) { $user = Auth::user(); $buku = DummyDataService::getKatalogBuku()->firstWhere('id', $id); $filters = ['tipe_akses' => 'offline']; $semuaBuku = DummyDataService::getKatalogBuku($filters); return view('peminjaman.form', compact('user', 'buku', 'semuaBuku')); } public function store(Request $request) { $request->validate([ 'buku_ids' => 'required|array|min:1|max:3', 'buku_ids.*' => 'integer' ]); $bukuIds = $request->input('buku_ids'); foreach ($bukuIds as $bukuId) { // Di backend nanti kayak gini // Peminjaman::create([ // 'user_id' => auth()->id(), // 'book_id' => $bukuId, // 'tanggal_pinjam' => now(), // 'tanggal_kembali' => now()->addDays(7), // 'status' => 'dipinjam' // ]); } return redirect()->route('dashboard') ->with('success', 'Berhasil meminjam ' . count($bukuIds) . ' buku!'); } }