Files
putzliga/app/templates/auth/login.html

52 lines
2.2 KiB
HTML

{% extends "base.html" %}
{% block title %}Login · Putzliga{% endblock %}
{% block content %}
<section class="auth-layout">
<div class="hero-card hero-card--brand">
<p class="eyebrow">Leichtgewichtige Haushalts-App</p>
<h2>Putzliga bringt Punkte, Rhythmus und ein bisschen Liga-Stimmung in den Alltag.</h2>
<p>Mehrere Nutzer, wiederkehrende Aufgaben, Monats-Highscore, Archiv, Kalender und PWA-Pushs in einer bewusst schlanken Flask-App.</p>
<div class="hero-stats">
<div>
<strong>Mobile first</strong>
<span>Bottom Navigation wie in einer iPhone-App</span>
</div>
<div>
<strong>Fair verteilt</strong>
<span>Punkte landen bei der Person, die wirklich erledigt hat</span>
</div>
<div>
<strong>Erweiterbar</strong>
<span>SQLite, Flask, Jinja und saubere Services statt Overengineering</span>
</div>
</div>
</div>
<section class="panel auth-panel">
<p class="eyebrow">Einloggen</p>
<h2>Willkommen zurück</h2>
<form method="post" class="form-grid">
{{ form.hidden_tag() }}
<div class="field">
{{ form.email.label }}
{{ form.email(placeholder="anna@putzliga.local") }}
{% for error in form.email.errors %}<small class="error">{{ error }}</small>{% endfor %}
</div>
<div class="field">
{{ form.password.label }}
{{ form.password(placeholder="Passwort") }}
{% for error in form.password.errors %}<small class="error">{{ error }}</small>{% endfor %}
</div>
<label class="checkbox">{{ form.remember_me() }} <span>Angemeldet bleiben</span></label>
{{ form.submit(class_="button button--wide") }}
</form>
<p class="inline-note">Demo-Logins nach dem Seeden: `anna@putzliga.local` / `putzliga123` und `ben@putzliga.local` / `putzliga123`.</p>
{% if registration_open %}
<p class="inline-note">Es gibt noch keinen Nutzer. <a href="{{ url_for('auth.register') }}">Ersten Account anlegen</a></p>
{% else %}
<p class="inline-note">Freie Registrierung ist deaktiviert.</p>
{% endif %}
</section>
</section>
{% endblock %}