contentdb/app/templates/macros/packagegridtile.html
2024-03-03 01:14:33 +00:00

55 lines
1.7 KiB
HTML

{% macro render_pkgtile(package, show_author) -%}
{% set meta = package.get_translated(load_desc=False) %}
<li class="packagetile flex-fill"><a href="{{ package.get_url('packages.view') }}">
<img src="{{ package.get_thumb_or_placeholder() }}" loading="lazy">
<div class="packagegridscrub"></div>
<div class="packagegridinfo">
<h3>
{{ meta.title }}
{% if show_author %}<br />
<small>{{ package.author.display_name }}</small>
{% endif %}
{% if not package.approved %}
<span class="badge ms-1 {% if package.state == package.state.CHANGES_NEEDED %}bg-danger{% else %}bg-warning{% endif %}">
{{ package.state.value }}
</span>
{% endif %}
</h3>
<p>
{{ meta.short_desc }}
</p>
{% if not package.license.is_foss and not package.media_license.is_foss and package.type != package.type.TXP %}
<p style="color:#f33;">
{{ _("<b>Warning:</b> Non-free code and media.") }}
</p>
{% elif not package.license.is_foss and package.type != package.type.TXP %}
<p style="color:#f33;">
{{ _("<b>Warning:</b> Non-free code.") }}
</p>
{% elif not package.media_license.is_foss %}
<p style="color:#f33;">
{{ _("<b>Warning:</b> Non-free media.") }}
</p>
{% endif %}
</div>
</a></li>
{% endmacro %}
{% macro render_pkggrid(packages, show_author=True) -%}
<ul class="grid-300px gap-2 p-0">
{% for p in packages %}
{{ render_pkgtile(p, show_author) }}
{% else %}
<li class="packagetile"><i>{{ _("No packages available") }}</i></li>
{% endfor %}
{% if packages %}
{% for i in range(4) %}
<li class="packagetile flex-fill"></li>
{% endfor %}
{% endif %}
</ul>
{% endmacro %}