<?php
$update_escape = static function ($value) {
    return htmlspecialchars((string)$value, ENT_QUOTES, 'UTF-8');
};
$update_platform = is_array($update_platform ?? null) ? $update_platform : [];
?>
<?php echo easychat_style_tag('css/views/update_center.css'); ?>

<section class="easychat-update-center"
         data-update-center
         data-current-version="<?php echo $update_escape($update_current_version ?? ''); ?>"
         data-platform="<?php echo $update_escape($update_platform['id'] ?? 'standalone'); ?>"
         data-csrf-token="<?php echo $update_escape($easychat_csrf_token ?? ''); ?>">
    <header class="easychat-update-center__header">
        <div class="easychat-update-center__title">
            <span class="easychat-update-center__title-icon" aria-hidden="true"><i class="fa fa-arrow-circle-up"></i></span>
            <div>
                <p class="easychat-update-center__eyebrow">Центр обновлений</p>
                <h1>Обновление EasyChat</h1>
                <p>Проверим релиз, совместимость сервера и безопасный способ установки для вашей платформы.</p>
            </div>
        </div>
        <button class="btn btn-outline-secondary easychat-update-center__refresh" type="button" data-update-refresh title="Проверить ещё раз">
            <i class="fa fa-refresh" aria-hidden="true"></i><span>Проверить</span>
        </button>
    </header>

    <div class="easychat-update-center__trust" role="note">
        <i class="fa fa-shield" aria-hidden="true"></i>
        <span>EasyChat устанавливает только официальный релиз с проверенной цифровой подписью и SHA-256.</span>
    </div>

    <div class="easychat-update-center__loading" data-update-loading role="status" aria-live="polite">
        <span class="easychat-update-center__spinner" aria-hidden="true"></span>
        <div><strong>Проверяем обновления</strong><span>Обычно это занимает несколько секунд.</span></div>
    </div>

    <div class="easychat-update-center__content" data-update-content hidden>
        <section class="easychat-update-center__release" aria-labelledby="easychat-update-release-title">
            <div class="easychat-update-center__release-head">
                <div>
                    <span class="easychat-update-center__state" data-update-state>Проверяем</span>
                    <h2 id="easychat-update-release-title" data-update-title>Состояние EasyChat</h2>
                    <p data-update-description></p>
                </div>
                <div class="easychat-update-center__versions" aria-label="Версии EasyChat">
                    <span><small>Сейчас</small><strong data-update-current><?php echo $update_escape($update_current_version ?? ''); ?></strong></span>
                    <i class="fa fa-long-arrow-right" aria-hidden="true"></i>
                    <span><small>Доступна</small><strong data-update-latest>—</strong></span>
                </div>
            </div>

            <div class="easychat-update-center__meta">
                <span><i class="fa fa-cube" aria-hidden="true"></i><span data-update-platform-label><?php echo $update_escape($update_platform['label'] ?? 'EasyChat'); ?></span></span>
                <span data-update-verified hidden><i class="fa fa-check-circle" aria-hidden="true"></i> Подпись подтверждена</span>
                <span data-update-published hidden><i class="fa fa-calendar-o" aria-hidden="true"></i> <span></span></span>
            </div>

            <div class="easychat-update-center__actions" data-update-actions>
                <button class="btn btn-primary" type="button" data-update-primary hidden>
                    <i class="fa fa-arrow-circle-up" aria-hidden="true"></i><span>Установить обновление</span>
                </button>
                <button class="btn btn-outline-primary" type="button" data-update-download hidden>
                    <i class="fa fa-download" aria-hidden="true"></i><span>Скачать проверенный архив</span>
                </button>
                <a class="btn btn-primary" data-update-transition-download href="#" hidden>
                    <i class="fa fa-download" aria-hidden="true"></i><span>Скачать архив перехода</span>
                </a>
                <a class="btn btn-outline-secondary" data-update-native href="#" hidden>
                    <i class="fa fa-external-link" aria-hidden="true"></i><span>Открыть установщик CMS</span>
                </a>
                <a class="easychat-update-center__notes" data-update-notes href="https://docs.easychat24.ru/docs/whats-new/" target="_blank" rel="noopener noreferrer">
                    Что нового <i class="fa fa-angle-right" aria-hidden="true"></i>
                </a>
            </div>

            <div class="easychat-update-center__cms-guidance"
                 data-update-cms-guidance
                 role="status"
                 aria-live="polite"
                 tabindex="-1"
                 hidden>
                <span class="easychat-update-center__cms-guidance-icon" aria-hidden="true"><i class="fa fa-opencart"></i></span>
                <div>
                    <strong>Откройте EasyChat из панели OpenCart</strong>
                    <ol>
                        <li>Вернитесь в административную панель OpenCart.</li>
                        <li>Откройте установленный модуль EasyChat и нажмите «Открыть EasyChat».</li>
                        <li>Центр обновлений покажет большую кнопку «Обновить через OpenCart» и сам передаст проверенный архив установщику.</li>
                    </ol>
                </div>
            </div>

            <div class="easychat-update-center__transition"
                 data-update-transition-guide
                 role="status"
                 aria-live="polite"
                 hidden>
                <span class="easychat-update-center__transition-icon" aria-hidden="true"><i class="fa fa-shield"></i></span>
                <div>
                    <strong>Один ручной переход — дальше снова автоматически</strong>
                    <p>Скопируйте файлы из архива поверх текущей папки EasyChat. Не удаляйте папку перед копированием: настройки, логи и загрузки останутся на месте.</p>
                    <a data-update-transition-help href="https://docs.easychat24.ru/docs/update-center/" target="_blank" rel="noopener noreferrer">
                        Открыть короткую инструкцию <i class="fa fa-external-link" aria-hidden="true"></i>
                    </a>
                </div>
            </div>

            <div class="easychat-update-center__result" data-update-result role="status" aria-live="polite" hidden></div>

            <div class="easychat-update-operation"
                 data-update-operation
                 role="status"
                 aria-live="polite"
                 aria-atomic="true"
                 hidden>
                <div class="easychat-update-operation__head">
                    <div>
                        <strong data-update-operation-title>Готовим обновление</strong>
                        <span data-update-operation-detail>Проверяем официальный релиз.</span>
                    </div>
                    <span class="easychat-update-operation__step" data-update-operation-step>Шаг 1 из 4</span>
                </div>
                <div class="easychat-update-operation__track" aria-hidden="true">
                    <span data-update-operation-progress></span>
                </div>
                <ol class="easychat-update-operation__steps" aria-label="Этапы обновления">
                    <li data-update-operation-phase="1">Проверка</li>
                    <li data-update-operation-phase="2">Загрузка</li>
                    <li data-update-operation-phase="3">Подготовка</li>
                    <li data-update-operation-phase="4">Установка</li>
                </ol>
            </div>
        </section>

        <aside class="easychat-update-center__readiness" aria-labelledby="easychat-update-readiness-title">
            <div class="easychat-update-center__readiness-head">
                <div>
                    <p class="easychat-update-center__eyebrow">Перед установкой</p>
                    <h2 id="easychat-update-readiness-title">Проверка готовности</h2>
                </div>
                <span class="easychat-update-center__readiness-state" data-update-readiness-state>—</span>
            </div>
            <ul class="easychat-update-center__checks" data-update-checks></ul>
            <p class="easychat-update-center__native-hint" data-update-native-hint hidden></p>
        </aside>
    </div>
