<?php

namespace App\View\Components;

use App\Auth\XenForoUser;
use App\Services\XenforoService;
use Closure;
use Illuminate\Contracts\View\View;
use Illuminate\View\Component;

class XfUsernameLink extends Component
{
    /**
     * Create a new component instance.
     */
    public function __construct(
        public ?XenForoUser $user = null,
        public ?int $userId = null
    )
    {

        if( $this->user === null && $this->userId !== null ){
            $this->user = app(XenforoService::class)->getXfUser($this->userId);
            if( $this->user === null ){
                $this->user = app(XenforoService::class)->getXfUser(config('xenforo.bot_user_id'));
            }
        }

    }

    /**
     * Get the view / contents that represent the component.
     */
    public function render(): View|Closure|string
    {
        return view('components.xf-username-link');
    }
}
