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

declare(strict_types=1);

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

use Hyva\Theme\Model\ViewModelRegistry;
use Hyva\Theme\ViewModel\StoreConfig;
use Hyva\Theme\ViewModel\ThemeLibrariesConfig;
use Magento\Framework\View\Element\Template;

$themeLibrary = $viewModels->require(ThemeLibrariesConfig::class);
$storeConfig = $viewModels->require(StoreConfig::class);
$block->setData('defer_idle_timeout', $storeConfig->getStoreConfig('hyva_theme_general/alpine_defer/defer_idle_timeout'));

$version = $themeLibrary->getVersionIdFor('defer-plugin')
    ?: $themeLibrary->getVersionIdFor('alpine')
    ?: '2';

if (substr($version, -4) === '-csp') {
    $version = substr($version, 0, -4);
}

?>
<?= $block->getChildHtml('alpine-defer-rules') ?>
<?= /** @noEscape */ $block->fetchView($block->getTemplateFile(sprintf('Hyva_Theme::page/js/plugins/v%s/defer.phtml', $version))) ?>
