{% extends 'lists/layout.html' %}
{% load i18n %}
{% load bookwyrm_tags %}
{% load markdown %}

{% block panel %}
{% if request.user == list.user and pending_count %}
<div class="block content">
    <p>
        <a href="{% url 'list-curate' list.id %}">{{ pending_count }} book{{ pending_count|pluralize }} awaiting your approval</a>
    </p>
</div>
{% endif %}

<div class="columns mt-3">
    <section class="column is-three-quarters">
        {% if request.GET.updated %}
        <div class="notification is-primary">
            {% if list.curation != "open" and request.user != list.user %}
            {% trans "You successfully suggested a book for this list!" %}
            {% else %}
            {% trans "You successfully added a book to this list!" %}
            {% endif %}
        </div>
        {% endif %}

        {% if not items.object_list.exists %}
        <p>{% trans "This list is currently empty" %}</p>
        {% else %}
        <ol start="{{ items.start_index }}" class="ordered-list">
        {% for item in items %}
            <li class="block mb-5">
                <div class="card">
                    {% with book=item.book %}
                        <div
                            class="
                                card-content p-0 mb-0
                                columns is-gapless
                                is-mobile
                            "
                        >
                            <div class="column is-3-mobile is-2-tablet is-cover align to-t">
                                <a href="{{ item.book.local_path }}" aria-hidden="true">
                                    {% include 'snippets/book_cover.html' with cover_class='is-w-auto is-h-m-tablet is-align-items-flex-start' size='medium' %}
                                </a>
                            </div>

                            <div class="column mx-3 my-2">
                                <p>
                                    {% include 'snippets/book_titleby.html' %}
                                </p>
                                <p>
                                    {% include 'snippets/stars.html' with rating=item.book|rating:request.user %}
                                </p>
                                <div>
                                    {{ book|book_description|to_markdown|default:""|safe|truncatewords_html:20 }}
                                </div>
                                {% include 'snippets/shelve_button/shelve_button.html' %}
                            </div>
                        </div>
                    {% endwith %}

                    <div class="card-footer is-stacked-mobile has-background-white-bis is-align-items-stretch">
                        <div class="card-footer-item">
                            <div>
                            <p>{% blocktrans with username=item.user.display_name user_path=item.user.local_path %}Added by <a href="{{ user_path }}">{{ username }}</a>{% endblocktrans %}</p>
                            </div>
                        </div>
                        {% if list.user == request.user %}
                        <div class="card-footer-item">
                            <form name="set-position" method="post" action="{% url 'list-set-book-position' item.id %}">
                                {% csrf_token %}
                                <div class="field has-addons mb-0">
                                    <div class="control">
                                        <label for="input-list-position" class="button is-transparent is-small">{% trans "List position" %}</label>
                                    </div>
                                    <div class="control">
                                        <input id="input_list_position" class="input is-small" type="number" min="1" name="position" value="{{ item.order }}">
                                    </div>
                                    <div class="control">
                                        <button type="submit" class="button is-info is-small is-tablet">{% trans "Set" %}</button>
                                    </div>
                                </div>
                            </form>
                        </div>
                        {% endif %}
                        {% if list.user == request.user or list.curation == 'open' and item.user == request.user %}
                        <form name="remove-book" method="post" action="{% url 'list-remove-book' list.id %}" class="card-footer-item">
                            {% csrf_token %}
                            <input type="hidden" name="item" value="{{ item.id }}">
                            <button type="submit" class="button is-small is-danger">{% trans "Remove" %}</button>
                        </form>
                        {% endif %}
                    </div>
                </div>
            </li>
        {% endfor %}
        </ol>
        {% endif %}
        {% include "snippets/pagination.html" with page=items %}
    </section>

    <section class="column is-one-quarter">
        <h2 class="title is-5">
            {% trans "Sort List" %}
        </h2>
        <form name="sort" action="{% url 'list' list.id %}" method="GET" class="block">
            <div class="field">
                <label class="label" for="id_sort_by">{% trans "Sort By" %}</label>
                <div class="select is-fullwidth">
                    {{ sort_form.sort_by }}
                </div>
            </div>
            <div class="field">
                <label class="label" for="id_direction">{% trans "Direction" %}</label>
                <div class="select is-fullwidth">
                    {{ sort_form.direction }}
                </div>
            </div>
            <div class="field">
                <button class="button is-primary is-fullwidth" type="submit">
                    {% trans "Sort List" %}
                </button>
            </div>
        </form>
    {% if request.user.is_authenticated and not list.curation == 'closed' or request.user == list.user %}
        <h2 class="title is-5 mt-6">
            {% if list.curation == 'open' or request.user == list.user %}
                {% trans "Add Books" %}
            {% else %}
                {% trans "Suggest Books" %}
            {% endif %}
        </h2>
        <form name="search" action="{% url 'list' list.id %}" method="GET" class="block">
            <div class="field has-addons">
                <div class="control">
                    <input aria-label="{% trans 'Search for a book' %}" class="input" type="text" name="q" placeholder="{% trans 'Search for a book' %}" value="{{ query }}">
                </div>
                <div class="control">
                    <button class="button" type="submit">
                        <span class="icon icon-search" title="{% trans 'Search' %}">
                            <span class="is-sr-only">{% trans "search" %}</span>
                        </span>
                    </button>
                </div>
            </div>
            {% if query %}
            <p class="help"><a href="{% url 'list' list.id %}">{% trans "Clear search" %}</a></p>
            {% endif %}
        </form>
        {% if not suggested_books %}
        {% if query %}
        <p>{% blocktrans %}No books found matching the query "{{ query }}"{% endblocktrans %}</p>{% else %}
        <p>{% trans "No books found" %}</p>
        {% endif %}
        {% endif %}

        {% if suggested_books|length > 0 %}
            {% for book in suggested_books %}
                <div class="columns is-mobile is-gapless">
                    <a
                        class="column is-2-mobile is-3-tablet is-cover align to-c"
                        href="{{ book.local_path }}"
                        aria-hidden="true"
                    >
                        {% include 'snippets/book_cover.html' with book=book cover_class='is-w-auto is-h-s-mobile align to-t' size='small' %}
                    </a>

                    <div class="column ml-3">
                        <p>{% include 'snippets/book_titleby.html' with book=book %}</p>

                        <form
                            class="mt-1"
                            name="add-book"
                            method="post"
                            action="{% url 'list-add-book' %}{% if query %}?q={{ query }}{% endif %}"
                        >
                            {% csrf_token %}
                            <input type="hidden" name="book" value="{{ book.id }}">
                            <input type="hidden" name="list" value="{{ list.id }}">
                            <button type="submit" class="button is-small is-link">{% if list.curation == 'open' or request.user == list.user %}{% trans "Add" %}{% else %}{% trans "Suggest" %}{% endif %}</button>
                        </form>
                    </div>
                </div>
            {% endfor %}
        {% endif %}
    {% endif %}
    </section>
</div>
{% endblock %}