diff --git a/templates/index.html b/templates/event_list.html
similarity index 67%
rename from templates/index.html
rename to templates/event_list.html
index bed0a9f..f51b5d1 100644
--- a/templates/index.html
+++ b/templates/event_list.html
@@ -9,67 +9,6 @@
-
-
-
{% set event_labels = {
@@ -140,8 +79,6 @@
diff --git a/templates/navbar.html b/templates/navbar.html
index 6ac7333..52f2a3d 100644
--- a/templates/navbar.html
+++ b/templates/navbar.html
@@ -2,6 +2,8 @@
{% set pages = [
{"endpoint": "index", "label": "Home" },
+ {"endpoint": "recent", "label": "Recent" },
+ {"endpoint": "calendar_page", "label": "Calendar" },
{"endpoint": "trip_future_list", "label": "Future trips" },
{"endpoint": "trip_past_list", "label": "Past trips" },
{"endpoint": "conference_list", "label": "Conferences" },
diff --git a/web_view.py b/web_view.py
index d2f8a2b..ca643c4 100755
--- a/web_view.py
+++ b/web_view.py
@@ -81,10 +81,60 @@ async def index() -> str:
agenda.data.hide_markets_while_away(events, data["accommodation_events"])
return flask.render_template(
- "index.html",
+ "event_list.html",
today=now.date(),
events=events,
fullcalendar_events=calendar.build_events(events),
+ start_event_list=date.today() - timedelta(days=1),
+ end_event_list=date.today() + timedelta(days=365 * 2),
+ **data,
+ )
+
+
+@app.route("/calendar")
+async def calendar_page() -> str:
+ """Index page."""
+ now = datetime.now()
+ data = await agenda.data.get_data(now, app.config)
+
+ events = data.pop("events")
+
+ markets_arg = flask.request.args.get("markets")
+ if markets_arg == "hide":
+ events = [e for e in events if e.name != "market"]
+ if markets_arg != "show":
+ agenda.data.hide_markets_while_away(events, data["accommodation_events"])
+
+ return flask.render_template(
+ "calendar.html",
+ today=now.date(),
+ events=events,
+ fullcalendar_events=calendar.build_events(events),
+ **data,
+ )
+
+
+@app.route("/recent")
+async def recent() -> str:
+ """Index page."""
+ now = datetime.now()
+ data = await agenda.data.get_data(now, app.config)
+
+ events = data.pop("events")
+
+ markets_arg = flask.request.args.get("markets")
+ if markets_arg == "hide":
+ events = [e for e in events if e.name != "market"]
+ if markets_arg != "show":
+ agenda.data.hide_markets_while_away(events, data["accommodation_events"])
+
+ return flask.render_template(
+ "event_list.html",
+ today=now.date(),
+ events=events,
+ fullcalendar_events=calendar.build_events(events),
+ start_event_list=date.today() - timedelta(days=14),
+ end_event_list=date.today(),
**data,
)