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

{% set title = "PLUGIN_ADMIN.DASHBOARD"|tu %}

{% set clear_cache_url = base_url_relative ~ '/cache.json/task' ~ config.system.param_sep ~ 'clearCache'|e('html_attr') %}


{% block stylesheets %}
    {{ parent() }}
    {#tt#}
    {% for asset in service_list('asset', 'dashboard', 'any') %}
        {% if asset.type == 'css' %}
            {% do assets.addJs("#{asset.url}") %}
        {% endif %}
    {% endfor %}
    {#tt end#}
{% endblock %}

{% block javascripts %}
    {{ parent() }}
    {#tt#}
    {% for asset in service_list('asset', 'dashboard', 'any') %}
        {% if asset.type == 'link' %}
            <link rel="{{ asset.rel }}" href="{{ asset.url }}" />
        {% endif %}
        {% if asset.type == 'twig' %}
            {% include "#{asset.url}" %}
        {% endif %}
        {% if asset.type == 'javascript' %}
            {% do assets.addJs("#{asset.url}") %}
        {% endif %}
    {% endfor %}
    {#tt end#}
{% endblock %}


{% block titlebar %}
    <div class="button-bar">
        {% if authorize(['admin.maintenance', 'admin.super', 'admin.cache']) %}
            <div class="button-group">
                <button data-clear-cache-type="" data-clear-cache="{{ uri.addNonce(clear_cache_url, 'admin-form', 'admin-nonce') }}" class="button"><i class="fa fa-retweet"></i> {{ "PLUGIN_ADMIN.CLEAR_CACHE"|tu }}</button>
                <button type="button" class="button dropdown-toggle" data-toggle="dropdown">
                    <i class="fa fa-caret-down"></i>
                </button>
                <ul class="dropdown-menu">
                    <li><a data-clear-cache-type="all" data-clear-cache="{{  uri.addNonce(clear_cache_url ~'/cleartype' ~ config.system.param_sep ~ 'all', 'admin-form', 'admin-nonce') }}" href="#">{{ "PLUGIN_ADMIN.CLEAR_CACHE_ALL_CACHE"|tu }}</a></li>
                    <li><a data-clear-cache-type="assets-only" data-clear-cache="{{ uri.addNonce(clear_cache_url ~'/cleartype' ~ config.system.param_sep ~ 'assets-only', 'admin-form', 'admin-nonce') }}" href="#">{{ "PLUGIN_ADMIN.CLEAR_CACHE_ASSETS_ONLY"|tu }}</a></li>
                    <li><a data-clear-cache-type="images-only" data-clear-cache="{{ uri.addNonce(clear_cache_url ~'/cleartype' ~ config.system.param_sep ~ 'images-only', 'admin-form', 'admin-nonce') }}" href="#">{{ "PLUGIN_ADMIN.CLEAR_CACHE_IMAGES_ONLY"|tu }}</a></li>
                    <li><a data-clear-cache-type="cache-only" data-clear-cache="{{ uri.addNonce(clear_cache_url ~'/cleartype' ~ config.system.param_sep ~ 'cache-only', 'admin-form', 'admin-nonce') }}" href="#">{{ "PLUGIN_ADMIN.CLEAR_CACHE_CACHE_ONLY"|tu }}</a></li>
                    <li><a data-clear-cache-type="tmp-only" data-clear-cache="{{ uri.addNonce(clear_cache_url ~'/cleartype' ~ config.system.param_sep ~ 'tmp-only', 'admin-form', 'admin-nonce') }}" href="#">{{ "PLUGIN_ADMIN.CLEAR_CACHE_TMP_ONLY"|tu }}</a></li>
                    <li><a data-clear-cache-type="purge" data-clear-cache="{{ uri.addNonce(clear_cache_url ~'/cleartype' ~ config.system.param_sep ~ 'purge', 'admin-form', 'admin-nonce') }}" href="#">{{ "PLUGIN_ADMIN.CACHE_PURGE"|tu }}</a></li>
                </ul>
            </div>
        {% endif %}
        {#tt#}
        {{ service_render('renderer', 'dashboard', 'after:parent') | raw }}
        {#tt end#}
        {% if authorize(['admin.maintenance', 'admin.super']) %}
            <button data-gpm-checkupdates="" class="button"><i class="fa fa-refresh"></i> {{ "PLUGIN_ADMIN.CHECK_FOR_UPDATES"|tu }}</button>
        {% endif %}
        {#tt#}
        {{ service_render('renderer', 'dashboard', 'last') | raw }}
        {#tt end#}
    </div>
    <h1><i class="fa fa-fw fa-th"></i> {{ "PLUGIN_ADMIN.DASHBOARD"|tu }}</h1>
{% endblock %}

{% block widgets %}
    {% if config.plugins.admin.notifications.dashboard %}
    <div class="dashboard-notifications-container"></div>
    {% endif %}

    {# System notifications, cannot be turned off #}
    {% include 'partials/dashboard-problems.html.twig' %}

    <div id="admin-dashboard">
        {% if grav.twig.plugins_hooked_dashboard_widgets_top %}
            {% for widget in grav.twig.plugins_hooked_dashboard_widgets_top %}
                {% if attribute(config.plugins.admin.widgets_display, widget.template)|string in ['1', 'true'] %}
                    <div class="dashboard-item-flex">
                        {% include 'partials/' ~ widget.template ~ '.html.twig' %}
                    </div>
                {% endif %}
            {% endfor %}
        {% endif %}
    </div>
{% endblock %}

{% block content %}
    {%- if grav.twig.plugins_hooked_dashboard_widgets_main -%}
        {%- for widget in grav.twig.plugins_hooked_dashboard_widgets_main -%}
            {% if attribute(config.plugins.admin.widgets_display, widget.template)|string in ['1', 'true'] %}
                {% include 'partials/' ~ widget.template ~ '.html.twig' %}
            {% endif -%}
        {%- endfor -%}
    {%- endif -%}

    {#tt#}
    {% for item in service_list_filter("(&(objectClass=action)(menu=page:add)(scope=dashboard))", context) %}
        {% if item.form_id %}
            {% set form_data = item.form_data(context) %}
            <div class="remodal" data-remodal-id="{{ item.form_id }}" data-remodal-options="hashTracking: false">
                {% include "partials/blueprints-new-custom.html.twig" with { blueprints:  item.form_blueprint, data: obj_data, form_data:form_data, form_id:"#{item.form_id}" } %}
            </div>
        {% endif %}
    {% endfor %}
    {#tt end#}

{% endblock %}

{% block content_bottom %}
    <div id="admin-dashboard">
        {%- if grav.twig.plugins_hooked_dashboard_widgets_bottom -%}
            {%- for widget in grav.twig.plugins_hooked_dashboard_widgets_bottom -%}
                {% if attribute(config.plugins.admin.widgets_display, widget.template)|string in ['1', 'true'] %}
                    {% include 'partials/' ~ widget.template ~ '.html.twig' %}
                {% endif -%}
            {%- endfor -%}
        {%- endif -%}
    </div>
{% endblock %}
