{% import "github.com/go-git/go-git/v5/plumbing/object" %}

{% code
type GitItemTreePage struct {
    CurrentPath string
    Tree *object.Tree
}
%}

{% func (g *GitItemTreePage) Nav(name, ref string) %}{%= GitItemNav(name, ref, Tree) %}{% endfunc %}

{% func (g *GitItemTreePage) GitContent(name, ref string) %}
<div class="row">
  <div class="col-md-12">
    <div class="tree-list">
      {% for _, e := range g.Tree.Entries %}
          <div class="mode">{%s Ignore(e.Mode.ToOSFileMode()).String() %}</div>
          {% if e.Mode.IsFile() %}
          <div class="name blob"><a href="/{%s name %}/blob/{%s ref%}/{%s g.CurrentPath %}/{%s e.Name %}">{%s e.Name %}</a></div>
          {% else %}
          <div class="name tree"><a href="./{%s g.CurrentPath %}/{%s e.Name %}">{%s e.Name %}</a></div>
          {% endif %}
          <div class="commit"></div>
          <div class="date"></div>
          <div class="size">{%dl Ignore(g.Tree.Size(e.Name))%} KiB</div>
      {% endfor %}
    </div>
  </div>
</div>
{% endfunc %}