import { useState } from "react"; import { PanelSection, PanelSectionRow, ButtonItem } from "@decky/ui"; import { callable, definePlugin } from "@decky/api"; import { FaShip } from "react-icons/fa"; const runInstallFGMod = callable<[], { status: string; message?: string; output?: string }>("run_install_fgmod"); function Content() { const [installing, setInstalling] = useState(false); const [installResult, setInstallResult] = useState<{ status: string; output?: string; message?: string } | null>( null ); const handleInstallClick = async () => { setInstalling(true); const result = await runInstallFGMod(); setInstalling(false); setInstallResult(result); }; return ( {installing ? "Installing..." : "Install FG Mod"} {installResult && (
Status: {installResult.status === "success" ? "Success" : "Error"}
{installResult.output && ( <> Output:
{installResult.output}
)} {installResult.message && ( <> Error: {installResult.message} )}
)}
); } export default definePlugin(() => ({ name: "FG Mod Installer", titleView:
FG Mod Installer
, content: , icon: , onDismount() { console.log("Plugin unmounted"); }, }));