<?php
/**
 * Hyvä Themes - https://hyva.io
 * Copyright © Hyvä Themes. All rights reserved.
 * See COPYING.txt for license details.
 */

use Hyva\Theme\Model\LocaleFormatter;
use Magento\Framework\Escaper;
use Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer;

/** @var DefaultRenderer $block */
/** @var Escaper $escaper */
/** @var LocaleFormatter $localeFormatter */

$item = $block->getItem();
$cols = $block->getData('is_context_shipment') ? 3 : ($block->getData('is_context_creditmemo') ? 7 : 5);
?>
<div class="lg:grid grid-cols-<?= $escaper->escapeHtmlAttr($cols) ?> py-2">
    <div class="p-2 col-span-2">
        <span class="font-semibold"><?= $escaper->escapeHtml($item->getName()) ?></span>
        <div class="item-options mt-2">
            <div class="text-sm flex">
                <span><?= $escaper->escapeHtml(__('SKU')) ?>:</span>
                <span class="text-sm ml-1"><?= /* @noEscape */ $block->prepareSku($block->getSku()) ?></span>
            </div>
            <?php if ($options = $block->getItemOptions()): ?>
                <?php foreach ($options as $option): ?>
                    <div class="text-sm flex mt-1">
                        <span><?= $escaper->escapeHtml($option['label']) ?>:</span>
                        <?php if (!$block->getPrintStatus()): ?>
                            <?php $formatedOptionValue = $block->getFormatedOptionValue($option) ?>
                            <span class="ml-1">
                                <?= $escaper->escapeHtml($formatedOptionValue['value'], ['a']) ?>
                            </span>
                        <?php else: ?>
                            <span class="ml-1">
                                <?= $escaper->escapeHtml(
                                    (isset($option['print_value']) ? $option['print_value'] : $option['value'])
                                ) ?>
                            </span>
                        <?php endif; ?>
                    </div>
                <?php endforeach; ?>
            <?php endif; ?>
            <?php /* downloadable */ ?>
            <?php if ($links = $block->getLinks()): ?>
                <div class="item options my-2">
                    <p><?= $escaper->escapeHtml($block->getLinksTitle()) ?></p>
                    <?php foreach ($links->getPurchasedItems() as $link): ?>
                        <p class="ml-1"><?= $escaper->escapeHtml($link->getLinkTitle()) ?></p>
                    <?php endforeach; ?>
                </div>
            <?php endif; ?>
            <?php $addtInfoBlock = $block->getProductAdditionalInformationBlock(); ?>
            <?php if ($addtInfoBlock): ?>
                <?= $addtInfoBlock->setItem($block->getOrderItem())->toHtml() ?>
            <?php endif; ?>
            <?= $escaper->escapeHtml($item->getDescription()) ?>
        </div>
    </div>
    <?php if (!$block->getData('is_context_shipment')): ?>
        <div class="p-2 flex justify-between lg:block">
            <p class="lg:sr-only font-medium"><?= $escaper->escapeHtml(__('Price')) ?></p>
            <?= $block->getItemPriceHtml() ?>
        </div>
    <?php endif; ?>
    <div class="p-2 flex justify-between lg:block">
        <p class="lg:sr-only font-medium">
            <?php if ($block->getData('is_context_invoice')): ?>
                <?= $escaper->escapeHtml(__('Qty Invoiced')) ?>
            <?php elseif ($block->getData('is_context_shipment')): ?>
                <?= $escaper->escapeHtml(__('Qty Shipped')) ?>
            <?php else: ?>
                <?= $escaper->escapeHtml(__('Qty')) ?>
            <?php endif; ?>
        </p>
        <div class="text-right lg:text-left">
            <?php if ($block->getData('is_context_invoice') || $block->getData('is_context_creditmemo')): ?>
                <span class="content"><?= /** @noEscape */ $localeFormatter->formatNumber($block->getItem()->getQty()) ?></span>
            <?php endif; ?>
            <?php if ($block->getData('is_context_shipment')): ?>
                <span class="content"><?= /** @noEscape */ $localeFormatter->formatNumber($block->getItem()->getQty()) ?></span>
            <?php endif; ?>
            <?php if ($block->getData('is_context_order')): ?>
                <?php if ($block->getItem()->getQtyOrdered() > 0): ?>
                    <p>
                        <span class="title"><?= $escaper->escapeHtml(__('Ordered')) ?>:</span>
                        <span class="content"><?= /** @noEscape */ $localeFormatter->formatNumber((float) $block->getItem()->getQtyOrdered()) ?></span>
                    </p>
                <?php endif; ?>
                <?php if ($block->getItem()->getQtyShipped() > 0): ?>
                    <p>
                        <span class="title"><?= $escaper->escapeHtml(__('Shipped')) ?>:</span>
                        <span class="content"><?= /** @noEscape */ $localeFormatter->formatNumber($block->getItem()->getQtyShipped()) ?></span>
                    </p>
                <?php endif; ?>
                <?php if ($block->getItem()->getQtyCanceled() > 0): ?>
                    <p>
                        <span class="title"><?= $escaper->escapeHtml(__('Canceled')) ?>:</span>
                        <span class="content"><?= /** @noEscape */ $localeFormatter->formatNumber($block->getItem()->getQtyCanceled()) ?></span>
                    </p>
                <?php endif; ?>
                <?php if ($block->getItem()->getQtyRefunded() > 0): ?>
                    <p>
                        <span class="title"><?= $escaper->escapeHtml(__('Refunded')) ?>:</span>
                        <span class="content"><?= /** @noEscape */ $localeFormatter->formatNumber($block->getItem()->getQtyRefunded()) ?></span>
                    </p>
                <?php endif; ?>
            <?php endif; ?>
        </div>
    </div>
    <?php if (!$block->getData('is_context_shipment')): ?>
        <div class="p-2 text-right flex justify-between lg:block">
            <p class="lg:sr-only font-medium"><?= $escaper->escapeHtml(__('Subtotal')) ?></p>
            <?= $block->getItemRowTotalHtml() ?>
        </div>
    <?php endif; ?>
    <?php if ($block->getData('is_context_creditmemo')): ?>
        <div class="p-2 text-right flex justify-between lg:block">
            <p class="lg:sr-only font-medium"><?= $escaper->escapeHtml(__('Discount Amount')) ?></p>
            <?= /* @noEscape */ $block->getOrder()->formatPrice($item->getDiscountAmount()) ?>
        </div>
        <div class="p-2 text-right flex justify-between lg:block">
            <p class="lg:sr-only font-medium"><?= $escaper->escapeHtml(__('Row Total')) ?></p>
            <?= $block->getItemRowTotalAfterDiscountHtml() ?>
        </div>
    <?php endif; ?>
</div>
