{{-- resources/views/siswa/visualization.blade.php --}} @extends('layouts.app') @section('title', 'Visualisasi Belajar - LearnMood') @section('content')

Visualisasi Belajar

Lihat perkembangan dan pola belajarmu di sini

@if(count($dates) > 0)

Menampilkan data {{ count($dates) }} hari terakhir

Total Hari

{{ $stats['total_hari'] }}

dalam periode ini

Rata-rata

{{ $stats['rata_durasi'] }} mnt

durasi belajar

Mood

{{ $stats['mood_terbanyak'] }}

paling sering

Rekom

{{ $stats['rekom_terbanyak'] }}

paling sering

Grafik Durasi Belajar

Sebaran Mood

Sebaran Rekomendasi

Rata-rata Durasi per Mood

@php // Definisi mood dan emoji $moodList = [ 'Bagus' => ['emoji' => '😊', 'color' => 'green', 'bg' => 'green'], 'Lumayan' => ['emoji' => '🙂', 'color' => 'blue', 'bg' => 'blue'], 'Biasa Saja' => ['emoji' => '😐', 'color' => 'gray', 'bg' => 'gray'], 'Cukup Jenuh' => ['emoji' => '😕', 'color' => 'yellow', 'bg' => 'yellow'], 'Jenuh' => ['emoji' => '😫', 'color' => 'red', 'bg' => 'red'] ]; // Hitung rata-rata durasi per mood $moodAverages = []; foreach ($moodList as $mood => $data) { $total = 0; $count = 0; foreach ($moods as $index => $m) { if ($m == $mood) { $total += $durations[$index] ?? 0; $count++; } } $moodAverages[$mood] = [ 'avg' => $count > 0 ? round($total / $count) : 0, 'count' => $count, 'emoji' => $data['emoji'], 'color' => $data['color'], 'bg' => $data['bg'] ]; } @endphp
@foreach($moodAverages as $mood => $data)
{{ $data['emoji'] }}

{{ $mood }}

{{ $data['avg'] }}

menit

{{ $data['count'] }}x

@endforeach
@php $bestMood = array_keys($moodAverages, max($moodAverages))[0] ?? 'Bagus'; $bestAvg = $moodAverages[$bestMood]['avg'] ?? 0; @endphp

Insight Belajar

Kamu paling produktif saat mood {{ $bestMood }} dengan rata-rata {{ $bestAvg }} menit belajar. @if($bestAvg > 60) Pertahankan semangat belajarmu! 🎉 @else Ayo tingkatkan konsistensi belajarmu! 💪 @endif

Riwayat Aktivitas

{{-- Desktop Table View --}} {{-- Mobile Card View --}}
@forelse(array_reverse($dates) as $index => $date) @php $i = count($dates) - 1 - $index; @endphp
{{ \Carbon\Carbon::parse($date)->format('d M Y') }}
{{ $durations[$i] }} menit
Mood @if($moods[$i] == 'Bagus') 😊 @elseif($moods[$i] == 'Lumayan') 🙂 @elseif($moods[$i] == 'Biasa Saja') 😐 @elseif($moods[$i] == 'Cukup Jenuh') 😕 @else 😫 @endif {{ $moods[$i] }}
Tidur @php $sleepValue = $sleep_hours[$i] ?? $activity->sleep_duration ?? 7; @endphp {{ is_numeric($sleepValue) ? number_format((float)$sleepValue, 1) : $sleepValue }} j
Rekom @if(isset($categoriesDisplay[$i]) && $categoriesDisplay[$i] != 'Belum Ada') {{ $categoriesDisplay[$i] }} @else - @endif
@empty

Belum ada data aktivitas

@endforelse
Riwayat
@else

Belum Ada Data

Mulai input aktivitas belajarmu untuk melihat visualisasi

1

Klik "Input Sekarang"

2

Isi durasi, mood, tidur

3

Lihat grafik & analisis

Input Sekarang
@endif
@endsection @push('scripts') @if(count($dates) > 0) @endif @endpush