<?php

declare(strict_types=1);

namespace App\Listeners;

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

/**
 * Class UvitaniePouzivatelaPoPrihlaseni
 *
 * @package App\Listeners
 */
final class UvitaniePouzivatelaPoPrihlaseni
{
    /**
     * @param \App\Events\UserLoggedIn $event
     */
    public function handle(UserLoggedIn $event): void
    {
        flash()->message($this->makeInvitationMessage($event->pouzivatel))
            ->info();
    }

    /**
     * @param \Illuminate\Contracts\Auth\Authenticatable $user
     *
     * @return string
     */
    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);
    }
}
