{% extends "base.html" %}
{% block title %}Facturas Recurrentes{% endblock %}
{% block page_title %}Facturas Recurrentes{% endblock %}

{% block topbar_actions %}
<a href="{{ url_for('recurrentes.nueva') }}" class="btn btn-primary btn-sm">
  <i class="bi bi-plus-lg me-1"></i>Nueva plantilla
</a>
{% endblock %}

{% block content %}

{% if recurrentes %}
<div class="card">
  <div class="table-responsive">
    <table class="table table-hover mb-0">
      <thead>
        <tr>
          <th>Nombre plantilla</th>
          <th>Cliente</th>
          <th class="text-center">Frecuencia</th>
          <th class="text-center">Próxima fecha</th>
          <th class="text-center">Última generada</th>
          <th class="text-center">Estado</th>
          <th class="text-center">Acciones</th>
        </tr>
      </thead>
      <tbody>
        {% for r in recurrentes %}
        {% set vencida = r.activa and r.proxima_fecha < hoy %}
        <tr class="{% if not r.activa %}text-muted{% endif %}">
          <td class="fw-semibold">{{ r.nombre }}</td>
          <td>{{ r.cliente_nombre or '—' }}</td>
          <td class="text-center">
            <span class="badge bg-primary-subtle text-primary border border-primary-subtle">
              {{ freq_label.get(r.frecuencia, r.frecuencia) }}
            </span>
          </td>
          <td class="text-center {% if vencida %}text-danger fw-semibold{% endif %}">
            {{ r.proxima_fecha }}
            {% if vencida %}<i class="bi bi-exclamation-triangle ms-1" title="Pendiente de generar"></i>{% endif %}
          </td>
          <td class="text-center text-muted">{{ r.ultima_generada or '—' }}</td>
          <td class="text-center">
            {% if r.activa %}
            <span class="badge bg-success-subtle text-success border border-success-subtle">Activa</span>
            {% else %}
            <span class="badge bg-secondary-subtle text-secondary border border-secondary-subtle">Pausada</span>
            {% endif %}
          </td>
          <td class="text-center">
            <div class="d-flex gap-1 justify-content-center">
              {% if r.activa %}
              <form method="post" action="{{ url_for('recurrentes.generar', id=r.id) }}" class="d-inline"
                    onsubmit="return confirm('¿Generar factura ahora con fecha de hoy?')">
                <button type="submit" class="btn btn-sm btn-success" title="Generar factura ahora">
                  <i class="bi bi-play-fill"></i>
                </button>
              </form>
              {% endif %}
              <a href="{{ url_for('recurrentes.editar', id=r.id) }}"
                 class="btn btn-sm btn-outline-secondary" title="Editar">
                <i class="bi bi-pencil"></i>
              </a>
              <form method="post" action="{{ url_for('recurrentes.eliminar', id=r.id) }}" class="d-inline"
                    onsubmit="return confirm('¿Eliminar esta plantilla recurrente?')">
                <button type="submit" class="btn btn-sm btn-outline-danger" title="Eliminar">
                  <i class="bi bi-trash"></i>
                </button>
              </form>
            </div>
          </td>
        </tr>
        {% endfor %}
      </tbody>
    </table>
  </div>
</div>

{% if recurrentes | selectattr('activa') | selectattr('proxima_fecha', 'lt', hoy) | list %}
<div class="alert alert-warning mt-3">
  <i class="bi bi-exclamation-triangle me-2"></i>
  Tienes plantillas con fecha de generación vencida. Pulsa <strong><i class="bi bi-play-fill"></i></strong> para generar la factura.
</div>
{% endif %}

{% else %}
<div class="text-center py-5 text-muted">
  <i class="bi bi-arrow-repeat" style="font-size:3rem; opacity:.3"></i>
  <p class="mt-3 fs-5">No hay plantillas de factura recurrente</p>
  <p class="text-muted small">Crea una plantilla para facturas que se repiten periódicamente (alquileres, suscripciones, retainers...)</p>
  <a href="{{ url_for('recurrentes.nueva') }}" class="btn btn-primary mt-2">
    <i class="bi bi-plus-lg me-1"></i>Crear primera plantilla
  </a>
</div>
{% endif %}

{% endblock %}
