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 <noreply@anthropic.com>
42 lines
1.8 KiB
Python
42 lines
1.8 KiB
Python
from fastapi import APIRouter, Request
|
|
from fastapi.responses import HTMLResponse
|
|
from fastapi.templating import Jinja2Templates
|
|
|
|
from app.db import SessionDep
|
|
from app.routers.public_orders import _build_page_info, get_route_from_domain
|
|
|
|
router = APIRouter(tags=["public-site"])
|
|
templates = Jinja2Templates(directory="app/templates")
|
|
|
|
|
|
@router.get("/", response_class=HTMLResponse)
|
|
def public_home(request: Request, session: SessionDep) -> HTMLResponse:
|
|
route = get_route_from_domain(request, session)
|
|
page_info = _build_page_info(session, route)
|
|
if page_info.current_round is None:
|
|
return templates.TemplateResponse(
|
|
request, "signup.html", {"route_name": route.name, "no_round_open": True}
|
|
)
|
|
return templates.TemplateResponse(request, "order.html", {"route_name": route.name, "page": page_info})
|
|
|
|
|
|
@router.get("/tilmelding", response_class=HTMLResponse)
|
|
def public_signup_page(request: Request, session: SessionDep) -> HTMLResponse:
|
|
route = get_route_from_domain(request, session)
|
|
return templates.TemplateResponse(
|
|
request, "signup.html", {"route_name": route.name, "no_round_open": False}
|
|
)
|
|
|
|
|
|
@router.get("/afhentning", response_class=HTMLResponse)
|
|
def public_pickup_page(request: Request, session: SessionDep) -> HTMLResponse:
|
|
route = get_route_from_domain(request, session)
|
|
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})
|