<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Auth\Notifications\ResetPassword;
use Illuminate\Auth\Notifications\VerifyEmail;
use Illuminate\Notifications\Messages\MailMessage;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     */
    public function register(): void
    {
        //
    }

    /**
     * Bootstrap any application services.
     */
    public function boot(): void
    {
        ResetPassword::toMailUsing(function (object $notifiable, string $token) {
            $url = url(route('password.reset', [
                'token' => $token,
                'email' => $notifiable->getEmailForPasswordReset(),
            ], false));

            return (new MailMessage)
                ->subject('Atur Ulang Password Akun PeGas Anda')
                ->greeting('Halo!')
                ->line('Kami menerima permintaan untuk mengatur ulang kata sandi (password) akun PeGas Anda. Silakan klik tombol di bawah ini untuk melanjutkan:')
                ->action('Atur Ulang Password', $url)
                ->line('Tautan reset password ini hanya berlaku selama 60 menit.')
                ->line('Jika Anda tidak merasa melakukan permintaan ini, abaikan saja email ini dan password Anda akan tetap aman.')
                ->salutation('Salam hangat,' . "\n" . 'Tim Pengembang PeGas');
        });

        VerifyEmail::toMailUsing(function (object $notifiable, string $url) {
            return (new MailMessage)
                ->subject('Verifikasi Alamat Email Akun PeGas')
                ->greeting('Selamat Datang di PeGas!')
                ->line('Terima kasih telah melakukan pendaftaran. Langkah terakhir sebelum Anda dapat menggunakan sistem sepenuhnya adalah memverifikasi alamat email Anda.')
                ->line('Silakan klik tombol di bawah ini untuk mengaktifkan akun Anda:')
                ->action('Verifikasi Email Saya', $url)
                ->line('Jika Anda tidak merasa melakukan pendaftaran akun di platform PeGas, Anda tidak perlu mengambil tindakan apa pun.')
                ->salutation('Salam hangat,' . "\n" . 'Tim Pengembang PeGas');
        });
    }
}