{% extends 'partials/base.html.twig' %}

{% set config_slug = uri.basename %}
{% if config_slug == 'config' %}
    {% set config_slug = authorize(['admin.configuration.system', 'admin.super']) ? 'system' : 'site' %}
{% endif %}
{% set isInfo = (config_slug == 'info') %}

{% set tab_title_string = "PLUGIN_ADMIN." ~ config_slug|upper %}
{% set tab_title = (tab_title_string|tu == tab_title_string ? config_slug|capitalize : tab_title_string|tu)  %}
{% set title = "PLUGIN_ADMIN.CONFIGURATION"|tu ~ ": " ~ tab_title %}

{% set config_ignores = ['scheduler', 'backups'] %}

{% if not isInfo %}
    {% set data = admin.data('config/' ~ config_slug) %}
{% endif %}

{% block stylesheets %}
    {% do assets.addCss(theme_url ~ '/css/codemirror/codemirror.css') %}
    {{ parent() }}
{% endblock %}

{% block javascripts %}
    {{ parent() }}
{% endblock %}

{% block titlebar %}
    <div class="button-bar">
        {#tt#}
        {{ service_render("renderer", "configuration", "first") | raw }}
        {#tt end#}
        {#tt#}
        {{ service_render("renderer", "configuration", "before:parent") | raw }}
        {#tt end#}
        <a class="button" href="{{ base_url }}"><i class="fa fa-reply"></i> {{ "PLUGIN_ADMIN.BACK"|tu }}</a>
        {% if data.file.filename %}
        <button class="button" type="submit" name="task" value="save" form="blueprints"><i class="fa fa-check"></i> {{ "PLUGIN_ADMIN.SAVE"|tu }}</button>
        {% endif %}
        {#tt#}
        {{ service_render("renderer", "configuration", "after:parent") | raw }}
        {#tt end#}
        {#tt#}
        {{ service_render("renderer", "configuration", "last") | raw }}
        {#tt end#}
    </div>
    <h1><i class="fa fa-fw fa-wrench"></i> {{ "PLUGIN_ADMIN.CONFIGURATION"|tu }} - {{ tab_title }}</h1>
{% endblock %}

{% block content_top %}
    {% if data.file.filename %}
    <div class="alert notice">{{ "PLUGIN_ADMIN.SAVE_LOCATION"|tu }}: <b>{{ data.file.filename|replace({(base_path):''}) }}</b></div>
    {% endif %}

    <div class="form-tabs">
        <div class="tabs-nav">

            {% if authorize(['admin.configuration.system', 'admin.super']) %}
            <a {% if config_slug == 'system' %}class="active"{% endif %} href="{{ admin_route('/config/system') }}">
                <span>{{ "PLUGIN_ADMIN.SYSTEM"|tu }}</span>
            </a>
            {% endif %}

            {% if authorize(['admin.configuration.site', 'admin.super']) %}
            <a {% if config_slug == 'site' %}class="active"{% endif %} href="{{ admin_route('/config/site') }}">
                <span>{{ "PLUGIN_ADMIN.SITE"|tu }}</span>
            </a>
            {% endif %}

            {% for configuration in admin.configurations if (configuration not in config_ignores) %}
                {% if authorize(['admin.configuration.' ~ configuration, 'admin.configuration_' ~ configuration, 'admin.super']) %}
                    {% set current_blueprints = admin.data('config/' ~ configuration).blueprints.toArray() %}
                    {% if configuration != 'system' and configuration != 'site' and not current_blueprints.form.hidden and (current_blueprints.form.fields is not empty or current_blueprints.form.field is not empty) %}
                        <a {% if config_slug == configuration %}class="active"{% endif %} href="{{ admin_route('/config/' ~ configuration) }}">
                            {% set configuration_string = "PLUGIN_ADMIN." ~ configuration|upper %}
                            <span>{{ (configuration_string|tu == configuration_string ? configuration|capitalize : configuration_string|tu) }}</span>
                        </a>
                    {% endif %}
                {% endif %}
            {% endfor %}

            {% if authorize(['admin.configuration.info', 'admin.super']) %}
            <a {% if config_slug == 'info' %}class="active"{% endif %} href="{{ admin_route('/config/info') }}">
                <span>{{ "PLUGIN_ADMIN.INFO"|tu }}</span>
            </a>
            {% endif %}

        </div>
    </div>
{% endblock %}

{% block content %}
    {% if authorize(['admin.configuration.' ~ config_slug, 'admin.configuration_' ~ config_slug, 'admin.super']) %}
        {% if isInfo %}
            <div id="phpinfo">
                <div style="margin-left:1.5rem">
                    <a class="button button-big" href="#" style="text-align: center;" data-remodal-target="changelog" data-remodal-changelog="{{ admin_route('/changelog/type:plugins/slug:' ~ plugin.slug) }}"><i class="fa fa-binoculars"></i> View Grav Changelog</a>
                </div>
                {{ admin.phpinfo|raw }}
            </div>
        {% else %}
            <div class="config-wrapper-{{  config_slug }}">
            {% include 'partials/blueprints.html.twig' with { blueprints: data.blueprints, data: data } %}
            </div>
        {% endif %}
    {% endif %}
    {% include 'partials/modal-changes-detected.html.twig' %}
    {% include 'partials/modal-changelog.html.twig' %}
{% endblock %}
