0 ? round($totalJournalists / $totalMedia, 1) : 0; return [ Stat::make('Total Klasifikasi', Classification::active()->count()) ->description('Klasifikasi aktif') ->descriptionIcon(Heroicon::OutlinedBookOpen) ->color($this->getRandomColor()), Stat::make('Total Lokus', Location::active()->count()) ->description('Lokus aktif') ->descriptionIcon(Heroicon::OutlinedMapPin) ->color($this->getRandomColor()), Stat::make('Total OPD', Department::where('is_active', IsActive::ACTIVE)->count()) ->description('OPD aktif') ->descriptionIcon(Heroicon::OutlinedBuildingLibrary) ->color($this->getRandomColor()), Stat::make('Total Tema', Theme::active()->count()) ->description('Tema aktif') ->descriptionIcon(Heroicon::OutlinedPuzzlePiece) ->color($this->getRandomColor()), Stat::make('Total Jurnalis', $totalJournalists) ->description('Jurnalis terdaftar') ->descriptionIcon(Heroicon::OutlinedIdentification) ->color($this->getRandomColor()), Stat::make('Antrean Verifikasi', VerificationRequest::pending()->count()) ->description('Butuh tindakan') ->descriptionIcon(Heroicon::OutlinedPencilSquare) ->color($this->getRandomColor()), Stat::make('Antrean Perubahan', DataChangeRequest::pending()->count()) ->description('Perubahan data') ->descriptionIcon(Heroicon::OutlinedDocumentText) ->color($this->getRandomColor()), Stat::make('Total Pengunjung', Visitor::count()) ->description('Total traffic') ->descriptionIcon(Heroicon::OutlinedChartBar) ->color($this->getRandomColor()), ]; } private array $availableColors = [ 'primary', 'success', 'warning', 'danger', 'info', 'fuchsia', 'indigo', 'violet', 'orange', 'cyan', 'emerald', 'amber', 'rose', 'lime', ]; private function getRandomColor(): string { return $this->availableColors[array_rand($this->availableColors)]; } }