diff --git a/src/Electron.tsx b/src/Electron.tsx index 58176cebe..1f0fe5085 100644 --- a/src/Electron.tsx +++ b/src/Electron.tsx @@ -182,7 +182,7 @@ function initElectronBridge(): void { }); bridge.receive("push-save-request", (params: unknown) => { if (typeof params !== "object") throw new Error("Error trying to push save request"); - const { save, automatic = false } = params as { save: string; automatic: boolean }; + const { save, automatic = false } = params as { save: SaveData; automatic: boolean }; window.appSaveFns.pushSaveData(save, automatic); }); bridge.receive("trigger-save", () => { diff --git a/src/SaveObject.ts b/src/SaveObject.ts index 16dc1c349..8096cba2a 100644 --- a/src/SaveObject.ts +++ b/src/SaveObject.ts @@ -19,7 +19,7 @@ import { dialogBoxCreate } from "./ui/React/DialogBox"; import { constructorsForReviver, Generic_toJSON, Generic_fromJSON, type IReviverValue } from "./utils/JSONReviver"; import { save } from "./db"; import { ToastVariant } from "@enums"; -import { pushGameSaved } from "./Electron"; +import { pushGameSaved, pushImportResult } from "./Electron"; import { getGoSave, loadGo } from "./Go/SaveLoad"; import { SaveData } from "./types"; import { SaveDataError, canUseBinaryFormat, decodeSaveData, encodeJsonSaveString } from "./utils/SaveDataUtils"; @@ -236,6 +236,11 @@ class BitburnerSaveObject implements BitburnerSaveObjectType { } try { await save(saveData); + /** + * Notify Electron code that the player imported a save file. "restoreIfNewerExists" will be disabled for a brief + * period of time. + */ + pushImportResult(true); } catch (error) { console.error(error); dialogBoxCreate(`Cannot import save data: ${error}`); diff --git a/src/ui/React/ImportSave/ImportSave.tsx b/src/ui/React/ImportSave/ImportSave.tsx index fa576fa09..b4866c747 100644 --- a/src/ui/React/ImportSave/ImportSave.tsx +++ b/src/ui/React/ImportSave/ImportSave.tsx @@ -110,7 +110,6 @@ export const ImportSave = (props: { saveData: SaveData; automatic: boolean }): J const handleImport = async (): Promise => { await saveObject.importGame(props.saveData, true); - pushImportResult(true); }; useEffect(() => { @@ -389,12 +388,16 @@ export const ImportSave = (props: { saveData: SaveData; automatic: boolean }): J - - + + + + + +