<?php

declare(strict_types=1);

namespace App\Listeners;

use App\Events\UserLoggedIn;
use Illuminate\Contracts\Auth\Authenticatable;

/**
 * Class UvitaniePouzivatelaPoPrihlaseni
 */
final class UvitaniePouzivatelaPoPrihlaseni
{
    public function handle(UserLoggedIn $event): void
    {
        flash()
            ->message($this->makeInvitationMessage($event->pouzivatel))
            ->info();
    }

    private function makeInvitationMessage(Authenticatable $user): string
    {
        // prve prihlasenie pouzivatela
        if (is_null($user->datum_posledneho_prihlasenia)) {
            return sprintf('Dobrý deň <b>%s</b>, vitajte v Portále, sme radi, že vás tu vidíme!', $user->cele_meno);
        }

        return sprintf('Dobrý deň <b>%s</b>, radi vás tu opäť vidíme!', $user->cele_meno);
    }
}
