{% extends "repo/base.html" %}
{% block tree_nav_class %}active{% endblock %}
{% block content %}
<div class="table-responsive">
<table class="repositories">
<thead>
<tr>
<th style="width: 10rem;">Mode</th>
<th>Name</th>
<th>Size</th>
</tr>
</thead>
<tbody>
{% for item in items -%}
<tr>
{% match item -%}
{%- when crate::git::TreeItem::Tree with (tree) -%}
<td><pre>{{ tree.mode|file_perms }}</pre></td>
<td><pre><a class="nested-tree" href="/{{ repo.display() }}/tree/{{ tree.path.display() }}{{ query }}">{{ tree.name }}</a>
{%- for child in tree.children.ancestors().collect_vec().into_iter().rev() -%}
{%- if let Some(file_name) = child.file_name() %} / <a class="nested-tree" href="/{{ repo.display() }}/tree/{{ tree.path.display() }}/{{ child.display() }}{{ query }}">{{ file_name.to_string_lossy() }}</a>{%- endif -%}
{%- endfor -%}
</pre></td>
<td></td>
<td></td>
{%- when crate::git::TreeItem::File with (file) -%}
<td><pre>{{ file.mode|file_perms }}</pre></td>
<td><pre><a href="/{{ repo.display() }}/tree/{{ file.path.display() }}{{ query }}">{{ file.name }}</a></pre></td>
<td><pre>{{ file.size }}</pre></td>
<td></td>
{%- when crate::git::TreeItem::Submodule with (submodule) -%}
<td><pre>{{ submodule.mode|file_perms }}</pre></td>
<td><pre>🔗 <a href="{{ submodule.url }}">{{ submodule.name }}</a> @ {{ submodule.oid.to_hex_with_len(7) }}</pre></td>
<td></td>
<td></td>
{%- endmatch %}
</tr>
{% endfor -%}
</tbody>
</table>
</div>
{% endblock %}