From 0b5e71fe916e92ef9ecf7de91ca43371c4bd6d25 Mon Sep 17 00:00:00 2001 From: Kurt Himebauch <136133082+xXJSONDeruloXx@users.noreply.github.com> Date: Tue, 29 Jul 2025 07:53:45 -0700 Subject: wording and layout tweaks (#125) * wording and layout tweaks * red in remove button * reorganize frontend components * fix ld preload permissions issue for decky 3.1.10 * bump ver --- src/components/FGModInstallerSection.tsx | 139 ------------------------------- 1 file changed, 139 deletions(-) delete mode 100644 src/components/FGModInstallerSection.tsx (limited to 'src/components/FGModInstallerSection.tsx') diff --git a/src/components/FGModInstallerSection.tsx b/src/components/FGModInstallerSection.tsx deleted file mode 100644 index b82e749..0000000 --- a/src/components/FGModInstallerSection.tsx +++ /dev/null @@ -1,139 +0,0 @@ -import { useState, useEffect } from "react"; -import { PanelSection, PanelSectionRow, ButtonItem } from "@decky/ui"; -import { runInstallFGMod, runUninstallFGMod } from "../api"; -import { OperationResult } from "./ResultDisplay"; -import { SmartClipboardButton } from "./SmartClipboardButton"; -import { createAutoCleanupTimer } from "../utils"; -import { TIMEOUTS, MESSAGES, STYLES } from "../utils/constants"; -import optiScalerImage from "../../assets/optiscaler.png"; - -interface FGModInstallerSectionProps { - pathExists: boolean | null; - setPathExists: (exists: boolean | null) => void; -} - -export function FGModInstallerSection({ pathExists, setPathExists }: FGModInstallerSectionProps) { - const [installing, setInstalling] = useState(false); - const [uninstalling, setUninstalling] = useState(false); - const [installResult, setInstallResult] = useState(null); - const [uninstallResult, setUninstallResult] = useState(null); - - useEffect(() => { - if (installResult) { - return createAutoCleanupTimer(() => setInstallResult(null), TIMEOUTS.resultDisplay); - } - return () => {}; // Ensure a cleanup function is always returned - }, [installResult]); - - useEffect(() => { - if (uninstallResult) { - return createAutoCleanupTimer(() => setUninstallResult(null), TIMEOUTS.resultDisplay); - } - return () => {}; // Ensure a cleanup function is always returned - }, [uninstallResult]); - - const handleInstallClick = async () => { - try { - setInstalling(true); - const result = await runInstallFGMod(); - setInstallResult(result); - if (result.status === "success") { - setPathExists(true); - } - } catch (e) { - console.error(e); - } finally { - setInstalling(false); - } - }; - - const handleUninstallClick = async () => { - try { - setUninstalling(true); - const result = await runUninstallFGMod(); - setUninstallResult(result); - if (result.status === "success") { - setPathExists(false); - } - } catch (e) { - console.error(e); - } finally { - setUninstalling(false); - } - }; - - return ( - - {pathExists === false ? ( - -
- {MESSAGES.modNotInstalled} -
-
- ) : null} - - {pathExists === false ? ( - - - {installing ? MESSAGES.installing : MESSAGES.installButton} - - - ) : null} - - {pathExists === true ? ( - - - {uninstalling ? MESSAGES.uninstalling : MESSAGES.uninstallButton} - - - ) : null} - - {pathExists === true ? ( - -
- OptiScaler -
-
- ) : null} - - {pathExists === true ? ( - -
-
- {MESSAGES.instructionTitle} -
-
- {MESSAGES.instructionText} -
-
-
- ) : null} - - {pathExists === true ? ( - - ) : null} - - {pathExists === true ? ( - - ) : null} -
- ); -} -- cgit v1.2.3