{% extends 'layouts/base.html' %}
{% load crispy_forms_tags %}
{% load i18n %}

{% block title %}{% translate 'Transactions' %}{% endblock %}

{% block content %}
<div class="container-fluid px-md-3 py-3 column-gap-5">
  <div class="row gx-xl-4 gy-3">
    <div class="col-12 col-xl-3 order-0 order-xl-0">
      {#      Filter transactions#}
      <div class="row mb-1">
          <div class="col-12">
            <div class="d-flex mb-3 align-self-center">
              <div class="me-auto"><h4><i class="fa-solid fa-filter me-2"></i>{% translate 'Filter' %}</h4></div>
              <div class="align-self-center">
                <button class="btn btn-outline-danger btn-sm" _="on click call #filter.reset() then trigger change on #filter">{% translate 'Clear' %}</button>
              </div>
            </div>
            <hr>
            <form hx-get="{% url 'transactions_all_list' %}" hx-trigger="change, submit, search"
                    hx-target="#transactions" id="filter" hx-indicator="#transactions"
                    _="install init_tom_select
                       install init_datepicker">
                {% crispy filter.form %}
            </form>
          </div>
        </div>
    </div>
    <div class="col-12 col-xl-6 order-2 order-xl-1">
      <div class="text-end tw-justify-end tw-flex tw-text-sm mb-3">
        <div class="tw-content-center" _="on change trigger updated on window">
          <label for="order">{% translate "Order by" %}</label>
          <select class="tw-border-0 focus-visible:tw-outline-0 w-full pe-2 tw-leading-normal text-bg-tertiary tw-font-medium rounded" name="order" id="order">
            <option value="default" {% if order == 'default' %}selected{% endif %}>{% translate 'Default' %}</option>
            <option value="older" {% if order == 'older' %}selected{% endif %}>{% translate 'Oldest first' %}</option>
            <option value="newer" {% if order == 'newer' %}selected{% endif %}>{% translate 'Newest first' %}</option>
          </select>
        </div>
      </div>
      <div id="transactions"
           class="show-loading"
           hx-get="{% url 'transactions_all_list' %}"
           hx-trigger="load, updated from:window" hx-include="#filter, #page, #order">
      </div>
    </div>
    <div class="col-12 col-xl-3 order-1 order-xl-2">
      <ul class="nav nav-tabs" id="all-transactions-summary" role="tablist">
          <li class="nav-item" role="presentation">
            <button class="nav-link {% if summary_tab == 'currency' %}active{% endif %}"
                    id="currency-tab"
                    data-bs-toggle="tab"
                    data-bs-target="#currency-tab-pane"
                    type="button"
                    role="tab"
                    aria-controls="currency-tab-pane"
                    _="on click fetch {% url 'transaction_all_summary_select' selected='currency' %}"
                    aria-selected="{% if summary_tab == 'currency' %}true{% else %}false{% endif %}">
              {% trans 'Currencies' %}
            </button>
          </li>
          <li class="nav-item" role="presentation">
            <button class="nav-link {% if summary_tab == 'account' %}active{% endif %}"
                    id="account-tab"
                    data-bs-toggle="tab"
                    data-bs-target="#account-tab-pane"
                    type="button"
                    role="tab"
                    aria-controls="account-tab-pane"
                    _="on click fetch {% url 'transaction_all_summary_select' selected='account' %}"
                    aria-selected="{% if summary_tab == 'account' %}true{% else %}false{% endif %}">
              {% trans 'Accounts' %}
            </button>
          </li>
        </ul>
      <div class="tab-content" id="all-transactions-content">
          <div class="tab-pane fade {% if summary_tab == 'currency' %}show active{% endif %}"
               id="currency-tab-pane"
               role="tabpanel"
               aria-labelledby="currency-tab"
               tabindex="0">
            <div id="currency-summary"
                 hx-get="{% url 'transaction_all_currency_summary' %}"
                 class="show-loading"
                 hx-trigger="load, selective_update from:window, updated from:window, change from:#filter, submit from:#filter, search from:#filter"
                 hx-include="#filter">
            </div>
          </div>
          <div class="tab-pane fade {% if summary_tab == 'account' %}show active{% endif %}"
               id="account-tab-pane"
               role="tabpanel"
               aria-labelledby="account-tab"
               tabindex="0">
            <div id="account-summary"
                 hx-get="{% url 'transaction_all_account_summary' %}"
                 class="show-loading"
                 hx-trigger="load, selective_update from:window, updated from:window, change from:#filter, submit from:#filter, search from:#filter"
                 hx-include="#filter">
            </div>
          </div>
      </div>
    </div>
  </div>
</div>
{% endblock %}
