<?php
/*****************************************************************************
 * AlbumButtonBox.php
 * Defines the AlbumButtonBox template.
 *
 * Kabuki CMS (C) 2013-2016, Aaron van Geffen
 *****************************************************************************/

class AlbumButtonBox extends Template
{
	private $active_filter;
	private $buttons;
	private $filters;

	public function __construct(array $buttons, array $filters, $active_filter)
	{
		$this->active_filter = $active_filter;
		$this->buttons = $buttons;
		$this->filters = $filters;
	}

	public function html_main()
	{
		echo '
			<div class="container album_button_box">';

		foreach ($this->buttons as $button)
			echo '
				<a class="btn btn-light" href="', $button['url'], '">', $button['caption'], '</a>';

		if (!empty($this->filters))
		{
			echo '
				<div class="dropdown">
					<button class="btn btn-light dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
						<i class="bi bi-filter"></i>';

			if ($this->active_filter)
			{
				echo '
						<span class="badge text-bg-danger">',
							$this->filters[$this->active_filter]['label'], '</span>';
			}

			echo '
					</button>
					<ul class="dropdown-menu">';

			foreach ($this->filters as $key => $filter)
			{
				$is_active = $key === $this->active_filter;
				echo '
						<li><a class="dropdown-item', $is_active ? ' active' : '',
							'" href="', $filter['link'], '">',
							$filter['caption'],
							'</a></li>';
			}

			echo '
					</ul>
				</div>';
		}

		echo '
			</div>';
	}
}