Commit Graph
181 Commits
Author SHA1 Message Date
Christopher Serr 1578938aa8 Add a changelog and improve contributors section (#898)
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.
2024-05-31 21:57:14 +02:00
Christopher Serr 909d61568d Use the new event system (#896)
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.
2024-05-28 20:10:20 +02:00
Christopher Serr 392d669ed0 Clean up and move server connection to settings (#895)
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.
2024-05-27 19:16:55 +02:00
Christopher Serr 220c249305 Add Tooltips to all Context Menus
This adds tooltips to all context menus. In particular, there are now
tooltips available that describe the functionality of each component.
2024-05-23 23:42:17 +02:00
wooferzfg 7bf161a61f Update mobile sizing logic 2024-05-14 19:29:10 -04:00
Christopher Serr a22b55b092 Implement Manual Game Time (#877)
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.
2024-05-11 20:24:53 +02:00
wooferzfg 0e67a11249 Fix tooltip positions on mobile (#875) 2024-05-09 16:30:19 +00:00
Christopher Serr fc4b334e05 Add Tooltips (#874)
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.
2024-05-09 17:22:01 +02:00
Christopher Serr 6ff620a64e Bring back the leaderboard flags (#871)
This brings back the leaderboard flags. This time however not as emojis,
but by simply using the flags from speedrun.com directly.
2024-05-01 12:08:08 +02:00
wooferzfg 123f93fac5 Update mobile layout auto resizing 2024-04-27 18:06:55 -04:00
wooferzfg de4ec35e4f Don't allow buttons to exceed 300px 2024-04-27 17:20:40 -04:00
wooferzfg 453c94c928 Remove unused exports 2024-04-27 17:20:32 -04:00
wooferzfg 3dcfc1559c Remove unused variables 2024-04-27 17:19:41 -04:00
Christopher Serr 3e249de680 Switch to Canvas Rendering
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.
2024-04-27 21:45:41 +02:00
wooferzfg f1a61eaa5e Remove Twemoji (#855)
Twemoji is no longer working since the CDN is down.
2024-04-17 01:50:10 +00:00
Christopher Serr df51936aea Update livesplit-core (#716)
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.
2022-09-28 20:27:36 +02:00
Christopher Serr 28d777c48f Implement Support for Custom Fonts
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.
2021-07-01 18:15:55 +02:00
Christopher Serr 822021106a Improve Paint Times
In most frames only the timer will be redrawn. By moving it into its own
browser layer, we can reduce the amount of work the browser needs to do
to redraw that layer.

You can read more about this here:

https://developers.google.com/web/fundamentals/performance/rendering/simplify-paint-complexity-and-reduce-paint-areas#promote_elements_that_move_or_fade

This improves our paint times from 0.71ms

![https://i.imgur.com/3Asf2gu.png](https://i.imgur.com/3Asf2gu.png)

to about 60us

![https://i.imgur.com/fL2xCES.png](https://i.imgur.com/fL2xCES.png)
2020-06-06 15:23:19 +02:00
Sergey Papushin 576ecc1a95 Clean up settings table styling 2020-05-01 22:27:49 -05:00
Sergey Papushin 59065b9e6a Implement ToggleCheckbox 2020-05-01 19:14:53 -05:00
Sergey Papushin 7593917604 Make hotkey buttons not rely on focus and blur anymore 2020-05-01 16:05:53 +02:00
Sergey Papushin f2ca3b8379 Separate the Timer and Layout views into separate components 2020-04-19 13:11:36 -05:00
Christopher Serr 661a97ac99 Add more exporting options
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.
2020-04-18 12:57:34 -05:00
wooferzfg 5b3ae3837e Switch to flexbox to support mobile 2020-04-18 12:57:34 -05:00
wooferzfg d5f769a26c Clean up styles 2020-04-18 12:57:34 -05:00
Christopher Serr d420592291 Mostly finish up the Splits Selection 2020-04-18 12:57:34 -05:00
wooferzfg 0dd6e88d3e Add styling to splits selection tables 2020-04-18 12:57:34 -05:00
wooferzfg b46a034437 Resolve button height TODO 2020-04-18 12:57:34 -05:00
Christopher Serr d4543238f8 Initial Changes for a Splits Selection View
This makes some changes to the IndexedDB to differentiate between
different splits and shows a very unstyled view of them already.
2020-04-18 12:57:34 -05:00
wooferzfg 8dbd428f51 Extract SidebarContent to each view 2020-04-13 19:53:20 -05:00
wooferzfg fdd65e926a Fix sidebar spacing 2020-03-08 17:21:47 -05:00
wooferzfg a641703f5d Merge pull request #273 from CryZe/abbreviations
Implement Support for Abbreviations
2020-03-02 21:26:39 -06:00
Christopher Serr 0e2a5a29f0 Use .abbreviated instead of div in SCSS
It's just a slight cosmetic fix that makes it more accurate.
2020-03-02 22:22:27 +01:00
Christopher Serr 772639f4b7 Implement Abbreviations for the Title Component
This requires some additional support in livesplit-core.
2020-03-02 22:22:15 +01:00
wooferzfg ef057a3c5b Fix header line height in markdown 2020-03-01 16:11:13 -06:00
Christopher Serr e77c298007 Implement Support for Abbreviations
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.
2020-02-29 13:20:12 +01:00
wooferzfg 577b111971 Add an About page 2020-02-28 19:18:37 -06:00
wooferzfg 4b2f0dffc2 Introduce different margins for separation vs. grouping 2020-02-24 19:34:03 -06:00
Christopher Serr e9254fe291 Reduce the main content margin to 25px 2020-02-25 00:50:51 +01:00
Christopher Serr cd6e525c7d Increase the size of the control buttons 2020-02-25 00:50:30 +01:00
wooferzfg 74df322364 Add mobile support to the Splits Editor 2020-02-23 23:53:24 -06:00
wooferzfg a888082037 Add mobile support to the Layout Editor 2020-02-23 23:28:37 -06:00
wooferzfg d06ffc23c1 Add mobile support to the Settings Editor 2020-02-23 23:28:37 -06:00
wooferzfg 97e2abcabc Consolidate margins and mobile logic 2020-02-23 23:28:34 -06:00
wooferzfg 2194f4b603 Fix size of game icon to match the two row split icon size 2020-02-23 15:24:46 -06:00
Christopher Serr b2b404ff96 Merge pull request #267 from wooferzfg/fix-audit
Fix issues with the Chrome Dev Tools Audit
2020-02-22 19:22:03 +01:00
wooferzfg 27f6924d1f Remove the Roboto font 2020-02-22 11:30:42 -06:00
wooferzfg 368dafd91c Fix issues with the Chrome Dev Tools Audit 2020-02-22 11:25:50 -06:00
wooferzfg 3ad9d7d76a Fix timer styling 2020-02-21 23:09:08 -06:00
Christopher Serr 1e9e0d410f Merge pull request #253 from wooferzfg/native-renderer
Change styling to mostly match the native renderer
2020-02-21 13:04:44 +01:00