@extends('layouts.admin') @section('title', 'Executive Dashboard') @push('scripts') @vite('resources/js/pages/dashboard.js') @endpush @section('content') @php $user = auth()->user(); $greeting = now()->hour < 12 ? 'Good morning' : (now()->hour < 17 ? 'Good afternoon' : 'Good evening'); $session = config('app.academic_session', now()->year . '/' . (now()->year + 1)); $route = fn ($name) => \Illuminate\Support\Facades\Route::has($name) ? route($name) : '#'; $quickActions = [ ['label' => 'New Admission', 'icon' => 'bi-person-plus', 'route' => 'admission.applications.index'], ['label' => 'Register Student', 'icon' => 'bi-person-badge', 'route' => 'registration.students.index'], ['label' => 'Fee Payment', 'icon' => 'bi-receipt', 'route' => 'finance.receipts.index'], ['label' => 'Print ID', 'icon' => 'bi-person-vcard', 'route' => 'id-cards.print-queue.index'], ['label' => 'Generate Reports', 'icon' => 'bi-file-earmark-bar-graph', 'route' => 'reports.enrollment.index'], ['label' => 'Timetable', 'icon' => 'bi-calendar3', 'route' => 'examination.schedule.index'], ['label' => 'Course Allocation', 'icon' => 'bi-diagram-3', 'route' => 'course.managers.index'], ['label' => 'Graduation', 'icon' => 'bi-mortarboard', 'route' => 'examination.result-processing.index'], ['label' => 'Bulk SMS', 'icon' => 'bi-chat-left-dots', 'route' => 'communications.sms.index'], ['label' => 'Email Centre', 'icon' => 'bi-envelope-paper', 'route' => 'communications.email.index'], ['label' => 'Users', 'icon' => 'bi-people', 'route' => 'system.users.index'], ['label' => 'Settings', 'icon' => 'bi-gear', 'route' => 'system.settings.index'], ]; @endphp {{-- Welcome header --}}

{{ $greeting }}, {{ \Illuminate\Support\Str::of($user->name ?? 'Administrator')->explode(' ')->first() }}

Institution overview for academic session {{ $session }}.

Export New Admission
{{-- Executive KPIs --}}
{{-- Charts row 1 --}}

Admissions & Registration Trend

Last 8 months
Live

Programme Distribution

{{-- Charts row 2 --}}

Revenue Trend

Payment Collection

Gender & Campus Split

{{-- Quick action tiles --}}

Quick Actions

Jump straight into common tasks
@foreach($quickActions as $action) {{ $action['label'] }} @endforeach
{{-- Widgets row --}}
{{-- Today's activities / timeline --}}

Today's Activities

View all
{{-- Pending approvals --}}

Pending Approvals

7
@foreach([ ['icon' => 'bi-person-badge', 'title' => 'Student registrations', 'meta' => '18 awaiting', 'variant' => 'primary'], ['icon' => 'bi-arrow-left-right', 'title' => 'Programme switches', 'meta' => '5 requests', 'variant' => 'info'], ['icon' => 'bi-cash-stack', 'title' => 'Fee waivers', 'meta' => '3 requests', 'variant' => 'success'], ['icon' => 'bi-file-earmark-text', 'title' => 'Online applications', 'meta' => '24 to review', 'variant' => 'warning'], ] as $item)
{{ $item['title'] }}
{{ $item['meta'] }}
Review
@endforeach
{{-- Academic calendar --}}

Academic Calendar

{{ now()->format('F Y') }}
{{-- Widgets row 2 --}}
{{-- Recent transactions --}}

Recent Transactions

View all
@foreach([ ['C. Banda', 'INV-20486', 'K 4,500', 'active', 'Paid'], ['M. Phiri', 'INV-20485', 'K 2,000', 'pending', 'Partial'], ['T. Zulu', 'INV-20484', 'K 6,750', 'active', 'Paid'], ['L. Tembo', 'INV-20483', 'K 1,200', 'withdraw', 'Reversed'], ['N. Chanda', 'INV-20482', 'K 3,300', 'active', 'Paid'], ] as $tx) @endforeach
StudentReferenceAmountStatus
{{ $tx[0] }} {{ $tx[1] }} {{ $tx[2] }} {{ $tx[4] }}
{{-- System health + announcements --}}

System Health

Operational
Server load38%
Database storage65%
Backup completion100%

Announcements

Manage
@foreach([ ['icon' => 'bi-megaphone', 'title' => 'Semester 2 registration closes Friday', 'time' => '2 days left'], ['icon' => 'bi-calendar-event', 'title' => 'Mid-semester exams begin next week', 'time' => 'Starts Mon'], ['icon' => 'bi-bank', 'title' => 'New bank payment channel available', 'time' => 'Just added'], ] as $a)
{{ $a['title'] }}
{{ $a['time'] }}
@endforeach
@endsection