{% extends "base.html" %}
{% block content %}
<div class="container my-4">
  <h2 class="text-center mb-4">Lista wszystkich backupów</h2>
  
  <!-- Formularz filtrowania -->
  <div class="card mb-4 shadow-sm">
    <div class="card-body">
      <form method="GET" action="{{ url_for('all_files') }}" class="row g-2">
        <div class="col-md-4">
          <input type="text" name="search" placeholder="Wyszukaj backupy" class="form-control" value="{{ search }}">
        </div>
        <div class="col-md-3">
          <select name="sort_by" class="form-select">
            <option value="created_at" {% if sort_by=='created_at' %}selected{% endif %}>Data</option>
            <option value="file_path" {% if sort_by=='file_path' %}selected{% endif %}>Nazwa pliku</option>
          </select>
        </div>
        <div class="col-md-3">
          <select name="order" class="form-select">
            <option value="desc" {% if order=='desc' %}selected{% endif %}>Malejąco</option>
            <option value="asc" {% if order=='asc' %}selected{% endif %}>Rosnąco</option>
          </select>
        </div>
        <div class="col-md-2">
          <button type="submit" class="btn btn-primary w-100">Filtruj</button>
        </div>
      </form>
    </div>
  </div>
  
  <!-- Tabela z backupami -->
  <div class="card shadow-sm mb-4">
    <div class="card-body">
      <div class="table-responsive">
        <table class="table table-striped table-hover mb-0">
          <thead class="table-dark">
            <tr>
              <th style="width: 2%;"><input type="checkbox" id="select_all"></th>
              <th>Router</th>
              <th>Typ</th>
              <th>Nazwa pliku</th>
              <th>Data</th>
              <th>Rozmiar</th>
              <th>Pobierz</th>
              <th>Wyślij mailem</th>
              <th>Wgraj</th>
              <th>Podgląd</th>
              <th>Usuń</th>
            </tr>
          </thead>
          <tbody>
            {% for file in files %}
            <tr>
              <td><input type="checkbox" name="backup_id" value="{{ file.id }}" form="mass_actions_form"></td>
              <td>{{ file.router.name }}</td>
              <td>
                {% if file.backup_type == 'export' %}
                  <span class="badge bg-success">Export</span>
                {% elif file.backup_type == 'binary' %}
                  <span class="badge bg-info">Binary</span>
                {% else %}
                  <span class="badge bg-secondary">{{ file.backup_type }}</span>
                {% endif %}
              </td>
              <td>
                {% if file.backup_type == 'binary' %}
                  <span data-bs-toggle="tooltip" title="Checksum: {{ file.checksum }}">{{ file.file_path|basename }}</span>
                {% else %}
                  {{ file.file_path|basename }}
                {% endif %}
              </td>
              <td>{{ file.created_at.strftime("%Y-%m-%d %H:%M:%S") }}</td>
              <td>{{ file.file_path|filesize }}</td>
              <td>
                <a href="{{ url_for('download_file', filename=file.file_path|basename) }}" class="btn btn-lg btn-info">
                  <i class="bi bi-download"></i>
                </a>
              </td>
              <td>
                <form action="{{ url_for('send_by_email', backup_id=file.id) }}" method="POST" class="d-inline">
                  <input type="hidden" name="next" value="{{ url_for('all_files') }}">
                  <button type="submit" class="btn btn-lg btn-warning">
                    <i class="bi bi-envelope"></i>
                  </button>
                </form>
              </td>
              <td>
                {% if file.backup_type == 'binary' %}
                  <form action="{{ url_for('upload_backup', router_id=file.router.id, backup_id=file.id) }}" method="POST" class="d-inline">
                    <input type="hidden" name="next" value="{{ url_for('all_files') }}">
                    <button type="submit" class="btn btn-lg btn-secondary">
                      <i class="bi bi-upload"></i>
                    </button>
                  </form>
                {% else %}
                  <em>N/D</em>
                {% endif %}
              </td>
              <td>
                {% if file.backup_type == 'export' %}
                  <a href="{{ url_for('view_export', backup_id=file.id) }}" class="btn btn-lg btn-outline-primary">
                    <i class="bi bi-eye"></i>
                  </a>
                {% else %}
                  <em>N/D</em>
                {% endif %}
              </td>
              <td>
                <form action="{{ url_for('delete_backup', backup_id=file.id) }}" method="POST" class="d-inline" onsubmit="return confirm('Na pewno usunąć backup?');">
                  <input type="hidden" name="next" value="{{ url_for('all_files') }}">
                  <button type="submit" class="btn btn-lg btn-danger">
                    <i class="bi bi-trash"></i>
                  </button>
                </form>
              </td>
            </tr>
            {% endfor %}
          </tbody>
        </table>
      </div>
      <p class="mt-3"><strong>Łączny rozmiar:</strong> {{ total_size|filesize }}</p>
    </div>
  </div>
  
  <!-- Formularz dla masowych akcji (jeden formularz) -->
  <form id="mass_actions_form" action="{{ url_for('mass_actions') }}" method="POST" class="d-flex justify-content-end mb-4">
    <button type="submit" name="action" value="download" class="btn btn-lg btn-success me-2">
      <i class="bi bi-file-earmark-zip"></i> Pobierz zip zaznaczonych
    </button>
    <button type="submit" name="action" value="delete" class="btn btn-lg btn-danger" onclick="return confirm('Na pewno usunąć zaznaczone pliki?');">
      <i class="bi bi-trash"></i> Usuń zaznaczone pliki
    </button>
  </form>
</div>
<script>
document.getElementById('select_all').addEventListener('change', function(e) {
  var checkboxes = document.querySelectorAll('input[name="backup_id"]');
  checkboxes.forEach(cb => cb.checked = e.target.checked);
});
</script>
{% endblock %}