@php $stats = [ ['label' => 'Total Orang Tua', 'value' => $countUsers, 'subtitle' => 'Akun keluarga', 'trend' => '+12%', 'trendClass' => 'text-success', 'icon' => 'bi-people', 'color' => '#4B8E96', 'bg' => '#E5F4F6'], ['label' => 'Total Anak', 'value' => $countChildren, 'subtitle' => 'Profil dipantau', 'trend' => '+8%', 'trendClass' => 'text-success', 'icon' => 'bi-person-hearts', 'color' => '#38B87C', 'bg' => '#DCF6E9'], ['label' => 'Anak Risiko Tinggi', 'value' => $countHighRisk, 'subtitle' => 'Prioritas tindak lanjut', 'trend' => '-2%', 'trendClass' => 'text-danger', 'icon' => 'bi-exclamation-triangle', 'color' => '#EB6B6B', 'bg' => '#FFE5E5'], ['label' => 'Konsultasi Aktif', 'value' => $countConsultations, 'subtitle' => 'Perlu dipantau', 'trend' => '+5%', 'trendClass' => 'text-success', 'icon' => 'bi-chat-dots', 'color' => '#F6A95B', 'bg' => '#FFF0DE'], ['label' => 'Ahli Gizi Aktif', 'value' => $countNutritionists, 'subtitle' => 'Sedang online', 'trend' => '+3%', 'trendClass' => 'text-success', 'icon' => 'bi-person-vcard', 'color' => '#5B7CFA', 'bg' => '#E8ECFF'], ['label' => 'Artikel Dipublikasikan', 'value' => $countArticles, 'subtitle' => 'Konten edukasi', 'trend' => '+10%', 'trendClass' => 'text-success', 'icon' => 'bi-newspaper', 'color' => '#A66DD4', 'bg' => '#F2E8FA'], ]; $statusOrder = [ \App\Helpers\NutritionStatusHelper::GIZI_BAIK, \App\Helpers\NutritionStatusHelper::GIZI_KURANG, \App\Helpers\NutritionStatusHelper::GIZI_LEBIH, \App\Helpers\NutritionStatusHelper::OBESITAS, \App\Helpers\NutritionStatusHelper::PENDEK, \App\Helpers\NutritionStatusHelper::SANGAT_PENDEK, ]; $statusLabels = collect($statusOrder); $statusTotals = $statusLabels->map(fn ($label) => (int) ($statusDistribution[$label] ?? 0)); @endphp
@for ($i = 0; $i < 6; $i++)
@endfor
Dashboard gagal dimuat

Selamat Datang, Admin

Pantau perkembangan gizi dan pertumbuhan anak secara realtime.

@foreach ($stats as $stat)
{{ $stat['label'] }}
{{ number_format($stat['value']) }}
{{ $stat['subtitle'] }} {{ $stat['trend'] }} bulan ini
@endforeach
Status Gizi Anak
Ringkasan indikator utama
Pengukuran Bulanan
Jumlah input 6 bulan terakhir
Konsultasi
Selesai dan belum dibalas
Anak Risiko Tinggi
Pengukuran terakhir
Semua
@forelse ($highRiskChildren as $row) @php $child = $row->child; $label = \App\Helpers\NutritionStatusHelper::getStatus($row); $z = \App\Helpers\NutritionStatusHelper::primaryZScore($row); @endphp
{{ strtoupper(substr($child?->nama ?? 'A', 0, 1)) }}
{{ $child?->nama ?? 'Data anak' }}
{{ $row->umur_bulan ?? '-' }} bulan - {{ $child?->user?->name ?? '-' }}
{{ $label }}
{{ $z['label'] }} : {{ $z['value'] !== null ? sprintf('%+.2f SD', $z['value']) : '-' }}
@empty
Belum ada anak risiko tinggi.
@endforelse
Konsultasi Terbaru
Inbox orang tua
Buka
@forelse ($latestConsultations as $room)
{{ strtoupper(substr($room->user?->name ?? 'O', 0, 1)) }}
{{ $room->user?->name ?? 'Orang tua' }}
{{ $room->last_message_at?->format('H:i') ?? '-' }} {{ ($room->unread_count ?? 0) > 0 ? 'Belum' : 'Selesai' }}
{{ $room->child?->nama ?? '-' }}
{{ $room->last_message ?? 'Belum ada pesan.' }}
@empty
Belum ada konsultasi terbaru.
@endforelse