{# Specific extensions, then specific mimetypes, then general mimtypes #}
{% set thumbnails =
    {
        "svg": "svg",

        "application/zip": "archive",
        "application/x-tar": "archive",

        "archive": "archive",
        "audio": "audio",
        "image": "image",
        "video": "video",
        "text": "txt",

    }
%}
{% macro create_photo_card(photo, view="grid") %}
{% set view = (view if view in ("list", "grid") else "grid") %}

{% set metadata_inner = "" %}
{% if photo.width %}
    {% set metadata_inner = "{m}{w}×{h}, ".format(m=metadata_inner, w=photo.width, h=photo.height) %}
{% endif %}
{% if photo.duration %}
    {% set metadata_inner = "{m}{d}, ".format(m=metadata_inner, d=photo.duration_string) %}
{% endif -%}

<div class="photo_card photo_card_{{view}} photo_card_unselected" data-id="{{photo.id}}">
    <input type="checkbox" class="photo_card_selector_checkbox" onclick="photo_clipboard.on_photo_select(event)"/>
    <div class="photo_card_filename"><a target="_blank" href="/photo/{{photo.id}}">{{photo.basename}}</a></div>
    <span class="photo_card_metadata">
        {{- metadata_inner|safe -}}
        <a target="_blank" href="{{photo|file_link}}">{{photo.bytestring}}</a>
    </span>

    {% if view == "grid" %}
    {% if photo.thumbnail %}
        {% set thumbnail_src = "/thumbnail/" + photo.id + ".jpg" %}
    {% else %}
        {% set thumbnail_src =
            thumbnails.get(photo.extension, "") or
            thumbnails.get(photo.mimetype, "") or
            thumbnails.get(photo.simple_mimetype, "") or
            "other"
        %}
        {% set thumbnail_src = "/static/basic_thumbnails/" + thumbnail_src + ".png" %}
    {% endif -%}

    {% set tag_names_title = [] %}
    {% for tag in photo.get_tags() %}
        {% do tag_names_title.append(tag.name) %}
    {% endfor -%}

    {% set tag_names_title = ", ".join(tag_names_title) %}
    {% if tag_names_title %}
        {% set tag_names_inner = "T" %}
    {% else %}
        {% set tag_names_inner = "" %}
    {% endif -%}
    <a class="photo_card_thumbnail" target="_blank" href="/photo/{{photo.id}}"><img src="{{thumbnail_src}}"></a>
    <span class="photo_card_tags" title="{{tag_names_title}}">{{tag_names_inner}}</span>
    {% endif %}
</div>

{% endmacro %}