Merge remote-tracking branch 'origin/main'

This commit is contained in:
KingRainbow44
2022-05-30 01:39:32 -04:00
3 changed files with 35 additions and 4 deletions

View File

@@ -37,6 +37,7 @@ fn main() {
req_get,
get_bg_file,
base64_decode,
is_game_running,
system_helpers::run_command,
system_helpers::run_program,
system_helpers::run_jar,
@@ -91,6 +92,14 @@ fn process_watcher() {
});
}
#[tauri::command]
fn is_game_running() -> bool {
// Grab the game process name
let proc = WATCH_GAME_PROCESS.lock().unwrap().to_string();
return !&proc.is_empty();
}
#[tauri::command]
fn enable_process_watcher(process: String) {
*WATCH_GAME_PROCESS.lock().unwrap() = process;

View File

@@ -19,6 +19,7 @@ import RightBar from './components/RightBar'
import { getConfigOption, setConfigOption } from '../utils/configuration'
import { invoke } from '@tauri-apps/api'
import { dataDir } from '@tauri-apps/api/path'
import { appWindow } from '@tauri-apps/api/window'
interface IProps {
[key: string]: never;
@@ -54,6 +55,21 @@ class App extends React.Component<IProps, IState> {
listen('jar_extracted', ({ payload }) => {
setConfigOption('grasscutter_path', payload)
})
let min = false
// periodically check if we need to min/max based on whether the game is open
setInterval(async () => {
const gameOpen = await invoke('is_game_running')
if (gameOpen && !min) {
appWindow.minimize()
min = true
} else if (!gameOpen && min) {
appWindow.unminimize()
min = false
}
}, 1000)
}
async componentDidMount() {
@@ -83,6 +99,13 @@ class App extends React.Component<IProps, IState> {
await setConfigOption('cert_generated', true)
}
// Period check to only show progress bar when downloading files
setInterval(() => {
this.setState({
isDownloading: downloadHandler.getDownloads().filter(d => d.status !== 'finished')?.length > 0
})
}, 1000)
}
render() {
@@ -156,7 +179,9 @@ class App extends React.Component<IProps, IState> {
<div id="DownloadProgress"
onClick={() => this.setState({ miniDownloadsOpen: !this.state.miniDownloadsOpen })}
>
<MainProgressBar downloadManager={downloadHandler} />
{ this.state.isDownloading ?
<MainProgressBar downloadManager={downloadHandler} />
: null }
</div>
</div>
</div>

View File

@@ -52,9 +52,6 @@ export default class ServerLaunchSection extends React.Component<IProps, IState>
async componentDidMount() {
const config = await getConfig()
console.log(config.last_ip)
console.log(config.last_port)
this.setState({
grasscutterEnabled: config.toggle_grasscutter,
buttonLabel: await translate('main.launch_button'),