Farbschema folgt zunächst der Systemeinstellung, lässt sich per Knopf in der Kopfzeile umstellen und wird dann gemerkt. Bei gesperrtem Speicher (privates Fenster) greift wieder die Systemeinstellung. theme.js steht bewusst OHNE defer und vor dem Inhalt: es setzt die Farbklasse, bevor gezeichnet wird. Mit defer blitzte beim Laden kurz die helle Fassung auf. Eine eigene Datei statt eines <script>-Blocks, weil die CSP nur script-src 'self' erlaubt - inline wäre blockiert. Fusszeile zeigt Version oder Commit, gleiches Muster wie die Kantone-App: die CI reicht beides als Build-Argument durch, lokal erscheint der Build-Zeitpunkt. Der ändert sich bei jedem Neubau und zeigt damit sofort, ob wirklich der neue Stand läuft. Beim Ergänzen der Dunkel-Varianten hatte mein Ersetzer die eben eingefügten dark:-Klassen selbst nochmal getroffen und daraus Paare wie "dark:text-slate-300 dark:text-slate-600" gemacht - bereinigt. 81 Tests, alle grün. Neu darunter: die Fusszeile zeigt Tag bzw. Commit, theme.js steht vor <body> und ohne defer, der Umschalter ist da. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GR4bNaj9GtRu57J4Niii8o
28 lines
1.1 KiB
HTML
28 lines
1.1 KiB
HTML
{% extends "basis.html" %}
|
||
{% block titel %}Reserviert{% endblock %}
|
||
{% block inhalt %}
|
||
<div class="max-w-lg mx-auto karte p-6 text-center">
|
||
<h1 class="text-xl font-bold">Reserviert für dich</h1>
|
||
<p class="mt-2 text-slate-600 dark:text-slate-300">
|
||
<strong>{{ item.anzeige_titel }}</strong> ist jetzt für dich zurückgelegt.
|
||
</p>
|
||
|
||
<div class="mt-5 text-left">
|
||
<p class="etikett">Link zum Aufheben – bitte aufbewahren</p>
|
||
{# Nur hier sichtbar: mit diesem Link kann die Reservierung
|
||
zurückgenommen werden, ohne dass jemand ein Konto braucht. #}
|
||
<input class="feld text-xs" readonly value="{{ freigabe_url }}"
|
||
onclick="this.select()">
|
||
<p class="text-xs text-slate-500 dark:text-slate-400 dark:text-slate-500 mt-2">
|
||
Ohne diesen Link kannst du die Reservierung nicht selbst aufheben –
|
||
dann hilft nur eine kurze Nachricht.
|
||
</p>
|
||
</div>
|
||
|
||
<div class="mt-6 flex gap-2 justify-center">
|
||
<a href="/" class="knopf-haupt">Weiterstöbern</a>
|
||
<a href="{{ freigabe_url }}" class="knopf-still">Doch nicht</a>
|
||
</div>
|
||
</div>
|
||
{% endblock %}
|