1
0
Files
AstralRinth/theseus_gui/src/helpers/settings.js
Adrian O.V c79d5c32a6 Bring back the old nav (#100)
* Bring back the old nav

* Added bool to settings

* settings wireup

* Fixy fix

* fix create btn

---------

Co-authored-by: thesuzerain <wverchere@gmail.com>
Co-authored-by: Jai A <jaiagr+gpg@pm.me>
2023-05-05 15:37:23 -07:00

54 lines
1.3 KiB
JavaScript

/**
* All theseus API calls return serialized values (both return values and errors);
* So, for example, addDefaultInstance creates a blank Profile object, where the Rust struct is serialized,
* and deserialized into a usable JS object.
*/
import { invoke } from '@tauri-apps/api/tauri'
// Settings object
/*
Settings {
"memory": MemorySettings,
"game_resolution": [int int],
"custom_java_args": [String ...],
"custom_env_args" : [(string, string) ... ]>,
"java_globals": Hash of (string, Path),
"default_user": Uuid string (can be null),
"hooks": Hooks,
"max_concurrent_downloads": uint,
"version": u32,
"collapsed_navigation": bool,
}
Memorysettings {
"min": u32, can be null,
"max": u32,
}
*/
// An example test function for getting/setting settings
export async function test() {
// First, print settings and store them to an object
let settings = await get()
console.log(JSON.stringify(settings))
// Then set some random settings in that object
settings.java_8_path = '/example/path'
// Set the new settings object
await set(settings)
console.log(JSON.stringify(await get()))
}
// Get full settings object
export async function get() {
return await invoke('settings_get')
}
// Set full settings object
export async function set(settings) {
return await invoke('settings_set', { settings })
}