<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class ForcePasswordChange
{
    public function handle(Request $request, Closure $next)
    {
        // Si el usuario está autenticado y debe cambiar su contraseña
        if (Auth::check() && Auth::user()->must_change_password) {
            // Evitar bucle de redirección si ya está en la ruta de cambio
            if (!$request->is('change-password*') && !$request->is('logout')) {
                return redirect()->route('password.change')->with('info', 'Debes cambiar tu contraseña antes de continuar.');
            }
        }

        return $next($request);
    }
}