@props(['title' => 'Dashboard']) @use('App\Models\Setting') @use('App\Support\Img') @php $u = auth()->user(); $acct = []; if ($u->hasRole('Admin')) $acct[] = ['Overview', 'admin.dashboard', 'admin.dashboard', 'grid']; if ($u->hasRole('Committee') && ! $u->hasRole('Admin')) $acct[] = ['My responsibilities', 'committee.dashboard', 'committee.dashboard', 'clip']; if ($u->hasRole('Member')) { $acct[] = ['My dashboard', 'member.dashboard', 'member.dashboard', 'home']; $acct[] = ['My profile', 'member.profile.edit', 'member.profile.*', 'user']; } $manage = collect([ ['Approvals', 'manage.approvals.index', 'manage.approvals.*', 'check', 'manage members'], ['Members', 'manage.members.index', 'manage.members.*', 'users', 'manage members'], ['Events', 'manage.events.index', 'manage.events.*', 'calendar', 'manage events'], ['Registrations', 'manage.registrations.index', 'manage.registrations.*', 'ticket', 'manage events'], ['Event gallery', 'manage.gallery.index', 'manage.gallery.*', 'image', 'manage events'], ['Achievements', 'manage.achievements.index', 'manage.achievements.*', 'trophy', 'manage achievements'], ['Homepage slider', 'manage.slider-images.index', 'manage.slider-images.*', 'slides', 'manage slider'], ['Alumni', 'manage.alumni.index', 'manage.alumni.*', 'cap', 'manage alumni'], ['Messages', 'manage.messages.index', 'manage.messages.*', 'mail', 'manage messages'], ])->filter(fn ($i) => $u->can($i[4]))->values()->all(); $admin = $u->hasRole('Admin') ? [ ['Committees', 'manage.committees.index', 'manage.committees.*', 'shield'], ['Committee members', 'manage.committee-members.index', 'manage.committee-members.*', 'users'], ['Departments', 'manage.departments.index', 'manage.departments.*', 'building'], ['Site settings', 'manage.settings.edit', 'manage.settings.*', 'sliders'], ] : []; $groups = ['Account' => $acct, 'Manage' => $manage, 'Administration' => $admin]; // small number badges in the sidebar $badges = []; if ($u->can('manage members')) $badges['manage.approvals.index'] = \App\Models\Member::where('status', 'pending')->count() + \App\Models\Payment::where('status', 'pending')->count(); if ($u->can('manage events')) $badges['manage.registrations.index'] = \App\Models\EventRegistration::where('status', 'pending')->count(); if ($u->can('manage messages')) $badges['manage.messages.index'] = \App\Models\ContactMessage::whereNull('read_at')->count(); $icons = [ 'grid' => '', 'home' => '', 'user' => '', 'users' => '', 'check' => '', 'calendar' => '', 'ticket' => '', 'image' => '', 'trophy' => '', 'slides' => '', 'cap' => '', 'mail' => '', 'shield' => '', 'building' => '', 'sliders' => '', 'clip' => '', ]; $hour = now()->hour; $greet = $hour < 12 ? 'Good morning' : ($hour < 17 ? 'Good afternoon' : 'Good evening'); @endphp {{ $title }} | Dashboard @vite(['resources/css/app.css', 'resources/js/app.js'])

{{ $title }}

{{ $greet }}, {{ \Illuminate\Support\Str::before($u->name, ' ') }}

{{ \Illuminate\Support\Str::before($u->name, ' ') }}
{{ $slot }}