2025-10-06 22:35:04 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
|
|
|
|
|
|
use App\Models\Exercise;
|
2026-08-10 11:36:31 +03:00
|
|
|
use App\Models\Post;
|
2025-10-06 22:35:04 +03:00
|
|
|
use App\Models\User;
|
|
|
|
|
use App\Models\Workout;
|
|
|
|
|
use App\Models\WorkoutSession;
|
|
|
|
|
use App\Models\YogaPose;
|
|
|
|
|
use Illuminate\View\View;
|
|
|
|
|
|
|
|
|
|
class AdminDashboardController extends Controller
|
|
|
|
|
{
|
|
|
|
|
public function index(): View
|
|
|
|
|
{
|
|
|
|
|
$metrics = [
|
|
|
|
|
'users' => User::count(),
|
|
|
|
|
'workouts' => Workout::count(),
|
|
|
|
|
'sessions' => WorkoutSession::count(),
|
|
|
|
|
'exercises' => Exercise::count(),
|
|
|
|
|
'yogaPoses' => YogaPose::count(),
|
2026-08-10 11:36:31 +03:00
|
|
|
'posts' => Post::count(),
|
2025-10-06 22:35:04 +03:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
$recentUsers = User::latest()->limit(5)->get(['id','name','email','created_at']);
|
|
|
|
|
$recentWorkouts = Workout::latest()->limit(5)->get(['id','title','created_at']);
|
|
|
|
|
|
|
|
|
|
return view('admin.dashboard', compact('metrics','recentUsers','recentWorkouts'));
|
|
|
|
|
}
|
|
|
|
|
}
|