<?php
/*
 * Copyright Magmodules.eu. All rights reserved.
 * See COPYING.txt for license details.
 */

declare(strict_types=1);

use Magento\Framework\Escaper;
use Magento\Framework\View\Helper\SecureHtmlRenderer;
use Mollie\Payment\Block\Adminhtml\Sales\Order\PaymentHoldWarning;

/** @var PaymentHoldWarning $block */
/** @var SecureHtmlRenderer $secureRenderer */
/** @var Escaper $escaper */
?>
<div class="mollie-manual-capture-warning message message-warning">
    <?= $escaper->escapeHtml(__('Please note: You are creating a partial shipment, but it\'s only possible to capture the payment once.')); ?>
    <?= $escaper->escapeHtml(__('Please double-check you are shipping the correct items.')); ?>
</div>

<?php
$scriptString = '
    (() => {
        let warningElement = document.querySelector(\'.mollie-manual-capture-warning\');
        let fields = Array.from(document.querySelectorAll(\'.qty-item\'));
        fields.forEach(function (item) {
            item.addEventListener(\'change\', function (event) {
                checkFields();
            });
        });

        function checkFields() {
            const alteredFields = fields.filter(element => {
                return element.value != element.defaultValue;
            })

            warningElement.style.display = alteredFields.length ? \'block\' : \'none\';
        }

        checkFields();
    })();
';

// @phpstan-ignore-next-line
if (isset($secureRenderer)) {
    ?><?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false); ?><?php
    return;
}
?>
<script><?= /* @noEscape */ $scriptString; ?></script>
