From cae8decd21332fd46e1ff527cc3b0cd177127658 Mon Sep 17 00:00:00 2001 From: carsten Date: Mon, 28 Sep 2026 23:51:41 +0200 Subject: [PATCH] =?UTF-8?q?Opgave=208c:=20bekr=C3=A6ftelsesside=20efter=20?= =?UTF-8?q?bestilling=20+=20responsivt=20layout-fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Baseret på brugerens gennemgang af siden i browser: - Ved succesfuld bestilling omdirigeres brugeren nu til en dedikeret GET /bestilling-modtaget i stedet for en inline besked, der skjulte vinkataloget — brugeren vil fortsat kunne se hvad de har bestilt. Siden gør det eksplicit at bestillingen først er gyldig ved modtaget betaling, og linker tilbage til bestillingssiden. - Rettet et CSS-layoutbug på smalle skærme: flex-basis (sat til 600px/260px til brug for bredde i to-kolonne-layoutet) blev fejlagtigt fortolket som højde, når layoutet skiftede til flex-direction: column under 800px, hvilket gav et stort tomt mellemrum mellem vinkatalog og sidebar. Co-Authored-By: Claude Sonnet 5 --- app/routers/public_site.py | 6 ++++++ app/static/site.css | 5 +++++ app/static/site.js | 7 ++----- app/templates/order_confirmation.html | 10 ++++++++++ 4 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 app/templates/order_confirmation.html diff --git a/app/routers/public_site.py b/app/routers/public_site.py index 1d18c18..1e8b208 100644 --- a/app/routers/public_site.py +++ b/app/routers/public_site.py @@ -34,3 +34,9 @@ def public_pickup_page(request: Request, session: SessionDep) -> HTMLResponse: return templates.TemplateResponse( request, "pickup.html", {"route_name": route.name, "meeting_info": route.meeting_info} ) + + +@router.get("/bestilling-modtaget", response_class=HTMLResponse) +def public_order_confirmation(request: Request, session: SessionDep) -> HTMLResponse: + route = get_route_from_domain(request, session) + return templates.TemplateResponse(request, "order_confirmation.html", {"route_name": route.name}) diff --git a/app/static/site.css b/app/static/site.css index 05367e4..bf237fd 100644 --- a/app/static/site.css +++ b/app/static/site.css @@ -222,6 +222,11 @@ button[type="submit"]:hover { flex-direction: column; } + .catalog, + .order-sidebar { + flex-basis: auto; + } + .order-sidebar { position: static; width: 100%; diff --git a/app/static/site.js b/app/static/site.js index 983b7ab..7563427 100644 --- a/app/static/site.js +++ b/app/static/site.js @@ -81,11 +81,8 @@ body: JSON.stringify(payload), }); if (response.ok) { - orderForm.querySelector(".catalog").hidden = true; - orderForm.querySelectorAll(".field-label, .checkbox-label, button[type=submit]").forEach((el) => { - el.hidden = true; - }); - showMessage(messageEl, "Tak for din bestilling! En kvittering er sendt til din email.", "success"); + window.location.href = "/bestilling-modtaget"; + return; } else { showMessage(messageEl, await extractErrorDetail(response), "error"); } diff --git a/app/templates/order_confirmation.html b/app/templates/order_confirmation.html new file mode 100644 index 0000000..6c01747 --- /dev/null +++ b/app/templates/order_confirmation.html @@ -0,0 +1,10 @@ +{% extends "base.html" %} +{% block title %} — Bestilling modtaget{% endblock %} +{% block content %} + +{% endblock %}