{% set gumroad_loaded = false %}
<div class="grav-update themes"></div>
{% if installing %}
    {% include 'partials/release-toggle.html.twig' %}
{% endif %}
{% include 'partials/list-sort.html.twig' with { list_view: 'themes' } %}
<h1>
    {{ installing ? "PLUGIN_ADMIN.AVAILABLE_THEMES"|t : "PLUGIN_ADMIN.INSTALLED_THEMES"|t }}
</h1>
<form>
    <div class="gpm-search">
        <input type="text" placeholder="{{ "PLUGIN_ADMIN.RESOURCE_FILTER"|t }}" data-gpm-filter>
    </div>
</form>

<div class="themes card-row grid fixed-blocks pure-g">
    {% for slug, theme in admin.themes(not installing).toArray|ksort %}
        {% set state = 'inactive' %}
        {% if (installing) %}{% set state = 'installing' %}{% endif %}
        {% if (config.get('system.pages.theme') == slug) %}{% set state = 'active' %}{% endif %}
        {% set isTestingRelease = admin.gpm.isTestingRelease(slug) %}
        {% set isPremium = admin.isPremiumProduct(theme) %}
        {% set releaseDate = theme.date ?: admin.gpm.findPackage(slug, true).date %}

        <div class="theme card-item pure-u-1-3 {{ state }}-theme" data-gpm-theme="{{ slug|url_encode }}" data-gpm-name="{{ theme.name }}" data-gpm-release-date="{{ releaseDate }}" data-gpm-author="{{ theme.author.name }}" data-gpm-official="{{ admin.isTeamGrav(theme) ? '1' : '2' }}" data-gpm-updatable="{{ admin.gpm.isUpdatable(slug) ? '1' : '2' }}" data-gpm-enabled="{{ data.get('enabled') ? '1' : '2' }}" data-gpm-testing="{{ isTestingRelease ? '1' : '2' }}" data-gpm-premium="{{ isPremium ? '1' : '2' }}">
            <div class="gpm-name">
                <i class="fa fa-fw fa-{{ theme.icon }}"></i>
                <a href="{{ admin_route('/themes/' ~ slug|url_encode) }}">{{ theme.name }}</a>
                {% if admin.isTeamGrav(theme) %}
                    <small><span class="info-reverse"><i class="fa fa-check-circle" title="{{ "PLUGIN_ADMIN.GRAV_OFFICIAL_THEME"|t }}"></i></span></small>
                {% endif %}
                {% if isPremium %}
                    {% if not gumroad_loaded %}
                        {% set gumroad_loaded = true %}
                        <script src="//gumroad.com/js/gumroad.js"></script>
                    {% endif %}
                    <small><span class="badge warning premium"><i class="fa fa-star-o"></i> {{ "PLUGIN_ADMIN.PREMIUM_PRODUCT"|t }}</span></small>
                {% endif %}
                {% if theme.symlink %}
                    <span class="hint--bottom"  data-hint="{{ "PLUGIN_ADMIN.THEME_SYMBOLICALLY_LINKED"|t }}">
                    <i class="fa fa-fw fa-link"></i>
                </span>
                {% endif %}
                <span class="gpm-version">v{{ theme.version }}</span>
                {% if isTestingRelease %}<span class="gpm-testing">test release</span>{% endif %}
                {% set compat = theme.compatibility.grav ?? ['1.7'] %}
                {% if '1.7' in compat %}<span class="gpm-compat gpm-compat-17">1.7</span>{% endif %}
                {% if '1.8' in compat %}<span class="gpm-compat gpm-compat-18">1.8</span>{% endif %}
            </div>
            <div class="gpm-screenshot">
                {% set thumb = installing ? '//getgrav.org/images/' ~ theme.screenshot : theme.thumbnail %}
                <a href="{{ admin_route('/themes/' ~ slug|url_encode) }}"><img src="{{ thumb }}" /></a>
            </div>
            {% if (state == 'installing') %}
                <div class="gpm-actions">
                    {% if (theme.premium and not admin.license(theme.slug)) %}
                        {% set permalink = theme.premium.permalink|default(null) %}
                        {% if permalink %}
                            {% set checkout_url = 'https://licensing.getgrav.org/buy/' ~ permalink %}
                            {% set success_url = 'https://licensing.getgrav.org/portal?checkout=success&checkout_id={CHECKOUT_ID}' %}
                            {% set final_checkout_url = checkout_url ~ '?success_url=' ~ success_url|url_encode %}
                            <a class="button" href="{{ final_checkout_url }}" target="_blank"><i class="fa fa-shopping-cart"></i> {{ theme.premium.button|default('Purchase') }}</a>
                        {% endif %}
                    {% else %}
                        <a class="button" href="#" data-remodal-target="add-package" data-packages-slugs="{{ slug }}" data-theme-action="start-package-installation"><i class="fa fa-plus"></i> {{ "PLUGIN_ADMIN.INSTALL"|t }}</a>
                    {% endif %}

                </div>
            {% elseif state == 'active' %}
                <div class="gpm-actions">
                    <i class="fa fa-star"></i> {{ "PLUGIN_ADMIN.ACTIVE_THEME"|t }}
                </div>
            {% else %}
                <a data-remodal-target="theme-switch-warn" href="{{ uri.addNonce(base_url_relative ~ '/themes/' ~ slug ~ '/task' ~ config.system.param_sep ~ 'activate', 'admin-form', 'admin-nonce') }}" class="gpm-actions">
                  <i class="fa fa-power-off" aria-hidden="true"></i> {{ "PLUGIN_ADMIN.ACTIVATE"|t }}
                </a>
            {% endif %}
        </div>
    {% else %}
        <tr><td>{{ "PLUGIN_ADMIN.OFFLINE_WARNING"|t }}</td></tr>
    {% endfor %}
</div>

{% include 'partials/modal-switch-theme.html.twig' %}
{% include 'partials/modal-add-package.html.twig' with { type: 'theme' } %}
{% include 'partials/modal-update-packages.html.twig' with { type: 'theme' } %}
