From 06ea2e0ca27348fea487613ca50248af920b465a Mon Sep 17 00:00:00 2001
From: xXJSONDeruloXx <danielhimebauch@gmail.com>
Date: Tue, 22 Jul 2025 15:14:57 -0400
Subject: bump lsfg-vk, change slider to dd for fps multiplier

---
 src/components/ConfigurationSection.tsx | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

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

diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx
index c0b67fd..eb036ae 100644
--- a/src/components/ConfigurationSection.tsx
+++ b/src/components/ConfigurationSection.tsx
@@ -34,23 +34,20 @@ export function ConfigurationSection({
       </PanelSectionRow>
 
       <PanelSectionRow>
-        <SliderField
+        <DropdownItem
           label="FPS Multiplier"
           description="Traditional FPS multiplier value"
-          value={config.multiplier}
-          min={1}
-          max={4}
-          step={1}
-          notchCount={4}
-          notchLabels={[
-            { notchIndex: 0, label: "OFF", value: 1 },
-            { notchIndex: 1, label: "2X", value: 2 },
-            { notchIndex: 2, label: "3X", value: 3 },
-            { notchIndex: 3, label: "4X", value: 4 }
+          menuLabel="Select FPS multiplier"
+          selectedOption={config.multiplier}
+          onChange={(value) => onConfigChange(MULTIPLIER, value.data)}
+          rgOptions={[
+            { data: 1, label: "OFF" },
+            { data: 2, label: "2X" },
+            { data: 3, label: "3X" },
+            { data: 4, label: "4X" },
+            { data: 5, label: "5X" },
+            { data: 6, label: "6X" },
           ]}
-          showValue={false}
-          notchTicksVisible={true}
-          onChange={(value) => onConfigChange(MULTIPLIER, value)}
         />
       </PanelSectionRow>
 
-- 
cgit v1.2.3


From 658d4667356a0f71632fb3d97a151a8f7d752509 Mon Sep 17 00:00:00 2001
From: xXJSONDeruloXx <danielhimebauch@gmail.com>
Date: Tue, 22 Jul 2025 15:45:31 -0400
Subject: l and r plus minus fps buttons initial

---
 src/components/ConfigurationSection.tsx | 96 +++++++++++++++++++++++++++------
 1 file changed, 80 insertions(+), 16 deletions(-)

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

diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx
index eb036ae..c1554f3 100644
--- a/src/components/ConfigurationSection.tsx
+++ b/src/components/ConfigurationSection.tsx
@@ -1,4 +1,4 @@
-import { PanelSectionRow, ToggleField, SliderField, DropdownItem } from "@decky/ui";
+import { PanelSectionRow, ToggleField, SliderField, DropdownItem, ButtonItem, Field, DialogButton, Focusable } from "@decky/ui";
 import { ConfigurationData } from "../config/configSchema";
 import {
   MULTIPLIER, FLOW_SCALE, PERFORMANCE_MODE, HDR_MODE, 
@@ -34,21 +34,85 @@ export function ConfigurationSection({
       </PanelSectionRow>
 
       <PanelSectionRow>
-        <DropdownItem
-          label="FPS Multiplier"
-          description="Traditional FPS multiplier value"
-          menuLabel="Select FPS multiplier"
-          selectedOption={config.multiplier}
-          onChange={(value) => onConfigChange(MULTIPLIER, value.data)}
-          rgOptions={[
-            { data: 1, label: "OFF" },
-            { data: 2, label: "2X" },
-            { data: 3, label: "3X" },
-            { data: 4, label: "4X" },
-            { data: 5, label: "5X" },
-            { data: 6, label: "6X" },
-          ]}
-        />
+        <div
+          style={{
+            fontSize: "14px",
+            fontWeight: "bold",
+            marginTop: "16px",
+            marginBottom: "8px",
+            color: "white"
+          }}
+        >
+          FPS Multiplier
+        </div>
+        <div
+          style={{
+            fontSize: "12px",
+            color: "#cccccc",
+            marginBottom: "8px"
+          }}
+        >
+          Traditional FPS multiplier value
+        </div>
+        <Focusable
+          style={{ 
+            marginTop: "10px", 
+            marginBottom: "10px", 
+            display: "flex",
+            justifyContent: "center"
+          }}
+          flow-children="horizontal"
+        >
+          <DialogButton
+            style={{
+              marginLeft: "0px",
+              height: "30px",
+              display: "flex",
+              alignItems: "center",
+              justifyContent: "center",
+              padding: "5px 0px 0px 0px",
+              minWidth: "40px",
+            }}
+            onClick={() => onConfigChange(MULTIPLIER, Math.max(1, config.multiplier - 1))}
+            disabled={config.multiplier <= 1}
+          >
+            −
+          </DialogButton>
+          <div
+            style={{
+              marginLeft: "5px",
+              marginRight: "5px",
+              height: "30px",
+              display: "flex",
+              alignItems: "center",
+              justifyContent: "center",
+              padding: "5px 0px 0px 0px",
+              minWidth: "60px",
+              fontWeight: "bold",
+              color: "white",
+              backgroundColor: "rgba(255, 255, 255, 0.1)",
+              borderRadius: "3px",
+              border: "1px solid rgba(255, 255, 255, 0.2)"
+            }}
+          >
+            {config.multiplier < 2 ? "OFF" : `${config.multiplier}X`}
+          </div>
+          <DialogButton
+            style={{
+              marginLeft: "0px",
+              height: "30px",
+              display: "flex",
+              alignItems: "center",
+              justifyContent: "center",
+              padding: "5px 0px 0px 0px",
+              minWidth: "40px",
+            }}
+            onClick={() => onConfigChange(MULTIPLIER, Math.min(6, config.multiplier + 1))}
+            disabled={config.multiplier >= 6}
+          >
+            +
+          </DialogButton>
+        </Focusable>
       </PanelSectionRow>
 
       <PanelSectionRow>
-- 
cgit v1.2.3


From 200f301ecf7750738f5e2c8b5ac1becfeaa435d5 Mon Sep 17 00:00:00 2001
From: xXJSONDeruloXx <danielhimebauch@gmail.com>
Date: Tue, 22 Jul 2025 15:49:37 -0400
Subject: better appearance, almost good

---
 src/components/ConfigurationSection.tsx | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

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

diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx
index c1554f3..bd73e9c 100644
--- a/src/components/ConfigurationSection.tsx
+++ b/src/components/ConfigurationSection.tsx
@@ -59,7 +59,8 @@ export function ConfigurationSection({
             marginTop: "10px", 
             marginBottom: "10px", 
             display: "flex",
-            justifyContent: "center"
+            justifyContent: "center",
+            alignItems: "center"
           }}
           flow-children="horizontal"
         >
@@ -80,19 +81,13 @@ export function ConfigurationSection({
           </DialogButton>
           <div
             style={{
-              marginLeft: "5px",
-              marginRight: "5px",
-              height: "30px",
-              display: "flex",
-              alignItems: "center",
-              justifyContent: "center",
-              padding: "5px 0px 0px 0px",
-              minWidth: "60px",
+              marginLeft: "20px",
+              marginRight: "20px",
+              fontSize: "16px",
               fontWeight: "bold",
               color: "white",
-              backgroundColor: "rgba(255, 255, 255, 0.1)",
-              borderRadius: "3px",
-              border: "1px solid rgba(255, 255, 255, 0.2)"
+              minWidth: "60px",
+              textAlign: "center"
             }}
           >
             {config.multiplier < 2 ? "OFF" : `${config.multiplier}X`}
-- 
cgit v1.2.3


From b4313f8d6ff3a18b73bdc2f5972b9f17b02e2e9c Mon Sep 17 00:00:00 2001
From: xXJSONDeruloXx <danielhimebauch@gmail.com>
Date: Tue, 22 Jul 2025 17:09:59 -0400
Subject: fix styling on buttons

---
 src/components/ConfigurationSection.tsx | 32 +++++++-------------------------
 1 file changed, 7 insertions(+), 25 deletions(-)

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

diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx
index bd73e9c..1a0107c 100644
--- a/src/components/ConfigurationSection.tsx
+++ b/src/components/ConfigurationSection.tsx
@@ -1,4 +1,4 @@
-import { PanelSectionRow, ToggleField, SliderField, DropdownItem, ButtonItem, Field, DialogButton, Focusable } from "@decky/ui";
+import { PanelSectionRow, ToggleField, SliderField, DropdownItem, DialogButton, Focusable } from "@decky/ui";
 import { ConfigurationData } from "../config/configSchema";
 import {
   MULTIPLIER, FLOW_SCALE, PERFORMANCE_MODE, HDR_MODE, 
@@ -23,7 +23,7 @@ export function ConfigurationSection({
             fontSize: "14px",
             fontWeight: "bold",
             marginTop: "16px",
-            marginBottom: "8px",
+            marginBottom: "16px",
             borderBottom: "1px solid rgba(255, 255, 255, 0.2)",
             paddingBottom: "4px",
             color: "white"
@@ -33,31 +33,13 @@ export function ConfigurationSection({
         </div>
       </PanelSectionRow>
 
+      {/* FPS Multiplier */}
+
       <PanelSectionRow>
-        <div
-          style={{
-            fontSize: "14px",
-            fontWeight: "bold",
-            marginTop: "16px",
-            marginBottom: "8px",
-            color: "white"
-          }}
-        >
-          FPS Multiplier
-        </div>
-        <div
-          style={{
-            fontSize: "12px",
-            color: "#cccccc",
-            marginBottom: "8px"
-          }}
-        >
-          Traditional FPS multiplier value
-        </div>
         <Focusable
-          style={{ 
-            marginTop: "10px", 
-            marginBottom: "10px", 
+          style={{
+            marginTop: "10px",
+            marginBottom: "10px",
             display: "flex",
             justifyContent: "center",
             alignItems: "center"
-- 
cgit v1.2.3


From 557295ba34d6554ea120355242825567ac88cbcc Mon Sep 17 00:00:00 2001
From: xXJSONDeruloXx <danielhimebauch@gmail.com>
Date: Tue, 22 Jul 2025 17:14:52 -0400
Subject: extract plus minus to own component

---
 src/components/ConfigurationSection.tsx | 63 +++------------------------------
 1 file changed, 4 insertions(+), 59 deletions(-)

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

diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx
index 1a0107c..778ebc8 100644
--- a/src/components/ConfigurationSection.tsx
+++ b/src/components/ConfigurationSection.tsx
@@ -1,7 +1,8 @@
-import { PanelSectionRow, ToggleField, SliderField, DropdownItem, DialogButton, Focusable } from "@decky/ui";
+import { PanelSectionRow, ToggleField, SliderField, DropdownItem } from "@decky/ui";
 import { ConfigurationData } from "../config/configSchema";
+import { FpsMultiplierControl } from "./FpsMultiplierControl";
 import {
-  MULTIPLIER, FLOW_SCALE, PERFORMANCE_MODE, HDR_MODE, 
+  FLOW_SCALE, PERFORMANCE_MODE, HDR_MODE, 
   EXPERIMENTAL_PRESENT_MODE, DXVK_FRAME_RATE, DISABLE_STEAMDECK_MODE,
   MANGOHUD_WORKAROUND, DISABLE_VKBASALT
 } from "../config/generatedConfigSchema";
@@ -34,63 +35,7 @@ export function ConfigurationSection({
       </PanelSectionRow>
 
       {/* FPS Multiplier */}
-
-      <PanelSectionRow>
-        <Focusable
-          style={{
-            marginTop: "10px",
-            marginBottom: "10px",
-            display: "flex",
-            justifyContent: "center",
-            alignItems: "center"
-          }}
-          flow-children="horizontal"
-        >
-          <DialogButton
-            style={{
-              marginLeft: "0px",
-              height: "30px",
-              display: "flex",
-              alignItems: "center",
-              justifyContent: "center",
-              padding: "5px 0px 0px 0px",
-              minWidth: "40px",
-            }}
-            onClick={() => onConfigChange(MULTIPLIER, Math.max(1, config.multiplier - 1))}
-            disabled={config.multiplier <= 1}
-          >
-            −
-          </DialogButton>
-          <div
-            style={{
-              marginLeft: "20px",
-              marginRight: "20px",
-              fontSize: "16px",
-              fontWeight: "bold",
-              color: "white",
-              minWidth: "60px",
-              textAlign: "center"
-            }}
-          >
-            {config.multiplier < 2 ? "OFF" : `${config.multiplier}X`}
-          </div>
-          <DialogButton
-            style={{
-              marginLeft: "0px",
-              height: "30px",
-              display: "flex",
-              alignItems: "center",
-              justifyContent: "center",
-              padding: "5px 0px 0px 0px",
-              minWidth: "40px",
-            }}
-            onClick={() => onConfigChange(MULTIPLIER, Math.min(6, config.multiplier + 1))}
-            disabled={config.multiplier >= 6}
-          >
-            +
-          </DialogButton>
-        </Focusable>
-      </PanelSectionRow>
+      <FpsMultiplierControl config={config} onConfigChange={onConfigChange} />
 
       <PanelSectionRow>
         <SliderField
-- 
cgit v1.2.3

