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

declare(strict_types=1);

use Hyva\Theme\Model\ViewModelRegistry;
use Hyva\Theme\ViewModel\HeroiconsOutline;
use Hyva\Theme\ViewModel\HyvaCsp;
use Magento\Theme\Block\Html\Notices;
use Magento\Framework\View\Helper\SecureHtmlRenderer;
use Magento\Framework\Escaper;

/** @var Escaper $escaper */
/** @var Notices $block */
/** @var ViewModelRegistry $viewModels */
/** @var HyvaCsp $hyvaCsp */
/** @var SecureHtmlRenderer $secureRenderer */

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

<?php if ($block->displayNoscriptNotice()): ?>
    <noscript>
        <section
            class="message global noscript border-b-2 border-blue-500 bg-blue-50 shadow-none m-0 px-0 rounded-none font-normal"
            aria-labelledby="messageGlobalNoScriptMessage"
        >
            <div class="container text-center">
                <p id="messageGlobalNoScriptMessage">
                    <strong><?= $escaper->escapeHtml(__('JavaScript seems to be disabled in your browser.')) ?></strong>
                    <span>
                        <?= $escaper->escapeHtml(
                            __('For the best experience on our site, be sure to turn on Javascript in your browser.')
                        ) ?>
                    </span>
                </p>
            </div>
        </section>
    </noscript>
<?php endif; ?>

<?php if ($block->displayNoLocalStorageNotice()): ?>
    <section
        id="localStorageMissingMessage"
        hidden
        style="display: none"
        class="message global local_storage border-b-2 border-blue-500 bg-blue-50 shadow-none m-0 px-0 rounded-none font-normal"
        aria-labelledby="messageGlobalLocalStorageMessage"
    >
        <div class="container text-center">
            <p id="messageGlobalLocalStorageMessage">
                <strong><?= $escaper->escapeHtml(__('Local Storage seems to be disabled in your browser.')) ?></strong>
                <?= $escaper->escapeHtml(
                    __('For the best experience on our site, be sure to turn on Local Storage in your browser.')
                ) ?>
            </p>
        </div>
    </section>
    <script>
        (() => {
            if (typeof(Storage) !== 'undefined') return;
            const message = document.getElementById('localStorageMissingMessage');
            if (!message) return;
            message.removeAttribute('hidden');
            message.style.display = null;
        })()
    </script>
    <?php $hyvaCsp->registerInlineScript() ?>
<?php endif; ?>

<?php if ($block->displayDemoNotice()): ?>
    <section
        class="message global demo border-b-2 border-red-500 bg-red-50 shadow-none m-0 px-0 rounded-none font-normal"
        aria-labelledby="messageGlobalDemo"
    >
        <div class="container text-center font-bold">
            <p id="messageGlobalDemo"><?= $escaper->escapeHtml(__('This is a demo store. No orders will be fulfilled.')) ?></p>
        </div>
    </section>
<?php endif; ?>