bifroest/app/templates/repo_commit.html
2026-10-27 08:34:17 +01:00

45 lines
2.4 KiB
HTML

{% extends "base.html" %}
{% from "_diff.html" import diff %}
{% block title %}Commit · {{ workspace.name }}{% endblock %}
{% block content %}
{% set wbase = '/workspaces/' ~ workspace.id %}
{% set q = '?source=' ~ source.name|urlencode %}
<div class="stack stack-sm">
{% if detail %}<h1>{{ detail.commit.subject }}</h1>{% else %}<h1>Commit</h1>{% endif %}
</div>
{% include "_flash.html" %}
{% if detail %}{% set c = detail.commit %}
<section class="card">
<div class="card-body stack stack-sm">
<p class="text-sm">{{ c.author }} &lt;{{ c.email }}&gt; · {{ c.date.astimezone().strftime('%d.%m.%Y %H:%M') }} · <code>{{ c.sha }}</code></p>
{% if detail.parents|length > 1 %}<p class="text-xs text-muted">Merge-Commit; Diff gegen den ersten Elternteil <code>{{ detail.parents[0][:10] }}</code>.</p>{% endif %}
{% if detail.body %}<div class="aiw-message text-sm">{{ detail.body }}</div>{% endif %}
<div class="cluster">
<form method="post" action="{{ wbase }}/repo/chat">
<input type="hidden" name="_csrf" value="{{ p.csrf }}"><input type="hidden" name="action" value="commit">
<input type="hidden" name="source" value="{{ source.name }}"><input type="hidden" name="sha" value="{{ c.sha }}">
<button class="btn btn-primary btn-sm" type="submit">Im Chat erklären</button>
</form>
<a class="btn btn-ghost btn-sm" href="{{ wbase }}/repo{{ q }}">Zurück</a>
</div>
</div>
</section>
<section class="card">
<div class="card-header"><h2 class="text-lg">{{ detail.files|length }} Datei{{ 'en' if detail.files|length != 1 }}</h2></div>
<div class="card-body stack stack-sm">
<ul class="aiw-commit-files">
{% for f in detail.files %}
<li class="cluster"><span class="flex-1 aiw-break"><code>{{ f }}</code></span>
<form method="post" action="{{ wbase }}/repo/chat">
<input type="hidden" name="_csrf" value="{{ p.csrf }}"><input type="hidden" name="action" value="file">
<input type="hidden" name="source" value="{{ source.name }}"><input type="hidden" name="path" value="{{ f }}">
<button class="btn btn-ghost btn-xs" type="submit" title="Neuen Chat starten, der diese Datei erklärt">Datei erklären</button>
</form></li>
{% endfor %}
</ul>
{% if detail.diff %}{{ diff(detail.diff) }}{% endif %}
{% if detail.truncated %}<p class="text-xs text-muted">Diff gekürzt; vollständig im Git-Server.</p>{% endif %}
</div>
</section>
{% endif %}
{% endblock %}