diff --git a/lang/en.json b/lang/en.json index cf6670a..ea6ea05 100644 --- a/lang/en.json +++ b/lang/en.json @@ -6,7 +6,8 @@ "gc_enable": "Connect via Grasscutter" }, "options": { - "game_exec": "Set Game Executable" + "game_exec": "Set Game Executable", + "grasscutter_jar": "Set Grasscutter Jar" }, "components": { "select_file": "Select file or folder..." diff --git a/src/ui/components/common/DirInput.tsx b/src/ui/components/common/DirInput.tsx index 631a639..e0ba65d 100644 --- a/src/ui/components/common/DirInput.tsx +++ b/src/ui/components/common/DirInput.tsx @@ -9,6 +9,7 @@ import './DirInput.css' interface IProps { value?: string onChange?: (value: string) => void + extensions?: string[] } interface IState { @@ -44,7 +45,7 @@ export default class DirInput extends React.Component { async handleIconClick() { let path = await open({ filters: [ - { name: 'Executable files', extensions: ['exe'] } + { name: 'Files', extensions: this.props.extensions || ['*'] } ] }) diff --git a/src/ui/components/menu/Options.tsx b/src/ui/components/menu/Options.tsx index ec48a5a..d093ade 100644 --- a/src/ui/components/menu/Options.tsx +++ b/src/ui/components/menu/Options.tsx @@ -3,7 +3,7 @@ import DirInput from '../common/DirInput' import Menu from './Menu' import Tr from '../../../utils/language' import './Options.css' -import { getConfigOption, setConfigOption } from '../../../utils/configuration' +import { setConfigOption, getConfig } from '../../../utils/configuration' interface IProps { closeFn: () => void; @@ -11,6 +11,7 @@ interface IProps { interface IState { game_path: string + grasscutter_path: string } export default class Options extends React.Component { @@ -19,13 +20,15 @@ export default class Options extends React.Component { this.state = { game_path: '', + grasscutter_path: '' } } componentDidMount() { - getConfigOption('game_path').then((value: string) => { + getConfig().then(config => { this.setState({ - game_path: value || '' + game_path: config.game_path || '', + grasscutter_path: config.grasscutter_path || '' }) }) @@ -36,6 +39,10 @@ export default class Options extends React.Component { setConfigOption('game_path', value) } + setGrasscutterJar(value: string) { + setConfigOption('grasscutter_path', value) + } + render() { return ( @@ -44,7 +51,15 @@ export default class Options extends React.Component {
- + +
+ +
+
+ +
+
+