<?php

namespace Autogedal\Extend\Block\Product;

use Magento\Framework\View\Element\Template;
use Magento\Framework\Registry;
use Magento\Catalog\Model\Product;

class CategorySlider extends Template
{
    const CATEGORY_SLIDERS = [
        2161 => 'bare-url-slider',
        2118 => 'bare-url-slider-menabo',
    ];

    /**
     * @var Registry
     */
    protected $registry;

    /**
     * @param Template\Context $context
     * @param Registry $registry
     * @param array $data
     */
    public function __construct(
        Template\Context $context,
        Registry $registry,
        array $data = []
    ) {
        $this->registry = $registry;
        parent::__construct($context, $data);
    }

    /**
     * Get current product
     *
     * @return Product|null
     */
    public function getProduct()
    {
        return $this->registry->registry('current_product');
    }

    /**
     * Get block identifiers for all matching categories
     *
     * @return string[]
     */
    public function getActiveBlockIdentifiers(): array
    {
        $product = $this->getProduct();
        if (!$product || !$product->getId()) {
            return [];
        }

        $categoryIds = $product->getCategoryIds();
        $result = [];
        foreach (self::CATEGORY_SLIDERS as $categoryId => $blockIdentifier) {
            if (in_array($categoryId, $categoryIds)) {
                $result[] = $blockIdentifier;
            }
        }
        return $result;
    }
}
