<?php

namespace Leadlion\Autogedal\Plugin\Magento\Theme\Block\Html;

use \Magento\Theme\Block\Html\Breadcrumbs as MagentoBreadCrumbs;

class Breadcrumbs
{
    private $storeManager;
    private $request;

    private $cmsParentCrumbs = [
        'auto-bare-transversale/checklist-faq' => [
            'label' => 'Bare Transversale',
            'title' => 'Bare Transversale',
            'link'  => '/auto-bare-transversale.html',
        ],
        'auto-bare-transversale/ghidul-cumparatorului-faq' => [
            'label' => 'Bare Transversale',
            'title' => 'Bare Transversale',
            'link'  => '/auto-bare-transversale.html',
        ],
        'auto-bare-transversale/recenzii-produse' => [
            'label' => 'Bare Transversale',
            'title' => 'Bare Transversale',
            'link'  => '/auto-bare-transversale.html',
        ],
        'auto-bare-transversale/how-to-faq' => [
            'label' => 'Bare Transversale',
            'title' => 'Bare Transversale',
            'link'  => '/auto-bare-transversale.html',
        ],
        'auto-bare-transversale/comparatii-bare-transversale' => [
            'label' => 'Bare Transversale',
            'title' => 'Bare Transversale',
            'link'  => '/auto-bare-transversale.html',
        ],
        'auto-bare-transversale/verificator-compatibilitate-bare-transversale' => [
            'label' => 'Bare Transversale',
            'title' => 'Bare Transversale',
            'link'  => '/auto-bare-transversale.html',
        ],
    ];

    public function __construct(
        \Magento\Store\Model\StoreManagerInterface $storeManager,
        \Magento\Framework\App\Request\Http $request
    ) {
        $this->storeManager = $storeManager;
        $this->request = $request;
    }

    public function beforeAddCrumb(MagentoBreadCrumbs $subject, $crumbName, $crumbInfo)
    {
        if ($crumbName == 'home') {
            $crumbInfo['label'] = __('Cars accessoris');
            $crumbInfo['title'] = __('Go to Home Page');
            $crumbInfo['link'] = $this->storeManager->getStore()->getBaseUrl();
        }

        if ($crumbName == 'cms_page') {
            $identifier = trim(preg_replace('/\.html$/', '', $this->request->getOriginalPathInfo()), '/');
            if (isset($this->cmsParentCrumbs[$identifier])) {
                $parentCrumb = $this->cmsParentCrumbs[$identifier];
                $parentCrumb['link'] = $this->storeManager->getStore()->getBaseUrl()
                    . ltrim($parentCrumb['link'], '/');
                $subject->addCrumb('cms_page_parent', $parentCrumb);
            }
        }

        return [$crumbName, $crumbInfo];
    }
}