<div class="container">
  {% if error %}<div class="alert alert-danger" role="alert"><strong>Error:</strong> {{ error }}.</div>{% endif %}
  <div class="row">
    <div class="col-12">
      <form method="POST" action="{{ url_for('instructions.do_download') }}">
        <div class="card mb-3">
          <div class="card-header">
            <h5 class="mb-0"><i class="ri-download-line"></i> Download instructions from Rebrickable</h5>
          </div>
          <div class="card-body">
            <div class="mb-3">
              <label for="download-set" class="form-label">Set number (only one)</label>
              <input type="text" class="form-control" id="download-set" name="download-set" placeholder="107-1 or 1642-1 or ..." value="{{ set }}">
            </div>
          </div>
          <div class="card-footer text-end">
            <button type="submit" class="btn btn-primary"><i class="ri-search-line"></i> Search</button>
          </div>
        </div>
      </form>
      {% if instructions %}
        <div class="card mb-3">
          <div class="card-header">
            <h5 class="mb-0"><i class="ri-checkbox-line"></i> Select instructions to download</h5>
          </div>
          <div class="card-body">
            <div class="mb-3">
              <div id="download-fail" class="alert alert-danger d-none" role="alert"></div>
              <div id="download-complete"></div>
              <h5 class="border-bottom">Available Instructions</h5>
              <div id="download-files">
                {% for alt_text, href in instructions %}
                  <div class="form-check">
                    <input class="form-check-input" type="checkbox" id="instruction-{{ loop.index }}" data-download-href="{{ href }}" data-download-alt="{{ alt_text }}" autocomplete="off">
                    <label class="form-check-label" for="instruction-{{ loop.index }}">{{ alt_text }}</label>
                  </div>
                {% endfor %}
              </div>
            </div>
            <hr>
            <div class="mb-3">
              <p>
                Progress <span id="download-count"></span>
                <span id="download-spinner" class="d-none">
                  <span class="spinner-border spinner-border-sm" aria-hidden="true"></span>
                  <span class="visually-hidden" role="status">Loading...</span>
                </span>
              </p>
              <div id="download-progress" class="progress" role="progressbar" aria-label="Download an instructions file progress" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100">
                <div id="download-progress-bar" class="progress-bar" style="width: 0%"></div>
              </div>
              <p id="download-progress-message" class="text-center d-none"></p>
            </div>
          </div>
          <div class="card-footer text-end">
            <span id="download-status-icon" class="me-1"></span><span id="download-status" class="me-1"></span><button id="download" type="button" class="btn btn-primary"><i class="ri-download-line"></i> Download selected files</button>
          </div>
        </div>
        {% include 'instructions/socket.html' %}
      {% endif %}
    </div>
  </div>
</div>