etiquette/frontends/etiquette_flask/templates/album_card.html

59 lines
2.1 KiB
HTML

{% macro create_album_card(album, view="grid", unlink_parent=none, draggable=false) %}
{% set id = "album_card_root" if album == "root" else "album_card_" + album.id %}
{% set view = (view if view in ("list", "grid") else "grid") %}
{% set viewparam = "?view=list" if view == "list" else "" %}
<div
id="{{id}}"
class="album_card album_card_{{view}}"
data-id="{{'root' if album == 'root' else album.id}}"
ondragstart="return on_album_drag_start(event);"
ondragend="return on_album_drag_end(event);"
ondragover="return on_album_drag_over(event);"
ondrop="return on_album_drag_drop(event);"
{% if album != "root" and draggable %}
draggable=true
{% endif %}
>
{% if album == "root" %}
<a class="album_card_thumbnail" href="/albums{{viewparam}}">
{% else %}
<a class="album_card_thumbnail" href="/album/{{album.id}}{{viewparam}}">
{% endif %}
<img src="/static/basic_thumbnails/album.png"/>
</a>
<div class="album_card_tools">
{% if unlink_parent is not none %}
<button
class="remove_child_button button_with_confirm red_button"
data-onclick="return api.albums.remove_child('{{unlink_parent.id}}', '{{album.id}}', common.refresh_or_alert);"
data-prompt="Remove child?"
data-holder-class="remove_child_button"
data-confirm-class="red_button"
data-cancel-class="gray_button"
>Unlink
</button>
{% endif %}
</div>
<div class="album_card_title">
{% if album == "root" %}
<a href="/albums{{viewparam}}">Albums</a>
{% else %}
<a href="/album/{{album.id}}{{viewparam}}">{{album.display_name}}</a>
{% endif %}
</div>
<div class="album_card_metadata">
{% if album == "root" %}
{% else %}
{% set child_count = album.get_children()|length %}
{% set photo_count = album.sum_photos(recurse=False) %}
<span class="album_card_child_count" title="{{child_count}} child albums">{{child_count}}</span>
{{-' | '-}}
<span class="album_card_photo_count" title="{{photo_count}} photos">{{photo_count}}</span>
{% endif %}
</div>
</div>
{% endmacro %}