<?php

namespace App\Notifications;

use Illuminate\Notifications\Notification;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Support\Facades\Config;

class ResetPasswordNotification extends Notification
{
    public function __construct(
        public string $token
    ) {}

    public function via($notifiable)
    {
        return ['mail'];
    }

    public function toMail($notifiable)
    {
        $url = url(route('password.reset', [
            'token' => $this->token,
            'email' => $notifiable->email,
        ], false));

        return (new MailMessage)
            ->subject('Restablecer contraseña')
            ->greeting('¡Hola!')
            ->line('Recibimos una solicitud para restablecer la contraseña de tu cuenta.')
            ->action('Restablecer contraseña', $url)
            ->line(
                'Este enlace para restablecer la contraseña expirará en '
                . Config::get('auth.passwords.users.expire')
                . ' minutos.'
            )
            ->line('Si no solicitaste el restablecimiento de contraseña, no es necesario realizar ninguna acción.')
            ->salutation('Saludos');
    }
}
