aboutsummaryrefslogtreecommitdiff
path: root/src-ui
diff options
context:
space:
mode:
authorGeckoEidechse <gecko.eidechse+git@pm.me>2022-09-20 21:10:34 +0200
committerGeckoEidechse <gecko.eidechse+git@pm.me>2022-09-20 21:10:34 +0200
commitcc82d961fc0d4d80e0f44857fe2b462c5108fa9a (patch)
treedcc4bad5d2995946861074f2416dedb777a4ee86 /src-ui
parent6553d959f0a0504a1f13c116f11bfe0116d8ff63 (diff)
downloadFlightCore-cc82d961fc0d4d80e0f44857fe2b462c5108fa9a.tar.gz
FlightCore-cc82d961fc0d4d80e0f44857fe2b462c5108fa9a.zip
Make button to select NS RC persistent
Uses a tauri plugin for persistent store behind the scenes to persist values over restarts of the application.
Diffstat (limited to 'src-ui')
-rw-r--r--src-ui/src/main.ts20
1 files changed, 19 insertions, 1 deletions
diff --git a/src-ui/src/main.ts b/src-ui/src/main.ts
index f7aa6ec6..1da081e9 100644
--- a/src-ui/src/main.ts
+++ b/src-ui/src/main.ts
@@ -2,6 +2,9 @@ import { invoke } from "@tauri-apps/api";
import { listen, Event as TauriEvent } from "@tauri-apps/api/event";
import { open } from '@tauri-apps/api/dialog';
import { appDir } from '@tauri-apps/api/path';
+import { Store } from 'tauri-plugin-store-api';
+
+const store = new Store('flight-core-settings.json');
const $ = document.querySelector.bind(document);
const button_install_string = "Install Northstar";
@@ -100,7 +103,7 @@ document.addEventListener("DOMContentLoaded", async function () {
let northstarVersionHolderEl = $("northstar-version-holder") as HTMLElement;
let useReleaseCandidateCheckboxEl = document.getElementById("use-release-candidate-checkbox") as HTMLInputElement;
- useReleaseCandidateCheckboxEl.addEventListener('change', function () {
+ useReleaseCandidateCheckboxEl.addEventListener('change', async function () {
// Switch between main release and release candidates
if (this.checked) {
globalState.northstar_package_name = "NorthstarReleaseCandidate"
@@ -109,6 +112,9 @@ document.addEventListener("DOMContentLoaded", async function () {
}
// Update the button
get_northstar_version_number_and_set_button_accordingly(omniButtonEl);
+
+ // Save change in persistent store
+ await store.set('northstar-package-name', { value: globalState.northstar_package_name });
});
// listen backend-ping event (from Tauri Rust App)
@@ -255,6 +261,18 @@ document.addEventListener("DOMContentLoaded", async function () {
let host_os_string = await invoke("get_host_os_caller") as string;
versionNumberHolderEl.textContent = `${version_number_string} (${host_os_string})${outdated_string}`;
+ // Get preferred Northstar version from persistent store
+ const persistent_northstar_package_name = ((await store.get('northstar-package-name')) as any).value;
+ if (persistent_northstar_package_name) {
+ console.log(persistent_northstar_package_name)
+ globalState.northstar_package_name = persistent_northstar_package_name as string;
+ // Update checkbox if it's a ReleaseCandidate
+ // In the future this might be a dropdown menu instead
+ if (globalState.northstar_package_name === "NorthstarReleaseCandidate") {
+ useReleaseCandidateCheckboxEl.checked = true;
+ }
+ }
+
// Get install location
await invoke("find_game_install_location_caller", { gamePath: globalState.gamepath })
.then((game_install) => {