diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index 666c02b..85866e4 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -16,8 +16,8 @@ public function index() $pemberitahuan = DummyDataService::getPemberitahuan(); $progressMembaca = DummyDataService::getProgressMembaca(); $statistikBulanan = DummyDataService::getStatistikBulanan(); - $bukuPinjamOffline = DummyDataService::getBukuPinjamOffline(); - $bacaBukuOnline = DummyDataService::getBacaBukuOnline(); + $bukuPinjamOffline = DummyDataService::getBukuPinjamOffline($user); + $bacaBukuOnline = DummyDataService::getBacaBukuOnline($user); return view('dashboard', compact( 'user', diff --git a/app/Services/DummyDataService.php b/app/Services/DummyDataService.php index 1e096d5..0bd8db8 100644 --- a/app/Services/DummyDataService.php +++ b/app/Services/DummyDataService.php @@ -132,20 +132,21 @@ private static function getAllBooks() return collect([ [ 'id' => 1, - 'judul' => 'Modul Ajar IPAS', - 'penulis' => 'Tim Kemdikbud Ristek', + 'judul' => 'Modul Ajar IPAS', + 'penulis' => 'Tim Kemdikbud Ristek', 'cover' => 'images/covers/ipas.jpg', 'kategori' => 'Sains', 'tahun' => 2022, 'status' => 'Tersedia', 'is_new' => true, - 'tipe_akses' => 'online', + 'tipe_akses' => 'online', 'progress' => 75, + 'user_id' => 1, ], [ 'id' => 2, - 'judul' => 'Modul Ajar Pendidikan Pancasila', - 'penulis' => 'Tim Guru Pancasila', + 'judul' => 'Modul Ajar Pendidikan Pancasila', + 'penulis' => 'Tim Guru Pancasila', 'cover' => 'images/covers/pancasila.jpg', 'kategori' => 'Pendidikan', 'tahun' => 2023, @@ -153,64 +154,103 @@ private static function getAllBooks() 'is_new' => false, 'tipe_akses' => 'online', 'progress' => 100, + 'user_id' => [3, 1], ], [ 'id' => 3, - 'judul' => 'Modul Belajar Sosiologi', - 'penulis' => 'Tim Cendekia', + 'judul' => 'Modul Belajar Sosiologi', + 'penulis' => 'Tim Cendekia', 'cover' => 'images/covers/sosiologi.jpg', 'kategori' => 'Sosial', 'tahun' => 2021, 'status' => 'Dipinjam', 'is_new' => false, - 'tipe_akses' => 'offline', + 'tipe_akses' => 'offline', 'sisa_hari' => 8, + 'user_id' => 3, ], [ 'id' => 4, - 'judul' => 'Modul Pembelajaran Seni Budaya', - 'penulis' => 'Cahya Wulan, S.Pd.', + 'judul' => 'Modul Pembelajaran Seni Budaya', + 'penulis' => 'Cahya Wulan, S.Pd.', 'cover' => 'images/covers/senbud.jpg', 'kategori' => 'Seni', 'tahun' => 2022, 'status' => 'Dipinjam', 'is_new' => false, - 'tipe_akses' => 'offline', + 'tipe_akses' => 'offline', 'sisa_hari' => 14, + 'user_id' => [1, 3], ], [ 'id' => 5, - 'judul' => 'Yuk, Mari SEKOLAH', - 'penulis' => 'Dr. Budi Santoso', - 'cover' => 'images/covers/ipas.jpg', + 'judul' => 'Si Anak Pintar', + 'penulis' => 'Tere Liye', + 'cover' => 'images/covers/sianakpintar.jpg', 'kategori' => 'Fiksi', - 'tahun' => 2022, - 'status' => 'Tersedia', - 'is_new' => false, - 'tipe_akses' => null, + 'tahun' => 2018, + 'status' => 'Dipinjam', + 'is_new' => true, + 'tipe_akses' => 'offline', + 'sisa_hari' => 5, + 'user_id' => 1, ], [ 'id' => 6, - 'judul' => 'Yuk, Mari SEKOLAH', - 'penulis' => 'Dr. Budi Santoso', - 'cover' => 'images/covers/ipas.jpg', - 'kategori' => 'Fiksi', - 'tahun' => 2022, + 'judul' => 'Matematika Dasar', + 'penulis' => 'Prof. Dr. Matematikus', + 'cover' => 'images/covers/mtk.jpg', + 'kategori' => 'Pendidikan', + 'tahun' => 2023, + 'status' => 'Tersedia', + 'is_new' => true, + 'tipe_akses' => 'online', + 'progress' => 40, + 'user_id' => [1,4,5], + ], + [ + 'id' => 7, + 'judul' => 'The Last Spell Breather', + 'penulis' => 'Julie Pike', + 'cover' => 'images/covers/thelastspellbreather.jpg', + 'kategori' => 'Fantasi', + 'tahun' => 2024, + 'status' => 'Tersedia', + 'is_new' => true, + 'tipe_akses' => 'online', + 'progress' => 0, + 'user_id' => [3,1] + ], + [ + 'id' => 8, + 'judul' => 'Buku Offline Tanpa Peminjam', + 'penulis' => 'Penulis Misteri', + 'cover' => 'images/covers/sosiologi.jpg', + 'kategori' => 'Misteri', + 'tahun' => 2020, 'status' => 'Tersedia', 'is_new' => false, 'tipe_akses' => 'offline', - 'sisa_hari' => 13 + 'sisa_hari' => null ], ]); } /** - * Data untuk buku pinjam offline (Diringkas) + * Data untuk buku pinjam offline */ - public static function getBukuPinjamOffline(): array + public static function getBukuPinjamOffline($user): array { return self::getAllBooks() ->where('tipe_akses', 'offline') + ->filter(function ($buku) use ($user) { + if (!isset($buku['user_id'])) return false; + + if (is_array($buku['user_id'])) { + return in_array($user->id, $buku['user_id']); + } + return $buku['user_id'] == $user->id; + }) ->map(fn($buku) => [ 'judul' => $buku['judul'], 'penulis' => $buku['penulis'], @@ -222,12 +262,20 @@ public static function getBukuPinjamOffline(): array } /** - * Data untuk baca buku online (Diringkas) + * Data untuk baca buku online */ - public static function getBacaBukuOnline(): array + public static function getBacaBukuOnline($user): array { return self::getAllBooks() ->where('tipe_akses', 'online') + ->filter(function ($buku) use ($user) { + if (!isset($buku['user_id'])) return false; + + if (is_array($buku['user_id'])) { + return in_array($user->id, $buku['user_id']); + } + return $buku['user_id'] == $user->id; + }) ->map(fn($buku) => [ 'judul' => $buku['judul'], 'penulis' => $buku['penulis'], diff --git a/public/images/covers/mtk.jpg b/public/images/covers/mtk.jpg new file mode 100644 index 0000000..9530d2a Binary files /dev/null and b/public/images/covers/mtk.jpg differ diff --git a/public/images/covers/sianakpintar.jpg b/public/images/covers/sianakpintar.jpg new file mode 100644 index 0000000..bc3b541 Binary files /dev/null and b/public/images/covers/sianakpintar.jpg differ diff --git a/public/images/covers/thelastspellbreather.jpg b/public/images/covers/thelastspellbreather.jpg new file mode 100644 index 0000000..c64a34e Binary files /dev/null and b/public/images/covers/thelastspellbreather.jpg differ diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php index b6be156..b2ef3ea 100644 --- a/resources/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -11,7 +11,6 @@
Apa yang ingin kamu baca hari ini?
-- {{ $buku['penulis'] }} -
++ {{ $buku['penulis'] }} +
+Tidak ada buku yang sedang dibaca secara online.
+ @empty +Tidak ada buku yang sedang dibaca secara online.
+