From c9be32287ad5b72fcd86b10fa726d09dbd97d7fd Mon Sep 17 00:00:00 2001
From: xXJSONDeruloXx <danielhimebauch@gmail.com>
Date: Sun, 6 Sep 2026 17:09:54 -0400
Subject: refactor: organize plugin into native tabs

---
 src/components/SetupTab.tsx | 47 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 src/components/SetupTab.tsx

(limited to 'src/components/SetupTab.tsx')

diff --git a/src/components/SetupTab.tsx b/src/components/SetupTab.tsx
new file mode 100644
index 0000000..34106ed
--- /dev/null
+++ b/src/components/SetupTab.tsx
@@ -0,0 +1,47 @@
+import { PanelSection } from "@decky/ui";
+import type { SteamBranchStatus } from "../api/lsfgApi";
+import { InstallationButton } from "./InstallationButton";
+import { StatusDisplay } from "./StatusDisplay";
+
+interface SetupTabProps {
+  isInstalled: boolean;
+  installationStatus: string;
+  losslessScalingInstalled: boolean;
+  losslessScalingStatus: string;
+  steamBranchStatus: SteamBranchStatus | null;
+  isInstalling: boolean;
+  isUninstalling: boolean;
+  onInstall: () => void;
+  onUninstall: () => void;
+}
+
+export function SetupTab({
+  isInstalled,
+  installationStatus,
+  losslessScalingInstalled,
+  losslessScalingStatus,
+  steamBranchStatus,
+  isInstalling,
+  isUninstalling,
+  onInstall,
+  onUninstall,
+}: SetupTabProps) {
+  return (
+    <PanelSection title="Setup">
+      <StatusDisplay
+        isInstalled={isInstalled}
+        installationStatus={installationStatus}
+        losslessScalingInstalled={losslessScalingInstalled}
+        losslessScalingStatus={losslessScalingStatus}
+        steamBranchStatus={steamBranchStatus}
+      />
+      <InstallationButton
+        isInstalled={isInstalled}
+        isInstalling={isInstalling}
+        isUninstalling={isUninstalling}
+        onInstall={onInstall}
+        onUninstall={onUninstall}
+      />
+    </PanelSection>
+  );
+}
-- 
cgit v1.2.3

