From ecfa0b53cff8072b47cbb5911b90aa4fa11d9927 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 (
     <>
       <PanelSectionRow>
@@ -47,7 +72,20 @@ export function UsageInstructions() {
         textAlign: "center"
           }}
         >
-          <strong>~/lsfg %command%</strong>
+          <strong>{launchOption}</strong>
+        </div>
+      </PanelSectionRow>
+
+      <PanelSectionRow>
+        <div
+          style={{
+            fontSize: "11px",
+            lineHeight: "1.3",
+            opacity: "0.7",
+            marginTop: "4px"
+          }}
+        >
+          {launchExplanation}
         </div>
       </PanelSectionRow>
 
@@ -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.
         </div>
       </PanelSectionRow>
     </>
-- 
cgit v1.2.3

