diff --git a/src-tauri/src/commands/game.rs b/src-tauri/src/commands/game.rs index 5233d0c..ef7bebe 100644 --- a/src-tauri/src/commands/game.rs +++ b/src-tauri/src/commands/game.rs @@ -36,9 +36,38 @@ pub async fn uninstall_game( .join(&game_name) .join("data"); - std::fs::remove_dir_all(data_folder.join("decompiler_out"))?; - std::fs::remove_dir_all(data_folder.join("iso_data"))?; - std::fs::remove_dir_all(data_folder.join("out"))?; + match std::fs::remove_dir_all(data_folder.join("decompiler_out")) { + Ok(_) => Ok(()), + Err(e) => match e.kind() { + std::io::ErrorKind::NotFound => Ok(()), + _ => { + log::error!("Failed to delete directory: {:?}", e); + Err(e) + } + }, + }?; + + match std::fs::remove_dir_all(data_folder.join("iso_data")) { + Ok(_) => Ok(()), + Err(e) => match e.kind() { + std::io::ErrorKind::NotFound => Ok(()), + _ => { + log::error!("Failed to delete directory: {:?}", e); + Err(e) + } + }, + }?; + + match std::fs::remove_dir_all(data_folder.join("out")) { + Ok(_) => Ok(()), + Err(e) => match e.kind() { + std::io::ErrorKind::NotFound => Ok(()), + _ => { + log::error!("Failed to delete directory: {:?}", e); + Err(e) + } + }, + }?; config_lock .update_installed_game_version(&game_name, false) diff --git a/src/components/games/job/GameJob.svelte b/src/components/games/job/GameJob.svelte index d400973..2b67972 100644 --- a/src/components/games/job/GameJob.svelte +++ b/src/components/games/job/GameJob.svelte @@ -45,6 +45,10 @@ const dispatch = createEventDispatcher(); let installationError: string | undefined | null = undefined; + $: if ($progressTracker.overallStatus === "success") { + dispatch("jobFinished"); + } + async function setupDecompileJob() { installationError = undefined; progressTracker.init([ @@ -470,27 +474,13 @@ await setupCompileModJob(); } }); - - function dispatchCompleteJob() { - dispatch("jobFinished"); - }
-{#if $progressTracker.overallStatus === "success"} -
-
- -
-
-{:else if $progressTracker.overallStatus === "failed"} +{#if $progressTracker.overallStatus === "failed"}
diff --git a/src/components/games/setup/GameSetup.svelte b/src/components/games/setup/GameSetup.svelte index 81a9820..fca1a54 100644 --- a/src/components/games/setup/GameSetup.svelte +++ b/src/components/games/setup/GameSetup.svelte @@ -117,7 +117,7 @@ } } - async function dispatchSetupEvent() { + $: if ($progressTracker.overallStatus === "success") { dispatch("change"); } @@ -129,17 +129,7 @@
- {#if $progressTracker.overallStatus === "success"} -
-
- -
-
- {:else if $progressTracker.overallStatus === "failed"} + {#if $progressTracker.overallStatus === "failed"}