This improves the contributors section in the About page. It now uses
flexbox to dynamically place the contributors. Additionally their avatar
is now being shown.
Also the ten most recent changes are now being shown in the About page.
The information is extracted from the git history. The idea is to mark
commit messages with a special changelog section at the end that's
specifically meant to be shown as a user facing change. It can be
arbitrary markdown and looks like this (which is also the first one):
Changelog: The About page now shows the most recent changes. The
contributors section has also been improved. It now shows the avatar of
each contributor.
This makes use of the new event system that got added to
`livesplit-core`. This allows the UI to react to events that happen.
Right now this is used for three things:
1. Resetting a run can now ask you for confirmation of whether to save
the current run if it contains new best segments or it's a new
Personal Best.
2. The side bar used to refresh the comparison and timing method 10
times per second. Now we can just react to those being changed,
resulting in better performance.
3. The control buttons underneath the timer now get disabled when they
don't apply to the current situation. The pause button also changes
its icon based on the state of the timer.
This moves the server connection button to the settings and cleans the
entire functionality up in various ways. The server connection no longer
gets closed by navigating around the application. Additionally the
server URL is now being remembered between sessions.
This also improves the design of the toast messages.
This commit adds support for manual game time. This is useful for games
that have a built-in timer and it's fine to simply type in the times
that the game displays. Currently there's no support for specifying
segment times instead, but that can be added later.
This adds tooltips to all settings. It's not optimal yet, because it
doesn't support mobile yet, where you don't have a cursor that could
hover the settings.
This switches the rendering of the layout from using HTML and CSS to
using a canvas (technically it's two). This not only should improve the
performance but also brings the rendering in line with our native
renderers, enabling new features such as vertical resizing and
horizontal layouts. This also removes a lot of code specific to the HTML
rendering and thus greatly simplifies the codebase. There is one slight
regression in that the layout editor doesn't allow clicking and dragging
the individual components directly on the layout anymore. This is
however something we can explore directly in `livesplit-core` in the
future, so other frontends can benefit from it as well.
This updates `livesplit-core` to the latest version. This mostly adds
custom variable columns and allows for the timer to visualize the delta
for the background. There's some performance improvements as well.
Also we now build `livesplit-core` in debug mode by default when
building locally. So compilation is a little bit
faster and additional debug checks are active, such as integer
overflows.
This implements support for custom fonts. Additionally it updates
livesplit-core and all our npm dependencies to the latest version. This
also switches how we propagate colors and fonts through the layout. We
are now using custom CSS variables instead of passing them through the
component tree.
We now show a context menu for exporting any of the unloaded splits in
the list. There you can choose between uploading to splits.io or
exporting to a file.
This implements abbreviations. For the longest time we thought it's not
possible to implement them in the web, but it turns out that it can
work.
This implements support for the key value pair components so far.
Abbreviations are still missing for the Title component. This will need
some additional support from livesplit-core.