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

use Hyva\Theme\Model\ViewModelRegistry;
use Hyva\Theme\ViewModel\CurrentProduct;
use Hyva\Theme\ViewModel\HeroiconsOutline;
use Hyva\Theme\ViewModel\ProductAlert;
use Magento\Catalog\Model\Product;
use Magento\Framework\Escaper;
use Magento\Framework\View\Element\Template;

/** @var Escaper $escaper */
/** @var Template $block */
/** @var ViewModelRegistry $viewModels */

/** @var ProductAlert $productAlertViewModel */
$productAlertViewModel = $viewModels->require(ProductAlert::class);

/** @var CurrentProduct $currentProduct */
$currentProduct = $viewModels->require(CurrentProduct::class);

/** @var HeroiconsOutline $heroicons */
$heroicons = $viewModels->require(HeroiconsOutline::class);

/** @var Product $product */
$product = $currentProduct->get();

if (!$product->getId() || !$productAlertViewModel->showStockAlert($product)) {
    return;
}

$signupLabel = __("Notify me when this product is in stock");
?>
<div class="product alert stock text-right">
    <a href="<?= $escaper->escapeUrl($productAlertViewModel->getSaveUrl($currentProduct->get(), 'stock')) ?>"
       title="<?= $escaper->escapeHtml($signupLabel) ?>" class="action alert">
        <span class="text-orange-400">
            <?= $heroicons->bellHtml('inline', 24, 24, ['aria-hidden' => 'true']) ?>
        </span>
        <span class="underline">
            <?= $escaper->escapeHtml($signupLabel) ?>
        </span>
    </a>
</div>
