lazyflat: combined alert + apply behind authenticated web UI
Three isolated services (alert scraper, apply HTTP worker, web UI+DB) with argon2 auth, signed cookies, CSRF, rate-limited login, kill switch, apply circuit breaker, audit log, and strict CSP. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
commit
69f2f1f635
46 changed files with 4183 additions and 0 deletions
28
web/templates/login.html
Normal file
28
web/templates/login.html
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{% extends "base.html" %}
|
||||
{% block title %}Login — lazyflat{% endblock %}
|
||||
{% block body %}
|
||||
<main class="flex min-h-screen items-center justify-center p-4">
|
||||
<div class="card w-full max-w-sm p-8">
|
||||
<h1 class="text-2xl font-semibold mb-1">lazyflat</h1>
|
||||
<p class="text-sm text-slate-400 mb-6">Anmeldung erforderlich</p>
|
||||
|
||||
{% if error %}
|
||||
<div class="chip chip-bad inline-block mb-4">{{ error }}</div>
|
||||
{% endif %}
|
||||
|
||||
<form method="post" action="/login" class="space-y-4">
|
||||
<div>
|
||||
<label class="block text-xs uppercase tracking-wide text-slate-400 mb-1">Benutzer</label>
|
||||
<input type="text" name="username" autocomplete="username" required
|
||||
class="w-full bg-[#0b0d12] border border-[#1e2335] rounded-lg px-3 py-2 focus:outline-none focus:border-[#5b8def]">
|
||||
</div>
|
||||
<div>
|
||||
<label class="block text-xs uppercase tracking-wide text-slate-400 mb-1">Passwort</label>
|
||||
<input type="password" name="password" autocomplete="current-password" required
|
||||
class="w-full bg-[#0b0d12] border border-[#1e2335] rounded-lg px-3 py-2 focus:outline-none focus:border-[#5b8def]">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary w-full">Anmelden</button>
|
||||
</form>
|
||||
</div>
|
||||
</main>
|
||||
{% endblock %}
|
||||
Loading…
Add table
Add a link
Reference in a new issue