<?php

// phpcs:disable Wptopr.NamingConventions.NamespaceName.TooLong
namespace Wptopr\WP\SEO\Llms_Txt\Application\Markdown_Builders;

use Wptopr\WP\SEO\Llms_Txt\Domain\Markdown\Sections\Link_List;
use Wptopr\WP\SEO\Llms_Txt\Infrastructure\Markdown_Services\Sitemap_Link_Collector;

/**
 * The builder of the intro section.
 */
class Optional_Link_List_Builder {

	/**
	 * The sitemap link collector.
	 *
	 * @var Sitemap_Link_Collector
	 */
	private $sitemap_link_collector;

	/**
	 * The constructor.
	 *
	 * @param Sitemap_Link_Collector $sitemap_link_collector The sitemap link collector.
	 */
	public function __construct(
		Sitemap_Link_Collector $sitemap_link_collector
	) {
		$this->sitemap_link_collector = $sitemap_link_collector;
	}

	/**
	 * Builds the optional link list.
	 *
	 * @return Link_List The optional link list.
	 */
	public function build_optional_link_list(): Link_List {
		$sitemap_link = $this->sitemap_link_collector->get_link();
		if ( $sitemap_link === null ) {
			return new Link_List( 'Optional', [] );
		}

		return new Link_List( 'Optional', [ $sitemap_link ] );
	}
}
