@extends('layouts.admin') @section('title', 'Institution Setup Dashboard') @push('scripts') @vite('resources/js/pages/institution-dashboard.js') @endpush @section('content') @php $sessionLabel = $currentSession ? $currentSession->name . ' (' . $currentSession->year_start . '/' . $currentSession->year_end . ')' : config('app.academic_session', now()->year . '/' . (now()->year + 1)); $statusChartData = function (array $data): array { $labels = []; $values = []; foreach (['active', 'inactive', 'archived', 'draft'] as $status) { if (($data[$status] ?? 0) > 0) { $labels[] = ucfirst($status); $values[] = (int) $data[$status]; } } return ['labels' => $labels, 'values' => $values]; }; $campusChart = $statusChartData($charts['campuses_by_status'] ?? []); $programmeChart = $statusChartData($charts['programmes_by_status'] ?? []); $facultyChart = $statusChartData($charts['faculties_by_status'] ?? []); $sessionChart = $statusChartData($charts['sessions_by_status'] ?? []); $intakeChart = $statusChartData($charts['intakes_by_status'] ?? []); $growthLabels = ['Campuses', 'Faculties', 'Programmes']; $growthValues = [ (int) ($charts['growth']['campuses'] ?? 0), (int) ($charts['growth']['faculties'] ?? 0), (int) ($charts['growth']['programmes'] ?? 0), ]; $timelineItems = $recentActivity->map(function ($activity) { $subject = $activity->subject; $subjectLabel = $subject?->name ?? $subject?->code ?? class_basename($activity->subject_type ?? 'Record'); return [ 'time' => $activity->created_at?->diffForHumans() ?? '', 'title' => ucfirst($activity->description ?? $activity->event ?? 'Activity'), 'description' => ($activity->causer?->name ? $activity->causer->name . ' ยท ' : '') . $subjectLabel, ]; })->values()->all(); @endphp
Setup overview for academic session {{ $sessionLabel }}.