{% import 'macro/table.html' as table %}

<div class="table-responsive-sm">
  <table class="table table-striped align-middle {% if not all %}sortable mb-0{% endif %}" {% if all %}id="parts"{% endif %}>
    {{ table.header(color=true, quantity=not no_quantity, missing=not no_missing, sets=all, minifigures=all) }}
    <tbody>
      {% for item in table_collection %}
      <tr>
        {{ table.image(item.url_for_image(), caption=item.fields.name, alt=item.fields.part_num, accordion=solo) }}
        <td>
          <a class="text-reset" href="{{ item.url() }}">{{ item.fields.name }}</a>
          {% if item.fields.is_spare %}<span class="badge rounded-pill text-bg-warning fw-normal"><i class="ri-loop-left-line"></i> Spare</span>{% endif %}
          {% if all %}
            {{ table.rebrickable(item) }}
            {{ table.bricklink(item) }}
          {% endif %}
        </td>
        <td>{{ item.fields.color_name }}</td>
        {% if not no_quantity %}
          {% if all %}
            <td>{{ item.fields.total_quantity }}</td>
          {% else %}
            <td>{% if quantity %}{{ item.fields.quantity * quantity }}{% else %}{{ item.fields.quantity }}{% endif %}</td>
          {% endif %}
        {% endif %}
        {% if not no_missing %}
          <td {% if not all %}id="sort-part-{{ item.fields.u_id }}-{{ item.fields.id }}" data-sort="{{ item.fields.total_missing }}"{% endif %} class="table-td-missing">
            {% if all or read_only_missing %}
              {{ item.fields.total_missing }}
            {% else %}
            <div class="input-group">
              {% if g.login.is_authenticated() %}
                <input class="form-control form-control-sm flex-shrink-1" type="text" {% if item.fields.total_missing %}value="{{ item.fields.total_missing }}"{% endif %}
                  onchange="change_part_missing_amount(this, '{{ item.fields.u_id }}', '{{ item.fields.id }}', '{{ item.url_for_missing() }}')" autocomplete="off">
                <span id="status-part-{{ item.fields.u_id }}-{{ item.fields.id }}" class="input-group-text ri-save-line"></span>
                {% else %}
                <input class="form-control form-control-sm" type="text" {% if item.fields.total_missing %}value="{{ item.fields.total_missing }}"{% endif %}
                  disabled autocomplete="off">
                <span class="input-group-text ri-prohibited-line"></span>
              {% endif %}
            </div>
            {% endif %}
          </td>
        {% endif %}
        {% if all %}
          <td>{{ item.fields.total_sets }}</td>
          <td>{{ item.fields.total_minifigures }}</td>
        {% endif %}
      </tr>
      {% endfor %}
    </tbody>
  </table>
</div>
{% if all %}
  {{ table.dynamic('parts', no_sort='0', number='3, 4, 5, 6')}}
{% endif %}