<?php

use App\Http\Controllers\Auth\VerifyEmailController;
use Illuminate\Support\Facades\Route;
use Livewire\Volt\Volt;

Route::middleware('guest')->group(function () {
    //Volt::route('register', 'pages.auth.register')
    //    ->name('register');

    Volt::route('login', 'pages.auth.login')
        ->name('login');

    // **Tope por IP en las dos, y por qué hacía falta** (MGR-014). No estaban abiertas
    // del todo: el broker de contraseñas limita el reenvio por email
    // (`config/auth.php`, `throttle => 60`) y el login lleva su propio limite de cinco
    // intentos. Lo que faltaba era el tope **por IP**, que es lo que impide recorrer
    // muchas direcciones distintas: con el limite solo por email, probar mil correos
    // cuesta lo mismo que probar uno.
    //
    // Seis por minuto, el mismo numero que ya usaba `verification.verify` en este
    // fichero: un usuario que ha perdido la contrasena no pide el correo seis veces en
    // un minuto, y un script si.
    Volt::route('forgot-password', 'pages.auth.forgot-password')
        ->middleware('throttle:6,1')
        ->name('password.request');

    Volt::route('reset-password/{token}', 'pages.auth.reset-password')
        ->middleware('throttle:6,1')
        ->name('password.reset');
});

Route::middleware('auth')->group(function () {
    Volt::route('verify-email', 'pages.auth.verify-email')
        ->name('verification.notice');

    Route::get('verify-email/{id}/{hash}', VerifyEmailController::class)
        ->middleware(['signed', 'throttle:6,1'])
        ->name('verification.verify');

    Volt::route('confirm-password', 'pages.auth.confirm-password')
        ->name('password.confirm');
});
