From e205effa83dbbcb9c13f3f11a493a525e989d7b6 Mon Sep 17 00:00:00 2001
From: Janleyx <242423638+Janleyx@users.noreply.github.com>
Date: Sat, 18 Jul 2026 10:20:20 -0400
Subject: preserve Armada game launch wrapper
---
src/components/UsageInstructions.tsx | 42 ++++++++++++++++++++++++++++++++++--
1 file changed, 40 insertions(+), 2 deletions(-)
(limited to 'src/components/UsageInstructions.tsx')
diff --git a/src/components/UsageInstructions.tsx b/src/components/UsageInstructions.tsx
index 5f032b8..02d0eb3 100644
--- a/src/components/UsageInstructions.tsx
+++ b/src/components/UsageInstructions.tsx
@@ -1,6 +1,31 @@
+import { useEffect, useState } from "react";
import { PanelSectionRow } from "@decky/ui";
+import { getLaunchOption } from "../api/lsfgApi";
export function UsageInstructions() {
+ const [launchOption, setLaunchOption] = useState("~/lsfg %command%");
+ const [launchExplanation, setLaunchExplanation] = useState(
+ "The LSFG wrapper configures frame generation before launching the game."
+ );
+
+ useEffect(() => {
+ let active = true;
+
+ getLaunchOption()
+ .then((result) => {
+ if (!active) return;
+ if (result.launch_option) setLaunchOption(result.launch_option);
+ if (result.explanation) setLaunchExplanation(result.explanation);
+ })
+ .catch(() => {
+ // Keep the standard launch option visible if the backend is unavailable.
+ });
+
+ return () => {
+ active = false;
+ };
+ }, []);
+
return (
<>
@@ -47,7 +72,20 @@ export function UsageInstructions() {
textAlign: "center"
}}
>
- ~/lsfg %command%
+ {launchOption}
+
+
+
+
+
+ {launchExplanation}
@@ -60,7 +98,7 @@ export function UsageInstructions() {
marginTop: "8px"
}}
>
-The configuration is stored in ~/.config/lsfg-vk/conf.toml and hot-reloads while games are running.
+ The configuration is stored in ~/.config/lsfg-vk/conf.toml and hot-reloads while games are running.
>
--
cgit v1.2.3