{% extends "base.html" %}
{% block title %}Bloqueios{% endblock %}
{% block heading %}Bloqueios judiciais (RPZ){% endblock %}
{% block content %}

<div class="grid-2">
  <section class="panel">
    <h2>Inclusão única</h2>
    <form method="post" action="{{ url_for('blocks.add') }}">
      <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
      <label>Domínio
        <input type="text" name="domain" placeholder="siteilegal.com" required />
      </label>
      <label>Nº da ordem judicial / processo
        <input type="text" name="process_no" placeholder="0001234-56.2026.8.26.0100" required />
      </label>
      <label>Observações (opcional)
        <input type="text" name="notes" maxlength="300" />
      </label>
      <button class="btn btn-primary" type="submit">Bloquear domínio</button>
    </form>
  </section>

  <section class="panel">
    <h2>Importação em lote (PDF, XML, CSV, TXT)</h2>
    <form method="post" action="{{ url_for('blocks.bulk_import') }}" enctype="multipart/form-data">
      <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
      <label>Tipo de lista
        <select name="list_type" required>
          <option value="bloqueio">Lista de bloqueio</option>
          <option value="liberacao">Lista de liberação / desbloqueio</option>
        </select>
      </label>
      <label>Nº do processo do lote
        <input type="text" name="process_no" required />
      </label>
      <label>Arquivo .pdf, .xml, .csv ou .txt
        <input type="file" name="file" accept=".txt,.csv,.xml,.pdf" required />
      </label>
      <button class="btn btn-primary" type="submit">Importar lote</button>
    </form>
    <p class="hint">
      Em TXT/CSV, linhas iniciadas por <code>#</code> são ignoradas e apenas a primeira coluna é lida.
      Em PDF e XML, o sistema extrai o texto do ofício e captura os domínios automaticamente.
      Listas de liberação criam regras de <code>passthrough</code> com prioridade sobre os bloqueios.
    </p>
  </section>

</div>

<section class="panel">
  <div class="panel-head">
    <h2>Domínios bloqueados ({{ total }})</h2>
    <div class="actions">
      <a class="btn" href="{{ url_for('blocks.export_csv') }}">Exportar CSV</a>
      <form method="post" action="{{ url_for('blocks.resync') }}">
        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
        <button class="btn" type="submit">Ressincronizar zona</button>
      </form>
    </div>
  </div>

  <form method="get" class="filters">
    <input type="text" name="q" value="{{ q }}" placeholder="Filtrar por domínio" />
    <input type="text" name="process" value="{{ process }}" placeholder="Filtrar por processo" />
    <button class="btn" type="submit">Filtrar</button>
    <a class="btn btn-ghost" href="{{ url_for('blocks.index') }}">Limpar</a>
  </form>

  {% if rows %}
  <table class="table">
    <thead><tr><th>ID</th><th>Domínio</th><th>Processo</th><th>Data/Hora (UTC)</th><th>Usuário</th><th></th></tr></thead>
    <tbody>
      {% for row in rows %}
      <tr>
        <td>{{ row.id }}</td>
        <td><strong>{{ row.domain }}</strong>{% if row.notes %}<br /><small>{{ row.notes }}</small>{% endif %}</td>
        <td>{{ row.process_no }}</td>
        <td>{{ row.created_at }}</td>
        <td>{{ row.created_by }}</td>
        <td class="right">
          <form method="post" action="{{ url_for('blocks.remove', block_id=row.id) }}"
                data-confirm="Desbloquear o domínio {{ row.domain }}?">
            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
            <button class="btn btn-danger" type="submit">Remover</button>
          </form>
        </td>
      </tr>
      {% endfor %}
    </tbody>
  </table>

  {% if pages > 1 %}
  <nav class="pager">
    {% if page > 1 %}<a class="btn" href="{{ url_for('blocks.index', page=page-1, q=q, process=process) }}">Anterior</a>{% endif %}
    <span>Página {{ page }} de {{ pages }}</span>
    {% if page < pages %}<a class="btn" href="{{ url_for('blocks.index', page=page+1, q=q, process=process) }}">Próxima</a>{% endif %}
  </nav>
  {% endif %}
  {% else %}
  <p class="empty">Nenhum domínio bloqueado com os filtros atuais.</p>
  {% endif %}
</section>

{% endblock %}
