# bp/cart/overview_routes.py — Cart overview (list of page carts) from __future__ import annotations from quart import Blueprint, render_template, make_response from shared.browser.app.utils.htmx import is_htmx_request from shared.sx.helpers import sx_response from .services import get_cart_grouped_by_page def register(url_prefix: str) -> Blueprint: bp = Blueprint("cart_overview", __name__, url_prefix=url_prefix) @bp.get("/") async def overview(): from quart import g from shared.sx.page import get_template_context from sx.sx_components import render_overview_page, render_overview_oob page_groups = await get_cart_grouped_by_page(g.s) ctx = await get_template_context() if not is_htmx_request(): html = await render_overview_page(ctx, page_groups) return await make_response(html) else: sx_src = await render_overview_oob(ctx, page_groups) return sx_response(sx_src) return bp