{% extends "base.html" %}

{% load i18n static pretty_money django_tables2 %}

{# Remove page title #}
{% block contenttitle %}{% endblock %}

{% block content %}
    <div class="row mt-4">
        <div class="col-sm-5 col-md-4" id="infos_div">
            <div class="row">
                {# User details column #}
                <div class="col">
                    <div class="card border-success shadow mb-4 text-center">
                        <img src="/media/pic/default.png"
                             id="profile_pic" alt="" class="card-img-top">
                        <div class="card-body text-center">
                            <span id="user_note"></span>
                        </div>
                    </div>
                </div>

                {# User selection column #}
                <div class="col-xl-7" id="user_select_div">
                    <div class="card border-success shadow mb-4">
                        <div class="card-header">
                            <p class="card-text font-weight-bold">
                                {% trans "Consum" %}
                            </p>
                        </div>
                        <div class="card-body p-0" style="min-height:125px;">
                            <ul class="list-group list-group-flush" id="note_list">
                            </ul>
                        </div>

                        {# User search with autocompletion #}
                        <div class="card-footer">
                            <input class="form-control mx-auto d-block"
                                placeholder="{% trans "Name or alias..." %}" type="text" id="note" autofocus />
                        </div>
                    </div>
                </div>

                <div class="col-xl-5 d-none" id="consos_list_div">
                    <div class="card border-info shadow mb-4">
                        <div class="card-header">
                            <p class="card-text font-weight-bold">
                                {% trans "Select consumptions" %}
                            </p>
                        </div>
                        <div class="card-body p-0" style="min-height:125px;">
                            <ul class="list-group list-group-flush" id="consos_list">
                            </ul>
                        </div>
                        <div class="card-footer text-center">
                            <a id="consume_all" href="#" class="btn btn-primary">
                                {% trans "Consume!" %}
                            </a>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        {# Buttons column #}
        <div class="col">
            {# Show last used buttons #}
            <div class="card shadow mb-4">
                <div class="card-header">
                    <p class="card-text font-weight-bold">
                        {% trans "Most used buttons" %}
                    </p>
                </div>
                <div class="card-body text-nowrap" style="overflow:auto hidden">
                    <div class="d-inline-flex flex-wrap justify-content-center" id="most_used">
                        {% for button in most_used %}
                            {% if button.display %}
                                <button class="btn btn-outline-dark rounded-0 flex-fill"
                                        id="most_used_button{{ button.id }}" name="button" value="{{ button.name }}">
                                    {{ button.name }} ({{ button.amount | pretty_money }})
                                </button>
                            {% endif %}
                        {% endfor %}
                    </div>
                </div>
            </div>

            {# Regroup buttons under categories #}
            {% regroup transaction_templates by category as categories %}

            <div class="card border-primary text-center shadow mb-4">
                {# Tabs for button categories #}
                <div class="card-header">
                    <ul class="nav nav-tabs nav-fill card-header-tabs">
                        {% for category in categories %}
                            <li class="nav-item">
                                <a class="nav-link font-weight-bold" data-toggle="tab" href="#{{ category.grouper|slugify }}">
                                    {{ category.grouper }}
                                </a>
                            </li>
                        {% endfor %}
                    </ul>
                </div>

                {# Tabs content #}
                <div class="card-body">
                    <div class="tab-content">
                        {% for category in categories %}
                            <div class="tab-pane" id="{{ category.grouper|slugify }}">
                                <div class="d-inline-flex flex-wrap justify-content-center">
                                    {% for button in category.list %}
                                        {% if button.display %}
                                            <button class="btn btn-outline-dark rounded-0 flex-fill"
                                                    id="button{{ button.id }}" name="button" value="{{ button.name }}">
                                                {{ button.name }} ({{ button.amount | pretty_money }})
                                            </button>
                                        {% endif %}
                                    {% endfor %}
                                </div>
                            </div>
                        {% endfor %}
                    </div>
                </div>

                {# Mode switch #}
                <div class="card-footer border-primary">
                    <a class="btn btn-sm btn-secondary float-left" href="{% url 'note:template_list' %}">
                        <i class="fa fa-edit"></i> {% trans "Edit" %}
                    </a>
                    <div class="btn-group btn-group-toggle float-right" data-toggle="buttons">
                        <label for="single_conso" class="btn btn-sm btn-outline-primary active">
                            <input type="radio" name="conso_type" id="single_conso" checked>
                            <i class="fa fa-long-arrow-left" aria-hidden="true"></i>
                            {% trans "Single consumptions" %}
                        </label>
                        <label for="double_conso" class="btn btn-sm btn-outline-primary">
                            <input type="radio" name="conso_type" id="double_conso">
                            <i class="fa fa-arrows-h" aria-hidden="true"></i>
                            {% trans "Double consumptions" %}
                        </label>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="card shadow mb-4" id="history">
        <div class="card-header">
            <p class="card-text font-weight-bold">
                {% trans "Recent transactions history" %}
            </p>
        </div>
        {% render_table table %}
    </div>
{% endblock %}

{% block extrajavascript %}
    <script type="text/javascript" src="{% static "js/consos.js" %}"></script>
    <script type="text/javascript">
        {% for button in most_used %}
            {% if button.display %}
                $("#most_used_button{{ button.id }}").click(function() {
                    addConso({{ button.destination.id }}, {{ button.amount }},
                        {{ polymorphic_ctype }}, {{ button.category.id }}, "{{ button.category.name }}",
                        {{ button.id }}, "{{ button.name }}");
                });
            {% endif %}
        {% endfor %}

        {% for button in transaction_templates %}
            {% if button.display %}
                $("#button{{ button.id }}").click(function() {
                    addConso({{ button.destination.id }}, {{ button.amount }},
                        {{ polymorphic_ctype }}, {{ button.category.id }}, "{{ button.category.name }}",
                        {{ button.id }}, "{{ button.name }}");
                });
            {% endif %}
        {% endfor %}
    </script>
{% endblock %}