<?php

declare(strict_types=1);

/**
 * 前台富文本編輯器資源（Summernote @ fate/tools/summernote）。
 */

function fate_rich_editor_use(): void
{
    $GLOBALS['fate_rich_editor_use'] = true;
}

function fate_rich_editor_is_used(): bool
{
    return !empty($GLOBALS['fate_rich_editor_use']);
}

/** 輸出編輯器 CSS（可置於 partial 頂部）。 */
function fate_rich_editor_head_assets(): void
{
    if (!fate_rich_editor_is_used()) {
        return;
    }
    ?>
    <link rel="stylesheet" href="./tools/summernote/summernote-lite.min.css?v=0.9.0">
    <link rel="stylesheet" href="./static/fate-rich-editor.css?v=2">
    <?php
}

/** 輸出編輯器 JS（須置於頁尾，需先載入 jQuery）。 */
function fate_rich_editor_foot_assets(string $uploadUrl, string $csrf): void
{
    if (!fate_rich_editor_is_used()) {
        return;
    }
    ?>
    <script src="./tools/jquery/jquery-3.7.1.min.js?v=3.7.1"></script>
    <script src="./tools/summernote/summernote-lite.min.js?v=0.9.0"></script>
    <script src="./tools/summernote/lang/summernote-zh-TW.min.js?v=0.9.0"></script>
    <script>
    window.FATE_RICH_EDITOR = <?= json_encode([
        'uploadUrl' => $uploadUrl,
        'csrf' => $csrf,
    ], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) ?>;
    </script>
    <script src="./static/fate-rich-editor.js?v=2" defer></script>
    <?php
}
