summaryrefslogtreecommitdiff
path: root/src/components/OptiScalerControls.tsx
diff options
context:
space:
mode:
authorxXJsonDeruloXx <danielhimebauch@gmail.com>2026-03-20 17:32:52 -0400
committerxXJsonDeruloXx <danielhimebauch@gmail.com>2026-03-20 17:32:52 -0400
commitd81bb130385114389728f849d0ab8cccf62b90d1 (patch)
treee4bdd986c3b18c62cae7311b92fb5ad5f9be86e6 /src/components/OptiScalerControls.tsx
parentca5db2231b8554d1377dd449f6fb9c736e3d6386 (diff)
downloadDecky-Framegen-d81bb130385114389728f849d0ab8cccf62b90d1.tar.gz
Decky-Framegen-d81bb130385114389728f849d0ab8cccf62b90d1.zip
Add Steam UI for prefix-managed integrationfeature/prefix-managed-optiscaler
Diffstat (limited to 'src/components/OptiScalerControls.tsx')
-rw-r--r--src/components/OptiScalerControls.tsx56
1 files changed, 16 insertions, 40 deletions
diff --git a/src/components/OptiScalerControls.tsx b/src/components/OptiScalerControls.tsx
index 468683c..4a33b58 100644
--- a/src/components/OptiScalerControls.tsx
+++ b/src/components/OptiScalerControls.tsx
@@ -1,4 +1,4 @@
-import { useState, useEffect } from "react";
+import { useEffect, useState } from "react";
import { PanelSection } from "@decky/ui";
import { runInstallFGMod, runUninstallFGMod } from "../api";
import { OperationResult } from "./ResultDisplay";
@@ -10,7 +10,7 @@ import { ClipboardCommands } from "./ClipboardCommands";
import { InstructionCard } from "./InstructionCard";
import { OptiScalerWiki } from "./OptiScalerWiki";
import { UninstallButton } from "./UninstallButton";
-import { ManualPatchControls } from "./CustomPathOverride";
+import { InstalledGamesSection } from "./InstalledGamesSection";
interface OptiScalerControlsProps {
pathExists: boolean | null;
@@ -22,19 +22,15 @@ export function OptiScalerControls({ pathExists, setPathExists }: OptiScalerCont
const [uninstalling, setUninstalling] = useState(false);
const [installResult, setInstallResult] = useState<OperationResult | null>(null);
const [uninstallResult, setUninstallResult] = useState<OperationResult | null>(null);
- const [manualModeEnabled, setManualModeEnabled] = useState(false);
+
useEffect(() => {
- if (installResult) {
- return createAutoCleanupTimer(() => setInstallResult(null), TIMEOUTS.resultDisplay);
- }
- return () => {}; // Ensure a cleanup function is always returned
+ if (!installResult) return () => {};
+ return createAutoCleanupTimer(() => setInstallResult(null), TIMEOUTS.resultDisplay);
}, [installResult]);
useEffect(() => {
- if (uninstallResult) {
- return createAutoCleanupTimer(() => setUninstallResult(null), TIMEOUTS.resultDisplay);
- }
- return () => {}; // Ensure a cleanup function is always returned
+ if (!uninstallResult) return () => {};
+ return createAutoCleanupTimer(() => setUninstallResult(null), TIMEOUTS.resultDisplay);
}, [uninstallResult]);
const handleInstallClick = async () => {
@@ -45,8 +41,8 @@ export function OptiScalerControls({ pathExists, setPathExists }: OptiScalerCont
if (result.status === "success") {
setPathExists(true);
}
- } catch (e) {
- console.error(e);
+ } catch (error) {
+ console.error(error);
} finally {
setInstalling(false);
}
@@ -60,8 +56,8 @@ export function OptiScalerControls({ pathExists, setPathExists }: OptiScalerCont
if (result.status === "success") {
setPathExists(false);
}
- } catch (e) {
- console.error(e);
+ } catch (error) {
+ console.error(error);
} finally {
setUninstalling(false);
}
@@ -69,33 +65,13 @@ export function OptiScalerControls({ pathExists, setPathExists }: OptiScalerCont
return (
<PanelSection>
- <InstallationStatus
- pathExists={pathExists}
- installing={installing}
- onInstallClick={handleInstallClick}
- />
-
+ <InstallationStatus pathExists={pathExists} installing={installing} onInstallClick={handleInstallClick} />
<OptiScalerHeader pathExists={pathExists} />
-
- <ManualPatchControls
- isAvailable={pathExists === true}
- onManualModeChange={setManualModeEnabled}
- />
-
- {!manualModeEnabled && (
- <>
- <ClipboardCommands pathExists={pathExists} />
-
- <InstructionCard pathExists={pathExists} />
- </>
- )}
+ <InstalledGamesSection isAvailable={pathExists === true} />
+ <ClipboardCommands pathExists={pathExists} />
+ <InstructionCard pathExists={pathExists} />
<OptiScalerWiki pathExists={pathExists} />
-
- <UninstallButton
- pathExists={pathExists}
- uninstalling={uninstalling}
- onUninstallClick={handleUninstallClick}
- />
+ <UninstallButton pathExists={pathExists} uninstalling={uninstalling} onUninstallClick={handleUninstallClick} />
</PanelSection>
);
}