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

49 lines
2.7 KiB
HTML

{% extends "base.html" %}
{% from "_diff.html" import diff %}
{% block title %}Vergleich · {{ workspace.name }}{% endblock %}
{% block content %}
{% set wbase = '/workspaces/' ~ workspace.id %}
{% set q = '?source=' ~ source.name|urlencode %}
<div class="stack stack-sm">
<h1>{% if pr %}Pull Request #{{ pr }}{% else %}Vergleich{% endif %}</h1>
{% if compare %}<p class="text-sm text-muted">Änderungen von <code>{{ compare.head }}</code> gegenüber <code>{{ compare.base }}</code></p>{% endif %}
</div>
{% include "_flash.html" %}
{% if compare %}{% set c = compare %}
<section class="card">
<div class="card-body stack stack-sm">
<p class="text-sm">{{ c.commits|length }} Commit{{ 's' if c.commits|length != 1 }}, {{ c.files|length }} Datei{{ 'en' if c.files|length != 1 }} gegenüber dem gemeinsamen Stand <code>{{ c.merge_base[:10] }}</code>.</p>
<div class="cluster">
<form method="post" action="{{ wbase }}/repo/chat">
<input type="hidden" name="_csrf" value="{{ p.csrf }}"><input type="hidden" name="action" value="review">
<input type="hidden" name="source" value="{{ source.name }}"><input type="hidden" name="branch" value="{{ c.head }}">
<input type="hidden" name="base" value="{{ c.base }}"><input type="hidden" name="pr" value="{{ pr }}">
<button class="btn btn-primary btn-sm" type="submit">Im Chat reviewen</button>
</form>
<form method="post" action="{{ wbase }}/repo/chat">
<input type="hidden" name="_csrf" value="{{ p.csrf }}"><input type="hidden" name="action" value="branch">
<input type="hidden" name="source" value="{{ source.name }}"><input type="hidden" name="branch" value="{{ c.head }}">
<button class="btn btn-ghost btn-sm" type="submit">Chat auf diesem Branch</button>
</form>
</div>
{% if c.commits %}
<ul class="aiw-commit-list">
{% for commit in c.commits %}
<li class="aiw-commit"><div class="aiw-commit-main">
<a href="{{ wbase }}/repo/commits/{{ commit.sha }}{{ q }}" class="aiw-commit-subject">{{ commit.subject }}</a>
<span class="text-xs text-muted">{{ commit.author }} · {{ commit.date.astimezone().strftime('%d.%m.%Y %H:%M') }} · <code>{{ commit.short }}</code></span>
</div></li>
{% endfor %}
</ul>
{% endif %}
</div>
</section>
<section class="card">
<div class="card-header"><h2 class="text-lg">Diff</h2></div>
<div class="card-body stack stack-sm">
{% if c.diff %}{{ diff(c.diff) }}{% else %}<p class="text-sm text-muted">Keine Unterschiede.</p>{% endif %}
{% if c.truncated %}<p class="text-xs text-muted">Diff gekürzt; vollständig im Git-Server.</p>{% endif %}
</div>
</section>
{% endif %}
{% endblock %}