modify config functions

This commit is contained in:
SpikeHD
2022-05-08 21:31:37 -07:00
parent d5a41bdf9b
commit 6d7a077b48
2 changed files with 22 additions and 12 deletions

View File

@@ -4,15 +4,14 @@ import './App.css'
import './custom.css' import './custom.css'
// Config // Config
import { getConfigOption } from '../utils/configuration' import { getConfigOption, getConfig, saveConfig, setConfigOption } from '../utils/configuration'
// Major Components // Major Components
import Topbar from './components/TopBar' import Topbar from './components/TopBar'
import BigButton from './components/common/BigButton' import BigButton from './components/common/BigButton'
function playGame() { function playGame() {
alert('cum')
getConfigOption('test')
} }
function App() { function App() {

View File

@@ -4,11 +4,17 @@ import { dataDir } from '@tauri-apps/api/path'
let configFilePath: string let configFilePath: string
export async function setConfigOption(key: string, value: any): Promise<void> { export async function setConfigOption(key: string, value: any): Promise<void> {
return const config = await getConfig()
config[key] = value
await saveConfig(config)
} }
export async function getConfigOption(key: string): Promise<any> { export async function getConfigOption(key: string): Promise<any> {
const config = await getConfig() const config = await getConfig()
return config[key] || null
} }
export async function getConfig() { export async function getConfig() {
@@ -26,7 +32,9 @@ export async function getConfig() {
} }
export async function saveConfig(obj: { [key: string]: any }) { export async function saveConfig(obj: { [key: string]: any }) {
return const raw = JSON.stringify(obj)
await writeConfigFile(raw)
} }
async function readConfigFile() { async function readConfigFile() {
@@ -48,7 +56,7 @@ async function readConfigFile() {
if (!dataFiles.find((fileOrDir) => fileOrDir?.name === 'configuration.json')) { if (!dataFiles.find((fileOrDir) => fileOrDir?.name === 'configuration.json')) {
// Create config file // Create config file
const file: fs.FsTextFileOption = { const file: fs.FsTextFileOption = {
path: local + 'cultivation\\configuration.json', path: configFilePath,
contents: '{}' contents: '{}'
} }
@@ -56,10 +64,13 @@ async function readConfigFile() {
} }
// Finally read the file // Finally read the file
return await fs.readTextFile(configFilePath)
return await fs.readTextFile(local + 'cultivation\\configuration.json')
} }
async function writeConfigFile() { async function writeConfigFile(raw: string) {
return // All external config functions call readConfigFile, which ensure files exists
await fs.writeFile({
path: configFilePath,
contents: raw
})
} }