{{!
    This file is part of Moodle - http://moodle.org/

    Moodle is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Moodle is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
}}
{{!
    @template theme_boost_magnific/core/full_header

    This template renders the header.

    Example context (json):
    {
        "contextheader": "context_header_html",
        "hasnavbar": false,
        "navbar": "navbar_if_available"
    }
}}
<div id="hasnavbar_course_generated" style="display:none;opacity:0;visibility:hidden;">
    {{#hasnavbarcourse}}
        <header id="page-header-" class="header-maxwidth hasnavbarcourse">
            <div class="position-absolute hasnavbarcourse-gradient-image w-100 h-100"
                 style="background-image: url('{{{overviewfiles}}}');">
                <div class="overlay-gradient-image"></div>
            </div>
            <div class="w-100 header-wrapper" style="z-index:1;">
                <div class="d-flex flex-wrap">
                    {{#hasnavbar}}
                        <div id="page-navbar">
                            {{{navbar}}}
                        </div>
                    {{/hasnavbar}}
                </div>
                <div class="course-intro-category-name">{{categoryname}}</div>
                <div class="page-context-header">
                    <div class="page-header-headings">
                        {{{contextheader}}}
                    </div>
                </div>
                <dl class="course-intro-details">
                    {{#details}}
                        <dd class="course-intro-{{{id}}}">
                            <i class="fa {{{icon}}}"></i>
                            <div class="info">
                                {{#number}}
                                    <h6 class="number">{{{number}}}</h6>
                                {{/number}}
                                {{#link}}
                                    <a class="text" href="{{{link}}}">{{{text}}}</a>
                                {{/link}}
                                {{^link}}
                                    <span class="text">{{{text}}}</span>
                                {{/link}}
                            </div>
                        </dd>
                    {{/details}}
                </dl>
            </div>
        </header>
    {{/hasnavbarcourse}}

    {{#hasbannercourse}}
        <div id="page-header-size" class="hasbannercourse-size"></div>
        <header id="page-header-" class="header-maxwidth d-print-none hasbannercourse">
            <div class="position-absolute hasnavbarcourse-gradient-image w-100 h-100"
                 style="background-image: url('{{{banner_course_file_url}}}');">
                <div class="overlay-gradient-image"></div>
            </div>
            <div class="w-100 header-wrapper container" style="z-index:1;">
                <div class="d-flex flex-wrap">
                    {{#hasnavbar}}
                        <div id="page-navbar">
                            {{{navbar}}}
                        </div>
                    {{/hasnavbar}}
                </div>
                <div class="course-intro-category-name">{{categoryname}}</div>
                <div class="page-context-header">
                    <div class="page-header-headings">
                        {{{contextheader}}}
                    </div>
                </div>
            </div>
        </header>
    {{/hasbannercourse}}

    <div class="header-actions-container ms-auto d-flex mt-3"
         style="justify-content:flex-end;"
         data-region="header-actions-container">
        {{#headeractions_edit}}
            <div class="header-action ms-2">
                <a id="headeractions-banner-{{{headeractions_banner_courseid}}}"
                   class="btn btn-primary text-nowrap"
                   href="{{{headeractions_edit_href}}}">
                    {{#str}}course_summary_banner_edit, theme_boost_magnific{{/str}}
                </a>
            </div>
        {{/headeractions_edit}}
        {{#headeractions}}
            <div class="header-action ms-2">{{{.}}}</div>
        {{/headeractions}}
    </div>
</div>
<script>
    function trocarHeader() {
        const headerAtual = document.getElementById('page-header');
        const fonte = document.getElementById('hasnavbar_course_generated');

        if (!headerAtual || !fonte) {
            return;
        }

        /* Corrige: <header id="page-header-"> -> <header id="page-header"> */
        const headerErrado = fonte.querySelector('header#page-header-');
        if (headerErrado) {
            headerErrado.id = 'page-header';
        }

        /* Substitui o header atual pelo HTML (nós) dentro de #hasnavbar_course_generated */
        const frag = document.createDocumentFragment();
        while (fonte.firstChild) {
            frag.appendChild(fonte.firstChild);
        }

        // Replace com fallback
        if (headerAtual.replaceWith) {
            headerAtual.replaceWith(frag);
        } else {
            const pai = headerAtual.parentNode;
            pai.insertBefore(frag, headerAtual);
            pai.removeChild(headerAtual);
        }

        /* opcional: remove o container que ficou vazio */
        fonte.remove();
    }

    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', trocarHeader);
    } else {
        trocarHeader();
    }
</script>