diff --git a/templates/event_list.html b/templates/event_list.html index b9769b5..a769bed 100644 --- a/templates/event_list.html +++ b/templates/event_list.html @@ -39,6 +39,7 @@ } %} +{% from "macros.html" import trip_link, display_date_no_year with context %} {% from "navbar.html" import navbar with context %} @@ -79,6 +80,19 @@

{{ market }}

{% endfor %} + {% if current_trip %} + {% set end = current_trip.end %} +
+
Current trip: {{ trip_link(current_trip) }}
+ {% if end %} +
Dates: {{ display_date_no_year(current_trip.start) }} to {{ display_date_no_year(end) }}
+ {% else %} +
Start: {{ display_date_no_year(current_trip.start) }} (end date missing)
+ {% endif %} + +
+ {% endif %} +

Agenda

diff --git a/web_view.py b/web_view.py index 96c3457..296c670 100755 --- a/web_view.py +++ b/web_view.py @@ -68,6 +68,19 @@ def exception_handler(e: werkzeug.exceptions.InternalServerError) -> tuple[str, ) +def get_current_trip(today: date) -> Trip | None: + """Get current trip.""" + trip_list = get_trip_list(route_distances=None) + + current = [ + item + for item in trip_list + if item.start <= today and (item.end or item.start) >= today + ] + assert len(current) < 2 + return current[0] if current else None + + @app.route("/") async def index() -> str: """Index page.""" @@ -87,6 +100,7 @@ async def index() -> str: "event_list.html", today=now.date(), events=events, + current_trip=get_current_trip(now.date()), fullcalendar_events=calendar.build_events(events), start_event_list=date.today() - timedelta(days=1), end_event_list=date.today() + timedelta(days=365 * 2),