Server-renderet af FastAPI selv (Jinja2 + vanilla JS/CSS, intet build-step) mod det eksisterende domæneopløste JSON-API fra 8b. GET / viser bestillingssiden når en runde er åben (rundeoverskrift, intro_text, kategori-grupperet vinkatalog med live-beregnet EUR/DKK-total, bestillingsformular), ellers en tilmeldingsside. GET /tilmelding er altid tilgængelig uafhængigt af rundestatus, og GET /afhentning viser rutens meeting_info. Layoutet er modelleret efter den gamle sides bestillingsside. get_current_round's serialiseringslogik er udtrukket til en delt _build_page_info-helper, så JSON-API'et og de nye HTML-sider genbruger nøjagtig samme domæne-/rundeopslag. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
26 lines
919 B
HTML
26 lines
919 B
HTML
{% extends "base.html" %}
|
|
{% block title %} — Tilmelding{% endblock %}
|
|
{% block content %}
|
|
<div class="signup-card">
|
|
<h1>Tilmeld dig {{ route_name }}</h1>
|
|
{% if no_round_open %}
|
|
<p>Der er ingen åben bestillingsrunde lige nu. Tilmeld dig herunder, så får du besked når næste runde åbner!</p>
|
|
{% else %}
|
|
<p>Tilmeld dig for at blive informeret om fremtidige runder hos {{ route_name }}, uden at bestille nu.</p>
|
|
{% endif %}
|
|
|
|
<form id="signup-form">
|
|
<label class="field-label">Navn
|
|
<input type="text" name="name" required>
|
|
</label>
|
|
<label class="field-label">Email
|
|
<input type="email" name="email" required>
|
|
</label>
|
|
<button type="submit">Tilmeld</button>
|
|
<div id="signup-message" class="form-message" hidden></div>
|
|
</form>
|
|
</div>
|
|
{% endblock %}
|
|
{% block scripts %}
|
|
<script src="/static/site.js"></script>
|
|
{% endblock %}
|