lazyflat/web/templates/login.html
EiSiMo 0c18f0870a rename to wohnungsdidi + didi logo + footer for all + seconds-only counter
- App is now called "wohnungsdidi" everywhere user-facing (page title,
  nav brand, login header, notification subjects, report filename,
  FastAPI titles, log messages)
- Brand dot replaced with an image of Didi (web/static/didi.webp),
  rendered as a round 2.25rem avatar in _layout + login
- "Programmiert für Annika ♥" footer now shows for every logged-in user,
  not only Annika
- Count-up shows only seconds ("vor 73 s") regardless of age — no
  rollover to minutes/hours
- Data continuity: DB file stays /data/lazyflat.sqlite and the Docker
  volume stays lazyflat_data so the rename doesn't strand existing data
- Session cookie renamed to wohnungsdidi_session (one-time logout on
  rollout)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 17:29:24 +02:00

30 lines
1.3 KiB
HTML

{% extends "base.html" %}
{% block body %}
<main class="flex min-h-screen items-center justify-center p-4">
<div class="card w-full max-w-sm p-8">
<div class="flex items-center gap-3 mb-6">
<img src="/static/didi.webp" alt="" class="brand-dot">
<div>
<h1 class="text-2xl font-semibold leading-tight">wohnungsdidi</h1>
<p class="text-sm text-slate-500">Anmeldung erforderlich</p>
</div>
</div>
{% if error %}
<div class="chip chip-bad 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-500 mb-1">Benutzer</label>
<input class="input" type="text" name="username" autocomplete="username" required>
</div>
<div>
<label class="block text-xs uppercase tracking-wide text-slate-500 mb-1">Passwort</label>
<input class="input" type="password" name="password" autocomplete="current-password" required>
</div>
<button type="submit" class="btn btn-primary w-full">Anmelden</button>
</form>
</div>
</main>
{% endblock %}