From 0670041467ca5625d93e3e4dbc2f738da24d88b4 Mon Sep 17 00:00:00 2001
From: xXJSONDeruloXx <danielhimebauch@gmail.com>
Date: Thu, 17 Jul 2025 23:23:03 -0400
Subject: add experimental toggles

---
 src/components/ConfigurationSection.tsx | 46 ++++++++++++++++++++++++++++++++-
 1 file changed, 45 insertions(+), 1 deletion(-)

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

diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx
index deb8fba..76b9bc2 100644
--- a/src/components/ConfigurationSection.tsx
+++ b/src/components/ConfigurationSection.tsx
@@ -1,4 +1,4 @@
-import { PanelSectionRow, ToggleField, SliderField, TextField } from "@decky/ui";
+import { PanelSectionRow, ToggleField, SliderField, Dropdown } from "@decky/ui";
 import { ConfigurationData } from "../config/configSchema";
 
 interface ConfigurationSectionProps {
@@ -93,6 +93,50 @@ export function ConfigurationSection({
           onChange={(value) => onConfigChange('hdr_mode', value)}
         />
       </PanelSectionRow>
+
+      {/* Experimental Features Section */}
+      <PanelSectionRow>
+        <div
+          style={{
+            fontSize: "14px",
+            fontWeight: "bold",
+            marginTop: "24px",
+            marginBottom: "8px",
+            borderBottom: "1px solid rgba(255, 165, 0, 0.4)",
+            paddingBottom: "4px",
+            color: "rgba(255, 165, 0, 0.9)"
+          }}
+        >
+          ⚠️ Experimental Features
+        </div>
+      </PanelSectionRow>
+
+      <PanelSectionRow>
+        <Dropdown
+          menuLabel="Present Mode"
+          selectedOption={config.experimental_present_mode}
+          onChange={(value) => onConfigChange('experimental_present_mode', value.data)}
+          rgOptions={[
+            { data: "", label: "Default (FIFO)" },
+            { data: "fifo", label: "FIFO" },
+            { data: "vsync", label: "VSync" },
+            { data: "mailbox", label: "Mailbox" },
+            { data: "immediate", label: "Immediate" }
+          ]}
+        />
+      </PanelSectionRow>
+
+      <PanelSectionRow>
+        <SliderField
+          label={`FPS Limit${config.experimental_fps_limit > 0 ? ` (${config.experimental_fps_limit} FPS)` : ' (Off)'}`}
+          description="Base framerate cap for DXVK games, before frame multiplier (0 = disabled)"
+          value={config.experimental_fps_limit}
+          min={0}
+          max={60}
+          step={1}
+          onChange={(value) => onConfigChange('experimental_fps_limit', value)}
+        />
+      </PanelSectionRow>
     </>
   );
 }
-- 
cgit v1.2.3

