{% extends "base.html" %}
{% from "macros.html" import link, page_header, section %}
{% block head %}
<script defer src="/static/vendor/showdown-2.1.0.min.js"></script>
{% endblock %}
{% block content %}
{% call page_header(project, "Project") %}
<a class="btn btn-primary" href="{{ project_url_enc }}/search">Search</a>
{% endcall %}
{% if descr %}
<p class="text-secondary">{{ descr }}</p>
{% endif %}
{% macro overview_card(title, wide=false) %}
<div class="{{ 'col-12' if wide else 'col-md-6 col-xl-4' }}">
  <div class="card">
    <div class="card-header"><h3 class="card-title mb-0">{{ title }}</h3></div>
    <div class="card-body">{{ caller() }}</div>
  </div>
</div>
{% endmacro %}
<div class="row row-deck row-cards">
  {% call overview_card("Owner") %}{{ owner }}{% endcall %}
  {% call overview_card("Ref") %}
  <div class="d-flex flex-wrap align-items-center gap-2">
    <label class="visually-hidden" for="summary-ref-select">Ref</label>
    <select id="summary-ref-select" class="form-select form-select-sm" style="width: auto; min-width: 10rem;">
      <option value="HEAD" selected>HEAD</option>
    </select>
    <div class="btn-list">
      <a class="btn btn-sm btn-outline-secondary" id="summary-ref-commit-link" href="{{ ref.commit_href }}">{{ ref.display }}</a>
      <a class="btn btn-sm btn-outline-secondary" id="summary-ref-browse-link" href="{{ ref.browse_href }}">browse</a>
      <a class="btn btn-sm btn-outline-secondary" id="summary-ref-log-link" href="{{ ref.log_href }}">log</a>
      <a class="btn btn-sm btn-outline-secondary" id="summary-ref-shortlog-link" href="{{ ref.shortlog_href }}">shortlog</a>
    </div>
  </div>
  {% endcall %}
  {% call overview_card("Branches") %}{{ link(project_url ~ "?a=heads", "view branches") }}{% endcall %}
  {% call overview_card("Merge requests", wide=true) %}
  {% if open_merge_requests %}
  <div class="list-group list-group-flush mb-3">
    {% for mr in open_merge_requests %}
    <a class="list-group-item" href="{{ mr.href }}">
      <div class="d-flex flex-wrap align-items-center justify-content-between gap-2">
        <span>{{ mr.title }}</span>
        <span class="badge bg-{{ mr.badge }}-lt">{{ mr.status_label }}</span>
      </div>
      {% if mr.theirs or mr.ours %}
      <div class="text-secondary small">{{ mr.theirs or "head" }} → {{ mr.ours }}</div>
      {% endif %}
    </a>
    {% endfor %}
  </div>
  {% elif merge_request %}
  <p class="text-secondary">No open merge requests.</p>
  {% endif %}
  {% if merge_request %}
  {% with project=merge_request.project, branches=merge_request.branches, theirs_default_ref=merge_request.theirs_default_ref, ours_default_ref=merge_request.ours_default_ref %}
  {% include "merge_request_summary_cell.html" %}
  {% endwith %}
  {% elif not open_merge_requests %}
  <span class="badge bg-secondary-lt">No branches</span>
  {% endif %}
  {% endcall %}
  {% call overview_card("Tags") %}{{ link(project_url ~ "?a=tags", "view tags") }}{% endcall %}
  {% call overview_card("Remotes") %}{{ link(project_url ~ "?a=remotes", "view remotes") }}{% endcall %}
  {% call overview_card("Board") %}{{ link(board.href, board.text, style=board.style) }}{% endcall %}
  {% call overview_card("Search") %}{{ link(project_url_enc ~ "/search", "search files") }}{% endcall %}
  {% call overview_card("Hooks") %}
  {% with mode=hooks.mode, project_enc=hooks.project_enc, installed=hooks.installed, available=hooks.available %}
  {% include "hooks_summary_cell.html" %}
  {% endwith %}
  {% endcall %}
  {% for row in extra_rows %}
  {% call overview_card(row[0]) %}{% for cell in row[1:] %}{{ cell }}{% endfor %}{% endcall %}
  {% endfor %}
</div>
{% call section("Files") %}
<div id="summary-tree-container" class="summary-tree-table">{{ ref.tree_html }}</div>
<p class="px-3 pb-3 mb-0">{{ link(ref.browse_href, "Browse full tree", id="summary-tree-browse-link") }}</p>
{% endcall %}
<div id="summary-readme-container" data-project="{{ project }}">{{ ref.readme_html }}</div>
{% endblock %}
{% block scripts %}
<script type="module" src="/static/summary-ref-switcher.js"></script>
<script src="/static/hook-install.js"></script>
{% endblock %}