168 lines
5.5 KiB
PHP
168 lines
5.5 KiB
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
class DummyDataService
|
|
{
|
|
public static function getAllSiswa(): array
|
|
{
|
|
return [
|
|
[
|
|
'id' => 1,
|
|
'nisn' => '1234567890',
|
|
'nama_lengkap' => 'John Doe',
|
|
'email' => 'johnskuy@smkn1perpus.sch.id',
|
|
'nomor_hp' => '081234567890',
|
|
'password' => 'password',
|
|
'role' => 'siswa',
|
|
],
|
|
[
|
|
'id' => 2,
|
|
'nisn' => '1122334455',
|
|
'nama_lengkap' => 'Budi Santoso',
|
|
'email' => 'budi.santoso@smkn1perpus.sch.id',
|
|
'nomor_hp' => '081122334455',
|
|
'password' => 'password',
|
|
'role' => 'guru',
|
|
],
|
|
[
|
|
'id' => 3,
|
|
'nisn' => '9988776655',
|
|
'nama_lengkap' => 'Siti Nurhaliza',
|
|
'email' => 'siti.nurhaliza@smkn1perpus.sch.id',
|
|
'nomor_hp' => '081998877665',
|
|
'password' => 'password',
|
|
'role' => 'siswa',
|
|
],
|
|
[
|
|
'id' => 4,
|
|
'nisn' => '5566778899',
|
|
'nama_lengkap' => 'Andi Pratama',
|
|
'email' => 'andi.pratama@smkn1perpus.sch.id',
|
|
'nomor_hp' => '081556677889',
|
|
'password' => 'password',
|
|
'role' => 'siswa',
|
|
],
|
|
[
|
|
'id' => 5,
|
|
'nisn' => '2233445566',
|
|
'nama_lengkap' => 'Rina Marlina',
|
|
'email' => 'rina.marlina@smkn1perpus.sch.id',
|
|
'nomor_hp' => '081223344556',
|
|
'password' => 'password',
|
|
'role' => 'guru',
|
|
],
|
|
];
|
|
}
|
|
|
|
/**
|
|
* Data untuk 4 kartu statistik
|
|
*/
|
|
public static function getDashboardStats(): array
|
|
{
|
|
return [
|
|
['label' => 'Buku yang dipinjam', 'value' => 3, 'icon' => 'bi-book-half', 'color' => 'primary'],
|
|
['label' => 'Tenggat Waktu', 'value' => '2', 'icon' => 'bi-clock-history', 'color' => 'warning'],
|
|
['label' => 'Buku dikembalikan', 'value' => 12, 'icon' => 'bi-check-circle', 'color' => 'success'],
|
|
['label' => 'History Baca', 'value' => 15, 'icon' => 'bi-hourglass-split', 'color' => 'info'],
|
|
];
|
|
}
|
|
|
|
/**
|
|
* Data untuk pengumuman
|
|
*/
|
|
public static function getPengumuman(): array
|
|
{
|
|
$pengumuman = [
|
|
['type' => 'warning', 'icon' => 'bi-exclamation-triangle-fill', 'title' => 'Perpustakaan Tutup', 'content' => 'Perpustakaan akan tutup pada tanggal 25 Desember untuk perayaan Natal.'],
|
|
['type' => 'info', 'icon' => 'bi-info-circle-fill', 'title' => 'Buku Baru Tersedia', 'content' => 'Edisi baru telah ditambahkan ke koleksi perpustakaan digital.'],
|
|
];
|
|
|
|
// Buat 30 data dummy tambahan
|
|
for ($i = 1; $i <= 30; $i++) {
|
|
$pengumuman[] = ['type' => 'secondary', 'icon' => 'bi-megaphone-fill', 'title' => "Pengumuman Biasa #{$i}", 'content' => "Ini adalah isi dari pengumuman rutin nomor {$i}."];
|
|
}
|
|
|
|
return $pengumuman;
|
|
}
|
|
|
|
/**
|
|
* Data untuk pemberitahuan
|
|
*/
|
|
public static function getPemberitahuan(): array
|
|
{
|
|
$pemberitahuan = [
|
|
['type' => 'danger', 'icon' => 'bi-exclamation-octagon', 'title' => 'Buku Akan Jatuh Tempo Besok', 'content' => 'Sejarah Indonesia Modern', 'badge' => 'Segera!'],
|
|
['type' => 'success', 'icon' => 'bi-check2-circle', 'title' => 'Peminjaman Berhasil', 'content' => 'Buku Kimia Dasar Berhasil Dipinjam', 'badge' => 'Baru'],
|
|
];
|
|
|
|
// Buat 20 data dummy tambahan
|
|
for ($i = 1; $i <= 20; $i++) {
|
|
$pemberitahuan[] = ['type' => 'info', 'icon' => 'bi-bell-fill', 'title' => "Notifikasi Sistem #{$i}", 'content' => "Pemberitahuan sistem terjadwal nomor {$i}.", 'badge' => 'Info'];
|
|
}
|
|
|
|
return $pemberitahuan;
|
|
}
|
|
|
|
/**
|
|
* Data untuk progress membaca (donut chart)
|
|
*/
|
|
public static function getProgressMembaca(): array
|
|
{
|
|
return ['selesai' => 70, 'sisa' => 30];
|
|
}
|
|
|
|
/**
|
|
* Data untuk statistik bulanan (bar chart)
|
|
*/
|
|
public static function getStatistikBulanan(): array
|
|
{
|
|
return [
|
|
'labels' => ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul'],
|
|
'data' => [10, 15, 8, 20, 18, 25, 22],
|
|
];
|
|
}
|
|
|
|
/**
|
|
* Data untuk buku pinjam offline
|
|
*/
|
|
public static function getBukuPinjamOffline(): array
|
|
{
|
|
return [
|
|
[
|
|
'judul' => 'Modul Belajar Sosiologi',
|
|
'penulis' => 'Tim Cendekia',
|
|
'sisa_hari' => 8,
|
|
'cover' => 'images/covers/sosiologi.jpg'
|
|
],
|
|
[
|
|
'judul' => 'Modul Pembelajaran Seni Budaya',
|
|
'penulis' => 'Cahya Wulan, S.Pd.',
|
|
'sisa_hari' => 14,
|
|
'cover' => 'images/covers/senbud.jpg'
|
|
],
|
|
];
|
|
}
|
|
|
|
/**
|
|
* Data untuk baca buku online
|
|
*/
|
|
public static function getBacaBukuOnline(): array
|
|
{
|
|
return [
|
|
[
|
|
'judul' => 'Modul Ajar IPAS',
|
|
'penulis' => 'Tim Kemdikbud Ristek',
|
|
'progress' => 75,
|
|
'cover' => 'images/covers/ipas.jpg'
|
|
],
|
|
[
|
|
'judul' => 'Modul Ajar Pendidikan Pancasila',
|
|
'penulis' => 'Tim Guru Pancasila',
|
|
'progress' => 100,
|
|
'cover' => 'images/covers/pancasila.jpg'
|
|
],
|
|
];
|
|
}
|
|
}
|