This improves the design of the session view a lot. However, several
things still need to be done:
1. The rules section is not styled.
2. The session list is not styled.
3. The design is not responsive yet. This will take longer, as the base
view will need to be overhauled substantially to take advantage of
wider screens.
4. A light mode needs to be added.
The base view now does a better job at keeping the sessions list up to
date with the current session, without having to reload it all the time.
The purpose of this is to be able to show the list and the current
session at the same time, and keep them in sync without polling the
database.
The previous implementation only looked at the URL (and state) during
initialization. This allowed users to open a specific session via URL
(e.g. when reloading the page).
History navigation, however, was completely ignored. I.e. if the user
pressed the back button the URL would change, but the content would
remain the same.
This has now been corrected.
Specific sessions can now be opened by setting a query param to their
id. This is needed to allow users to reload the page without being
kicked out to the session selection.