From 775a1b1e4b71afdb2401c12a05c66e0450e30718 Mon Sep 17 00:00:00 2001
From: catloversg <152669316+catloversg@users.noreply.github.com>
Date: Mon, 16 Feb 2026 01:57:40 +0700
Subject: [PATCH] CODEBASE: Refactor ImportSave component (#2505)
---
src/ui/GameRoot.tsx | 4 +--
src/ui/React/ImportSave/ComparisonIcon.tsx | 13 -------
src/ui/React/ImportSave/index.ts | 1 -
...mportSave.tsx => ImportSaveComparison.tsx} | 36 +++++++++++--------
4 files changed, 24 insertions(+), 30 deletions(-)
delete mode 100644 src/ui/React/ImportSave/ComparisonIcon.tsx
delete mode 100644 src/ui/React/ImportSave/index.ts
rename src/ui/React/{ImportSave/ImportSave.tsx => ImportSaveComparison.tsx} (93%)
diff --git a/src/ui/GameRoot.tsx b/src/ui/GameRoot.tsx
index d6e0cd1aa..156791d98 100644
--- a/src/ui/GameRoot.tsx
+++ b/src/ui/GameRoot.tsx
@@ -64,7 +64,7 @@ import { ActivateRecoveryMode, RecoveryMode, RecoveryRoot } from "./React/Recove
import { AchievementsRoot } from "../Achievements/AchievementsRoot";
import { ErrorBoundary } from "./ErrorBoundary";
import { ThemeBrowser } from "../Themes/ui/ThemeBrowser";
-import { ImportSave } from "./React/ImportSave";
+import { ImportSaveComparison } from "./React/ImportSaveComparison";
import { BypassWrapper } from "./React/BypassWrapper";
import { Apr1 } from "./Apr1";
@@ -474,7 +474,7 @@ export function GameRoot(): React.ReactElement {
break;
}
case Page.ImportSave: {
- mainPage = ;
+ mainPage = ;
withSidebar = false;
bypassGame = true;
break;
diff --git a/src/ui/React/ImportSave/ComparisonIcon.tsx b/src/ui/React/ImportSave/ComparisonIcon.tsx
deleted file mode 100644
index 6ace78b21..000000000
--- a/src/ui/React/ImportSave/ComparisonIcon.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import React from "react";
-
-import { Tooltip } from "@mui/material";
-
-import ThumbUpAlt from "@mui/icons-material/ThumbUpAlt";
-import ThumbDownAlt from "@mui/icons-material/ThumbDownAlt";
-
-export const ComparisonIcon = ({ isBetter }: { isBetter: boolean }): JSX.Element => {
- const title = isBetter ? "Imported value is larger!" : "Imported value is smaller!";
- const icon = isBetter ? : ;
-
- return {icon};
-};
diff --git a/src/ui/React/ImportSave/index.ts b/src/ui/React/ImportSave/index.ts
deleted file mode 100644
index fb63bd9dd..000000000
--- a/src/ui/React/ImportSave/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from "./ImportSave";
diff --git a/src/ui/React/ImportSave/ImportSave.tsx b/src/ui/React/ImportSaveComparison.tsx
similarity index 93%
rename from src/ui/React/ImportSave/ImportSave.tsx
rename to src/ui/React/ImportSaveComparison.tsx
index 394c734a2..e5cffbf4a 100644
--- a/src/ui/React/ImportSave/ImportSave.tsx
+++ b/src/ui/React/ImportSaveComparison.tsx
@@ -23,23 +23,31 @@ import DirectionsRunIcon from "@mui/icons-material/DirectionsRun";
import ArrowBackIcon from "@mui/icons-material/ArrowBack";
import KeyboardArrowDownIcon from "@mui/icons-material/KeyboardArrowDown";
import KeyboardArrowUpIcon from "@mui/icons-material/KeyboardArrowUp";
+import ThumbUpAlt from "@mui/icons-material/ThumbUpAlt";
+import ThumbDownAlt from "@mui/icons-material/ThumbDownAlt";
import { Skills } from "@nsdefs";
-import { ImportData, saveObject } from "../../../SaveObject";
-import { Settings } from "../../../Settings/Settings";
-import { convertTimeMsToTimeElapsedString } from "../../../utils/StringHelperFunctions";
-import { formatMoney, formatNumberNoSuffix } from "../../formatNumber";
-import { ConfirmationModal } from "../ConfirmationModal";
-import { pushImportResult } from "../../../Electron";
-import { Router } from "../../GameRoot";
-import { Page } from "../../Router";
-import { useBoolean } from "../hooks";
+import { ImportData, saveObject } from "../../SaveObject";
+import { Settings } from "../../Settings/Settings";
+import { convertTimeMsToTimeElapsedString } from "../../utils/StringHelperFunctions";
+import { formatMoney, formatNumberNoSuffix } from "../formatNumber";
+import { ConfirmationModal } from "./ConfirmationModal";
+import { pushImportResult } from "../../Electron";
+import { Router } from "../GameRoot";
+import { Page } from "../Router";
+import { useBoolean } from "./hooks";
-import { ComparisonIcon } from "./ComparisonIcon";
-import { SaveData } from "../../../types";
-import { handleGetSaveDataInfoError } from "../../../utils/ErrorHandler";
-import { OptionSwitch } from "../OptionSwitch";
+import { SaveData } from "../../types";
+import { handleGetSaveDataInfoError } from "../../utils/ErrorHandler";
+import { OptionSwitch } from "./OptionSwitch";
+
+const ComparisonIcon = ({ isBetter }: { isBetter: boolean }): JSX.Element => {
+ const title = isBetter ? "Imported value is larger!" : "Imported value is smaller!";
+ const icon = isBetter ? : ;
+
+ return {icon};
+};
const useStyles = makeStyles()((theme: Theme) => ({
root: {
@@ -93,7 +101,7 @@ const playerSkills: (keyof Skills)[] = ["hacking", "strength", "defense", "dexte
let initialAutosave = 0;
-export const ImportSave = (props: { saveData: SaveData; automatic: boolean }): JSX.Element => {
+export const ImportSaveComparison = (props: { saveData: SaveData; automatic: boolean }): JSX.Element => {
const { classes } = useStyles();
const [importData, setImportData] = useState();
const [currentData, setCurrentData] = useState();