<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class AdminAuthMiddleware
{
    public function handle(Request $request, Closure $next): mixed
    {
        if (! session('admin_id')) {
            return redirect()->route('login')
                ->with('error', 'يجب تسجيل الدخول أولاً');
        }

        $user = \App\Models\User::find(session('admin_id'));

        if (! $user || ! $user->isAdmin() || ! $user->is_active) {
            session()->forget('admin_id');
            return redirect()->route('login')
                ->with('error', 'غير مصرح لك بالوصول');
        }

        // تمرير بيانات المدير لجميع Views
        view()->share('adminUser', $user);

        return $next($request);
    }
}
