diff --git a/bp/fragments/routes.py b/bp/fragments/routes.py index 243b245..293398a 100644 --- a/bp/fragments/routes.py +++ b/bp/fragments/routes.py @@ -94,6 +94,37 @@ def register(): _handlers["container-cards"] = _container_cards_handler + # --- account-nav-item fragment: tickets + bookings links for account nav - + + async def _account_nav_item_handler(): + return await render_template("fragments/account_nav_items.html") + + _handlers["account-nav-item"] = _account_nav_item_handler + + # --- account-page fragment: tickets or bookings panel -------------------- + + async def _account_page_handler(): + slug = request.args.get("slug", "") + user_id = request.args.get("user_id", type=int) + if not user_id: + return "" + + if slug == "tickets": + tickets = await services.calendar.user_tickets(g.s, user_id=user_id) + return await render_template( + "fragments/account_page_tickets.html", + tickets=tickets, + ) + elif slug == "bookings": + bookings = await services.calendar.user_bookings(g.s, user_id=user_id) + return await render_template( + "fragments/account_page_bookings.html", + bookings=bookings, + ) + return "" + + _handlers["account-page"] = _account_page_handler + bp._fragment_handlers = _handlers return bp diff --git a/shared b/shared index d2e07e0..65c4989 160000 --- a/shared +++ b/shared @@ -1 +1 @@ -Subproject commit d2e07e047eb161dc7cffbc215b728d5556dae82b +Subproject commit 65c4989d08b85a821a0932e4376f2ab088f50d0c diff --git a/templates/fragments/account_nav_items.html b/templates/fragments/account_nav_items.html new file mode 100644 index 0000000..f1d9ca3 --- /dev/null +++ b/templates/fragments/account_nav_items.html @@ -0,0 +1,23 @@ +{# Account nav items: tickets + bookings links for the account dashboard #} +
{{ booking.name }}
+No bookings yet.
+ {% endif %} + +No tickets yet.
+ {% endif %} + +