Files
Christopher Serr 349d95ebb0 Context Menu, CSS Modules and React 19 (#1015)
This replaces the context menu with our own. By doing that we no longer
need to force install our npm packages, as there are no longer any
conflicts. In fact, as part of this change, I updated us to the latest
React 19 and even enabled the React compiler.

I also explored CSS modules for the first time, which are going to allow
us to reduce conflicts between CSS rules and possibly even allow us to
fully remove SASS, as the need for it is going to be reduced.

I also found out that the latest Rust nightly is broken due to their
update to LLVM 20. So I pinned the version to the last working nightly
version.
2025-02-20 21:40:55 +00:00

73 lines
4.7 KiB
Markdown

# <img src="https://raw.githubusercontent.com/LiveSplit/LiveSplitOne/master/src/assets/icon.svg" alt="LiveSplit" height="42" align="top"/> LiveSplit One
[![Build Status](https://github.com/LiveSplit/LiveSplitOne/workflows/CI/badge.svg)](https://github.com/LiveSplit/LiveSplitOne/actions)
LiveSplit One is a version of LiveSplit that uses the multiplatform
[livesplit-core](https://github.com/LiveSplit/livesplit-core) library and web
technologies like React to create a new LiveSplit experience that
works on a lot of different platforms.
The web version of LiveSplit One is available [here](https://one.livesplit.org/).
The latest desktop version of LiveSplit One, with support for global hotkeys, can be downloaded [here](https://github.com/LiveSplit/LiveSplitOne/releases/latest).
> [!NOTE]
> This is not yet optimized for desktop usage. It's mostly the same as the web version and there is no update mechanism.
## Build Instructions
In order to build LiveSplit One, you need to install
[npm](https://nodejs.org/en/download/) and the [Rust
compiler](https://www.rust-lang.org/). Make sure to recursively clone the
repository so that all git submodules are cloned as well:
```bash
git clone --recursive
```
Once you have cloned the repository and set up both npm and the Rust compiler, you need to install the WebAssembly target:
```bash
rustup target add wasm32-unknown-unknown
```
You also need to build wasm-bindgen:
```bash
cargo install wasm-bindgen-cli
```
You need to set up some npm modules before compiling the project:
```bash
npm install
```
You are now ready to build livesplit-core, which powers LiveSplit One:
```bash
npm run build:core
```
Now you can build and host LiveSplit One:
```bash
npm run serve
```
## Browser Support
| Browser | Compatibility | Known Issues |
| ----------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Chrome | ≥112 | [![GitHub issues by-label](https://img.shields.io/github/issues/LiveSplit/LiveSplitOne/Chromium.svg)](https://github.com/LiveSplit/LiveSplitOne/issues?q=is%3Aissue+is%3Aopen+label%3A"Chromium") |
| Firefox | ≥121 | [![GitHub issues by-label](https://img.shields.io/github/issues/LiveSplit/LiveSplitOne/Firefox.svg)](https://github.com/LiveSplit/LiveSplitOne/issues?q=is%3Aissue+is%3Aopen+label%3AFirefox) |
| Edge | ≥112 | [![GitHub issues by-label](https://img.shields.io/github/issues/LiveSplit/LiveSplitOne/Chromium.svg)](https://github.com/LiveSplit/LiveSplitOne/issues?q=is%3Aissue+is%3Aopen+label%3A"Chromium") |
| Safari | ≥18.2 | |
| Opera | ≥98 | [![GitHub issues by-label](https://img.shields.io/github/issues/LiveSplit/LiveSplitOne/Chromium.svg)](https://github.com/LiveSplit/LiveSplitOne/issues?q=is%3Aissue+is%3Aopen+label%3A"Chromium") |
| iOS | ≥18.2 | [![GitHub issues by-label](https://img.shields.io/github/issues/LiveSplit/LiveSplitOne/iOS.svg)](https://github.com/LiveSplit/LiveSplitOne/issues?q=is%3Aissue+is%3Aopen+label%3AiOS) |
| Android WebView | ≥112 | [![GitHub issues by-label](https://img.shields.io/github/issues/LiveSplit/LiveSplitOne/Android.svg)](https://github.com/LiveSplit/LiveSplitOne/issues?q=is%3Aissue+is%3Aopen+label%3AAndroid) |
| Chrome Android | ≥112 | [![GitHub issues by-label](https://img.shields.io/github/issues/LiveSplit/LiveSplitOne/Android.svg)](https://github.com/LiveSplit/LiveSplitOne/issues?q=is%3Aissue+is%3Aopen+label%3AAndroid) |
| Firefox Android | ≥121 | [![GitHub issues by-label](https://img.shields.io/github/issues/LiveSplit/LiveSplitOne/Android.svg)](https://github.com/LiveSplit/LiveSplitOne/issues?q=is%3Aissue+is%3Aopen+label%3AAndroid) |
| Internet Explorer | Unsupported | |
| Opera Mini | Unsupported | |