diff options
| author | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2025-01-26 15:17:01 -0500 |
|---|---|---|
| committer | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2025-01-26 15:17:01 -0500 |
| commit | 5d40bc1aac21d07c8af16615d8311e679ef50667 (patch) | |
| tree | 08e55a5d0bda78101720758ce22b84894c01be0a /src | |
| parent | ab10c88caa0a03d6aee76d81f887f82bb5dcee3d (diff) | |
| download | Decky-Framegen-5d40bc1aac21d07c8af16615d8311e679ef50667.tar.gz Decky-Framegen-5d40bc1aac21d07c8af16615d8311e679ef50667.zip | |
groundwork for games list, next step patch on button press
Diffstat (limited to 'src')
| -rwxr-xr-x | src/index.tsx | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/index.tsx b/src/index.tsx index f7e1f24..b2586dc 100755 --- a/src/index.tsx +++ b/src/index.tsx @@ -23,6 +23,11 @@ const checkFGModPath = callable< { exists: boolean } >("check_fgmod_path"); +const listInstalledGames = callable< + [], + { status: string; games: { appid: string; name: string }[] } +>("list_installed_games"); + function FGModInstallerSection() { const [installing, setInstalling] = useState(false); const [uninstalling, setUninstalling] = useState(false); @@ -225,6 +230,35 @@ function MainRunningApp() { ); } +function InstalledGamesSection() { + const [games, setGames] = useState<{ appid: string; name: string }[]>([]); + + useEffect(() => { + const fetchGames = async () => { + const result = await listInstalledGames(); + if (result.status === "success") { + setGames(result.games); + } else { + console.error("Failed to fetch games"); + } + }; + + fetchGames(); + }, []); + + return ( + <PanelSection title="Installed Games"> + {games.map((game) => ( + <PanelSectionRow key={game.appid}> + <ButtonItem layout="below"> + {game.name} (AppID: {game.appid}) + </ButtonItem> + </PanelSectionRow> + ))} + </PanelSection> + ); +} + export default definePlugin(() => ({ name: "Framegen Plugin", titleView: <div>Decky Framegen</div>, @@ -233,6 +267,7 @@ export default definePlugin(() => ({ <> <FGModInstallerSection /> <MainRunningApp /> + <InstalledGamesSection /> <MainContent /> </> ), |
