mirror of
https://github.com/Grasscutters/Cultivation.git
synced 2025-12-18 10:04:36 +01:00
make toggles less dogshit
This commit is contained in:
@@ -4,7 +4,7 @@ import { dataDir } from '@tauri-apps/api/path'
|
|||||||
import DirInput from '../common/DirInput'
|
import DirInput from '../common/DirInput'
|
||||||
import Menu from './Menu'
|
import Menu from './Menu'
|
||||||
import Tr, { getLanguages, translate } from '../../../utils/language'
|
import Tr, { getLanguages, translate } from '../../../utils/language'
|
||||||
import { setConfigOption, getConfig, getConfigOption } from '../../../utils/configuration'
|
import { setConfigOption, getConfig, getConfigOption, Configuration } from '../../../utils/configuration'
|
||||||
import Checkbox from '../common/Checkbox'
|
import Checkbox from '../common/Checkbox'
|
||||||
import Divider from './Divider'
|
import Divider from './Divider'
|
||||||
import { getThemeList } from '../../../utils/themes'
|
import { getThemeList } from '../../../utils/themes'
|
||||||
@@ -78,9 +78,6 @@ export default class Options extends React.Component<IProps, IState> {
|
|||||||
this.setCustomBackground = this.setCustomBackground.bind(this)
|
this.setCustomBackground = this.setCustomBackground.bind(this)
|
||||||
this.toggleEncryption = this.toggleEncryption.bind(this)
|
this.toggleEncryption = this.toggleEncryption.bind(this)
|
||||||
this.restoreMetadata = this.restoreMetadata.bind(this)
|
this.restoreMetadata = this.restoreMetadata.bind(this)
|
||||||
this.toggleMetadata = this.toggleMetadata.bind(this)
|
|
||||||
this.toggleProxy = this.toggleProxy.bind(this)
|
|
||||||
this.toggleLoginWipe = this.toggleLoginWipe.bind(this)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async componentDidMount() {
|
async componentDidMount() {
|
||||||
@@ -257,33 +254,14 @@ export default class Options extends React.Component<IProps, IState> {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async toggleMetadata() {
|
async toggleOption(opt: keyof Configuration) {
|
||||||
const changedVal = !(await getConfigOption('patch_metadata'))
|
const changedVal = !(await getConfigOption(opt))
|
||||||
|
|
||||||
await setConfigOption('patch_metadata', changedVal)
|
await setConfigOption(opt, changedVal)
|
||||||
|
|
||||||
|
// @ts-expect-error shut up bitch
|
||||||
this.setState({
|
this.setState({
|
||||||
patch_metadata: changedVal,
|
[opt]: changedVal,
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
async toggleProxy() {
|
|
||||||
const changedVal = !(await getConfigOption('use_internal_proxy'))
|
|
||||||
|
|
||||||
await setConfigOption('use_internal_proxy', changedVal)
|
|
||||||
|
|
||||||
this.setState({
|
|
||||||
use_internal_proxy: changedVal,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
async toggleLoginWipe() {
|
|
||||||
const changedVal = !(await getConfigOption('wipe_login'))
|
|
||||||
|
|
||||||
await setConfigOption('wipe_login', changedVal)
|
|
||||||
|
|
||||||
this.setState({
|
|
||||||
wipe_login: changedVal,
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -315,7 +293,11 @@ export default class Options extends React.Component<IProps, IState> {
|
|||||||
<HelpButton contents="help.patch_metadata" />
|
<HelpButton contents="help.patch_metadata" />
|
||||||
</div>
|
</div>
|
||||||
<div className="OptionValue" id="menuOptionsCheckboxPatchMeta">
|
<div className="OptionValue" id="menuOptionsCheckboxPatchMeta">
|
||||||
<Checkbox onChange={this.toggleMetadata} checked={this.state?.patch_metadata} id="patchMeta" />
|
<Checkbox
|
||||||
|
onChange={() => this.toggleOption('patch_metadata')}
|
||||||
|
checked={this.state?.patch_metadata}
|
||||||
|
id="patchMeta"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="OptionSection" id="menuOptionsContainerUseProxy">
|
<div className="OptionSection" id="menuOptionsContainerUseProxy">
|
||||||
@@ -324,7 +306,11 @@ export default class Options extends React.Component<IProps, IState> {
|
|||||||
<HelpButton contents="help.use_proxy" />
|
<HelpButton contents="help.use_proxy" />
|
||||||
</div>
|
</div>
|
||||||
<div className="OptionValue" id="menuOptionsCheckboxUseProxy">
|
<div className="OptionValue" id="menuOptionsCheckboxUseProxy">
|
||||||
<Checkbox onChange={this.toggleProxy} checked={this.state?.use_internal_proxy} id="useProxy" />
|
<Checkbox
|
||||||
|
onChange={() => this.toggleOption('use_internal_proxy')}
|
||||||
|
checked={this.state?.use_internal_proxy}
|
||||||
|
id="useProxy"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="OptionSection" id="menuOptionsContainerWipeLogin">
|
<div className="OptionSection" id="menuOptionsContainerWipeLogin">
|
||||||
@@ -332,7 +318,11 @@ export default class Options extends React.Component<IProps, IState> {
|
|||||||
<Tr text="options.wipe_login" />
|
<Tr text="options.wipe_login" />
|
||||||
</div>
|
</div>
|
||||||
<div className="OptionValue" id="menuOptionsCheckboxWipeLogin">
|
<div className="OptionValue" id="menuOptionsCheckboxWipeLogin">
|
||||||
<Checkbox onChange={this.toggleLoginWipe} checked={this.state?.wipe_login} id="wipeLogin" />
|
<Checkbox
|
||||||
|
onChange={() => this.toggleOption('wipe_login')}
|
||||||
|
checked={this.state?.wipe_login}
|
||||||
|
id="wipeLogin"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -405,7 +395,7 @@ export default class Options extends React.Component<IProps, IState> {
|
|||||||
</div>
|
</div>
|
||||||
<div className="OptionValue" id="menuOptionsCheckboxGCWGame">
|
<div className="OptionValue" id="menuOptionsCheckboxGCWGame">
|
||||||
<Checkbox
|
<Checkbox
|
||||||
onChange={this.toggleGrasscutterWithGame}
|
onChange={() => this.toggleOption('grasscutter_with_game')}
|
||||||
checked={this.state?.grasscutter_with_game}
|
checked={this.state?.grasscutter_with_game}
|
||||||
id="gcWithGame"
|
id="gcWithGame"
|
||||||
/>
|
/>
|
||||||
|
|||||||
Reference in New Issue
Block a user