MIF_E31230302/resources/views/admin/dashboard.blade.php

250 lines
11 KiB
PHP

@extends('layouts.admin')
@section('title', 'Dashboard Admin')
@section('content')
<div class="container-fluid p-0">
<!-- Hero Banner Modern dengan Animasi Halus -->
<div class="admin-hero-banner mb-4 d-flex justify-content-between align-items-center">
<div>
<span class="badge bg-white text-primary fw-semibold px-3 py-2 rounded-pill mb-2 shadow-sm">
<i class="fas fa-user-shield me-1"></i> Panel Guru
</span>
<h2 class="fw-bold mb-1">Selamat Datang, Bapak/Ibu Guru! 👋</h2>
<p class="mb-0 opacity-90">Pantau performa sistem rekomendasi dan statistik minat jurusan siswa secara real-time.</p>
</div>
<div class="d-none d-lg-block opacity-75 me-3">
<i class="fas fa-chart-pie fa-5x"></i>
</div>
</div>
<!-- Stats Cards -->
<div class="row g-3 mb-4">
<!-- Total Data Training -->
<div class="col-md-4">
<div class="card card-stat shadow-sm p-3">
<div class="d-flex align-items-center justify-content-between">
<div>
<span class="text-muted small fw-semibold text-uppercase">Dataset Training</span>
<h2 class="fw-bold text-dark mt-1 mb-0">{{ $totalTraining }}</h2>
<span class="badge bg-primary-subtle text-primary mt-2 rounded-pill">
<i class="fas fa-check-circle me-1"></i>Siap Digunakan
</span>
</div>
<div class="icon-box bg-primary-subtle text-primary">
<i class="fas fa-database"></i>
</div>
</div>
</div>
</div>
<!-- Total Siswa -->
<div class="col-md-4">
<div class="card card-stat shadow-sm p-3">
<div class="d-flex align-items-center justify-content-between">
<div>
<span class="text-muted small fw-semibold text-uppercase">Siswa Terdaftar</span>
<h2 class="fw-bold text-dark mt-1 mb-0">{{ $totalSiswa }}</h2>
<span class="badge bg-success-subtle text-success mt-2 rounded-pill">
<i class="fas fa-users me-1"></i>Pengguna Aktif
</span>
</div>
<div class="icon-box bg-success-subtle text-success">
<i class="fas fa-user-graduate"></i>
</div>
</div>
</div>
</div>
<!-- Total Hasil Konsultasi -->
<div class="col-md-4">
<div class="card card-stat shadow-sm p-3">
<div class="d-flex align-items-center justify-content-between">
<div>
<span class="text-muted small fw-semibold text-uppercase">Total Konsultasi</span>
<h2 class="fw-bold text-dark mt-1 mb-0">{{ $totalHasil }}</h2>
<span class="badge bg-purple-subtle text-purple mt-2 rounded-pill" style="background-color: #f3e8ff; color: #7e22ce;">
<i class="fas fa-chart-line me-1"></i>Rekomendasi Selesai
</span>
</div>
<div class="icon-box" style="background-color: #f3e8ff; color: #7e22ce;">
<i class="fas fa-poll"></i>
</div>
</div>
</div>
</div>
</div>
<!-- Section Visualisasi Chart & Aktivitas -->
<div class="row g-4 mb-4">
<!-- Chart Grafik -->
<div class="col-lg-8">
<div class="card border-0 shadow-sm rounded-4 p-4 h-100">
<div class="d-flex justify-content-between align-items-center mb-3">
<div>
<h5 class="fw-bold mb-0">Visualisasi Ringkasan Sistem</h5>
<small class="text-muted">Perbandingan data siswa dan hasil konsultasi C4.5</small>
</div>
<span class="badge bg-light text-dark border">
<i class="fas fa-calendar-alt me-1"></i> Overview
</span>
</div>
<div style="height: 260px; position: relative;">
<canvas id="adminOverviewChart"></canvas>
</div>
</div>
</div>
<!-- Panel Informasi / Status Ringkasan -->
<div class="col-lg-4">
<div class="card border-0 shadow-sm rounded-4 p-4 h-100">
<h5 class="fw-bold mb-3"><i class="fas fa-info-circle text-indigo me-2"></i>Status Algoritma</h5>
<div class="mb-3">
<div class="d-flex justify-content-between small fw-semibold mb-1">
<span>Akurasi Model Data</span>
<span class="text-success">Siap Klasifikasi</span>
</div>
<div class="progress" style="height: 8px;">
<div class="progress-bar bg-success rounded" role="progressbar" style="width: 100%"></div>
</div>
</div>
<div class="p-3 bg-light rounded-3 mb-3 border">
<div class="d-flex align-items-center gap-3">
<i class="fas fa-robot fs-3 text-primary"></i>
<div>
<div class="fw-bold small">Metode Klasifikasi</div>
<div class="text-muted small">Pohon Keputusan (C4.5) berbasis Gain Ratio</div>
</div>
</div>
</div>
<div class="p-3 bg-light rounded-3 border">
<div class="d-flex align-items-center gap-3">
<i class="fas fa-file-export fs-3 text-success"></i>
<div>
<div class="fw-bold small">Laporan Rekapitulasi</div>
<div class="text-muted small">Tersedia fitur pencetakan laporan untuk siswa</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Quick Action / Menu Pintas (Termasuk Cek Rekomendasi C4.5) -->
<div class="row">
<div class="col-12">
<div class="card border-0 shadow-sm rounded-4 p-4">
<h5 class="fw-bold mb-3"><i class="fas fa-bolt text-warning me-2"></i>Akses Cepat Admin</h5>
<div class="row g-3">
<div class="col-md-3">
<a href="{{ route('training.create') }}" class="btn btn-quick-action w-100 p-3 text-start d-flex align-items-center gap-3 text-decoration-none">
<div class="icon-box bg-primary-subtle text-primary flex-shrink-0">
<i class="fas fa-plus"></i>
</div>
<div>
<strong class="text-dark d-block">Tambah Training</strong>
<span class="small text-muted">Input data training baru</span>
</div>
</a>
</div>
<div class="col-md-3">
<a href="{{ route('c45.index') }}" class="btn btn-quick-action w-100 p-3 text-start d-flex align-items-center gap-3 text-decoration-none">
<div class="icon-box bg-warning-subtle text-warning flex-shrink-0">
<i class="fas fa-microchip"></i>
</div>
<div>
<strong class="text-dark d-block">Cek Rekomendasi</strong>
<span class="small text-muted">Simulasi Hitung C4.5</span>
</div>
</a>
</div>
<div class="col-md-3">
<a href="{{ route('admin.rekap') }}" class="btn btn-quick-action w-100 p-3 text-start d-flex align-items-center gap-3 text-decoration-none">
<div class="icon-box bg-success-subtle text-success flex-shrink-0">
<i class="fas fa-file-pdf"></i>
</div>
<div>
<strong class="text-dark d-block">Rekap Laporan</strong>
<span class="small text-muted">Cetak & Export PDF</span>
</div>
</a>
</div>
<div class="col-md-3">
<a href="{{ route('training.index') }}" class="btn btn-quick-action w-100 p-3 text-start d-flex align-items-center gap-3 text-decoration-none">
<div class="icon-box bg-dark-subtle text-dark flex-shrink-0">
<i class="fas fa-folder-open"></i>
</div>
<div>
<strong class="text-dark d-block">Kelola Dataset</strong>
<span class="small text-muted">Lihat & edit dataset</span>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@push('scripts')
<script>
document.addEventListener("DOMContentLoaded", function () {
const ctx = document.getElementById('adminOverviewChart').getContext('2d');
new Chart(ctx, {
type: 'bar',
data: {
labels: ['Dataset Training', 'Siswa Terdaftar', 'Hasil Konsultasi'],
datasets: [{
label: 'Jumlah Data',
data: [{{ $totalTraining }}, {{ $totalSiswa }}, {{ $totalHasil }}],
backgroundColor: [
'rgba(79, 70, 229, 0.85)',
'rgba(16, 185, 129, 0.85)',
'rgba(126, 34, 206, 0.85)'
],
borderColor: [
'#4f46e5',
'#10b981',
'#7e22ce'
],
borderWidth: 1.5,
borderRadius: 10,
barThickness: 45
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
plugins: {
legend: {
display: false
}
},
scales: {
y: {
beginAtZero: true,
grid: {
color: '#f1f5f9'
},
ticks: {
precision: 0
}
},
x: {
grid: {
display: false
}
}
}
}
});
});
</script>
@endpush