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/ConfigurationTab.tsx | 54 +++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)
 create mode 100644 src/components/ConfigurationTab.tsx

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

diff --git a/src/components/ConfigurationTab.tsx b/src/components/ConfigurationTab.tsx
new file mode 100644
index 0000000..6f3f474
--- /dev/null
+++ b/src/components/ConfigurationTab.tsx
@@ -0,0 +1,54 @@
+import { PanelSection } from "@decky/ui";
+import { ConfigurationData } from "../config/configSchema";
+import { GameTarget } from "../hooks/useGameConfiguration";
+import { ConfigurationSection } from "./ConfigurationSection";
+import { FgmodClipboardButton } from "./FgmodClipboardButton";
+import { FpsMultiplierControl } from "./FpsMultiplierControl";
+import { GameConfigurationSelector } from "./GameConfigurationSelector";
+import t from "../i18n/i18n";
+
+interface ConfigurationTabProps {
+  config: ConfigurationData;
+  targets: GameTarget[];
+  runningGame: GameTarget | null;
+  selectedAppId: string;
+  onSelect: (appid: string) => void;
+  onConfigChange: (fieldName: keyof ConfigurationData, value: boolean | number | string | string[]) => Promise<void>;
+  onReset: () => Promise<void>;
+  onResetAll: () => Promise<void>;
+}
+
+export function ConfigurationTab({
+  config,
+  targets,
+  runningGame,
+  selectedAppId,
+  onSelect,
+  onConfigChange,
+  onReset,
+  onResetAll,
+}: ConfigurationTabProps) {
+  return (
+    <>
+      <PanelSection title={t("CONTENT_FPS_MULTIPLIER", "FPS Multiplier")}>
+        <FpsMultiplierControl config={config} onConfigChange={onConfigChange} />
+      </PanelSection>
+      <PanelSection title="Game Profile">
+        <GameConfigurationSelector
+          targets={targets}
+          runningGame={runningGame}
+          selectedAppId={selectedAppId}
+          onSelect={onSelect}
+          onReset={onReset}
+          onResetAll={onResetAll}
+        />
+      </PanelSection>
+      <PanelSection title="Options">
+        <ConfigurationSection config={config} onConfigChange={onConfigChange} />
+      </PanelSection>
+      <PanelSection>
+        <FgmodClipboardButton />
+      </PanelSection>
+    </>
+  );
+}
-- 
cgit v1.2.3

