<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">

    <!-- Allow ShopbySeo Router to parse SEO filter slugs from /reduceri/{url-key}/{slug} URLs -->
    <type name="Amasty\ShopbySeo\Controller\Router">
        <plugin name="autogedal_reduceri_seo_url_allow"
                type="Autogedal\Reduceri\Plugin\ShopbySeo\AllowReduceriSeoUrls"/>
    </type>

    <!-- Remove On Sale filter from layered navigation (enabled stays ON for OpenSearch indexing) -->
    <type name="Amasty\Shopby\Model\Layer\FilterList">
        <plugin name="autogedal_reduceri_hide_on_sale_filter"
                type="Autogedal\Reduceri\Plugin\HideOnSaleFilter"/>
    </type>

    <!-- Enable SEO URL generation (slug-based filter links) on /reduceri/* pages -->
    <type name="Amasty\ShopbySeo\Helper\Url">
        <plugin name="autogedal_reduceri_seo_url_generation"
                type="Autogedal\Reduceri\Plugin\ShopbySeo\EnableSeoUrlGeneration"/>
    </type>

    <!-- Handles Amasty Shopby AJAX filter requests (shopbyAjax=1) for the reduceri controller -->
    <type name="Autogedal\Reduceri\Controller\Category\View">
        <plugin name="autogedal_reduceri_ajax_inject" type="Amasty\Shopby\Plugin\Ajax\CategoryViewAjax"/>
    </type>

    <!-- Applies am_on_sale=1 filter to product collection before OpenSearch query runs -->
    <type name="Magento\Catalog\Model\Layer\Category\CollectionFilter">
        <plugin name="autogedal_reduceri_discount_collection_filter"
                type="Autogedal\Reduceri\Plugin\AddDiscountFilter"/>
    </type>

    <!-- Removes current category from native breadcrumb path to avoid duplication -->
    <type name="Magento\Catalog\Helper\Data">
        <plugin name="autogedal_reduceri_catalog_breadcrumbs"
                type="Autogedal\Reduceri\Plugin\CatalogBreadcrumbsPlugin"/>
    </type>

    <!-- Custom router for /reduceri/{url-key} URLs -->
    <type name="Magento\Framework\App\RouterList">
        <arguments>
            <argument name="routerList" xsi:type="array">
                <item name="reduceri" xsi:type="array">
                    <item name="class" xsi:type="string">Autogedal\Reduceri\Controller\Router</item>
                    <item name="disable" xsi:type="boolean">false</item>
                    <item name="sortOrder" xsi:type="string">35</item>
                </item>
            </argument>
        </arguments>
    </type>

</config>
