diff --git a/app/Http/Controllers/Dashboard/StatisticController.php b/app/Http/Controllers/Dashboard/StatisticController.php index 8c4d0d2..b8ae5c1 100644 --- a/app/Http/Controllers/Dashboard/StatisticController.php +++ b/app/Http/Controllers/Dashboard/StatisticController.php @@ -4,6 +4,7 @@ use App\Http\Controllers\Controller; use App\Models\IssueManagement; +use App\Models\LoginHistory; use App\Models\MediaMonitoring; use App\Models\Report; use Carbon\Carbon; @@ -18,7 +19,7 @@ public function index(Request $request){ [ 'name' => 'Aktivitas Login', 'category' => 'login-activities', - 'is_available' => false + 'is_available' => true ], [ 'name' => 'Jurnalis', @@ -89,7 +90,6 @@ public function show(Request $request, $category){ ]; $upComings = [ - 'login-activities', 'journalists', 'media-cooperations', 'media', @@ -254,6 +254,23 @@ public function show(Request $request, $category){ $data['proofAiringThemeRejected'] = $airingProofThemeCount->get('2', 0); return view('dashboard.statistics.show.airing-proof-report', $data); + case 'login-activities': + $data['title'] = 'Statistik Aktivitas Login'; + + $monthlyCount = array_fill(0, 12, 0); + + $loginActivities = LoginHistory::with(['user'])->get(); + $loginActivities->groupBy(function ($item) { + return (int) \Carbon\Carbon::parse($item->created_at)->format('m'); + })->each(function ($items, $month) use (&$monthlyCount) { + // Simpan jumlah item tiap bulan ke index bulan - 1 (0-based) + $monthlyCount[$month - 1] = $items->count(); + }); + + $data['loginActivities'] = $monthlyCount; + + return view('dashboard.statistics.show.login-activity', $data); + default: abort(404); } diff --git a/resources/views/dashboard/statistics/chart/login-activity.blade.php b/resources/views/dashboard/statistics/chart/login-activity.blade.php new file mode 100644 index 0000000..9de0086 --- /dev/null +++ b/resources/views/dashboard/statistics/chart/login-activity.blade.php @@ -0,0 +1,85 @@ + diff --git a/resources/views/dashboard/statistics/show/login-activity.blade.php b/resources/views/dashboard/statistics/show/login-activity.blade.php new file mode 100644 index 0000000..38895e7 --- /dev/null +++ b/resources/views/dashboard/statistics/show/login-activity.blade.php @@ -0,0 +1,119 @@ +@include('partials.dashboard.head') +@include('partials.dashboard.sidebar', ['page' => 'statistics']) +@include('partials.dashboard.header') + +
+ +@include('partials.dashboard.footer', ['statistic_chart' => 'login-activities']) diff --git a/resources/views/partials/dashboard/footer.blade.php b/resources/views/partials/dashboard/footer.blade.php index 59882ad..f5d9029 100644 --- a/resources/views/partials/dashboard/footer.blade.php +++ b/resources/views/partials/dashboard/footer.blade.php @@ -115,6 +115,9 @@ @case('airing-proof-report') @include('dashboard.statistics.chart.airing-proof-report') @break + @case('login-activities') + @include('dashboard.statistics.chart.login-activity') + @break @default @endswitch