</section>

<div class="modal fade" id="easychatUpdateConfirmModal" tabindex="-1" aria-labelledby="easychatUpdateConfirmTitle" aria-hidden="true">
    <div class="modal-dialog modal-dialog-centered easychat-update-confirm">
        <div class="modal-content">
            <div class="modal-header">
                <div>
                    <p class="easychat-update-center__eyebrow">Обновление готово</p>
                    <h5 class="modal-title" id="easychatUpdateConfirmTitle" data-update-confirm-title>Установить новую версию?</h5>
                </div>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Закрыть"></button>
            </div>
            <div class="modal-body">
                <div class="easychat-update-confirm__version"><span data-update-confirm-current>—</span><i class="fa fa-long-arrow-right" aria-hidden="true"></i><strong data-update-confirm-latest>—</strong></div>
                <p data-update-confirm-copy>EasyChat проверит архив и выполнит обновление выбранным для платформы способом.</p>
                <div class="easychat-update-confirm__notice"><i class="fa fa-info-circle" aria-hidden="true"></i><span>Если связь прервётся, EasyChat сам продолжит эту же операцию после восстановления страницы.</span></div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Не сейчас</button>
                <button type="button" class="btn btn-primary" data-update-confirm-install><i class="fa fa-check" aria-hidden="true"></i><span data-update-confirm-action>Установить</span></button>
            </div>
        </div>
    </div>
</div>

<?php echo easychat_script_tag('js/update/opencart2_install_plan.js'); ?>
<?php echo easychat_script_tag('js/views/update_center.js'); ?>
