more cleanup

This commit is contained in:
SpikeHD
2022-05-09 22:27:01 -07:00
parent dd7d2d4cc5
commit c6f5b8a174

View File

@@ -0,0 +1,63 @@
import React from 'react'
import Checkbox from './common/Checkbox'
import BigButton from './common/BigButton'
import { getConfig, saveConfig } from '../../utils/configuration'
import { invoke } from '@tauri-apps/api/tauri'
interface IProps {
[key: string]: any
}
interface IState {
grasscutterEnabled: boolean
}
export default class ServerLaunchSection extends React.Component<IProps, IState> {
constructor(props: IProps) {
super(props)
this.state = {
grasscutterEnabled: false
}
this.toggleGrasscutter = this.toggleGrasscutter.bind(this)
this.playGame = this.playGame.bind(this)
}
async componentDidMount() {
const config = await getConfig()
this.setState({
grasscutterEnabled: config.toggle_grasscutter
})
}
async toggleGrasscutter() {
const config = await getConfig()
config.toggle_grasscutter = !config.toggle_grasscutter
await saveConfig(config)
}
async playGame() {
const config = await getConfig()
if (!config.game_path) return
// Launch the program
await invoke('run_program', { path: config.game_path })
}
render() {
return (
<div id="playButton">
<div id="serverControls">
<Checkbox label="Connect via Grasscutter" onChange={this.toggleGrasscutter} checked={this.state.grasscutterEnabled}/>
</div>
<BigButton text="PLAY DA GAME :D" onClick={this.playGame} id="officialPlay" />
</div>
)
}
}