48 lines
2.2 KiB
HTML
48 lines
2.2 KiB
HTML
<!doctype html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>{% block title %}Serienbrief{% endblock %}</title>
|
|
<style>
|
|
body { font-family: system-ui, sans-serif; max-width: 960px; margin: 2rem auto; padding: 0 1rem; color: #222; }
|
|
nav { display: flex; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #ddd; margin-bottom: 1.5rem; }
|
|
nav a { text-decoration: none; color: #0366d6; }
|
|
h1, h2 { color: #111; }
|
|
table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
|
|
th, td { text-align: left; padding: 0.5rem; border-bottom: 1px solid #eee; }
|
|
.status-pending { color: #888; }
|
|
.status-running { color: #d97706; }
|
|
.status-done { color: #059669; }
|
|
.status-failed { color: #dc2626; }
|
|
.btn { display: inline-block; padding: 0.4rem 0.8rem; background: #0366d6; color: white; border-radius: 4px; text-decoration: none; border: none; cursor: pointer; }
|
|
.messages li { padding: 0.5rem 1rem; background: #fef3c7; border-left: 4px solid #f59e0b; margin: 0.5rem 0; list-style: none; }
|
|
.log { font-family: monospace; font-size: 0.85rem; background: #f6f8fa; padding: 0.75rem; border-radius: 4px; }
|
|
.log .level-error { color: #dc2626; }
|
|
.log .level-warning { color: #d97706; }
|
|
form p { margin: 0.75rem 0; }
|
|
label { display: block; font-weight: 600; }
|
|
.btn-link { background: none; border: none; padding: 0; color: #0366d6; cursor: pointer; font: inherit; text-decoration: none; }
|
|
.btn-link:hover { text-decoration: underline; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<nav>
|
|
<a href="{% url 'dashboard' %}">Übersicht</a>
|
|
<a href="{% url 'template-upload' %}">Neue Vorlage</a>
|
|
<a href="{% url 'job-create' %}">Neuer Serienbrief</a>
|
|
<span style="margin-left:auto">
|
|
{% if user.is_authenticated %}
|
|
{{ user.username }} ·
|
|
<form method="post" action="{% url 'logout' %}" style="display:inline">
|
|
{% csrf_token %}
|
|
<button type="submit" class="btn-link">Abmelden</button>
|
|
</form>
|
|
{% endif %}
|
|
</span>
|
|
</nav>
|
|
{% if messages %}<ul class="messages">{% for m in messages %}<li>{{ m }}</li>{% endfor %}</ul>{% endif %}
|
|
{% block content %}{% endblock %}
|
|
</body>
|
|
</html>
|