34 lines
1.3 KiB
HTML
34 lines
1.3 KiB
HTML
<!doctype html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
|
<title>Login | Saldo</title>
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/app.css') }}">
|
|
</head>
|
|
<body class="login-body">
|
|
<section class="login-card">
|
|
<div class="eyebrow">Saldo</div>
|
|
<h1>Monate planen, ohne Tabellenfrust.</h1>
|
|
<p class="muted">Mehrbenutzer-Haushaltsplanung für wiederkehrende Überweisungen, variable Einkommen und faire Beteiligungen.</p>
|
|
{% with messages = get_flashed_messages(with_categories=true) %}
|
|
{% if messages %}
|
|
{% for category, message in messages %}
|
|
<div class="flash flash-{{ category }}">{{ message }}</div>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endwith %}
|
|
<form method="post" class="stack-form">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token }}">
|
|
<label>Benutzername
|
|
<input name="username" required autocomplete="username">
|
|
</label>
|
|
<label>Passwort
|
|
<input type="password" name="password" required autocomplete="current-password">
|
|
</label>
|
|
<button type="submit" class="primary-button">Einloggen</button>
|
|
</form>
|
|
</section>
|
|
</body>
|
|
</html>
|