{% extends "layout.html" %}

{% comment %}
Copyright (C) 2018-2022  The Software Heritage developers
See the AUTHORS file at the top-level directory of this distribution
License: GNU Affero General Public License version 3, or any later version
See top-level LICENSE file for more information
{% endcomment %}

{% load render_bundle from webpack_loader %}
{% load static %}

{% block title %}{{ heading }} &ndash; Software Heritage archive{% endblock %}

{% block header %}
{% render_bundle 'save_code_now' %}
{% endblock %}

{% block navbar-content %}
<h4>Save code now</h4>
{% endblock %}

{% block content %}

<p class="mt-3">
  You can contribute to extend the content of the Software Heritage archive by submitting an origin
  save request. To do so, fill the required info in the form below:
</p>

<form id="swh-save-origin-form" class="needs-validation" novalidate>
  {% csrf_token %}
  <div class="form-row">
    <div class="col-md-1"></div>
    <div class="form-group col-md-2">
      <label for="swh-input-visit-type">Origin type</label>
      <select id="swh-input-visit-type" class="form-control" required onchange="swh.save_code_now.maybeRequireExtraInputs();">
        {% for visit_type in visit_types %}
          <option value="{{ visit_type }}">{{ visit_type }}</option>
        {% endfor %}
      </select>
      <div class="invalid-feedback">The origin type must be specified</div>
    </div>
    <div class="form-group col-md-6">
      <label for="swh-input-origin-url">Origin url</label>
      <input type="text" class="form-control" id="swh-input-origin-url" oninput="swh.save_code_now.validateSaveOriginUrl(this)" required>
      <div class="invalid-feedback">The origin url is not valid or does not reference a code repository</div>
    </div>
    <div class="col-md-2">
      <div class="form-group">
        <label for="swh-input-origin-save-submit">&#8203;</label>
        <button type="submit" id="swh-input-origin-save-submit" class="btn btn-default btn-block">Submit</button>
      </div>
    </div>
  </div>
  <!-- extra help text for the 'archives' type, hidden by default -->
  <p id="swh-save-origin-archives-help" class="swh-save-origin-archives-form" style="display: none;">
    The <code>archives</code> visit type enables to save multiple source code archive files (*.tar.gz, *.zip)
    under a same software origin. <br/>
    For each archive file to save, the source code will then be available inside a branch named
    <code>releases/&lt;version&gt;</code> from the snapshot generated by Software Heritage.<br/>
    All archive files previously saved under the software origin will always be available in
    each snapshot generated by a new visit.<br>
    Please use the form below to add such artifacts to save before submitting a request.
  </p>
</form>
<div class="swh-processing-save-request text-center" style="display: none;">
  <img src="{% static 'img/swh-spinner.gif' %}">
  <p>Processing "save code now" request ...</p>
</div>
<div id="swh-origin-save-request-status">
</div>

<ul class="nav nav-tabs" style="padding-left: 5px;">
  <li class="nav-item"><a class="nav-link {% if request.resolver_match.view_name == 'origin-save' %}active{% endif %}" href="{% url 'origin-save' %}" id="swh-origin-save-request-help-tab">Help</a></li>
  <li class="nav-item"><a class="nav-link {% if request.resolver_match.view_name == 'origin-save-list' %}active{% endif %}" href="{% url 'origin-save-list' %}" id="swh-origin-save-requests-list-tab">Browse save requests</a></li>
</ul>

<div class="tab-content">
{% block tab_content %}
{% endblock %}
</div>

<script>
  swh.webapp.initPage('origin-save');
  swh.save_code_now.initOriginSave();
</script>

{% endblock %}
